diff --git a/dist/lib.js b/dist/lib.js index 2d406a8..c6d9419 100644 --- a/dist/lib.js +++ b/dist/lib.js @@ -1,5 +1,5 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define("dazzle",["react","react-dom"],e):"object"==typeof exports?exports.dazzle=e(require("react"),require("react-dom")):t.dazzle=e(t.react,t["react-dom"])}(this,function(t,e){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="/",e(0)}([function(t,e,n){t.exports=n(77)},function(t,e,n){"use strict";var r=function(t,e,n,r,o,i,a,u){if(!t){var s;if(void 0===e)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,u],f=0;s=new Error(e.replace(/%s/g,function(){return c[f++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}};t.exports=r},function(e,n){e.exports=t},function(t,e){function n(t){var e=typeof t;return"number"==e||"boolean"==e||"string"==e&&"__proto__"!=t||null==t}t.exports=n},function(t,e){function n(t){var e=typeof t;return"number"==e||"boolean"==e||"string"==e&&"__proto__"!=t||null==t}t.exports=n},function(t,e,n){function r(t){if(!a(t)||p.call(t)!=u||i(t))return!1;var e=o(t);if(null===e)return!0;var n=f.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}var o=n(215),i=n(216),a=n(218),u="[object Object]",s=Object.prototype,c=Function.prototype.toString,f=s.hasOwnProperty,l=c.call(Object),p=s.toString;t.exports=r},function(t,e,n){var r=n(28),o=n(48),i=r(o,"Map");t.exports=i},function(t,e,n){var r=n(33),o=n(34),i=r(o,"Map");t.exports=i},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.publishSource,r=void 0===n?!0:n,o=e.clientOffset,i=void 0===o?null:o,a=e.getSourceClientOffset;p["default"](h["default"](t),"Expected sourceIds to be an array.");var u=this.getMonitor(),s=this.getRegistry();p["default"](!u.isDragging(),"Cannot call beginDrag while dragging.");for(var c=0;c=0;c--)if(u.canDragSource(t[c])){f=t[c];break}if(null!==f){var l=null;i&&(p["default"]("function"==typeof a,"When clientOffset is provided, getSourceClientOffset must be a function."),l=a(f));var d=s.getSource(f),g=d.beginDrag(u,f);p["default"](v["default"](g),"Item must be an object."),s.pinSource(f);var m=s.getSourceType(f);return{type:y,itemType:m,item:g,sourceId:f,clientOffset:i,sourceClientOffset:l,isSourcePublic:r}}}function i(t){var e=this.getMonitor();if(e.isDragging())return{type:m}}function a(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.clientOffset,r=void 0===n?null:n;p["default"](h["default"](t),"Expected targetIds to be an array."),t=t.slice(0);var o=this.getMonitor(),i=this.getRegistry();p["default"](o.isDragging(),"Cannot call hover while not dragging."),p["default"](!o.didDrop(),"Cannot call hover after drop.");for(var a=0;a=0;a--){var u=t[a],l=i.getTargetType(u);f["default"](l,c)||t.splice(a,1)}for(var a=0;a-1}var o=n(105);t.exports=r},function(t,e){function n(t,e,n){for(var r=-1,o=t.length;++r0}e.__esModule=!0,e["default"]=o,e.areDirty=i;var a=n(136),u=r(a),s=n(128),c=r(s),f=n(8),l=n(9),p=[],d=[]},function(t,e,n){"use strict";function r(t,e){return t===e?!0:t&&e&&t.x===e.x&&t.y===e.y}function o(t,e){switch(void 0===t&&(t=c),e.type){case s.BEGIN_DRAG:return{initialSourceClientOffset:e.sourceClientOffset,initialClientOffset:e.clientOffset,clientOffset:e.clientOffset};case s.HOVER:return r(t.clientOffset,e.clientOffset)?t:u({},t,{clientOffset:e.clientOffset});case s.END_DRAG:case s.DROP:return c;default:return t}}function i(t){var e=t.clientOffset,n=t.initialClientOffset,r=t.initialSourceClientOffset;return e&&n&&r?{x:e.x+r.x-n.x,y:e.y+r.y-n.y}:null}function a(t){var e=t.clientOffset,n=t.initialClientOffset;return e&&n?{x:e.x-n.x,y:e.y-n.y}:null}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e=f&&(p=c,d=!1,e=new o(e));t:for(;++l-1}var o=n(161);t.exports=r},function(t,e){function n(t,e,n){for(var r=-1,o=t.length;++r-1&&t%1==0&&e>t}var r=9007199254740991,o=/^(?:0|[1-9]\d*)$/;t.exports=n},function(t,e,n){function r(t){return o(t)&&u.call(t,"callee")&&(!c.call(t,"callee")||s.call(t)==i)}var o=n(17),i="[object Arguments]",a=Object.prototype,u=a.hasOwnProperty,s=a.toString,c=a.propertyIsEnumerable;t.exports=r},function(t,e,n){function r(t){return null!=t&&a(o(t))&&!i(t)}var o=n(172),i=n(36),a=n(62);t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){return e===t?!0:null!==e&&null!==t&&a["default"](e,t)}e.__esModule=!0,e["default"]=o;var i=n(39),a=r(i);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){var e=t.DecoratedComponent,n=t.createHandler,r=t.createMonitor,a=t.createConnector,p=t.registerHandler,h=t.containerDisplayName,v=t.getType,y=t.collect,b=t.options,D=b.arePropsEqual,_=void 0===D?g["default"]:D,x=e.displayName||e.name||"Component";return function(t){function g(e,i){o(this,g),t.call(this,e,i),this.handleChange=this.handleChange.bind(this),this.handleChildRef=this.handleChildRef.bind(this),m["default"]("object"==typeof this.context.dragDropManager,"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",x,x),this.manager=this.context.dragDropManager,this.handlerMonitor=r(this.manager),this.handlerConnector=a(this.manager.getBackend()),this.handler=n(this.handlerMonitor),this.disposable=new l.SerialDisposable,this.receiveProps(e),this.state=this.getCurrentState(),this.dispose()}return i(g,t),g.prototype.getHandlerId=function(){return this.handlerId},g.prototype.getDecoratedComponentInstance=function(){return this.decoratedComponentInstance},g.prototype.shouldComponentUpdate=function(t,e){return!_(t,this.props)||!d["default"](e,this.state)},s(g,null,[{key:"DecoratedComponent",value:e,enumerable:!0},{key:"displayName",value:h+"("+x+")",enumerable:!0},{key:"contextTypes",value:{dragDropManager:c.PropTypes.object.isRequired},enumerable:!0}]),g.prototype.componentDidMount=function(){this.isCurrentlyMounted=!0,this.disposable=new l.SerialDisposable,this.currentType=null,this.receiveProps(this.props),this.handleChange()},g.prototype.componentWillReceiveProps=function(t){_(t,this.props)||(this.receiveProps(t),this.handleChange())},g.prototype.componentWillUnmount=function(){this.dispose(),this.isCurrentlyMounted=!1},g.prototype.receiveProps=function(t){this.handler.receiveProps(t),this.receiveType(v(t))},g.prototype.receiveType=function(t){if(t!==this.currentType){this.currentType=t;var e=p(t,this.handler,this.manager),n=e.handlerId,r=e.unregister;this.handlerId=n,this.handlerMonitor.receiveHandlerId(n),this.handlerConnector.receiveHandlerId(n);var o=this.manager.getMonitor(),i=o.subscribeToStateChange(this.handleChange,{handlerIds:[n]});this.disposable.setDisposable(new l.CompositeDisposable(new l.Disposable(i),new l.Disposable(r)))}},g.prototype.handleChange=function(){if(this.isCurrentlyMounted){var t=this.getCurrentState();d["default"](t,this.state)||this.setState(t)}},g.prototype.dispose=function(){this.disposable.dispose(),this.handlerConnector.receiveHandlerId(null)},g.prototype.handleChildRef=function(t){this.decoratedComponentInstance=t,this.handler.receiveComponent(t)},g.prototype.getCurrentState=function(){var t=y(this.handlerConnector.hooks,this.handlerMonitor);return t},g.prototype.render=function(){return f["default"].createElement(e,u({},this.props,this.state,{ref:this.handleChildRef}))},g}(c.Component)}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e, or turn it into a ")+"drag source or a drop target itself.")}}function i(t){return function(){var e=arguments.length<=0||void 0===arguments[0]?null:arguments[0],n=arguments.length<=1||void 0===arguments[1]?null:arguments[1];if(!c.isValidElement(e)){var r=e;return void t(r,n)}var i=e;o(i);var a=n?function(e){return t(e,n)}:t;return s["default"](i,a)}}function a(t){var e={};return Object.keys(t).forEach(function(n){var r=t[n],o=i(r);e[n]=function(){return o}}),e}e.__esModule=!0,e["default"]=a;var u=n(214),s=r(u),c=n(2);t.exports=e["default"]},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),o=t(r),i=function(t){var e=t.text,n=t.onClick;return o["default"].createElement("div",{className:"add-widget-button",onClick:n},o["default"].createElement("a",{className:"add-widget-link"},e))};i.propTypes={onClick:r.PropTypes.func,text:r.PropTypes.string},i.defaultProps={text:"Add Widget"},e["default"]=i}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a,u,s=function(){function t(t,e){for(var n=0;nr&&a>s||r>o&&s>a)){var c=t.layout,f=t.columnIndex,l=t.rowIndex;if(e.getItem().columnIndex===f){var d=(0,g.sortWidget)(c,{rowIndex:l,columnIndex:f,widgetIndex:r},{rowIndex:l,columnIndex:f,widgetIndex:o},e.getItem().widgetName);t.onMove(d)}e.getItem().widgetIndex=o}}}},D=(a=(0,d.DropTarget)(h.WIDGET,b,function(t){return{connectDropTarget:t.dropTarget()}}),u=(0,d.DragSource)(h.WIDGET,m,function(t,e){return{connectDragSource:t.dragSource(),isDragging:e.isDragging()}}),a(s=u(s=function(t){function e(){var t,n,i,a;r(this,e);for(var u=arguments.length,s=Array(u),c=0;u>c;c++)s[c]=arguments[c];return n=i=o(this,(t=Object.getPrototypeOf(e)).call.apply(t,[this].concat(s))),i.remove=function(){var t=i.props,e=t.layout,n=t.rowIndex,r=t.columnIndex,o=t.widgetIndex,a=(0,g.removeWidget)(e,n,r,o);i.props.onRemove(a)},a=n,o(i,a)}return i(e,t),c(e,[{key:"render",value:function(){var t=this.props,e=t.frameComponent,n=t.children,r=t.editable,o=t.title,i=t.connectDragSource,a=t.connectDropTarget,u=t.isDragging,s=null;s=e?(0,f.createElement)(e,{children:n,editable:r,title:o,onRemove:this.remove}):l["default"].createElement(y["default"],{title:o,editable:r,children:n,onRemove:this.remove});var c=u?0:1;return i(a(l["default"].createElement("div",{style:{opacity:c}},s)))}}]),e}(f.Component))||s)||s);D.propTypes={children:f.PropTypes.element,layout:f.PropTypes.object,columnIndex:f.PropTypes.number,rowIndex:f.PropTypes.number,widgetIndex:f.PropTypes.number,editable:f.PropTypes.bool,frameComponent:f.PropTypes.func,widgetName:f.PropTypes.string,title:f.PropTypes.string,isDragging:f.PropTypes.bool,connectDragSource:f.PropTypes.func,connectDropTarget:f.PropTypes.func,onRemove:f.PropTypes.func},e["default"]=D}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),o=t(r),i=n(75),a=t(i),u=function(t){var e=t.widgets,n=t.widgetTypes,i=t.onRemove,u=t.layout,s=t.columnIndex,c=t.rowIndex,f=t.editable,l=t.frameComponent,p=t.onMove,d=e.map(function(t,e){return o["default"].createElement(a["default"],{key:e,widgetName:t.key,title:n[t.key].title,onRemove:i,layout:u,columnIndex:s,rowIndex:c,widgetIndex:e,editable:f,frameComponent:l,onMove:p},(0,r.createElement)(n[t.key].type,n[t.key].props))});return o["default"].createElement("div",null,d)};u.propTypes={widgets:r.PropTypes.array,widgetTypes:r.PropTypes.object,onRemove:r.PropTypes.func,layout:r.PropTypes.object,columnIndex:r.PropTypes.number,rowIndex:r.PropTypes.number,editable:r.PropTypes.bool,frameComponent:r.PropTypes.func,onMove:r.PropTypes.func},e["default"]=u}).call(this)}finally{}},function(t,e,n){try{(function(){"use strict";function t(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(71);Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t(r)["default"]}});var o=n(21);Object.defineProperty(e,"addWidget",{enumerable:!0,get:function(){return o.addWidget}})}).call(this)}finally{}},function(t,e,n){"use strict";function r(){if(s.length)throw s.shift()}function o(t){var e;e=u.length?u.pop():new i,e.task=t,a(e)}function i(){this.task=null}var a=n(79),u=[],s=[],c=a.makeRequestCallFromTimer(r);t.exports=o,i.prototype.call=function(){try{this.task.call()}catch(t){o.onerror?o.onerror(t):(s.push(t),c())}finally{this.task=null,u[u.length]=this}}},function(t,e){"use strict";function n(t){u.length||(a(),s=!0),u[u.length]=t}function r(){for(;cf){for(var e=0,n=u.length-c;n>e;e++)u[e]=u[e+c];u.length-=c,c=0}}u.length=0,c=0,s=!1}function o(t){var e=1,n=new l(t),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){e=-e,r.data=e}}function i(t){return function(){function e(){clearTimeout(n),clearInterval(r),t()}var n=setTimeout(e,0),r=setInterval(e,50)}}t.exports=n;var a,u=[],s=!1,c=0,f=1024,l=global.MutationObserver||global.WebKitMutationObserver;a="function"==typeof l?o(r):i(r),n.requestFlush=a,n.makeRequestCallFromTimer=i},function(t,e,n){"use strict";var r=function(t){return t&&t.__esModule?t:{"default":t}},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")};e.__esModule=!0;var i=n(22),a=r(i),u=function(){function t(){for(var e=arguments.length,n=Array(e),r=0;e>r;r++)n[r]=arguments[r];o(this,t),Array.isArray(n[0])&&1===n.length&&(n=n[0]);for(var i=0;in;n++)e[n]=this.disposables[n];this.isDisposed=!0,this.disposables=[],this.length=0;for(var n=0;t>n;n++)e[n].dispose()}},t}();e["default"]=u,t.exports=e["default"]},function(t,e){"use strict";var n=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(){function t(t,e){for(var n=0;n0;t&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!t&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1)},t.prototype.getMonitor=function(){return this.monitor},t.prototype.getBackend=function(){return this.backend},t.prototype.getRegistry=function(){return this.registry},t.prototype.getActions=function(){function t(t){return function(){var r=t.apply(e,arguments);"undefined"!=typeof r&&n(r)}}var e=this,n=this.store.dispatch;return Object.keys(l).filter(function(t){return"function"==typeof l[t]}).reduce(function(e,n){return e[n]=t(l[n]),e},{})},t}());e["default"]=g,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var i=n(1),a=r(i),u=n(44),s=r(u),c=n(12),f=r(c),l=n(41),p=r(l),d=n(43),h=n(42),g=function(){function t(e){o(this,t),this.store=e,this.registry=new p["default"](e)}return t.prototype.subscribeToStateChange=function(t){var e=this,n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=n.handlerIds;a["default"]("function"==typeof t,"listener must be a function."),a["default"]("undefined"==typeof r||f["default"](r),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,i=function(){var n=e.store.getState(),i=n.stateId;try{var a=i===o||i===o+1&&!h.areDirty(n.dirtyHandlerIds,r);a||t()}finally{o=i}};return this.store.subscribe(i)},t.prototype.subscribeToOffsetChange=function(t){var e=this;a["default"]("function"==typeof t,"listener must be a function.");var n=this.store.getState().dragOffset,r=function(){var r=e.store.getState().dragOffset;r!==n&&(n=r,t())};return this.store.subscribe(r)},t.prototype.canDragSource=function(t){var e=this.registry.getSource(t);return a["default"](e,"Expected to find a valid source."),this.isDragging()?!1:e.canDrag(this,t)},t.prototype.canDropOnTarget=function(t){var e=this.registry.getTarget(t);if(a["default"](e,"Expected to find a valid target."),!this.isDragging()||this.didDrop())return!1;var n=this.registry.getTargetType(t),r=this.getItemType();return s["default"](n,r)&&e.canDrop(this,t)},t.prototype.isDragging=function(){return Boolean(this.getItemType())},t.prototype.isDraggingSource=function(t){var e=this.registry.getSource(t,!0);if(a["default"](e,"Expected to find a valid source."),!this.isDragging()||!this.isSourcePublic())return!1;var n=this.registry.getSourceType(t),r=this.getItemType();return n!==r?!1:e.isDragging(this,t)},t.prototype.isOverTarget=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=e.shallow,r=void 0===n?!1:n;if(!this.isDragging())return!1;var o=this.registry.getTargetType(t),i=this.getItemType();if(!s["default"](o,i))return!1;var a=this.getTargetIds();if(!a.length)return!1;var u=a.indexOf(t);return r?u===a.length-1:u>-1},t.prototype.getItemType=function(){return this.store.getState().dragOperation.itemType},t.prototype.getItem=function(){return this.store.getState().dragOperation.item},t.prototype.getSourceId=function(){return this.store.getState().dragOperation.sourceId},t.prototype.getTargetIds=function(){return this.store.getState().dragOperation.targetIds},t.prototype.getDropResult=function(){return this.store.getState().dragOperation.dropResult},t.prototype.didDrop=function(){return this.store.getState().dragOperation.didDrop},t.prototype.isSourcePublic=function(){return this.store.getState().dragOperation.isSourcePublic},t.prototype.getInitialClientOffset=function(){return this.store.getState().dragOffset.initialClientOffset},t.prototype.getInitialSourceClientOffset=function(){return this.store.getState().dragOffset.initialSourceClientOffset},t.prototype.getClientOffset=function(){return this.store.getState().dragOffset.clientOffset},t.prototype.getSourceClientOffset=function(){return d.getSourceClientOffset(this.store.getState().dragOffset)},t.prototype.getDifferenceFromInitialOffset=function(){return d.getDifferenceFromInitialOffset(this.store.getState().dragOffset)},t}();e["default"]=g,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(){n(this,t)}return t.prototype.canDrag=function(){return!0},t.prototype.isDragging=function(t,e){return e===t.getSourceId()},t.prototype.endDrag=function(){},t}();e["default"]=r,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(){n(this,t)}return t.prototype.canDrop=function(){return!0},t.prototype.hover=function(){},t.prototype.drop=function(){},t}();e["default"]=r,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new s(t)}e.__esModule=!0,e["default"]=i;var a=n(50),u=r(a),s=function(){function t(e){o(this,t),this.actions=e.getActions()}return t.prototype.setup=function(){this.didCallSetup=!0},t.prototype.teardown=function(){this.didCallTeardown=!0},t.prototype.connectDragSource=function(){return u["default"]},t.prototype.connectDragPreview=function(){return u["default"]},t.prototype.connectDropTarget=function(){return u["default"]},t.prototype.simulateBeginDrag=function(t,e){this.actions.beginDrag(t,e)},t.prototype.simulatePublishDragSource=function(){this.actions.publishDragSource()},t.prototype.simulateHover=function(t,e){this.actions.hover(t,e)},t.prototype.simulateDrop=function(){this.actions.drop()},t.prototype.simulateEndDrag=function(){this.actions.endDrag()},t}();t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t["default"]:t}e.__esModule=!0;var o=n(84);e.DragDropManager=r(o);var i=n(86);e.DragSource=r(i);var a=n(87);e.DropTarget=r(a);var u=n(88);e.createTestBackend=r(u)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){switch(void 0===t&&(t=f),e.type){case a.BEGIN_DRAG:return i({},t,{itemType:e.itemType,item:e.item,sourceId:e.sourceId,isSourcePublic:e.isSourcePublic,dropResult:null,didDrop:!1});case a.PUBLISH_DRAG_SOURCE:return i({},t,{isSourcePublic:!0});case a.HOVER:return i({},t,{targetIds:e.targetIds});case u.REMOVE_TARGET:return-1===t.targetIds.indexOf(e.targetId)?t:i({},t,{targetIds:c["default"](t.targetIds,e.targetId)});case a.DROP:return i({},t,{dropResult:e.dropResult,didDrop:!0,targetIds:[]});case a.END_DRAG:return i({},t,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return t}}e.__esModule=!0;var i=Object.assign||function(t){for(var e=1;en)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),!0}var o=n(10),i=Array.prototype,a=i.splice;t.exports=r},function(t,e,n){function r(t,e){var n=o(t,e);return 0>n?void 0:t[n][1]}var o=n(10);t.exports=r},function(t,e,n){function r(t,e){return o(t,e)>-1}var o=n(10);t.exports=r},function(t,e,n){function r(t,e,n){var r=o(t,e);0>r?t.push([e,n]):t[r][1]=n}var o=n(10);t.exports=r},function(t,e,n){function r(t,e,n){if(e!==e)return o(t,n);for(var r=n-1,i=t.length;++r=120&&y.length>=120)?new o(d&&y):void 0}y=t[0];var m=-1,b=h[0];t:for(;++m=f){var v=e?null:s(t);if(v)return c(v);d=!1,l=u,g=new o}else g=e?[]:h;t:for(;++r-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){if(!a(t))return!1;var e=o(t)||i(t)?d:c;return e.test(u(t))}var o=n(30),i=n(119),a=n(13),u=n(126),s=/[\\^$.*+?()[\]{}|]/g,c=/^\[object .+?Constructor\]$/,f=Object.prototype,l=Function.prototype.toString,p=f.hasOwnProperty,d=RegExp("^"+l.call(p).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,e,n){function r(t){return"symbol"==typeof t||o(t)&&u.call(t)==i}var o=n(49),i="[object Symbol]",a=Object.prototype,u=a.toString;t.exports=r},function(t,e,n){function r(t){if(!t)return 0===t?t:0;if(t=o(t),t===i||t===-i){var e=0>t?-1:1;return e*a}var n=t%1;return t===t?n?t-n:t:0}var o=n(134),i=1/0,a=1.7976931348623157e308;t.exports=r},function(t,e,n){function r(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e=o(t.valueOf)?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(s,"");var n=f.test(t);return n||l.test(t)?p(t.slice(2),n?2:8):c.test(t)?u:+t}var o=n(30),i=n(13),a=n(132),u=NaN,s=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,p=parseInt;t.exports=r},function(t,e,n){var r=n(45),o=n(29),i=n(31),a=i(function(t,e){return o(t)?r(t,e):[]});t.exports=a},function(t,e,n){var r=n(99),o=n(109),i=n(29),a=n(31),u=a(function(t){return o(r(t,i))});t.exports=u},function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,u){if(!t){var s;if(void 0===e)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,i,a,u],f=0;s=new Error(e.replace(/%s/g,function(){return c[f++]})),s.name="Invariant Violation"}throw s.framesToPop=1,s}}t.exports=r},function(t,e){"use strict";var n=function(t){var e;for(e in t)if(t.hasOwnProperty(e))return e;return null};t.exports=n},function(t,e){"use strict";function n(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var r=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=Object.assign||function(t,e){for(var i,a,u=n(t),s=1;s0},t.prototype.leave=function(t){var e=this.entered.length;return this.entered=s["default"](this.entered.filter(function(t){return document.documentElement.contains(t)}),t),e>0&&0===this.entered.length},t.prototype.reset=function(){this.entered=[]},t}();e["default"]=c,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var a=n(191),u=o(a),s=n(147),c=o(s),f=n(140),l=o(f),p=n(51),d=n(144),h=n(143),g=n(32),v=r(g),y=function(){function t(e){i(this,t),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.sourcePreviewNodes={},this.sourcePreviewNodeOptions={},this.sourceNodes={},this.sourceNodeOptions={},this.enterLeaveCounter=new l["default"],this.getSourceClientOffset=this.getSourceClientOffset.bind(this),this.handleTopDragStart=this.handleTopDragStart.bind(this),this.handleTopDragStartCapture=this.handleTopDragStartCapture.bind(this),this.handleTopDragEndCapture=this.handleTopDragEndCapture.bind(this),this.handleTopDragEnter=this.handleTopDragEnter.bind(this),this.handleTopDragEnterCapture=this.handleTopDragEnterCapture.bind(this),this.handleTopDragLeaveCapture=this.handleTopDragLeaveCapture.bind(this),this.handleTopDragOver=this.handleTopDragOver.bind(this),this.handleTopDragOverCapture=this.handleTopDragOverCapture.bind(this),this.handleTopDrop=this.handleTopDrop.bind(this),this.handleTopDropCapture=this.handleTopDropCapture.bind(this),this.handleSelectStart=this.handleSelectStart.bind(this),this.endDragIfSourceWasRemovedFromDOM=this.endDragIfSourceWasRemovedFromDOM.bind(this),this.endDragNativeItem=this.endDragNativeItem.bind(this)}return t.prototype.setup=function(){if("undefined"!=typeof window){if(this.constructor.isSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.constructor.isSetUp=!0,this.addEventListeners(window)}},t.prototype.teardown=function(){"undefined"!=typeof window&&(this.constructor.isSetUp=!1,this.removeEventListeners(window),this.clearCurrentDragSourceNode())},t.prototype.addEventListeners=function(t){t.addEventListener("dragstart",this.handleTopDragStart),t.addEventListener("dragstart",this.handleTopDragStartCapture,!0),t.addEventListener("dragend",this.handleTopDragEndCapture,!0),t.addEventListener("dragenter",this.handleTopDragEnter),t.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.addEventListener("dragover",this.handleTopDragOver),t.addEventListener("dragover",this.handleTopDragOverCapture,!0),t.addEventListener("drop",this.handleTopDrop),t.addEventListener("drop",this.handleTopDropCapture,!0)},t.prototype.removeEventListeners=function(t){t.removeEventListener("dragstart",this.handleTopDragStart),t.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),t.removeEventListener("dragend",this.handleTopDragEndCapture,!0),t.removeEventListener("dragenter",this.handleTopDragEnter),t.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),t.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),t.removeEventListener("dragover",this.handleTopDragOver),t.removeEventListener("dragover",this.handleTopDragOverCapture,!0),t.removeEventListener("drop",this.handleTopDrop),t.removeEventListener("drop",this.handleTopDropCapture,!0)},t.prototype.connectDragPreview=function(t,e,n){var r=this;return this.sourcePreviewNodeOptions[t]=n,this.sourcePreviewNodes[t]=e,function(){delete r.sourcePreviewNodes[t],delete r.sourcePreviewNodeOptions[t]}},t.prototype.connectDragSource=function(t,e,n){var r=this;this.sourceNodes[t]=e,this.sourceNodeOptions[t]=n;var o=function(e){return r.handleDragStart(e,t)},i=function(e){return r.handleSelectStart(e,t)};return e.setAttribute("draggable",!0),e.addEventListener("dragstart",o),e.addEventListener("selectstart",i),function(){delete r.sourceNodes[t],delete r.sourceNodeOptions[t],e.removeEventListener("dragstart",o),e.removeEventListener("selectstart",i),e.setAttribute("draggable",!1)}},t.prototype.connectDropTarget=function(t,e){var n=this,r=function(e){return n.handleDragEnter(e,t)},o=function(e){return n.handleDragOver(e,t)},i=function(e){return n.handleDrop(e,t)};return e.addEventListener("dragenter",r),e.addEventListener("dragover",o),e.addEventListener("drop",i),function(){e.removeEventListener("dragenter",r),e.removeEventListener("dragover",o),e.removeEventListener("drop",i)}},t.prototype.getCurrentSourceNodeOptions=function(){var t=this.monitor.getSourceId(),e=this.sourceNodeOptions[t];return u["default"](e||{},{dropEffect:"move"})},t.prototype.getCurrentDropEffect=function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect},t.prototype.getCurrentSourcePreviewNodeOptions=function(){var t=this.monitor.getSourceId(),e=this.sourcePreviewNodeOptions[t];return u["default"](e||{},{anchorX:.5,anchorY:.5,captureDraggingState:!1})},t.prototype.getSourceClientOffset=function(t){return d.getNodeClientOffset(this.sourceNodes[t])},t.prototype.isDraggingNativeItem=function(){var t=this.monitor.getItemType();return Object.keys(v).some(function(e){ -return v[e]===t})},t.prototype.beginDragNativeItem=function(t){this.clearCurrentDragSourceNode();var e=h.createNativeDragSource(t);this.currentNativeSource=new e,this.currentNativeHandle=this.registry.addSource(t,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle]),p.isFirefox()&&window.addEventListener("mousemove",this.endDragNativeItem,!0)},t.prototype.endDragNativeItem=function(){this.isDraggingNativeItem()&&(p.isFirefox()&&window.removeEventListener("mousemove",this.endDragNativeItem,!0),this.actions.endDrag(),this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},t.prototype.endDragIfSourceWasRemovedFromDOM=function(){var t=this.currentDragSourceNode;document.body.contains(t)||this.clearCurrentDragSourceNode()&&this.actions.endDrag()},t.prototype.setCurrentDragSourceNode=function(t){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=t,this.currentDragSourceNodeOffset=d.getNodeClientOffset(t),this.currentDragSourceNodeOffsetChanged=!1,window.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},t.prototype.clearCurrentDragSourceNode=function(){return this.currentDragSourceNode?(this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0),!0):!1},t.prototype.checkIfCurrentDragSourceRectChanged=function(){var t=this.currentDragSourceNode;return t?this.currentDragSourceNodeOffsetChanged?!0:(this.currentDragSourceNodeOffsetChanged=!c["default"](d.getNodeClientOffset(t),this.currentDragSourceNodeOffset),this.currentDragSourceNodeOffsetChanged):!1},t.prototype.handleTopDragStartCapture=function(){this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},t.prototype.handleDragStart=function(t,e){this.dragStartSourceIds.unshift(e)},t.prototype.handleTopDragStart=function(t){var e=this,n=this.dragStartSourceIds;this.dragStartSourceIds=null;var r=d.getEventClientOffset(t);this.actions.beginDrag(n,{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:r});var o=t.dataTransfer,i=h.matchNativeItemType(o);if(this.monitor.isDragging()){if("function"==typeof o.setDragImage){var a=this.monitor.getSourceId(),u=this.sourceNodes[a],s=this.sourcePreviewNodes[a]||u,c=this.getCurrentSourcePreviewNodeOptions(),f=c.anchorX,l=c.anchorY,p={anchorX:f,anchorY:l},g=d.getDragPreviewOffset(u,s,r,p);o.setDragImage(s,g.x,g.y)}try{o.setData("application/json",{})}catch(v){}this.setCurrentDragSourceNode(t.target);var y=this.getCurrentSourcePreviewNodeOptions(),m=y.captureDraggingState;m?this.actions.publishDragSource():setTimeout(function(){return e.actions.publishDragSource()})}else if(i)this.beginDragNativeItem(i);else{if(!(o.types||t.target.hasAttribute&&t.target.hasAttribute("draggable")))return;t.preventDefault()}},t.prototype.handleTopDragEndCapture=function(){this.clearCurrentDragSourceNode()&&this.actions.endDrag()},t.prototype.handleTopDragEnterCapture=function(t){this.dragEnterTargetIds=[];var e=this.enterLeaveCounter.enter(t.target);if(e&&!this.monitor.isDragging()){var n=t.dataTransfer,r=h.matchNativeItemType(n);r&&this.beginDragNativeItem(r)}},t.prototype.handleDragEnter=function(t,e){this.dragEnterTargetIds.unshift(e)},t.prototype.handleTopDragEnter=function(t){var e=this,n=this.dragEnterTargetIds;if(this.dragEnterTargetIds=[],this.monitor.isDragging()){p.isFirefox()||this.actions.hover(n,{clientOffset:d.getEventClientOffset(t)});var r=n.some(function(t){return e.monitor.canDropOnTarget(t)});r&&(t.preventDefault(),t.dataTransfer.dropEffect=this.getCurrentDropEffect())}},t.prototype.handleTopDragOverCapture=function(){this.dragOverTargetIds=[]},t.prototype.handleDragOver=function(t,e){this.dragOverTargetIds.unshift(e)},t.prototype.handleTopDragOver=function(t){var e=this,n=this.dragOverTargetIds;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return t.preventDefault(),void(t.dataTransfer.dropEffect="none");this.actions.hover(n,{clientOffset:d.getEventClientOffset(t)});var r=n.some(function(t){return e.monitor.canDropOnTarget(t)});r?(t.preventDefault(),t.dataTransfer.dropEffect=this.getCurrentDropEffect()):this.isDraggingNativeItem()?(t.preventDefault(),t.dataTransfer.dropEffect="none"):this.checkIfCurrentDragSourceRectChanged()&&(t.preventDefault(),t.dataTransfer.dropEffect="move")},t.prototype.handleTopDragLeaveCapture=function(t){this.isDraggingNativeItem()&&t.preventDefault();var e=this.enterLeaveCounter.leave(t.target);e&&this.isDraggingNativeItem()&&this.endDragNativeItem()},t.prototype.handleTopDropCapture=function(t){this.dropTargetIds=[],t.preventDefault(),this.isDraggingNativeItem()&&this.currentNativeSource.mutateItemByReadingDataTransfer(t.dataTransfer),this.enterLeaveCounter.reset()},t.prototype.handleDrop=function(t,e){this.dropTargetIds.unshift(e)},t.prototype.handleTopDrop=function(t){var e=this.dropTargetIds;this.dropTargetIds=[],this.actions.hover(e,{clientOffset:d.getEventClientOffset(t)}),this.actions.drop(),this.isDraggingNativeItem()?this.endDragNativeItem():this.endDragIfSourceWasRemovedFromDOM()},t.prototype.handleSelectStart=function(t){var e=t.target;"function"==typeof e.dragDrop&&("INPUT"===e.tagName||"SELECT"===e.tagName||"TEXTAREA"===e.tagName||e.isContentEditable||(t.preventDefault(),e.dragDrop()))},t}();e["default"]=y,t.exports=e["default"]},function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}e.__esModule=!0;var r=function(){function t(e,r){n(this,t);for(var o=e.length,i=[],a=0;o>a;a++)i.push(a);i.sort(function(t,n){return e[t]a;a++)f=e[a+1]-e[a],l=r[a+1]-r[a],s.push(f),u.push(l),c.push(l/f);for(var p=[c[0]],a=0;a=d*h)p.push(0);else{f=s[a];var g=s[a+1],v=f+g;p.push(3*v/((v+g)/d+(v+f)/h))}}p.push(c[c.length-1]);for(var y=[],m=[],b=void 0,a=0;a=u;){c=Math.floor(.5*(u+s));var f=e[c];if(t>f)u=c+1;else{if(!(f>t))return n[c];s=c-1}}a=Math.max(0,s);var l=t-e[a],p=l*l;return n[a]+r[a]*l+o[a]*p+i[a]*l*p},t}();e["default"]=r,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e,n){var r=e.reduce(function(e,n){return e||t.getData(n)},null);return null!=r?r:n}function u(t){var e=p[t],n=e.exposeProperty,r=e.matchesTypes,a=e.getData;return function(){function t(){o(this,t),this.item=Object.defineProperties({},i({},n,{get:function(){return console.warn("Browser doesn't allow reading \""+n+'" until the drop event.'),null},configurable:!0,enumerable:!0}))}return t.prototype.mutateItemByReadingDataTransfer=function(t){delete this.item[n],this.item[n]=a(t,r)},t.prototype.canDrag=function(){return!0},t.prototype.beginDrag=function(){return this.item},t.prototype.isDragging=function(t,e){return e===t.getSourceId()},t.prototype.endDrag=function(){},t}()}function s(t){var e=Array.prototype.slice.call(t.types||[]);return Object.keys(p).filter(function(t){var n=p[t].matchesTypes;return n.some(function(t){return e.indexOf(t)>-1})})[0]||null}e.__esModule=!0;var c;e.createNativeDragSource=u,e.matchNativeItemType=s;var f=n(32),l=r(f),p=(c={},i(c,l.FILE,{exposeProperty:"files",matchesTypes:["Files"],getData:function(t){return Array.prototype.slice.call(t.files)}}),i(c,l.URL,{exposeProperty:"urls",matchesTypes:["Url","text/uri-list"],getData:function(t,e){return a(t,e,"").split("\n")}}),i(c,l.TEXT,{exposeProperty:"text",matchesTypes:["Text","text/plain"],getData:function(t,e){return a(t,e,"")}}),c)},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){var e=t.nodeType===f?t:t.parentElement;if(!e)return null;var n=e.getBoundingClientRect(),r=n.top,o=n.left;return{x:o,y:r}}function i(t){return{x:t.clientX,y:t.clientY}}function a(t,e,n,r){var i="IMG"===e.nodeName&&(u.isFirefox()||!document.documentElement.contains(e)),a=i?t:e,s=o(a),f={x:n.x-s.x,y:n.y-s.y},l=t.offsetWidth,p=t.offsetHeight,d=r.anchorX,h=r.anchorY,g=i?e.width:l,v=i?e.height:p;u.isSafari()&&i?(v/=window.devicePixelRatio,g/=window.devicePixelRatio):u.isFirefox()&&!i&&(v*=window.devicePixelRatio,g*=window.devicePixelRatio);var y=new c["default"]([0,.5,1],[f.x,f.x/l*g,f.x+g-l]),m=new c["default"]([0,.5,1],[f.y,f.y/p*v,f.y+v-p]),b=y.interpolate(d),D=m.interpolate(h);return u.isSafari()&&i&&(D+=(window.devicePixelRatio-1)*v),{x:b,y:D}}e.__esModule=!0,e.getNodeClientOffset=o,e.getEventClientOffset=i,e.getDragPreviewOffset=a;var u=n(51),s=n(142),c=r(s),f=1},function(t,e){"use strict";function n(){return r||(r=new Image,r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),r}e.__esModule=!0,e["default"]=n;var r=void 0;t.exports=e["default"]},function(t,e,n){"use strict";function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e["default"]=t,e}function o(t){return t&&t.__esModule?t:{"default":t}}function i(t){return new u["default"](t)}e.__esModule=!0,e["default"]=i;var a=n(141),u=o(a),s=n(145),c=o(s),f=n(32),l=r(f);e.NativeTypes=l,e.getEmptyImage=c["default"]},function(t,e){"use strict";function n(t,e){if(t===e)return!0;var n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;in)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),!0}var o=n(14),i=Array.prototype,a=i.splice;t.exports=r},function(t,e,n){function r(t,e){var n=o(t,e);return 0>n?void 0:t[n][1]}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){return o(t,e)>-1}var o=n(14);t.exports=r},function(t,e,n){function r(t,e,n){var r=o(t,e);0>r?t.push([e,n]):t[r][1]=n}var o=n(14);t.exports=r},function(t,e,n){function r(t,e,n,r){var l=-1,p=i,d=!0,h=t.length,g=[],v=e.length;if(!h)return g;n&&(e=u(e,s(n))),r?(p=a,d=!1):e.length>=f&&(p=c,d=!1,e=new o(e));t:for(;++l0&&n(f)?e>1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(152),i=n(178);t.exports=r},function(t,e,n){function r(t,e,n){if(e!==e)return o(t,n);for(var r=n-1,i=t.length;++r=f){var v=e?null:s(t);if(v)return c(v);d=!1,l=u,g=new o}else g=e?[]:h;t:for(;++r1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a="function"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=3>i?void 0:a,i=1),e=Object(e);++rt?-1:1;return e*a}var n=t%1;return t===t?n?t-n:t:0}var o=n(199),i=1/0,a=1.7976931348623157e308;t.exports=r},function(t,e,n){function r(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e=o(t.valueOf)?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(s,"");var n=f.test(t);return n||l.test(t)?p(t.slice(2),n?2:8):c.test(t)?u:+t}var o=n(36),i=n(18),a=n(194),u=NaN,s=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,l=/^0o[0-7]+$/i,p=parseInt;t.exports=r},function(t,e,n){var r=n(160),o=n(166),i=n(17),a=n(19),u=a(function(t){return o(r(t,1,i,!0))});t.exports=u},function(t,e,n){var r=n(159),o=n(17),i=n(19),a=i(function(t,e){return o(t)?r(t,e):[]});t.exports=a},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){v["default"].apply(void 0,["DragDropContext","backend"].concat(s.call(arguments)));var e=void 0;e="object"==typeof t&&"function"==typeof t["default"]?t["default"]:t,h["default"]("function"==typeof e,"Expected the backend to be a function or an ES6 module exporting a default function. Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html");var n={dragDropManager:new p.DragDropManager(e)};return function(t){var e=t.displayName||t.name||"Component";return function(r){function a(){o(this,a),r.apply(this,arguments)}return i(a,r),a.prototype.getDecoratedComponentInstance=function(){return this.refs.child},a.prototype.getManager=function(){return n.dragDropManager},a.prototype.getChildContext=function(){return n},a.prototype.render=function(){return l["default"].createElement(t,u({},this.props,{ref:"child"}))},c(a,null,[{key:"DecoratedComponent",value:t,enumerable:!0},{key:"displayName",value:"DragDropContext("+e+")",enumerable:!0},{key:"childContextTypes",value:{dragDropManager:f.PropTypes.object.isRequired},enumerable:!0}]),a}(f.Component)}}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html',c.join(", "),e),u["default"]("function"==typeof t[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",e,e,t[e])}),f.forEach(function(e){u["default"]("function"==typeof t[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",e,e,t[e])});var e=function(){function e(t){o(this,e),this.monitor=t,this.props=null,this.component=null}return e.prototype.receiveProps=function(t){this.props=t},e.prototype.receiveComponent=function(t){this.component=t},e.prototype.canDrag=function(){return t.canDrag?t.canDrag(this.props,this.monitor):!0},e.prototype.isDragging=function(e,n){return t.isDragging?t.isDragging(this.props,this.monitor):n===e.getSourceId()},e.prototype.beginDrag=function(){var e=t.beginDrag(this.props,this.monitor,this.component);return e},e.prototype.endDrag=function(){t.endDrag&&t.endDrag(this.props,this.monitor,this.component)},e}();return function(t){return new e(t)}}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=n(5),c=(r(s),["canDrag","beginDrag","canDrag","isDragging","endDrag"]),f=["beginDrag"];t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new f(t)}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=!1,c=!1,f=function(){function t(e){o(this,t),this.internalMonitor=e.getMonitor()}return t.prototype.receiveHandlerId=function(t){this.sourceId=t},t.prototype.canDrag=function(){u["default"](!s,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return s=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{s=!1}},t.prototype.isDragging=function(){u["default"](!c,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return c=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{c=!1}},t.prototype.getItemType=function(){return this.internalMonitor.getItemType()},t.prototype.getItem=function(){return this.internalMonitor.getItem()},t.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},t.prototype.didDrop=function(){return this.internalMonitor.didDrop()},t.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},t.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},t.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},t.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset(); -},t.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},t}();t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t){function e(){u&&(u(),u=null),r&&o&&(u=t.connectDropTarget(r,o,i))}function n(t){t!==r&&(r=t,e())}var r=void 0,o=void 0,i=void 0,u=void 0,c=a["default"]({dropTarget:function(t,n){t===o&&s["default"](n,i)||(o=t,i=n,e())}});return{receiveHandlerId:n,hooks:c}}e.__esModule=!0,e["default"]=o;var i=n(67),a=r(i),u=n(63),s=r(u);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){Object.keys(t).forEach(function(e){u["default"](c.indexOf(e)>-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html',c.join(", "),e),u["default"]("function"==typeof t[e],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html",e,e,t[e])});var e=function(){function e(t){o(this,e),this.monitor=t,this.props=null,this.component=null}return e.prototype.receiveProps=function(t){this.props=t},e.prototype.receiveMonitor=function(t){this.monitor=t},e.prototype.receiveComponent=function(t){this.component=t},e.prototype.canDrop=function(){return t.canDrop?t.canDrop(this.props,this.monitor):!0},e.prototype.hover=function(){t.hover&&t.hover(this.props,this.monitor,this.component)},e.prototype.drop=function(){if(t.drop){var e=t.drop(this.props,this.monitor,this.component);return e}},e}();return function(t){return new e(t)}}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=n(5),c=(r(s),["canDrop","hover","drop"]);t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return new c(t)}e.__esModule=!0,e["default"]=i;var a=n(1),u=r(a),s=!1,c=function(){function t(e){o(this,t),this.internalMonitor=e.getMonitor()}return t.prototype.receiveHandlerId=function(t){this.targetId=t},t.prototype.canDrop=function(){u["default"](!s,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html");try{return s=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{s=!1}},t.prototype.isOver=function(t){return this.internalMonitor.isOverTarget(this.targetId,t)},t.prototype.getItemType=function(){return this.internalMonitor.getItemType()},t.prototype.getItem=function(){return this.internalMonitor.getItem()},t.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},t.prototype.didDrop=function(){return this.internalMonitor.didDrop()},t.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},t.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},t.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},t.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset()},t.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},t}();t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){function r(){o.removeSource(i)}var o=n.getRegistry(),i=o.addSource(t,e);return{handlerId:i,unregister:r}}e.__esModule=!0,e["default"]=n,t.exports=e["default"]},function(t,e){"use strict";function n(t,e,n){function r(){o.removeTarget(i)}var o=n.getRegistry(),i=o.addTarget(t,e);return{handlerId:i,unregister:r}}e.__esModule=!0,e["default"]=n,t.exports=e["default"]},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){var n=t.ref;return a["default"]("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?u.cloneElement(t,{ref:function(t){e(t),n&&n(t)}}):u.cloneElement(t,{ref:e})}e.__esModule=!0,e["default"]=o;var i=n(1),a=r(i),u=n(2);t.exports=e["default"]},function(t,e){function n(t){return r(Object(t))}var r=Object.getPrototypeOf;t.exports=n},function(t,e){function n(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}t.exports=n},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){function n(t){return!!t&&"object"==typeof t}t.exports=n},function(t,e,n){"use strict";function r(t){return Array.isArray(t)?t.concat():t&&"object"==typeof t?a(new t.constructor,t):t}function o(t,e,n){Array.isArray(t)?void 0:s(!1);var r=e[n];Array.isArray(r)?void 0:s(!1)}function i(t,e){if("object"!=typeof e?s(!1):void 0,c.call(e,d))return 1!==Object.keys(e).length?s(!1):void 0,e[d];var n=r(t);if(c.call(e,h)){var u=e[h];u&&"object"==typeof u?void 0:s(!1),n&&"object"==typeof n?void 0:s(!1),a(n,e[h])}c.call(e,f)&&(o(t,e,f),e[f].forEach(function(t){n.push(t)})),c.call(e,l)&&(o(t,e,l),e[l].forEach(function(t){n.unshift(t)})),c.call(e,p)&&(Array.isArray(t)?void 0:s(!1),Array.isArray(e[p])?void 0:s(!1),e[p].forEach(function(t){Array.isArray(t)?void 0:s(!1),n.splice.apply(n,t)})),c.call(e,g)&&("function"!=typeof e[g]?s(!1):void 0,n=e[g](n));for(var v in e)y.hasOwnProperty(v)&&y[v]||(n[v]=i(t[v],e[v]));return n}var a=n(139),u=n(138),s=n(137),c={}.hasOwnProperty,f=u({$push:null}),l=u({$unshift:null}),p=u({$splice:null}),d=u({$set:null}),h=u({$merge:null}),g=u({$apply:null}),v=[f,l,p,d,h,g],y={};v.forEach(function(t){y[t]=!0}),t.exports=i},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e,n){function r(){h===d&&(h=d.slice())}function i(){return p}function s(t){if("function"!=typeof t)throw new Error("Expected listener to be a function.");var e=!0;return r(),h.push(t),function(){if(e){e=!1,r();var n=h.indexOf(t);h.splice(n,1)}}}function c(t){if(!(0,a["default"])(t))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if("undefined"==typeof t.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(g)throw new Error("Reducers may not dispatch actions.");try{g=!0,p=l(p,t)}finally{g=!1}for(var e=d=h,n=0;n=0;c--)if(u.canDragSource(e[c])){f=e[c];break}if(null!==f){var l=null;i&&(d.default("function"==typeof a,"When clientOffset is provided, getSourceClientOffset must be a function."),l=a(f));var p=s.getSource(f),g=p.beginDrag(u,f);d.default(v.default(g),"Item must be an object."),s.pinSource(f);var m=s.getSourceType(f);return{type:y,itemType:m,item:g,sourceId:f,clientOffset:i,sourceClientOffset:l,isSourcePublic:n}}}function i(e){var t=this.getMonitor();if(t.isDragging())return{type:m}}function a(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=t.clientOffset,n=void 0===r?null:r;d.default(h.default(e),"Expected targetIds to be an array."),e=e.slice(0);var o=this.getMonitor(),i=this.getRegistry();d.default(o.isDragging(),"Cannot call hover while not dragging."),d.default(!o.didDrop(),"Cannot call hover after drop.");for(var a=0;a=0;a--){var u=e[a],l=i.getTargetType(u);f.default(l,c)||e.splice(a,1)}for(var a=0;a-1}var o=r(98);e.exports=n},function(e,t){function r(e,t,r){for(var n=-1,o=null==e?0:e.length;++n0)}t.__esModule=!0,t.default=o,t.areDirty=i;var a=r(157),u=n(a),s=r(150),c=n(s),f=r(9),l=r(10),d=[],p=[]},function(e,t,r){"use strict";function n(e,t){return e===t||e&&t&&e.x===t.x&&e.y===t.y}function o(e,t){switch(void 0===e&&(e=c),t.type){case s.BEGIN_DRAG:return{initialSourceClientOffset:t.sourceClientOffset,initialClientOffset:t.clientOffset,clientOffset:t.clientOffset};case s.HOVER:return n(e.clientOffset,t.clientOffset)?e:u({},e,{clientOffset:t.clientOffset});case s.END_DRAG:case s.DROP:return c;default:return e}}function i(e){var t=e.clientOffset,r=e.initialClientOffset,n=e.initialSourceClientOffset;return t&&r&&n?{x:t.x+n.x-r.x,y:t.y+n.y-r.y}:null}function a(e){var t=e.clientOffset,r=e.initialClientOffset;return t&&r?{x:t.x-r.x,y:t.y-r.y}:null}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t=f&&(d=c,p=!1,t=new o(t));e:for(;++l0&&r(f)?t>1?n(f,t-1,r,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=r(94),i=r(121);e.exports=n},function(e,t,r){function n(e,t,r){var n=-1,l=i,d=e.length,p=!0,h=[],g=h;if(r)p=!1,l=a;else if(d>=f){var v=t?null:s(e);if(v)return c(v);p=!1,l=u,g=new o}else g=t?[]:h;e:for(;++n-1&&e%1==0&&e-1&&e%1==0&&e<=n}var n=9007199254740991;e.exports=r},function(e,t){function r(){}e.exports=r},function(e,t,r){var n=r(41),o=r(5),i=r(17),a=o(function(e,t){return i(e)?n(e,t):[]});e.exports=a},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=r(154),i=n(o),a=i.default(function(){return/firefox/i.test(navigator.userAgent)});t.isFirefox=a;var u=i.default(function(){return Boolean(window.safari)});t.isSafari=u},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return t===e||null!==t&&null!==e&&a.default(t,e)}t.__esModule=!0,t.default=o;var i=r(31),a=n(i);e.exports=t.default},function(e,t,r){"use strict";function n(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 i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof 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 a(e){var t=e.DecoratedComponent,r=e.createHandler,n=e.createMonitor,a=e.createConnector,d=e.registerHandler,h=e.containerDisplayName,v=e.getType,y=e.collect,b=e.options,D=b.arePropsEqual,_=void 0===D?g.default:D,T=t.displayName||t.name||"Component";return function(e){function g(t,i){o(this,g),e.call(this,t,i),this.handleChange=this.handleChange.bind(this),this.handleChildRef=this.handleChildRef.bind(this),m.default("object"==typeof this.context.dragDropManager,"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",T,T),this.manager=this.context.dragDropManager,this.handlerMonitor=n(this.manager),this.handlerConnector=a(this.manager.getBackend()),this.handler=r(this.handlerMonitor),this.disposable=new l.SerialDisposable,this.receiveProps(t),this.state=this.getCurrentState(),this.dispose()}return i(g,e),g.prototype.getHandlerId=function(){return this.handlerId},g.prototype.getDecoratedComponentInstance=function(){return this.decoratedComponentInstance},g.prototype.shouldComponentUpdate=function(e,t){return!_(e,this.props)||!p.default(t,this.state)},s(g,null,[{key:"DecoratedComponent",value:t,enumerable:!0},{key:"displayName",value:h+"("+T+")",enumerable:!0},{key:"contextTypes",value:{dragDropManager:c.PropTypes.object.isRequired},enumerable:!0}]),g.prototype.componentDidMount=function(){this.isCurrentlyMounted=!0,this.disposable=new l.SerialDisposable,this.currentType=null,this.receiveProps(this.props),this.handleChange()},g.prototype.componentWillReceiveProps=function(e){_(e,this.props)||(this.receiveProps(e),this.handleChange())},g.prototype.componentWillUnmount=function(){this.dispose(),this.isCurrentlyMounted=!1},g.prototype.receiveProps=function(e){this.handler.receiveProps(e),this.receiveType(v(e))},g.prototype.receiveType=function(e){if(e!==this.currentType){this.currentType=e;var t=d(e,this.handler,this.manager),r=t.handlerId,n=t.unregister;this.handlerId=r,this.handlerMonitor.receiveHandlerId(r),this.handlerConnector.receiveHandlerId(r);var o=this.manager.getMonitor(),i=o.subscribeToStateChange(this.handleChange,{handlerIds:[r]});this.disposable.setDisposable(new l.CompositeDisposable(new l.Disposable(i),new l.Disposable(n)))}},g.prototype.handleChange=function(){if(this.isCurrentlyMounted){var e=this.getCurrentState();p.default(e,this.state)||this.setState(e)}},g.prototype.dispose=function(){this.disposable.dispose(),this.handlerConnector.receiveHandlerId(null)},g.prototype.handleChildRef=function(e){this.decoratedComponentInstance=e,this.handler.receiveComponent(e)},g.prototype.getCurrentState=function(){var e=y(this.handlerConnector.hooks,this.handlerMonitor);return e},g.prototype.render=function(){return f.default.createElement(t,u({},this.props,this.state,{ref:this.handleChildRef}))},g}(c.Component)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t, or turn it into a ")+"drag source or a drop target itself.")}}function i(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?null:arguments[0],r=arguments.length<=1||void 0===arguments[1]?null:arguments[1];if(!c.isValidElement(t)){var n=t;return void e(n,r)}var i=t;o(i);var a=r?function(t){return e(t,r)}:e;return s.default(i,a)}}function a(e){var t={};return Object.keys(e).forEach(function(r){var n=e[r],o=i(n);t[r]=function(){return o}}),t}t.__esModule=!0,t.default=a;var u=r(178),s=n(u),c=r(2);e.exports=t.default},function(e,t,r){try{(function(){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),o=e(n),i=function(e){var t=e.text,r=e.onClick;return o.default.createElement("div",{className:"add-widget-button",onClick:r},o.default.createElement("a",{className:"add-widget-link"},t))};i.propTypes={onClick:n.PropTypes.func,text:n.PropTypes.string},i.defaultProps={text:"Add Widget"},t.default=i}).call(this)}finally{}},function(e,t,r){try{(function(){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof 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)}Object.defineProperty(t,"__esModule",{value:!0});var a,u,s=function(){function e(e,t){for(var r=0;ro&&s>a)){var c=e.layout,f=e.columnIndex,l=e.rowIndex;if(t.getItem().columnIndex===f){var p=(0,g.sortWidget)(c,{rowIndex:l,columnIndex:f,widgetIndex:n},{rowIndex:l,columnIndex:f,widgetIndex:o},t.getItem().widgetName);e.onMove(p),t.getItem().widgetIndex=o}}}}},D=(a=(0,p.DropTarget)(h.WIDGET,b,function(e){return{connectDropTarget:e.dropTarget()}}),u=(0,p.DragSource)(h.WIDGET,m,function(e,t){return{connectDragSource:e.dragSource(),isDragging:t.isDragging()}}),a(s=u(s=function(e){function t(){var e,r,i,a;n(this,t);for(var u=arguments.length,s=Array(u),c=0;cf){for(var t=0,r=u.length-c;t0;e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1)},e.prototype.getMonitor=function(){return this.monitor},e.prototype.getBackend=function(){return this.backend},e.prototype.getRegistry=function(){return this.registry},e.prototype.getActions=function(){function e(e){return function(){var n=e.apply(t,arguments);"undefined"!=typeof n&&r(n)}}var t=this,r=this.store.dispatch;return Object.keys(l).filter(function(e){return"function"==typeof l[e]}).reduce(function(t,r){return t[r]=e(l[r]),t},{})},e}());t.default=g,e.exports=t.default},function(e,t,r){"use strict";function n(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")}t.__esModule=!0;var i=r(1),a=n(i),u=r(37),s=n(u),c=r(3),f=n(c),l=r(34),d=n(l),p=r(36),h=r(35),g=function(){function e(t){o(this,e),this.store=t,this.registry=new d.default(t)}return e.prototype.subscribeToStateChange=function(e){var t=this,r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=r.handlerIds;a.default("function"==typeof e,"listener must be a function."),a.default("undefined"==typeof n||f.default(n),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,i=function(){var r=t.store.getState(),i=r.stateId;try{var a=i===o||i===o+1&&!h.areDirty(r.dirtyHandlerIds,n);a||e()}finally{o=i}};return this.store.subscribe(i)},e.prototype.subscribeToOffsetChange=function(e){var t=this;a.default("function"==typeof e,"listener must be a function.");var r=this.store.getState().dragOffset,n=function(){var n=t.store.getState().dragOffset;n!==r&&(r=n,e())};return this.store.subscribe(n)},e.prototype.canDragSource=function(e){var t=this.registry.getSource(e);return a.default(t,"Expected to find a valid source."),!this.isDragging()&&t.canDrag(this,e)},e.prototype.canDropOnTarget=function(e){var t=this.registry.getTarget(e);if(a.default(t,"Expected to find a valid target."),!this.isDragging()||this.didDrop())return!1;var r=this.registry.getTargetType(e),n=this.getItemType();return s.default(r,n)&&t.canDrop(this,e)},e.prototype.isDragging=function(){return Boolean(this.getItemType())},e.prototype.isDraggingSource=function(e){var t=this.registry.getSource(e,!0);if(a.default(t,"Expected to find a valid source."),!this.isDragging()||!this.isSourcePublic())return!1;var r=this.registry.getSourceType(e),n=this.getItemType();return r===n&&t.isDragging(this,e)},e.prototype.isOverTarget=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=t.shallow,n=void 0!==r&&r;if(!this.isDragging())return!1;var o=this.registry.getTargetType(e),i=this.getItemType();if(!s.default(o,i))return!1;var a=this.getTargetIds();if(!a.length)return!1;var u=a.indexOf(e);return n?u===a.length-1:u>-1},e.prototype.getItemType=function(){return this.store.getState().dragOperation.itemType},e.prototype.getItem=function(){return this.store.getState().dragOperation.item},e.prototype.getSourceId=function(){return this.store.getState().dragOperation.sourceId},e.prototype.getTargetIds=function(){return this.store.getState().dragOperation.targetIds},e.prototype.getDropResult=function(){return this.store.getState().dragOperation.dropResult},e.prototype.didDrop=function(){return this.store.getState().dragOperation.didDrop},e.prototype.isSourcePublic=function(){return this.store.getState().dragOperation.isSourcePublic},e.prototype.getInitialClientOffset=function(){return this.store.getState().dragOffset.initialClientOffset},e.prototype.getInitialSourceClientOffset=function(){return this.store.getState().dragOffset.initialSourceClientOffset},e.prototype.getClientOffset=function(){return this.store.getState().dragOffset.clientOffset},e.prototype.getSourceClientOffset=function(){return p.getSourceClientOffset(this.store.getState().dragOffset)},e.prototype.getDifferenceFromInitialOffset=function(){return p.getDifferenceFromInitialOffset(this.store.getState().dragOffset)},e}();t.default=g,e.exports=t.default},function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var n=function(){function e(){r(this,e)}return e.prototype.canDrag=function(){return!0},e.prototype.isDragging=function(e,t){return t===e.getSourceId()},e.prototype.endDrag=function(){},e}();t.default=n,e.exports=t.default},function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var n=function(){function e(){r(this,e)}return e.prototype.canDrop=function(){return!0},e.prototype.hover=function(){},e.prototype.drop=function(){},e}();t.default=n,e.exports=t.default},function(e,t,r){"use strict";function n(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 i(e){return new s(e)}t.__esModule=!0,t.default=i;var a=r(52),u=n(a),s=function(){function e(t){o(this,e),this.actions=t.getActions()}return e.prototype.setup=function(){this.didCallSetup=!0},e.prototype.teardown=function(){this.didCallTeardown=!0},e.prototype.connectDragSource=function(){return u.default},e.prototype.connectDragPreview=function(){return u.default},e.prototype.connectDropTarget=function(){return u.default},e.prototype.simulateBeginDrag=function(e,t){this.actions.beginDrag(e,t)},e.prototype.simulatePublishDragSource=function(){this.actions.publishDragSource()},e.prototype.simulateHover=function(e,t){this.actions.hover(e,t)},e.prototype.simulateDrop=function(){this.actions.drop()},e.prototype.simulateEndDrag=function(){this.actions.endDrag()},e}();e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e.default:e}t.__esModule=!0;var o=r(75);t.DragDropManager=n(o);var i=r(77);t.DragSource=n(i);var a=r(78);t.DropTarget=n(a);var u=r(79);t.createTestBackend=n(u)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){switch(void 0===e&&(e=f),t.type){case a.BEGIN_DRAG:return i({},e,{itemType:t.itemType,item:t.item,sourceId:t.sourceId,isSourcePublic:t.isSourcePublic,dropResult:null,didDrop:!1});case a.PUBLISH_DRAG_SOURCE:return i({},e,{isSourcePublic:!0});case a.HOVER:return i({},e,{targetIds:t.targetIds});case u.REMOVE_TARGET:return e.targetIds.indexOf(t.targetId)===-1?e:i({},e,{targetIds:c.default(e.targetIds,t.targetId)});case a.DROP:return i({},e,{dropResult:t.dropResult,didDrop:!0,targetIds:[]});case a.END_DRAG:return i({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t=120&&y.length>=120)?new o(p&&y):void 0}y=e[0];var m=-1,b=h[0];e:for(;++m1?r[o-1]:void 0,u=o>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,u&&i(r[0],r[1],u)&&(a=o<3?void 0:a,o=1),t=Object(t);++n-1}var o=r(11);e.exports=n},function(e,t,r){function n(e,t){var r=this.__data__,n=o(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var o=r(11);e.exports=n},function(e,t,r){function n(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=r(88),i=r(89),a=r(90);e.exports=n},function(e,t,r){function n(e){var t=o(this,e).delete(e);return this.size-=t?1:0,t}var o=r(13);e.exports=n},function(e,t,r){function n(e){return o(this,e).get(e)}var o=r(13);e.exports=n},function(e,t,r){function n(e){return o(this,e).has(e)}var o=r(13);e.exports=n},function(e,t,r){function n(e,t){var r=o(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}var o=r(13);e.exports=n},function(e,t){function r(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}e.exports=r},function(e,t,r){(function(e){var n=r(45),o="object"==typeof t&&t&&!t.nodeType&&t,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===o,u=a&&n.process,s=function(){try{return u&&u.binding&&u.binding("util")}catch(e){}}();e.exports=s}).call(t,r(32)(e))},function(e,t){function r(e){return o.call(e)}var n=Object.prototype,o=n.toString;e.exports=r},function(e,t){function r(e,t){return function(r){return e(t(r))}}e.exports=r},function(e,t,r){function n(e,t,r){return t=i(void 0===t?e.length-1:t,0),function(){for(var n=arguments,a=-1,u=i(n.length-t,0),s=Array(u);++a0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var n=800,o=16,i=Date.now;e.exports=r},function(e,t){function r(e,t,r){for(var n=r-1,o=e.length;++n0},e.prototype.leave=function(e){var t=this.entered.length;return this.entered=s.default(this.entered.filter(function(e){return document.documentElement.contains(e)}),e),t>0&&0===this.entered.length},e.prototype.reset=function(){this.entered=[]},e}();t.default=c,e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var a=r(149),u=o(a),s=r(165),c=o(s),f=r(158),l=o(f),d=r(54),p=r(162),h=r(161),g=r(29),v=n(g),y=function(){function e(t){i(this,e),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.sourcePreviewNodes={},this.sourcePreviewNodeOptions={},this.sourceNodes={},this.sourceNodeOptions={},this.enterLeaveCounter=new l.default,this.getSourceClientOffset=this.getSourceClientOffset.bind(this),this.handleTopDragStart=this.handleTopDragStart.bind(this),this.handleTopDragStartCapture=this.handleTopDragStartCapture.bind(this),this.handleTopDragEndCapture=this.handleTopDragEndCapture.bind(this),this.handleTopDragEnter=this.handleTopDragEnter.bind(this),this.handleTopDragEnterCapture=this.handleTopDragEnterCapture.bind(this),this.handleTopDragLeaveCapture=this.handleTopDragLeaveCapture.bind(this),this.handleTopDragOver=this.handleTopDragOver.bind(this),this.handleTopDragOverCapture=this.handleTopDragOverCapture.bind(this),this.handleTopDrop=this.handleTopDrop.bind(this),this.handleTopDropCapture=this.handleTopDropCapture.bind(this),this.handleSelectStart=this.handleSelectStart.bind(this),this.endDragIfSourceWasRemovedFromDOM=this.endDragIfSourceWasRemovedFromDOM.bind(this),this.endDragNativeItem=this.endDragNativeItem.bind(this)}return e.prototype.setup=function(){if("undefined"!=typeof window){if(this.constructor.isSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.constructor.isSetUp=!0,this.addEventListeners(window)}},e.prototype.teardown=function(){"undefined"!=typeof window&&(this.constructor.isSetUp=!1,this.removeEventListeners(window),this.clearCurrentDragSourceNode())},e.prototype.addEventListeners=function(e){e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0)},e.prototype.removeEventListeners=function(e){e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0)},e.prototype.connectDragPreview=function(e,t,r){ +var n=this;return this.sourcePreviewNodeOptions[e]=r,this.sourcePreviewNodes[e]=t,function(){delete n.sourcePreviewNodes[e],delete n.sourcePreviewNodeOptions[e]}},e.prototype.connectDragSource=function(e,t,r){var n=this;this.sourceNodes[e]=t,this.sourceNodeOptions[e]=r;var o=function(t){return n.handleDragStart(t,e)},i=function(t){return n.handleSelectStart(t,e)};return t.setAttribute("draggable",!0),t.addEventListener("dragstart",o),t.addEventListener("selectstart",i),function(){delete n.sourceNodes[e],delete n.sourceNodeOptions[e],t.removeEventListener("dragstart",o),t.removeEventListener("selectstart",i),t.setAttribute("draggable",!1)}},e.prototype.connectDropTarget=function(e,t){var r=this,n=function(t){return r.handleDragEnter(t,e)},o=function(t){return r.handleDragOver(t,e)},i=function(t){return r.handleDrop(t,e)};return t.addEventListener("dragenter",n),t.addEventListener("dragover",o),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",n),t.removeEventListener("dragover",o),t.removeEventListener("drop",i)}},e.prototype.getCurrentSourceNodeOptions=function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions[e];return u.default(t||{},{dropEffect:"move"})},e.prototype.getCurrentDropEffect=function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect},e.prototype.getCurrentSourcePreviewNodeOptions=function(){var e=this.monitor.getSourceId(),t=this.sourcePreviewNodeOptions[e];return u.default(t||{},{anchorX:.5,anchorY:.5,captureDraggingState:!1})},e.prototype.getSourceClientOffset=function(e){return p.getNodeClientOffset(this.sourceNodes[e])},e.prototype.isDraggingNativeItem=function(){var e=this.monitor.getItemType();return Object.keys(v).some(function(t){return v[t]===e})},e.prototype.beginDragNativeItem=function(e){this.clearCurrentDragSourceNode();var t=h.createNativeDragSource(e);this.currentNativeSource=new t,this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle]),d.isFirefox()&&window.addEventListener("mousemove",this.endDragNativeItem,!0)},e.prototype.endDragNativeItem=function(){this.isDraggingNativeItem()&&(d.isFirefox()&&window.removeEventListener("mousemove",this.endDragNativeItem,!0),this.actions.endDrag(),this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},e.prototype.endDragIfSourceWasRemovedFromDOM=function(){var e=this.currentDragSourceNode;document.body.contains(e)||this.clearCurrentDragSourceNode()&&this.actions.endDrag()},e.prototype.setCurrentDragSourceNode=function(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.currentDragSourceNodeOffset=p.getNodeClientOffset(e),this.currentDragSourceNodeOffsetChanged=!1,window.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},e.prototype.clearCurrentDragSourceNode=function(){return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0),!0)},e.prototype.checkIfCurrentDragSourceRectChanged=function(){var e=this.currentDragSourceNode;return!!e&&(!!this.currentDragSourceNodeOffsetChanged||(this.currentDragSourceNodeOffsetChanged=!c.default(p.getNodeClientOffset(e),this.currentDragSourceNodeOffset),this.currentDragSourceNodeOffsetChanged))},e.prototype.handleTopDragStartCapture=function(){this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},e.prototype.handleDragStart=function(e,t){this.dragStartSourceIds.unshift(t)},e.prototype.handleTopDragStart=function(e){var t=this,r=this.dragStartSourceIds;this.dragStartSourceIds=null;var n=p.getEventClientOffset(e);this.actions.beginDrag(r,{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:n});var o=e.dataTransfer,i=h.matchNativeItemType(o);if(this.monitor.isDragging()){if("function"==typeof o.setDragImage){var a=this.monitor.getSourceId(),u=this.sourceNodes[a],s=this.sourcePreviewNodes[a]||u,c=this.getCurrentSourcePreviewNodeOptions(),f=c.anchorX,l=c.anchorY,d={anchorX:f,anchorY:l},g=p.getDragPreviewOffset(u,s,n,d);o.setDragImage(s,g.x,g.y)}try{o.setData("application/json",{})}catch(e){}this.setCurrentDragSourceNode(e.target);var v=this.getCurrentSourcePreviewNodeOptions(),y=v.captureDraggingState;y?this.actions.publishDragSource():setTimeout(function(){return t.actions.publishDragSource()})}else if(i)this.beginDragNativeItem(i);else{if(!(o.types||e.target.hasAttribute&&e.target.hasAttribute("draggable")))return;e.preventDefault()}},e.prototype.handleTopDragEndCapture=function(){this.clearCurrentDragSourceNode()&&this.actions.endDrag()},e.prototype.handleTopDragEnterCapture=function(e){this.dragEnterTargetIds=[];var t=this.enterLeaveCounter.enter(e.target);if(t&&!this.monitor.isDragging()){var r=e.dataTransfer,n=h.matchNativeItemType(r);n&&this.beginDragNativeItem(n)}},e.prototype.handleDragEnter=function(e,t){this.dragEnterTargetIds.unshift(t)},e.prototype.handleTopDragEnter=function(e){var t=this,r=this.dragEnterTargetIds;if(this.dragEnterTargetIds=[],this.monitor.isDragging()){d.isFirefox()||this.actions.hover(r,{clientOffset:p.getEventClientOffset(e)});var n=r.some(function(e){return t.monitor.canDropOnTarget(e)});n&&(e.preventDefault(),e.dataTransfer.dropEffect=this.getCurrentDropEffect())}},e.prototype.handleTopDragOverCapture=function(){this.dragOverTargetIds=[]},e.prototype.handleDragOver=function(e,t){this.dragOverTargetIds.unshift(t)},e.prototype.handleTopDragOver=function(e){var t=this,r=this.dragOverTargetIds;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer.dropEffect="none");this.actions.hover(r,{clientOffset:p.getEventClientOffset(e)});var n=r.some(function(e){return t.monitor.canDropOnTarget(e)});n?(e.preventDefault(),e.dataTransfer.dropEffect=this.getCurrentDropEffect()):this.isDraggingNativeItem()?(e.preventDefault(),e.dataTransfer.dropEffect="none"):this.checkIfCurrentDragSourceRectChanged()&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},e.prototype.handleTopDragLeaveCapture=function(e){this.isDraggingNativeItem()&&e.preventDefault();var t=this.enterLeaveCounter.leave(e.target);t&&this.isDraggingNativeItem()&&this.endDragNativeItem()},e.prototype.handleTopDropCapture=function(e){this.dropTargetIds=[],e.preventDefault(),this.isDraggingNativeItem()&&this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer),this.enterLeaveCounter.reset()},e.prototype.handleDrop=function(e,t){this.dropTargetIds.unshift(t)},e.prototype.handleTopDrop=function(e){var t=this.dropTargetIds;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:p.getEventClientOffset(e)}),this.actions.drop(),this.isDraggingNativeItem()?this.endDragNativeItem():this.endDragIfSourceWasRemovedFromDOM()},e.prototype.handleSelectStart=function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},e}();t.default=y,e.exports=t.default},function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var n=function(){function e(t,n){r(this,e);for(var o=t.length,i=[],a=0;ae))return r[c];s=c-1}}a=Math.max(0,s);var l=e-t[a],d=l*l;return r[a]+n[a]*l+o[a]*d+i[a]*l*d},e}();t.default=n,e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t,r){var n=t.reduce(function(t,r){return t||e.getData(r)},null);return null!=n?n:r}function u(e){var t=d[e],r=t.exposeProperty,n=t.matchesTypes,a=t.getData;return function(){function e(){o(this,e),this.item=Object.defineProperties({},i({},r,{get:function(){return console.warn("Browser doesn't allow reading \""+r+'" until the drop event.'),null},configurable:!0,enumerable:!0}))}return e.prototype.mutateItemByReadingDataTransfer=function(e){delete this.item[r],this.item[r]=a(e,n)},e.prototype.canDrag=function(){return!0},e.prototype.beginDrag=function(){return this.item},e.prototype.isDragging=function(e,t){return t===e.getSourceId()},e.prototype.endDrag=function(){},e}()}function s(e){var t=Array.prototype.slice.call(e.types||[]);return Object.keys(d).filter(function(e){var r=d[e].matchesTypes;return r.some(function(e){return t.indexOf(e)>-1})})[0]||null}t.__esModule=!0;var c;t.createNativeDragSource=u,t.matchNativeItemType=s;var f=r(29),l=n(f),d=(c={},i(c,l.FILE,{exposeProperty:"files",matchesTypes:["Files"],getData:function(e){return Array.prototype.slice.call(e.files)}}),i(c,l.URL,{exposeProperty:"urls",matchesTypes:["Url","text/uri-list"],getData:function(e,t){return a(e,t,"").split("\n")}}),i(c,l.TEXT,{exposeProperty:"text",matchesTypes:["Text","text/plain"],getData:function(e,t){return a(e,t,"")}}),c)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.nodeType===f?e:e.parentElement;if(!t)return null;var r=t.getBoundingClientRect(),n=r.top,o=r.left;return{x:o,y:n}}function i(e){return{x:e.clientX,y:e.clientY}}function a(e,t,r,n){var i="IMG"===t.nodeName&&(u.isFirefox()||!document.documentElement.contains(t)),a=i?e:t,s=o(a),f={x:r.x-s.x,y:r.y-s.y},l=e.offsetWidth,d=e.offsetHeight,p=n.anchorX,h=n.anchorY,g=i?t.width:l,v=i?t.height:d;u.isSafari()&&i?(v/=window.devicePixelRatio,g/=window.devicePixelRatio):u.isFirefox()&&!i&&(v*=window.devicePixelRatio,g*=window.devicePixelRatio);var y=new c.default([0,.5,1],[f.x,f.x/l*g,f.x+g-l]),m=new c.default([0,.5,1],[f.y,f.y/d*v,f.y+v-d]),b=y.interpolate(p),D=m.interpolate(h);return u.isSafari()&&i&&(D+=(window.devicePixelRatio-1)*v),{x:b,y:D}}t.__esModule=!0,t.getNodeClientOffset=o,t.getEventClientOffset=i,t.getDragPreviewOffset=a;var u=r(54),s=r(160),c=n(s),f=1},function(e,t){"use strict";function r(){return n||(n=new Image,n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),n}t.__esModule=!0,t.default=r;var n=void 0;e.exports=t.default},function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e){return new u.default(e)}t.__esModule=!0,t.default=i;var a=r(159),u=o(a),s=r(163),c=o(s),f=r(29),l=n(f);t.NativeTypes=l,t.getEmptyImage=c.default},function(e,t){"use strict";function r(e,t){if(e===t)return!0;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;i-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html',c.join(", "),t),u.default("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",t,t,e[t])}),f.forEach(function(t){u.default("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html",t,t,e[t])});var t=function(){function t(e){o(this,t),this.monitor=e,this.props=null,this.component=null}return t.prototype.receiveProps=function(e){this.props=e},t.prototype.receiveComponent=function(e){this.component=e},t.prototype.canDrag=function(){return!e.canDrag||e.canDrag(this.props,this.monitor)},t.prototype.isDragging=function(t,r){return e.isDragging?e.isDragging(this.props,this.monitor):r===t.getSourceId()},t.prototype.beginDrag=function(){var t=e.beginDrag(this.props,this.monitor,this.component);return t},t.prototype.endDrag=function(){e.endDrag&&e.endDrag(this.props,this.monitor,this.component)},t}();return function(e){return new t(e)}}t.__esModule=!0,t.default=i;var a=r(1),u=n(a),s=r(4),c=(n(s),["canDrag","beginDrag","canDrag","isDragging","endDrag"]),f=["beginDrag"];e.exports=t.default},function(e,t,r){"use strict";function n(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 i(e){return new f(e)}t.__esModule=!0,t.default=i;var a=r(1),u=n(a),s=!1,c=!1,f=function(){function e(t){o(this,e),this.internalMonitor=t.getMonitor()}return e.prototype.receiveHandlerId=function(e){this.sourceId=e},e.prototype.canDrag=function(){u.default(!s,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return s=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{s=!1}},e.prototype.isDragging=function(){u.default(!c,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html");try{return c=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{c=!1}},e.prototype.getItemType=function(){return this.internalMonitor.getItemType()},e.prototype.getItem=function(){return this.internalMonitor.getItem()},e.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},e.prototype.didDrop=function(){return this.internalMonitor.didDrop()},e.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},e.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},e.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},e.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset()},e.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},e}();e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){function t(){u&&(u(),u=null),n&&o&&(u=e.connectDropTarget(n,o,i))}function r(e){e!==n&&(n=e,t())}var n=void 0,o=void 0,i=void 0,u=void 0,c=a.default({dropTarget:function(e,r){e===o&&s.default(r,i)||(o=e,i=r,t())}});return{receiveHandlerId:r,hooks:c}}t.__esModule=!0,t.default=o;var i=r(59),a=n(i),u=r(55),s=n(u);e.exports=t.default},function(e,t,r){"use strict";function n(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 i(e){Object.keys(e).forEach(function(t){u.default(c.indexOf(t)>-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html',c.join(", "),t),u.default("function"==typeof e[t],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html",t,t,e[t])});var t=function(){function t(e){o(this,t),this.monitor=e,this.props=null,this.component=null}return t.prototype.receiveProps=function(e){this.props=e},t.prototype.receiveMonitor=function(e){this.monitor=e},t.prototype.receiveComponent=function(e){this.component=e},t.prototype.canDrop=function(){return!e.canDrop||e.canDrop(this.props,this.monitor)},t.prototype.hover=function(){e.hover&&e.hover(this.props,this.monitor,this.component)},t.prototype.drop=function(){if(e.drop){var t=e.drop(this.props,this.monitor,this.component);return t}},t}();return function(e){return new t(e)}}t.__esModule=!0,t.default=i;var a=r(1),u=n(a),s=r(4),c=(n(s),["canDrop","hover","drop"]);e.exports=t.default},function(e,t,r){"use strict";function n(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 i(e){return new c(e)}t.__esModule=!0,t.default=i;var a=r(1),u=n(a),s=!1,c=function(){function e(t){o(this,e),this.internalMonitor=t.getMonitor()}return e.prototype.receiveHandlerId=function(e){this.targetId=e},e.prototype.canDrop=function(){u.default(!s,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html");try{return s=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{s=!1}},e.prototype.isOver=function(e){return this.internalMonitor.isOverTarget(this.targetId,e)},e.prototype.getItemType=function(){return this.internalMonitor.getItemType()},e.prototype.getItem=function(){return this.internalMonitor.getItem()},e.prototype.getDropResult=function(){return this.internalMonitor.getDropResult()},e.prototype.didDrop=function(){return this.internalMonitor.didDrop()},e.prototype.getInitialClientOffset=function(){return this.internalMonitor.getInitialClientOffset()},e.prototype.getInitialSourceClientOffset=function(){return this.internalMonitor.getInitialSourceClientOffset()},e.prototype.getSourceClientOffset=function(){return this.internalMonitor.getSourceClientOffset()},e.prototype.getClientOffset=function(){return this.internalMonitor.getClientOffset()},e.prototype.getDifferenceFromInitialOffset=function(){return this.internalMonitor.getDifferenceFromInitialOffset()},e}();e.exports=t.default},function(e,t){"use strict";function r(e,t,r){function n(){o.removeSource(i)}var o=r.getRegistry(),i=o.addSource(e,t);return{handlerId:i,unregister:n}}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t){"use strict";function r(e,t,r){function n(){o.removeTarget(i)}var o=r.getRegistry(),i=o.addTarget(e,t);return{handlerId:i,unregister:n}}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r=e.ref;return a.default("string"!=typeof r,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),r?u.cloneElement(e,{ref:function(e){t(e),r&&r(e)}}):u.cloneElement(e,{ref:t})}t.__esModule=!0,t.default=o;var i=r(1),a=n(i),u=r(2);e.exports=t.default},function(e,t){"use strict";function r(e,t){if(null==e)throw new TypeError("Object.assign target cannot be null or undefined");for(var r=Object(e),n=Object.prototype.hasOwnProperty,o=1;o false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) ||\n\t objectToString.call(value) != objectTag || isHostObject(value)) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return (typeof Ctor == 'function' &&\n\t Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28),\n\t root = __webpack_require__(48);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33),\n\t root = __webpack_require__(34);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.beginDrag = beginDrag;\n\texports.publishDragSource = publishDragSource;\n\texports.hover = hover;\n\texports.drop = drop;\n\texports.endDrag = endDrag;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsMatchesType = __webpack_require__(44);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _lodashIsObject = __webpack_require__(13);\n\t\n\tvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\t\n\tvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\n\texports.BEGIN_DRAG = BEGIN_DRAG;\n\tvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\n\texports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\n\tvar HOVER = 'dnd-core/HOVER';\n\texports.HOVER = HOVER;\n\tvar DROP = 'dnd-core/DROP';\n\texports.DROP = DROP;\n\tvar END_DRAG = 'dnd-core/END_DRAG';\n\t\n\texports.END_DRAG = END_DRAG;\n\t\n\tfunction beginDrag(sourceIds) {\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref$publishSource = _ref.publishSource;\n\t var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n\t var _ref$clientOffset = _ref.clientOffset;\n\t var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n\t var getSourceClientOffset = _ref.getSourceClientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\t\n\t for (var i = 0; i < sourceIds.length; i++) {\n\t _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n\t }\n\t\n\t var sourceId = null;\n\t for (var i = sourceIds.length - 1; i >= 0; i--) {\n\t if (monitor.canDragSource(sourceIds[i])) {\n\t sourceId = sourceIds[i];\n\t break;\n\t }\n\t }\n\t if (sourceId === null) {\n\t return;\n\t }\n\t\n\t var sourceClientOffset = null;\n\t if (clientOffset) {\n\t _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n\t sourceClientOffset = getSourceClientOffset(sourceId);\n\t }\n\t\n\t var source = registry.getSource(sourceId);\n\t var item = source.beginDrag(monitor, sourceId);\n\t _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\t\n\t registry.pinSource(sourceId);\n\t\n\t var itemType = registry.getSourceType(sourceId);\n\t return {\n\t type: BEGIN_DRAG,\n\t itemType: itemType,\n\t item: item,\n\t sourceId: sourceId,\n\t clientOffset: clientOffset,\n\t sourceClientOffset: sourceClientOffset,\n\t isSourcePublic: publishSource\n\t };\n\t}\n\t\n\tfunction publishDragSource(manager) {\n\t var monitor = this.getMonitor();\n\t if (!monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t return {\n\t type: PUBLISH_DRAG_SOURCE\n\t };\n\t}\n\t\n\tfunction hover(targetIds) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$clientOffset = _ref2.clientOffset;\n\t var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n\t targetIds = targetIds.slice(0);\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\t\n\t // First check invariants.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\t\n\t var target = registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected targetIds to be registered.');\n\t }\n\t\n\t var draggedItemType = monitor.getItemType();\n\t\n\t // Remove those targetIds that don't match the targetType. This\n\t // fixes shallow isOver which would only be non-shallow because of\n\t // non-matching targets.\n\t for (var i = targetIds.length - 1; i >= 0; i--) {\n\t var targetId = targetIds[i];\n\t var targetType = registry.getTargetType(targetId);\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t targetIds.splice(i, 1);\n\t }\n\t }\n\t\n\t // Finally call hover on all matching targets.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t var target = registry.getTarget(targetId);\n\t target.hover(monitor, targetId);\n\t }\n\t\n\t return {\n\t type: HOVER,\n\t targetIds: targetIds,\n\t clientOffset: clientOffset\n\t };\n\t}\n\t\n\tfunction drop() {\n\t var _this = this;\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\t\n\t var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\t\n\t targetIds.reverse();\n\t targetIds.forEach(function (targetId, index) {\n\t var target = registry.getTarget(targetId);\n\t\n\t var dropResult = target.drop(monitor, targetId);\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n\t if (typeof dropResult === 'undefined') {\n\t dropResult = index === 0 ? {} : monitor.getDropResult();\n\t }\n\t\n\t _this.store.dispatch({\n\t type: DROP,\n\t dropResult: dropResult\n\t });\n\t });\n\t}\n\t\n\tfunction endDrag() {\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\t\n\t var sourceId = monitor.getSourceId();\n\t var source = registry.getSource(sourceId, true);\n\t source.endDrag(monitor, sourceId);\n\t\n\t registry.unpinSource();\n\t\n\t return {\n\t type: END_DRAG\n\t };\n\t}\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.addSource = addSource;\n\texports.addTarget = addTarget;\n\texports.removeSource = removeSource;\n\texports.removeTarget = removeTarget;\n\tvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\n\texports.ADD_SOURCE = ADD_SOURCE;\n\tvar ADD_TARGET = 'dnd-core/ADD_TARGET';\n\texports.ADD_TARGET = ADD_TARGET;\n\tvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\n\texports.REMOVE_SOURCE = REMOVE_SOURCE;\n\tvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\t\n\texports.REMOVE_TARGET = REMOVE_TARGET;\n\t\n\tfunction addSource(sourceId) {\n\t return {\n\t type: ADD_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction addTarget(targetId) {\n\t return {\n\t type: ADD_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\t\n\tfunction removeSource(sourceId) {\n\t return {\n\t type: REMOVE_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction removeTarget(targetId) {\n\t return {\n\t type: REMOVE_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(127);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(61),\n\t isObjectLike = __webpack_require__(37);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return !!value && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(54),\n\t toInteger = __webpack_require__(198);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * Creates a function that invokes `func` with the `this` binding of the\n\t * created function and arguments from `start` and beyond provided as\n\t * an array.\n\t *\n\t * **Note:** This method is based on the\n\t * [rest parameter](https://mdn.io/rest_parameters).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Function\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var say = _.rest(function(what, names) {\n\t * return what + ' ' + _.initial(names).join(', ') +\n\t * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n\t * });\n\t *\n\t * say('hello', 'fred', 'barney', 'pebbles');\n\t * // => 'hello fred, barney, & pebbles'\n\t */\n\tfunction rest(func, start) {\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n\t return function() {\n\t var args = arguments,\n\t index = -1,\n\t length = nativeMax(args.length - start, 0),\n\t array = Array(length);\n\t\n\t while (++index < length) {\n\t array[index] = args[start + index];\n\t }\n\t switch (start) {\n\t case 0: return func.call(this, array);\n\t case 1: return func.call(this, args[0], array);\n\t case 2: return func.call(this, args[0], args[1], array);\n\t }\n\t var otherArgs = Array(start + 1);\n\t index = -1;\n\t while (++index < start) {\n\t otherArgs[index] = args[index];\n\t }\n\t otherArgs[start] = array;\n\t return apply(func, this, otherArgs);\n\t };\n\t}\n\t\n\tmodule.exports = rest;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = checkDecoratorArguments;\n\t\n\tfunction checkDecoratorArguments(functionName, signature) {\n\t if (false) {\n\t for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n\t args[_key - 2] = arguments[_key];\n\t }\n\t\n\t for (var i = 0; i < args.length; i++) {\n\t var arg = args[i];\n\t if (arg && arg.prototype && arg.prototype.render) {\n\t console.error( // eslint-disable-line no-console\n\t 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n\t return;\n\t }\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.addWidget = addWidget;\n\texports.removeWidget = removeWidget;\n\texports.moveWidget = moveWidget;\n\texports.sortWidget = sortWidget;\n\t\n\tvar _update = __webpack_require__(219);\n\t\n\tvar _update2 = _interopRequireDefault(_update);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\t/**\r\n\t * Adds the specified widget to the specified position in the layout.\r\n\t */\n\tfunction addWidget(layout, rowIndex, columnIndex, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $push: [{\n\t key: widgetName\n\t }]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Removes the widget at a specified index.\r\n\t */\n\tfunction removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $splice: [[widgetIndex, 1]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Moves a widget from column to column.\r\n\t */\n\tfunction moveWidget(layout, initialLocation, destination, widgetName) {\n\t var removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\n\t var movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\n\t return movedLayout;\n\t}\n\t\n\t/**\r\n\t * Sorts a widget in the same column.\r\n\t */\n\tfunction sortWidget(layout, initialLocation, destination, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, initialLocation.rowIndex, {\n\t columns: _defineProperty({}, initialLocation.columnIndex, {\n\t widgets: {\n\t $splice: [[initialLocation.widgetIndex, 1], [destination.widgetIndex, 0, {\n\t key: widgetName\n\t }]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 22 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isDisposable;\n\t\n\tfunction isDisposable(obj) {\n\t return Boolean(obj && typeof obj.dispose === 'function');\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(96),\n\t cachePush = __webpack_require__(110);\n\t\n\t/**\n\t *\n\t * Creates a set cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.push(values[index]);\n\t }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.push = cachePush;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIndexOf = __webpack_require__(105);\n\t\n\t/**\n\t * A specialized version of `_.includes` for arrays without support for\n\t * specifying an index to search from.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludes(array, value) {\n\t return !!array.length && baseIndexOf(array, value, 0) > -1;\n\t}\n\t\n\tmodule.exports = arrayIncludes;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like `arrayIncludes` except that it accepts a comparator.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @param {Function} comparator The comparator invoked per element.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludesWith(array, value, comparator) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (comparator(value, array[index])) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arrayIncludesWith;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(3);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Checks if `value` is in `cache`.\n\t *\n\t * @private\n\t * @param {Object} cache The set cache to search.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction cacheHas(cache, value) {\n\t var map = cache.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t return hash[value] === HASH_UNDEFINED;\n\t }\n\t return map.has(value);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(131);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(129),\n\t isObjectLike = __webpack_require__(49);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8 which returns 'object' for typed array and weak map constructors,\n\t // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(98),\n\t toInteger = __webpack_require__(133);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * Creates a function that invokes `func` with the `this` binding of the\n\t * created function and arguments from `start` and beyond provided as\n\t * an array.\n\t *\n\t * **Note:** This method is based on the\n\t * [rest parameter](https://mdn.io/rest_parameters).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Function\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t * @example\n\t *\n\t * var say = _.rest(function(what, names) {\n\t * return what + ' ' + _.initial(names).join(', ') +\n\t * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n\t * });\n\t *\n\t * say('hello', 'fred', 'barney', 'pebbles');\n\t * // => 'hello fred, barney, & pebbles'\n\t */\n\tfunction rest(func, start) {\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n\t return function() {\n\t var args = arguments,\n\t index = -1,\n\t length = nativeMax(args.length - start, 0),\n\t array = Array(length);\n\t\n\t while (++index < length) {\n\t array[index] = args[start + index];\n\t }\n\t switch (start) {\n\t case 0: return func.call(this, array);\n\t case 1: return func.call(this, args[0], array);\n\t case 2: return func.call(this, args[0], args[1], array);\n\t }\n\t var otherArgs = Array(start + 1);\n\t index = -1;\n\t while (++index < start) {\n\t otherArgs[index] = args[index];\n\t }\n\t otherArgs[start] = array;\n\t return apply(func, this, otherArgs);\n\t };\n\t}\n\t\n\tmodule.exports = rest;\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar FILE = '__NATIVE_FILE__';\n\texports.FILE = FILE;\n\tvar URL = '__NATIVE_URL__';\n\texports.URL = URL;\n\tvar TEXT = '__NATIVE_TEXT__';\n\texports.TEXT = TEXT;\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isNative = __webpack_require__(192);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = object[key];\n\t return isNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var checkGlobal = __webpack_require__(168);\n\t\n\t/** Used to determine if values are of the language type `Object`. */\n\tvar objectTypes = {\n\t 'function': true,\n\t 'object': true\n\t};\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n\t ? exports\n\t : undefined;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n\t ? module\n\t : undefined;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\t\n\t/** Detect free variable `window`. */\n\tvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\t\n\t/** Detect `this` as the global object. */\n\tvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\t\n\t/**\n\t * Used as a reference to the global object.\n\t *\n\t * The `this` value is used if it's the global object to avoid Greasemonkey's\n\t * restricted `window` object, otherwise the `window` object is used.\n\t */\n\tvar root = freeGlobal ||\n\t ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n\t freeSelf || thisGlobal || Function('return this')();\n\t\n\tmodule.exports = root;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)(module)))\n\n/***/ },\n/* 35 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(18);\n\t\n\t/** `Object#toString` result references. */\n\tvar funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 8 which returns 'object' for typed array and weak map constructors,\n\t // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n\t var tag = isObject(value) ? objectToString.call(value) : '';\n\t return tag == funcTag || tag == genTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 37 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropContext = __webpack_require__(202);\n\t\n\texports.DragDropContext = _interopRequire(_DragDropContext);\n\t\n\tvar _DragLayer = __webpack_require__(203);\n\t\n\texports.DragLayer = _interopRequire(_DragLayer);\n\t\n\tvar _DragSource = __webpack_require__(204);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(205);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar WIDGET = exports.WIDGET = 'WIDGET';\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"ItemTypes.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _utilsGetNextUniqueId = __webpack_require__(94);\n\t\n\tvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar _asap = __webpack_require__(78);\n\t\n\tvar _asap2 = _interopRequireDefault(_asap);\n\t\n\tvar HandlerRoles = {\n\t SOURCE: 'SOURCE',\n\t TARGET: 'TARGET'\n\t};\n\t\n\tfunction validateSourceContract(source) {\n\t _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n\t _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n\t _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n\t}\n\t\n\tfunction validateTargetContract(target) {\n\t _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n\t _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n\t _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n\t}\n\t\n\tfunction validateType(type, allowArray) {\n\t if (allowArray && _lodashIsArray2['default'](type)) {\n\t type.forEach(function (t) {\n\t return validateType(t, false);\n\t });\n\t return;\n\t }\n\t\n\t _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n\t}\n\t\n\tfunction getNextHandlerId(role) {\n\t var id = _utilsGetNextUniqueId2['default']().toString();\n\t switch (role) {\n\t case HandlerRoles.SOURCE:\n\t return 'S' + id;\n\t case HandlerRoles.TARGET:\n\t return 'T' + id;\n\t default:\n\t _invariant2['default'](false, 'Unknown role: ' + role);\n\t }\n\t}\n\t\n\tfunction parseRoleFromHandlerId(handlerId) {\n\t switch (handlerId[0]) {\n\t case 'S':\n\t return HandlerRoles.SOURCE;\n\t case 'T':\n\t return HandlerRoles.TARGET;\n\t default:\n\t _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n\t }\n\t}\n\t\n\tvar HandlerRegistry = (function () {\n\t function HandlerRegistry(store) {\n\t _classCallCheck(this, HandlerRegistry);\n\t\n\t this.store = store;\n\t\n\t this.types = {};\n\t this.handlers = {};\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t }\n\t\n\t HandlerRegistry.prototype.addSource = function addSource(type, source) {\n\t validateType(type);\n\t validateSourceContract(source);\n\t\n\t var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n\t this.store.dispatch(_actionsRegistry.addSource(sourceId));\n\t return sourceId;\n\t };\n\t\n\t HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n\t validateType(type, true);\n\t validateTargetContract(target);\n\t\n\t var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n\t this.store.dispatch(_actionsRegistry.addTarget(targetId));\n\t return targetId;\n\t };\n\t\n\t HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n\t var id = getNextHandlerId(role);\n\t this.types[id] = type;\n\t this.handlers[id] = handler;\n\t\n\t return id;\n\t };\n\t\n\t HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n\t var _this = this;\n\t\n\t return Object.keys(this.handlers).some(function (key) {\n\t return _this.handlers[key] === handler;\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t\n\t var isPinned = includePinned && sourceId === this.pinnedSourceId;\n\t var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\t\n\t return source;\n\t };\n\t\n\t HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.handlers[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t return this.types[sourceId];\n\t };\n\t\n\t HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.types[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.SOURCE;\n\t };\n\t\n\t HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.TARGET;\n\t };\n\t\n\t HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n\t this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\t\n\t _asap2['default'](function () {\n\t delete _this2.handlers[sourceId];\n\t delete _this2.types[sourceId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n\t var _this3 = this;\n\t\n\t _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n\t this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\t\n\t _asap2['default'](function () {\n\t delete _this3.handlers[targetId];\n\t delete _this3.types[targetId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n\t var source = this.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected an existing source.');\n\t\n\t this.pinnedSourceId = sourceId;\n\t this.pinnedSource = source;\n\t };\n\t\n\t HandlerRegistry.prototype.unpinSource = function unpinSource() {\n\t _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t };\n\t\n\t return HandlerRegistry;\n\t})();\n\t\n\texports['default'] = HandlerRegistry;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = dirtyHandlerIds;\n\texports.areDirty = areDirty;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashXor = __webpack_require__(136);\n\t\n\tvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\t\n\tvar _lodashIntersection = __webpack_require__(128);\n\t\n\tvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar NONE = [];\n\tvar ALL = [];\n\t\n\tfunction dirtyHandlerIds(state, action, dragOperation) {\n\t if (state === undefined) state = NONE;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.HOVER:\n\t break;\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t return NONE;\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t default:\n\t return ALL;\n\t }\n\t\n\t var targetIds = action.targetIds;\n\t var prevTargetIds = dragOperation.targetIds;\n\t\n\t var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\t\n\t var didChange = false;\n\t if (dirtyHandlerIds.length === 0) {\n\t for (var i = 0; i < targetIds.length; i++) {\n\t if (targetIds[i] !== prevTargetIds[i]) {\n\t didChange = true;\n\t break;\n\t }\n\t }\n\t } else {\n\t didChange = true;\n\t }\n\t\n\t if (!didChange) {\n\t return NONE;\n\t }\n\t\n\t var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n\t var innermostTargetId = targetIds[targetIds.length - 1];\n\t\n\t if (prevInnermostTargetId !== innermostTargetId) {\n\t if (prevInnermostTargetId) {\n\t dirtyHandlerIds.push(prevInnermostTargetId);\n\t }\n\t if (innermostTargetId) {\n\t dirtyHandlerIds.push(innermostTargetId);\n\t }\n\t }\n\t\n\t return dirtyHandlerIds;\n\t}\n\t\n\tfunction areDirty(state, handlerIds) {\n\t if (state === NONE) {\n\t return false;\n\t }\n\t\n\t if (state === ALL || typeof handlerIds === 'undefined') {\n\t return true;\n\t }\n\t\n\t return _lodashIntersection2['default'](handlerIds, state).length > 0;\n\t}\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports['default'] = dragOffset;\n\texports.getSourceClientOffset = getSourceClientOffset;\n\texports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar initialState = {\n\t initialSourceClientOffset: null,\n\t initialClientOffset: null,\n\t clientOffset: null\n\t};\n\t\n\tfunction areOffsetsEqual(offsetA, offsetB) {\n\t if (offsetA === offsetB) {\n\t return true;\n\t }\n\t return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n\t}\n\t\n\tfunction dragOffset(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return {\n\t initialSourceClientOffset: action.sourceClientOffset,\n\t initialClientOffset: action.clientOffset,\n\t clientOffset: action.clientOffset\n\t };\n\t case _actionsDragDrop.HOVER:\n\t if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t clientOffset: action.clientOffset\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t return initialState;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tfunction getSourceClientOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t var initialSourceClientOffset = state.initialSourceClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n\t };\n\t}\n\t\n\tfunction getDifferenceFromInitialOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y - initialClientOffset.y\n\t };\n\t}\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = matchesType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction matchesType(targetType, draggedItemType) {\n\t if (_lodashIsArray2['default'](targetType)) {\n\t return targetType.some(function (t) {\n\t return t === draggedItemType;\n\t });\n\t } else {\n\t return targetType === draggedItemType;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t arrayMap = __webpack_require__(26),\n\t baseUnary = __webpack_require__(46),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of methods like `_.difference` without support\n\t * for excluding multiple arrays or iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Array} values The values to exclude.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of filtered values.\n\t */\n\tfunction baseDifference(array, values, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t isCommon = true,\n\t length = array.length,\n\t result = [],\n\t valuesLength = values.length;\n\t\n\t if (!length) {\n\t return result;\n\t }\n\t if (iteratee) {\n\t values = arrayMap(values, baseUnary(iteratee));\n\t }\n\t if (comparator) {\n\t includes = arrayIncludesWith;\n\t isCommon = false;\n\t }\n\t else if (values.length >= LARGE_ARRAY_SIZE) {\n\t includes = cacheHas;\n\t isCommon = false;\n\t values = new SetCache(values);\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var valuesIndex = valuesLength;\n\t while (valuesIndex--) {\n\t if (values[valuesIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(values, computed, comparator)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseDifference;\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing wrapper metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(hash, key) {\n\t return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var checkGlobal = __webpack_require__(112);\n\t\n\t/** Used to determine if values are of the language type `Object`. */\n\tvar objectTypes = {\n\t 'function': true,\n\t 'object': true\n\t};\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n\t ? exports\n\t : undefined;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n\t ? module\n\t : undefined;\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\t\n\t/** Detect free variable `window`. */\n\tvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\t\n\t/** Detect `this` as the global object. */\n\tvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\t\n\t/**\n\t * Used as a reference to the global object.\n\t *\n\t * The `this` value is used if it's the global object to avoid Greasemonkey's\n\t * restricted `window` object, otherwise the `window` object is used.\n\t */\n\tvar root = freeGlobal ||\n\t ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n\t freeSelf || thisGlobal || Function('return this')();\n\t\n\tmodule.exports = root;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68)(module)))\n\n/***/ },\n/* 49 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A no-operation function that returns `undefined` regardless of the\n\t * arguments it receives.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.3.0\n\t * @category Util\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // No operation performed.\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashMemoize = __webpack_require__(196);\n\t\n\tvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\t\n\tvar isFirefox = _lodashMemoize2['default'](function () {\n\t return (/firefox/i.test(navigator.userAgent)\n\t );\n\t});\n\t\n\texports.isFirefox = isFirefox;\n\tvar isSafari = _lodashMemoize2['default'](function () {\n\t return Boolean(window.safari);\n\t});\n\texports.isSafari = isSafari;\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapClear = __webpack_require__(183),\n\t mapDelete = __webpack_require__(184),\n\t mapGet = __webpack_require__(185),\n\t mapHas = __webpack_require__(186),\n\t mapSet = __webpack_require__(187);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction MapCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = values[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapClear;\n\tMapCache.prototype['delete'] = mapDelete;\n\tMapCache.prototype.get = mapGet;\n\tMapCache.prototype.has = mapHas;\n\tMapCache.prototype.set = mapSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(52),\n\t cachePush = __webpack_require__(167);\n\t\n\t/**\n\t *\n\t * Creates a set cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.push(values[index]);\n\t }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.push = cachePush;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t var length = args.length;\n\t switch (length) {\n\t case 0: return func.call(thisArg);\n\t case 1: return func.call(thisArg, args[0]);\n\t case 2: return func.call(thisArg, args[0], args[1]);\n\t case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t }\n\t return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIndexOf = __webpack_require__(161);\n\t\n\t/**\n\t * A specialized version of `_.includes` for arrays without support for\n\t * specifying an index to search from.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludes(array, value) {\n\t return !!array.length && baseIndexOf(array, value, 0) > -1;\n\t}\n\t\n\tmodule.exports = arrayIncludes;\n\n\n/***/ },\n/* 56 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like `arrayIncludes` except that it accepts a comparator.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} target The value to search for.\n\t * @param {Function} comparator The comparator invoked per element.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludesWith(array, value, comparator) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (comparator(value, array[index])) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arrayIncludesWith;\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(4);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Checks if `value` is in `cache`.\n\t *\n\t * @private\n\t * @param {Object} cache The set cache to search.\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction cacheHas(cache, value) {\n\t var map = cache.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t return hash[value] === HASH_UNDEFINED;\n\t }\n\t return map.has(value);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(hash, key) {\n\t return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 59 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLikeObject = __webpack_require__(17);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tfunction isArguments(value) {\n\t // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.\n\t return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n\t (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n\t}\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(172),\n\t isFunction = __webpack_require__(36),\n\t isLength = __webpack_require__(62);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value)) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 62 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = areOptionsEqual;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tfunction areOptionsEqual(nextOptions, currentOptions) {\n\t if (currentOptions === nextOptions) {\n\t return true;\n\t }\n\t\n\t return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = decorateHandler;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _disposables = __webpack_require__(83);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(66);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tfunction decorateHandler(_ref) {\n\t var DecoratedComponent = _ref.DecoratedComponent;\n\t var createHandler = _ref.createHandler;\n\t var createMonitor = _ref.createMonitor;\n\t var createConnector = _ref.createConnector;\n\t var registerHandler = _ref.registerHandler;\n\t var containerDisplayName = _ref.containerDisplayName;\n\t var getType = _ref.getType;\n\t var collect = _ref.collect;\n\t var options = _ref.options;\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContainer, _Component);\n\t\n\t DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n\t return this.handlerId;\n\t };\n\t\n\t DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.decoratedComponentInstance;\n\t };\n\t\n\t DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragDropContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: containerDisplayName + '(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragDropContainer(props, context) {\n\t _classCallCheck(this, DragDropContainer);\n\t\n\t _Component.call(this, props, context);\n\t this.handleChange = this.handleChange.bind(this);\n\t this.handleChildRef = this.handleChildRef.bind(this);\n\t\n\t _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.manager = this.context.dragDropManager;\n\t this.handlerMonitor = createMonitor(this.manager);\n\t this.handlerConnector = createConnector(this.manager.getBackend());\n\t this.handler = createHandler(this.handlerMonitor);\n\t\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.receiveProps(props);\n\t this.state = this.getCurrentState();\n\t this.dispose();\n\t }\n\t\n\t DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.currentType = null;\n\t this.receiveProps(this.props);\n\t this.handleChange();\n\t };\n\t\n\t DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t if (!arePropsEqual(nextProps, this.props)) {\n\t this.receiveProps(nextProps);\n\t this.handleChange();\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.dispose();\n\t this.isCurrentlyMounted = false;\n\t };\n\t\n\t DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n\t this.handler.receiveProps(props);\n\t this.receiveType(getType(props));\n\t };\n\t\n\t DragDropContainer.prototype.receiveType = function receiveType(type) {\n\t if (type === this.currentType) {\n\t return;\n\t }\n\t\n\t this.currentType = type;\n\t\n\t var _registerHandler = registerHandler(type, this.handler, this.manager);\n\t\n\t var handlerId = _registerHandler.handlerId;\n\t var unregister = _registerHandler.unregister;\n\t\n\t this.handlerId = handlerId;\n\t this.handlerMonitor.receiveHandlerId(handlerId);\n\t this.handlerConnector.receiveHandlerId(handlerId);\n\t\n\t var globalMonitor = this.manager.getMonitor();\n\t var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\t\n\t this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n\t };\n\t\n\t DragDropContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.dispose = function dispose() {\n\t this.disposable.dispose();\n\t this.handlerConnector.receiveHandlerId(null);\n\t };\n\t\n\t DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n\t this.decoratedComponentInstance = component;\n\t this.handler.receiveComponent(component);\n\t };\n\t\n\t DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n\t var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\t\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n\t }\n\t\n\t return nextState;\n\t };\n\t\n\t DragDropContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: this.handleChildRef }));\n\t };\n\t\n\t return DragDropContainer;\n\t })(_react.Component);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isValidType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(217);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction isValidType(type, allowArray) {\n\t return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n\t return isValidType(t, false);\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 66 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = shallowEqualScalar;\n\t\n\tfunction shallowEqualScalar(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n\t return false;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i])) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = wrapConnectorHooks;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsCloneWithRef = __webpack_require__(214);\n\t\n\tvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tfunction throwIfCompositeComponentElement(element) {\n\t // Custom components can no longer be wrapped directly in React DnD 2.0\n\t // so that we don't need to depend on findDOMNode() from react-dom.\n\t if (typeof element.type === 'string') {\n\t return;\n\t }\n\t\n\t var displayName = element.type.displayName || element.type.name || 'the component';\n\t\n\t throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n\t}\n\t\n\tfunction wrapHookToRecognizeElement(hook) {\n\t return function () {\n\t var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\t\n\t // When passed a node, call the hook straight away.\n\t if (!_react.isValidElement(elementOrNode)) {\n\t var node = elementOrNode;\n\t hook(node, options);\n\t return;\n\t }\n\t\n\t // If passed a ReactElement, clone it and attach this function as a ref.\n\t // This helps us achieve a neat API where user doesn't even know that refs\n\t // are being used under the hood.\n\t var element = elementOrNode;\n\t throwIfCompositeComponentElement(element);\n\t\n\t // When no options are passed, use the hook directly\n\t var ref = options ? function (node) {\n\t return hook(node, options);\n\t } : hook;\n\t\n\t return _utilsCloneWithRef2['default'](element, ref);\n\t };\n\t}\n\t\n\tfunction wrapConnectorHooks(hooks) {\n\t var wrappedHooks = {};\n\t\n\t Object.keys(hooks).forEach(function (key) {\n\t var hook = hooks[key];\n\t var wrappedHook = wrapHookToRecognizeElement(hook);\n\t wrappedHooks[key] = function () {\n\t return wrappedHook;\n\t };\n\t });\n\t\n\t return wrappedHooks;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 68 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default AddWidget component.\r\n\t * @param {[type]} {text [description]\r\n\t * @param {[type]} onClick} [description]\r\n\t * @return {[type]} [description]\r\n\t */\n\tvar AddWidget = function AddWidget(_ref) {\n\t var text = _ref.text;\n\t var onClick = _ref.onClick;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"add-widget-button\", onClick: onClick },\n\t _react2.default.createElement(\n\t \"a\",\n\t { className: \"add-widget-link\" },\n\t text\n\t )\n\t );\n\t};\n\t\n\tAddWidget.propTypes = {\n\t /**\r\n\t * Should be called when 'add' is clicked\r\n\t */\n\t onClick: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the component\r\n\t */\n\t text: _react.PropTypes.string\n\t};\n\t\n\tAddWidget.defaultProps = {\n\t text: 'Add Widget'\n\t};\n\t\n\texports.default = AddWidget;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"AddWidget.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 70 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _ItemTypes = __webpack_require__(40);\n\t\n\tvar _AddWidget = __webpack_require__(69);\n\t\n\tvar _AddWidget2 = _interopRequireDefault(_AddWidget);\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar columnTarget = {\n\t drop: function drop(props, monitor) {\n\t var layout = props.layout;\n\t var rowIndex = props.rowIndex;\n\t var columnIndex = props.columnIndex;\n\t var onMove = props.onMove;\n\t\n\t var item = monitor.getItem();\n\t if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\n\t var movedLayout = (0, _util.moveWidget)(layout, {\n\t rowIndex: item.rowIndex,\n\t columnIndex: item.columnIndex,\n\t widgetIndex: item.widgetIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex\n\t }, item.widgetName);\n\t onMove(movedLayout);\n\t }\n\t }\n\t};\n\t\n\t/**\r\n\t * Colum of the dashboard grid. A column holds multiple widgets.\r\n\t */\n\tvar Column = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, columnTarget, function (connect, monitor) {\n\t return {\n\t connectDropTarget: connect.dropTarget(),\n\t isOver: monitor.isOver(),\n\t canDrop: monitor.canDrop()\n\t };\n\t}), _dec(_class = function (_Component) {\n\t _inherits(Column, _Component);\n\t\n\t function Column() {\n\t _classCallCheck(this, Column);\n\t\n\t return _possibleConstructorReturn(this, Object.getPrototypeOf(Column).apply(this, arguments));\n\t }\n\t\n\t _createClass(Column, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props;\n\t var className = _props.className;\n\t var layout = _props.layout;\n\t var rowIndex = _props.rowIndex;\n\t var columnIndex = _props.columnIndex;\n\t var editable = _props.editable;\n\t var children = _props.children;\n\t var connectDropTarget = _props.connectDropTarget;\n\t var onAdd = _props.onAdd;\n\t var isOver = _props.isOver;\n\t var canDrop = _props.canDrop;\n\t var editableColumnClass = _props.editableColumnClass;\n\t var droppableColumnClass = _props.droppableColumnClass;\n\t var addWidgetComponentText = _props.addWidgetComponentText;\n\t var addWidgetComponent = _props.addWidgetComponent;\n\t\n\t\n\t var classes = className;\n\t classes = editable ? className + ' ' + editableColumnClass : classes;\n\t var isActive = isOver && canDrop;\n\t classes = isActive ? classes + ' ' + droppableColumnClass : classes;\n\t\n\t var addWidgetComponentToUse = null;\n\t if (addWidgetComponent) {\n\t addWidgetComponentToUse = (0, _react.createElement)(addWidgetComponent, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t } else {\n\t addWidgetComponentToUse = _react2.default.createElement(_AddWidget2.default, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t }\n\t\n\t return connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { className: classes },\n\t editable && addWidgetComponentToUse,\n\t children\n\t ));\n\t }\n\t }]);\n\t\n\t return Column;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tColumn.propTypes = {\n\t /**\r\n\t * Children of the column\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * CSS class that should be used with the column.\r\n\t */\n\t className: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function that should be called when user tries to add a widget\r\n\t * to the column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row that this column resides.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of this column.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather dashboard is in editable state\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicates weather a widget is being draged over.\r\n\t */\n\t isOver: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicated a widget can be dropped.\r\n\t */\n\t canDrop: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be given to the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget.\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func\n\t};\n\t\n\tColumn.defaultProps = {\n\t editableColumnClass: 'editable-column',\n\t droppableColumnClass: 'droppable-column'\n\t};\n\t\n\texports.default = Column;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Column.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _reactDndHtml5Backend = __webpack_require__(146);\n\t\n\tvar _reactDndHtml5Backend2 = _interopRequireDefault(_reactDndHtml5Backend);\n\t\n\tvar _LayoutRenderer = __webpack_require__(73);\n\t\n\tvar _LayoutRenderer2 = _interopRequireDefault(_LayoutRenderer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\r\n\t * Main dashboard component. This is where all of this starts.\r\n\t */\n\tvar Dashboard = (_dec = (0, _reactDnd.DragDropContext)(_reactDndHtml5Backend2.default), _dec(_class = function (_Component) {\n\t _inherits(Dashboard, _Component);\n\t\n\t function Dashboard() {\n\t _classCallCheck(this, Dashboard);\n\t\n\t return _possibleConstructorReturn(this, Object.getPrototypeOf(Dashboard).apply(this, arguments));\n\t }\n\t\n\t _createClass(Dashboard, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(_LayoutRenderer2.default, this.props)\n\t );\n\t }\n\t }]);\n\t\n\t return Dashboard;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tDashboard.PropTypes = {\n\t /**\r\n\t * The layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * List of widgets that are avilable in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather the dashoard is in editable state or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * CSS class name that should be provided to the row. Default is 'row'.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized widget frame. The dashboard supports a default frame. But if\r\n\t * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n\t * could create your own widget frame and pass it through here. Ever widget Will\r\n\t * use this as the outer container which displays controls like 'remove' button\r\n\t * on edit mode.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * A custom component for the `add widget` button.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Will be called when a widget removed by the user from the dashboard.\r\n\t * Should be handled if the dashbord supports edit functionality.\r\n\t * provides the updated layout object. This layout object with the removed widget\r\n\t * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Will be called when user tries to add a widget into a column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Dashboard;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Dashboard.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default frame that will be used with the widgets.\r\n\t */\n\tvar DefaultFrame = function DefaultFrame(_ref) {\n\t var children = _ref.children;\n\t var onRemove = _ref.onRemove;\n\t var editable = _ref.editable;\n\t var title = _ref.title;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrame\" },\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrameHeader\" },\n\t _react2.default.createElement(\n\t \"span\",\n\t { className: \"title\" },\n\t title\n\t ),\n\t editable && _react2.default.createElement(\n\t \"a\",\n\t { className: \"remove\", onClick: function onClick() {\n\t onRemove();\n\t } },\n\t \"Remove\"\n\t )\n\t ),\n\t children\n\t );\n\t};\n\t\n\tDefaultFrame.propTypes = {\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Children of the frame.\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * Function to call when the widget is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Title of the widget\r\n\t */\n\t title: _react.PropTypes.string\n\t};\n\t\n\texports.default = DefaultFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"DefaultFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Row = __webpack_require__(74);\n\t\n\tvar _Row2 = _interopRequireDefault(_Row);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Renders the row, column layout based on the layout provided to the dashboard.\r\n\t */\n\tvar LayoutRenderer = function LayoutRenderer(props) {\n\t var layout = props.layout;\n\t var widgets = props.widgets;\n\t var onRemove = props.onRemove;\n\t var editable = props.editable;\n\t var onAdd = props.onAdd;\n\t var frameComponent = props.frameComponent;\n\t var rowClass = props.rowClass;\n\t var onMove = props.onMove;\n\t var editableColumnClass = props.editableColumnClass;\n\t var droppableColumnClass = props.droppableColumnClass;\n\t var addWidgetComponentText = props.addWidgetComponentText;\n\t var addWidgetComponent = props.addWidgetComponent;\n\t\n\t\n\t var rows = layout.rows.map(function (row, rowIndex) {\n\t return _react2.default.createElement(_Row2.default, {\n\t key: rowIndex,\n\t rowClass: rowClass,\n\t columns: row.columns,\n\t widgets: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t editable: editable,\n\t onAdd: onAdd,\n\t onMove: onMove,\n\t frameComponent: frameComponent,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponentText: addWidgetComponentText,\n\t addWidgetComponent: addWidgetComponent\n\t });\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t rows\n\t );\n\t};\n\t\n\tLayoutRenderer.propTypes = {\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Widgets that the dashboard supports.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather this dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Function that will be called when user removed a widget.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that will be called user tries to add a widget.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Frame that should be used as the outer cotnainer of the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class name that should be provided to the row component.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string\n\t};\n\t\n\tLayoutRenderer.defaultProps = {\n\t /**\r\n\t * Default layout.\r\n\t */\n\t layout: {\n\t rows: []\n\t }\n\t};\n\t\n\texports.default = LayoutRenderer;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"LayoutRenderer.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Column = __webpack_require__(70);\n\t\n\tvar _Column2 = _interopRequireDefault(_Column);\n\t\n\tvar _Widgets = __webpack_require__(76);\n\t\n\tvar _Widgets2 = _interopRequireDefault(_Widgets);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Returns a set of columns that belongs to a row.\r\n\t */\n\tfunction Row(props) {\n\t var rowClass = props.rowClass;\n\t var columns = props.columns;\n\t var widgets = props.widgets;\n\t var onRemove = props.onRemove;\n\t var layout = props.layout;\n\t var rowIndex = props.rowIndex;\n\t var editable = props.editable;\n\t var frameComponent = props.frameComponent;\n\t var editableColumnClass = props.editableColumnClass;\n\t var droppableColumnClass = props.droppableColumnClass;\n\t var addWidgetComponentText = props.addWidgetComponentText;\n\t var addWidgetComponent = props.addWidgetComponent;\n\t var onAdd = props.onAdd;\n\t var onMove = props.onMove;\n\t\n\t\n\t var items = columns.map(function (column, index) {\n\t return _react2.default.createElement(\n\t _Column2.default,\n\t {\n\t key: index,\n\t className: column.className,\n\t onAdd: onAdd,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t onMove: onMove,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponent: addWidgetComponent,\n\t addWidgetComponentText: addWidgetComponentText\n\t },\n\t _react2.default.createElement(_Widgets2.default, {\n\t key: index,\n\t widgets: column.widgets,\n\t widgetTypes: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t })\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: rowClass },\n\t items\n\t );\n\t}\n\t\n\tRow.propTypes = {\n\t /**\r\n\t * CSS class that should be used to represent a row.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Columns of the layout.\r\n\t */\n\t columns: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that should be used in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row where this column is in.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Custom frame that should be used with the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Custom AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Method that should be called when a component is added.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a component is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\tRow.defaultProps = {\n\t /**\r\n\t * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n\t */\n\t rowClass: 'row'\n\t};\n\t\n\texports.default = Row;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Row.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _dec2, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(225);\n\t\n\tvar _reactDnd = __webpack_require__(38);\n\t\n\tvar _ItemTypes = __webpack_require__(40);\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tvar _DefaultFrame = __webpack_require__(72);\n\t\n\tvar _DefaultFrame2 = _interopRequireDefault(_DefaultFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar boxSource = {\n\t beginDrag: function beginDrag(props) {\n\t return {\n\t widgetName: props.widgetName,\n\t rowIndex: props.rowIndex,\n\t columnIndex: props.columnIndex,\n\t widgetIndex: props.widgetIndex\n\t };\n\t },\n\t canDrag: function canDrag(props) {\n\t return props.editable;\n\t }\n\t};\n\t\n\tvar cardTarget = {\n\t hover: function hover(props, monitor, component) {\n\t var dragIndex = monitor.getItem().widgetIndex;\n\t var hoverIndex = props.widgetIndex;\n\t\n\t // Don't replace items with themselves\n\t if (dragIndex === hoverIndex) {\n\t return;\n\t }\n\t\n\t // Determine rectangle on screen\n\t var hoverBoundingRect = (0, _reactDom.findDOMNode)(component).getBoundingClientRect();\n\t\n\t // Get vertical middle\n\t var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n\t\n\t // Determine mouse position\n\t var clientOffset = monitor.getClientOffset();\n\t\n\t // Get pixels to the top\n\t var hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\t\n\t // Only perform the move when the mouse has crossed half of the items height\n\t // When dragging downwards, only move when the cursor is below 50%\n\t // When dragging upwards, only move when the cursor is above 50%\n\t\n\t // Dragging downwards\n\t if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Dragging upwards\n\t if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Time to actually perform the action\n\t var layout = props.layout;\n\t var columnIndex = props.columnIndex;\n\t var rowIndex = props.rowIndex;\n\t\n\t\n\t if (monitor.getItem().columnIndex === columnIndex) {\n\t var newLayout = (0, _util.sortWidget)(layout, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: dragIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: hoverIndex\n\t }, monitor.getItem().widgetName);\n\t\n\t props.onMove(newLayout);\n\t }\n\t\n\t // Note: we're mutating the monitor item here!\n\t // Generally it's better to avoid mutations,\n\t // but it's good here for the sake of performance\n\t // to avoid expensive index searches.\n\t monitor.getItem().widgetIndex = hoverIndex;\n\t }\n\t};\n\t\n\t/**\r\n\t * Frame component which surrounds each widget.\r\n\t */\n\tvar WidgetFrame = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, cardTarget, function (connect) {\n\t return {\n\t connectDropTarget: connect.dropTarget()\n\t };\n\t}), _dec2 = (0, _reactDnd.DragSource)(_ItemTypes.WIDGET, boxSource, function (connect, monitor) {\n\t return {\n\t connectDragSource: connect.dragSource(),\n\t isDragging: monitor.isDragging()\n\t };\n\t}), _dec(_class = _dec2(_class = function (_Component) {\n\t _inherits(WidgetFrame, _Component);\n\t\n\t function WidgetFrame() {\n\t var _Object$getPrototypeO;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, WidgetFrame);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(WidgetFrame)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this), _this.remove = function () {\n\t var _this$props = _this.props;\n\t var layout = _this$props.layout;\n\t var rowIndex = _this$props.rowIndex;\n\t var columnIndex = _this$props.columnIndex;\n\t var widgetIndex = _this$props.widgetIndex;\n\t\n\t var newLayout = (0, _util.removeWidget)(layout, rowIndex, columnIndex, widgetIndex);\n\t _this.props.onRemove(newLayout);\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(WidgetFrame, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props;\n\t var frameComponent = _props.frameComponent;\n\t var children = _props.children;\n\t var editable = _props.editable;\n\t var title = _props.title;\n\t var connectDragSource = _props.connectDragSource;\n\t var connectDropTarget = _props.connectDropTarget;\n\t var isDragging = _props.isDragging;\n\t\n\t\n\t var selected = null;\n\t\n\t if (frameComponent) {\n\t // if user provided a custom frame, use it\n\t selected = (0, _react.createElement)(frameComponent, { children: children, editable: editable, title: title, onRemove: this.remove });\n\t } else {\n\t // else use the default frame\n\t selected = _react2.default.createElement(_DefaultFrame2.default, {\n\t title: title,\n\t editable: editable,\n\t children: children,\n\t onRemove: this.remove\n\t });\n\t }\n\t var opacity = isDragging ? 0 : 1;\n\t return connectDragSource(connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { style: { opacity: opacity } },\n\t selected\n\t )));\n\t }\n\t }]);\n\t\n\t return WidgetFrame;\n\t}(_react.Component)) || _class) || _class);\n\t\n\t\n\tWidgetFrame.propTypes = {\n\t /**\r\n\t * Childrens of the widget frame.\r\n\t */\n\t children: _react.PropTypes.element,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the widget.\r\n\t */\n\t widgetIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Name of the widget.\r\n\t */\n\t widgetName: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Title of the widget.\r\n\t */\n\t title: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Weather the component is being dragged.\r\n\t */\n\t isDragging: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * ReactDnd's connectDragSource().\r\n\t */\n\t connectDragSource: _react.PropTypes.func,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget().\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func\n\t};\n\t\n\texports.default = WidgetFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"WidgetFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 76 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _WidgetFrame = __webpack_require__(75);\n\t\n\tvar _WidgetFrame2 = _interopRequireDefault(_WidgetFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Component that renders the widget which belongs to a column.\r\n\t */\n\tvar Widgets = function Widgets(_ref) {\n\t var widgets = _ref.widgets;\n\t var widgetTypes = _ref.widgetTypes;\n\t var onRemove = _ref.onRemove;\n\t var layout = _ref.layout;\n\t var columnIndex = _ref.columnIndex;\n\t var rowIndex = _ref.rowIndex;\n\t var editable = _ref.editable;\n\t var frameComponent = _ref.frameComponent;\n\t var onMove = _ref.onMove;\n\t\n\t var createdWidgets = widgets.map(function (widget, index) {\n\t return _react2.default.createElement(\n\t _WidgetFrame2.default,\n\t {\n\t key: index,\n\t widgetName: widget.key,\n\t title: widgetTypes[widget.key].title,\n\t onRemove: onRemove,\n\t layout: layout,\n\t columnIndex: columnIndex,\n\t rowIndex: rowIndex,\n\t widgetIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t },\n\t (0, _react.createElement)(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\n\t );\n\t });\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t createdWidgets\n\t );\n\t};\n\t\n\tWidgets.propTypes = {\n\t /**\r\n\t * Widgets that should be rendered.\r\n\t */\n\t widgets: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that are available in the dashboard.\r\n\t */\n\t widgetTypes: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method to call when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Widgets;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"Widgets.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 77 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _Dashboard = __webpack_require__(71);\n\t\n\tObject.defineProperty(exports, 'default', {\n\t enumerable: true,\n\t get: function get() {\n\t return _interopRequireDefault(_Dashboard).default;\n\t }\n\t});\n\t\n\tvar _util = __webpack_require__(21);\n\t\n\tObject.defineProperty(exports, 'addWidget', {\n\t enumerable: true,\n\t get: function get() {\n\t return _util.addWidget;\n\t }\n\t});\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot not apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\t// rawAsap provides everything we need except exception management.\n\tvar rawAsap = __webpack_require__(79);\n\t// RawTasks are recycled to reduce GC churn.\n\tvar freeTasks = [];\n\t// We queue errors to ensure they are thrown in right order (FIFO).\n\t// Array-as-queue is good enough here, since we are just dealing with exceptions.\n\tvar pendingErrors = [];\n\tvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\t\n\tfunction throwFirstError() {\n\t if (pendingErrors.length) {\n\t throw pendingErrors.shift();\n\t }\n\t}\n\t\n\t/**\n\t * Calls a task as soon as possible after returning, in its own event, with priority\n\t * over other events like animation, reflow, and repaint. An error thrown from an\n\t * event will not interrupt, nor even substantially slow down the processing of\n\t * other events, but will be rather postponed to a lower priority event.\n\t * @param {{call}} task A callable object, typically a function that takes no\n\t * arguments.\n\t */\n\tmodule.exports = asap;\n\tfunction asap(task) {\n\t var rawTask;\n\t if (freeTasks.length) {\n\t rawTask = freeTasks.pop();\n\t } else {\n\t rawTask = new RawTask();\n\t }\n\t rawTask.task = task;\n\t rawAsap(rawTask);\n\t}\n\t\n\t// We wrap tasks with recyclable task objects. A task object implements\n\t// `call`, just like a function.\n\tfunction RawTask() {\n\t this.task = null;\n\t}\n\t\n\t// The sole purpose of wrapping the task is to catch the exception and recycle\n\t// the task object after its single use.\n\tRawTask.prototype.call = function () {\n\t try {\n\t this.task.call();\n\t } catch (error) {\n\t if (asap.onerror) {\n\t // This hook exists purely for testing purposes.\n\t // Its name will be periodically randomized to break any code that\n\t // depends on its existence.\n\t asap.onerror(error);\n\t } else {\n\t // In a web browser, exceptions are not fatal. However, to avoid\n\t // slowing down the queue of pending tasks, we rethrow the error in a\n\t // lower priority turn.\n\t pendingErrors.push(error);\n\t requestErrorThrow();\n\t }\n\t } finally {\n\t this.task = null;\n\t freeTasks[freeTasks.length] = this;\n\t }\n\t};\n\n\n/***/ },\n/* 79 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t// Use the fastest means possible to execute a task in its own turn, with\n\t// priority over other events including IO, animation, reflow, and redraw\n\t// events in browsers.\n\t//\n\t// An exception thrown by a task will permanently interrupt the processing of\n\t// subsequent tasks. The higher level `asap` function ensures that if an\n\t// exception is thrown by a task, that the task queue will continue flushing as\n\t// soon as possible, but if you use `rawAsap` directly, you are responsible to\n\t// either ensure that no exceptions are thrown from your task, or to manually\n\t// call `rawAsap.requestFlush` if an exception is thrown.\n\tmodule.exports = rawAsap;\n\tfunction rawAsap(task) {\n\t if (!queue.length) {\n\t requestFlush();\n\t flushing = true;\n\t }\n\t // Equivalent to push, but avoids a function call.\n\t queue[queue.length] = task;\n\t}\n\t\n\tvar queue = [];\n\t// Once a flush has been requested, no further calls to `requestFlush` are\n\t// necessary until the next `flush` completes.\n\tvar flushing = false;\n\t// `requestFlush` is an implementation-specific method that attempts to kick\n\t// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n\t// the event queue before yielding to the browser's own event loop.\n\tvar requestFlush;\n\t// The position of the next task to execute in the task queue. This is\n\t// preserved between calls to `flush` so that it can be resumed if\n\t// a task throws an exception.\n\tvar index = 0;\n\t// If a task schedules additional tasks recursively, the task queue can grow\n\t// unbounded. To prevent memory exhaustion, the task queue will periodically\n\t// truncate already-completed tasks.\n\tvar capacity = 1024;\n\t\n\t// The flush function processes all tasks that have been scheduled with\n\t// `rawAsap` unless and until one of those tasks throws an exception.\n\t// If a task throws an exception, `flush` ensures that its state will remain\n\t// consistent and will resume where it left off when called again.\n\t// However, `flush` does not make any arrangements to be called again if an\n\t// exception is thrown.\n\tfunction flush() {\n\t while (index < queue.length) {\n\t var currentIndex = index;\n\t // Advance the index before calling the task. This ensures that we will\n\t // begin flushing on the next task the task throws an error.\n\t index = index + 1;\n\t queue[currentIndex].call();\n\t // Prevent leaking memory for long chains of recursive calls to `asap`.\n\t // If we call `asap` within tasks scheduled by `asap`, the queue will\n\t // grow, but to avoid an O(n) walk for every task we execute, we don't\n\t // shift tasks off the queue after they have been executed.\n\t // Instead, we periodically shift 1024 tasks off the queue.\n\t if (index > capacity) {\n\t // Manually shift all values starting at the index back to the\n\t // beginning of the queue.\n\t for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n\t queue[scan] = queue[scan + index];\n\t }\n\t queue.length -= index;\n\t index = 0;\n\t }\n\t }\n\t queue.length = 0;\n\t index = 0;\n\t flushing = false;\n\t}\n\t\n\t// `requestFlush` is implemented using a strategy based on data collected from\n\t// every available SauceLabs Selenium web driver worker at time of writing.\n\t// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\t\n\t// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n\t// have WebKitMutationObserver but not un-prefixed MutationObserver.\n\t// Must use `global` instead of `window` to work in both frames and web\n\t// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\tvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\t\n\t// MutationObservers are desirable because they have high priority and work\n\t// reliably everywhere they are implemented.\n\t// They are implemented in all modern browsers.\n\t//\n\t// - Android 4-4.3\n\t// - Chrome 26-34\n\t// - Firefox 14-29\n\t// - Internet Explorer 11\n\t// - iPad Safari 6-7.1\n\t// - iPhone Safari 7-7.1\n\t// - Safari 6-7\n\tif (typeof BrowserMutationObserver === \"function\") {\n\t requestFlush = makeRequestCallFromMutationObserver(flush);\n\t\n\t// MessageChannels are desirable because they give direct access to the HTML\n\t// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n\t// 11-12, and in web workers in many engines.\n\t// Although message channels yield to any queued rendering and IO tasks, they\n\t// would be better than imposing the 4ms delay of timers.\n\t// However, they do not work reliably in Internet Explorer or Safari.\n\t\n\t// Internet Explorer 10 is the only browser that has setImmediate but does\n\t// not have MutationObservers.\n\t// Although setImmediate yields to the browser's renderer, it would be\n\t// preferrable to falling back to setTimeout since it does not have\n\t// the minimum 4ms penalty.\n\t// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n\t// Desktop to a lesser extent) that renders both setImmediate and\n\t// MessageChannel useless for the purposes of ASAP.\n\t// https://github.com/kriskowal/q/issues/396\n\t\n\t// Timers are implemented universally.\n\t// We fall back to timers in workers in most engines, and in foreground\n\t// contexts in the following browsers.\n\t// However, note that even this simple case requires nuances to operate in a\n\t// broad spectrum of browsers.\n\t//\n\t// - Firefox 3-13\n\t// - Internet Explorer 6-9\n\t// - iPad Safari 4.3\n\t// - Lynx 2.8.7\n\t} else {\n\t requestFlush = makeRequestCallFromTimer(flush);\n\t}\n\t\n\t// `requestFlush` requests that the high priority event queue be flushed as\n\t// soon as possible.\n\t// This is useful to prevent an error thrown in a task from stalling the event\n\t// queue if the exception handled by Node.js’s\n\t// `process.on(\"uncaughtException\")` or by a domain.\n\trawAsap.requestFlush = requestFlush;\n\t\n\t// To request a high priority event, we induce a mutation observer by toggling\n\t// the text of a text node between \"1\" and \"-1\".\n\tfunction makeRequestCallFromMutationObserver(callback) {\n\t var toggle = 1;\n\t var observer = new BrowserMutationObserver(callback);\n\t var node = document.createTextNode(\"\");\n\t observer.observe(node, {characterData: true});\n\t return function requestCall() {\n\t toggle = -toggle;\n\t node.data = toggle;\n\t };\n\t}\n\t\n\t// The message channel technique was discovered by Malte Ubl and was the\n\t// original foundation for this library.\n\t// http://www.nonblocking.io/2011/06/windownexttick.html\n\t\n\t// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n\t// page's first load. Thankfully, this version of Safari supports\n\t// MutationObservers, so we don't need to fall back in that case.\n\t\n\t// function makeRequestCallFromMessageChannel(callback) {\n\t// var channel = new MessageChannel();\n\t// channel.port1.onmessage = callback;\n\t// return function requestCall() {\n\t// channel.port2.postMessage(0);\n\t// };\n\t// }\n\t\n\t// For reasons explained above, we are also unable to use `setImmediate`\n\t// under any circumstances.\n\t// Even if we were, there is another bug in Internet Explorer 10.\n\t// It is not sufficient to assign `setImmediate` to `requestFlush` because\n\t// `setImmediate` must be called *by name* and therefore must be wrapped in a\n\t// closure.\n\t// Never forget.\n\t\n\t// function makeRequestCallFromSetImmediate(callback) {\n\t// return function requestCall() {\n\t// setImmediate(callback);\n\t// };\n\t// }\n\t\n\t// Safari 6.0 has a problem where timers will get lost while the user is\n\t// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n\t// mutation observers, so that implementation is used instead.\n\t// However, if we ever elect to use timers in Safari, the prevalent work-around\n\t// is to add a scroll event listener that calls for a flush.\n\t\n\t// `setTimeout` does not call the passed callback if the delay is less than\n\t// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n\t// even then.\n\t\n\tfunction makeRequestCallFromTimer(callback) {\n\t return function requestCall() {\n\t // We dispatch a timeout with a specified delay of 0 for engines that\n\t // can reliably accommodate that request. This will usually be snapped\n\t // to a 4 milisecond delay, but once we're flushing, there's no delay\n\t // between events.\n\t var timeoutHandle = setTimeout(handleTimer, 0);\n\t // However, since this timer gets frequently dropped in Firefox\n\t // workers, we enlist an interval handle that will try to fire\n\t // an event 20 times per second until it succeeds.\n\t var intervalHandle = setInterval(handleTimer, 50);\n\t\n\t function handleTimer() {\n\t // Whichever timer succeeds will cancel both timers and\n\t // execute the callback.\n\t clearTimeout(timeoutHandle);\n\t clearInterval(intervalHandle);\n\t callback();\n\t }\n\t };\n\t}\n\t\n\t// This is for `asap.js` only.\n\t// Its name will be periodically randomized to break any code that depends on\n\t// its existence.\n\trawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\t\n\t// ASAP was originally a nextTick shim included in Q. This was factored out\n\t// into this ASAP package. It was later adapted to RSVP which made further\n\t// amendments. These decisions, particularly to marginalize MessageChannel and\n\t// to capture the MutationObserver implementation in a closure, were integrated\n\t// back into ASAP proper.\n\t// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(22);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\t/**\n\t * Represents a group of disposable resources that are disposed together.\n\t */\n\t\n\tvar CompositeDisposable = (function () {\n\t function CompositeDisposable() {\n\t for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n\t disposables[_key] = arguments[_key];\n\t }\n\t\n\t _classCallCheck(this, CompositeDisposable);\n\t\n\t if (Array.isArray(disposables[0]) && disposables.length === 1) {\n\t disposables = disposables[0];\n\t }\n\t\n\t for (var i = 0; i < disposables.length; i++) {\n\t if (!_isDisposable2['default'](disposables[i])) {\n\t throw new Error('Expected a disposable');\n\t }\n\t }\n\t\n\t this.disposables = disposables;\n\t this.isDisposed = false;\n\t }\n\t\n\t /**\n\t * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n\t * @param {Disposable} item Disposable to add.\n\t */\n\t\n\t CompositeDisposable.prototype.add = function add(item) {\n\t if (this.isDisposed) {\n\t item.dispose();\n\t } else {\n\t this.disposables.push(item);\n\t }\n\t };\n\t\n\t /**\n\t * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n\t * @param {Disposable} item Disposable to remove.\n\t * @returns {Boolean} true if found; false otherwise.\n\t */\n\t\n\t CompositeDisposable.prototype.remove = function remove(item) {\n\t if (this.isDisposed) {\n\t return false;\n\t }\n\t\n\t var index = this.disposables.indexOf(item);\n\t if (index === -1) {\n\t return false;\n\t }\n\t\n\t this.disposables.splice(index, 1);\n\t item.dispose();\n\t return true;\n\t };\n\t\n\t /**\n\t * Disposes all disposables in the group and removes them from the group.\n\t */\n\t\n\t CompositeDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t var len = this.disposables.length;\n\t var currentDisposables = new Array(len);\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i] = this.disposables[i];\n\t }\n\t\n\t this.isDisposed = true;\n\t this.disposables = [];\n\t this.length = 0;\n\t\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i].dispose();\n\t }\n\t };\n\t\n\t return CompositeDisposable;\n\t})();\n\t\n\texports['default'] = CompositeDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 81 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports.__esModule = true;\n\tvar noop = function noop() {};\n\t\n\t/**\n\t * The basic disposable.\n\t */\n\t\n\tvar Disposable = (function () {\n\t function Disposable(action) {\n\t _classCallCheck(this, Disposable);\n\t\n\t this.isDisposed = false;\n\t this.action = action || noop;\n\t }\n\t\n\t Disposable.prototype.dispose = function dispose() {\n\t if (!this.isDisposed) {\n\t this.action.call(null);\n\t this.isDisposed = true;\n\t }\n\t };\n\t\n\t _createClass(Disposable, null, [{\n\t key: \"empty\",\n\t enumerable: true,\n\t value: { dispose: noop }\n\t }]);\n\t\n\t return Disposable;\n\t})();\n\t\n\texports[\"default\"] = Disposable;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 82 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(22);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\tvar SerialDisposable = (function () {\n\t function SerialDisposable() {\n\t _classCallCheck(this, SerialDisposable);\n\t\n\t this.isDisposed = false;\n\t this.current = null;\n\t }\n\t\n\t /**\n\t * Gets the underlying disposable.\n\t * @return The underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.getDisposable = function getDisposable() {\n\t return this.current;\n\t };\n\t\n\t /**\n\t * Sets the underlying disposable.\n\t * @param {Disposable} value The new underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.setDisposable = function setDisposable() {\n\t var value = arguments[0] === undefined ? null : arguments[0];\n\t\n\t if (value != null && !_isDisposable2['default'](value)) {\n\t throw new Error('Expected either an empty value or a valid disposable');\n\t }\n\t\n\t var isDisposed = this.isDisposed;\n\t var previous = undefined;\n\t\n\t if (!isDisposed) {\n\t previous = this.current;\n\t this.current = value;\n\t }\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t\n\t if (isDisposed && value) {\n\t value.dispose();\n\t }\n\t };\n\t\n\t /**\n\t * Disposes the underlying disposable as well as all future replacements.\n\t */\n\t\n\t SerialDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t this.isDisposed = true;\n\t var previous = this.current;\n\t this.current = null;\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t };\n\t\n\t return SerialDisposable;\n\t})();\n\t\n\texports['default'] = SerialDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 83 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable2 = __webpack_require__(22);\n\t\n\tvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\t\n\texports.isDisposable = _isDisposable3['default'];\n\t\n\tvar _Disposable2 = __webpack_require__(81);\n\t\n\tvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\t\n\texports.Disposable = _Disposable3['default'];\n\t\n\tvar _CompositeDisposable2 = __webpack_require__(80);\n\t\n\tvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\t\n\texports.CompositeDisposable = _CompositeDisposable3['default'];\n\t\n\tvar _SerialDisposable2 = __webpack_require__(82);\n\t\n\tvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\t\n\texports.SerialDisposable = _SerialDisposable3['default'];\n\n/***/ },\n/* 84 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _reduxLibCreateStore = __webpack_require__(220);\n\t\n\tvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\t\n\tvar _reducers = __webpack_require__(91);\n\t\n\tvar _reducers2 = _interopRequireDefault(_reducers);\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\t\n\tvar _DragDropMonitor = __webpack_require__(85);\n\t\n\tvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\t\n\tvar _HandlerRegistry = __webpack_require__(41);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar DragDropManager = (function () {\n\t function DragDropManager(createBackend) {\n\t _classCallCheck(this, DragDropManager);\n\t\n\t var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\t\n\t this.store = store;\n\t this.monitor = new _DragDropMonitor2['default'](store);\n\t this.registry = this.monitor.registry;\n\t this.backend = createBackend(this);\n\t\n\t store.subscribe(this.handleRefCountChange.bind(this));\n\t }\n\t\n\t DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n\t var shouldSetUp = this.store.getState().refCount > 0;\n\t if (shouldSetUp && !this.isSetUp) {\n\t this.backend.setup();\n\t this.isSetUp = true;\n\t } else if (!shouldSetUp && this.isSetUp) {\n\t this.backend.teardown();\n\t this.isSetUp = false;\n\t }\n\t };\n\t\n\t DragDropManager.prototype.getMonitor = function getMonitor() {\n\t return this.monitor;\n\t };\n\t\n\t DragDropManager.prototype.getBackend = function getBackend() {\n\t return this.backend;\n\t };\n\t\n\t DragDropManager.prototype.getRegistry = function getRegistry() {\n\t return this.registry;\n\t };\n\t\n\t DragDropManager.prototype.getActions = function getActions() {\n\t var manager = this;\n\t var dispatch = this.store.dispatch;\n\t\n\t function bindActionCreator(actionCreator) {\n\t return function () {\n\t var action = actionCreator.apply(manager, arguments);\n\t if (typeof action !== 'undefined') {\n\t dispatch(action);\n\t }\n\t };\n\t }\n\t\n\t return Object.keys(dragDropActions).filter(function (key) {\n\t return typeof dragDropActions[key] === 'function';\n\t }).reduce(function (boundActions, key) {\n\t boundActions[key] = bindActionCreator(dragDropActions[key]);\n\t return boundActions;\n\t }, {});\n\t };\n\t\n\t return DragDropManager;\n\t})();\n\t\n\texports['default'] = DragDropManager;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 85 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsMatchesType = __webpack_require__(44);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _lodashIsArray = __webpack_require__(12);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _HandlerRegistry = __webpack_require__(41);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar _reducersDragOffset = __webpack_require__(43);\n\t\n\tvar _reducersDirtyHandlerIds = __webpack_require__(42);\n\t\n\tvar DragDropMonitor = (function () {\n\t function DragDropMonitor(store) {\n\t _classCallCheck(this, DragDropMonitor);\n\t\n\t this.store = store;\n\t this.registry = new _HandlerRegistry2['default'](store);\n\t }\n\t\n\t DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n\t var _this = this;\n\t\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var handlerIds = _ref.handlerIds;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\t\n\t var prevStateId = this.store.getState().stateId;\n\t var handleChange = function handleChange() {\n\t var state = _this.store.getState();\n\t var currentStateId = state.stateId;\n\t try {\n\t var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\t\n\t if (!canSkipListener) {\n\t listener();\n\t }\n\t } finally {\n\t prevStateId = currentStateId;\n\t }\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t\n\t var previousState = this.store.getState().dragOffset;\n\t var handleChange = function handleChange() {\n\t var nextState = _this2.store.getState().dragOffset;\n\t if (nextState === previousState) {\n\t return;\n\t }\n\t\n\t previousState = nextState;\n\t listener();\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n\t var source = this.registry.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (this.isDragging()) {\n\t return false;\n\t }\n\t\n\t return source.canDrag(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n\t var target = this.registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected to find a valid target.');\n\t\n\t if (!this.isDragging() || this.didDrop()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n\t };\n\t\n\t DragDropMonitor.prototype.isDragging = function isDragging() {\n\t return Boolean(this.getItemType());\n\t };\n\t\n\t DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n\t var source = this.registry.getSource(sourceId, true);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (!this.isDragging() || !this.isSourcePublic()) {\n\t return false;\n\t }\n\t\n\t var sourceType = this.registry.getSourceType(sourceId);\n\t var draggedItemType = this.getItemType();\n\t if (sourceType !== draggedItemType) {\n\t return false;\n\t }\n\t\n\t return source.isDragging(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$shallow = _ref2.shallow;\n\t var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\t\n\t if (!this.isDragging()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t return false;\n\t }\n\t\n\t var targetIds = this.getTargetIds();\n\t if (!targetIds.length) {\n\t return false;\n\t }\n\t\n\t var index = targetIds.indexOf(targetId);\n\t if (shallow) {\n\t return index === targetIds.length - 1;\n\t } else {\n\t return index > -1;\n\t }\n\t };\n\t\n\t DragDropMonitor.prototype.getItemType = function getItemType() {\n\t return this.store.getState().dragOperation.itemType;\n\t };\n\t\n\t DragDropMonitor.prototype.getItem = function getItem() {\n\t return this.store.getState().dragOperation.item;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceId = function getSourceId() {\n\t return this.store.getState().dragOperation.sourceId;\n\t };\n\t\n\t DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n\t return this.store.getState().dragOperation.targetIds;\n\t };\n\t\n\t DragDropMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.store.getState().dragOperation.dropResult;\n\t };\n\t\n\t DragDropMonitor.prototype.didDrop = function didDrop() {\n\t return this.store.getState().dragOperation.didDrop;\n\t };\n\t\n\t DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n\t return this.store.getState().dragOperation.isSourcePublic;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.store.getState().dragOffset.initialClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.store.getState().dragOffset.initialSourceClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.store.getState().dragOffset.clientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t return DragDropMonitor;\n\t})();\n\t\n\texports['default'] = DragDropMonitor;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 86 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DragSource = (function () {\n\t function DragSource() {\n\t _classCallCheck(this, DragSource);\n\t }\n\t\n\t DragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t DragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return DragSource;\n\t})();\n\t\n\texports[\"default\"] = DragSource;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 87 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DropTarget = (function () {\n\t function DropTarget() {\n\t _classCallCheck(this, DropTarget);\n\t }\n\t\n\t DropTarget.prototype.canDrop = function canDrop() {\n\t return true;\n\t };\n\t\n\t DropTarget.prototype.hover = function hover() {};\n\t\n\t DropTarget.prototype.drop = function drop() {};\n\t\n\t return DropTarget;\n\t})();\n\t\n\texports[\"default\"] = DropTarget;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 88 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createBackend;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashNoop = __webpack_require__(50);\n\t\n\tvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\t\n\tvar TestBackend = (function () {\n\t function TestBackend(manager) {\n\t _classCallCheck(this, TestBackend);\n\t\n\t this.actions = manager.getActions();\n\t }\n\t\n\t TestBackend.prototype.setup = function setup() {\n\t this.didCallSetup = true;\n\t };\n\t\n\t TestBackend.prototype.teardown = function teardown() {\n\t this.didCallTeardown = true;\n\t };\n\t\n\t TestBackend.prototype.connectDragSource = function connectDragSource() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n\t this.actions.beginDrag(sourceIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n\t this.actions.publishDragSource();\n\t };\n\t\n\t TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n\t this.actions.hover(targetIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulateDrop = function simulateDrop() {\n\t this.actions.drop();\n\t };\n\t\n\t TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n\t this.actions.endDrag();\n\t };\n\t\n\t return TestBackend;\n\t})();\n\t\n\tfunction createBackend(manager) {\n\t return new TestBackend(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 89 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropManager = __webpack_require__(84);\n\t\n\texports.DragDropManager = _interopRequire(_DragDropManager);\n\t\n\tvar _DragSource = __webpack_require__(86);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(87);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\t\n\tvar _backendsCreateTestBackend = __webpack_require__(88);\n\t\n\texports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n/***/ },\n/* 90 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports['default'] = dragOperation;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _actionsDragDrop = __webpack_require__(8);\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tvar _lodashWithout = __webpack_require__(135);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar initialState = {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t targetIds: [],\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null\n\t};\n\t\n\tfunction dragOperation(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return _extends({}, state, {\n\t itemType: action.itemType,\n\t item: action.item,\n\t sourceId: action.sourceId,\n\t isSourcePublic: action.isSourcePublic,\n\t dropResult: null,\n\t didDrop: false\n\t });\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t return _extends({}, state, {\n\t isSourcePublic: true\n\t });\n\t case _actionsDragDrop.HOVER:\n\t return _extends({}, state, {\n\t targetIds: action.targetIds\n\t });\n\t case _actionsRegistry.REMOVE_TARGET:\n\t if (state.targetIds.indexOf(action.targetId) === -1) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n\t });\n\t case _actionsDragDrop.DROP:\n\t return _extends({}, state, {\n\t dropResult: action.dropResult,\n\t didDrop: true,\n\t targetIds: []\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t return _extends({}, state, {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null,\n\t targetIds: []\n\t });\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 91 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _dragOffset = __webpack_require__(43);\n\t\n\tvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\t\n\tvar _dragOperation = __webpack_require__(90);\n\t\n\tvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\t\n\tvar _refCount = __webpack_require__(92);\n\t\n\tvar _refCount2 = _interopRequireDefault(_refCount);\n\t\n\tvar _dirtyHandlerIds = __webpack_require__(42);\n\t\n\tvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\t\n\tvar _stateId = __webpack_require__(93);\n\t\n\tvar _stateId2 = _interopRequireDefault(_stateId);\n\t\n\texports['default'] = function (state, action) {\n\t if (state === undefined) state = {};\n\t\n\t return {\n\t dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n\t dragOffset: _dragOffset2['default'](state.dragOffset, action),\n\t refCount: _refCount2['default'](state.refCount, action),\n\t dragOperation: _dragOperation2['default'](state.dragOperation, action),\n\t stateId: _stateId2['default'](state.stateId)\n\t };\n\t};\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 92 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = refCount;\n\t\n\tvar _actionsRegistry = __webpack_require__(9);\n\t\n\tfunction refCount(state, action) {\n\t if (state === undefined) state = 0;\n\t\n\t switch (action.type) {\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t return state + 1;\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t return state - 1;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 93 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = stateId;\n\t\n\tfunction stateId() {\n\t var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\t\n\t return state + 1;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 94 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = getNextUniqueId;\n\tvar nextUniqueId = 0;\n\t\n\tfunction getNextUniqueId() {\n\t return nextUniqueId++;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 95 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @returns {Object} Returns the new hash object.\n\t */\n\tfunction Hash() {}\n\t\n\t// Avoid inheriting from `Object.prototype` when possible.\n\tHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 96 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapClear = __webpack_require__(120),\n\t mapDelete = __webpack_require__(121),\n\t mapGet = __webpack_require__(122),\n\t mapHas = __webpack_require__(123),\n\t mapSet = __webpack_require__(124);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction MapCache(values) {\n\t var index = -1,\n\t length = values ? values.length : 0;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = values[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapClear;\n\tMapCache.prototype['delete'] = mapDelete;\n\tMapCache.prototype.get = mapGet;\n\tMapCache.prototype.has = mapHas;\n\tMapCache.prototype.set = mapSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 97 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(28),\n\t root = __webpack_require__(48);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 98 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t var length = args.length;\n\t switch (length) {\n\t case 0: return func.call(thisArg);\n\t case 1: return func.call(thisArg, args[0]);\n\t case 2: return func.call(thisArg, args[0], args[1]);\n\t case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t }\n\t return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ },\n/* 99 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.filter` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {Array} Returns the new filtered array.\n\t */\n\tfunction arrayFilter(array, predicate) {\n\t var index = -1,\n\t length = array.length,\n\t resIndex = 0,\n\t result = [];\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (predicate(value, index, array)) {\n\t result[resIndex++] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayFilter;\n\n\n/***/ },\n/* 100 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 101 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the associative array.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction assocDelete(array, key) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = array.length - 1;\n\t if (index == lastIndex) {\n\t array.pop();\n\t } else {\n\t splice.call(array, index, 1);\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = assocDelete;\n\n\n/***/ },\n/* 102 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Gets the associative array value for `key`.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction assocGet(array, key) {\n\t var index = assocIndexOf(array, key);\n\t return index < 0 ? undefined : array[index][1];\n\t}\n\t\n\tmodule.exports = assocGet;\n\n\n/***/ },\n/* 103 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Checks if an associative array value for `key` exists.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction assocHas(array, key) {\n\t return assocIndexOf(array, key) > -1;\n\t}\n\t\n\tmodule.exports = assocHas;\n\n\n/***/ },\n/* 104 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(10);\n\t\n\t/**\n\t * Sets the associative array `key` to `value`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction assocSet(array, key, value) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t array.push([key, value]);\n\t } else {\n\t array[index][1] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assocSet;\n\n\n/***/ },\n/* 105 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar indexOfNaN = __webpack_require__(118);\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t if (value !== value) {\n\t return indexOfNaN(array, fromIndex);\n\t }\n\t var index = fromIndex - 1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 106 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t arrayMap = __webpack_require__(26),\n\t baseUnary = __webpack_require__(46),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMin = Math.min;\n\t\n\t/**\n\t * The base implementation of methods like `_.intersection`, without support\n\t * for iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of shared values.\n\t */\n\tfunction baseIntersection(arrays, iteratee, comparator) {\n\t var includes = comparator ? arrayIncludesWith : arrayIncludes,\n\t length = arrays[0].length,\n\t othLength = arrays.length,\n\t othIndex = othLength,\n\t caches = Array(othLength),\n\t maxLength = Infinity,\n\t result = [];\n\t\n\t while (othIndex--) {\n\t var array = arrays[othIndex];\n\t if (othIndex && iteratee) {\n\t array = arrayMap(array, baseUnary(iteratee));\n\t }\n\t maxLength = nativeMin(array.length, maxLength);\n\t caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n\t ? new SetCache(othIndex && array)\n\t : undefined;\n\t }\n\t array = arrays[0];\n\t\n\t var index = -1,\n\t seen = caches[0];\n\t\n\t outer:\n\t while (++index < length && result.length < maxLength) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (!(seen\n\t ? cacheHas(seen, computed)\n\t : includes(result, computed, comparator)\n\t )) {\n\t othIndex = othLength;\n\t while (--othIndex) {\n\t var cache = caches[othIndex];\n\t if (!(cache\n\t ? cacheHas(cache, computed)\n\t : includes(arrays[othIndex], computed, comparator))\n\t ) {\n\t continue outer;\n\t }\n\t }\n\t if (seen) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIntersection;\n\n\n/***/ },\n/* 107 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 108 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(23),\n\t arrayIncludes = __webpack_require__(24),\n\t arrayIncludesWith = __webpack_require__(25),\n\t cacheHas = __webpack_require__(27),\n\t createSet = __webpack_require__(113),\n\t setToArray = __webpack_require__(125);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new duplicate free array.\n\t */\n\tfunction baseUniq(array, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t length = array.length,\n\t isCommon = true,\n\t result = [],\n\t seen = result;\n\t\n\t if (comparator) {\n\t isCommon = false;\n\t includes = arrayIncludesWith;\n\t }\n\t else if (length >= LARGE_ARRAY_SIZE) {\n\t var set = iteratee ? null : createSet(array);\n\t if (set) {\n\t return setToArray(set);\n\t }\n\t isCommon = false;\n\t includes = cacheHas;\n\t seen = new SetCache;\n\t }\n\t else {\n\t seen = iteratee ? [] : result;\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var seenIndex = seen.length;\n\t while (seenIndex--) {\n\t if (seen[seenIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t if (iteratee) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(seen, computed, comparator)) {\n\t if (seen !== result) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 109 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(100),\n\t baseDifference = __webpack_require__(45),\n\t baseUniq = __webpack_require__(108);\n\t\n\t/**\n\t * The base implementation of methods like `_.xor`, without support for\n\t * iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of values.\n\t */\n\tfunction baseXor(arrays, iteratee, comparator) {\n\t var index = -1,\n\t length = arrays.length;\n\t\n\t while (++index < length) {\n\t var result = result\n\t ? arrayPush(\n\t baseDifference(result, arrays[index], iteratee, comparator),\n\t baseDifference(arrays[index], result, iteratee, comparator)\n\t )\n\t : arrays[index];\n\t }\n\t return (result && result.length) ? baseUniq(result, iteratee, comparator) : [];\n\t}\n\t\n\tmodule.exports = baseXor;\n\n\n/***/ },\n/* 110 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(3);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the set cache.\n\t *\n\t * @private\n\t * @name push\n\t * @memberOf SetCache\n\t * @param {*} value The value to cache.\n\t */\n\tfunction cachePush(value) {\n\t var map = this.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t hash[value] = HASH_UNDEFINED;\n\t }\n\t else {\n\t map.set(value, HASH_UNDEFINED);\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 111 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLikeObject = __webpack_require__(29);\n\t\n\t/**\n\t * Casts `value` to an empty array if it's not an array like object.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {Array|Object} Returns the cast array-like object.\n\t */\n\tfunction castArrayLikeObject(value) {\n\t return isArrayLikeObject(value) ? value : [];\n\t}\n\t\n\tmodule.exports = castArrayLikeObject;\n\n\n/***/ },\n/* 112 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a global object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n\t */\n\tfunction checkGlobal(value) {\n\t return (value && value.Object === Object) ? value : null;\n\t}\n\t\n\tmodule.exports = checkGlobal;\n\n\n/***/ },\n/* 113 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(97),\n\t noop = __webpack_require__(50);\n\t\n\t/**\n\t * Creates a set of `values`.\n\t *\n\t * @private\n\t * @param {Array} values The values to add to the set.\n\t * @returns {Object} Returns the new set.\n\t */\n\tvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n\t return new Set(values);\n\t};\n\t\n\tmodule.exports = createSet;\n\n\n/***/ },\n/* 114 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(107);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a\n\t * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n\t * Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 115 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashHas = __webpack_require__(47);\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(hash, key) {\n\t return hashHas(hash, key) && delete hash[key];\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 116 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(hash, key) {\n\t if (nativeCreate) {\n\t var result = hash[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 117 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(11);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction hashSet(hash, key, value) {\n\t hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 118 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the index at which the first occurrence of `NaN` is found in `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {number} fromIndex The index to search from.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n\t */\n\tfunction indexOfNaN(array, fromIndex, fromRight) {\n\t var length = array.length,\n\t index = fromIndex + (fromRight ? 0 : -1);\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var other = array[index];\n\t if (other !== other) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = indexOfNaN;\n\n\n/***/ },\n/* 119 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 120 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(95),\n\t Map = __webpack_require__(6);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': Map ? new Map : [],\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapClear;\n\n\n/***/ },\n/* 121 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocDelete = __webpack_require__(101),\n\t hashDelete = __webpack_require__(115),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapDelete(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n\t}\n\t\n\tmodule.exports = mapDelete;\n\n\n/***/ },\n/* 122 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocGet = __webpack_require__(102),\n\t hashGet = __webpack_require__(116),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapGet(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.get(key) : assocGet(data.map, key);\n\t}\n\t\n\tmodule.exports = mapGet;\n\n\n/***/ },\n/* 123 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocHas = __webpack_require__(103),\n\t hashHas = __webpack_require__(47),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapHas(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.has(key) : assocHas(data.map, key);\n\t}\n\t\n\tmodule.exports = mapHas;\n\n\n/***/ },\n/* 124 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(6),\n\t assocSet = __webpack_require__(104),\n\t hashSet = __webpack_require__(117),\n\t isKeyable = __webpack_require__(3);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapSet(key, value) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n\t } else if (Map) {\n\t data.map.set(key, value);\n\t } else {\n\t assocSet(data.map, key, value);\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = mapSet;\n\n\n/***/ },\n/* 125 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 126 */\n/***/ function(module, exports) {\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 127 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t * var other = { 'user': 'fred' };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 128 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayMap = __webpack_require__(26),\n\t baseIntersection = __webpack_require__(106),\n\t castArrayLikeObject = __webpack_require__(111),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array of unique values that are included in all given arrays\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons. The order of result values is determined by the\n\t * order they occur in the first array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of intersecting values.\n\t * @example\n\t *\n\t * _.intersection([2, 1], [4, 2], [1, 2]);\n\t * // => [2]\n\t */\n\tvar intersection = rest(function(arrays) {\n\t var mapped = arrayMap(arrays, castArrayLikeObject);\n\t return (mapped.length && mapped[0] === arrays[0])\n\t ? baseIntersection(mapped)\n\t : [];\n\t});\n\t\n\tmodule.exports = intersection;\n\n\n/***/ },\n/* 129 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getLength = __webpack_require__(114),\n\t isFunction = __webpack_require__(30),\n\t isLength = __webpack_require__(130);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(getLength(value)) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 130 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 131 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(30),\n\t isHostObject = __webpack_require__(119),\n\t isObject = __webpack_require__(13),\n\t toSource = __webpack_require__(126);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 132 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObjectLike = __webpack_require__(49);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return typeof value == 'symbol' ||\n\t (isObjectLike(value) && objectToString.call(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ },\n/* 133 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toNumber = __webpack_require__(134);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0,\n\t MAX_INTEGER = 1.7976931348623157e+308;\n\t\n\t/**\n\t * Converts `value` to an integer.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {number} Returns the converted integer.\n\t * @example\n\t *\n\t * _.toInteger(3);\n\t * // => 3\n\t *\n\t * _.toInteger(Number.MIN_VALUE);\n\t * // => 0\n\t *\n\t * _.toInteger(Infinity);\n\t * // => 1.7976931348623157e+308\n\t *\n\t * _.toInteger('3');\n\t * // => 3\n\t */\n\tfunction toInteger(value) {\n\t if (!value) {\n\t return value === 0 ? value : 0;\n\t }\n\t value = toNumber(value);\n\t if (value === INFINITY || value === -INFINITY) {\n\t var sign = (value < 0 ? -1 : 1);\n\t return sign * MAX_INTEGER;\n\t }\n\t var remainder = value % 1;\n\t return value === value ? (remainder ? value - remainder : value) : 0;\n\t}\n\t\n\tmodule.exports = toInteger;\n\n\n/***/ },\n/* 134 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(30),\n\t isObject = __webpack_require__(13),\n\t isSymbol = __webpack_require__(132);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3);\n\t * // => 3\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3');\n\t * // => 3\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = isFunction(value.valueOf) ? value.valueOf() : value;\n\t value = isObject(other) ? (other + '') : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return (isBinary || reIsOctal.test(value))\n\t ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\t\n\tmodule.exports = toNumber;\n\n\n/***/ },\n/* 135 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(45),\n\t isArrayLikeObject = __webpack_require__(29),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array excluding all given values using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {Array} array The array to filter.\n\t * @param {...*} [values] The values to exclude.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @example\n\t *\n\t * _.without([1, 2, 1, 3], 1, 2);\n\t * // => [3]\n\t */\n\tvar without = rest(function(array, values) {\n\t return isArrayLikeObject(array)\n\t ? baseDifference(array, values)\n\t : [];\n\t});\n\t\n\tmodule.exports = without;\n\n\n/***/ },\n/* 136 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayFilter = __webpack_require__(99),\n\t baseXor = __webpack_require__(109),\n\t isArrayLikeObject = __webpack_require__(29),\n\t rest = __webpack_require__(31);\n\t\n\t/**\n\t * Creates an array of unique values that is the\n\t * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n\t * of the given arrays. The order of result values is determined by the order\n\t * they occur in the arrays.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of values.\n\t * @example\n\t *\n\t * _.xor([2, 1], [4, 2]);\n\t * // => [1, 4]\n\t */\n\tvar xor = rest(function(arrays) {\n\t return baseXor(arrayFilter(arrays, isArrayLikeObject));\n\t});\n\t\n\tmodule.exports = xor;\n\n\n/***/ },\n/* 137 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t if (false) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\t\n\tmodule.exports = invariant;\n\n/***/ },\n/* 138 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t */\n\t\n\t/**\n\t * Allows extraction of a minified key. Let's the build system minify keys\n\t * without losing the ability to dynamically use key strings as values\n\t * themselves. Pass in an object with a single key/val pair and it will return\n\t * you the string key of that single record. Suppose you want to grab the\n\t * value for a key 'className' inside of an object. Key/val minification may\n\t * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n\t * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n\t * reuse those resolutions.\n\t */\n\tvar keyOf = function (oneKeyObj) {\n\t var key;\n\t for (key in oneKeyObj) {\n\t if (!oneKeyObj.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t return key;\n\t }\n\t return null;\n\t};\n\t\n\tmodule.exports = keyOf;\n\n/***/ },\n/* 139 */\n/***/ function(module, exports) {\n\n\t/* eslint-disable no-unused-vars */\n\t'use strict';\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tmodule.exports = Object.assign || function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (Object.getOwnPropertySymbols) {\n\t\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\n\n/***/ },\n/* 140 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashUnion = __webpack_require__(200);\n\t\n\tvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\t\n\tvar _lodashWithout = __webpack_require__(201);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar EnterLeaveCounter = (function () {\n\t function EnterLeaveCounter() {\n\t _classCallCheck(this, EnterLeaveCounter);\n\t\n\t this.entered = [];\n\t }\n\t\n\t EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n\t }), [enteringNode]);\n\t\n\t return previousLength === 0 && this.entered.length > 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node);\n\t }), leavingNode);\n\t\n\t return previousLength > 0 && this.entered.length === 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.reset = function reset() {\n\t this.entered = [];\n\t };\n\t\n\t return EnterLeaveCounter;\n\t})();\n\t\n\texports['default'] = EnterLeaveCounter;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 141 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashDefaults = __webpack_require__(191);\n\t\n\tvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\t\n\tvar _shallowEqual = __webpack_require__(147);\n\t\n\tvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\t\n\tvar _EnterLeaveCounter = __webpack_require__(140);\n\t\n\tvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\t\n\tvar _BrowserDetector = __webpack_require__(51);\n\t\n\tvar _OffsetUtils = __webpack_require__(144);\n\t\n\tvar _NativeDragSources = __webpack_require__(143);\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tvar HTML5Backend = (function () {\n\t function HTML5Backend(manager) {\n\t _classCallCheck(this, HTML5Backend);\n\t\n\t this.actions = manager.getActions();\n\t this.monitor = manager.getMonitor();\n\t this.registry = manager.getRegistry();\n\t\n\t this.sourcePreviewNodes = {};\n\t this.sourcePreviewNodeOptions = {};\n\t this.sourceNodes = {};\n\t this.sourceNodeOptions = {};\n\t this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\t\n\t this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n\t this.handleTopDragStart = this.handleTopDragStart.bind(this);\n\t this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n\t this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n\t this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n\t this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n\t this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n\t this.handleTopDragOver = this.handleTopDragOver.bind(this);\n\t this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n\t this.handleTopDrop = this.handleTopDrop.bind(this);\n\t this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n\t this.handleSelectStart = this.handleSelectStart.bind(this);\n\t this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n\t this.endDragNativeItem = this.endDragNativeItem.bind(this);\n\t }\n\t\n\t HTML5Backend.prototype.setup = function setup() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t if (this.constructor.isSetUp) {\n\t throw new Error('Cannot have two HTML5 backends at the same time.');\n\t }\n\t this.constructor.isSetUp = true;\n\t this.addEventListeners(window);\n\t };\n\t\n\t HTML5Backend.prototype.teardown = function teardown() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t this.constructor.isSetUp = false;\n\t this.removeEventListeners(window);\n\t this.clearCurrentDragSourceNode();\n\t };\n\t\n\t HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n\t target.addEventListener('dragstart', this.handleTopDragStart);\n\t target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.addEventListener('dragenter', this.handleTopDragEnter);\n\t target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.addEventListener('dragover', this.handleTopDragOver);\n\t target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.addEventListener('drop', this.handleTopDrop);\n\t target.addEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n\t target.removeEventListener('dragstart', this.handleTopDragStart);\n\t target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.removeEventListener('dragenter', this.handleTopDragEnter);\n\t target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.removeEventListener('dragover', this.handleTopDragOver);\n\t target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.removeEventListener('drop', this.handleTopDrop);\n\t target.removeEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n\t var _this = this;\n\t\n\t this.sourcePreviewNodeOptions[sourceId] = options;\n\t this.sourcePreviewNodes[sourceId] = node;\n\t\n\t return function () {\n\t delete _this.sourcePreviewNodes[sourceId];\n\t delete _this.sourcePreviewNodeOptions[sourceId];\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n\t var _this2 = this;\n\t\n\t this.sourceNodes[sourceId] = node;\n\t this.sourceNodeOptions[sourceId] = options;\n\t\n\t var handleDragStart = function handleDragStart(e) {\n\t return _this2.handleDragStart(e, sourceId);\n\t };\n\t var handleSelectStart = function handleSelectStart(e) {\n\t return _this2.handleSelectStart(e, sourceId);\n\t };\n\t\n\t node.setAttribute('draggable', true);\n\t node.addEventListener('dragstart', handleDragStart);\n\t node.addEventListener('selectstart', handleSelectStart);\n\t\n\t return function () {\n\t delete _this2.sourceNodes[sourceId];\n\t delete _this2.sourceNodeOptions[sourceId];\n\t\n\t node.removeEventListener('dragstart', handleDragStart);\n\t node.removeEventListener('selectstart', handleSelectStart);\n\t node.setAttribute('draggable', false);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n\t var _this3 = this;\n\t\n\t var handleDragEnter = function handleDragEnter(e) {\n\t return _this3.handleDragEnter(e, targetId);\n\t };\n\t var handleDragOver = function handleDragOver(e) {\n\t return _this3.handleDragOver(e, targetId);\n\t };\n\t var handleDrop = function handleDrop(e) {\n\t return _this3.handleDrop(e, targetId);\n\t };\n\t\n\t node.addEventListener('dragenter', handleDragEnter);\n\t node.addEventListener('dragover', handleDragOver);\n\t node.addEventListener('drop', handleDrop);\n\t\n\t return function () {\n\t node.removeEventListener('dragenter', handleDragEnter);\n\t node.removeEventListener('dragover', handleDragOver);\n\t node.removeEventListener('drop', handleDrop);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n\t dropEffect: 'move'\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n\t if (this.isDraggingNativeItem()) {\n\t // It makes more sense to default to 'copy' for native resources\n\t return 'copy';\n\t }\n\t\n\t return this.getCurrentSourceNodeOptions().dropEffect;\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n\t anchorX: 0.5,\n\t anchorY: 0.5,\n\t captureDraggingState: false\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n\t return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n\t };\n\t\n\t HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n\t var itemType = this.monitor.getItemType();\n\t return Object.keys(NativeTypes).some(function (key) {\n\t return NativeTypes[key] === itemType;\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n\t this.clearCurrentDragSourceNode();\n\t\n\t var SourceType = _NativeDragSources.createNativeDragSource(type);\n\t this.currentNativeSource = new SourceType();\n\t this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n\t this.actions.beginDrag([this.currentNativeHandle]);\n\t\n\t // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n\t // This is not true for other browsers.\n\t if (_BrowserDetector.isFirefox()) {\n\t window.addEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n\t if (!this.isDraggingNativeItem()) {\n\t return;\n\t }\n\t\n\t if (_BrowserDetector.isFirefox()) {\n\t window.removeEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t\n\t this.actions.endDrag();\n\t this.registry.removeSource(this.currentNativeHandle);\n\t this.currentNativeHandle = null;\n\t this.currentNativeSource = null;\n\t };\n\t\n\t HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n\t var node = this.currentDragSourceNode;\n\t if (document.body.contains(node)) {\n\t return;\n\t }\n\t\n\t if (this.clearCurrentDragSourceNode()) {\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n\t this.clearCurrentDragSourceNode();\n\t this.currentDragSourceNode = node;\n\t this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t\n\t // Receiving a mouse event in the middle of a dragging operation\n\t // means it has ended and the drag source node disappeared from DOM,\n\t // so the browser didn't dispatch the dragend event.\n\t window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t };\n\t\n\t HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n\t if (this.currentDragSourceNode) {\n\t this.currentDragSourceNode = null;\n\t this.currentDragSourceNodeOffset = null;\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t return true;\n\t }\n\t\n\t return false;\n\t };\n\t\n\t HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n\t var node = this.currentDragSourceNode;\n\t if (!node) {\n\t return false;\n\t }\n\t\n\t if (this.currentDragSourceNodeOffsetChanged) {\n\t return true;\n\t }\n\t\n\t this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\t\n\t return this.currentDragSourceNodeOffsetChanged;\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n\t this.clearCurrentDragSourceNode();\n\t this.dragStartSourceIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n\t this.dragStartSourceIds.unshift(sourceId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n\t var _this4 = this;\n\t\n\t var dragStartSourceIds = this.dragStartSourceIds;\n\t\n\t this.dragStartSourceIds = null;\n\t\n\t var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\t\n\t // Don't publish the source just yet (see why below)\n\t this.actions.beginDrag(dragStartSourceIds, {\n\t publishSource: false,\n\t getSourceClientOffset: this.getSourceClientOffset,\n\t clientOffset: clientOffset\n\t });\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (this.monitor.isDragging()) {\n\t if (typeof dataTransfer.setDragImage === 'function') {\n\t // Use custom drag image if user specifies it.\n\t // If child drag source refuses drag but parent agrees,\n\t // use parent's node as drag image. Neither works in IE though.\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNode = this.sourceNodes[sourceId];\n\t var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\t\n\t var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n\t var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\t\n\t var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n\t var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n\t dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n\t }\n\t\n\t try {\n\t // Firefox won't drag without setting data\n\t dataTransfer.setData('application/json', {});\n\t } catch (err) {}\n\t // IE doesn't support MIME types in setData\n\t\n\t // Store drag source node so we can check whether\n\t // it is removed from DOM and trigger endDrag manually.\n\t this.setCurrentDragSourceNode(e.target);\n\t\n\t // Now we are ready to publish the drag source.. or are we not?\n\t\n\t var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\t\n\t if (!captureDraggingState) {\n\t // Usually we want to publish it in the next tick so that browser\n\t // is able to screenshot the current (not yet dragging) state.\n\t //\n\t // It also neatly avoids a situation where render() returns null\n\t // in the same tick for the source element, and browser freaks out.\n\t setTimeout(function () {\n\t return _this4.actions.publishDragSource();\n\t });\n\t } else {\n\t // In some cases the user may want to override this behavior, e.g.\n\t // to work around IE not supporting custom drag previews.\n\t //\n\t // When using a custom drag layer, the only way to prevent\n\t // the default drag preview from drawing in IE is to screenshot\n\t // the dragging state in which the node itself has zero opacity\n\t // and height. In this case, though, returning null from render()\n\t // will abruptly end the dragging, which is not obvious.\n\t //\n\t // This is the reason such behavior is strictly opt-in.\n\t this.actions.publishDragSource();\n\t }\n\t } else if (nativeType) {\n\t // A native item (such as URL) dragged from inside the document\n\t this.beginDragNativeItem(nativeType);\n\t } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n\t // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n\t // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n\t return;\n\t } else {\n\t // If by this time no drag source reacted, tell browser not to drag.\n\t e.preventDefault();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n\t if (this.clearCurrentDragSourceNode()) {\n\t // Firefox can dispatch this event in an infinite loop\n\t // if dragend handler does something like showing an alert.\n\t // Only proceed if we have not handled it already.\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n\t this.dragEnterTargetIds = [];\n\t\n\t var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n\t if (!isFirstEnter || this.monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (nativeType) {\n\t // A native item (such as file or URL) dragged from outside the document\n\t this.beginDragNativeItem(nativeType);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n\t this.dragEnterTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n\t var _this5 = this;\n\t\n\t var dragEnterTargetIds = this.dragEnterTargetIds;\n\t\n\t this.dragEnterTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t return;\n\t }\n\t\n\t if (!_BrowserDetector.isFirefox()) {\n\t // Don't emit hover in `dragenter` on Firefox due to an edge case.\n\t // If the target changes position as the result of `dragenter`, Firefox\n\t // will still happily dispatch `dragover` despite target being no longer\n\t // there. The easy solution is to only fire `hover` in `dragover` on FF.\n\t this.actions.hover(dragEnterTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t }\n\t\n\t var canDrop = dragEnterTargetIds.some(function (targetId) {\n\t return _this5.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // IE requires this to fire dragover events\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n\t this.dragOverTargetIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n\t this.dragOverTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n\t var _this6 = this;\n\t\n\t var dragOverTargetIds = this.dragOverTargetIds;\n\t\n\t this.dragOverTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t // Prevent default \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t return;\n\t }\n\t\n\t this.actions.hover(dragOverTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t\n\t var canDrop = dragOverTargetIds.some(function (targetId) {\n\t return _this6.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // Show user-specified drop effect.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t } else if (this.isDraggingNativeItem()) {\n\t // Don't show a nice cursor but still prevent default\n\t // \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t } else if (this.checkIfCurrentDragSourceRectChanged()) {\n\t // Prevent animating to incorrect position.\n\t // Drop effect must be other than 'none' to prevent animation.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'move';\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n\t if (this.isDraggingNativeItem()) {\n\t e.preventDefault();\n\t }\n\t\n\t var isLastLeave = this.enterLeaveCounter.leave(e.target);\n\t if (!isLastLeave) {\n\t return;\n\t }\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n\t this.dropTargetIds = [];\n\t e.preventDefault();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n\t }\n\t\n\t this.enterLeaveCounter.reset();\n\t };\n\t\n\t HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n\t this.dropTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n\t var dropTargetIds = this.dropTargetIds;\n\t\n\t this.dropTargetIds = [];\n\t\n\t this.actions.hover(dropTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t this.actions.drop();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t } else {\n\t this.endDragIfSourceWasRemovedFromDOM();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n\t var target = e.target;\n\t\n\t // Only IE requires us to explicitly say\n\t // we want drag drop operation to start\n\t if (typeof target.dragDrop !== 'function') {\n\t return;\n\t }\n\t\n\t // Inputs and textareas should be selectable\n\t if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n\t return;\n\t }\n\t\n\t // For other targets, ask IE\n\t // to enable drag and drop\n\t e.preventDefault();\n\t target.dragDrop();\n\t };\n\t\n\t return HTML5Backend;\n\t})();\n\t\n\texports['default'] = HTML5Backend;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 142 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar MonotonicInterpolant = (function () {\n\t function MonotonicInterpolant(xs, ys) {\n\t _classCallCheck(this, MonotonicInterpolant);\n\t\n\t var length = xs.length;\n\t\n\t // Rearrange xs and ys so that xs is sorted\n\t var indexes = [];\n\t for (var i = 0; i < length; i++) {\n\t indexes.push(i);\n\t }\n\t indexes.sort(function (a, b) {\n\t return xs[a] < xs[b] ? -1 : 1;\n\t });\n\t\n\t // Get consecutive differences and slopes\n\t var dys = [];\n\t var dxs = [];\n\t var ms = [];\n\t var dx = undefined;\n\t var dy = undefined;\n\t for (var i = 0; i < length - 1; i++) {\n\t dx = xs[i + 1] - xs[i];\n\t dy = ys[i + 1] - ys[i];\n\t dxs.push(dx);\n\t dys.push(dy);\n\t ms.push(dy / dx);\n\t }\n\t\n\t // Get degree-1 coefficients\n\t var c1s = [ms[0]];\n\t for (var i = 0; i < dxs.length - 1; i++) {\n\t var _m = ms[i];\n\t var mNext = ms[i + 1];\n\t if (_m * mNext <= 0) {\n\t c1s.push(0);\n\t } else {\n\t dx = dxs[i];\n\t var dxNext = dxs[i + 1];\n\t var common = dx + dxNext;\n\t c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n\t }\n\t }\n\t c1s.push(ms[ms.length - 1]);\n\t\n\t // Get degree-2 and degree-3 coefficients\n\t var c2s = [];\n\t var c3s = [];\n\t var m = undefined;\n\t for (var i = 0; i < c1s.length - 1; i++) {\n\t m = ms[i];\n\t var c1 = c1s[i];\n\t var invDx = 1 / dxs[i];\n\t var common = c1 + c1s[i + 1] - m - m;\n\t c2s.push((m - c1 - common) * invDx);\n\t c3s.push(common * invDx * invDx);\n\t }\n\t\n\t this.xs = xs;\n\t this.ys = ys;\n\t this.c1s = c1s;\n\t this.c2s = c2s;\n\t this.c3s = c3s;\n\t }\n\t\n\t MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n\t var xs = this.xs;\n\t var ys = this.ys;\n\t var c1s = this.c1s;\n\t var c2s = this.c2s;\n\t var c3s = this.c3s;\n\t\n\t // The rightmost point in the dataset should give an exact result\n\t var i = xs.length - 1;\n\t if (x === xs[i]) {\n\t return ys[i];\n\t }\n\t\n\t // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n\t var low = 0;\n\t var high = c3s.length - 1;\n\t var mid = undefined;\n\t while (low <= high) {\n\t mid = Math.floor(0.5 * (low + high));\n\t var xHere = xs[mid];\n\t if (xHere < x) {\n\t low = mid + 1;\n\t } else if (xHere > x) {\n\t high = mid - 1;\n\t } else {\n\t return ys[mid];\n\t }\n\t }\n\t i = Math.max(0, high);\n\t\n\t // Interpolate\n\t var diff = x - xs[i];\n\t var diffSq = diff * diff;\n\t return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n\t };\n\t\n\t return MonotonicInterpolant;\n\t})();\n\t\n\texports[\"default\"] = MonotonicInterpolant;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 143 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _nativeTypesConfig;\n\t\n\texports.createNativeDragSource = createNativeDragSource;\n\texports.matchNativeItemType = matchNativeItemType;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n\t var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n\t return resultSoFar || dataTransfer.getData(typeToTry);\n\t }, null);\n\t\n\t return result != null ? // eslint-disable-line eqeqeq\n\t result : defaultValue;\n\t}\n\t\n\tvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n\t exposeProperty: 'files',\n\t matchesTypes: ['Files'],\n\t getData: function getData(dataTransfer) {\n\t return Array.prototype.slice.call(dataTransfer.files);\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n\t exposeProperty: 'urls',\n\t matchesTypes: ['Url', 'text/uri-list'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n\t exposeProperty: 'text',\n\t matchesTypes: ['Text', 'text/plain'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n\t }\n\t}), _nativeTypesConfig);\n\t\n\tfunction createNativeDragSource(type) {\n\t var _nativeTypesConfig$type = nativeTypesConfig[type];\n\t var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n\t var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n\t var getData = _nativeTypesConfig$type.getData;\n\t\n\t return (function () {\n\t function NativeDragSource() {\n\t _classCallCheck(this, NativeDragSource);\n\t\n\t this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n\t get: function get() {\n\t console.warn( // eslint-disable-line no-console\n\t 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n\t return null;\n\t },\n\t configurable: true,\n\t enumerable: true\n\t }));\n\t }\n\t\n\t NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n\t delete this.item[exposeProperty];\n\t this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n\t };\n\t\n\t NativeDragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t NativeDragSource.prototype.beginDrag = function beginDrag() {\n\t return this.item;\n\t };\n\t\n\t NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t NativeDragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return NativeDragSource;\n\t })();\n\t}\n\t\n\tfunction matchNativeItemType(dataTransfer) {\n\t var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\t\n\t return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n\t var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\t\n\t return matchesTypes.some(function (t) {\n\t return dataTransferTypes.indexOf(t) > -1;\n\t });\n\t })[0] || null;\n\t}\n\n/***/ },\n/* 144 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.getNodeClientOffset = getNodeClientOffset;\n\texports.getEventClientOffset = getEventClientOffset;\n\texports.getDragPreviewOffset = getDragPreviewOffset;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _BrowserDetector = __webpack_require__(51);\n\t\n\tvar _MonotonicInterpolant = __webpack_require__(142);\n\t\n\tvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\t\n\tvar ELEMENT_NODE = 1;\n\t\n\tfunction getNodeClientOffset(node) {\n\t var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\t\n\t if (!el) {\n\t return null;\n\t }\n\t\n\t var _el$getBoundingClientRect = el.getBoundingClientRect();\n\t\n\t var top = _el$getBoundingClientRect.top;\n\t var left = _el$getBoundingClientRect.left;\n\t\n\t return { x: left, y: top };\n\t}\n\t\n\tfunction getEventClientOffset(e) {\n\t return {\n\t x: e.clientX,\n\t y: e.clientY\n\t };\n\t}\n\t\n\tfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n\t // The browsers will use the image intrinsic size under different conditions.\n\t // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n\t var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n\t var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\t\n\t var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n\t var offsetFromDragPreview = {\n\t x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n\t y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n\t };\n\t\n\t var sourceWidth = sourceNode.offsetWidth;\n\t var sourceHeight = sourceNode.offsetHeight;\n\t var anchorX = anchorPoint.anchorX;\n\t var anchorY = anchorPoint.anchorY;\n\t\n\t var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n\t var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\t\n\t // Work around @2x coordinate discrepancies in browsers\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t dragPreviewHeight /= window.devicePixelRatio;\n\t dragPreviewWidth /= window.devicePixelRatio;\n\t } else if (_BrowserDetector.isFirefox() && !isImage) {\n\t dragPreviewHeight *= window.devicePixelRatio;\n\t dragPreviewWidth *= window.devicePixelRatio;\n\t }\n\t\n\t // Interpolate coordinates depending on anchor point\n\t // If you know a simpler way to do this, let me know\n\t var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the left\n\t offsetFromDragPreview.x,\n\t // Align at the center\n\t offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n\t // Dock to the right\n\t offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n\t var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the top\n\t offsetFromDragPreview.y,\n\t // Align at the center\n\t offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n\t // Dock to the bottom\n\t offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n\t var x = interpolantX.interpolate(anchorX);\n\t var y = interpolantY.interpolate(anchorY);\n\t\n\t // Work around Safari 8 positioning bug\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t // We'll have to wait for @3x to see if this is entirely correct\n\t y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n\t }\n\t\n\t return { x: x, y: y };\n\t}\n\n/***/ },\n/* 145 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = getEmptyImage;\n\tvar emptyImage = undefined;\n\t\n\tfunction getEmptyImage() {\n\t if (!emptyImage) {\n\t emptyImage = new Image();\n\t emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\t }\n\t\n\t return emptyImage;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 146 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createHTML5Backend;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _HTML5Backend = __webpack_require__(141);\n\t\n\tvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\t\n\tvar _getEmptyImage = __webpack_require__(145);\n\t\n\tvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\t\n\tvar _NativeTypes = __webpack_require__(32);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\texports.NativeTypes = NativeTypes;\n\texports.getEmptyImage = _getEmptyImage2['default'];\n\t\n\tfunction createHTML5Backend(manager) {\n\t return new _HTML5Backend2['default'](manager);\n\t}\n\n/***/ },\n/* 147 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 148 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @returns {Object} Returns the new hash object.\n\t */\n\tfunction Hash() {}\n\t\n\t// Avoid inheriting from `Object.prototype` when possible.\n\tHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 149 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(34);\n\t\n\t/** Built-in value references. */\n\tvar Reflect = root.Reflect;\n\t\n\tmodule.exports = Reflect;\n\n\n/***/ },\n/* 150 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(33),\n\t root = __webpack_require__(34);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 151 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ },\n/* 152 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 153 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used by `_.defaults` to customize its `_.assignIn` use.\n\t *\n\t * @private\n\t * @param {*} objValue The destination value.\n\t * @param {*} srcValue The source value.\n\t * @param {string} key The key of the property to assign.\n\t * @param {Object} object The parent object of `objValue`.\n\t * @returns {*} Returns the value to assign.\n\t */\n\tfunction assignInDefaults(objValue, srcValue, key, object) {\n\t if (objValue === undefined ||\n\t (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n\t return srcValue;\n\t }\n\t return objValue;\n\t}\n\t\n\tmodule.exports = assignInDefaults;\n\n\n/***/ },\n/* 154 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t object[key] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assignValue;\n\n\n/***/ },\n/* 155 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the associative array.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction assocDelete(array, key) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = array.length - 1;\n\t if (index == lastIndex) {\n\t array.pop();\n\t } else {\n\t splice.call(array, index, 1);\n\t }\n\t return true;\n\t}\n\t\n\tmodule.exports = assocDelete;\n\n\n/***/ },\n/* 156 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Gets the associative array value for `key`.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction assocGet(array, key) {\n\t var index = assocIndexOf(array, key);\n\t return index < 0 ? undefined : array[index][1];\n\t}\n\t\n\tmodule.exports = assocGet;\n\n\n/***/ },\n/* 157 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Checks if an associative array value for `key` exists.\n\t *\n\t * @private\n\t * @param {Array} array The array to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction assocHas(array, key) {\n\t return assocIndexOf(array, key) > -1;\n\t}\n\t\n\tmodule.exports = assocHas;\n\n\n/***/ },\n/* 158 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(14);\n\t\n\t/**\n\t * Sets the associative array `key` to `value`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction assocSet(array, key, value) {\n\t var index = assocIndexOf(array, key);\n\t if (index < 0) {\n\t array.push([key, value]);\n\t } else {\n\t array[index][1] = value;\n\t }\n\t}\n\t\n\tmodule.exports = assocSet;\n\n\n/***/ },\n/* 159 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(53),\n\t arrayIncludes = __webpack_require__(55),\n\t arrayIncludesWith = __webpack_require__(56),\n\t arrayMap = __webpack_require__(151),\n\t baseUnary = __webpack_require__(165),\n\t cacheHas = __webpack_require__(57);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of methods like `_.difference` without support\n\t * for excluding multiple arrays or iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Array} values The values to exclude.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of filtered values.\n\t */\n\tfunction baseDifference(array, values, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t isCommon = true,\n\t length = array.length,\n\t result = [],\n\t valuesLength = values.length;\n\t\n\t if (!length) {\n\t return result;\n\t }\n\t if (iteratee) {\n\t values = arrayMap(values, baseUnary(iteratee));\n\t }\n\t if (comparator) {\n\t includes = arrayIncludesWith;\n\t isCommon = false;\n\t }\n\t else if (values.length >= LARGE_ARRAY_SIZE) {\n\t includes = cacheHas;\n\t isCommon = false;\n\t values = new SetCache(values);\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var valuesIndex = valuesLength;\n\t while (valuesIndex--) {\n\t if (values[valuesIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(values, computed, comparator)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseDifference;\n\n\n/***/ },\n/* 160 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(152),\n\t isFlattenable = __webpack_require__(178);\n\t\n\t/**\n\t * The base implementation of `_.flatten` with support for restricting flattening.\n\t *\n\t * @private\n\t * @param {Array} array The array to flatten.\n\t * @param {number} depth The maximum recursion depth.\n\t * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n\t * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n\t * @param {Array} [result=[]] The initial result value.\n\t * @returns {Array} Returns the new flattened array.\n\t */\n\tfunction baseFlatten(array, depth, predicate, isStrict, result) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t predicate || (predicate = isFlattenable);\n\t result || (result = []);\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (depth > 0 && predicate(value)) {\n\t if (depth > 1) {\n\t // Recursively flatten arrays (susceptible to call stack limits).\n\t baseFlatten(value, depth - 1, predicate, isStrict, result);\n\t } else {\n\t arrayPush(result, value);\n\t }\n\t } else if (!isStrict) {\n\t result[result.length] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseFlatten;\n\n\n/***/ },\n/* 161 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar indexOfNaN = __webpack_require__(177);\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t if (value !== value) {\n\t return indexOfNaN(array, fromIndex);\n\t }\n\t var index = fromIndex - 1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 162 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Reflect = __webpack_require__(149),\n\t iteratorToArray = __webpack_require__(182);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Built-in value references. */\n\tvar enumerate = Reflect ? Reflect.enumerate : undefined,\n\t propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * The base implementation of `_.keysIn` which doesn't skip the constructor\n\t * property of prototypes or treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeysIn(object) {\n\t object = object == null ? object : Object(object);\n\t\n\t var result = [];\n\t for (var key in object) {\n\t result.push(key);\n\t }\n\t return result;\n\t}\n\t\n\t// Fallback for IE < 9 with es6-shim.\n\tif (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {\n\t baseKeysIn = function(object) {\n\t return iteratorToArray(enumerate(object));\n\t };\n\t}\n\t\n\tmodule.exports = baseKeysIn;\n\n\n/***/ },\n/* 163 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.property` without support for deep paths.\n\t *\n\t * @private\n\t * @param {string} key The key of the property to get.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseProperty(key) {\n\t return function(object) {\n\t return object == null ? undefined : object[key];\n\t };\n\t}\n\t\n\tmodule.exports = baseProperty;\n\n\n/***/ },\n/* 164 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\t\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n\n/***/ },\n/* 165 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing wrapper metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 166 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(53),\n\t arrayIncludes = __webpack_require__(55),\n\t arrayIncludesWith = __webpack_require__(56),\n\t cacheHas = __webpack_require__(57),\n\t createSet = __webpack_require__(171),\n\t setToArray = __webpack_require__(188);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new duplicate free array.\n\t */\n\tfunction baseUniq(array, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t length = array.length,\n\t isCommon = true,\n\t result = [],\n\t seen = result;\n\t\n\t if (comparator) {\n\t isCommon = false;\n\t includes = arrayIncludesWith;\n\t }\n\t else if (length >= LARGE_ARRAY_SIZE) {\n\t var set = iteratee ? null : createSet(array);\n\t if (set) {\n\t return setToArray(set);\n\t }\n\t isCommon = false;\n\t includes = cacheHas;\n\t seen = new SetCache;\n\t }\n\t else {\n\t seen = iteratee ? [] : result;\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t if (isCommon && computed === computed) {\n\t var seenIndex = seen.length;\n\t while (seenIndex--) {\n\t if (seen[seenIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t if (iteratee) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(seen, computed, comparator)) {\n\t if (seen !== result) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 167 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(4);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the set cache.\n\t *\n\t * @private\n\t * @name push\n\t * @memberOf SetCache\n\t * @param {*} value The value to cache.\n\t */\n\tfunction cachePush(value) {\n\t var map = this.__data__;\n\t if (isKeyable(value)) {\n\t var data = map.__data__,\n\t hash = typeof value == 'string' ? data.string : data.hash;\n\t\n\t hash[value] = HASH_UNDEFINED;\n\t }\n\t else {\n\t map.set(value, HASH_UNDEFINED);\n\t }\n\t}\n\t\n\tmodule.exports = cachePush;\n\n\n/***/ },\n/* 168 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a global object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n\t */\n\tfunction checkGlobal(value) {\n\t return (value && value.Object === Object) ? value : null;\n\t}\n\t\n\tmodule.exports = checkGlobal;\n\n\n/***/ },\n/* 169 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assignValue = __webpack_require__(154);\n\t\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t\n\t var newValue = customizer\n\t ? customizer(object[key], source[key], key, object, source)\n\t : source[key];\n\t\n\t assignValue(object, key, newValue);\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = copyObject;\n\n\n/***/ },\n/* 170 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isIterateeCall = __webpack_require__(180),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates a function like `_.assign`.\n\t *\n\t * @private\n\t * @param {Function} assigner The function to assign values.\n\t * @returns {Function} Returns the new assigner function.\n\t */\n\tfunction createAssigner(assigner) {\n\t return rest(function(object, sources) {\n\t var index = -1,\n\t length = sources.length,\n\t customizer = length > 1 ? sources[length - 1] : undefined,\n\t guard = length > 2 ? sources[2] : undefined;\n\t\n\t customizer = typeof customizer == 'function'\n\t ? (length--, customizer)\n\t : undefined;\n\t\n\t if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n\t customizer = length < 3 ? undefined : customizer;\n\t length = 1;\n\t }\n\t object = Object(object);\n\t while (++index < length) {\n\t var source = sources[index];\n\t if (source) {\n\t assigner(object, source, index, customizer);\n\t }\n\t }\n\t return object;\n\t });\n\t}\n\t\n\tmodule.exports = createAssigner;\n\n\n/***/ },\n/* 171 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(150),\n\t noop = __webpack_require__(197);\n\t\n\t/**\n\t * Creates a set of `values`.\n\t *\n\t * @private\n\t * @param {Array} values The values to add to the set.\n\t * @returns {Object} Returns the new set.\n\t */\n\tvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n\t return new Set(values);\n\t};\n\t\n\tmodule.exports = createSet;\n\n\n/***/ },\n/* 172 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseProperty = __webpack_require__(163);\n\t\n\t/**\n\t * Gets the \"length\" property value of `object`.\n\t *\n\t * **Note:** This function is used to avoid a\n\t * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n\t * Safari on at least iOS 8.1-8.3 ARM64.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {*} Returns the \"length\" value.\n\t */\n\tvar getLength = baseProperty('length');\n\t\n\tmodule.exports = getLength;\n\n\n/***/ },\n/* 173 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashHas = __webpack_require__(58);\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(hash, key) {\n\t return hashHas(hash, key) && delete hash[key];\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 174 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to query.\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(hash, key) {\n\t if (nativeCreate) {\n\t var result = hash[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 175 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t */\n\tfunction hashSet(hash, key, value) {\n\t hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 176 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseTimes = __webpack_require__(164),\n\t isArguments = __webpack_require__(60),\n\t isArray = __webpack_require__(35),\n\t isLength = __webpack_require__(62),\n\t isString = __webpack_require__(193);\n\t\n\t/**\n\t * Creates an array of index keys for `object` values of arrays,\n\t * `arguments` objects, and strings, otherwise `null` is returned.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array|null} Returns index keys, else `null`.\n\t */\n\tfunction indexKeys(object) {\n\t var length = object ? object.length : undefined;\n\t if (isLength(length) &&\n\t (isArray(object) || isString(object) || isArguments(object))) {\n\t return baseTimes(length, String);\n\t }\n\t return null;\n\t}\n\t\n\tmodule.exports = indexKeys;\n\n\n/***/ },\n/* 177 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the index at which the first occurrence of `NaN` is found in `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to search.\n\t * @param {number} fromIndex The index to search from.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n\t */\n\tfunction indexOfNaN(array, fromIndex, fromRight) {\n\t var length = array.length,\n\t index = fromIndex + (fromRight ? 0 : -1);\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t var other = array[index];\n\t if (other !== other) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = indexOfNaN;\n\n\n/***/ },\n/* 178 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArguments = __webpack_require__(60),\n\t isArray = __webpack_require__(35),\n\t isArrayLikeObject = __webpack_require__(17);\n\t\n\t/**\n\t * Checks if `value` is a flattenable `arguments` object or array.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n\t */\n\tfunction isFlattenable(value) {\n\t return isArrayLikeObject(value) && (isArray(value) || isArguments(value));\n\t}\n\t\n\tmodule.exports = isFlattenable;\n\n\n/***/ },\n/* 179 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 180 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16),\n\t isArrayLike = __webpack_require__(61),\n\t isIndex = __webpack_require__(59),\n\t isObject = __webpack_require__(18);\n\t\n\t/**\n\t * Checks if the given arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n\t * else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)\n\t ) {\n\t return eq(object[index], value);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 181 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n\n/***/ },\n/* 182 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `iterator` to an array.\n\t *\n\t * @private\n\t * @param {Object} iterator The iterator to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction iteratorToArray(iterator) {\n\t var data,\n\t result = [];\n\t\n\t while (!(data = iterator.next()).done) {\n\t result.push(data.value);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = iteratorToArray;\n\n\n/***/ },\n/* 183 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(148),\n\t Map = __webpack_require__(7);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapClear() {\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': Map ? new Map : [],\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapClear;\n\n\n/***/ },\n/* 184 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocDelete = __webpack_require__(155),\n\t hashDelete = __webpack_require__(173),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapDelete(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n\t}\n\t\n\tmodule.exports = mapDelete;\n\n\n/***/ },\n/* 185 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocGet = __webpack_require__(156),\n\t hashGet = __webpack_require__(174),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapGet(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.get(key) : assocGet(data.map, key);\n\t}\n\t\n\tmodule.exports = mapGet;\n\n\n/***/ },\n/* 186 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocHas = __webpack_require__(157),\n\t hashHas = __webpack_require__(58),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapHas(key) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n\t }\n\t return Map ? data.map.has(key) : assocHas(data.map, key);\n\t}\n\t\n\tmodule.exports = mapHas;\n\n\n/***/ },\n/* 187 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Map = __webpack_require__(7),\n\t assocSet = __webpack_require__(158),\n\t hashSet = __webpack_require__(175),\n\t isKeyable = __webpack_require__(4);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapSet(key, value) {\n\t var data = this.__data__;\n\t if (isKeyable(key)) {\n\t hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n\t } else if (Map) {\n\t data.map.set(key, value);\n\t } else {\n\t assocSet(data.map, key, value);\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = mapSet;\n\n\n/***/ },\n/* 188 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the converted array.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 189 */\n/***/ function(module, exports) {\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to process.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 190 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(169),\n\t createAssigner = __webpack_require__(170),\n\t keysIn = __webpack_require__(195);\n\t\n\t/**\n\t * This method is like `_.assignIn` except that it accepts `customizer`\n\t * which is invoked to produce the assigned values. If `customizer` returns\n\t * `undefined`, assignment is handled by the method instead. The `customizer`\n\t * is invoked with five arguments: (objValue, srcValue, key, object, source).\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @alias extendWith\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} sources The source objects.\n\t * @param {Function} [customizer] The function to customize assigned values.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * function customizer(objValue, srcValue) {\n\t * return _.isUndefined(objValue) ? srcValue : objValue;\n\t * }\n\t *\n\t * var defaults = _.partialRight(_.assignInWith, customizer);\n\t *\n\t * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n\t * // => { 'a': 1, 'b': 2 }\n\t */\n\tvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n\t copyObject(source, keysIn(source), object, customizer);\n\t});\n\t\n\tmodule.exports = assignInWith;\n\n\n/***/ },\n/* 191 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(54),\n\t assignInDefaults = __webpack_require__(153),\n\t assignInWith = __webpack_require__(190),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Assigns own and inherited enumerable string keyed properties of source\n\t * objects to the destination object for all destination properties that\n\t * resolve to `undefined`. Source objects are applied from left to right.\n\t * Once a property is set, additional values of the same property are ignored.\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} [sources] The source objects.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });\n\t * // => { 'user': 'barney', 'age': 36 }\n\t */\n\tvar defaults = rest(function(args) {\n\t args.push(undefined, assignInDefaults);\n\t return apply(assignInWith, undefined, args);\n\t});\n\t\n\tmodule.exports = defaults;\n\n\n/***/ },\n/* 192 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(36),\n\t isHostObject = __webpack_require__(179),\n\t isObject = __webpack_require__(18),\n\t toSource = __webpack_require__(189);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * Checks if `value` is a native function.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isNative(Array.prototype.push);\n\t * // => true\n\t *\n\t * _.isNative(_);\n\t * // => false\n\t */\n\tfunction isNative(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = isNative;\n\n\n/***/ },\n/* 193 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArray = __webpack_require__(35),\n\t isObjectLike = __webpack_require__(37);\n\t\n\t/** `Object#toString` result references. */\n\tvar stringTag = '[object String]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `String` primitive or object.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isString('abc');\n\t * // => true\n\t *\n\t * _.isString(1);\n\t * // => false\n\t */\n\tfunction isString(value) {\n\t return typeof value == 'string' ||\n\t (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n\t}\n\t\n\tmodule.exports = isString;\n\n\n/***/ },\n/* 194 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObjectLike = __webpack_require__(37);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return typeof value == 'symbol' ||\n\t (isObjectLike(value) && objectToString.call(value) == symbolTag);\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n\n/***/ },\n/* 195 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseKeysIn = __webpack_require__(162),\n\t indexKeys = __webpack_require__(176),\n\t isIndex = __webpack_require__(59),\n\t isPrototype = __webpack_require__(181);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t var index = -1,\n\t isProto = isPrototype(object),\n\t props = baseKeysIn(object),\n\t propsLength = props.length,\n\t indexes = indexKeys(object),\n\t skipIndexes = !!indexes,\n\t result = indexes || [],\n\t length = result.length;\n\t\n\t while (++index < propsLength) {\n\t var key = props[index];\n\t if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n\t !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 196 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(52);\n\t\n\t/** Used as the `TypeError` message for \"Functions\" methods. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoizing function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t var memoized = function() {\n\t var args = arguments,\n\t key = resolver ? resolver.apply(this, args) : args[0],\n\t cache = memoized.cache;\n\t\n\t if (cache.has(key)) {\n\t return cache.get(key);\n\t }\n\t var result = func.apply(this, args);\n\t memoized.cache = cache.set(key, result);\n\t return result;\n\t };\n\t memoized.cache = new (memoize.Cache || MapCache);\n\t return memoized;\n\t}\n\t\n\t// Assign cache to `_.memoize`.\n\tmemoize.Cache = MapCache;\n\t\n\tmodule.exports = memoize;\n\n\n/***/ },\n/* 197 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A no-operation function that returns `undefined` regardless of the\n\t * arguments it receives.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.3.0\n\t * @category Util\n\t * @example\n\t *\n\t * var object = { 'user': 'fred' };\n\t *\n\t * _.noop(object) === undefined;\n\t * // => true\n\t */\n\tfunction noop() {\n\t // No operation performed.\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 198 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toNumber = __webpack_require__(199);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0,\n\t MAX_INTEGER = 1.7976931348623157e+308;\n\t\n\t/**\n\t * Converts `value` to an integer.\n\t *\n\t * **Note:** This function is loosely based on\n\t * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {number} Returns the converted integer.\n\t * @example\n\t *\n\t * _.toInteger(3);\n\t * // => 3\n\t *\n\t * _.toInteger(Number.MIN_VALUE);\n\t * // => 0\n\t *\n\t * _.toInteger(Infinity);\n\t * // => 1.7976931348623157e+308\n\t *\n\t * _.toInteger('3');\n\t * // => 3\n\t */\n\tfunction toInteger(value) {\n\t if (!value) {\n\t return value === 0 ? value : 0;\n\t }\n\t value = toNumber(value);\n\t if (value === INFINITY || value === -INFINITY) {\n\t var sign = (value < 0 ? -1 : 1);\n\t return sign * MAX_INTEGER;\n\t }\n\t var remainder = value % 1;\n\t return value === value ? (remainder ? value - remainder : value) : 0;\n\t}\n\t\n\tmodule.exports = toInteger;\n\n\n/***/ },\n/* 199 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(36),\n\t isObject = __webpack_require__(18),\n\t isSymbol = __webpack_require__(194);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\t\n\t/** Used to match leading and trailing whitespace. */\n\tvar reTrim = /^\\s+|\\s+$/g;\n\t\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\t\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\t\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\t\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\t\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3);\n\t * // => 3\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3');\n\t * // => 3\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = isFunction(value.valueOf) ? value.valueOf() : value;\n\t value = isObject(other) ? (other + '') : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = value.replace(reTrim, '');\n\t var isBinary = reIsBinary.test(value);\n\t return (isBinary || reIsOctal.test(value))\n\t ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\t\n\tmodule.exports = toNumber;\n\n\n/***/ },\n/* 200 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFlatten = __webpack_require__(160),\n\t baseUniq = __webpack_require__(166),\n\t isArrayLikeObject = __webpack_require__(17),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates an array of unique values, in order, from all given arrays using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of combined values.\n\t * @example\n\t *\n\t * _.union([2, 1], [4, 2], [1, 2]);\n\t * // => [2, 1, 4]\n\t */\n\tvar union = rest(function(arrays) {\n\t return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n\t});\n\t\n\tmodule.exports = union;\n\n\n/***/ },\n/* 201 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(159),\n\t isArrayLikeObject = __webpack_require__(17),\n\t rest = __webpack_require__(19);\n\t\n\t/**\n\t * Creates an array excluding all given values using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {Array} array The array to filter.\n\t * @param {...*} [values] The values to exclude.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @example\n\t *\n\t * _.without([1, 2, 1, 3], 1, 2);\n\t * // => [3]\n\t */\n\tvar without = rest(function(array, values) {\n\t return isArrayLikeObject(array)\n\t ? baseDifference(array, values)\n\t : [];\n\t});\n\t\n\tmodule.exports = without;\n\n\n/***/ },\n/* 202 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragDropContext;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _dndCore = __webpack_require__(89);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragDropContext(backendOrModule) {\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\t\n\t // Auto-detect ES6 default export for people still using ES5\n\t var backend = undefined;\n\t if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n\t backend = backendOrModule['default'];\n\t } else {\n\t backend = backendOrModule;\n\t }\n\t\n\t _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\t\n\t var childContext = {\n\t dragDropManager: new _dndCore.DragDropManager(backend)\n\t };\n\t\n\t return function decorateContext(DecoratedComponent) {\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContextContainer, _Component);\n\t\n\t function DragDropContextContainer() {\n\t _classCallCheck(this, DragDropContextContainer);\n\t\n\t _Component.apply(this, arguments);\n\t }\n\t\n\t DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragDropContextContainer.prototype.getManager = function getManager() {\n\t return childContext.dragDropManager;\n\t };\n\t\n\t DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n\t return childContext;\n\t };\n\t\n\t DragDropContextContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n\t ref: 'child' }));\n\t };\n\t\n\t _createClass(DragDropContextContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragDropContext(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'childContextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t return DragDropContextContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 203 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragLayer;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(39);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(66);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragLayer(collect) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\t\n\t return function decorateLayer(DecoratedComponent) {\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragLayerContainer, _Component);\n\t\n\t DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragLayerContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragLayer(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragLayerContainer(props, context) {\n\t _classCallCheck(this, DragLayerContainer);\n\t\n\t _Component.call(this, props);\n\t this.handleChange = this.handleChange.bind(this);\n\t\n\t this.manager = context.dragDropManager;\n\t _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.state = this.getCurrentState();\n\t }\n\t\n\t DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t\n\t var monitor = this.manager.getMonitor();\n\t this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n\t this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\t\n\t this.handleChange();\n\t };\n\t\n\t DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.isCurrentlyMounted = false;\n\t\n\t this.unsubscribeFromOffsetChange();\n\t this.unsubscribeFromStateChange();\n\t };\n\t\n\t DragLayerContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n\t var monitor = this.manager.getMonitor();\n\t return collect(monitor);\n\t };\n\t\n\t DragLayerContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: 'child' }));\n\t };\n\t\n\t return DragLayerContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 204 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DragSource;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(64);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerSource = __webpack_require__(212);\n\t\n\tvar _registerSource2 = _interopRequireDefault(_registerSource);\n\t\n\tvar _createSourceFactory = __webpack_require__(207);\n\t\n\tvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\t\n\tvar _createSourceMonitor = __webpack_require__(208);\n\t\n\tvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\t\n\tvar _createSourceConnector = __webpack_require__(206);\n\t\n\tvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(65);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DragSource(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n\t var createSource = _createSourceFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t\n\t return function decorateSource(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, sourceId) {\n\t return backend.connectDragSource(sourceId);\n\t },\n\t containerDisplayName: 'DragSource',\n\t createHandler: createSource,\n\t registerHandler: _registerSource2['default'],\n\t createMonitor: _createSourceMonitor2['default'],\n\t createConnector: _createSourceConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 205 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DropTarget;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(20);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(64);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerTarget = __webpack_require__(213);\n\t\n\tvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\t\n\tvar _createTargetFactory = __webpack_require__(210);\n\t\n\tvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\t\n\tvar _createTargetMonitor = __webpack_require__(211);\n\t\n\tvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\t\n\tvar _createTargetConnector = __webpack_require__(209);\n\t\n\tvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(65);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DropTarget(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n\t var createTarget = _createTargetFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t\n\t return function decorateTarget(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, targetId) {\n\t return backend.connectDropTarget(targetId);\n\t },\n\t containerDisplayName: 'DropTarget',\n\t createHandler: createTarget,\n\t registerHandler: _registerTarget2['default'],\n\t createMonitor: _createTargetMonitor2['default'],\n\t createConnector: _createTargetConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 206 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(67);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(63);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createSourceConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDragSourceNode = undefined;\n\t var currentDragSourceOptions = undefined;\n\t var disconnectCurrentDragSource = undefined;\n\t\n\t var currentDragPreviewNode = undefined;\n\t var currentDragPreviewOptions = undefined;\n\t var disconnectCurrentDragPreview = undefined;\n\t\n\t function reconnectDragSource() {\n\t if (disconnectCurrentDragSource) {\n\t disconnectCurrentDragSource();\n\t disconnectCurrentDragSource = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragSourceNode) {\n\t disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n\t }\n\t }\n\t\n\t function reconnectDragPreview() {\n\t if (disconnectCurrentDragPreview) {\n\t disconnectCurrentDragPreview();\n\t disconnectCurrentDragPreview = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragPreviewNode) {\n\t disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDragSource();\n\t reconnectDragPreview();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dragSource: function connectDragSource(node, options) {\n\t if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n\t return;\n\t }\n\t\n\t currentDragSourceNode = node;\n\t currentDragSourceOptions = options;\n\t\n\t reconnectDragSource();\n\t },\n\t\n\t dragPreview: function connectDragPreview(node, options) {\n\t if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n\t return;\n\t }\n\t\n\t currentDragPreviewNode = node;\n\t currentDragPreviewOptions = options;\n\t\n\t reconnectDragPreview();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 207 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\n\tvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\t\n\tfunction createSourceFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t REQUIRED_SPEC_METHODS.forEach(function (key) {\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t\n\t var Source = (function () {\n\t function Source(monitor) {\n\t _classCallCheck(this, Source);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Source.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Source.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Source.prototype.canDrag = function canDrag() {\n\t if (!spec.canDrag) {\n\t return true;\n\t }\n\t\n\t return spec.canDrag(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n\t if (!spec.isDragging) {\n\t return sourceId === globalMonitor.getSourceId();\n\t }\n\t\n\t return spec.isDragging(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.beginDrag = function beginDrag() {\n\t var item = spec.beginDrag(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n\t }\n\t return item;\n\t };\n\t\n\t Source.prototype.endDrag = function endDrag() {\n\t if (!spec.endDrag) {\n\t return;\n\t }\n\t\n\t spec.endDrag(this.props, this.monitor, this.component);\n\t };\n\t\n\t return Source;\n\t })();\n\t\n\t return function createSource(monitor) {\n\t return new Source(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 208 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrag = false;\n\tvar isCallingIsDragging = false;\n\t\n\tvar SourceMonitor = (function () {\n\t function SourceMonitor(manager) {\n\t _classCallCheck(this, SourceMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n\t this.sourceId = sourceId;\n\t };\n\t\n\t SourceMonitor.prototype.canDrag = function canDrag() {\n\t _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingCanDrag = true;\n\t return this.internalMonitor.canDragSource(this.sourceId);\n\t } finally {\n\t isCallingCanDrag = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.isDragging = function isDragging() {\n\t _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingIsDragging = true;\n\t return this.internalMonitor.isDraggingSource(this.sourceId);\n\t } finally {\n\t isCallingIsDragging = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t SourceMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t SourceMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t SourceMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return SourceMonitor;\n\t})();\n\t\n\tfunction createSourceMonitor(manager) {\n\t return new SourceMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 209 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(67);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(63);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createTargetConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDropTargetNode = undefined;\n\t var currentDropTargetOptions = undefined;\n\t var disconnectCurrentDropTarget = undefined;\n\t\n\t function reconnectDropTarget() {\n\t if (disconnectCurrentDropTarget) {\n\t disconnectCurrentDropTarget();\n\t disconnectCurrentDropTarget = null;\n\t }\n\t\n\t if (currentHandlerId && currentDropTargetNode) {\n\t disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDropTarget();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dropTarget: function connectDropTarget(node, options) {\n\t if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n\t return;\n\t }\n\t\n\t currentDropTargetNode = node;\n\t currentDropTargetOptions = options;\n\t\n\t reconnectDropTarget();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 210 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(5);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\t\n\tfunction createTargetFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n\t });\n\t\n\t var Target = (function () {\n\t function Target(monitor) {\n\t _classCallCheck(this, Target);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Target.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n\t this.monitor = monitor;\n\t };\n\t\n\t Target.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Target.prototype.canDrop = function canDrop() {\n\t if (!spec.canDrop) {\n\t return true;\n\t }\n\t\n\t return spec.canDrop(this.props, this.monitor);\n\t };\n\t\n\t Target.prototype.hover = function hover() {\n\t if (!spec.hover) {\n\t return;\n\t }\n\t\n\t spec.hover(this.props, this.monitor, this.component);\n\t };\n\t\n\t Target.prototype.drop = function drop() {\n\t if (!spec.drop) {\n\t return;\n\t }\n\t\n\t var dropResult = spec.drop(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n\t }\n\t return dropResult;\n\t };\n\t\n\t return Target;\n\t })();\n\t\n\t return function createTarget(monitor) {\n\t return new Target(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 211 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrop = false;\n\t\n\tvar TargetMonitor = (function () {\n\t function TargetMonitor(manager) {\n\t _classCallCheck(this, TargetMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n\t this.targetId = targetId;\n\t };\n\t\n\t TargetMonitor.prototype.canDrop = function canDrop() {\n\t _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\t\n\t try {\n\t isCallingCanDrop = true;\n\t return this.internalMonitor.canDropOnTarget(this.targetId);\n\t } finally {\n\t isCallingCanDrop = false;\n\t }\n\t };\n\t\n\t TargetMonitor.prototype.isOver = function isOver(options) {\n\t return this.internalMonitor.isOverTarget(this.targetId, options);\n\t };\n\t\n\t TargetMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t TargetMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t TargetMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t TargetMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return TargetMonitor;\n\t})();\n\t\n\tfunction createTargetMonitor(manager) {\n\t return new TargetMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 212 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerSource;\n\t\n\tfunction registerSource(type, source, manager) {\n\t var registry = manager.getRegistry();\n\t var sourceId = registry.addSource(type, source);\n\t\n\t function unregisterSource() {\n\t registry.removeSource(sourceId);\n\t }\n\t\n\t return {\n\t handlerId: sourceId,\n\t unregister: unregisterSource\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 213 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerTarget;\n\t\n\tfunction registerTarget(type, target, manager) {\n\t var registry = manager.getRegistry();\n\t var targetId = registry.addTarget(type, target);\n\t\n\t function unregisterTarget() {\n\t registry.removeTarget(targetId);\n\t }\n\t\n\t return {\n\t handlerId: targetId,\n\t unregister: unregisterTarget\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 214 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = cloneWithRef;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tfunction cloneWithRef(element, newRef) {\n\t var previousRef = element.ref;\n\t _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\t\n\t if (!previousRef) {\n\t // When there is no ref on the element, use the new ref directly\n\t return _react.cloneElement(element, {\n\t ref: newRef\n\t });\n\t }\n\t\n\t return _react.cloneElement(element, {\n\t ref: function ref(node) {\n\t newRef(node);\n\t\n\t if (previousRef) {\n\t previousRef(node);\n\t }\n\t }\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 215 */\n/***/ function(module, exports) {\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetPrototype = Object.getPrototypeOf;\n\t\n\t/**\n\t * Gets the `[[Prototype]]` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {null|Object} Returns the `[[Prototype]]`.\n\t */\n\tfunction getPrototype(value) {\n\t return nativeGetPrototype(Object(value));\n\t}\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 216 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 217 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @type {Function}\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is correctly classified,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 218 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 219 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule update\n\t */\n\t\n\t/* global hasOwnProperty:true */\n\t\n\t'use strict';\n\t\n\tvar _assign = __webpack_require__(139);\n\t\n\tvar keyOf = __webpack_require__(138);\n\tvar invariant = __webpack_require__(137);\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\t\n\tfunction shallowCopy(x) {\n\t if (Array.isArray(x)) {\n\t return x.concat();\n\t } else if (x && typeof x === 'object') {\n\t return _assign(new x.constructor(), x);\n\t } else {\n\t return x;\n\t }\n\t}\n\t\n\tvar COMMAND_PUSH = keyOf({ $push: null });\n\tvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\n\tvar COMMAND_SPLICE = keyOf({ $splice: null });\n\tvar COMMAND_SET = keyOf({ $set: null });\n\tvar COMMAND_MERGE = keyOf({ $merge: null });\n\tvar COMMAND_APPLY = keyOf({ $apply: null });\n\t\n\tvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\t\n\tvar ALL_COMMANDS_SET = {};\n\t\n\tALL_COMMANDS_LIST.forEach(function (command) {\n\t ALL_COMMANDS_SET[command] = true;\n\t});\n\t\n\tfunction invariantArrayCase(value, spec, command) {\n\t !Array.isArray(value) ? false ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : void 0;\n\t var specValue = spec[command];\n\t !Array.isArray(specValue) ? false ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : void 0;\n\t}\n\t\n\tfunction update(value, spec) {\n\t !(typeof spec === 'object') ? false ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : void 0;\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SET)) {\n\t !(Object.keys(spec).length === 1) ? false ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : void 0;\n\t\n\t return spec[COMMAND_SET];\n\t }\n\t\n\t var nextValue = shallowCopy(value);\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n\t var mergeObj = spec[COMMAND_MERGE];\n\t !(mergeObj && typeof mergeObj === 'object') ? false ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : void 0;\n\t !(nextValue && typeof nextValue === 'object') ? false ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : void 0;\n\t _assign(nextValue, spec[COMMAND_MERGE]);\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n\t invariantArrayCase(value, spec, COMMAND_PUSH);\n\t spec[COMMAND_PUSH].forEach(function (item) {\n\t nextValue.push(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n\t invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n\t spec[COMMAND_UNSHIFT].forEach(function (item) {\n\t nextValue.unshift(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n\t !Array.isArray(value) ? false ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : void 0;\n\t !Array.isArray(spec[COMMAND_SPLICE]) ? false ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : void 0;\n\t spec[COMMAND_SPLICE].forEach(function (args) {\n\t !Array.isArray(args) ? false ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : void 0;\n\t nextValue.splice.apply(nextValue, args);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n\t !(typeof spec[COMMAND_APPLY] === 'function') ? false ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : void 0;\n\t nextValue = spec[COMMAND_APPLY](nextValue);\n\t }\n\t\n\t for (var k in spec) {\n\t if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n\t nextValue[k] = update(value[k], spec[k]);\n\t }\n\t }\n\t\n\t return nextValue;\n\t}\n\t\n\tmodule.exports = update;\n\n/***/ },\n/* 220 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.ActionTypes = undefined;\n\texports[\"default\"] = createStore;\n\t\n\tvar _isPlainObject = __webpack_require__(224);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\t\n\t/**\n\t * These are private action types reserved by Redux.\n\t * For any unknown actions, you must return the current state.\n\t * If the current state is undefined, you must return the initial state.\n\t * Do not reference these action types directly in your code.\n\t */\n\tvar ActionTypes = exports.ActionTypes = {\n\t INIT: '@@redux/INIT'\n\t};\n\t\n\t/**\n\t * Creates a Redux store that holds the state tree.\n\t * The only way to change the data in the store is to call `dispatch()` on it.\n\t *\n\t * There should only be a single store in your app. To specify how different\n\t * parts of the state tree respond to actions, you may combine several reducers\n\t * into a single reducer function by using `combineReducers`.\n\t *\n\t * @param {Function} reducer A function that returns the next state tree, given\n\t * the current state tree and the action to handle.\n\t *\n\t * @param {any} [initialState] The initial state. You may optionally specify it\n\t * to hydrate the state from the server in universal apps, or to restore a\n\t * previously serialized user session.\n\t * If you use `combineReducers` to produce the root reducer function, this must be\n\t * an object with the same shape as `combineReducers` keys.\n\t *\n\t * @param {Function} enhancer The store enhancer. You may optionally specify it\n\t * to enhance the store with third-party capabilities such as middleware,\n\t * time travel, persistence, etc. The only store enhancer that ships with Redux\n\t * is `applyMiddleware()`.\n\t *\n\t * @returns {Store} A Redux store that lets you read the state, dispatch actions\n\t * and subscribe to changes.\n\t */\n\tfunction createStore(reducer, initialState, enhancer) {\n\t if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n\t enhancer = initialState;\n\t initialState = undefined;\n\t }\n\t\n\t if (typeof enhancer !== 'undefined') {\n\t if (typeof enhancer !== 'function') {\n\t throw new Error('Expected the enhancer to be a function.');\n\t }\n\t\n\t return enhancer(createStore)(reducer, initialState);\n\t }\n\t\n\t if (typeof reducer !== 'function') {\n\t throw new Error('Expected the reducer to be a function.');\n\t }\n\t\n\t var currentReducer = reducer;\n\t var currentState = initialState;\n\t var currentListeners = [];\n\t var nextListeners = currentListeners;\n\t var isDispatching = false;\n\t\n\t function ensureCanMutateNextListeners() {\n\t if (nextListeners === currentListeners) {\n\t nextListeners = currentListeners.slice();\n\t }\n\t }\n\t\n\t /**\n\t * Reads the state tree managed by the store.\n\t *\n\t * @returns {any} The current state tree of your application.\n\t */\n\t function getState() {\n\t return currentState;\n\t }\n\t\n\t /**\n\t * Adds a change listener. It will be called any time an action is dispatched,\n\t * and some part of the state tree may potentially have changed. You may then\n\t * call `getState()` to read the current state tree inside the callback.\n\t *\n\t * You may call `dispatch()` from a change listener, with the following\n\t * caveats:\n\t *\n\t * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n\t * If you subscribe or unsubscribe while the listeners are being invoked, this\n\t * will not have any effect on the `dispatch()` that is currently in progress.\n\t * However, the next `dispatch()` call, whether nested or not, will use a more\n\t * recent snapshot of the subscription list.\n\t *\n\t * 2. The listener should not expect to see all state changes, as the state\n\t * might have been updated multiple times during a nested `dispatch()` before\n\t * the listener is called. It is, however, guaranteed that all subscribers\n\t * registered before the `dispatch()` started will be called with the latest\n\t * state by the time it exits.\n\t *\n\t * @param {Function} listener A callback to be invoked on every dispatch.\n\t * @returns {Function} A function to remove this change listener.\n\t */\n\t function subscribe(listener) {\n\t if (typeof listener !== 'function') {\n\t throw new Error('Expected listener to be a function.');\n\t }\n\t\n\t var isSubscribed = true;\n\t\n\t ensureCanMutateNextListeners();\n\t nextListeners.push(listener);\n\t\n\t return function unsubscribe() {\n\t if (!isSubscribed) {\n\t return;\n\t }\n\t\n\t isSubscribed = false;\n\t\n\t ensureCanMutateNextListeners();\n\t var index = nextListeners.indexOf(listener);\n\t nextListeners.splice(index, 1);\n\t };\n\t }\n\t\n\t /**\n\t * Dispatches an action. It is the only way to trigger a state change.\n\t *\n\t * The `reducer` function, used to create the store, will be called with the\n\t * current state tree and the given `action`. Its return value will\n\t * be considered the **next** state of the tree, and the change listeners\n\t * will be notified.\n\t *\n\t * The base implementation only supports plain object actions. If you want to\n\t * dispatch a Promise, an Observable, a thunk, or something else, you need to\n\t * wrap your store creating function into the corresponding middleware. For\n\t * example, see the documentation for the `redux-thunk` package. Even the\n\t * middleware will eventually dispatch plain object actions using this method.\n\t *\n\t * @param {Object} action A plain object representing “what changed”. It is\n\t * a good idea to keep actions serializable so you can record and replay user\n\t * sessions, or use the time travelling `redux-devtools`. An action must have\n\t * a `type` property which may not be `undefined`. It is a good idea to use\n\t * string constants for action types.\n\t *\n\t * @returns {Object} For convenience, the same action object you dispatched.\n\t *\n\t * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n\t * return something else (for example, a Promise you can await).\n\t */\n\t function dispatch(action) {\n\t if (!(0, _isPlainObject2[\"default\"])(action)) {\n\t throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n\t }\n\t\n\t if (typeof action.type === 'undefined') {\n\t throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n\t }\n\t\n\t if (isDispatching) {\n\t throw new Error('Reducers may not dispatch actions.');\n\t }\n\t\n\t try {\n\t isDispatching = true;\n\t currentState = currentReducer(currentState, action);\n\t } finally {\n\t isDispatching = false;\n\t }\n\t\n\t var listeners = currentListeners = nextListeners;\n\t for (var i = 0; i < listeners.length; i++) {\n\t listeners[i]();\n\t }\n\t\n\t return action;\n\t }\n\t\n\t /**\n\t * Replaces the reducer currently used by the store to calculate the state.\n\t *\n\t * You might need this if your app implements code splitting and you want to\n\t * load some of the reducers dynamically. You might also need this if you\n\t * implement a hot reloading mechanism for Redux.\n\t *\n\t * @param {Function} nextReducer The reducer for the store to use instead.\n\t * @returns {void}\n\t */\n\t function replaceReducer(nextReducer) {\n\t if (typeof nextReducer !== 'function') {\n\t throw new Error('Expected the nextReducer to be a function.');\n\t }\n\t\n\t currentReducer = nextReducer;\n\t dispatch({ type: ActionTypes.INIT });\n\t }\n\t\n\t // When a store is created, an \"INIT\" action is dispatched so that every\n\t // reducer returns their initial state. This effectively populates\n\t // the initial state tree.\n\t dispatch({ type: ActionTypes.INIT });\n\t\n\t return {\n\t dispatch: dispatch,\n\t subscribe: subscribe,\n\t getState: getState,\n\t replaceReducer: replaceReducer\n\t };\n\t}\n\n/***/ },\n/* 221 */\n/***/ function(module, exports) {\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeGetPrototype = Object.getPrototypeOf;\n\t\n\t/**\n\t * Gets the `[[Prototype]]` of `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {null|Object} Returns the `[[Prototype]]`.\n\t */\n\tfunction getPrototype(value) {\n\t return nativeGetPrototype(Object(value));\n\t}\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 222 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is a host object in IE < 9.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n\t */\n\tfunction isHostObject(value) {\n\t // Many host objects are `Object` objects that can coerce to strings\n\t // despite having improperly defined `toString` methods.\n\t var result = false;\n\t if (value != null && typeof value.toString != 'function') {\n\t try {\n\t result = !!(value + '');\n\t } catch (e) {}\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = isHostObject;\n\n\n/***/ },\n/* 223 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return !!value && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 224 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getPrototype = __webpack_require__(221),\n\t isHostObject = __webpack_require__(222),\n\t isObjectLike = __webpack_require__(223);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = Function.prototype.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar objectToString = objectProto.toString;\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object,\n\t * else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) ||\n\t objectToString.call(value) != objectTag || isHostObject(value)) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return (typeof Ctor == 'function' &&\n\t Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 225 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_225__;\n\n/***/ }\n/******/ ])\n});\n;\n\n\n/** WEBPACK FOOTER **\n ** lib.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap cf4f63a4d8e05160a413\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/invariant/browser.js\n ** module id = 1\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"react\"\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'number' || type == 'boolean' ||\n (type == 'string' && value != '__proto__') || value == null;\n}\n\nmodule.exports = isKeyable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_isKeyable.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'number' || type == 'boolean' ||\n (type == 'string' && value != '__proto__') || value == null;\n}\n\nmodule.exports = isKeyable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isKeyable.js\n ** module id = 4\n ** module chunks = 0\n **/","var getPrototype = require('./_getPrototype'),\n isHostObject = require('./_isHostObject'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object,\n * else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isPlainObject.js\n ** module id = 5\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Map.js\n ** module id = 6\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Map.js\n ** module id = 7\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.beginDrag = beginDrag;\nexports.publishDragSource = publishDragSource;\nexports.hover = hover;\nexports.drop = drop;\nexports.endDrag = endDrag;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsMatchesType = require('../utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _lodashIsObject = require('lodash/isObject');\n\nvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\nvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexports.BEGIN_DRAG = BEGIN_DRAG;\nvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\nvar HOVER = 'dnd-core/HOVER';\nexports.HOVER = HOVER;\nvar DROP = 'dnd-core/DROP';\nexports.DROP = DROP;\nvar END_DRAG = 'dnd-core/END_DRAG';\n\nexports.END_DRAG = END_DRAG;\n\nfunction beginDrag(sourceIds) {\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref$publishSource = _ref.publishSource;\n var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n var _ref$clientOffset = _ref.clientOffset;\n var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n var getSourceClientOffset = _ref.getSourceClientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\n for (var i = 0; i < sourceIds.length; i++) {\n _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n }\n\n var sourceId = null;\n for (var i = sourceIds.length - 1; i >= 0; i--) {\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n if (sourceId === null) {\n return;\n }\n\n var sourceClientOffset = null;\n if (clientOffset) {\n _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n sourceClientOffset = getSourceClientOffset(sourceId);\n }\n\n var source = registry.getSource(sourceId);\n var item = source.beginDrag(monitor, sourceId);\n _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\n registry.pinSource(sourceId);\n\n var itemType = registry.getSourceType(sourceId);\n return {\n type: BEGIN_DRAG,\n itemType: itemType,\n item: item,\n sourceId: sourceId,\n clientOffset: clientOffset,\n sourceClientOffset: sourceClientOffset,\n isSourcePublic: publishSource\n };\n}\n\nfunction publishDragSource(manager) {\n var monitor = this.getMonitor();\n if (!monitor.isDragging()) {\n return;\n }\n\n return {\n type: PUBLISH_DRAG_SOURCE\n };\n}\n\nfunction hover(targetIds) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$clientOffset = _ref2.clientOffset;\n var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n targetIds = targetIds.slice(0);\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\n // First check invariants.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\n var target = registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected targetIds to be registered.');\n }\n\n var draggedItemType = monitor.getItemType();\n\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for (var i = targetIds.length - 1; i >= 0; i--) {\n var targetId = targetIds[i];\n var targetType = registry.getTargetType(targetId);\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n\n // Finally call hover on all matching targets.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n var target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n }\n\n return {\n type: HOVER,\n targetIds: targetIds,\n clientOffset: clientOffset\n };\n}\n\nfunction drop() {\n var _this = this;\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\n var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\n targetIds.reverse();\n targetIds.forEach(function (targetId, index) {\n var target = registry.getTarget(targetId);\n\n var dropResult = target.drop(monitor, targetId);\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n\n _this.store.dispatch({\n type: DROP,\n dropResult: dropResult\n });\n });\n}\n\nfunction endDrag() {\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\n var sourceId = monitor.getSourceId();\n var source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n\n registry.unpinSource();\n\n return {\n type: END_DRAG\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/actions/dragDrop.js\n ** module id = 8\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.addSource = addSource;\nexports.addTarget = addTarget;\nexports.removeSource = removeSource;\nexports.removeTarget = removeTarget;\nvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexports.ADD_SOURCE = ADD_SOURCE;\nvar ADD_TARGET = 'dnd-core/ADD_TARGET';\nexports.ADD_TARGET = ADD_TARGET;\nvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexports.REMOVE_SOURCE = REMOVE_SOURCE;\nvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\nexports.REMOVE_TARGET = REMOVE_TARGET;\n\nfunction addSource(sourceId) {\n return {\n type: ADD_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction addTarget(targetId) {\n return {\n type: ADD_TARGET,\n targetId: targetId\n };\n}\n\nfunction removeSource(sourceId) {\n return {\n type: REMOVE_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction removeTarget(targetId) {\n return {\n type: REMOVE_TARGET,\n targetId: targetId\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/actions/registry.js\n ** module id = 9\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocIndexOf.js\n ** module id = 10\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_nativeCreate.js\n ** module id = 11\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArray.js\n ** module id = 12\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isObject.js\n ** module id = 13\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocIndexOf.js\n ** module id = 14\n ** module chunks = 0\n **/","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_nativeCreate.js\n ** module id = 15\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/eq.js\n ** module id = 16\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArrayLikeObject.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isObject.js\n ** module id = 18\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n toInteger = require('./toInteger');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, array);\n case 1: return func.call(this, args[0], array);\n case 2: return func.call(this, args[0], args[1], array);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = rest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/rest.js\n ** module id = 19\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = checkDecoratorArguments;\n\nfunction checkDecoratorArguments(functionName, signature) {\n if (process.env.NODE_ENV !== 'production') {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg && arg.prototype && arg.prototype.render) {\n console.error( // eslint-disable-line no-console\n 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n return;\n }\n }\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/checkDecoratorArguments.js\n ** module id = 20\n ** module chunks = 0\n **/","import update from 'react/lib/update';\r\n\r\n/**\r\n * Adds the specified widget to the specified position in the layout.\r\n */\r\nexport function addWidget(layout, rowIndex, columnIndex, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $push: [{\r\n key: widgetName,\r\n }],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Removes the widget at a specified index.\r\n */\r\nexport function removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [widgetIndex, 1],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Moves a widget from column to column.\r\n */\r\nexport function moveWidget(layout, initialLocation, destination, widgetName) {\r\n const removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\r\n const movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\r\n return movedLayout;\r\n}\r\n\r\n/**\r\n * Sorts a widget in the same column.\r\n */\r\nexport function sortWidget(layout, initialLocation, destination, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [initialLocation.rowIndex]: {\r\n columns: {\r\n [initialLocation.columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [initialLocation.widgetIndex, 1],\r\n [destination.widgetIndex, 0, {\r\n key: widgetName,\r\n }],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/util/index.js\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isDisposable;\n\nfunction isDisposable(obj) {\n return Boolean(obj && typeof obj.dispose === 'function');\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/isDisposable.js\n ** module id = 22\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n cachePush = require('./_cachePush');\n\n/**\n *\n * Creates a set cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.push(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.push = cachePush;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_SetCache.js\n ** module id = 23\n ** module chunks = 0\n **/","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n return !!array.length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayIncludes.js\n ** module id = 24\n ** module chunks = 0\n **/","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayIncludesWith.js\n ** module id = 25\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayMap.js\n ** module id = 26\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Checks if `value` is in `cache`.\n *\n * @private\n * @param {Object} cache The set cache to search.\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction cacheHas(cache, value) {\n var map = cache.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n return hash[value] === HASH_UNDEFINED;\n }\n return map.has(value);\n}\n\nmodule.exports = cacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_cacheHas.js\n ** module id = 27\n ** module chunks = 0\n **/","var isNative = require('./isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_getNative.js\n ** module id = 28\n ** module chunks = 0\n **/","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArrayLikeObject.js\n ** module id = 29\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8 which returns 'object' for typed array and weak map constructors,\n // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isFunction.js\n ** module id = 30\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n toInteger = require('./toInteger');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\nfunction rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = nativeMax(start === undefined ? (func.length - 1) : toInteger(start), 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n switch (start) {\n case 0: return func.call(this, array);\n case 1: return func.call(this, args[0], array);\n case 2: return func.call(this, args[0], args[1], array);\n }\n var otherArgs = Array(start + 1);\n index = -1;\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = rest;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/rest.js\n ** module id = 31\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar FILE = '__NATIVE_FILE__';\nexports.FILE = FILE;\nvar URL = '__NATIVE_URL__';\nexports.URL = URL;\nvar TEXT = '__NATIVE_TEXT__';\nexports.TEXT = TEXT;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/NativeTypes.js\n ** module id = 32\n ** module chunks = 0\n **/","var isNative = require('./isNative');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object[key];\n return isNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_getNative.js\n ** module id = 33\n ** module chunks = 0\n **/","var checkGlobal = require('./_checkGlobal');\n\n/** Used to determine if values are of the language type `Object`. */\nvar objectTypes = {\n 'function': true,\n 'object': true\n};\n\n/** Detect free variable `exports`. */\nvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n ? exports\n : undefined;\n\n/** Detect free variable `module`. */\nvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n ? module\n : undefined;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\n/** Detect free variable `self`. */\nvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\n/** Detect free variable `window`. */\nvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\n/** Detect `this` as the global object. */\nvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\n/**\n * Used as a reference to the global object.\n *\n * The `this` value is used if it's the global object to avoid Greasemonkey's\n * restricted `window` object, otherwise the `window` object is used.\n */\nvar root = freeGlobal ||\n ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n freeSelf || thisGlobal || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_root.js\n ** module id = 34\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArray.js\n ** module id = 35\n ** module chunks = 0\n **/","var isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8 which returns 'object' for typed array and weak map constructors,\n // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isFunction.js\n ** module id = 36\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isObjectLike.js\n ** module id = 37\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropContext = require('./DragDropContext');\n\nexports.DragDropContext = _interopRequire(_DragDropContext);\n\nvar _DragLayer = require('./DragLayer');\n\nexports.DragLayer = _interopRequire(_DragLayer);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/index.js\n ** module id = 38\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/shallowEqual.js\n ** module id = 39\n ** module chunks = 0\n **/","export const WIDGET = 'WIDGET';\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/ItemTypes.js\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _utilsGetNextUniqueId = require('./utils/getNextUniqueId');\n\nvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\nvar _actionsRegistry = require('./actions/registry');\n\nvar _asap = require('asap');\n\nvar _asap2 = _interopRequireDefault(_asap);\n\nvar HandlerRoles = {\n SOURCE: 'SOURCE',\n TARGET: 'TARGET'\n};\n\nfunction validateSourceContract(source) {\n _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\n\nfunction validateTargetContract(target) {\n _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\n\nfunction validateType(type, allowArray) {\n if (allowArray && _lodashIsArray2['default'](type)) {\n type.forEach(function (t) {\n return validateType(t, false);\n });\n return;\n }\n\n _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n}\n\nfunction getNextHandlerId(role) {\n var id = _utilsGetNextUniqueId2['default']().toString();\n switch (role) {\n case HandlerRoles.SOURCE:\n return 'S' + id;\n case HandlerRoles.TARGET:\n return 'T' + id;\n default:\n _invariant2['default'](false, 'Unknown role: ' + role);\n }\n}\n\nfunction parseRoleFromHandlerId(handlerId) {\n switch (handlerId[0]) {\n case 'S':\n return HandlerRoles.SOURCE;\n case 'T':\n return HandlerRoles.TARGET;\n default:\n _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n }\n}\n\nvar HandlerRegistry = (function () {\n function HandlerRegistry(store) {\n _classCallCheck(this, HandlerRegistry);\n\n this.store = store;\n\n this.types = {};\n this.handlers = {};\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n\n HandlerRegistry.prototype.addSource = function addSource(type, source) {\n validateType(type);\n validateSourceContract(source);\n\n var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n this.store.dispatch(_actionsRegistry.addSource(sourceId));\n return sourceId;\n };\n\n HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n validateType(type, true);\n validateTargetContract(target);\n\n var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n this.store.dispatch(_actionsRegistry.addTarget(targetId));\n return targetId;\n };\n\n HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n var id = getNextHandlerId(role);\n this.types[id] = type;\n this.handlers[id] = handler;\n\n return id;\n };\n\n HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n var _this = this;\n\n return Object.keys(this.handlers).some(function (key) {\n return _this.handlers[key] === handler;\n });\n };\n\n HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\n var isPinned = includePinned && sourceId === this.pinnedSourceId;\n var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\n return source;\n };\n\n HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.handlers[targetId];\n };\n\n HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types[sourceId];\n };\n\n HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types[targetId];\n };\n\n HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.SOURCE;\n };\n\n HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.TARGET;\n };\n\n HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n var _this2 = this;\n\n _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\n _asap2['default'](function () {\n delete _this2.handlers[sourceId];\n delete _this2.types[sourceId];\n });\n };\n\n HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n var _this3 = this;\n\n _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\n _asap2['default'](function () {\n delete _this3.handlers[targetId];\n delete _this3.types[targetId];\n });\n };\n\n HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n var source = this.getSource(sourceId);\n _invariant2['default'](source, 'Expected an existing source.');\n\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n };\n\n HandlerRegistry.prototype.unpinSource = function unpinSource() {\n _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n };\n\n return HandlerRegistry;\n})();\n\nexports['default'] = HandlerRegistry;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/HandlerRegistry.js\n ** module id = 41\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = dirtyHandlerIds;\nexports.areDirty = areDirty;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashXor = require('lodash/xor');\n\nvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\nvar _lodashIntersection = require('lodash/intersection');\n\nvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar NONE = [];\nvar ALL = [];\n\nfunction dirtyHandlerIds(state, action, dragOperation) {\n if (state === undefined) state = NONE;\n\n switch (action.type) {\n case _actionsDragDrop.HOVER:\n break;\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n case _actionsRegistry.REMOVE_TARGET:\n case _actionsRegistry.REMOVE_SOURCE:\n return NONE;\n case _actionsDragDrop.BEGIN_DRAG:\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n default:\n return ALL;\n }\n\n var targetIds = action.targetIds;\n var prevTargetIds = dragOperation.targetIds;\n\n var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\n var didChange = false;\n if (dirtyHandlerIds.length === 0) {\n for (var i = 0; i < targetIds.length; i++) {\n if (targetIds[i] !== prevTargetIds[i]) {\n didChange = true;\n break;\n }\n }\n } else {\n didChange = true;\n }\n\n if (!didChange) {\n return NONE;\n }\n\n var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n var innermostTargetId = targetIds[targetIds.length - 1];\n\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n dirtyHandlerIds.push(prevInnermostTargetId);\n }\n if (innermostTargetId) {\n dirtyHandlerIds.push(innermostTargetId);\n }\n }\n\n return dirtyHandlerIds;\n}\n\nfunction areDirty(state, handlerIds) {\n if (state === NONE) {\n return false;\n }\n\n if (state === ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n\n return _lodashIntersection2['default'](handlerIds, state).length > 0;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dirtyHandlerIds.js\n ** module id = 42\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = dragOffset;\nexports.getSourceClientOffset = getSourceClientOffset;\nexports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null\n};\n\nfunction areOffsetsEqual(offsetA, offsetB) {\n if (offsetA === offsetB) {\n return true;\n }\n return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n}\n\nfunction dragOffset(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return {\n initialSourceClientOffset: action.sourceClientOffset,\n initialClientOffset: action.clientOffset,\n clientOffset: action.clientOffset\n };\n case _actionsDragDrop.HOVER:\n if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n return state;\n }\n return _extends({}, state, {\n clientOffset: action.clientOffset\n });\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n return initialState;\n default:\n return state;\n }\n}\n\nfunction getSourceClientOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n var initialSourceClientOffset = state.initialSourceClientOffset;\n\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n };\n}\n\nfunction getDifferenceFromInitialOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x - initialClientOffset.x,\n y: clientOffset.y - initialClientOffset.y\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dragOffset.js\n ** module id = 43\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = matchesType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction matchesType(targetType, draggedItemType) {\n if (_lodashIsArray2['default'](targetType)) {\n return targetType.some(function (t) {\n return t === draggedItemType;\n });\n } else {\n return targetType === draggedItemType;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/utils/matchesType.js\n ** module id = 44\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseDifference.js\n ** module id = 45\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing wrapper metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseUnary.js\n ** module id = 46\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(hash, key) {\n return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashHas.js\n ** module id = 47\n ** module chunks = 0\n **/","var checkGlobal = require('./_checkGlobal');\n\n/** Used to determine if values are of the language type `Object`. */\nvar objectTypes = {\n 'function': true,\n 'object': true\n};\n\n/** Detect free variable `exports`. */\nvar freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)\n ? exports\n : undefined;\n\n/** Detect free variable `module`. */\nvar freeModule = (objectTypes[typeof module] && module && !module.nodeType)\n ? module\n : undefined;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);\n\n/** Detect free variable `self`. */\nvar freeSelf = checkGlobal(objectTypes[typeof self] && self);\n\n/** Detect free variable `window`. */\nvar freeWindow = checkGlobal(objectTypes[typeof window] && window);\n\n/** Detect `this` as the global object. */\nvar thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n\n/**\n * Used as a reference to the global object.\n *\n * The `this` value is used if it's the global object to avoid Greasemonkey's\n * restricted `window` object, otherwise the `window` object is used.\n */\nvar root = freeGlobal ||\n ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||\n freeSelf || thisGlobal || Function('return this')();\n\nmodule.exports = root;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_root.js\n ** module id = 48\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isObjectLike.js\n ** module id = 49\n ** module chunks = 0\n **/","/**\n * A no-operation function that returns `undefined` regardless of the\n * arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/noop.js\n ** module id = 50\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashMemoize = require('lodash/memoize');\n\nvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\nvar isFirefox = _lodashMemoize2['default'](function () {\n return (/firefox/i.test(navigator.userAgent)\n );\n});\n\nexports.isFirefox = isFirefox;\nvar isSafari = _lodashMemoize2['default'](function () {\n return Boolean(window.safari);\n});\nexports.isSafari = isSafari;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/BrowserDetector.js\n ** module id = 51\n ** module chunks = 0\n **/","var mapClear = require('./_mapClear'),\n mapDelete = require('./_mapDelete'),\n mapGet = require('./_mapGet'),\n mapHas = require('./_mapHas'),\n mapSet = require('./_mapSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction MapCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = values[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapClear;\nMapCache.prototype['delete'] = mapDelete;\nMapCache.prototype.get = mapGet;\nMapCache.prototype.has = mapHas;\nMapCache.prototype.set = mapSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_MapCache.js\n ** module id = 52\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache'),\n cachePush = require('./_cachePush');\n\n/**\n *\n * Creates a set cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.push(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.push = cachePush;\n\nmodule.exports = SetCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_SetCache.js\n ** module id = 53\n ** module chunks = 0\n **/","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n var length = args.length;\n switch (length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_apply.js\n ** module id = 54\n ** module chunks = 0\n **/","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n return !!array.length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayIncludes.js\n ** module id = 55\n ** module chunks = 0\n **/","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayIncludesWith.js\n ** module id = 56\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Checks if `value` is in `cache`.\n *\n * @private\n * @param {Object} cache The set cache to search.\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction cacheHas(cache, value) {\n var map = cache.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n return hash[value] === HASH_UNDEFINED;\n }\n return map.has(value);\n}\n\nmodule.exports = cacheHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_cacheHas.js\n ** module id = 57\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(hash, key) {\n return nativeCreate ? hash[key] !== undefined : hasOwnProperty.call(hash, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashHas.js\n ** module id = 58\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\nmodule.exports = isIndex;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isIndex.js\n ** module id = 59\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 incorrectly makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\nmodule.exports = isArguments;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArguments.js\n ** module id = 60\n ** module chunks = 0\n **/","var getLength = require('./_getLength'),\n isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value)) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isArrayLike.js\n ** module id = 61\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length,\n * else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isLength.js\n ** module id = 62\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = areOptionsEqual;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nfunction areOptionsEqual(nextOptions, currentOptions) {\n if (currentOptions === nextOptions) {\n return true;\n }\n\n return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/areOptionsEqual.js\n ** module id = 63\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = decorateHandler;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _disposables = require('disposables');\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction decorateHandler(_ref) {\n var DecoratedComponent = _ref.DecoratedComponent;\n var createHandler = _ref.createHandler;\n var createMonitor = _ref.createMonitor;\n var createConnector = _ref.createConnector;\n var registerHandler = _ref.registerHandler;\n var containerDisplayName = _ref.containerDisplayName;\n var getType = _ref.getType;\n var collect = _ref.collect;\n var options = _ref.options;\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContainer, _Component);\n\n DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n return this.handlerId;\n };\n\n DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.decoratedComponentInstance;\n };\n\n DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragDropContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: containerDisplayName + '(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragDropContainer(props, context) {\n _classCallCheck(this, DragDropContainer);\n\n _Component.call(this, props, context);\n this.handleChange = this.handleChange.bind(this);\n this.handleChildRef = this.handleChildRef.bind(this);\n\n _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.manager = this.context.dragDropManager;\n this.handlerMonitor = createMonitor(this.manager);\n this.handlerConnector = createConnector(this.manager.getBackend());\n this.handler = createHandler(this.handlerMonitor);\n\n this.disposable = new _disposables.SerialDisposable();\n this.receiveProps(props);\n this.state = this.getCurrentState();\n this.dispose();\n }\n\n DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n this.disposable = new _disposables.SerialDisposable();\n this.currentType = null;\n this.receiveProps(this.props);\n this.handleChange();\n };\n\n DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!arePropsEqual(nextProps, this.props)) {\n this.receiveProps(nextProps);\n this.handleChange();\n }\n };\n\n DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.dispose();\n this.isCurrentlyMounted = false;\n };\n\n DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n this.handler.receiveProps(props);\n this.receiveType(getType(props));\n };\n\n DragDropContainer.prototype.receiveType = function receiveType(type) {\n if (type === this.currentType) {\n return;\n }\n\n this.currentType = type;\n\n var _registerHandler = registerHandler(type, this.handler, this.manager);\n\n var handlerId = _registerHandler.handlerId;\n var unregister = _registerHandler.unregister;\n\n this.handlerId = handlerId;\n this.handlerMonitor.receiveHandlerId(handlerId);\n this.handlerConnector.receiveHandlerId(handlerId);\n\n var globalMonitor = this.manager.getMonitor();\n var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\n this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n };\n\n DragDropContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragDropContainer.prototype.dispose = function dispose() {\n this.disposable.dispose();\n this.handlerConnector.receiveHandlerId(null);\n };\n\n DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n this.decoratedComponentInstance = component;\n this.handler.receiveComponent(component);\n };\n\n DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n }\n\n return nextState;\n };\n\n DragDropContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: this.handleChildRef }));\n };\n\n return DragDropContainer;\n })(_react.Component);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/decorateHandler.js\n ** module id = 64\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isValidType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction isValidType(type, allowArray) {\n return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n return isValidType(t, false);\n });\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/isValidType.js\n ** module id = 65\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = shallowEqualScalar;\n\nfunction shallowEqualScalar(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i])) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/shallowEqualScalar.js\n ** module id = 66\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = wrapConnectorHooks;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsCloneWithRef = require('./utils/cloneWithRef');\n\nvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\nvar _react = require('react');\n\nfunction throwIfCompositeComponentElement(element) {\n // Custom components can no longer be wrapped directly in React DnD 2.0\n // so that we don't need to depend on findDOMNode() from react-dom.\n if (typeof element.type === 'string') {\n return;\n }\n\n var displayName = element.type.displayName || element.type.name || 'the component';\n\n throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n}\n\nfunction wrapHookToRecognizeElement(hook) {\n return function () {\n var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n // When passed a node, call the hook straight away.\n if (!_react.isValidElement(elementOrNode)) {\n var node = elementOrNode;\n hook(node, options);\n return;\n }\n\n // If passed a ReactElement, clone it and attach this function as a ref.\n // This helps us achieve a neat API where user doesn't even know that refs\n // are being used under the hood.\n var element = elementOrNode;\n throwIfCompositeComponentElement(element);\n\n // When no options are passed, use the hook directly\n var ref = options ? function (node) {\n return hook(node, options);\n } : hook;\n\n return _utilsCloneWithRef2['default'](element, ref);\n };\n}\n\nfunction wrapConnectorHooks(hooks) {\n var wrappedHooks = {};\n\n Object.keys(hooks).forEach(function (key) {\n var hook = hooks[key];\n var wrappedHook = wrapHookToRecognizeElement(hook);\n wrappedHooks[key] = function () {\n return wrappedHook;\n };\n });\n\n return wrappedHooks;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/wrapConnectorHooks.js\n ** module id = 67\n ** module chunks = 0\n **/","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** (webpack)/buildin/module.js\n ** module id = 68\n ** module chunks = 0\n **/","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default AddWidget component.\r\n * @param {[type]} {text [description]\r\n * @param {[type]} onClick} [description]\r\n * @return {[type]} [description]\r\n */\r\nconst AddWidget = ({text, onClick}) => {\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n};\r\n\r\nAddWidget.propTypes = {\r\n /**\r\n * Should be called when 'add' is clicked\r\n */\r\n onClick: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the component\r\n */\r\n text: PropTypes.string,\r\n};\r\n\r\nAddWidget.defaultProps = {\r\n text: 'Add Widget',\r\n};\r\n\r\nexport default AddWidget;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/AddWidget.js\n **/","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport AddWidget from './AddWidget';\r\nimport { moveWidget } from '../util';\r\n\r\nconst columnTarget = {\r\n drop(props, monitor) {\r\n const { layout, rowIndex, columnIndex, onMove} = props;\r\n const item = monitor.getItem();\r\n if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\r\n const movedLayout = moveWidget(layout, {\r\n rowIndex: item.rowIndex,\r\n columnIndex: item.columnIndex,\r\n widgetIndex: item.widgetIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n }, item.widgetName);\r\n onMove(movedLayout);\r\n }\r\n },\r\n};\r\n\r\n/**\r\n * Colum of the dashboard grid. A column holds multiple widgets.\r\n */\r\n@DropTarget(WIDGET, columnTarget, (connect, monitor) => ({\r\n connectDropTarget: connect.dropTarget(),\r\n isOver: monitor.isOver(),\r\n canDrop: monitor.canDrop(),\r\n}))\r\nclass Column extends Component {\r\n render() {\r\n const {\r\n className,\r\n layout,\r\n rowIndex,\r\n columnIndex,\r\n editable,\r\n children,\r\n connectDropTarget,\r\n onAdd,\r\n isOver,\r\n canDrop,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = this.props;\r\n\r\n let classes = className;\r\n classes = editable ? `${className} ${editableColumnClass}` : classes;\r\n const isActive = isOver && canDrop;\r\n classes = isActive ? `${classes} ${droppableColumnClass}` : classes;\r\n\r\n let addWidgetComponentToUse = null;\r\n if (addWidgetComponent) {\r\n addWidgetComponentToUse = createElement(addWidgetComponent, {\ttext: addWidgetComponentText, onClick:\t() => {onAdd(layout, rowIndex, columnIndex);} });\r\n } else {\r\n addWidgetComponentToUse = {onAdd(layout, rowIndex, columnIndex);}}/>;\r\n }\r\n\r\n return (\r\n connectDropTarget(\r\n
\r\n {editable && addWidgetComponentToUse}\r\n { children }\r\n
\r\n )\r\n );\r\n }\r\n}\r\n\r\nColumn.propTypes = {\r\n /**\r\n * Children of the column\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * CSS class that should be used with the column.\r\n */\r\n className: PropTypes.string,\r\n\r\n /**\r\n * Function that should be called when user tries to add a widget\r\n * to the column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row that this column resides.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of this column.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather dashboard is in editable state\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Indicates weather a widget is being draged over.\r\n */\r\n isOver: PropTypes.bool,\r\n\r\n /**\r\n * Indicated a widget can be dropped.\r\n */\r\n canDrop: PropTypes.bool,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be given to the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * ReactDnd's connectDropTarget.\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n};\r\n\r\nColumn.defaultProps = {\r\n editableColumnClass: 'editable-column',\r\n droppableColumnClass: 'droppable-column',\r\n};\r\n\r\nexport default Column;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Column.js\n **/","import React, { Component, PropTypes } from 'react';\r\nimport { DragDropContext } from 'react-dnd';\r\nimport HTML5Backend from 'react-dnd-html5-backend';\r\nimport LayoutRenderer from './LayoutRenderer';\r\n\r\n/**\r\n * Main dashboard component. This is where all of this starts.\r\n */\r\n @DragDropContext(HTML5Backend)\r\nclass Dashboard extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nDashboard.PropTypes = {\r\n /**\r\n * The layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * List of widgets that are avilable in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather the dashoard is in editable state or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * CSS class name that should be provided to the row. Default is 'row'.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Customized widget frame. The dashboard supports a default frame. But if\r\n * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n * could create your own widget frame and pass it through here. Ever widget Will\r\n * use this as the outer container which displays controls like 'remove' button\r\n * on edit mode.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * A custom component for the `add widget` button.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Will be called when a widget removed by the user from the dashboard.\r\n * Should be handled if the dashbord supports edit functionality.\r\n * provides the updated layout object. This layout object with the removed widget\r\n * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Will be called when user tries to add a widget into a column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Dashboard;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Dashboard.js\n **/","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default frame that will be used with the widgets.\r\n */\r\nconst DefaultFrame = ({children, onRemove, editable, title}) => {\r\n return (\r\n
\r\n
\r\n {title}\r\n {editable && {onRemove();}}>Remove}\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nDefaultFrame.propTypes = {\r\n /**\r\n * Indicates weather the dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Children of the frame.\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * Function to call when the widget is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Title of the widget\r\n */\r\n title: PropTypes.string,\r\n};\r\n\r\nexport default DefaultFrame;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/DefaultFrame.js\n **/","import React, { PropTypes } from 'react';\r\nimport Row from './Row';\r\n\r\n/**\r\n * Renders the row, column layout based on the layout provided to the dashboard.\r\n */\r\nconst LayoutRenderer = (props) => {\r\n const {\r\n layout,\r\n widgets,\r\n onRemove,\r\n editable,\r\n onAdd,\r\n frameComponent,\r\n rowClass,\r\n onMove,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = props;\r\n\r\n let rows = layout.rows.map((row, rowIndex) => {\r\n return (\r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {rows}\r\n
\r\n );\r\n};\r\n\r\nLayoutRenderer.propTypes = {\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Widgets that the dashboard supports.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather this dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Function that will be called when user removed a widget.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Function that will be called user tries to add a widget.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Frame that should be used as the outer cotnainer of the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class name that should be provided to the row component.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n};\r\n\r\nLayoutRenderer.defaultProps = {\r\n /**\r\n * Default layout.\r\n */\r\n layout: {\r\n rows: [],\r\n },\r\n};\r\n\r\nexport default LayoutRenderer;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/LayoutRenderer.js\n **/","import React, { PropTypes } from 'react';\r\nimport Column from './Column';\r\nimport Widgets from './Widgets';\r\n\r\n/**\r\n * Returns a set of columns that belongs to a row.\r\n */\r\nfunction Row(props) {\r\n const {\r\n rowClass,\r\n columns,\r\n widgets,\r\n onRemove,\r\n layout,\r\n rowIndex,\r\n editable,\r\n frameComponent,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n onAdd,\r\n onMove,\r\n } = props;\r\n\r\n const items = columns.map((column, index) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {items}\r\n
\r\n );\r\n}\r\n\r\nRow.propTypes = {\r\n /**\r\n * CSS class that should be used to represent a row.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Columns of the layout.\r\n */\r\n columns: PropTypes.array,\r\n\r\n /**\r\n * Widgets that should be used in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row where this column is in.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather the dashboard is in editable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Custom frame that should be used with the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Custom AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Method that should be called when a component is added.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a component is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nRow.defaultProps = {\r\n /**\r\n * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n */\r\n rowClass: 'row',\r\n};\r\n\r\nexport default Row;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Row.js\n **/","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport { DragSource, DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport { removeWidget, sortWidget } from '../util';\r\nimport DefaultFrame from './DefaultFrame';\r\n\r\nconst boxSource = {\r\n beginDrag(props) {\r\n return {\r\n widgetName: props.widgetName,\r\n rowIndex: props.rowIndex,\r\n columnIndex: props.columnIndex,\r\n widgetIndex: props.widgetIndex,\r\n };\r\n },\r\n\r\n canDrag(props) {\r\n return props.editable;\r\n },\r\n};\r\n\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().widgetIndex;\r\n const hoverIndex = props.widgetIndex;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex) {\r\n return;\r\n }\r\n\r\n // Determine rectangle on screen\r\n const hoverBoundingRect = findDOMNode(component).getBoundingClientRect();\r\n\r\n // Get vertical middle\r\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\r\n\r\n // Determine mouse position\r\n const clientOffset = monitor.getClientOffset();\r\n\r\n // Get pixels to the top\r\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\r\n\r\n // Only perform the move when the mouse has crossed half of the items height\r\n // When dragging downwards, only move when the cursor is below 50%\r\n // When dragging upwards, only move when the cursor is above 50%\r\n\r\n // Dragging downwards\r\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Dragging upwards\r\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Time to actually perform the action\r\n const { layout, columnIndex, rowIndex } = props;\r\n\r\n if (monitor.getItem().columnIndex === columnIndex) {\r\n const newLayout = sortWidget(layout, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: dragIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: hoverIndex,\r\n }, monitor.getItem().widgetName);\r\n\r\n props.onMove(newLayout);\r\n }\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().widgetIndex = hoverIndex;\r\n },\r\n};\r\n\r\n/**\r\n * Frame component which surrounds each widget.\r\n */\r\n @DropTarget(WIDGET, cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget(),\r\n }))\r\n @DragSource(WIDGET, boxSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging(),\r\n }))\r\nclass WidgetFrame extends Component {\r\n render() {\r\n const {\r\n frameComponent,\r\n children,\r\n editable,\r\n title,\r\n connectDragSource,\r\n connectDropTarget,\r\n isDragging,\r\n } = this.props;\r\n\r\n let selected = null;\r\n\r\n if (frameComponent) {\r\n // if user provided a custom frame, use it\r\n selected = createElement(frameComponent, {\tchildren,\teditable, title, onRemove: this.remove });\r\n } else {\r\n // else use the default frame\r\n selected = (\r\n \r\n );\r\n }\r\n const opacity = isDragging ? 0 : 1;\r\n return connectDragSource(connectDropTarget(\r\n
\r\n {selected}\r\n
\r\n ));\r\n }\r\n\r\n remove = () => {\r\n const { layout, rowIndex, columnIndex, widgetIndex } = this.props;\r\n const newLayout = removeWidget(layout, rowIndex, columnIndex, widgetIndex);\r\n this.props.onRemove(newLayout);\r\n }\r\n}\r\n\r\nWidgetFrame.propTypes = {\r\n /**\r\n * Childrens of the widget frame.\r\n */\r\n children: PropTypes.element,\r\n\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the widget.\r\n */\r\n widgetIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Name of the widget.\r\n */\r\n widgetName: PropTypes.string,\r\n\r\n /**\r\n * Title of the widget.\r\n */\r\n title: PropTypes.string,\r\n\r\n /**\r\n * Weather the component is being dragged.\r\n */\r\n isDragging: PropTypes.bool,\r\n\r\n /**\r\n * ReactDnd's connectDragSource().\r\n */\r\n connectDragSource: PropTypes.func,\r\n\r\n/**\r\n * ReactDnd's connectDropTarget().\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n};\r\n\r\nexport default WidgetFrame;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/WidgetFrame.js\n **/","import React, { PropTypes, createElement } from 'react';\r\nimport WidgetFrame from './WidgetFrame';\r\n\r\n/**\r\n * Component that renders the widget which belongs to a column.\r\n */\r\nconst Widgets = ({widgets, widgetTypes, onRemove, layout, columnIndex, rowIndex, editable, frameComponent, onMove}) => {\r\n let createdWidgets = widgets.map((widget, index)=> {\r\n return (\r\n \r\n {\r\n createElement(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\r\n }\r\n \r\n );\r\n });\r\n return
{createdWidgets}
;\r\n};\r\n\r\nWidgets.propTypes = {\r\n /**\r\n * Widgets that should be rendered.\r\n */\r\n widgets: PropTypes.array,\r\n\r\n /**\r\n * Widgets that are available in the dashboard.\r\n */\r\n widgetTypes: PropTypes.object,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Method to call when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Widgets;\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/components/Widgets.js\n **/","export { default as default } from './components/Dashboard';\r\nexport { addWidget } from './util';\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/index.js\n **/","\"use strict\";\n\n// rawAsap provides everything we need except exception management.\nvar rawAsap = require(\"./raw\");\n// RawTasks are recycled to reduce GC churn.\nvar freeTasks = [];\n// We queue errors to ensure they are thrown in right order (FIFO).\n// Array-as-queue is good enough here, since we are just dealing with exceptions.\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n}\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawAsap(rawTask);\n}\n\n// We wrap tasks with recyclable task objects. A task object implements\n// `call`, just like a function.\nfunction RawTask() {\n this.task = null;\n}\n\n// The sole purpose of wrapping the task is to catch the exception and recycle\n// the task object after its single use.\nRawTask.prototype.call = function () {\n try {\n this.task.call();\n } catch (error) {\n if (asap.onerror) {\n // This hook exists purely for testing purposes.\n // Its name will be periodically randomized to break any code that\n // depends on its existence.\n asap.onerror(error);\n } else {\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n pendingErrors.push(error);\n requestErrorThrow();\n }\n } finally {\n this.task = null;\n freeTasks[freeTasks.length] = this;\n }\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/asap/browser-asap.js\n ** module id = 78\n ** module chunks = 0\n **/","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\nvar BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/asap/browser-raw.js\n ** module id = 79\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\n/**\n * Represents a group of disposable resources that are disposed together.\n */\n\nvar CompositeDisposable = (function () {\n function CompositeDisposable() {\n for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n disposables[_key] = arguments[_key];\n }\n\n _classCallCheck(this, CompositeDisposable);\n\n if (Array.isArray(disposables[0]) && disposables.length === 1) {\n disposables = disposables[0];\n }\n\n for (var i = 0; i < disposables.length; i++) {\n if (!_isDisposable2['default'](disposables[i])) {\n throw new Error('Expected a disposable');\n }\n }\n\n this.disposables = disposables;\n this.isDisposed = false;\n }\n\n /**\n * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n * @param {Disposable} item Disposable to add.\n */\n\n CompositeDisposable.prototype.add = function add(item) {\n if (this.isDisposed) {\n item.dispose();\n } else {\n this.disposables.push(item);\n }\n };\n\n /**\n * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n * @param {Disposable} item Disposable to remove.\n * @returns {Boolean} true if found; false otherwise.\n */\n\n CompositeDisposable.prototype.remove = function remove(item) {\n if (this.isDisposed) {\n return false;\n }\n\n var index = this.disposables.indexOf(item);\n if (index === -1) {\n return false;\n }\n\n this.disposables.splice(index, 1);\n item.dispose();\n return true;\n };\n\n /**\n * Disposes all disposables in the group and removes them from the group.\n */\n\n CompositeDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n var len = this.disposables.length;\n var currentDisposables = new Array(len);\n for (var i = 0; i < len; i++) {\n currentDisposables[i] = this.disposables[i];\n }\n\n this.isDisposed = true;\n this.disposables = [];\n this.length = 0;\n\n for (var i = 0; i < len; i++) {\n currentDisposables[i].dispose();\n }\n };\n\n return CompositeDisposable;\n})();\n\nexports['default'] = CompositeDisposable;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/CompositeDisposable.js\n ** module id = 80\n ** module chunks = 0\n **/","\"use strict\";\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports.__esModule = true;\nvar noop = function noop() {};\n\n/**\n * The basic disposable.\n */\n\nvar Disposable = (function () {\n function Disposable(action) {\n _classCallCheck(this, Disposable);\n\n this.isDisposed = false;\n this.action = action || noop;\n }\n\n Disposable.prototype.dispose = function dispose() {\n if (!this.isDisposed) {\n this.action.call(null);\n this.isDisposed = true;\n }\n };\n\n _createClass(Disposable, null, [{\n key: \"empty\",\n enumerable: true,\n value: { dispose: noop }\n }]);\n\n return Disposable;\n})();\n\nexports[\"default\"] = Disposable;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/Disposable.js\n ** module id = 81\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\nvar SerialDisposable = (function () {\n function SerialDisposable() {\n _classCallCheck(this, SerialDisposable);\n\n this.isDisposed = false;\n this.current = null;\n }\n\n /**\n * Gets the underlying disposable.\n * @return The underlying disposable.\n */\n\n SerialDisposable.prototype.getDisposable = function getDisposable() {\n return this.current;\n };\n\n /**\n * Sets the underlying disposable.\n * @param {Disposable} value The new underlying disposable.\n */\n\n SerialDisposable.prototype.setDisposable = function setDisposable() {\n var value = arguments[0] === undefined ? null : arguments[0];\n\n if (value != null && !_isDisposable2['default'](value)) {\n throw new Error('Expected either an empty value or a valid disposable');\n }\n\n var isDisposed = this.isDisposed;\n var previous = undefined;\n\n if (!isDisposed) {\n previous = this.current;\n this.current = value;\n }\n\n if (previous) {\n previous.dispose();\n }\n\n if (isDisposed && value) {\n value.dispose();\n }\n };\n\n /**\n * Disposes the underlying disposable as well as all future replacements.\n */\n\n SerialDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n this.isDisposed = true;\n var previous = this.current;\n this.current = null;\n\n if (previous) {\n previous.dispose();\n }\n };\n\n return SerialDisposable;\n})();\n\nexports['default'] = SerialDisposable;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/SerialDisposable.js\n ** module id = 82\n ** module chunks = 0\n **/","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nexports.__esModule = true;\n\nvar _isDisposable2 = require('./isDisposable');\n\nvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\nexports.isDisposable = _isDisposable3['default'];\n\nvar _Disposable2 = require('./Disposable');\n\nvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\nexports.Disposable = _Disposable3['default'];\n\nvar _CompositeDisposable2 = require('./CompositeDisposable');\n\nvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\nexports.CompositeDisposable = _CompositeDisposable3['default'];\n\nvar _SerialDisposable2 = require('./SerialDisposable');\n\nvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\nexports.SerialDisposable = _SerialDisposable3['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/disposables/modules/index.js\n ** module id = 83\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _reduxLibCreateStore = require('redux/lib/createStore');\n\nvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\nvar _reducers = require('./reducers');\n\nvar _reducers2 = _interopRequireDefault(_reducers);\n\nvar _actionsDragDrop = require('./actions/dragDrop');\n\nvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\nvar _DragDropMonitor = require('./DragDropMonitor');\n\nvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar DragDropManager = (function () {\n function DragDropManager(createBackend) {\n _classCallCheck(this, DragDropManager);\n\n var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\n this.store = store;\n this.monitor = new _DragDropMonitor2['default'](store);\n this.registry = this.monitor.registry;\n this.backend = createBackend(this);\n\n store.subscribe(this.handleRefCountChange.bind(this));\n }\n\n DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n var shouldSetUp = this.store.getState().refCount > 0;\n if (shouldSetUp && !this.isSetUp) {\n this.backend.setup();\n this.isSetUp = true;\n } else if (!shouldSetUp && this.isSetUp) {\n this.backend.teardown();\n this.isSetUp = false;\n }\n };\n\n DragDropManager.prototype.getMonitor = function getMonitor() {\n return this.monitor;\n };\n\n DragDropManager.prototype.getBackend = function getBackend() {\n return this.backend;\n };\n\n DragDropManager.prototype.getRegistry = function getRegistry() {\n return this.registry;\n };\n\n DragDropManager.prototype.getActions = function getActions() {\n var manager = this;\n var dispatch = this.store.dispatch;\n\n function bindActionCreator(actionCreator) {\n return function () {\n var action = actionCreator.apply(manager, arguments);\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n return Object.keys(dragDropActions).filter(function (key) {\n return typeof dragDropActions[key] === 'function';\n }).reduce(function (boundActions, key) {\n boundActions[key] = bindActionCreator(dragDropActions[key]);\n return boundActions;\n }, {});\n };\n\n return DragDropManager;\n})();\n\nexports['default'] = DragDropManager;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragDropManager.js\n ** module id = 84\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsMatchesType = require('./utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar _reducersDragOffset = require('./reducers/dragOffset');\n\nvar _reducersDirtyHandlerIds = require('./reducers/dirtyHandlerIds');\n\nvar DragDropMonitor = (function () {\n function DragDropMonitor(store) {\n _classCallCheck(this, DragDropMonitor);\n\n this.store = store;\n this.registry = new _HandlerRegistry2['default'](store);\n }\n\n DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n var _this = this;\n\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var handlerIds = _ref.handlerIds;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\n var prevStateId = this.store.getState().stateId;\n var handleChange = function handleChange() {\n var state = _this.store.getState();\n var currentStateId = state.stateId;\n try {\n var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\n if (!canSkipListener) {\n listener();\n }\n } finally {\n prevStateId = currentStateId;\n }\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n var _this2 = this;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\n var previousState = this.store.getState().dragOffset;\n var handleChange = function handleChange() {\n var nextState = _this2.store.getState().dragOffset;\n if (nextState === previousState) {\n return;\n }\n\n previousState = nextState;\n listener();\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n var source = this.registry.getSource(sourceId);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (this.isDragging()) {\n return false;\n }\n\n return source.canDrag(this, sourceId);\n };\n\n DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n var target = this.registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected to find a valid target.');\n\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n };\n\n DragDropMonitor.prototype.isDragging = function isDragging() {\n return Boolean(this.getItemType());\n };\n\n DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n var source = this.registry.getSource(sourceId, true);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n\n var sourceType = this.registry.getSourceType(sourceId);\n var draggedItemType = this.getItemType();\n if (sourceType !== draggedItemType) {\n return false;\n }\n\n return source.isDragging(this, sourceId);\n };\n\n DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$shallow = _ref2.shallow;\n var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\n if (!this.isDragging()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n return false;\n }\n\n var targetIds = this.getTargetIds();\n if (!targetIds.length) {\n return false;\n }\n\n var index = targetIds.indexOf(targetId);\n if (shallow) {\n return index === targetIds.length - 1;\n } else {\n return index > -1;\n }\n };\n\n DragDropMonitor.prototype.getItemType = function getItemType() {\n return this.store.getState().dragOperation.itemType;\n };\n\n DragDropMonitor.prototype.getItem = function getItem() {\n return this.store.getState().dragOperation.item;\n };\n\n DragDropMonitor.prototype.getSourceId = function getSourceId() {\n return this.store.getState().dragOperation.sourceId;\n };\n\n DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n return this.store.getState().dragOperation.targetIds;\n };\n\n DragDropMonitor.prototype.getDropResult = function getDropResult() {\n return this.store.getState().dragOperation.dropResult;\n };\n\n DragDropMonitor.prototype.didDrop = function didDrop() {\n return this.store.getState().dragOperation.didDrop;\n };\n\n DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n return this.store.getState().dragOperation.isSourcePublic;\n };\n\n DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.store.getState().dragOffset.initialClientOffset;\n };\n\n DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n };\n\n DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.store.getState().dragOffset.clientOffset;\n };\n\n DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n };\n\n DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n };\n\n return DragDropMonitor;\n})();\n\nexports['default'] = DragDropMonitor;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragDropMonitor.js\n ** module id = 85\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DragSource = (function () {\n function DragSource() {\n _classCallCheck(this, DragSource);\n }\n\n DragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n DragSource.prototype.endDrag = function endDrag() {};\n\n return DragSource;\n})();\n\nexports[\"default\"] = DragSource;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DragSource.js\n ** module id = 86\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DropTarget = (function () {\n function DropTarget() {\n _classCallCheck(this, DropTarget);\n }\n\n DropTarget.prototype.canDrop = function canDrop() {\n return true;\n };\n\n DropTarget.prototype.hover = function hover() {};\n\n DropTarget.prototype.drop = function drop() {};\n\n return DropTarget;\n})();\n\nexports[\"default\"] = DropTarget;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/DropTarget.js\n ** module id = 87\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createBackend;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashNoop = require('lodash/noop');\n\nvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\nvar TestBackend = (function () {\n function TestBackend(manager) {\n _classCallCheck(this, TestBackend);\n\n this.actions = manager.getActions();\n }\n\n TestBackend.prototype.setup = function setup() {\n this.didCallSetup = true;\n };\n\n TestBackend.prototype.teardown = function teardown() {\n this.didCallTeardown = true;\n };\n\n TestBackend.prototype.connectDragSource = function connectDragSource() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n this.actions.beginDrag(sourceIds, options);\n };\n\n TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n this.actions.publishDragSource();\n };\n\n TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n this.actions.hover(targetIds, options);\n };\n\n TestBackend.prototype.simulateDrop = function simulateDrop() {\n this.actions.drop();\n };\n\n TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n this.actions.endDrag();\n };\n\n return TestBackend;\n})();\n\nfunction createBackend(manager) {\n return new TestBackend(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/backends/createTestBackend.js\n ** module id = 88\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropManager = require('./DragDropManager');\n\nexports.DragDropManager = _interopRequire(_DragDropManager);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\nvar _backendsCreateTestBackend = require('./backends/createTestBackend');\n\nexports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/index.js\n ** module id = 89\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = dragOperation;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null\n};\n\nfunction dragOperation(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return _extends({}, state, {\n itemType: action.itemType,\n item: action.item,\n sourceId: action.sourceId,\n isSourcePublic: action.isSourcePublic,\n dropResult: null,\n didDrop: false\n });\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n return _extends({}, state, {\n isSourcePublic: true\n });\n case _actionsDragDrop.HOVER:\n return _extends({}, state, {\n targetIds: action.targetIds\n });\n case _actionsRegistry.REMOVE_TARGET:\n if (state.targetIds.indexOf(action.targetId) === -1) {\n return state;\n }\n return _extends({}, state, {\n targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n });\n case _actionsDragDrop.DROP:\n return _extends({}, state, {\n dropResult: action.dropResult,\n didDrop: true,\n targetIds: []\n });\n case _actionsDragDrop.END_DRAG:\n return _extends({}, state, {\n itemType: null,\n item: null,\n sourceId: null,\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n targetIds: []\n });\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/dragOperation.js\n ** module id = 90\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _dragOffset = require('./dragOffset');\n\nvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\nvar _dragOperation = require('./dragOperation');\n\nvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\nvar _refCount = require('./refCount');\n\nvar _refCount2 = _interopRequireDefault(_refCount);\n\nvar _dirtyHandlerIds = require('./dirtyHandlerIds');\n\nvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\nvar _stateId = require('./stateId');\n\nvar _stateId2 = _interopRequireDefault(_stateId);\n\nexports['default'] = function (state, action) {\n if (state === undefined) state = {};\n\n return {\n dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n dragOffset: _dragOffset2['default'](state.dragOffset, action),\n refCount: _refCount2['default'](state.refCount, action),\n dragOperation: _dragOperation2['default'](state.dragOperation, action),\n stateId: _stateId2['default'](state.stateId)\n };\n};\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/index.js\n ** module id = 91\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = refCount;\n\nvar _actionsRegistry = require('../actions/registry');\n\nfunction refCount(state, action) {\n if (state === undefined) state = 0;\n\n switch (action.type) {\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n return state + 1;\n case _actionsRegistry.REMOVE_SOURCE:\n case _actionsRegistry.REMOVE_TARGET:\n return state - 1;\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/refCount.js\n ** module id = 92\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stateId;\n\nfunction stateId() {\n var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\n return state + 1;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/reducers/stateId.js\n ** module id = 93\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getNextUniqueId;\nvar nextUniqueId = 0;\n\nfunction getNextUniqueId() {\n return nextUniqueId++;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/lib/utils/getNextUniqueId.js\n ** module id = 94\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @returns {Object} Returns the new hash object.\n */\nfunction Hash() {}\n\n// Avoid inheriting from `Object.prototype` when possible.\nHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\nmodule.exports = Hash;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Hash.js\n ** module id = 95\n ** module chunks = 0\n **/","var mapClear = require('./_mapClear'),\n mapDelete = require('./_mapDelete'),\n mapGet = require('./_mapGet'),\n mapHas = require('./_mapHas'),\n mapSet = require('./_mapSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction MapCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = values[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapClear;\nMapCache.prototype['delete'] = mapDelete;\nMapCache.prototype.get = mapGet;\nMapCache.prototype.has = mapHas;\nMapCache.prototype.set = mapSet;\n\nmodule.exports = MapCache;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_MapCache.js\n ** module id = 96\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_Set.js\n ** module id = 97\n ** module chunks = 0\n **/","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n var length = args.length;\n switch (length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_apply.js\n ** module id = 98\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayFilter.js\n ** module id = 99\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_arrayPush.js\n ** module id = 100\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the associative array.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction assocDelete(array, key) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = array.length - 1;\n if (index == lastIndex) {\n array.pop();\n } else {\n splice.call(array, index, 1);\n }\n return true;\n}\n\nmodule.exports = assocDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocDelete.js\n ** module id = 101\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the associative array value for `key`.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction assocGet(array, key) {\n var index = assocIndexOf(array, key);\n return index < 0 ? undefined : array[index][1];\n}\n\nmodule.exports = assocGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocGet.js\n ** module id = 102\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if an associative array value for `key` exists.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction assocHas(array, key) {\n return assocIndexOf(array, key) > -1;\n}\n\nmodule.exports = assocHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocHas.js\n ** module id = 103\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the associative array `key` to `value`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction assocSet(array, key, value) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n array.push([key, value]);\n } else {\n array[index][1] = value;\n }\n}\n\nmodule.exports = assocSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_assocSet.js\n ** module id = 104\n ** module chunks = 0\n **/","var indexOfNaN = require('./_indexOfNaN');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return indexOfNaN(array, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseIndexOf.js\n ** module id = 105\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseIntersection;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseIntersection.js\n ** module id = 106\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseProperty.js\n ** module id = 107\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseUniq.js\n ** module id = 108\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n baseDifference = require('./_baseDifference'),\n baseUniq = require('./_baseUniq');\n\n/**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\nfunction baseXor(arrays, iteratee, comparator) {\n var index = -1,\n length = arrays.length;\n\n while (++index < length) {\n var result = result\n ? arrayPush(\n baseDifference(result, arrays[index], iteratee, comparator),\n baseDifference(arrays[index], result, iteratee, comparator)\n )\n : arrays[index];\n }\n return (result && result.length) ? baseUniq(result, iteratee, comparator) : [];\n}\n\nmodule.exports = baseXor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_baseXor.js\n ** module id = 109\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the set cache.\n *\n * @private\n * @name push\n * @memberOf SetCache\n * @param {*} value The value to cache.\n */\nfunction cachePush(value) {\n var map = this.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n hash[value] = HASH_UNDEFINED;\n }\n else {\n map.set(value, HASH_UNDEFINED);\n }\n}\n\nmodule.exports = cachePush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_cachePush.js\n ** module id = 110\n ** module chunks = 0\n **/","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nmodule.exports = castArrayLikeObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_castArrayLikeObject.js\n ** module id = 111\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a global object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n */\nfunction checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n}\n\nmodule.exports = checkGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_checkGlobal.js\n ** module id = 112\n ** module chunks = 0\n **/","var Set = require('./_Set'),\n noop = require('./noop');\n\n/**\n * Creates a set of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_createSet.js\n ** module id = 113\n ** module chunks = 0\n **/","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a\n * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n * Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_getLength.js\n ** module id = 114\n ** module chunks = 0\n **/","var hashHas = require('./_hashHas');\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(hash, key) {\n return hashHas(hash, key) && delete hash[key];\n}\n\nmodule.exports = hashDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashDelete.js\n ** module id = 115\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(hash, key) {\n if (nativeCreate) {\n var result = hash[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashGet.js\n ** module id = 116\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction hashSet(hash, key, value) {\n hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n}\n\nmodule.exports = hashSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_hashSet.js\n ** module id = 117\n ** module chunks = 0\n **/","/**\n * Gets the index at which the first occurrence of `NaN` is found in `array`.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n */\nfunction indexOfNaN(array, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 0 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n var other = array[index];\n if (other !== other) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = indexOfNaN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_indexOfNaN.js\n ** module id = 118\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_isHostObject.js\n ** module id = 119\n ** module chunks = 0\n **/","var Hash = require('./_Hash'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': Map ? new Map : [],\n 'string': new Hash\n };\n}\n\nmodule.exports = mapClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapClear.js\n ** module id = 120\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocDelete = require('./_assocDelete'),\n hashDelete = require('./_hashDelete'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapDelete(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n}\n\nmodule.exports = mapDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapDelete.js\n ** module id = 121\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocGet = require('./_assocGet'),\n hashGet = require('./_hashGet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapGet(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.get(key) : assocGet(data.map, key);\n}\n\nmodule.exports = mapGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapGet.js\n ** module id = 122\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocHas = require('./_assocHas'),\n hashHas = require('./_hashHas'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapHas(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.has(key) : assocHas(data.map, key);\n}\n\nmodule.exports = mapHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapHas.js\n ** module id = 123\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocSet = require('./_assocSet'),\n hashSet = require('./_hashSet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapSet(key, value) {\n var data = this.__data__;\n if (isKeyable(key)) {\n hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n } else if (Map) {\n data.map.set(key, value);\n } else {\n assocSet(data.map, key, value);\n }\n return this;\n}\n\nmodule.exports = mapSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_mapSet.js\n ** module id = 124\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_setToArray.js\n ** module id = 125\n ** module chunks = 0\n **/","/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/_toSource.js\n ** module id = 126\n ** module chunks = 0\n **/","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'user': 'fred' };\n * var other = { 'user': 'fred' };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/eq.js\n ** module id = 127\n ** module chunks = 0\n **/","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n castArrayLikeObject = require('./_castArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons. The order of result values is determined by the\n * order they occur in the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [4, 2], [1, 2]);\n * // => [2]\n */\nvar intersection = rest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nmodule.exports = intersection;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/intersection.js\n ** module id = 128\n ** module chunks = 0\n **/","var getLength = require('./_getLength'),\n isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(getLength(value)) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isArrayLike.js\n ** module id = 129\n ** module chunks = 0\n **/","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length,\n * else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isLength.js\n ** module id = 130\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isHostObject = require('./_isHostObject'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (!isObject(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isNative.js\n ** module id = 131\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/isSymbol.js\n ** module id = 132\n ** module chunks = 0\n **/","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This function is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3');\n * // => 3\n */\nfunction toInteger(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n var remainder = value % 1;\n return value === value ? (remainder ? value - remainder : value) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/toInteger.js\n ** module id = 133\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3);\n * // => 3\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3');\n * // => 3\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = isFunction(value.valueOf) ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/toNumber.js\n ** module id = 134\n ** module chunks = 0\n **/","var baseDifference = require('./_baseDifference'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to filter.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.without([1, 2, 1, 3], 1, 2);\n * // => [3]\n */\nvar without = rest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/without.js\n ** module id = 135\n ** module chunks = 0\n **/","var arrayFilter = require('./_arrayFilter'),\n baseXor = require('./_baseXor'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of values.\n * @example\n *\n * _.xor([2, 1], [4, 2]);\n * // => [1, 4]\n */\nvar xor = rest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n});\n\nmodule.exports = xor;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dnd-core/~/lodash/xor.js\n ** module id = 136\n ** module chunks = 0\n **/","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/invariant.js\n ** module id = 137\n ** module chunks = 0\n **/","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without losing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\nvar keyOf = function (oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\nmodule.exports = keyOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fbjs/lib/keyOf.js\n ** module id = 138\n ** module chunks = 0\n **/","/* eslint-disable no-unused-vars */\n'use strict';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nmodule.exports = Object.assign || function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (Object.getOwnPropertySymbols) {\n\t\t\tsymbols = Object.getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/object-assign/index.js\n ** module id = 139\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashUnion = require('lodash/union');\n\nvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar EnterLeaveCounter = (function () {\n function EnterLeaveCounter() {\n _classCallCheck(this, EnterLeaveCounter);\n\n this.entered = [];\n }\n\n EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n }), [enteringNode]);\n\n return previousLength === 0 && this.entered.length > 0;\n };\n\n EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node);\n }), leavingNode);\n\n return previousLength > 0 && this.entered.length === 0;\n };\n\n EnterLeaveCounter.prototype.reset = function reset() {\n this.entered = [];\n };\n\n return EnterLeaveCounter;\n})();\n\nexports['default'] = EnterLeaveCounter;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/EnterLeaveCounter.js\n ** module id = 140\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashDefaults = require('lodash/defaults');\n\nvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\nvar _shallowEqual = require('./shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _EnterLeaveCounter = require('./EnterLeaveCounter');\n\nvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _OffsetUtils = require('./OffsetUtils');\n\nvar _NativeDragSources = require('./NativeDragSources');\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nvar HTML5Backend = (function () {\n function HTML5Backend(manager) {\n _classCallCheck(this, HTML5Backend);\n\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.registry = manager.getRegistry();\n\n this.sourcePreviewNodes = {};\n this.sourcePreviewNodeOptions = {};\n this.sourceNodes = {};\n this.sourceNodeOptions = {};\n this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\n this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n this.handleTopDragStart = this.handleTopDragStart.bind(this);\n this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n this.handleTopDragOver = this.handleTopDragOver.bind(this);\n this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n this.handleTopDrop = this.handleTopDrop.bind(this);\n this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n this.handleSelectStart = this.handleSelectStart.bind(this);\n this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n this.endDragNativeItem = this.endDragNativeItem.bind(this);\n }\n\n HTML5Backend.prototype.setup = function setup() {\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.constructor.isSetUp) {\n throw new Error('Cannot have two HTML5 backends at the same time.');\n }\n this.constructor.isSetUp = true;\n this.addEventListeners(window);\n };\n\n HTML5Backend.prototype.teardown = function teardown() {\n if (typeof window === 'undefined') {\n return;\n }\n\n this.constructor.isSetUp = false;\n this.removeEventListeners(window);\n this.clearCurrentDragSourceNode();\n };\n\n HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n target.addEventListener('dragstart', this.handleTopDragStart);\n target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n target.addEventListener('dragenter', this.handleTopDragEnter);\n target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.addEventListener('dragover', this.handleTopDragOver);\n target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n target.addEventListener('drop', this.handleTopDrop);\n target.addEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n target.removeEventListener('dragstart', this.handleTopDragStart);\n target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n target.removeEventListener('dragenter', this.handleTopDragEnter);\n target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.removeEventListener('dragover', this.handleTopDragOver);\n target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n target.removeEventListener('drop', this.handleTopDrop);\n target.removeEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n var _this = this;\n\n this.sourcePreviewNodeOptions[sourceId] = options;\n this.sourcePreviewNodes[sourceId] = node;\n\n return function () {\n delete _this.sourcePreviewNodes[sourceId];\n delete _this.sourcePreviewNodeOptions[sourceId];\n };\n };\n\n HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n var _this2 = this;\n\n this.sourceNodes[sourceId] = node;\n this.sourceNodeOptions[sourceId] = options;\n\n var handleDragStart = function handleDragStart(e) {\n return _this2.handleDragStart(e, sourceId);\n };\n var handleSelectStart = function handleSelectStart(e) {\n return _this2.handleSelectStart(e, sourceId);\n };\n\n node.setAttribute('draggable', true);\n node.addEventListener('dragstart', handleDragStart);\n node.addEventListener('selectstart', handleSelectStart);\n\n return function () {\n delete _this2.sourceNodes[sourceId];\n delete _this2.sourceNodeOptions[sourceId];\n\n node.removeEventListener('dragstart', handleDragStart);\n node.removeEventListener('selectstart', handleSelectStart);\n node.setAttribute('draggable', false);\n };\n };\n\n HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n var _this3 = this;\n\n var handleDragEnter = function handleDragEnter(e) {\n return _this3.handleDragEnter(e, targetId);\n };\n var handleDragOver = function handleDragOver(e) {\n return _this3.handleDragOver(e, targetId);\n };\n var handleDrop = function handleDrop(e) {\n return _this3.handleDrop(e, targetId);\n };\n\n node.addEventListener('dragenter', handleDragEnter);\n node.addEventListener('dragover', handleDragOver);\n node.addEventListener('drop', handleDrop);\n\n return function () {\n node.removeEventListener('dragenter', handleDragEnter);\n node.removeEventListener('dragover', handleDragOver);\n node.removeEventListener('drop', handleDrop);\n };\n };\n\n HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n dropEffect: 'move'\n });\n };\n\n HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n if (this.isDraggingNativeItem()) {\n // It makes more sense to default to 'copy' for native resources\n return 'copy';\n }\n\n return this.getCurrentSourceNodeOptions().dropEffect;\n };\n\n HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n anchorX: 0.5,\n anchorY: 0.5,\n captureDraggingState: false\n });\n };\n\n HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n };\n\n HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n var itemType = this.monitor.getItemType();\n return Object.keys(NativeTypes).some(function (key) {\n return NativeTypes[key] === itemType;\n });\n };\n\n HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n this.clearCurrentDragSourceNode();\n\n var SourceType = _NativeDragSources.createNativeDragSource(type);\n this.currentNativeSource = new SourceType();\n this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n this.actions.beginDrag([this.currentNativeHandle]);\n\n // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n // This is not true for other browsers.\n if (_BrowserDetector.isFirefox()) {\n window.addEventListener('mousemove', this.endDragNativeItem, true);\n }\n };\n\n HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n if (!this.isDraggingNativeItem()) {\n return;\n }\n\n if (_BrowserDetector.isFirefox()) {\n window.removeEventListener('mousemove', this.endDragNativeItem, true);\n }\n\n this.actions.endDrag();\n this.registry.removeSource(this.currentNativeHandle);\n this.currentNativeHandle = null;\n this.currentNativeSource = null;\n };\n\n HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n var node = this.currentDragSourceNode;\n if (document.body.contains(node)) {\n return;\n }\n\n if (this.clearCurrentDragSourceNode()) {\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n this.clearCurrentDragSourceNode();\n this.currentDragSourceNode = node;\n this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n this.currentDragSourceNodeOffsetChanged = false;\n\n // Receiving a mouse event in the middle of a dragging operation\n // means it has ended and the drag source node disappeared from DOM,\n // so the browser didn't dispatch the dragend event.\n window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n };\n\n HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n if (this.currentDragSourceNode) {\n this.currentDragSourceNode = null;\n this.currentDragSourceNodeOffset = null;\n this.currentDragSourceNodeOffsetChanged = false;\n window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n return true;\n }\n\n return false;\n };\n\n HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n var node = this.currentDragSourceNode;\n if (!node) {\n return false;\n }\n\n if (this.currentDragSourceNodeOffsetChanged) {\n return true;\n }\n\n this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\n return this.currentDragSourceNodeOffsetChanged;\n };\n\n HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n this.clearCurrentDragSourceNode();\n this.dragStartSourceIds = [];\n };\n\n HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n this.dragStartSourceIds.unshift(sourceId);\n };\n\n HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n var _this4 = this;\n\n var dragStartSourceIds = this.dragStartSourceIds;\n\n this.dragStartSourceIds = null;\n\n var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\n // Don't publish the source just yet (see why below)\n this.actions.beginDrag(dragStartSourceIds, {\n publishSource: false,\n getSourceClientOffset: this.getSourceClientOffset,\n clientOffset: clientOffset\n });\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (this.monitor.isDragging()) {\n if (typeof dataTransfer.setDragImage === 'function') {\n // Use custom drag image if user specifies it.\n // If child drag source refuses drag but parent agrees,\n // use parent's node as drag image. Neither works in IE though.\n var sourceId = this.monitor.getSourceId();\n var sourceNode = this.sourceNodes[sourceId];\n var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\n var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\n var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\n var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n }\n\n try {\n // Firefox won't drag without setting data\n dataTransfer.setData('application/json', {});\n } catch (err) {}\n // IE doesn't support MIME types in setData\n\n // Store drag source node so we can check whether\n // it is removed from DOM and trigger endDrag manually.\n this.setCurrentDragSourceNode(e.target);\n\n // Now we are ready to publish the drag source.. or are we not?\n\n var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\n var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\n if (!captureDraggingState) {\n // Usually we want to publish it in the next tick so that browser\n // is able to screenshot the current (not yet dragging) state.\n //\n // It also neatly avoids a situation where render() returns null\n // in the same tick for the source element, and browser freaks out.\n setTimeout(function () {\n return _this4.actions.publishDragSource();\n });\n } else {\n // In some cases the user may want to override this behavior, e.g.\n // to work around IE not supporting custom drag previews.\n //\n // When using a custom drag layer, the only way to prevent\n // the default drag preview from drawing in IE is to screenshot\n // the dragging state in which the node itself has zero opacity\n // and height. In this case, though, returning null from render()\n // will abruptly end the dragging, which is not obvious.\n //\n // This is the reason such behavior is strictly opt-in.\n this.actions.publishDragSource();\n }\n } else if (nativeType) {\n // A native item (such as URL) dragged from inside the document\n this.beginDragNativeItem(nativeType);\n } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n return;\n } else {\n // If by this time no drag source reacted, tell browser not to drag.\n e.preventDefault();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n if (this.clearCurrentDragSourceNode()) {\n // Firefox can dispatch this event in an infinite loop\n // if dragend handler does something like showing an alert.\n // Only proceed if we have not handled it already.\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n this.dragEnterTargetIds = [];\n\n var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n if (!isFirstEnter || this.monitor.isDragging()) {\n return;\n }\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (nativeType) {\n // A native item (such as file or URL) dragged from outside the document\n this.beginDragNativeItem(nativeType);\n }\n };\n\n HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n this.dragEnterTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n var _this5 = this;\n\n var dragEnterTargetIds = this.dragEnterTargetIds;\n\n this.dragEnterTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n return;\n }\n\n if (!_BrowserDetector.isFirefox()) {\n // Don't emit hover in `dragenter` on Firefox due to an edge case.\n // If the target changes position as the result of `dragenter`, Firefox\n // will still happily dispatch `dragover` despite target being no longer\n // there. The easy solution is to only fire `hover` in `dragover` on FF.\n this.actions.hover(dragEnterTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n }\n\n var canDrop = dragEnterTargetIds.some(function (targetId) {\n return _this5.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // IE requires this to fire dragover events\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n };\n\n HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n this.dragOverTargetIds = [];\n };\n\n HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n this.dragOverTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n var _this6 = this;\n\n var dragOverTargetIds = this.dragOverTargetIds;\n\n this.dragOverTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n // Prevent default \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n return;\n }\n\n this.actions.hover(dragOverTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n\n var canDrop = dragOverTargetIds.some(function (targetId) {\n return _this6.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // Show user-specified drop effect.\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n } else if (this.isDraggingNativeItem()) {\n // Don't show a nice cursor but still prevent default\n // \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n } else if (this.checkIfCurrentDragSourceRectChanged()) {\n // Prevent animating to incorrect position.\n // Drop effect must be other than 'none' to prevent animation.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n }\n };\n\n HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n if (this.isDraggingNativeItem()) {\n e.preventDefault();\n }\n\n var isLastLeave = this.enterLeaveCounter.leave(e.target);\n if (!isLastLeave) {\n return;\n }\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n }\n };\n\n HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n this.dropTargetIds = [];\n e.preventDefault();\n\n if (this.isDraggingNativeItem()) {\n this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n }\n\n this.enterLeaveCounter.reset();\n };\n\n HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n this.dropTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n var dropTargetIds = this.dropTargetIds;\n\n this.dropTargetIds = [];\n\n this.actions.hover(dropTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n this.actions.drop();\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n } else {\n this.endDragIfSourceWasRemovedFromDOM();\n }\n };\n\n HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n var target = e.target;\n\n // Only IE requires us to explicitly say\n // we want drag drop operation to start\n if (typeof target.dragDrop !== 'function') {\n return;\n }\n\n // Inputs and textareas should be selectable\n if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return;\n }\n\n // For other targets, ask IE\n // to enable drag and drop\n e.preventDefault();\n target.dragDrop();\n };\n\n return HTML5Backend;\n})();\n\nexports['default'] = HTML5Backend;\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/HTML5Backend.js\n ** module id = 141\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MonotonicInterpolant = (function () {\n function MonotonicInterpolant(xs, ys) {\n _classCallCheck(this, MonotonicInterpolant);\n\n var length = xs.length;\n\n // Rearrange xs and ys so that xs is sorted\n var indexes = [];\n for (var i = 0; i < length; i++) {\n indexes.push(i);\n }\n indexes.sort(function (a, b) {\n return xs[a] < xs[b] ? -1 : 1;\n });\n\n // Get consecutive differences and slopes\n var dys = [];\n var dxs = [];\n var ms = [];\n var dx = undefined;\n var dy = undefined;\n for (var i = 0; i < length - 1; i++) {\n dx = xs[i + 1] - xs[i];\n dy = ys[i + 1] - ys[i];\n dxs.push(dx);\n dys.push(dy);\n ms.push(dy / dx);\n }\n\n // Get degree-1 coefficients\n var c1s = [ms[0]];\n for (var i = 0; i < dxs.length - 1; i++) {\n var _m = ms[i];\n var mNext = ms[i + 1];\n if (_m * mNext <= 0) {\n c1s.push(0);\n } else {\n dx = dxs[i];\n var dxNext = dxs[i + 1];\n var common = dx + dxNext;\n c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n }\n }\n c1s.push(ms[ms.length - 1]);\n\n // Get degree-2 and degree-3 coefficients\n var c2s = [];\n var c3s = [];\n var m = undefined;\n for (var i = 0; i < c1s.length - 1; i++) {\n m = ms[i];\n var c1 = c1s[i];\n var invDx = 1 / dxs[i];\n var common = c1 + c1s[i + 1] - m - m;\n c2s.push((m - c1 - common) * invDx);\n c3s.push(common * invDx * invDx);\n }\n\n this.xs = xs;\n this.ys = ys;\n this.c1s = c1s;\n this.c2s = c2s;\n this.c3s = c3s;\n }\n\n MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n var xs = this.xs;\n var ys = this.ys;\n var c1s = this.c1s;\n var c2s = this.c2s;\n var c3s = this.c3s;\n\n // The rightmost point in the dataset should give an exact result\n var i = xs.length - 1;\n if (x === xs[i]) {\n return ys[i];\n }\n\n // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n var low = 0;\n var high = c3s.length - 1;\n var mid = undefined;\n while (low <= high) {\n mid = Math.floor(0.5 * (low + high));\n var xHere = xs[mid];\n if (xHere < x) {\n low = mid + 1;\n } else if (xHere > x) {\n high = mid - 1;\n } else {\n return ys[mid];\n }\n }\n i = Math.max(0, high);\n\n // Interpolate\n var diff = x - xs[i];\n var diffSq = diff * diff;\n return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n };\n\n return MonotonicInterpolant;\n})();\n\nexports[\"default\"] = MonotonicInterpolant;\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/MonotonicInterpolant.js\n ** module id = 142\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _nativeTypesConfig;\n\nexports.createNativeDragSource = createNativeDragSource;\nexports.matchNativeItemType = matchNativeItemType;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n return resultSoFar || dataTransfer.getData(typeToTry);\n }, null);\n\n return result != null ? // eslint-disable-line eqeqeq\n result : defaultValue;\n}\n\nvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n exposeProperty: 'files',\n matchesTypes: ['Files'],\n getData: function getData(dataTransfer) {\n return Array.prototype.slice.call(dataTransfer.files);\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n exposeProperty: 'urls',\n matchesTypes: ['Url', 'text/uri-list'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n exposeProperty: 'text',\n matchesTypes: ['Text', 'text/plain'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n }\n}), _nativeTypesConfig);\n\nfunction createNativeDragSource(type) {\n var _nativeTypesConfig$type = nativeTypesConfig[type];\n var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n var getData = _nativeTypesConfig$type.getData;\n\n return (function () {\n function NativeDragSource() {\n _classCallCheck(this, NativeDragSource);\n\n this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n get: function get() {\n console.warn( // eslint-disable-line no-console\n 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n return null;\n },\n configurable: true,\n enumerable: true\n }));\n }\n\n NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n delete this.item[exposeProperty];\n this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n };\n\n NativeDragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n NativeDragSource.prototype.beginDrag = function beginDrag() {\n return this.item;\n };\n\n NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n NativeDragSource.prototype.endDrag = function endDrag() {};\n\n return NativeDragSource;\n })();\n}\n\nfunction matchNativeItemType(dataTransfer) {\n var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\n return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\n return matchesTypes.some(function (t) {\n return dataTransferTypes.indexOf(t) > -1;\n });\n })[0] || null;\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/NativeDragSources.js\n ** module id = 143\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.getNodeClientOffset = getNodeClientOffset;\nexports.getEventClientOffset = getEventClientOffset;\nexports.getDragPreviewOffset = getDragPreviewOffset;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _MonotonicInterpolant = require('./MonotonicInterpolant');\n\nvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\nvar ELEMENT_NODE = 1;\n\nfunction getNodeClientOffset(node) {\n var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\n if (!el) {\n return null;\n }\n\n var _el$getBoundingClientRect = el.getBoundingClientRect();\n\n var top = _el$getBoundingClientRect.top;\n var left = _el$getBoundingClientRect.left;\n\n return { x: left, y: top };\n}\n\nfunction getEventClientOffset(e) {\n return {\n x: e.clientX,\n y: e.clientY\n };\n}\n\nfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n // The browsers will use the image intrinsic size under different conditions.\n // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\n var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n var offsetFromDragPreview = {\n x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n };\n\n var sourceWidth = sourceNode.offsetWidth;\n var sourceHeight = sourceNode.offsetHeight;\n var anchorX = anchorPoint.anchorX;\n var anchorY = anchorPoint.anchorY;\n\n var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\n // Work around @2x coordinate discrepancies in browsers\n if (_BrowserDetector.isSafari() && isImage) {\n dragPreviewHeight /= window.devicePixelRatio;\n dragPreviewWidth /= window.devicePixelRatio;\n } else if (_BrowserDetector.isFirefox() && !isImage) {\n dragPreviewHeight *= window.devicePixelRatio;\n dragPreviewWidth *= window.devicePixelRatio;\n }\n\n // Interpolate coordinates depending on anchor point\n // If you know a simpler way to do this, let me know\n var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the left\n offsetFromDragPreview.x,\n // Align at the center\n offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n // Dock to the right\n offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the top\n offsetFromDragPreview.y,\n // Align at the center\n offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n // Dock to the bottom\n offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n var x = interpolantX.interpolate(anchorX);\n var y = interpolantY.interpolate(anchorY);\n\n // Work around Safari 8 positioning bug\n if (_BrowserDetector.isSafari() && isImage) {\n // We'll have to wait for @3x to see if this is entirely correct\n y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n }\n\n return { x: x, y: y };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/OffsetUtils.js\n ** module id = 144\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = getEmptyImage;\nvar emptyImage = undefined;\n\nfunction getEmptyImage() {\n if (!emptyImage) {\n emptyImage = new Image();\n emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n }\n\n return emptyImage;\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/getEmptyImage.js\n ** module id = 145\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createHTML5Backend;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _HTML5Backend = require('./HTML5Backend');\n\nvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\nvar _getEmptyImage = require('./getEmptyImage');\n\nvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nexports.NativeTypes = NativeTypes;\nexports.getEmptyImage = _getEmptyImage2['default'];\n\nfunction createHTML5Backend(manager) {\n return new _HTML5Backend2['default'](manager);\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/index.js\n ** module id = 146\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/lib/shallowEqual.js\n ** module id = 147\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @returns {Object} Returns the new hash object.\n */\nfunction Hash() {}\n\n// Avoid inheriting from `Object.prototype` when possible.\nHash.prototype = nativeCreate ? nativeCreate(null) : objectProto;\n\nmodule.exports = Hash;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Hash.js\n ** module id = 148\n ** module chunks = 0\n **/","var root = require('./_root');\n\n/** Built-in value references. */\nvar Reflect = root.Reflect;\n\nmodule.exports = Reflect;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Reflect.js\n ** module id = 149\n ** module chunks = 0\n **/","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_Set.js\n ** module id = 150\n ** module chunks = 0\n **/","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayMap.js\n ** module id = 151\n ** module chunks = 0\n **/","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_arrayPush.js\n ** module id = 152\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used by `_.defaults` to customize its `_.assignIn` use.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction assignInDefaults(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\nmodule.exports = assignInDefaults;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assignInDefaults.js\n ** module id = 153\n ** module chunks = 0\n **/","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assignValue.js\n ** module id = 154\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the associative array.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction assocDelete(array, key) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = array.length - 1;\n if (index == lastIndex) {\n array.pop();\n } else {\n splice.call(array, index, 1);\n }\n return true;\n}\n\nmodule.exports = assocDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocDelete.js\n ** module id = 155\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the associative array value for `key`.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction assocGet(array, key) {\n var index = assocIndexOf(array, key);\n return index < 0 ? undefined : array[index][1];\n}\n\nmodule.exports = assocGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocGet.js\n ** module id = 156\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if an associative array value for `key` exists.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction assocHas(array, key) {\n return assocIndexOf(array, key) > -1;\n}\n\nmodule.exports = assocHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocHas.js\n ** module id = 157\n ** module chunks = 0\n **/","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the associative array `key` to `value`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction assocSet(array, key, value) {\n var index = assocIndexOf(array, key);\n if (index < 0) {\n array.push([key, value]);\n } else {\n array[index][1] = value;\n }\n}\n\nmodule.exports = assocSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_assocSet.js\n ** module id = 158\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseDifference.js\n ** module id = 159\n ** module chunks = 0\n **/","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseFlatten.js\n ** module id = 160\n ** module chunks = 0\n **/","var indexOfNaN = require('./_indexOfNaN');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n if (value !== value) {\n return indexOfNaN(array, fromIndex);\n }\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseIndexOf.js\n ** module id = 161\n ** module chunks = 0\n **/","var Reflect = require('./_Reflect'),\n iteratorToArray = require('./_iteratorToArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar enumerate = Reflect ? Reflect.enumerate : undefined,\n propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * The base implementation of `_.keysIn` which doesn't skip the constructor\n * property of prototypes or treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n object = object == null ? object : Object(object);\n\n var result = [];\n for (var key in object) {\n result.push(key);\n }\n return result;\n}\n\n// Fallback for IE < 9 with es6-shim.\nif (enumerate && !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf')) {\n baseKeysIn = function(object) {\n return iteratorToArray(enumerate(object));\n };\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseKeysIn.js\n ** module id = 162\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseProperty.js\n ** module id = 163\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseTimes.js\n ** module id = 164\n ** module chunks = 0\n **/","/**\n * The base implementation of `_.unary` without support for storing wrapper metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseUnary.js\n ** module id = 165\n ** module chunks = 0\n **/","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_baseUniq.js\n ** module id = 166\n ** module chunks = 0\n **/","var isKeyable = require('./_isKeyable');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the set cache.\n *\n * @private\n * @name push\n * @memberOf SetCache\n * @param {*} value The value to cache.\n */\nfunction cachePush(value) {\n var map = this.__data__;\n if (isKeyable(value)) {\n var data = map.__data__,\n hash = typeof value == 'string' ? data.string : data.hash;\n\n hash[value] = HASH_UNDEFINED;\n }\n else {\n map.set(value, HASH_UNDEFINED);\n }\n}\n\nmodule.exports = cachePush;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_cachePush.js\n ** module id = 167\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a global object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {null|Object} Returns `value` if it's a global object, else `null`.\n */\nfunction checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n}\n\nmodule.exports = checkGlobal;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_checkGlobal.js\n ** module id = 168\n ** module chunks = 0\n **/","var assignValue = require('./_assignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : source[key];\n\n assignValue(object, key, newValue);\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_copyObject.js\n ** module id = 169\n ** module chunks = 0\n **/","var isIterateeCall = require('./_isIterateeCall'),\n rest = require('./rest');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return rest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = typeof customizer == 'function'\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_createAssigner.js\n ** module id = 170\n ** module chunks = 0\n **/","var Set = require('./_Set'),\n noop = require('./noop');\n\n/**\n * Creates a set of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && new Set([1, 2]).size === 2) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_createSet.js\n ** module id = 171\n ** module chunks = 0\n **/","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the \"length\" property value of `object`.\n *\n * **Note:** This function is used to avoid a\n * [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792) that affects\n * Safari on at least iOS 8.1-8.3 ARM64.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {*} Returns the \"length\" value.\n */\nvar getLength = baseProperty('length');\n\nmodule.exports = getLength;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_getLength.js\n ** module id = 172\n ** module chunks = 0\n **/","var hashHas = require('./_hashHas');\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(hash, key) {\n return hashHas(hash, key) && delete hash[key];\n}\n\nmodule.exports = hashDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashDelete.js\n ** module id = 173\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @param {Object} hash The hash to query.\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(hash, key) {\n if (nativeCreate) {\n var result = hash[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(hash, key) ? hash[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashGet.js\n ** module id = 174\n ** module chunks = 0\n **/","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n */\nfunction hashSet(hash, key, value) {\n hash[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n}\n\nmodule.exports = hashSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_hashSet.js\n ** module id = 175\n ** module chunks = 0\n **/","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isLength = require('./isLength'),\n isString = require('./isString');\n\n/**\n * Creates an array of index keys for `object` values of arrays,\n * `arguments` objects, and strings, otherwise `null` is returned.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array|null} Returns index keys, else `null`.\n */\nfunction indexKeys(object) {\n var length = object ? object.length : undefined;\n if (isLength(length) &&\n (isArray(object) || isString(object) || isArguments(object))) {\n return baseTimes(length, String);\n }\n return null;\n}\n\nmodule.exports = indexKeys;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_indexKeys.js\n ** module id = 176\n ** module chunks = 0\n **/","/**\n * Gets the index at which the first occurrence of `NaN` is found in `array`.\n *\n * @private\n * @param {Array} array The array to search.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched `NaN`, else `-1`.\n */\nfunction indexOfNaN(array, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 0 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n var other = array[index];\n if (other !== other) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = indexOfNaN;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_indexOfNaN.js\n ** module id = 177\n ** module chunks = 0\n **/","var isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArrayLikeObject(value) && (isArray(value) || isArguments(value));\n}\n\nmodule.exports = isFlattenable;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isFlattenable.js\n ** module id = 178\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isHostObject.js\n ** module id = 179\n ** module chunks = 0\n **/","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isIterateeCall.js\n ** module id = 180\n ** module chunks = 0\n **/","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_isPrototype.js\n ** module id = 181\n ** module chunks = 0\n **/","/**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n}\n\nmodule.exports = iteratorToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_iteratorToArray.js\n ** module id = 182\n ** module chunks = 0\n **/","var Hash = require('./_Hash'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': Map ? new Map : [],\n 'string': new Hash\n };\n}\n\nmodule.exports = mapClear;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapClear.js\n ** module id = 183\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocDelete = require('./_assocDelete'),\n hashDelete = require('./_hashDelete'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapDelete(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashDelete(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map['delete'](key) : assocDelete(data.map, key);\n}\n\nmodule.exports = mapDelete;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapDelete.js\n ** module id = 184\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocGet = require('./_assocGet'),\n hashGet = require('./_hashGet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapGet(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashGet(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.get(key) : assocGet(data.map, key);\n}\n\nmodule.exports = mapGet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapGet.js\n ** module id = 185\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocHas = require('./_assocHas'),\n hashHas = require('./_hashHas'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapHas(key) {\n var data = this.__data__;\n if (isKeyable(key)) {\n return hashHas(typeof key == 'string' ? data.string : data.hash, key);\n }\n return Map ? data.map.has(key) : assocHas(data.map, key);\n}\n\nmodule.exports = mapHas;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapHas.js\n ** module id = 186\n ** module chunks = 0\n **/","var Map = require('./_Map'),\n assocSet = require('./_assocSet'),\n hashSet = require('./_hashSet'),\n isKeyable = require('./_isKeyable');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapSet(key, value) {\n var data = this.__data__;\n if (isKeyable(key)) {\n hashSet(typeof key == 'string' ? data.string : data.hash, key, value);\n } else if (Map) {\n data.map.set(key, value);\n } else {\n assocSet(data.map, key, value);\n }\n return this;\n}\n\nmodule.exports = mapSet;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_mapSet.js\n ** module id = 187\n ** module chunks = 0\n **/","/**\n * Converts `set` to an array.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_setToArray.js\n ** module id = 188\n ** module chunks = 0\n **/","/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/_toSource.js\n ** module id = 189\n ** module chunks = 0\n **/","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n});\n\nmodule.exports = assignInWith;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/assignInWith.js\n ** module id = 190\n ** module chunks = 0\n **/","var apply = require('./_apply'),\n assignInDefaults = require('./_assignInDefaults'),\n assignInWith = require('./assignInWith'),\n rest = require('./rest');\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * _.defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });\n * // => { 'user': 'barney', 'age': 36 }\n */\nvar defaults = rest(function(args) {\n args.push(undefined, assignInDefaults);\n return apply(assignInWith, undefined, args);\n});\n\nmodule.exports = defaults;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/defaults.js\n ** module id = 191\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isHostObject = require('./_isHostObject'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (!isObject(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = isNative;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isNative.js\n ** module id = 192\n ** module chunks = 0\n **/","var isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag);\n}\n\nmodule.exports = isString;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isString.js\n ** module id = 193\n ** module chunks = 0\n **/","var isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/isSymbol.js\n ** module id = 194\n ** module chunks = 0\n **/","var baseKeysIn = require('./_baseKeysIn'),\n indexKeys = require('./_indexKeys'),\n isIndex = require('./_isIndex'),\n isPrototype = require('./_isPrototype');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n var index = -1,\n isProto = isPrototype(object),\n props = baseKeysIn(object),\n propsLength = props.length,\n indexes = indexKeys(object),\n skipIndexes = !!indexes,\n result = indexes || [],\n length = result.length;\n\n while (++index < propsLength) {\n var key = props[index];\n if (!(skipIndexes && (key == 'length' || isIndex(key, length))) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/keysIn.js\n ** module id = 195\n ** module chunks = 0\n **/","var MapCache = require('./_MapCache');\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoizing function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/memoize.js\n ** module id = 196\n ** module chunks = 0\n **/","/**\n * A no-operation function that returns `undefined` regardless of the\n * arguments it receives.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * var object = { 'user': 'fred' };\n *\n * _.noop(object) === undefined;\n * // => true\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/noop.js\n ** module id = 197\n ** module chunks = 0\n **/","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This function is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3');\n * // => 3\n */\nfunction toInteger(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n var remainder = value % 1;\n return value === value ? (remainder ? value - remainder : value) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/toInteger.js\n ** module id = 198\n ** module chunks = 0\n **/","var isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3);\n * // => 3\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3');\n * // => 3\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = isFunction(value.valueOf) ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/toNumber.js\n ** module id = 199\n ** module chunks = 0\n **/","var baseFlatten = require('./_baseFlatten'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2, 1], [4, 2], [1, 2]);\n * // => [2, 1, 4]\n */\nvar union = rest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/union.js\n ** module id = 200\n ** module chunks = 0\n **/","var baseDifference = require('./_baseDifference'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n rest = require('./rest');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to filter.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.without([1, 2, 1, 3], 1, 2);\n * // => [3]\n */\nvar without = rest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd-html5-backend/~/lodash/without.js\n ** module id = 201\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragDropContext;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dndCore = require('dnd-core');\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragDropContext(backendOrModule) {\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\n // Auto-detect ES6 default export for people still using ES5\n var backend = undefined;\n if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n backend = backendOrModule['default'];\n } else {\n backend = backendOrModule;\n }\n\n _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\n var childContext = {\n dragDropManager: new _dndCore.DragDropManager(backend)\n };\n\n return function decorateContext(DecoratedComponent) {\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContextContainer, _Component);\n\n function DragDropContextContainer() {\n _classCallCheck(this, DragDropContextContainer);\n\n _Component.apply(this, arguments);\n }\n\n DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragDropContextContainer.prototype.getManager = function getManager() {\n return childContext.dragDropManager;\n };\n\n DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n return childContext;\n };\n\n DragDropContextContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n ref: 'child' }));\n };\n\n _createClass(DragDropContextContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragDropContext(' + displayName + ')',\n enumerable: true\n }, {\n key: 'childContextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n return DragDropContextContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragDropContext.js\n ** module id = 202\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragLayer;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragLayer(collect) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\n return function decorateLayer(DecoratedComponent) {\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragLayerContainer, _Component);\n\n DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragLayerContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragLayer(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragLayerContainer(props, context) {\n _classCallCheck(this, DragLayerContainer);\n\n _Component.call(this, props);\n this.handleChange = this.handleChange.bind(this);\n\n this.manager = context.dragDropManager;\n _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.state = this.getCurrentState();\n }\n\n DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n\n var monitor = this.manager.getMonitor();\n this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\n this.handleChange();\n };\n\n DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.isCurrentlyMounted = false;\n\n this.unsubscribeFromOffsetChange();\n this.unsubscribeFromStateChange();\n };\n\n DragLayerContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n var monitor = this.manager.getMonitor();\n return collect(monitor);\n };\n\n DragLayerContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: 'child' }));\n };\n\n return DragLayerContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragLayer.js\n ** module id = 203\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DragSource;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerSource = require('./registerSource');\n\nvar _registerSource2 = _interopRequireDefault(_registerSource);\n\nvar _createSourceFactory = require('./createSourceFactory');\n\nvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\nvar _createSourceMonitor = require('./createSourceMonitor');\n\nvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\nvar _createSourceConnector = require('./createSourceConnector');\n\nvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DragSource(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n var createSource = _createSourceFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\n return function decorateSource(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, sourceId) {\n return backend.connectDragSource(sourceId);\n },\n containerDisplayName: 'DragSource',\n createHandler: createSource,\n registerHandler: _registerSource2['default'],\n createMonitor: _createSourceMonitor2['default'],\n createConnector: _createSourceConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DragSource.js\n ** module id = 204\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DropTarget;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerTarget = require('./registerTarget');\n\nvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\nvar _createTargetFactory = require('./createTargetFactory');\n\nvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\nvar _createTargetMonitor = require('./createTargetMonitor');\n\nvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\nvar _createTargetConnector = require('./createTargetConnector');\n\nvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DropTarget(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n var createTarget = _createTargetFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\n return function decorateTarget(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, targetId) {\n return backend.connectDropTarget(targetId);\n },\n containerDisplayName: 'DropTarget',\n createHandler: createTarget,\n registerHandler: _registerTarget2['default'],\n createMonitor: _createTargetMonitor2['default'],\n createConnector: _createTargetConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/DropTarget.js\n ** module id = 205\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createSourceConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDragSourceNode = undefined;\n var currentDragSourceOptions = undefined;\n var disconnectCurrentDragSource = undefined;\n\n var currentDragPreviewNode = undefined;\n var currentDragPreviewOptions = undefined;\n var disconnectCurrentDragPreview = undefined;\n\n function reconnectDragSource() {\n if (disconnectCurrentDragSource) {\n disconnectCurrentDragSource();\n disconnectCurrentDragSource = null;\n }\n\n if (currentHandlerId && currentDragSourceNode) {\n disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n }\n }\n\n function reconnectDragPreview() {\n if (disconnectCurrentDragPreview) {\n disconnectCurrentDragPreview();\n disconnectCurrentDragPreview = null;\n }\n\n if (currentHandlerId && currentDragPreviewNode) {\n disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDragSource();\n reconnectDragPreview();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dragSource: function connectDragSource(node, options) {\n if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n return;\n }\n\n currentDragSourceNode = node;\n currentDragSourceOptions = options;\n\n reconnectDragSource();\n },\n\n dragPreview: function connectDragPreview(node, options) {\n if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n return;\n }\n\n currentDragPreviewNode = node;\n currentDragPreviewOptions = options;\n\n reconnectDragPreview();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceConnector.js\n ** module id = 206\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\nvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\nfunction createSourceFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n REQUIRED_SPEC_METHODS.forEach(function (key) {\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n\n var Source = (function () {\n function Source(monitor) {\n _classCallCheck(this, Source);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Source.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Source.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Source.prototype.canDrag = function canDrag() {\n if (!spec.canDrag) {\n return true;\n }\n\n return spec.canDrag(this.props, this.monitor);\n };\n\n Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n if (!spec.isDragging) {\n return sourceId === globalMonitor.getSourceId();\n }\n\n return spec.isDragging(this.props, this.monitor);\n };\n\n Source.prototype.beginDrag = function beginDrag() {\n var item = spec.beginDrag(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n }\n return item;\n };\n\n Source.prototype.endDrag = function endDrag() {\n if (!spec.endDrag) {\n return;\n }\n\n spec.endDrag(this.props, this.monitor, this.component);\n };\n\n return Source;\n })();\n\n return function createSource(monitor) {\n return new Source(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceFactory.js\n ** module id = 207\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrag = false;\nvar isCallingIsDragging = false;\n\nvar SourceMonitor = (function () {\n function SourceMonitor(manager) {\n _classCallCheck(this, SourceMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n this.sourceId = sourceId;\n };\n\n SourceMonitor.prototype.canDrag = function canDrag() {\n _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingCanDrag = true;\n return this.internalMonitor.canDragSource(this.sourceId);\n } finally {\n isCallingCanDrag = false;\n }\n };\n\n SourceMonitor.prototype.isDragging = function isDragging() {\n _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingIsDragging = true;\n return this.internalMonitor.isDraggingSource(this.sourceId);\n } finally {\n isCallingIsDragging = false;\n }\n };\n\n SourceMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n SourceMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n SourceMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n SourceMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return SourceMonitor;\n})();\n\nfunction createSourceMonitor(manager) {\n return new SourceMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createSourceMonitor.js\n ** module id = 208\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createTargetConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDropTargetNode = undefined;\n var currentDropTargetOptions = undefined;\n var disconnectCurrentDropTarget = undefined;\n\n function reconnectDropTarget() {\n if (disconnectCurrentDropTarget) {\n disconnectCurrentDropTarget();\n disconnectCurrentDropTarget = null;\n }\n\n if (currentHandlerId && currentDropTargetNode) {\n disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDropTarget();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dropTarget: function connectDropTarget(node, options) {\n if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n return;\n }\n\n currentDropTargetNode = node;\n currentDropTargetOptions = options;\n\n reconnectDropTarget();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetConnector.js\n ** module id = 209\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\nfunction createTargetFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n });\n\n var Target = (function () {\n function Target(monitor) {\n _classCallCheck(this, Target);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Target.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n this.monitor = monitor;\n };\n\n Target.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Target.prototype.canDrop = function canDrop() {\n if (!spec.canDrop) {\n return true;\n }\n\n return spec.canDrop(this.props, this.monitor);\n };\n\n Target.prototype.hover = function hover() {\n if (!spec.hover) {\n return;\n }\n\n spec.hover(this.props, this.monitor, this.component);\n };\n\n Target.prototype.drop = function drop() {\n if (!spec.drop) {\n return;\n }\n\n var dropResult = spec.drop(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n }\n return dropResult;\n };\n\n return Target;\n })();\n\n return function createTarget(monitor) {\n return new Target(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetFactory.js\n ** module id = 210\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrop = false;\n\nvar TargetMonitor = (function () {\n function TargetMonitor(manager) {\n _classCallCheck(this, TargetMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n this.targetId = targetId;\n };\n\n TargetMonitor.prototype.canDrop = function canDrop() {\n _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\n try {\n isCallingCanDrop = true;\n return this.internalMonitor.canDropOnTarget(this.targetId);\n } finally {\n isCallingCanDrop = false;\n }\n };\n\n TargetMonitor.prototype.isOver = function isOver(options) {\n return this.internalMonitor.isOverTarget(this.targetId, options);\n };\n\n TargetMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n TargetMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n TargetMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n TargetMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return TargetMonitor;\n})();\n\nfunction createTargetMonitor(manager) {\n return new TargetMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/createTargetMonitor.js\n ** module id = 211\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerSource;\n\nfunction registerSource(type, source, manager) {\n var registry = manager.getRegistry();\n var sourceId = registry.addSource(type, source);\n\n function unregisterSource() {\n registry.removeSource(sourceId);\n }\n\n return {\n handlerId: sourceId,\n unregister: unregisterSource\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/registerSource.js\n ** module id = 212\n ** module chunks = 0\n **/","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerTarget;\n\nfunction registerTarget(type, target, manager) {\n var registry = manager.getRegistry();\n var targetId = registry.addTarget(type, target);\n\n function unregisterTarget() {\n registry.removeTarget(targetId);\n }\n\n return {\n handlerId: targetId,\n unregister: unregisterTarget\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/registerTarget.js\n ** module id = 213\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports['default'] = cloneWithRef;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _react = require('react');\n\nfunction cloneWithRef(element, newRef) {\n var previousRef = element.ref;\n _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\n if (!previousRef) {\n // When there is no ref on the element, use the new ref directly\n return _react.cloneElement(element, {\n ref: newRef\n });\n }\n\n return _react.cloneElement(element, {\n ref: function ref(node) {\n newRef(node);\n\n if (previousRef) {\n previousRef(node);\n }\n }\n });\n}\n\nmodule.exports = exports['default'];\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/lib/utils/cloneWithRef.js\n ** module id = 214\n ** module chunks = 0\n **/","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetPrototype = Object.getPrototypeOf;\n\n/**\n * Gets the `[[Prototype]]` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {null|Object} Returns the `[[Prototype]]`.\n */\nfunction getPrototype(value) {\n return nativeGetPrototype(Object(value));\n}\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/_getPrototype.js\n ** module id = 215\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/_isHostObject.js\n ** module id = 216\n ** module chunks = 0\n **/","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @type {Function}\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified,\n * else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isArray.js\n ** module id = 217\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react-dnd/~/lodash/isObjectLike.js\n ** module id = 218\n ** module chunks = 0\n **/","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule update\n */\n\n/* global hasOwnProperty:true */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar keyOf = require('fbjs/lib/keyOf');\nvar invariant = require('fbjs/lib/invariant');\nvar hasOwnProperty = {}.hasOwnProperty;\n\nfunction shallowCopy(x) {\n if (Array.isArray(x)) {\n return x.concat();\n } else if (x && typeof x === 'object') {\n return _assign(new x.constructor(), x);\n } else {\n return x;\n }\n}\n\nvar COMMAND_PUSH = keyOf({ $push: null });\nvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\nvar COMMAND_SPLICE = keyOf({ $splice: null });\nvar COMMAND_SET = keyOf({ $set: null });\nvar COMMAND_MERGE = keyOf({ $merge: null });\nvar COMMAND_APPLY = keyOf({ $apply: null });\n\nvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\nvar ALL_COMMANDS_SET = {};\n\nALL_COMMANDS_LIST.forEach(function (command) {\n ALL_COMMANDS_SET[command] = true;\n});\n\nfunction invariantArrayCase(value, spec, command) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : void 0;\n var specValue = spec[command];\n !Array.isArray(specValue) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : void 0;\n}\n\nfunction update(value, spec) {\n !(typeof spec === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : void 0;\n\n if (hasOwnProperty.call(spec, COMMAND_SET)) {\n !(Object.keys(spec).length === 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : void 0;\n\n return spec[COMMAND_SET];\n }\n\n var nextValue = shallowCopy(value);\n\n if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n var mergeObj = spec[COMMAND_MERGE];\n !(mergeObj && typeof mergeObj === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : void 0;\n !(nextValue && typeof nextValue === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : void 0;\n _assign(nextValue, spec[COMMAND_MERGE]);\n }\n\n if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n invariantArrayCase(value, spec, COMMAND_PUSH);\n spec[COMMAND_PUSH].forEach(function (item) {\n nextValue.push(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n spec[COMMAND_UNSHIFT].forEach(function (item) {\n nextValue.unshift(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : void 0;\n !Array.isArray(spec[COMMAND_SPLICE]) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : void 0;\n spec[COMMAND_SPLICE].forEach(function (args) {\n !Array.isArray(args) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : void 0;\n nextValue.splice.apply(nextValue, args);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n !(typeof spec[COMMAND_APPLY] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : void 0;\n nextValue = spec[COMMAND_APPLY](nextValue);\n }\n\n for (var k in spec) {\n if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n nextValue[k] = update(value[k], spec[k]);\n }\n }\n\n return nextValue;\n}\n\nmodule.exports = update;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/react/lib/update.js\n ** module id = 219\n ** module chunks = 0\n **/","'use strict';\n\nexports.__esModule = true;\nexports.ActionTypes = undefined;\nexports[\"default\"] = createStore;\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = exports.ActionTypes = {\n INIT: '@@redux/INIT'\n};\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [initialState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} enhancer The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\nfunction createStore(reducer, initialState, enhancer) {\n if (typeof initialState === 'function' && typeof enhancer === 'undefined') {\n enhancer = initialState;\n initialState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, initialState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = initialState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!(0, _isPlainObject2[\"default\"])(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n };\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/lib/createStore.js\n ** module id = 220\n ** module chunks = 0\n **/","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetPrototype = Object.getPrototypeOf;\n\n/**\n * Gets the `[[Prototype]]` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {null|Object} Returns the `[[Prototype]]`.\n */\nfunction getPrototype(value) {\n return nativeGetPrototype(Object(value));\n}\n\nmodule.exports = getPrototype;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/_getPrototype.js\n ** module id = 221\n ** module chunks = 0\n **/","/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\nmodule.exports = isHostObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/_isHostObject.js\n ** module id = 222\n ** module chunks = 0\n **/","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/isObjectLike.js\n ** module id = 223\n ** module chunks = 0\n **/","var getPrototype = require('./_getPrototype'),\n isHostObject = require('./_isHostObject'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object,\n * else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) ||\n objectToString.call(value) != objectTag || isHostObject(value)) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return (typeof Ctor == 'function' &&\n Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString);\n}\n\nmodule.exports = isPlainObject;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/redux/~/lodash/isPlainObject.js\n ** module id = 224\n ** module chunks = 0\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_225__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"react-dom\"\n ** module id = 225\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///lib.js","webpack:///webpack/bootstrap 18f852dcf58f61a444ad","webpack:///./~/invariant/browser.js","webpack:///external \"react\"","webpack:///./~/lodash/isArray.js","webpack:///./~/lodash/isPlainObject.js","webpack:///./~/lodash/_baseRest.js","webpack:///./~/lodash/_root.js","webpack:///./~/lodash/isObject.js","webpack:///./~/lodash/isObjectLike.js","webpack:///./~/dnd-core/lib/actions/dragDrop.js","webpack:///./~/dnd-core/lib/actions/registry.js","webpack:///./~/lodash/_assocIndexOf.js","webpack:///./~/lodash/_baseGetTag.js","webpack:///./~/lodash/_getMapData.js","webpack:///./~/lodash/_getNative.js","webpack:///./~/lodash/_nativeCreate.js","webpack:///./~/lodash/eq.js","webpack:///./~/lodash/isArrayLikeObject.js","webpack:///./~/react-dnd/lib/utils/checkDecoratorArguments.js","webpack:///./lib/util/index.js","webpack:///./~/disposables/modules/isDisposable.js","webpack:///./~/lodash/_SetCache.js","webpack:///./~/lodash/_Symbol.js","webpack:///./~/lodash/_arrayIncludes.js","webpack:///./~/lodash/_arrayIncludesWith.js","webpack:///./~/lodash/_arrayMap.js","webpack:///./~/lodash/_baseUnary.js","webpack:///./~/lodash/_cacheHas.js","webpack:///./~/lodash/isArrayLike.js","webpack:///./~/react-dnd-html5-backend/lib/NativeTypes.js","webpack:///./~/react-dnd/lib/index.js","webpack:///./~/react-dnd/lib/utils/shallowEqual.js","webpack:///(webpack)/buildin/module.js","webpack:///./lib/components/ItemTypes.js","webpack:///./~/dnd-core/lib/HandlerRegistry.js","webpack:///./~/dnd-core/lib/reducers/dirtyHandlerIds.js","webpack:///./~/dnd-core/lib/reducers/dragOffset.js","webpack:///./~/dnd-core/lib/utils/matchesType.js","webpack:///./~/lodash/_MapCache.js","webpack:///./~/lodash/_apply.js","webpack:///./~/lodash/_baseAssignValue.js","webpack:///./~/lodash/_baseDifference.js","webpack:///./~/lodash/_baseFlatten.js","webpack:///./~/lodash/_baseUniq.js","webpack:///./~/lodash/_defineProperty.js","webpack:///./~/lodash/_freeGlobal.js","webpack:///./~/lodash/_isIndex.js","webpack:///./~/lodash/_setToArray.js","webpack:///./~/lodash/identity.js","webpack:///./~/lodash/isArguments.js","webpack:///./~/lodash/isFunction.js","webpack:///./~/lodash/isLength.js","webpack:///./~/lodash/noop.js","webpack:///./~/lodash/without.js","webpack:///./~/react-dnd-html5-backend/lib/BrowserDetector.js","webpack:///./~/react-dnd/lib/areOptionsEqual.js","webpack:///./~/react-dnd/lib/decorateHandler.js","webpack:///./~/react-dnd/lib/utils/isValidType.js","webpack:///./~/react-dnd/lib/utils/shallowEqualScalar.js","webpack:///./~/react-dnd/lib/wrapConnectorHooks.js","webpack:///./lib/components/AddWidget.js","webpack:///./lib/components/Column.js","webpack:///./lib/components/Dashboard.js","webpack:///./lib/components/DefaultFrame.js","webpack:///./lib/components/LayoutRenderer.js","webpack:///./lib/components/Row.js","webpack:///./lib/components/WidgetFrame.js","webpack:///./lib/components/Widgets.js","webpack:///./lib/index.js","webpack:///./~/asap/browser-asap.js","webpack:///./~/asap/browser-raw.js","webpack:///./~/disposables/modules/CompositeDisposable.js","webpack:///./~/disposables/modules/Disposable.js","webpack:///./~/disposables/modules/SerialDisposable.js","webpack:///./~/disposables/modules/index.js","webpack:///./~/dnd-core/lib/DragDropManager.js","webpack:///./~/dnd-core/lib/DragDropMonitor.js","webpack:///./~/dnd-core/lib/DragSource.js","webpack:///./~/dnd-core/lib/DropTarget.js","webpack:///./~/dnd-core/lib/backends/createTestBackend.js","webpack:///./~/dnd-core/lib/index.js","webpack:///./~/dnd-core/lib/reducers/dragOperation.js","webpack:///./~/dnd-core/lib/reducers/index.js","webpack:///./~/dnd-core/lib/reducers/refCount.js","webpack:///./~/dnd-core/lib/reducers/stateId.js","webpack:///./~/dnd-core/lib/utils/getNextUniqueId.js","webpack:///./~/fbjs/lib/invariant.js","webpack:///./~/fbjs/lib/keyOf.js","webpack:///./~/lodash/_Hash.js","webpack:///./~/lodash/_ListCache.js","webpack:///./~/lodash/_Map.js","webpack:///./~/lodash/_Set.js","webpack:///./~/lodash/_arrayFilter.js","webpack:///./~/lodash/_arrayLikeKeys.js","webpack:///./~/lodash/_arrayPush.js","webpack:///./~/lodash/_assignInDefaults.js","webpack:///./~/lodash/_assignValue.js","webpack:///./~/lodash/_baseFindIndex.js","webpack:///./~/lodash/_baseIndexOf.js","webpack:///./~/lodash/_baseIntersection.js","webpack:///./~/lodash/_baseIsArguments.js","webpack:///./~/lodash/_baseIsNaN.js","webpack:///./~/lodash/_baseIsNative.js","webpack:///./~/lodash/_baseIsTypedArray.js","webpack:///./~/lodash/_baseKeysIn.js","webpack:///./~/lodash/_baseSetToString.js","webpack:///./~/lodash/_baseTimes.js","webpack:///./~/lodash/_baseXor.js","webpack:///./~/lodash/_castArrayLikeObject.js","webpack:///./~/lodash/_copyObject.js","webpack:///./~/lodash/_coreJsData.js","webpack:///./~/lodash/_createAssigner.js","webpack:///./~/lodash/_createSet.js","webpack:///./~/lodash/_getPrototype.js","webpack:///./~/lodash/_getRawTag.js","webpack:///./~/lodash/_getValue.js","webpack:///./~/lodash/_hashClear.js","webpack:///./~/lodash/_hashDelete.js","webpack:///./~/lodash/_hashGet.js","webpack:///./~/lodash/_hashHas.js","webpack:///./~/lodash/_hashSet.js","webpack:///./~/lodash/_isFlattenable.js","webpack:///./~/lodash/_isIterateeCall.js","webpack:///./~/lodash/_isKeyable.js","webpack:///./~/lodash/_isMasked.js","webpack:///./~/lodash/_isPrototype.js","webpack:///./~/lodash/_listCacheClear.js","webpack:///./~/lodash/_listCacheDelete.js","webpack:///./~/lodash/_listCacheGet.js","webpack:///./~/lodash/_listCacheHas.js","webpack:///./~/lodash/_listCacheSet.js","webpack:///./~/lodash/_mapCacheClear.js","webpack:///./~/lodash/_mapCacheDelete.js","webpack:///./~/lodash/_mapCacheGet.js","webpack:///./~/lodash/_mapCacheHas.js","webpack:///./~/lodash/_mapCacheSet.js","webpack:///./~/lodash/_nativeKeysIn.js","webpack:///./~/lodash/_nodeUtil.js","webpack:///./~/lodash/_objectToString.js","webpack:///./~/lodash/_overArg.js","webpack:///./~/lodash/_overRest.js","webpack:///./~/lodash/_setCacheAdd.js","webpack:///./~/lodash/_setCacheHas.js","webpack:///./~/lodash/_setToString.js","webpack:///./~/lodash/_shortOut.js","webpack:///./~/lodash/_strictIndexOf.js","webpack:///./~/lodash/_toSource.js","webpack:///./~/lodash/assignInWith.js","webpack:///./~/lodash/constant.js","webpack:///./~/lodash/defaults.js","webpack:///./~/lodash/intersection.js","webpack:///./~/lodash/isBuffer.js","webpack:///./~/lodash/isTypedArray.js","webpack:///./~/lodash/keysIn.js","webpack:///./~/lodash/memoize.js","webpack:///./~/lodash/stubFalse.js","webpack:///./~/lodash/union.js","webpack:///./~/lodash/xor.js","webpack:///./~/react-dnd-html5-backend/lib/EnterLeaveCounter.js","webpack:///./~/react-dnd-html5-backend/lib/HTML5Backend.js","webpack:///./~/react-dnd-html5-backend/lib/MonotonicInterpolant.js","webpack:///./~/react-dnd-html5-backend/lib/NativeDragSources.js","webpack:///./~/react-dnd-html5-backend/lib/OffsetUtils.js","webpack:///./~/react-dnd-html5-backend/lib/getEmptyImage.js","webpack:///./~/react-dnd-html5-backend/lib/index.js","webpack:///./~/react-dnd-html5-backend/lib/shallowEqual.js","webpack:///./~/react-dnd/lib/DragDropContext.js","webpack:///./~/react-dnd/lib/DragLayer.js","webpack:///./~/react-dnd/lib/DragSource.js","webpack:///./~/react-dnd/lib/DropTarget.js","webpack:///./~/react-dnd/lib/createSourceConnector.js","webpack:///./~/react-dnd/lib/createSourceFactory.js","webpack:///./~/react-dnd/lib/createSourceMonitor.js","webpack:///./~/react-dnd/lib/createTargetConnector.js","webpack:///./~/react-dnd/lib/createTargetFactory.js","webpack:///./~/react-dnd/lib/createTargetMonitor.js","webpack:///./~/react-dnd/lib/registerSource.js","webpack:///./~/react-dnd/lib/registerTarget.js","webpack:///./~/react-dnd/lib/utils/cloneWithRef.js","webpack:///./~/react/lib/Object.assign.js","webpack:///./~/react/lib/update.js","webpack:///./~/redux/lib/createStore.js","webpack:///./~/symbol-observable/index.js","webpack:///./~/symbol-observable/lib/index.js","webpack:///./~/symbol-observable/lib/ponyfill.js","webpack:///external \"react-dom\""],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","__WEBPACK_EXTERNAL_MODULE_185__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","invariant","condition","format","a","b","d","e","f","error","undefined","Error","args","argIndex","replace","name","framesToPop","isArray","Array","isPlainObject","value","isObjectLike","baseGetTag","objectTag","proto","getPrototype","Ctor","hasOwnProperty","constructor","funcToString","objectCtorString","funcProto","Function","prototype","objectProto","Object","toString","baseRest","func","start","setToString","overRest","identity","freeGlobal","freeSelf","self","isObject","type","_interopRequireDefault","obj","__esModule","default","beginDrag","sourceIds","_ref","arguments","length","_ref$publishSource","publishSource","_ref$clientOffset","clientOffset","getSourceClientOffset","_invariant2","_lodashIsArray2","monitor","getMonitor","registry","getRegistry","isDragging","i","getSource","sourceId","canDragSource","sourceClientOffset","source","item","_lodashIsObject2","pinSource","itemType","getSourceType","BEGIN_DRAG","isSourcePublic","publishDragSource","manager","PUBLISH_DRAG_SOURCE","hover","targetIds","_ref2","_ref2$clientOffset","slice","didDrop","targetId","lastIndexOf","target","getTarget","draggedItemType","getItemType","targetType","getTargetType","_utilsMatchesType2","splice","HOVER","drop","_this","getTargetIds","filter","canDropOnTarget","reverse","forEach","index","dropResult","getDropResult","store","dispatch","DROP","endDrag","getSourceId","unpinSource","END_DRAG","_utilsMatchesType","_invariant","_lodashIsArray","_lodashIsObject","addSource","ADD_SOURCE","addTarget","ADD_TARGET","removeSource","REMOVE_SOURCE","removeTarget","REMOVE_TARGET","assocIndexOf","array","key","eq","undefinedTag","nullTag","symToStringTag","getRawTag","objectToString","Symbol","toStringTag","getMapData","map","data","__data__","isKeyable","getNative","object","getValue","baseIsNative","nativeCreate","other","isArrayLikeObject","isArrayLike","checkDecoratorArguments","functionName","signature","_defineProperty","defineProperty","enumerable","configurable","writable","addWidget","layout","rowIndex","columnIndex","widgetName","_update2","rows","columns","widgets","$push","removeWidget","widgetIndex","$splice","moveWidget","initialLocation","destination","removedLayout","movedLayout","sortWidget","_update","isDisposable","Boolean","dispose","SetCache","values","MapCache","add","setCacheAdd","setCacheHas","push","has","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","iteratee","result","baseUnary","cacheHas","cache","isLength","isFunction","FILE","URL","TEXT","_interopRequire","_DragDropContext","DragDropContext","_DragLayer","DragLayer","_DragSource","DragSource","_DropTarget","DropTarget","shallowEqual","objA","objB","keysA","keys","keysB","hasOwn","valA","valB","webpackPolyfill","deprecate","paths","children","WIDGET","_classCallCheck","instance","Constructor","TypeError","_typeof","validateSourceContract","canDrag","validateTargetContract","canDrop","validateType","allowArray","t","getNextHandlerId","role","_utilsGetNextUniqueId2","HandlerRoles","SOURCE","TARGET","parseRoleFromHandlerId","handlerId","_utilsGetNextUniqueId","_actionsRegistry","_asap","_asap2","HandlerRegistry","types","handlers","pinnedSourceId","pinnedSource","addHandler","handler","containsHandler","some","includePinned","isSourceId","isPinned","isTargetId","_this2","_this3","dirtyHandlerIds","state","action","dragOperation","NONE","_actionsDragDrop","ALL","prevTargetIds","_lodashXor2","didChange","prevInnermostTargetId","innermostTargetId","areDirty","handlerIds","_lodashIntersection2","_lodashXor","_lodashIntersection","areOffsetsEqual","offsetA","offsetB","x","y","dragOffset","initialState","initialSourceClientOffset","initialClientOffset","_extends","getDifferenceFromInitialOffset","assign","matchesType","entries","clear","entry","set","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","get","apply","thisArg","baseAssignValue","baseDifference","includes","isCommon","valuesLength","LARGE_ARRAY_SIZE","outer","computed","valuesIndex","baseFlatten","depth","predicate","isStrict","isFlattenable","arrayPush","baseUniq","seen","createSet","setToArray","seenIndex","global","isIndex","MAX_SAFE_INTEGER","reIsUint","test","size","baseIsArguments","propertyIsEnumerable","isArguments","tag","funcTag","genTag","asyncTag","proxyTag","noop","without","_lodashMemoize","_lodashMemoize2","isFirefox","navigator","userAgent","isSafari","window","safari","areOptionsEqual","nextOptions","currentOptions","_utilsShallowEqual2","_utilsShallowEqual","_inherits","subClass","superClass","create","setPrototypeOf","__proto__","decorateHandler","DecoratedComponent","createHandler","createMonitor","createConnector","registerHandler","containerDisplayName","getType","collect","options","_options$arePropsEqual","arePropsEqual","_utilsShallowEqualScalar2","displayName","_Component","DragDropContainer","props","context","handleChange","bind","handleChildRef","dragDropManager","handlerMonitor","handlerConnector","getBackend","disposable","_disposables","SerialDisposable","receiveProps","getCurrentState","getHandlerId","getDecoratedComponentInstance","decoratedComponentInstance","shouldComponentUpdate","nextProps","nextState","_createClass","_react","PropTypes","isRequired","componentDidMount","isCurrentlyMounted","currentType","componentWillReceiveProps","componentWillUnmount","receiveType","_registerHandler","unregister","receiveHandlerId","globalMonitor","unsubscribe","subscribeToStateChange","setDisposable","CompositeDisposable","Disposable","setState","component","receiveComponent","hooks","render","_react2","createElement","ref","Component","defineProperties","descriptor","protoProps","staticProps","_utilsShallowEqualScalar","_lodashIsPlainObject","isValidType","every","shallowEqualScalar","throwIfCompositeComponentElement","element","wrapHookToRecognizeElement","hook","elementOrNode","isValidElement","node","_utilsCloneWithRef2","wrapConnectorHooks","wrappedHooks","wrappedHook","_utilsCloneWithRef","AddWidget","text","onClick","className","propTypes","string","defaultProps","_possibleConstructorReturn","ReferenceError","_dec","_class","_reactDnd","_ItemTypes","_AddWidget","_AddWidget2","_util","columnTarget","onMove","getItem","Column","connect","connectDropTarget","dropTarget","isOver","getPrototypeOf","_props","editable","onAdd","editableColumnClass","droppableColumnClass","addWidgetComponentText","addWidgetComponent","classes","isActive","addWidgetComponentToUse","number","bool","_reactDndHtml5Backend","_reactDndHtml5Backend2","_LayoutRenderer","_LayoutRenderer2","Dashboard","rowClass","frameComponent","onRemove","DefaultFrame","title","_Row","_Row2","LayoutRenderer","row","Row","items","column","_Column2","_Widgets2","widgetTypes","_Column","_Widgets","_dec2","_reactDom","_DefaultFrame","_DefaultFrame2","boxSource","cardTarget","dragIndex","hoverIndex","hoverBoundingRect","findDOMNode","getBoundingClientRect","hoverMiddleY","bottom","top","getClientOffset","hoverClientY","newLayout","WidgetFrame","connectDragSource","dragSource","_temp","_ret","_len","_key","concat","remove","_this$props","selected","opacity","style","_WidgetFrame","_WidgetFrame2","Widgets","createdWidgets","widget","_Dashboard","throwFirstError","pendingErrors","shift","asap","task","rawTask","freeTasks","pop","RawTask","rawAsap","requestErrorThrow","makeRequestCallFromTimer","onerror","queue","requestFlush","flushing","flush","currentIndex","capacity","scan","newLength","makeRequestCallFromMutationObserver","callback","toggle","observer","BrowserMutationObserver","document","createTextNode","observe","characterData","handleTimer","clearTimeout","timeoutHandle","clearInterval","intervalHandle","setTimeout","setInterval","scope","MutationObserver","WebKitMutationObserver","_interopRequireWildcard","_isDisposable","_isDisposable2","disposables","isDisposed","indexOf","len","currentDisposables","current","getDisposable","previous","_isDisposable3","_Disposable2","_Disposable3","_CompositeDisposable2","_CompositeDisposable3","_SerialDisposable2","_SerialDisposable3","newObj","_reduxLibCreateStore","_reduxLibCreateStore2","_reducers","_reducers2","dragDropActions","_DragDropMonitor","_DragDropMonitor2","_HandlerRegistry","DragDropManager","createBackend","backend","subscribe","handleRefCountChange","shouldSetUp","getState","refCount","isSetUp","setup","teardown","getActions","bindActionCreator","actionCreator","reduce","boundActions","_HandlerRegistry2","_reducersDragOffset","_reducersDirtyHandlerIds","DragDropMonitor","listener","prevStateId","stateId","currentStateId","canSkipListener","subscribeToOffsetChange","previousState","isDraggingSource","sourceType","isOverTarget","_ref2$shallow","shallow","getInitialClientOffset","getInitialSourceClientOffset","handle","TestBackend","_lodashNoop","_lodashNoop2","actions","didCallSetup","didCallTeardown","connectDragPreview","simulateBeginDrag","simulatePublishDragSource","simulateHover","simulateDrop","simulateEndDrag","_DragDropManager","_backendsCreateTestBackend","createTestBackend","_lodashWithout2","_lodashWithout","_dragOffset","_dragOffset2","_dragOperation","_dragOperation2","_refCount","_refCount2","_dirtyHandlerIds","_dirtyHandlerIds2","_stateId","_stateId2","getNextUniqueId","nextUniqueId","keyOf","oneKeyObj","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","Map","Set","arrayFilter","resIndex","arrayLikeKeys","inherited","isArr","isArg","isBuff","isBuffer","isType","isTypedArray","skipIndexes","baseTimes","String","offset","assignInDefaults","objValue","srcValue","assignValue","baseFindIndex","fromIndex","fromRight","strictIndexOf","baseIsNaN","baseIntersection","arrays","othLength","othIndex","caches","maxLength","Infinity","nativeMin","Math","min","argsTag","isMasked","pattern","reIsNative","reIsHostCtor","toSource","reRegExpChar","RegExp","baseIsTypedArray","typedArrayTags","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","baseKeysIn","nativeKeysIn","isProto","isPrototype","constant","baseSetToString","n","baseXor","castArrayLikeObject","copyObject","customizer","isNew","newValue","coreJsData","createAssigner","assigner","sources","guard","isIterateeCall","INFINITY","overArg","isOwn","unmasked","nativeObjectToString","HASH_UNDEFINED","spreadableSymbol","isConcatSpreadable","maskSrcKey","uid","exec","IE_PROTO","lastIndex","arrayProto","hash","freeExports","nodeType","freeModule","moduleExports","freeProcess","process","nodeUtil","binding","transform","arg","nativeMax","otherArgs","max","shortOut","count","lastCalled","stamp","nativeNow","remaining","HOT_SPAN","HOT_COUNT","Date","now","keysIn","assignInWith","srcIndex","defaults","intersection","mapped","stubFalse","Buffer","nativeIsBuffer","nodeIsTypedArray","memoize","resolver","FUNC_ERROR_TEXT","memoized","Cache","union","xor","_lodashUnion","_lodashUnion2","EnterLeaveCounter","entered","enter","enteringNode","previousLength","documentElement","contains","leave","leavingNode","reset","_lodashDefaults","_lodashDefaults2","_shallowEqual","_shallowEqual2","_EnterLeaveCounter","_EnterLeaveCounter2","_BrowserDetector","_OffsetUtils","_NativeDragSources","_NativeTypes","NativeTypes","HTML5Backend","sourcePreviewNodes","sourcePreviewNodeOptions","sourceNodes","sourceNodeOptions","enterLeaveCounter","handleTopDragStart","handleTopDragStartCapture","handleTopDragEndCapture","handleTopDragEnter","handleTopDragEnterCapture","handleTopDragLeaveCapture","handleTopDragOver","handleTopDragOverCapture","handleTopDrop","handleTopDropCapture","handleSelectStart","endDragIfSourceWasRemovedFromDOM","endDragNativeItem","addEventListeners","removeEventListeners","clearCurrentDragSourceNode","addEventListener","removeEventListener","handleDragStart","setAttribute","handleDragEnter","handleDragOver","handleDrop","getCurrentSourceNodeOptions","dropEffect","getCurrentDropEffect","isDraggingNativeItem","getCurrentSourcePreviewNodeOptions","anchorX","anchorY","captureDraggingState","getNodeClientOffset","beginDragNativeItem","SourceType","createNativeDragSource","currentNativeSource","currentNativeHandle","currentDragSourceNode","body","setCurrentDragSourceNode","currentDragSourceNodeOffset","currentDragSourceNodeOffsetChanged","checkIfCurrentDragSourceRectChanged","dragStartSourceIds","unshift","_this4","getEventClientOffset","dataTransfer","nativeType","matchNativeItemType","setDragImage","sourceNode","dragPreview","_getCurrentSourcePreviewNodeOptions","anchorPoint","dragPreviewOffset","getDragPreviewOffset","setData","err","_getCurrentSourcePreviewNodeOptions2","hasAttribute","preventDefault","dragEnterTargetIds","isFirstEnter","_this5","dragOverTargetIds","_this6","isLastLeave","dropTargetIds","mutateItemByReadingDataTransfer","dragDrop","tagName","isContentEditable","MonotonicInterpolant","xs","ys","indexes","sort","dys","dxs","ms","dx","dy","c1s","_m","mNext","dxNext","common","c2s","c3s","c1","invDx","interpolate","low","high","mid","floor","xHere","diff","diffSq","getDataFromDataTransfer","typesToTry","defaultValue","resultSoFar","typeToTry","getData","_nativeTypesConfig$type","nativeTypesConfig","exposeProperty","matchesTypes","NativeDragSource","console","warn","dataTransferTypes","nativeItemType","_nativeTypesConfig","files","split","el","ELEMENT_NODE","parentElement","_el$getBoundingClientRect","left","clientX","clientY","isImage","nodeName","dragPreviewNode","dragPreviewNodeOffsetFromClient","offsetFromDragPreview","sourceWidth","offsetWidth","sourceHeight","offsetHeight","dragPreviewWidth","width","dragPreviewHeight","height","devicePixelRatio","interpolantX","_MonotonicInterpolant2","interpolantY","_MonotonicInterpolant","getEmptyImage","emptyImage","Image","src","createHTML5Backend","_HTML5Backend2","_HTML5Backend","_getEmptyImage","_getEmptyImage2","backendOrModule","_utilsCheckDecoratorArguments2","_slice","childContext","_dndCore","DragDropContextContainer","refs","child","getManager","getChildContext","_utilsCheckDecoratorArguments","_lodashIsPlainObject2","DragLayerContainer","unsubscribeFromOffsetChange","unsubscribeFromStateChange","spec","_utilsIsValidType2","createSource","_createSourceFactory2","_decorateHandler2","connectBackend","_registerSource2","_createSourceMonitor2","_createSourceConnector2","_decorateHandler","_registerSource","_createSourceFactory","_createSourceMonitor","_createSourceConnector","_utilsIsValidType","createTarget","_createTargetFactory2","_registerTarget2","_createTargetMonitor2","_createTargetConnector2","_registerTarget","_createTargetFactory","_createTargetMonitor","_createTargetConnector","createSourceConnector","reconnectDragSource","disconnectCurrentDragSource","currentHandlerId","currentDragSourceOptions","reconnectDragPreview","disconnectCurrentDragPreview","currentDragPreviewNode","currentDragPreviewOptions","_wrapConnectorHooks2","_areOptionsEqual2","_wrapConnectorHooks","_areOptionsEqual","createSourceFactory","ALLOWED_SPEC_METHODS","join","REQUIRED_SPEC_METHODS","Source","createSourceMonitor","SourceMonitor","isCallingCanDrag","isCallingIsDragging","internalMonitor","createTargetConnector","reconnectDropTarget","disconnectCurrentDropTarget","currentDropTargetNode","currentDropTargetOptions","createTargetFactory","Target","receiveMonitor","createTargetMonitor","TargetMonitor","isCallingCanDrop","registerSource","unregisterSource","registerTarget","unregisterTarget","cloneWithRef","newRef","previousRef","cloneElement","to","nextIndex","nextSource","from","shallowCopy","invariantArrayCase","command","specValue","update","COMMAND_SET","nextValue","COMMAND_MERGE","mergeObj","COMMAND_PUSH","COMMAND_UNSHIFT","COMMAND_SPLICE","COMMAND_APPLY","k","ALL_COMMANDS_SET","$unshift","$set","$merge","$apply","ALL_COMMANDS_LIST","createStore","reducer","preloadedState","enhancer","ensureCanMutateNextListeners","nextListeners","currentListeners","currentState","isSubscribed","_isPlainObject2","isDispatching","currentReducer","listeners","replaceReducer","nextReducer","ActionTypes","INIT","observable","outerSubscribe","observeState","next","_symbolObservable2","_isPlainObject","_symbolObservable","_ponyfill","_ponyfill2","symbolObservablePonyfill","_Symbol"],"mappings":"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","file":"lib.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dazzle\", [\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dazzle\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"dazzle\"] = factory(root[\"react\"], root[\"react-dom\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_185__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dazzle\", [\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dazzle\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"dazzle\"] = factory(root[\"react\"], root[\"react-dom\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_185__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(68);\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tvar invariant = function(condition, format, a, b, c, d, e, f) {\n\t if (false) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error(\n\t 'Minified exception occurred; use the non-minified dev environment ' +\n\t 'for the full error message and additional helpful warnings.'\n\t );\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(\n\t format.replace(/%s/g, function() { return args[argIndex++]; })\n\t );\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t};\n\t\n\tmodule.exports = invariant;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(12),\n\t getPrototype = __webpack_require__(113),\n\t isObjectLike = __webpack_require__(8);\n\t\n\t/** `Object#toString` result references. */\n\tvar objectTag = '[object Object]';\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to infer the `Object` constructor. */\n\tvar objectCtorString = funcToString.call(Object);\n\t\n\t/**\n\t * Checks if `value` is a plain object, that is, an object created by the\n\t * `Object` constructor or one with a `[[Prototype]]` of `null`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.8.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * }\n\t *\n\t * _.isPlainObject(new Foo);\n\t * // => false\n\t *\n\t * _.isPlainObject([1, 2, 3]);\n\t * // => false\n\t *\n\t * _.isPlainObject({ 'x': 0, 'y': 0 });\n\t * // => true\n\t *\n\t * _.isPlainObject(Object.create(null));\n\t * // => true\n\t */\n\tfunction isPlainObject(value) {\n\t if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n\t return false;\n\t }\n\t var proto = getPrototype(value);\n\t if (proto === null) {\n\t return true;\n\t }\n\t var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n\t return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n\t funcToString.call(Ctor) == objectCtorString;\n\t}\n\t\n\tmodule.exports = isPlainObject;\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar identity = __webpack_require__(48),\n\t overRest = __webpack_require__(140),\n\t setToString = __webpack_require__(143);\n\t\n\t/**\n\t * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n\t *\n\t * @private\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction baseRest(func, start) {\n\t return setToString(overRest(func, start, identity), func + '');\n\t}\n\t\n\tmodule.exports = baseRest;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar freeGlobal = __webpack_require__(45);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\tmodule.exports = root;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return value != null && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return value != null && typeof value == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.beginDrag = beginDrag;\n\texports.publishDragSource = publishDragSource;\n\texports.hover = hover;\n\texports.drop = drop;\n\texports.endDrag = endDrag;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsMatchesType = __webpack_require__(37);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(3);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _lodashIsObject = __webpack_require__(7);\n\t\n\tvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\t\n\tvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\n\texports.BEGIN_DRAG = BEGIN_DRAG;\n\tvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\n\texports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\n\tvar HOVER = 'dnd-core/HOVER';\n\texports.HOVER = HOVER;\n\tvar DROP = 'dnd-core/DROP';\n\texports.DROP = DROP;\n\tvar END_DRAG = 'dnd-core/END_DRAG';\n\t\n\texports.END_DRAG = END_DRAG;\n\t\n\tfunction beginDrag(sourceIds) {\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref$publishSource = _ref.publishSource;\n\t var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n\t var _ref$clientOffset = _ref.clientOffset;\n\t var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n\t var getSourceClientOffset = _ref.getSourceClientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\t\n\t for (var i = 0; i < sourceIds.length; i++) {\n\t _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n\t }\n\t\n\t var sourceId = null;\n\t for (var i = sourceIds.length - 1; i >= 0; i--) {\n\t if (monitor.canDragSource(sourceIds[i])) {\n\t sourceId = sourceIds[i];\n\t break;\n\t }\n\t }\n\t if (sourceId === null) {\n\t return;\n\t }\n\t\n\t var sourceClientOffset = null;\n\t if (clientOffset) {\n\t _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n\t sourceClientOffset = getSourceClientOffset(sourceId);\n\t }\n\t\n\t var source = registry.getSource(sourceId);\n\t var item = source.beginDrag(monitor, sourceId);\n\t _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\t\n\t registry.pinSource(sourceId);\n\t\n\t var itemType = registry.getSourceType(sourceId);\n\t return {\n\t type: BEGIN_DRAG,\n\t itemType: itemType,\n\t item: item,\n\t sourceId: sourceId,\n\t clientOffset: clientOffset,\n\t sourceClientOffset: sourceClientOffset,\n\t isSourcePublic: publishSource\n\t };\n\t}\n\t\n\tfunction publishDragSource(manager) {\n\t var monitor = this.getMonitor();\n\t if (!monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t return {\n\t type: PUBLISH_DRAG_SOURCE\n\t };\n\t}\n\t\n\tfunction hover(targetIds) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$clientOffset = _ref2.clientOffset;\n\t var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\t\n\t _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n\t targetIds = targetIds.slice(0);\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\t\n\t // First check invariants.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\t\n\t var target = registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected targetIds to be registered.');\n\t }\n\t\n\t var draggedItemType = monitor.getItemType();\n\t\n\t // Remove those targetIds that don't match the targetType. This\n\t // fixes shallow isOver which would only be non-shallow because of\n\t // non-matching targets.\n\t for (var i = targetIds.length - 1; i >= 0; i--) {\n\t var targetId = targetIds[i];\n\t var targetType = registry.getTargetType(targetId);\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t targetIds.splice(i, 1);\n\t }\n\t }\n\t\n\t // Finally call hover on all matching targets.\n\t for (var i = 0; i < targetIds.length; i++) {\n\t var targetId = targetIds[i];\n\t var target = registry.getTarget(targetId);\n\t target.hover(monitor, targetId);\n\t }\n\t\n\t return {\n\t type: HOVER,\n\t targetIds: targetIds,\n\t clientOffset: clientOffset\n\t };\n\t}\n\t\n\tfunction drop() {\n\t var _this = this;\n\t\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n\t _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\t\n\t var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\t\n\t targetIds.reverse();\n\t targetIds.forEach(function (targetId, index) {\n\t var target = registry.getTarget(targetId);\n\t\n\t var dropResult = target.drop(monitor, targetId);\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n\t if (typeof dropResult === 'undefined') {\n\t dropResult = index === 0 ? {} : monitor.getDropResult();\n\t }\n\t\n\t _this.store.dispatch({\n\t type: DROP,\n\t dropResult: dropResult\n\t });\n\t });\n\t}\n\t\n\tfunction endDrag() {\n\t var monitor = this.getMonitor();\n\t var registry = this.getRegistry();\n\t _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\t\n\t var sourceId = monitor.getSourceId();\n\t var source = registry.getSource(sourceId, true);\n\t source.endDrag(monitor, sourceId);\n\t\n\t registry.unpinSource();\n\t\n\t return {\n\t type: END_DRAG\n\t };\n\t}\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.addSource = addSource;\n\texports.addTarget = addTarget;\n\texports.removeSource = removeSource;\n\texports.removeTarget = removeTarget;\n\tvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\n\texports.ADD_SOURCE = ADD_SOURCE;\n\tvar ADD_TARGET = 'dnd-core/ADD_TARGET';\n\texports.ADD_TARGET = ADD_TARGET;\n\tvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\n\texports.REMOVE_SOURCE = REMOVE_SOURCE;\n\tvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\t\n\texports.REMOVE_TARGET = REMOVE_TARGET;\n\t\n\tfunction addSource(sourceId) {\n\t return {\n\t type: ADD_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction addTarget(targetId) {\n\t return {\n\t type: ADD_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\t\n\tfunction removeSource(sourceId) {\n\t return {\n\t type: REMOVE_SOURCE,\n\t sourceId: sourceId\n\t };\n\t}\n\t\n\tfunction removeTarget(targetId) {\n\t return {\n\t type: REMOVE_TARGET,\n\t targetId: targetId\n\t };\n\t}\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(22),\n\t getRawTag = __webpack_require__(114),\n\t objectToString = __webpack_require__(138);\n\t\n\t/** `Object#toString` result references. */\n\tvar nullTag = '[object Null]',\n\t undefinedTag = '[object Undefined]';\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * The base implementation of `getTag` without fallbacks for buggy environments.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t if (value == null) {\n\t return value === undefined ? undefinedTag : nullTag;\n\t }\n\t value = Object(value);\n\t return (symToStringTag && symToStringTag in value)\n\t ? getRawTag(value)\n\t : objectToString(value);\n\t}\n\t\n\tmodule.exports = baseGetTag;\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isKeyable = __webpack_require__(123);\n\t\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t var data = map.__data__;\n\t return isKeyable(key)\n\t ? data[typeof key == 'string' ? 'string' : 'hash']\n\t : data.map;\n\t}\n\t\n\tmodule.exports = getMapData;\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsNative = __webpack_require__(102),\n\t getValue = __webpack_require__(115);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = getValue(object, key);\n\t return baseIsNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(14);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\t\n\tmodule.exports = eq;\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLike = __webpack_require__(28),\n\t isObjectLike = __webpack_require__(8);\n\t\n\t/**\n\t * This method is like `_.isArrayLike` except that it also checks if `value`\n\t * is an object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array-like object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArrayLikeObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLikeObject('abc');\n\t * // => false\n\t *\n\t * _.isArrayLikeObject(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLikeObject(value) {\n\t return isObjectLike(value) && isArrayLike(value);\n\t}\n\t\n\tmodule.exports = isArrayLikeObject;\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = checkDecoratorArguments;\n\t\n\tfunction checkDecoratorArguments(functionName, signature) {\n\t if (false) {\n\t for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n\t args[_key - 2] = arguments[_key];\n\t }\n\t\n\t for (var i = 0; i < args.length; i++) {\n\t var arg = args[i];\n\t if (arg && arg.prototype && arg.prototype.render) {\n\t console.error( // eslint-disable-line no-console\n\t 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n\t return;\n\t }\n\t }\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.addWidget = addWidget;\n\texports.removeWidget = removeWidget;\n\texports.moveWidget = moveWidget;\n\texports.sortWidget = sortWidget;\n\t\n\tvar _update = __webpack_require__(180);\n\t\n\tvar _update2 = _interopRequireDefault(_update);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\t/**\r\n\t * Adds the specified widget to the specified position in the layout.\r\n\t */\n\tfunction addWidget(layout, rowIndex, columnIndex, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $push: [{\n\t key: widgetName\n\t }]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Removes the widget at a specified index.\r\n\t */\n\tfunction removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, rowIndex, {\n\t columns: _defineProperty({}, columnIndex, {\n\t widgets: {\n\t $splice: [[widgetIndex, 1]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/**\r\n\t * Moves a widget from column to column.\r\n\t */\n\tfunction moveWidget(layout, initialLocation, destination, widgetName) {\n\t var removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\n\t var movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\n\t return movedLayout;\n\t}\n\t\n\t/**\r\n\t * Sorts a widget in the same column.\r\n\t */\n\tfunction sortWidget(layout, initialLocation, destination, widgetName) {\n\t return (0, _update2.default)(layout, {\n\t rows: _defineProperty({}, initialLocation.rowIndex, {\n\t columns: _defineProperty({}, initialLocation.columnIndex, {\n\t widgets: {\n\t $splice: [[initialLocation.widgetIndex, 1], [destination.widgetIndex, 0, {\n\t key: widgetName\n\t }]]\n\t }\n\t })\n\t })\n\t });\n\t}\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 20 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isDisposable;\n\t\n\tfunction isDisposable(obj) {\n\t return Boolean(obj && typeof obj.dispose === 'function');\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(38),\n\t setCacheAdd = __webpack_require__(141),\n\t setCacheHas = __webpack_require__(142);\n\t\n\t/**\n\t *\n\t * Creates an array cache object to store unique values.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [values] The values to cache.\n\t */\n\tfunction SetCache(values) {\n\t var index = -1,\n\t length = values == null ? 0 : values.length;\n\t\n\t this.__data__ = new MapCache;\n\t while (++index < length) {\n\t this.add(values[index]);\n\t }\n\t}\n\t\n\t// Add methods to `SetCache`.\n\tSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n\tSetCache.prototype.has = setCacheHas;\n\t\n\tmodule.exports = SetCache;\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(6);\n\t\n\t/** Built-in value references. */\n\tvar Symbol = root.Symbol;\n\t\n\tmodule.exports = Symbol;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIndexOf = __webpack_require__(98);\n\t\n\t/**\n\t * A specialized version of `_.includes` for arrays without support for\n\t * specifying an index to search from.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to inspect.\n\t * @param {*} target The value to search for.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludes(array, value) {\n\t var length = array == null ? 0 : array.length;\n\t return !!length && baseIndexOf(array, value, 0) > -1;\n\t}\n\t\n\tmodule.exports = arrayIncludes;\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like `arrayIncludes` except that it accepts a comparator.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to inspect.\n\t * @param {*} target The value to search for.\n\t * @param {Function} comparator The comparator invoked per element.\n\t * @returns {boolean} Returns `true` if `target` is found, else `false`.\n\t */\n\tfunction arrayIncludesWith(array, value, comparator) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length;\n\t\n\t while (++index < length) {\n\t if (comparator(value, array[index])) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = arrayIncludesWith;\n\n\n/***/ },\n/* 25 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.unary` without support for storing metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new capped function.\n\t */\n\tfunction baseUnary(func) {\n\t return function(value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if a `cache` value for `key` exists.\n\t *\n\t * @private\n\t * @param {Object} cache The cache to query.\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction cacheHas(cache, key) {\n\t return cache.has(key);\n\t}\n\t\n\tmodule.exports = cacheHas;\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(50),\n\t isLength = __webpack_require__(51);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar FILE = '__NATIVE_FILE__';\n\texports.FILE = FILE;\n\tvar URL = '__NATIVE_URL__';\n\texports.URL = URL;\n\tvar TEXT = '__NATIVE_TEXT__';\n\texports.TEXT = TEXT;\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropContext = __webpack_require__(166);\n\t\n\texports.DragDropContext = _interopRequire(_DragDropContext);\n\t\n\tvar _DragLayer = __webpack_require__(167);\n\t\n\texports.DragLayer = _interopRequire(_DragLayer);\n\t\n\tvar _DragSource = __webpack_require__(168);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(169);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(module) {\r\n\t\tif(!module.webpackPolyfill) {\r\n\t\t\tmodule.deprecate = function() {};\r\n\t\t\tmodule.paths = [];\r\n\t\t\t// module.parent = undefined by default\r\n\t\t\tmodule.children = [];\r\n\t\t\tmodule.webpackPolyfill = 1;\r\n\t\t}\r\n\t\treturn module;\r\n\t}\r\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar WIDGET = exports.WIDGET = 'WIDGET';\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"ItemTypes.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsArray = __webpack_require__(3);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _utilsGetNextUniqueId = __webpack_require__(85);\n\t\n\tvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\t\n\tvar _actionsRegistry = __webpack_require__(10);\n\t\n\tvar _asap = __webpack_require__(69);\n\t\n\tvar _asap2 = _interopRequireDefault(_asap);\n\t\n\tvar HandlerRoles = {\n\t SOURCE: 'SOURCE',\n\t TARGET: 'TARGET'\n\t};\n\t\n\tfunction validateSourceContract(source) {\n\t _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n\t _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n\t _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n\t}\n\t\n\tfunction validateTargetContract(target) {\n\t _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n\t _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n\t _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n\t}\n\t\n\tfunction validateType(type, allowArray) {\n\t if (allowArray && _lodashIsArray2['default'](type)) {\n\t type.forEach(function (t) {\n\t return validateType(t, false);\n\t });\n\t return;\n\t }\n\t\n\t _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n\t}\n\t\n\tfunction getNextHandlerId(role) {\n\t var id = _utilsGetNextUniqueId2['default']().toString();\n\t switch (role) {\n\t case HandlerRoles.SOURCE:\n\t return 'S' + id;\n\t case HandlerRoles.TARGET:\n\t return 'T' + id;\n\t default:\n\t _invariant2['default'](false, 'Unknown role: ' + role);\n\t }\n\t}\n\t\n\tfunction parseRoleFromHandlerId(handlerId) {\n\t switch (handlerId[0]) {\n\t case 'S':\n\t return HandlerRoles.SOURCE;\n\t case 'T':\n\t return HandlerRoles.TARGET;\n\t default:\n\t _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n\t }\n\t}\n\t\n\tvar HandlerRegistry = (function () {\n\t function HandlerRegistry(store) {\n\t _classCallCheck(this, HandlerRegistry);\n\t\n\t this.store = store;\n\t\n\t this.types = {};\n\t this.handlers = {};\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t }\n\t\n\t HandlerRegistry.prototype.addSource = function addSource(type, source) {\n\t validateType(type);\n\t validateSourceContract(source);\n\t\n\t var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n\t this.store.dispatch(_actionsRegistry.addSource(sourceId));\n\t return sourceId;\n\t };\n\t\n\t HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n\t validateType(type, true);\n\t validateTargetContract(target);\n\t\n\t var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n\t this.store.dispatch(_actionsRegistry.addTarget(targetId));\n\t return targetId;\n\t };\n\t\n\t HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n\t var id = getNextHandlerId(role);\n\t this.types[id] = type;\n\t this.handlers[id] = handler;\n\t\n\t return id;\n\t };\n\t\n\t HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n\t var _this = this;\n\t\n\t return Object.keys(this.handlers).some(function (key) {\n\t return _this.handlers[key] === handler;\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t\n\t var isPinned = includePinned && sourceId === this.pinnedSourceId;\n\t var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\t\n\t return source;\n\t };\n\t\n\t HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.handlers[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n\t _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\t return this.types[sourceId];\n\t };\n\t\n\t HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n\t _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n\t return this.types[targetId];\n\t };\n\t\n\t HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.SOURCE;\n\t };\n\t\n\t HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n\t var role = parseRoleFromHandlerId(handlerId);\n\t return role === HandlerRoles.TARGET;\n\t };\n\t\n\t HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n\t this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\t\n\t _asap2['default'](function () {\n\t delete _this2.handlers[sourceId];\n\t delete _this2.types[sourceId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n\t var _this3 = this;\n\t\n\t _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n\t this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\t\n\t _asap2['default'](function () {\n\t delete _this3.handlers[targetId];\n\t delete _this3.types[targetId];\n\t });\n\t };\n\t\n\t HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n\t var source = this.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected an existing source.');\n\t\n\t this.pinnedSourceId = sourceId;\n\t this.pinnedSource = source;\n\t };\n\t\n\t HandlerRegistry.prototype.unpinSource = function unpinSource() {\n\t _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\t\n\t this.pinnedSourceId = null;\n\t this.pinnedSource = null;\n\t };\n\t\n\t return HandlerRegistry;\n\t})();\n\t\n\texports['default'] = HandlerRegistry;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = dirtyHandlerIds;\n\texports.areDirty = areDirty;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashXor = __webpack_require__(157);\n\t\n\tvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\t\n\tvar _lodashIntersection = __webpack_require__(150);\n\t\n\tvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\t\n\tvar _actionsDragDrop = __webpack_require__(9);\n\t\n\tvar _actionsRegistry = __webpack_require__(10);\n\t\n\tvar NONE = [];\n\tvar ALL = [];\n\t\n\tfunction dirtyHandlerIds(state, action, dragOperation) {\n\t if (state === undefined) state = NONE;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.HOVER:\n\t break;\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t return NONE;\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t default:\n\t return ALL;\n\t }\n\t\n\t var targetIds = action.targetIds;\n\t var prevTargetIds = dragOperation.targetIds;\n\t\n\t var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\t\n\t var didChange = false;\n\t if (dirtyHandlerIds.length === 0) {\n\t for (var i = 0; i < targetIds.length; i++) {\n\t if (targetIds[i] !== prevTargetIds[i]) {\n\t didChange = true;\n\t break;\n\t }\n\t }\n\t } else {\n\t didChange = true;\n\t }\n\t\n\t if (!didChange) {\n\t return NONE;\n\t }\n\t\n\t var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n\t var innermostTargetId = targetIds[targetIds.length - 1];\n\t\n\t if (prevInnermostTargetId !== innermostTargetId) {\n\t if (prevInnermostTargetId) {\n\t dirtyHandlerIds.push(prevInnermostTargetId);\n\t }\n\t if (innermostTargetId) {\n\t dirtyHandlerIds.push(innermostTargetId);\n\t }\n\t }\n\t\n\t return dirtyHandlerIds;\n\t}\n\t\n\tfunction areDirty(state, handlerIds) {\n\t if (state === NONE) {\n\t return false;\n\t }\n\t\n\t if (state === ALL || typeof handlerIds === 'undefined') {\n\t return true;\n\t }\n\t\n\t return _lodashIntersection2['default'](handlerIds, state).length > 0;\n\t}\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports['default'] = dragOffset;\n\texports.getSourceClientOffset = getSourceClientOffset;\n\texports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\t\n\tvar _actionsDragDrop = __webpack_require__(9);\n\t\n\tvar initialState = {\n\t initialSourceClientOffset: null,\n\t initialClientOffset: null,\n\t clientOffset: null\n\t};\n\t\n\tfunction areOffsetsEqual(offsetA, offsetB) {\n\t if (offsetA === offsetB) {\n\t return true;\n\t }\n\t return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n\t}\n\t\n\tfunction dragOffset(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return {\n\t initialSourceClientOffset: action.sourceClientOffset,\n\t initialClientOffset: action.clientOffset,\n\t clientOffset: action.clientOffset\n\t };\n\t case _actionsDragDrop.HOVER:\n\t if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t clientOffset: action.clientOffset\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t case _actionsDragDrop.DROP:\n\t return initialState;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tfunction getSourceClientOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t var initialSourceClientOffset = state.initialSourceClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n\t };\n\t}\n\t\n\tfunction getDifferenceFromInitialOffset(state) {\n\t var clientOffset = state.clientOffset;\n\t var initialClientOffset = state.initialClientOffset;\n\t\n\t if (!clientOffset || !initialClientOffset) {\n\t return null;\n\t }\n\t return {\n\t x: clientOffset.x - initialClientOffset.x,\n\t y: clientOffset.y - initialClientOffset.y\n\t };\n\t}\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = matchesType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(3);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction matchesType(targetType, draggedItemType) {\n\t if (_lodashIsArray2['default'](targetType)) {\n\t return targetType.some(function (t) {\n\t return t === draggedItemType;\n\t });\n\t } else {\n\t return targetType === draggedItemType;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar mapCacheClear = __webpack_require__(131),\n\t mapCacheDelete = __webpack_require__(132),\n\t mapCacheGet = __webpack_require__(133),\n\t mapCacheHas = __webpack_require__(134),\n\t mapCacheSet = __webpack_require__(135);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\t\n\tmodule.exports = MapCache;\n\n\n/***/ },\n/* 39 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A faster alternative to `Function#apply`, this function invokes `func`\n\t * with the `this` binding of `thisArg` and the arguments of `args`.\n\t *\n\t * @private\n\t * @param {Function} func The function to invoke.\n\t * @param {*} thisArg The `this` binding of `func`.\n\t * @param {Array} args The arguments to invoke `func` with.\n\t * @returns {*} Returns the result of `func`.\n\t */\n\tfunction apply(func, thisArg, args) {\n\t switch (args.length) {\n\t case 0: return func.call(thisArg);\n\t case 1: return func.call(thisArg, args[0]);\n\t case 2: return func.call(thisArg, args[0], args[1]);\n\t case 3: return func.call(thisArg, args[0], args[1], args[2]);\n\t }\n\t return func.apply(thisArg, args);\n\t}\n\t\n\tmodule.exports = apply;\n\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar defineProperty = __webpack_require__(44);\n\t\n\t/**\n\t * The base implementation of `assignValue` and `assignMergeValue` without\n\t * value checks.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction baseAssignValue(object, key, value) {\n\t if (key == '__proto__' && defineProperty) {\n\t defineProperty(object, key, {\n\t 'configurable': true,\n\t 'enumerable': true,\n\t 'value': value,\n\t 'writable': true\n\t });\n\t } else {\n\t object[key] = value;\n\t }\n\t}\n\t\n\tmodule.exports = baseAssignValue;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(21),\n\t arrayIncludes = __webpack_require__(23),\n\t arrayIncludesWith = __webpack_require__(24),\n\t arrayMap = __webpack_require__(25),\n\t baseUnary = __webpack_require__(26),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of methods like `_.difference` without support\n\t * for excluding multiple arrays or iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Array} values The values to exclude.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of filtered values.\n\t */\n\tfunction baseDifference(array, values, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t isCommon = true,\n\t length = array.length,\n\t result = [],\n\t valuesLength = values.length;\n\t\n\t if (!length) {\n\t return result;\n\t }\n\t if (iteratee) {\n\t values = arrayMap(values, baseUnary(iteratee));\n\t }\n\t if (comparator) {\n\t includes = arrayIncludesWith;\n\t isCommon = false;\n\t }\n\t else if (values.length >= LARGE_ARRAY_SIZE) {\n\t includes = cacheHas;\n\t isCommon = false;\n\t values = new SetCache(values);\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee == null ? value : iteratee(value);\n\t\n\t value = (comparator || value !== 0) ? value : 0;\n\t if (isCommon && computed === computed) {\n\t var valuesIndex = valuesLength;\n\t while (valuesIndex--) {\n\t if (values[valuesIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(values, computed, comparator)) {\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseDifference;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayPush = __webpack_require__(94),\n\t isFlattenable = __webpack_require__(121);\n\t\n\t/**\n\t * The base implementation of `_.flatten` with support for restricting flattening.\n\t *\n\t * @private\n\t * @param {Array} array The array to flatten.\n\t * @param {number} depth The maximum recursion depth.\n\t * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n\t * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n\t * @param {Array} [result=[]] The initial result value.\n\t * @returns {Array} Returns the new flattened array.\n\t */\n\tfunction baseFlatten(array, depth, predicate, isStrict, result) {\n\t var index = -1,\n\t length = array.length;\n\t\n\t predicate || (predicate = isFlattenable);\n\t result || (result = []);\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (depth > 0 && predicate(value)) {\n\t if (depth > 1) {\n\t // Recursively flatten arrays (susceptible to call stack limits).\n\t baseFlatten(value, depth - 1, predicate, isStrict, result);\n\t } else {\n\t arrayPush(result, value);\n\t }\n\t } else if (!isStrict) {\n\t result[result.length] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseFlatten;\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(21),\n\t arrayIncludes = __webpack_require__(23),\n\t arrayIncludesWith = __webpack_require__(24),\n\t cacheHas = __webpack_require__(27),\n\t createSet = __webpack_require__(112),\n\t setToArray = __webpack_require__(47);\n\t\n\t/** Used as the size to enable large array optimizations. */\n\tvar LARGE_ARRAY_SIZE = 200;\n\t\n\t/**\n\t * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new duplicate free array.\n\t */\n\tfunction baseUniq(array, iteratee, comparator) {\n\t var index = -1,\n\t includes = arrayIncludes,\n\t length = array.length,\n\t isCommon = true,\n\t result = [],\n\t seen = result;\n\t\n\t if (comparator) {\n\t isCommon = false;\n\t includes = arrayIncludesWith;\n\t }\n\t else if (length >= LARGE_ARRAY_SIZE) {\n\t var set = iteratee ? null : createSet(array);\n\t if (set) {\n\t return setToArray(set);\n\t }\n\t isCommon = false;\n\t includes = cacheHas;\n\t seen = new SetCache;\n\t }\n\t else {\n\t seen = iteratee ? [] : result;\n\t }\n\t outer:\n\t while (++index < length) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t value = (comparator || value !== 0) ? value : 0;\n\t if (isCommon && computed === computed) {\n\t var seenIndex = seen.length;\n\t while (seenIndex--) {\n\t if (seen[seenIndex] === computed) {\n\t continue outer;\n\t }\n\t }\n\t if (iteratee) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t else if (!includes(seen, computed, comparator)) {\n\t if (seen !== result) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseUniq;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(14);\n\t\n\tvar defineProperty = (function() {\n\t try {\n\t var func = getNative(Object, 'defineProperty');\n\t func({}, '', {});\n\t return func;\n\t } catch (e) {}\n\t}());\n\t\n\tmodule.exports = defineProperty;\n\n\n/***/ },\n/* 45 */\n/***/ function(module, exports) {\n\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\t\n\tmodule.exports = freeGlobal;\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return !!length &&\n\t (typeof value == 'number' || reIsUint.test(value)) &&\n\t (value > -1 && value % 1 == 0 && value < length);\n\t}\n\t\n\tmodule.exports = isIndex;\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Converts `set` to an array of its values.\n\t *\n\t * @private\n\t * @param {Object} set The set to convert.\n\t * @returns {Array} Returns the values.\n\t */\n\tfunction setToArray(set) {\n\t var index = -1,\n\t result = Array(set.size);\n\t\n\t set.forEach(function(value) {\n\t result[++index] = value;\n\t });\n\t return result;\n\t}\n\t\n\tmodule.exports = setToArray;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns the first argument it receives.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Util\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t *\n\t * console.log(_.identity(object) === object);\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsArguments = __webpack_require__(100),\n\t isObjectLike = __webpack_require__(8);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n\t return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n\t !propertyIsEnumerable.call(value, 'callee');\n\t};\n\t\n\tmodule.exports = isArguments;\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(12),\n\t isObject = __webpack_require__(7);\n\t\n\t/** `Object#toString` result references. */\n\tvar asyncTag = '[object AsyncFunction]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t proxyTag = '[object Proxy]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\t var tag = baseGetTag(value);\n\t return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports) {\n\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' &&\n\t value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n\n/***/ },\n/* 52 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns `undefined`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.3.0\n\t * @category Util\n\t * @example\n\t *\n\t * _.times(2, _.noop);\n\t * // => [undefined, undefined]\n\t */\n\tfunction noop() {\n\t // No operation performed.\n\t}\n\t\n\tmodule.exports = noop;\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(41),\n\t baseRest = __webpack_require__(5),\n\t isArrayLikeObject = __webpack_require__(17);\n\t\n\t/**\n\t * Creates an array excluding all given values using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * **Note:** Unlike `_.pull`, this method returns a new array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {Array} array The array to inspect.\n\t * @param {...*} [values] The values to exclude.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @see _.difference, _.xor\n\t * @example\n\t *\n\t * _.without([2, 1, 2, 3], 1, 2);\n\t * // => [3]\n\t */\n\tvar without = baseRest(function(array, values) {\n\t return isArrayLikeObject(array)\n\t ? baseDifference(array, values)\n\t : [];\n\t});\n\t\n\tmodule.exports = without;\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashMemoize = __webpack_require__(154);\n\t\n\tvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\t\n\tvar isFirefox = _lodashMemoize2['default'](function () {\n\t return (/firefox/i.test(navigator.userAgent)\n\t );\n\t});\n\t\n\texports.isFirefox = isFirefox;\n\tvar isSafari = _lodashMemoize2['default'](function () {\n\t return Boolean(window.safari);\n\t});\n\texports.isSafari = isSafari;\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = areOptionsEqual;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsShallowEqual = __webpack_require__(31);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tfunction areOptionsEqual(nextOptions, currentOptions) {\n\t if (currentOptions === nextOptions) {\n\t return true;\n\t }\n\t\n\t return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = decorateHandler;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _disposables = __webpack_require__(74);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(31);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(58);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(4);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tfunction decorateHandler(_ref) {\n\t var DecoratedComponent = _ref.DecoratedComponent;\n\t var createHandler = _ref.createHandler;\n\t var createMonitor = _ref.createMonitor;\n\t var createConnector = _ref.createConnector;\n\t var registerHandler = _ref.registerHandler;\n\t var containerDisplayName = _ref.containerDisplayName;\n\t var getType = _ref.getType;\n\t var collect = _ref.collect;\n\t var options = _ref.options;\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContainer, _Component);\n\t\n\t DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n\t return this.handlerId;\n\t };\n\t\n\t DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.decoratedComponentInstance;\n\t };\n\t\n\t DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragDropContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: containerDisplayName + '(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragDropContainer(props, context) {\n\t _classCallCheck(this, DragDropContainer);\n\t\n\t _Component.call(this, props, context);\n\t this.handleChange = this.handleChange.bind(this);\n\t this.handleChildRef = this.handleChildRef.bind(this);\n\t\n\t _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.manager = this.context.dragDropManager;\n\t this.handlerMonitor = createMonitor(this.manager);\n\t this.handlerConnector = createConnector(this.manager.getBackend());\n\t this.handler = createHandler(this.handlerMonitor);\n\t\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.receiveProps(props);\n\t this.state = this.getCurrentState();\n\t this.dispose();\n\t }\n\t\n\t DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t this.disposable = new _disposables.SerialDisposable();\n\t this.currentType = null;\n\t this.receiveProps(this.props);\n\t this.handleChange();\n\t };\n\t\n\t DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n\t if (!arePropsEqual(nextProps, this.props)) {\n\t this.receiveProps(nextProps);\n\t this.handleChange();\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.dispose();\n\t this.isCurrentlyMounted = false;\n\t };\n\t\n\t DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n\t this.handler.receiveProps(props);\n\t this.receiveType(getType(props));\n\t };\n\t\n\t DragDropContainer.prototype.receiveType = function receiveType(type) {\n\t if (type === this.currentType) {\n\t return;\n\t }\n\t\n\t this.currentType = type;\n\t\n\t var _registerHandler = registerHandler(type, this.handler, this.manager);\n\t\n\t var handlerId = _registerHandler.handlerId;\n\t var unregister = _registerHandler.unregister;\n\t\n\t this.handlerId = handlerId;\n\t this.handlerMonitor.receiveHandlerId(handlerId);\n\t this.handlerConnector.receiveHandlerId(handlerId);\n\t\n\t var globalMonitor = this.manager.getMonitor();\n\t var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\t\n\t this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n\t };\n\t\n\t DragDropContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragDropContainer.prototype.dispose = function dispose() {\n\t this.disposable.dispose();\n\t this.handlerConnector.receiveHandlerId(null);\n\t };\n\t\n\t DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n\t this.decoratedComponentInstance = component;\n\t this.handler.receiveComponent(component);\n\t };\n\t\n\t DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n\t var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\t\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n\t }\n\t\n\t return nextState;\n\t };\n\t\n\t DragDropContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: this.handleChildRef }));\n\t };\n\t\n\t return DragDropContainer;\n\t })(_react.Component);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = isValidType;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _lodashIsArray = __webpack_require__(3);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tfunction isValidType(type, allowArray) {\n\t return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n\t return isValidType(t, false);\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 58 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = shallowEqualScalar;\n\t\n\tfunction shallowEqualScalar(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n\t return false;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i])) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = wrapConnectorHooks;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _utilsCloneWithRef = __webpack_require__(178);\n\t\n\tvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tfunction throwIfCompositeComponentElement(element) {\n\t // Custom components can no longer be wrapped directly in React DnD 2.0\n\t // so that we don't need to depend on findDOMNode() from react-dom.\n\t if (typeof element.type === 'string') {\n\t return;\n\t }\n\t\n\t var displayName = element.type.displayName || element.type.name || 'the component';\n\t\n\t throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n\t}\n\t\n\tfunction wrapHookToRecognizeElement(hook) {\n\t return function () {\n\t var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\t\n\t // When passed a node, call the hook straight away.\n\t if (!_react.isValidElement(elementOrNode)) {\n\t var node = elementOrNode;\n\t hook(node, options);\n\t return;\n\t }\n\t\n\t // If passed a ReactElement, clone it and attach this function as a ref.\n\t // This helps us achieve a neat API where user doesn't even know that refs\n\t // are being used under the hood.\n\t var element = elementOrNode;\n\t throwIfCompositeComponentElement(element);\n\t\n\t // When no options are passed, use the hook directly\n\t var ref = options ? function (node) {\n\t return hook(node, options);\n\t } : hook;\n\t\n\t return _utilsCloneWithRef2['default'](element, ref);\n\t };\n\t}\n\t\n\tfunction wrapConnectorHooks(hooks) {\n\t var wrappedHooks = {};\n\t\n\t Object.keys(hooks).forEach(function (key) {\n\t var hook = hooks[key];\n\t var wrappedHook = wrapHookToRecognizeElement(hook);\n\t wrappedHooks[key] = function () {\n\t return wrappedHook;\n\t };\n\t });\n\t\n\t return wrappedHooks;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default AddWidget component.\r\n\t * @param {[type]} {text [description]\r\n\t * @param {[type]} onClick} [description]\r\n\t * @return {[type]} [description]\r\n\t */\n\tvar AddWidget = function AddWidget(_ref) {\n\t var text = _ref.text,\n\t onClick = _ref.onClick;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"add-widget-button\", onClick: onClick },\n\t _react2.default.createElement(\n\t \"a\",\n\t { className: \"add-widget-link\" },\n\t text\n\t )\n\t );\n\t};\n\t\n\tAddWidget.propTypes = {\n\t /**\r\n\t * Should be called when 'add' is clicked\r\n\t */\n\t onClick: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the component\r\n\t */\n\t text: _react.PropTypes.string\n\t};\n\t\n\tAddWidget.defaultProps = {\n\t text: 'Add Widget'\n\t};\n\t\n\texports.default = AddWidget;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"AddWidget.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(30);\n\t\n\tvar _ItemTypes = __webpack_require__(33);\n\t\n\tvar _AddWidget = __webpack_require__(60);\n\t\n\tvar _AddWidget2 = _interopRequireDefault(_AddWidget);\n\t\n\tvar _util = __webpack_require__(19);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar columnTarget = {\n\t drop: function drop(props, monitor) {\n\t var layout = props.layout,\n\t rowIndex = props.rowIndex,\n\t columnIndex = props.columnIndex,\n\t onMove = props.onMove;\n\t\n\t var item = monitor.getItem();\n\t if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\n\t var movedLayout = (0, _util.moveWidget)(layout, {\n\t rowIndex: item.rowIndex,\n\t columnIndex: item.columnIndex,\n\t widgetIndex: item.widgetIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex\n\t }, item.widgetName);\n\t onMove(movedLayout);\n\t }\n\t }\n\t};\n\t\n\t/**\r\n\t * Colum of the dashboard grid. A column holds multiple widgets.\r\n\t */\n\tvar Column = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, columnTarget, function (connect, monitor) {\n\t return {\n\t connectDropTarget: connect.dropTarget(),\n\t isOver: monitor.isOver(),\n\t canDrop: monitor.canDrop()\n\t };\n\t}), _dec(_class = function (_Component) {\n\t _inherits(Column, _Component);\n\t\n\t function Column() {\n\t _classCallCheck(this, Column);\n\t\n\t return _possibleConstructorReturn(this, (Column.__proto__ || Object.getPrototypeOf(Column)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Column, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t className = _props.className,\n\t layout = _props.layout,\n\t rowIndex = _props.rowIndex,\n\t columnIndex = _props.columnIndex,\n\t editable = _props.editable,\n\t children = _props.children,\n\t connectDropTarget = _props.connectDropTarget,\n\t onAdd = _props.onAdd,\n\t isOver = _props.isOver,\n\t canDrop = _props.canDrop,\n\t editableColumnClass = _props.editableColumnClass,\n\t droppableColumnClass = _props.droppableColumnClass,\n\t addWidgetComponentText = _props.addWidgetComponentText,\n\t addWidgetComponent = _props.addWidgetComponent;\n\t\n\t\n\t var classes = className;\n\t classes = editable ? className + ' ' + editableColumnClass : classes;\n\t var isActive = isOver && canDrop;\n\t classes = isActive ? classes + ' ' + droppableColumnClass : classes;\n\t\n\t var addWidgetComponentToUse = null;\n\t if (addWidgetComponent) {\n\t addWidgetComponentToUse = (0, _react.createElement)(addWidgetComponent, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t } else {\n\t addWidgetComponentToUse = _react2.default.createElement(_AddWidget2.default, { text: addWidgetComponentText, onClick: function onClick() {\n\t onAdd(layout, rowIndex, columnIndex);\n\t } });\n\t }\n\t\n\t return connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { className: classes },\n\t editable && addWidgetComponentToUse,\n\t children\n\t ));\n\t }\n\t }]);\n\t\n\t return Column;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tColumn.propTypes = {\n\t /**\r\n\t * Children of the column\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * CSS class that should be used with the column.\r\n\t */\n\t className: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function that should be called when user tries to add a widget\r\n\t * to the column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row that this column resides.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of this column.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather dashboard is in editable state\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicates weather a widget is being draged over.\r\n\t */\n\t isOver: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Indicated a widget can be dropped.\r\n\t */\n\t canDrop: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be given to the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget.\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func\n\t};\n\t\n\tColumn.defaultProps = {\n\t editableColumnClass: 'editable-column',\n\t droppableColumnClass: 'droppable-column'\n\t};\n\t\n\texports.default = Column;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"Column.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 62 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDnd = __webpack_require__(30);\n\t\n\tvar _reactDndHtml5Backend = __webpack_require__(164);\n\t\n\tvar _reactDndHtml5Backend2 = _interopRequireDefault(_reactDndHtml5Backend);\n\t\n\tvar _LayoutRenderer = __webpack_require__(64);\n\t\n\tvar _LayoutRenderer2 = _interopRequireDefault(_LayoutRenderer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\r\n\t * Main dashboard component. This is where all of this starts.\r\n\t */\n\tvar Dashboard = (_dec = (0, _reactDnd.DragDropContext)(_reactDndHtml5Backend2.default), _dec(_class = function (_Component) {\n\t _inherits(Dashboard, _Component);\n\t\n\t function Dashboard() {\n\t _classCallCheck(this, Dashboard);\n\t\n\t return _possibleConstructorReturn(this, (Dashboard.__proto__ || Object.getPrototypeOf(Dashboard)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Dashboard, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(_LayoutRenderer2.default, this.props)\n\t );\n\t }\n\t }]);\n\t\n\t return Dashboard;\n\t}(_react.Component)) || _class);\n\t\n\t\n\tDashboard.PropTypes = {\n\t /**\r\n\t * The layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * List of widgets that are avilable in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather the dashoard is in editable state or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * CSS class name that should be provided to the row. Default is 'row'.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized widget frame. The dashboard supports a default frame. But if\r\n\t * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n\t * could create your own widget frame and pass it through here. Ever widget Will\r\n\t * use this as the outer container which displays controls like 'remove' button\r\n\t * on edit mode.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * A custom component for the `add widget` button.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Will be called when a widget removed by the user from the dashboard.\r\n\t * Should be handled if the dashbord supports edit functionality.\r\n\t * provides the updated layout object. This layout object with the removed widget\r\n\t * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Will be called when user tries to add a widget into a column.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Dashboard;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"Dashboard.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Default frame that will be used with the widgets.\r\n\t */\n\tvar DefaultFrame = function DefaultFrame(_ref) {\n\t var children = _ref.children,\n\t onRemove = _ref.onRemove,\n\t editable = _ref.editable,\n\t title = _ref.title;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrame\" },\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: \"defaultWidgetFrameHeader\" },\n\t _react2.default.createElement(\n\t \"span\",\n\t { className: \"title\" },\n\t title\n\t ),\n\t editable && _react2.default.createElement(\n\t \"a\",\n\t { className: \"remove\", onClick: function onClick() {\n\t onRemove();\n\t } },\n\t \"Remove\"\n\t )\n\t ),\n\t children\n\t );\n\t};\n\t\n\tDefaultFrame.propTypes = {\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Children of the frame.\r\n\t */\n\t children: _react.PropTypes.node,\n\t\n\t /**\r\n\t * Function to call when the widget is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Title of the widget\r\n\t */\n\t title: _react.PropTypes.string\n\t};\n\t\n\texports.default = DefaultFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"DefaultFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Row = __webpack_require__(65);\n\t\n\tvar _Row2 = _interopRequireDefault(_Row);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Renders the row, column layout based on the layout provided to the dashboard.\r\n\t */\n\tvar LayoutRenderer = function LayoutRenderer(props) {\n\t var layout = props.layout,\n\t widgets = props.widgets,\n\t onRemove = props.onRemove,\n\t editable = props.editable,\n\t onAdd = props.onAdd,\n\t frameComponent = props.frameComponent,\n\t rowClass = props.rowClass,\n\t onMove = props.onMove,\n\t editableColumnClass = props.editableColumnClass,\n\t droppableColumnClass = props.droppableColumnClass,\n\t addWidgetComponentText = props.addWidgetComponentText,\n\t addWidgetComponent = props.addWidgetComponent;\n\t\n\t\n\t var rows = layout.rows.map(function (row, rowIndex) {\n\t return _react2.default.createElement(_Row2.default, {\n\t key: rowIndex,\n\t rowClass: rowClass,\n\t columns: row.columns,\n\t widgets: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t editable: editable,\n\t onAdd: onAdd,\n\t onMove: onMove,\n\t frameComponent: frameComponent,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponentText: addWidgetComponentText,\n\t addWidgetComponent: addWidgetComponent\n\t });\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t rows\n\t );\n\t};\n\t\n\tLayoutRenderer.propTypes = {\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Widgets that the dashboard supports.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Indicates weather this dashboard is in editable mode.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Function that will be called when user removed a widget.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that will be called user tries to add a widget.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Frame that should be used as the outer cotnainer of the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class name that should be provided to the row component.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Function to be called when a widget is moved by the user.\r\n\t */\n\t onMove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Customized AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displayed in the `AddWidget` component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string\n\t};\n\t\n\tLayoutRenderer.defaultProps = {\n\t /**\r\n\t * Default layout.\r\n\t */\n\t layout: {\n\t rows: []\n\t }\n\t};\n\t\n\texports.default = LayoutRenderer;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"LayoutRenderer.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _Column = __webpack_require__(61);\n\t\n\tvar _Column2 = _interopRequireDefault(_Column);\n\t\n\tvar _Widgets = __webpack_require__(67);\n\t\n\tvar _Widgets2 = _interopRequireDefault(_Widgets);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Returns a set of columns that belongs to a row.\r\n\t */\n\tfunction Row(props) {\n\t var rowClass = props.rowClass,\n\t columns = props.columns,\n\t widgets = props.widgets,\n\t onRemove = props.onRemove,\n\t layout = props.layout,\n\t rowIndex = props.rowIndex,\n\t editable = props.editable,\n\t frameComponent = props.frameComponent,\n\t editableColumnClass = props.editableColumnClass,\n\t droppableColumnClass = props.droppableColumnClass,\n\t addWidgetComponentText = props.addWidgetComponentText,\n\t addWidgetComponent = props.addWidgetComponent,\n\t onAdd = props.onAdd,\n\t onMove = props.onMove;\n\t\n\t\n\t var items = columns.map(function (column, index) {\n\t return _react2.default.createElement(\n\t _Column2.default,\n\t {\n\t key: index,\n\t className: column.className,\n\t onAdd: onAdd,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t onMove: onMove,\n\t editableColumnClass: editableColumnClass,\n\t droppableColumnClass: droppableColumnClass,\n\t addWidgetComponent: addWidgetComponent,\n\t addWidgetComponentText: addWidgetComponentText\n\t },\n\t _react2.default.createElement(_Widgets2.default, {\n\t key: index,\n\t widgets: column.widgets,\n\t widgetTypes: widgets,\n\t onRemove: onRemove,\n\t layout: layout,\n\t rowIndex: rowIndex,\n\t columnIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t })\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: rowClass },\n\t items\n\t );\n\t}\n\t\n\tRow.propTypes = {\n\t /**\r\n\t * CSS class that should be used to represent a row.\r\n\t */\n\t rowClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Columns of the layout.\r\n\t */\n\t columns: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that should be used in the dashboard.\r\n\t */\n\t widgets: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Layout of the dashboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the row where this column is in.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weather the dashboard is in editable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * Custom frame that should be used with the widget.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Class to be used for columns in editable mode.\r\n\t */\n\t editableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * CSS class to be used for columns when a widget is droppable.\r\n\t */\n\t droppableColumnClass: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Custom AddWidget component.\r\n\t */\n\t addWidgetComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Text that should be displyed in the AddWidget component.\r\n\t */\n\t addWidgetComponentText: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Method that should be called when a component is added.\r\n\t */\n\t onAdd: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a component is removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method that should be called when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\tRow.defaultProps = {\n\t /**\r\n\t * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n\t */\n\t rowClass: 'row'\n\t};\n\t\n\texports.default = Row;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"Row.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 66 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _dec2, _class;\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(185);\n\t\n\tvar _reactDnd = __webpack_require__(30);\n\t\n\tvar _ItemTypes = __webpack_require__(33);\n\t\n\tvar _util = __webpack_require__(19);\n\t\n\tvar _DefaultFrame = __webpack_require__(63);\n\t\n\tvar _DefaultFrame2 = _interopRequireDefault(_DefaultFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar boxSource = {\n\t beginDrag: function beginDrag(props) {\n\t return {\n\t widgetName: props.widgetName,\n\t rowIndex: props.rowIndex,\n\t columnIndex: props.columnIndex,\n\t widgetIndex: props.widgetIndex\n\t };\n\t },\n\t canDrag: function canDrag(props) {\n\t return props.editable;\n\t }\n\t};\n\t\n\tvar cardTarget = {\n\t hover: function hover(props, monitor, component) {\n\t var dragIndex = monitor.getItem().widgetIndex;\n\t var hoverIndex = props.widgetIndex;\n\t\n\t // Don't replace items with themselves\n\t if (dragIndex === hoverIndex) {\n\t return;\n\t }\n\t\n\t // Determine rectangle on screen\n\t var hoverBoundingRect = (0, _reactDom.findDOMNode)(component).getBoundingClientRect();\n\t\n\t // Get vertical middle\n\t var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n\t\n\t // Determine mouse position\n\t var clientOffset = monitor.getClientOffset();\n\t\n\t // Get pixels to the top\n\t var hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\t\n\t // Only perform the move when the mouse has crossed half of the items height\n\t // When dragging downwards, only move when the cursor is below 50%\n\t // When dragging upwards, only move when the cursor is above 50%\n\t\n\t // Dragging downwards\n\t if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Dragging upwards\n\t if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n\t return;\n\t }\n\t\n\t // Time to actually perform the action\n\t var layout = props.layout,\n\t columnIndex = props.columnIndex,\n\t rowIndex = props.rowIndex;\n\t\n\t\n\t if (monitor.getItem().columnIndex === columnIndex) {\n\t var newLayout = (0, _util.sortWidget)(layout, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: dragIndex\n\t }, {\n\t rowIndex: rowIndex,\n\t columnIndex: columnIndex,\n\t widgetIndex: hoverIndex\n\t }, monitor.getItem().widgetName);\n\t\n\t props.onMove(newLayout);\n\t\n\t // Note: we're mutating the monitor item here!\n\t // Generally it's better to avoid mutations,\n\t // but it's good here for the sake of performance\n\t // to avoid expensive index searches.\n\t monitor.getItem().widgetIndex = hoverIndex;\n\t }\n\t }\n\t};\n\t\n\t/**\r\n\t * Frame component which surrounds each widget.\r\n\t */\n\tvar WidgetFrame = (_dec = (0, _reactDnd.DropTarget)(_ItemTypes.WIDGET, cardTarget, function (connect) {\n\t return {\n\t connectDropTarget: connect.dropTarget()\n\t };\n\t}), _dec2 = (0, _reactDnd.DragSource)(_ItemTypes.WIDGET, boxSource, function (connect, monitor) {\n\t return {\n\t connectDragSource: connect.dragSource(),\n\t isDragging: monitor.isDragging()\n\t };\n\t}), _dec(_class = _dec2(_class = function (_Component) {\n\t _inherits(WidgetFrame, _Component);\n\t\n\t function WidgetFrame() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, WidgetFrame);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = WidgetFrame.__proto__ || Object.getPrototypeOf(WidgetFrame)).call.apply(_ref, [this].concat(args))), _this), _this.remove = function () {\n\t var _this$props = _this.props,\n\t layout = _this$props.layout,\n\t rowIndex = _this$props.rowIndex,\n\t columnIndex = _this$props.columnIndex,\n\t widgetIndex = _this$props.widgetIndex;\n\t\n\t var newLayout = (0, _util.removeWidget)(layout, rowIndex, columnIndex, widgetIndex);\n\t _this.props.onRemove(newLayout);\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(WidgetFrame, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t frameComponent = _props.frameComponent,\n\t children = _props.children,\n\t editable = _props.editable,\n\t title = _props.title,\n\t connectDragSource = _props.connectDragSource,\n\t connectDropTarget = _props.connectDropTarget,\n\t isDragging = _props.isDragging;\n\t\n\t\n\t var selected = null;\n\t\n\t if (frameComponent) {\n\t // if user provided a custom frame, use it\n\t selected = (0, _react.createElement)(frameComponent, { children: children, editable: editable, title: title, onRemove: this.remove });\n\t } else {\n\t // else use the default frame\n\t selected = _react2.default.createElement(_DefaultFrame2.default, {\n\t title: title,\n\t editable: editable,\n\t children: children,\n\t onRemove: this.remove\n\t });\n\t }\n\t var opacity = isDragging ? 0 : 1;\n\t return connectDragSource(connectDropTarget(_react2.default.createElement(\n\t 'div',\n\t { style: { opacity: opacity } },\n\t selected\n\t )));\n\t }\n\t }]);\n\t\n\t return WidgetFrame;\n\t}(_react.Component)) || _class) || _class);\n\t\n\t\n\tWidgetFrame.propTypes = {\n\t /**\r\n\t * Childrens of the widget frame.\r\n\t */\n\t children: _react.PropTypes.element,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the widget.\r\n\t */\n\t widgetIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Name of the widget.\r\n\t */\n\t widgetName: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Title of the widget.\r\n\t */\n\t title: _react.PropTypes.string,\n\t\n\t /**\r\n\t * Weather the component is being dragged.\r\n\t */\n\t isDragging: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * ReactDnd's connectDragSource().\r\n\t */\n\t connectDragSource: _react.PropTypes.func,\n\t\n\t /**\r\n\t * ReactDnd's connectDropTarget().\r\n\t */\n\t connectDropTarget: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func\n\t};\n\t\n\texports.default = WidgetFrame;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"WidgetFrame.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _WidgetFrame = __webpack_require__(66);\n\t\n\tvar _WidgetFrame2 = _interopRequireDefault(_WidgetFrame);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\r\n\t * Component that renders the widget which belongs to a column.\r\n\t */\n\tvar Widgets = function Widgets(_ref) {\n\t var widgets = _ref.widgets,\n\t widgetTypes = _ref.widgetTypes,\n\t onRemove = _ref.onRemove,\n\t layout = _ref.layout,\n\t columnIndex = _ref.columnIndex,\n\t rowIndex = _ref.rowIndex,\n\t editable = _ref.editable,\n\t frameComponent = _ref.frameComponent,\n\t onMove = _ref.onMove;\n\t\n\t var createdWidgets = widgets.map(function (widget, index) {\n\t return _react2.default.createElement(\n\t _WidgetFrame2.default,\n\t {\n\t key: index,\n\t widgetName: widget.key,\n\t title: widgetTypes[widget.key].title,\n\t onRemove: onRemove,\n\t layout: layout,\n\t columnIndex: columnIndex,\n\t rowIndex: rowIndex,\n\t widgetIndex: index,\n\t editable: editable,\n\t frameComponent: frameComponent,\n\t onMove: onMove\n\t },\n\t (0, _react.createElement)(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\n\t );\n\t });\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t createdWidgets\n\t );\n\t};\n\t\n\tWidgets.propTypes = {\n\t /**\r\n\t * Widgets that should be rendered.\r\n\t */\n\t widgets: _react.PropTypes.array,\n\t\n\t /**\r\n\t * Widgets that are available in the dashboard.\r\n\t */\n\t widgetTypes: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Function that should be called when a widget is about to be removed.\r\n\t */\n\t onRemove: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Layout of the dahsboard.\r\n\t */\n\t layout: _react.PropTypes.object,\n\t\n\t /**\r\n\t * Index of the column these widgets should be placed.\r\n\t */\n\t columnIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Index of the row these widgets should be placed.\r\n\t */\n\t rowIndex: _react.PropTypes.number,\n\t\n\t /**\r\n\t * Indicates weatehr dashboard is in ediable mode or not.\r\n\t */\n\t editable: _react.PropTypes.bool,\n\t\n\t /**\r\n\t * User provided widget frame that should be used instead of the default one.\r\n\t */\n\t frameComponent: _react.PropTypes.func,\n\t\n\t /**\r\n\t * Method to call when a widget is moved.\r\n\t */\n\t onMove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Widgets;\n\t\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"Widgets.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 68 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* REACT HOT LOADER */ if (false) { (function () { var ReactHotAPI = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-api\\\\modules\\\\index.js\"), RootInstanceProvider = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\RootInstanceProvider.js\"), ReactMount = require(\"react/lib/ReactMount\"), React = require(\"react\"); module.makeHot = module.hot.data ? module.hot.data.makeHot : ReactHotAPI(function () { return RootInstanceProvider.getRootInstances(ReactMount); }, React); })(); } try { (function () {\n\t\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _Dashboard = __webpack_require__(62);\n\t\n\tObject.defineProperty(exports, 'default', {\n\t enumerable: true,\n\t get: function get() {\n\t return _interopRequireDefault(_Dashboard).default;\n\t }\n\t});\n\t\n\tvar _util = __webpack_require__(19);\n\t\n\tObject.defineProperty(exports, 'addWidget', {\n\t enumerable: true,\n\t get: function get() {\n\t return _util.addWidget;\n\t }\n\t});\n\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\t/* REACT HOT LOADER */ }).call(this); } finally { if (false) { (function () { var foundReactClasses = module.hot.data && module.hot.data.foundReactClasses || false; if (module.exports && module.makeHot) { var makeExportsHot = require(\"E:\\\\Projects\\\\Personal\\\\Dazzle\\\\Dazzle\\\\node_modules\\\\react-hot-loader\\\\makeExportsHot.js\"); if (makeExportsHot(module, require(\"react\"))) { foundReactClasses = true; } var shouldAcceptModule = true && foundReactClasses; if (shouldAcceptModule) { module.hot.accept(function (err) { if (err) { console.error(\"Cannot apply hot update to \" + \"index.js\" + \": \" + err.message); } }); } } module.hot.dispose(function (data) { data.makeHot = module.makeHot; data.foundReactClasses = foundReactClasses; }); })(); } }\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\t// rawAsap provides everything we need except exception management.\n\tvar rawAsap = __webpack_require__(70);\n\t// RawTasks are recycled to reduce GC churn.\n\tvar freeTasks = [];\n\t// We queue errors to ensure they are thrown in right order (FIFO).\n\t// Array-as-queue is good enough here, since we are just dealing with exceptions.\n\tvar pendingErrors = [];\n\tvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\t\n\tfunction throwFirstError() {\n\t if (pendingErrors.length) {\n\t throw pendingErrors.shift();\n\t }\n\t}\n\t\n\t/**\n\t * Calls a task as soon as possible after returning, in its own event, with priority\n\t * over other events like animation, reflow, and repaint. An error thrown from an\n\t * event will not interrupt, nor even substantially slow down the processing of\n\t * other events, but will be rather postponed to a lower priority event.\n\t * @param {{call}} task A callable object, typically a function that takes no\n\t * arguments.\n\t */\n\tmodule.exports = asap;\n\tfunction asap(task) {\n\t var rawTask;\n\t if (freeTasks.length) {\n\t rawTask = freeTasks.pop();\n\t } else {\n\t rawTask = new RawTask();\n\t }\n\t rawTask.task = task;\n\t rawAsap(rawTask);\n\t}\n\t\n\t// We wrap tasks with recyclable task objects. A task object implements\n\t// `call`, just like a function.\n\tfunction RawTask() {\n\t this.task = null;\n\t}\n\t\n\t// The sole purpose of wrapping the task is to catch the exception and recycle\n\t// the task object after its single use.\n\tRawTask.prototype.call = function () {\n\t try {\n\t this.task.call();\n\t } catch (error) {\n\t if (asap.onerror) {\n\t // This hook exists purely for testing purposes.\n\t // Its name will be periodically randomized to break any code that\n\t // depends on its existence.\n\t asap.onerror(error);\n\t } else {\n\t // In a web browser, exceptions are not fatal. However, to avoid\n\t // slowing down the queue of pending tasks, we rethrow the error in a\n\t // lower priority turn.\n\t pendingErrors.push(error);\n\t requestErrorThrow();\n\t }\n\t } finally {\n\t this.task = null;\n\t freeTasks[freeTasks.length] = this;\n\t }\n\t};\n\n\n/***/ },\n/* 70 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t// Use the fastest means possible to execute a task in its own turn, with\n\t// priority over other events including IO, animation, reflow, and redraw\n\t// events in browsers.\n\t//\n\t// An exception thrown by a task will permanently interrupt the processing of\n\t// subsequent tasks. The higher level `asap` function ensures that if an\n\t// exception is thrown by a task, that the task queue will continue flushing as\n\t// soon as possible, but if you use `rawAsap` directly, you are responsible to\n\t// either ensure that no exceptions are thrown from your task, or to manually\n\t// call `rawAsap.requestFlush` if an exception is thrown.\n\tmodule.exports = rawAsap;\n\tfunction rawAsap(task) {\n\t if (!queue.length) {\n\t requestFlush();\n\t flushing = true;\n\t }\n\t // Equivalent to push, but avoids a function call.\n\t queue[queue.length] = task;\n\t}\n\t\n\tvar queue = [];\n\t// Once a flush has been requested, no further calls to `requestFlush` are\n\t// necessary until the next `flush` completes.\n\tvar flushing = false;\n\t// `requestFlush` is an implementation-specific method that attempts to kick\n\t// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n\t// the event queue before yielding to the browser's own event loop.\n\tvar requestFlush;\n\t// The position of the next task to execute in the task queue. This is\n\t// preserved between calls to `flush` so that it can be resumed if\n\t// a task throws an exception.\n\tvar index = 0;\n\t// If a task schedules additional tasks recursively, the task queue can grow\n\t// unbounded. To prevent memory exhaustion, the task queue will periodically\n\t// truncate already-completed tasks.\n\tvar capacity = 1024;\n\t\n\t// The flush function processes all tasks that have been scheduled with\n\t// `rawAsap` unless and until one of those tasks throws an exception.\n\t// If a task throws an exception, `flush` ensures that its state will remain\n\t// consistent and will resume where it left off when called again.\n\t// However, `flush` does not make any arrangements to be called again if an\n\t// exception is thrown.\n\tfunction flush() {\n\t while (index < queue.length) {\n\t var currentIndex = index;\n\t // Advance the index before calling the task. This ensures that we will\n\t // begin flushing on the next task the task throws an error.\n\t index = index + 1;\n\t queue[currentIndex].call();\n\t // Prevent leaking memory for long chains of recursive calls to `asap`.\n\t // If we call `asap` within tasks scheduled by `asap`, the queue will\n\t // grow, but to avoid an O(n) walk for every task we execute, we don't\n\t // shift tasks off the queue after they have been executed.\n\t // Instead, we periodically shift 1024 tasks off the queue.\n\t if (index > capacity) {\n\t // Manually shift all values starting at the index back to the\n\t // beginning of the queue.\n\t for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n\t queue[scan] = queue[scan + index];\n\t }\n\t queue.length -= index;\n\t index = 0;\n\t }\n\t }\n\t queue.length = 0;\n\t index = 0;\n\t flushing = false;\n\t}\n\t\n\t// `requestFlush` is implemented using a strategy based on data collected from\n\t// every available SauceLabs Selenium web driver worker at time of writing.\n\t// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\t\n\t// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n\t// have WebKitMutationObserver but not un-prefixed MutationObserver.\n\t// Must use `global` or `self` instead of `window` to work in both frames and web\n\t// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\t\n\t/* globals self */\n\tvar scope = typeof global !== \"undefined\" ? global : self;\n\tvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\t\n\t// MutationObservers are desirable because they have high priority and work\n\t// reliably everywhere they are implemented.\n\t// They are implemented in all modern browsers.\n\t//\n\t// - Android 4-4.3\n\t// - Chrome 26-34\n\t// - Firefox 14-29\n\t// - Internet Explorer 11\n\t// - iPad Safari 6-7.1\n\t// - iPhone Safari 7-7.1\n\t// - Safari 6-7\n\tif (typeof BrowserMutationObserver === \"function\") {\n\t requestFlush = makeRequestCallFromMutationObserver(flush);\n\t\n\t// MessageChannels are desirable because they give direct access to the HTML\n\t// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n\t// 11-12, and in web workers in many engines.\n\t// Although message channels yield to any queued rendering and IO tasks, they\n\t// would be better than imposing the 4ms delay of timers.\n\t// However, they do not work reliably in Internet Explorer or Safari.\n\t\n\t// Internet Explorer 10 is the only browser that has setImmediate but does\n\t// not have MutationObservers.\n\t// Although setImmediate yields to the browser's renderer, it would be\n\t// preferrable to falling back to setTimeout since it does not have\n\t// the minimum 4ms penalty.\n\t// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n\t// Desktop to a lesser extent) that renders both setImmediate and\n\t// MessageChannel useless for the purposes of ASAP.\n\t// https://github.com/kriskowal/q/issues/396\n\t\n\t// Timers are implemented universally.\n\t// We fall back to timers in workers in most engines, and in foreground\n\t// contexts in the following browsers.\n\t// However, note that even this simple case requires nuances to operate in a\n\t// broad spectrum of browsers.\n\t//\n\t// - Firefox 3-13\n\t// - Internet Explorer 6-9\n\t// - iPad Safari 4.3\n\t// - Lynx 2.8.7\n\t} else {\n\t requestFlush = makeRequestCallFromTimer(flush);\n\t}\n\t\n\t// `requestFlush` requests that the high priority event queue be flushed as\n\t// soon as possible.\n\t// This is useful to prevent an error thrown in a task from stalling the event\n\t// queue if the exception handled by Node.js’s\n\t// `process.on(\"uncaughtException\")` or by a domain.\n\trawAsap.requestFlush = requestFlush;\n\t\n\t// To request a high priority event, we induce a mutation observer by toggling\n\t// the text of a text node between \"1\" and \"-1\".\n\tfunction makeRequestCallFromMutationObserver(callback) {\n\t var toggle = 1;\n\t var observer = new BrowserMutationObserver(callback);\n\t var node = document.createTextNode(\"\");\n\t observer.observe(node, {characterData: true});\n\t return function requestCall() {\n\t toggle = -toggle;\n\t node.data = toggle;\n\t };\n\t}\n\t\n\t// The message channel technique was discovered by Malte Ubl and was the\n\t// original foundation for this library.\n\t// http://www.nonblocking.io/2011/06/windownexttick.html\n\t\n\t// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n\t// page's first load. Thankfully, this version of Safari supports\n\t// MutationObservers, so we don't need to fall back in that case.\n\t\n\t// function makeRequestCallFromMessageChannel(callback) {\n\t// var channel = new MessageChannel();\n\t// channel.port1.onmessage = callback;\n\t// return function requestCall() {\n\t// channel.port2.postMessage(0);\n\t// };\n\t// }\n\t\n\t// For reasons explained above, we are also unable to use `setImmediate`\n\t// under any circumstances.\n\t// Even if we were, there is another bug in Internet Explorer 10.\n\t// It is not sufficient to assign `setImmediate` to `requestFlush` because\n\t// `setImmediate` must be called *by name* and therefore must be wrapped in a\n\t// closure.\n\t// Never forget.\n\t\n\t// function makeRequestCallFromSetImmediate(callback) {\n\t// return function requestCall() {\n\t// setImmediate(callback);\n\t// };\n\t// }\n\t\n\t// Safari 6.0 has a problem where timers will get lost while the user is\n\t// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n\t// mutation observers, so that implementation is used instead.\n\t// However, if we ever elect to use timers in Safari, the prevalent work-around\n\t// is to add a scroll event listener that calls for a flush.\n\t\n\t// `setTimeout` does not call the passed callback if the delay is less than\n\t// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n\t// even then.\n\t\n\tfunction makeRequestCallFromTimer(callback) {\n\t return function requestCall() {\n\t // We dispatch a timeout with a specified delay of 0 for engines that\n\t // can reliably accommodate that request. This will usually be snapped\n\t // to a 4 milisecond delay, but once we're flushing, there's no delay\n\t // between events.\n\t var timeoutHandle = setTimeout(handleTimer, 0);\n\t // However, since this timer gets frequently dropped in Firefox\n\t // workers, we enlist an interval handle that will try to fire\n\t // an event 20 times per second until it succeeds.\n\t var intervalHandle = setInterval(handleTimer, 50);\n\t\n\t function handleTimer() {\n\t // Whichever timer succeeds will cancel both timers and\n\t // execute the callback.\n\t clearTimeout(timeoutHandle);\n\t clearInterval(intervalHandle);\n\t callback();\n\t }\n\t };\n\t}\n\t\n\t// This is for `asap.js` only.\n\t// Its name will be periodically randomized to break any code that depends on\n\t// its existence.\n\trawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\t\n\t// ASAP was originally a nextTick shim included in Q. This was factored out\n\t// into this ASAP package. It was later adapted to RSVP which made further\n\t// amendments. These decisions, particularly to marginalize MessageChannel and\n\t// to capture the MutationObserver implementation in a closure, were integrated\n\t// back into ASAP proper.\n\t// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(20);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\t/**\n\t * Represents a group of disposable resources that are disposed together.\n\t */\n\t\n\tvar CompositeDisposable = (function () {\n\t function CompositeDisposable() {\n\t for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n\t disposables[_key] = arguments[_key];\n\t }\n\t\n\t _classCallCheck(this, CompositeDisposable);\n\t\n\t if (Array.isArray(disposables[0]) && disposables.length === 1) {\n\t disposables = disposables[0];\n\t }\n\t\n\t for (var i = 0; i < disposables.length; i++) {\n\t if (!_isDisposable2['default'](disposables[i])) {\n\t throw new Error('Expected a disposable');\n\t }\n\t }\n\t\n\t this.disposables = disposables;\n\t this.isDisposed = false;\n\t }\n\t\n\t /**\n\t * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n\t * @param {Disposable} item Disposable to add.\n\t */\n\t\n\t CompositeDisposable.prototype.add = function add(item) {\n\t if (this.isDisposed) {\n\t item.dispose();\n\t } else {\n\t this.disposables.push(item);\n\t }\n\t };\n\t\n\t /**\n\t * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n\t * @param {Disposable} item Disposable to remove.\n\t * @returns {Boolean} true if found; false otherwise.\n\t */\n\t\n\t CompositeDisposable.prototype.remove = function remove(item) {\n\t if (this.isDisposed) {\n\t return false;\n\t }\n\t\n\t var index = this.disposables.indexOf(item);\n\t if (index === -1) {\n\t return false;\n\t }\n\t\n\t this.disposables.splice(index, 1);\n\t item.dispose();\n\t return true;\n\t };\n\t\n\t /**\n\t * Disposes all disposables in the group and removes them from the group.\n\t */\n\t\n\t CompositeDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t var len = this.disposables.length;\n\t var currentDisposables = new Array(len);\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i] = this.disposables[i];\n\t }\n\t\n\t this.isDisposed = true;\n\t this.disposables = [];\n\t this.length = 0;\n\t\n\t for (var i = 0; i < len; i++) {\n\t currentDisposables[i].dispose();\n\t }\n\t };\n\t\n\t return CompositeDisposable;\n\t})();\n\t\n\texports['default'] = CompositeDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 72 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports.__esModule = true;\n\tvar noop = function noop() {};\n\t\n\t/**\n\t * The basic disposable.\n\t */\n\t\n\tvar Disposable = (function () {\n\t function Disposable(action) {\n\t _classCallCheck(this, Disposable);\n\t\n\t this.isDisposed = false;\n\t this.action = action || noop;\n\t }\n\t\n\t Disposable.prototype.dispose = function dispose() {\n\t if (!this.isDisposed) {\n\t this.action.call(null);\n\t this.isDisposed = true;\n\t }\n\t };\n\t\n\t _createClass(Disposable, null, [{\n\t key: \"empty\",\n\t enumerable: true,\n\t value: { dispose: noop }\n\t }]);\n\t\n\t return Disposable;\n\t})();\n\t\n\texports[\"default\"] = Disposable;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\tvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable = __webpack_require__(20);\n\t\n\tvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\t\n\tvar SerialDisposable = (function () {\n\t function SerialDisposable() {\n\t _classCallCheck(this, SerialDisposable);\n\t\n\t this.isDisposed = false;\n\t this.current = null;\n\t }\n\t\n\t /**\n\t * Gets the underlying disposable.\n\t * @return The underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.getDisposable = function getDisposable() {\n\t return this.current;\n\t };\n\t\n\t /**\n\t * Sets the underlying disposable.\n\t * @param {Disposable} value The new underlying disposable.\n\t */\n\t\n\t SerialDisposable.prototype.setDisposable = function setDisposable() {\n\t var value = arguments[0] === undefined ? null : arguments[0];\n\t\n\t if (value != null && !_isDisposable2['default'](value)) {\n\t throw new Error('Expected either an empty value or a valid disposable');\n\t }\n\t\n\t var isDisposed = this.isDisposed;\n\t var previous = undefined;\n\t\n\t if (!isDisposed) {\n\t previous = this.current;\n\t this.current = value;\n\t }\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t\n\t if (isDisposed && value) {\n\t value.dispose();\n\t }\n\t };\n\t\n\t /**\n\t * Disposes the underlying disposable as well as all future replacements.\n\t */\n\t\n\t SerialDisposable.prototype.dispose = function dispose() {\n\t if (this.isDisposed) {\n\t return;\n\t }\n\t\n\t this.isDisposed = true;\n\t var previous = this.current;\n\t this.current = null;\n\t\n\t if (previous) {\n\t previous.dispose();\n\t }\n\t };\n\t\n\t return SerialDisposable;\n\t})();\n\t\n\texports['default'] = SerialDisposable;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\t\n\texports.__esModule = true;\n\t\n\tvar _isDisposable2 = __webpack_require__(20);\n\t\n\tvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\t\n\texports.isDisposable = _isDisposable3['default'];\n\t\n\tvar _Disposable2 = __webpack_require__(72);\n\t\n\tvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\t\n\texports.Disposable = _Disposable3['default'];\n\t\n\tvar _CompositeDisposable2 = __webpack_require__(71);\n\t\n\tvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\t\n\texports.CompositeDisposable = _CompositeDisposable3['default'];\n\t\n\tvar _SerialDisposable2 = __webpack_require__(73);\n\t\n\tvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\t\n\texports.SerialDisposable = _SerialDisposable3['default'];\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _reduxLibCreateStore = __webpack_require__(181);\n\t\n\tvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\t\n\tvar _reducers = __webpack_require__(82);\n\t\n\tvar _reducers2 = _interopRequireDefault(_reducers);\n\t\n\tvar _actionsDragDrop = __webpack_require__(9);\n\t\n\tvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\t\n\tvar _DragDropMonitor = __webpack_require__(76);\n\t\n\tvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\t\n\tvar _HandlerRegistry = __webpack_require__(34);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar DragDropManager = (function () {\n\t function DragDropManager(createBackend) {\n\t _classCallCheck(this, DragDropManager);\n\t\n\t var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\t\n\t this.store = store;\n\t this.monitor = new _DragDropMonitor2['default'](store);\n\t this.registry = this.monitor.registry;\n\t this.backend = createBackend(this);\n\t\n\t store.subscribe(this.handleRefCountChange.bind(this));\n\t }\n\t\n\t DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n\t var shouldSetUp = this.store.getState().refCount > 0;\n\t if (shouldSetUp && !this.isSetUp) {\n\t this.backend.setup();\n\t this.isSetUp = true;\n\t } else if (!shouldSetUp && this.isSetUp) {\n\t this.backend.teardown();\n\t this.isSetUp = false;\n\t }\n\t };\n\t\n\t DragDropManager.prototype.getMonitor = function getMonitor() {\n\t return this.monitor;\n\t };\n\t\n\t DragDropManager.prototype.getBackend = function getBackend() {\n\t return this.backend;\n\t };\n\t\n\t DragDropManager.prototype.getRegistry = function getRegistry() {\n\t return this.registry;\n\t };\n\t\n\t DragDropManager.prototype.getActions = function getActions() {\n\t var manager = this;\n\t var dispatch = this.store.dispatch;\n\t\n\t function bindActionCreator(actionCreator) {\n\t return function () {\n\t var action = actionCreator.apply(manager, arguments);\n\t if (typeof action !== 'undefined') {\n\t dispatch(action);\n\t }\n\t };\n\t }\n\t\n\t return Object.keys(dragDropActions).filter(function (key) {\n\t return typeof dragDropActions[key] === 'function';\n\t }).reduce(function (boundActions, key) {\n\t boundActions[key] = bindActionCreator(dragDropActions[key]);\n\t return boundActions;\n\t }, {});\n\t };\n\t\n\t return DragDropManager;\n\t})();\n\t\n\texports['default'] = DragDropManager;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 76 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsMatchesType = __webpack_require__(37);\n\t\n\tvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\t\n\tvar _lodashIsArray = __webpack_require__(3);\n\t\n\tvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\t\n\tvar _HandlerRegistry = __webpack_require__(34);\n\t\n\tvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\t\n\tvar _reducersDragOffset = __webpack_require__(36);\n\t\n\tvar _reducersDirtyHandlerIds = __webpack_require__(35);\n\t\n\tvar DragDropMonitor = (function () {\n\t function DragDropMonitor(store) {\n\t _classCallCheck(this, DragDropMonitor);\n\t\n\t this.store = store;\n\t this.registry = new _HandlerRegistry2['default'](store);\n\t }\n\t\n\t DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n\t var _this = this;\n\t\n\t var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var handlerIds = _ref.handlerIds;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\t\n\t var prevStateId = this.store.getState().stateId;\n\t var handleChange = function handleChange() {\n\t var state = _this.store.getState();\n\t var currentStateId = state.stateId;\n\t try {\n\t var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\t\n\t if (!canSkipListener) {\n\t listener();\n\t }\n\t } finally {\n\t prevStateId = currentStateId;\n\t }\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n\t var _this2 = this;\n\t\n\t _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\t\n\t var previousState = this.store.getState().dragOffset;\n\t var handleChange = function handleChange() {\n\t var nextState = _this2.store.getState().dragOffset;\n\t if (nextState === previousState) {\n\t return;\n\t }\n\t\n\t previousState = nextState;\n\t listener();\n\t };\n\t\n\t return this.store.subscribe(handleChange);\n\t };\n\t\n\t DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n\t var source = this.registry.getSource(sourceId);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (this.isDragging()) {\n\t return false;\n\t }\n\t\n\t return source.canDrag(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n\t var target = this.registry.getTarget(targetId);\n\t _invariant2['default'](target, 'Expected to find a valid target.');\n\t\n\t if (!this.isDragging() || this.didDrop()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n\t };\n\t\n\t DragDropMonitor.prototype.isDragging = function isDragging() {\n\t return Boolean(this.getItemType());\n\t };\n\t\n\t DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n\t var source = this.registry.getSource(sourceId, true);\n\t _invariant2['default'](source, 'Expected to find a valid source.');\n\t\n\t if (!this.isDragging() || !this.isSourcePublic()) {\n\t return false;\n\t }\n\t\n\t var sourceType = this.registry.getSourceType(sourceId);\n\t var draggedItemType = this.getItemType();\n\t if (sourceType !== draggedItemType) {\n\t return false;\n\t }\n\t\n\t return source.isDragging(this, sourceId);\n\t };\n\t\n\t DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n\t var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t var _ref2$shallow = _ref2.shallow;\n\t var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\t\n\t if (!this.isDragging()) {\n\t return false;\n\t }\n\t\n\t var targetType = this.registry.getTargetType(targetId);\n\t var draggedItemType = this.getItemType();\n\t if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n\t return false;\n\t }\n\t\n\t var targetIds = this.getTargetIds();\n\t if (!targetIds.length) {\n\t return false;\n\t }\n\t\n\t var index = targetIds.indexOf(targetId);\n\t if (shallow) {\n\t return index === targetIds.length - 1;\n\t } else {\n\t return index > -1;\n\t }\n\t };\n\t\n\t DragDropMonitor.prototype.getItemType = function getItemType() {\n\t return this.store.getState().dragOperation.itemType;\n\t };\n\t\n\t DragDropMonitor.prototype.getItem = function getItem() {\n\t return this.store.getState().dragOperation.item;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceId = function getSourceId() {\n\t return this.store.getState().dragOperation.sourceId;\n\t };\n\t\n\t DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n\t return this.store.getState().dragOperation.targetIds;\n\t };\n\t\n\t DragDropMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.store.getState().dragOperation.dropResult;\n\t };\n\t\n\t DragDropMonitor.prototype.didDrop = function didDrop() {\n\t return this.store.getState().dragOperation.didDrop;\n\t };\n\t\n\t DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n\t return this.store.getState().dragOperation.isSourcePublic;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.store.getState().dragOffset.initialClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.store.getState().dragOffset.initialSourceClientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.store.getState().dragOffset.clientOffset;\n\t };\n\t\n\t DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n\t };\n\t\n\t return DragDropMonitor;\n\t})();\n\t\n\texports['default'] = DragDropMonitor;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 77 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DragSource = (function () {\n\t function DragSource() {\n\t _classCallCheck(this, DragSource);\n\t }\n\t\n\t DragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t DragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return DragSource;\n\t})();\n\t\n\texports[\"default\"] = DragSource;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 78 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar DropTarget = (function () {\n\t function DropTarget() {\n\t _classCallCheck(this, DropTarget);\n\t }\n\t\n\t DropTarget.prototype.canDrop = function canDrop() {\n\t return true;\n\t };\n\t\n\t DropTarget.prototype.hover = function hover() {};\n\t\n\t DropTarget.prototype.drop = function drop() {};\n\t\n\t return DropTarget;\n\t})();\n\t\n\texports[\"default\"] = DropTarget;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 79 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createBackend;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashNoop = __webpack_require__(52);\n\t\n\tvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\t\n\tvar TestBackend = (function () {\n\t function TestBackend(manager) {\n\t _classCallCheck(this, TestBackend);\n\t\n\t this.actions = manager.getActions();\n\t }\n\t\n\t TestBackend.prototype.setup = function setup() {\n\t this.didCallSetup = true;\n\t };\n\t\n\t TestBackend.prototype.teardown = function teardown() {\n\t this.didCallTeardown = true;\n\t };\n\t\n\t TestBackend.prototype.connectDragSource = function connectDragSource() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n\t return _lodashNoop2['default'];\n\t };\n\t\n\t TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n\t this.actions.beginDrag(sourceIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n\t this.actions.publishDragSource();\n\t };\n\t\n\t TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n\t this.actions.hover(targetIds, options);\n\t };\n\t\n\t TestBackend.prototype.simulateDrop = function simulateDrop() {\n\t this.actions.drop();\n\t };\n\t\n\t TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n\t this.actions.endDrag();\n\t };\n\t\n\t return TestBackend;\n\t})();\n\t\n\tfunction createBackend(manager) {\n\t return new TestBackend(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\t\n\tvar _DragDropManager = __webpack_require__(75);\n\t\n\texports.DragDropManager = _interopRequire(_DragDropManager);\n\t\n\tvar _DragSource = __webpack_require__(77);\n\t\n\texports.DragSource = _interopRequire(_DragSource);\n\t\n\tvar _DropTarget = __webpack_require__(78);\n\t\n\texports.DropTarget = _interopRequire(_DropTarget);\n\t\n\tvar _backendsCreateTestBackend = __webpack_require__(79);\n\t\n\texports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n/***/ },\n/* 81 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports['default'] = dragOperation;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _actionsDragDrop = __webpack_require__(9);\n\t\n\tvar _actionsRegistry = __webpack_require__(10);\n\t\n\tvar _lodashWithout = __webpack_require__(53);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar initialState = {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t targetIds: [],\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null\n\t};\n\t\n\tfunction dragOperation(state, action) {\n\t if (state === undefined) state = initialState;\n\t\n\t switch (action.type) {\n\t case _actionsDragDrop.BEGIN_DRAG:\n\t return _extends({}, state, {\n\t itemType: action.itemType,\n\t item: action.item,\n\t sourceId: action.sourceId,\n\t isSourcePublic: action.isSourcePublic,\n\t dropResult: null,\n\t didDrop: false\n\t });\n\t case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n\t return _extends({}, state, {\n\t isSourcePublic: true\n\t });\n\t case _actionsDragDrop.HOVER:\n\t return _extends({}, state, {\n\t targetIds: action.targetIds\n\t });\n\t case _actionsRegistry.REMOVE_TARGET:\n\t if (state.targetIds.indexOf(action.targetId) === -1) {\n\t return state;\n\t }\n\t return _extends({}, state, {\n\t targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n\t });\n\t case _actionsDragDrop.DROP:\n\t return _extends({}, state, {\n\t dropResult: action.dropResult,\n\t didDrop: true,\n\t targetIds: []\n\t });\n\t case _actionsDragDrop.END_DRAG:\n\t return _extends({}, state, {\n\t itemType: null,\n\t item: null,\n\t sourceId: null,\n\t dropResult: null,\n\t didDrop: false,\n\t isSourcePublic: null,\n\t targetIds: []\n\t });\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 82 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _dragOffset = __webpack_require__(36);\n\t\n\tvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\t\n\tvar _dragOperation = __webpack_require__(81);\n\t\n\tvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\t\n\tvar _refCount = __webpack_require__(83);\n\t\n\tvar _refCount2 = _interopRequireDefault(_refCount);\n\t\n\tvar _dirtyHandlerIds = __webpack_require__(35);\n\t\n\tvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\t\n\tvar _stateId = __webpack_require__(84);\n\t\n\tvar _stateId2 = _interopRequireDefault(_stateId);\n\t\n\texports['default'] = function (state, action) {\n\t if (state === undefined) state = {};\n\t\n\t return {\n\t dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n\t dragOffset: _dragOffset2['default'](state.dragOffset, action),\n\t refCount: _refCount2['default'](state.refCount, action),\n\t dragOperation: _dragOperation2['default'](state.dragOperation, action),\n\t stateId: _stateId2['default'](state.stateId)\n\t };\n\t};\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 83 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = refCount;\n\t\n\tvar _actionsRegistry = __webpack_require__(10);\n\t\n\tfunction refCount(state, action) {\n\t if (state === undefined) state = 0;\n\t\n\t switch (action.type) {\n\t case _actionsRegistry.ADD_SOURCE:\n\t case _actionsRegistry.ADD_TARGET:\n\t return state + 1;\n\t case _actionsRegistry.REMOVE_SOURCE:\n\t case _actionsRegistry.REMOVE_TARGET:\n\t return state - 1;\n\t default:\n\t return state;\n\t }\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 84 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = stateId;\n\t\n\tfunction stateId() {\n\t var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\t\n\t return state + 1;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 85 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = getNextUniqueId;\n\tvar nextUniqueId = 0;\n\t\n\tfunction getNextUniqueId() {\n\t return nextUniqueId++;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 86 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule invariant\n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t if (false) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\t\n\tmodule.exports = invariant;\n\n/***/ },\n/* 87 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule keyOf\n\t */\n\t\n\t/**\n\t * Allows extraction of a minified key. Let's the build system minify keys\n\t * without losing the ability to dynamically use key strings as values\n\t * themselves. Pass in an object with a single key/val pair and it will return\n\t * you the string key of that single record. Suppose you want to grab the\n\t * value for a key 'className' inside of an object. Key/val minification may\n\t * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n\t * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n\t * reuse those resolutions.\n\t */\n\t\"use strict\";\n\t\n\tvar keyOf = function (oneKeyObj) {\n\t var key;\n\t for (key in oneKeyObj) {\n\t if (!oneKeyObj.hasOwnProperty(key)) {\n\t continue;\n\t }\n\t return key;\n\t }\n\t return null;\n\t};\n\t\n\tmodule.exports = keyOf;\n\n/***/ },\n/* 88 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar hashClear = __webpack_require__(116),\n\t hashDelete = __webpack_require__(117),\n\t hashGet = __webpack_require__(118),\n\t hashHas = __webpack_require__(119),\n\t hashSet = __webpack_require__(120);\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\t\n\tmodule.exports = Hash;\n\n\n/***/ },\n/* 89 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar listCacheClear = __webpack_require__(126),\n\t listCacheDelete = __webpack_require__(127),\n\t listCacheGet = __webpack_require__(128),\n\t listCacheHas = __webpack_require__(129),\n\t listCacheSet = __webpack_require__(130);\n\t\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\t\n\tmodule.exports = ListCache;\n\n\n/***/ },\n/* 90 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(14),\n\t root = __webpack_require__(6);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n\n/***/ },\n/* 91 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getNative = __webpack_require__(14),\n\t root = __webpack_require__(6);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Set = getNative(root, 'Set');\n\t\n\tmodule.exports = Set;\n\n\n/***/ },\n/* 92 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.filter` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @returns {Array} Returns the new filtered array.\n\t */\n\tfunction arrayFilter(array, predicate) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length,\n\t resIndex = 0,\n\t result = [];\n\t\n\t while (++index < length) {\n\t var value = array[index];\n\t if (predicate(value, index, array)) {\n\t result[resIndex++] = value;\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayFilter;\n\n\n/***/ },\n/* 93 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseTimes = __webpack_require__(106),\n\t isArguments = __webpack_require__(49),\n\t isArray = __webpack_require__(3),\n\t isBuffer = __webpack_require__(151),\n\t isIndex = __webpack_require__(46),\n\t isTypedArray = __webpack_require__(152);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t var isArr = isArray(value),\n\t isArg = !isArr && isArguments(value),\n\t isBuff = !isArr && !isArg && isBuffer(value),\n\t isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n\t skipIndexes = isArr || isArg || isBuff || isType,\n\t result = skipIndexes ? baseTimes(value.length, String) : [],\n\t length = result.length;\n\t\n\t for (var key in value) {\n\t if ((inherited || hasOwnProperty.call(value, key)) &&\n\t !(skipIndexes && (\n\t // Safari 9 has enumerable `arguments.length` in strict mode.\n\t key == 'length' ||\n\t // Node.js 0.10 has enumerable non-index properties on buffers.\n\t (isBuff && (key == 'offset' || key == 'parent')) ||\n\t // PhantomJS 2 has enumerable non-index properties on typed arrays.\n\t (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n\t // Skip index properties.\n\t isIndex(key, length)\n\t ))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayLikeKeys;\n\n\n/***/ },\n/* 94 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Appends the elements of `values` to `array`.\n\t *\n\t * @private\n\t * @param {Array} array The array to modify.\n\t * @param {Array} values The values to append.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayPush(array, values) {\n\t var index = -1,\n\t length = values.length,\n\t offset = array.length;\n\t\n\t while (++index < length) {\n\t array[offset + index] = values[index];\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayPush;\n\n\n/***/ },\n/* 95 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used by `_.defaults` to customize its `_.assignIn` use.\n\t *\n\t * @private\n\t * @param {*} objValue The destination value.\n\t * @param {*} srcValue The source value.\n\t * @param {string} key The key of the property to assign.\n\t * @param {Object} object The parent object of `objValue`.\n\t * @returns {*} Returns the value to assign.\n\t */\n\tfunction assignInDefaults(objValue, srcValue, key, object) {\n\t if (objValue === undefined ||\n\t (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n\t return srcValue;\n\t }\n\t return objValue;\n\t}\n\t\n\tmodule.exports = assignInDefaults;\n\n\n/***/ },\n/* 96 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseAssignValue = __webpack_require__(40),\n\t eq = __webpack_require__(16);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t baseAssignValue(object, key, value);\n\t }\n\t}\n\t\n\tmodule.exports = assignValue;\n\n\n/***/ },\n/* 97 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.findIndex` and `_.findLastIndex` without\n\t * support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {Function} predicate The function invoked per iteration.\n\t * @param {number} fromIndex The index to search from.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n\t var length = array.length,\n\t index = fromIndex + (fromRight ? 1 : -1);\n\t\n\t while ((fromRight ? index-- : ++index < length)) {\n\t if (predicate(array[index], index, array)) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = baseFindIndex;\n\n\n/***/ },\n/* 98 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFindIndex = __webpack_require__(97),\n\t baseIsNaN = __webpack_require__(101),\n\t strictIndexOf = __webpack_require__(145);\n\t\n\t/**\n\t * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction baseIndexOf(array, value, fromIndex) {\n\t return value === value\n\t ? strictIndexOf(array, value, fromIndex)\n\t : baseFindIndex(array, baseIsNaN, fromIndex);\n\t}\n\t\n\tmodule.exports = baseIndexOf;\n\n\n/***/ },\n/* 99 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar SetCache = __webpack_require__(21),\n\t arrayIncludes = __webpack_require__(23),\n\t arrayIncludesWith = __webpack_require__(24),\n\t arrayMap = __webpack_require__(25),\n\t baseUnary = __webpack_require__(26),\n\t cacheHas = __webpack_require__(27);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMin = Math.min;\n\t\n\t/**\n\t * The base implementation of methods like `_.intersection`, without support\n\t * for iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of shared values.\n\t */\n\tfunction baseIntersection(arrays, iteratee, comparator) {\n\t var includes = comparator ? arrayIncludesWith : arrayIncludes,\n\t length = arrays[0].length,\n\t othLength = arrays.length,\n\t othIndex = othLength,\n\t caches = Array(othLength),\n\t maxLength = Infinity,\n\t result = [];\n\t\n\t while (othIndex--) {\n\t var array = arrays[othIndex];\n\t if (othIndex && iteratee) {\n\t array = arrayMap(array, baseUnary(iteratee));\n\t }\n\t maxLength = nativeMin(array.length, maxLength);\n\t caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n\t ? new SetCache(othIndex && array)\n\t : undefined;\n\t }\n\t array = arrays[0];\n\t\n\t var index = -1,\n\t seen = caches[0];\n\t\n\t outer:\n\t while (++index < length && result.length < maxLength) {\n\t var value = array[index],\n\t computed = iteratee ? iteratee(value) : value;\n\t\n\t value = (comparator || value !== 0) ? value : 0;\n\t if (!(seen\n\t ? cacheHas(seen, computed)\n\t : includes(result, computed, comparator)\n\t )) {\n\t othIndex = othLength;\n\t while (--othIndex) {\n\t var cache = caches[othIndex];\n\t if (!(cache\n\t ? cacheHas(cache, computed)\n\t : includes(arrays[othIndex], computed, comparator))\n\t ) {\n\t continue outer;\n\t }\n\t }\n\t if (seen) {\n\t seen.push(computed);\n\t }\n\t result.push(value);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseIntersection;\n\n\n/***/ },\n/* 100 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(12),\n\t isObjectLike = __webpack_require__(8);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/**\n\t * The base implementation of `_.isArguments`.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t */\n\tfunction baseIsArguments(value) {\n\t return isObjectLike(value) && baseGetTag(value) == argsTag;\n\t}\n\t\n\tmodule.exports = baseIsArguments;\n\n\n/***/ },\n/* 101 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.isNaN` without support for number objects.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n\t */\n\tfunction baseIsNaN(value) {\n\t return value !== value;\n\t}\n\t\n\tmodule.exports = baseIsNaN;\n\n\n/***/ },\n/* 102 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isFunction = __webpack_require__(50),\n\t isMasked = __webpack_require__(124),\n\t isObject = __webpack_require__(7),\n\t toSource = __webpack_require__(146);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\t\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t if (!isObject(value) || isMasked(value)) {\n\t return false;\n\t }\n\t var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = baseIsNative;\n\n\n/***/ },\n/* 103 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseGetTag = __webpack_require__(12),\n\t isLength = __webpack_require__(51),\n\t isObjectLike = __webpack_require__(8);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n\ttypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n\ttypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n\ttypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n\ttypedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n\ttypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n\ttypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n\ttypedArrayTags[errorTag] = typedArrayTags[funcTag] =\n\ttypedArrayTags[mapTag] = typedArrayTags[numberTag] =\n\ttypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n\ttypedArrayTags[setTag] = typedArrayTags[stringTag] =\n\ttypedArrayTags[weakMapTag] = false;\n\t\n\t/**\n\t * The base implementation of `_.isTypedArray` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t */\n\tfunction baseIsTypedArray(value) {\n\t return isObjectLike(value) &&\n\t isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n\t}\n\t\n\tmodule.exports = baseIsTypedArray;\n\n\n/***/ },\n/* 104 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(7),\n\t isPrototype = __webpack_require__(125),\n\t nativeKeysIn = __webpack_require__(136);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeysIn(object) {\n\t if (!isObject(object)) {\n\t return nativeKeysIn(object);\n\t }\n\t var isProto = isPrototype(object),\n\t result = [];\n\t\n\t for (var key in object) {\n\t if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseKeysIn;\n\n\n/***/ },\n/* 105 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar constant = __webpack_require__(148),\n\t defineProperty = __webpack_require__(44),\n\t identity = __webpack_require__(48);\n\t\n\t/**\n\t * The base implementation of `setToString` without support for hot loop shorting.\n\t *\n\t * @private\n\t * @param {Function} func The function to modify.\n\t * @param {Function} string The `toString` result.\n\t * @returns {Function} Returns `func`.\n\t */\n\tvar baseSetToString = !defineProperty ? identity : function(func, string) {\n\t return defineProperty(func, 'toString', {\n\t 'configurable': true,\n\t 'enumerable': false,\n\t 'value': constant(string),\n\t 'writable': true\n\t });\n\t};\n\t\n\tmodule.exports = baseSetToString;\n\n\n/***/ },\n/* 106 */\n/***/ function(module, exports) {\n\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\t\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n\n/***/ },\n/* 107 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseDifference = __webpack_require__(41),\n\t baseFlatten = __webpack_require__(42),\n\t baseUniq = __webpack_require__(43);\n\t\n\t/**\n\t * The base implementation of methods like `_.xor`, without support for\n\t * iteratee shorthands, that accepts an array of arrays to inspect.\n\t *\n\t * @private\n\t * @param {Array} arrays The arrays to inspect.\n\t * @param {Function} [iteratee] The iteratee invoked per element.\n\t * @param {Function} [comparator] The comparator invoked per element.\n\t * @returns {Array} Returns the new array of values.\n\t */\n\tfunction baseXor(arrays, iteratee, comparator) {\n\t var length = arrays.length;\n\t if (length < 2) {\n\t return length ? baseUniq(arrays[0]) : [];\n\t }\n\t var index = -1,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t var array = arrays[index],\n\t othIndex = -1;\n\t\n\t while (++othIndex < length) {\n\t if (othIndex != index) {\n\t result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n\t }\n\t }\n\t }\n\t return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n\t}\n\t\n\tmodule.exports = baseXor;\n\n\n/***/ },\n/* 108 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isArrayLikeObject = __webpack_require__(17);\n\t\n\t/**\n\t * Casts `value` to an empty array if it's not an array like object.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {Array|Object} Returns the cast array-like object.\n\t */\n\tfunction castArrayLikeObject(value) {\n\t return isArrayLikeObject(value) ? value : [];\n\t}\n\t\n\tmodule.exports = castArrayLikeObject;\n\n\n/***/ },\n/* 109 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assignValue = __webpack_require__(96),\n\t baseAssignValue = __webpack_require__(40);\n\t\n\t/**\n\t * Copies properties of `source` to `object`.\n\t *\n\t * @private\n\t * @param {Object} source The object to copy properties from.\n\t * @param {Array} props The property identifiers to copy.\n\t * @param {Object} [object={}] The object to copy properties to.\n\t * @param {Function} [customizer] The function to customize copied values.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction copyObject(source, props, object, customizer) {\n\t var isNew = !object;\n\t object || (object = {});\n\t\n\t var index = -1,\n\t length = props.length;\n\t\n\t while (++index < length) {\n\t var key = props[index];\n\t\n\t var newValue = customizer\n\t ? customizer(object[key], source[key], key, object, source)\n\t : undefined;\n\t\n\t if (newValue === undefined) {\n\t newValue = source[key];\n\t }\n\t if (isNew) {\n\t baseAssignValue(object, key, newValue);\n\t } else {\n\t assignValue(object, key, newValue);\n\t }\n\t }\n\t return object;\n\t}\n\t\n\tmodule.exports = copyObject;\n\n\n/***/ },\n/* 110 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar root = __webpack_require__(6);\n\t\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\t\n\tmodule.exports = coreJsData;\n\n\n/***/ },\n/* 111 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseRest = __webpack_require__(5),\n\t isIterateeCall = __webpack_require__(122);\n\t\n\t/**\n\t * Creates a function like `_.assign`.\n\t *\n\t * @private\n\t * @param {Function} assigner The function to assign values.\n\t * @returns {Function} Returns the new assigner function.\n\t */\n\tfunction createAssigner(assigner) {\n\t return baseRest(function(object, sources) {\n\t var index = -1,\n\t length = sources.length,\n\t customizer = length > 1 ? sources[length - 1] : undefined,\n\t guard = length > 2 ? sources[2] : undefined;\n\t\n\t customizer = (assigner.length > 3 && typeof customizer == 'function')\n\t ? (length--, customizer)\n\t : undefined;\n\t\n\t if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n\t customizer = length < 3 ? undefined : customizer;\n\t length = 1;\n\t }\n\t object = Object(object);\n\t while (++index < length) {\n\t var source = sources[index];\n\t if (source) {\n\t assigner(object, source, index, customizer);\n\t }\n\t }\n\t return object;\n\t });\n\t}\n\t\n\tmodule.exports = createAssigner;\n\n\n/***/ },\n/* 112 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(91),\n\t noop = __webpack_require__(52),\n\t setToArray = __webpack_require__(47);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0;\n\t\n\t/**\n\t * Creates a set object of `values`.\n\t *\n\t * @private\n\t * @param {Array} values The values to add to the set.\n\t * @returns {Object} Returns the new set.\n\t */\n\tvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n\t return new Set(values);\n\t};\n\t\n\tmodule.exports = createSet;\n\n\n/***/ },\n/* 113 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar overArg = __webpack_require__(139);\n\t\n\t/** Built-in value references. */\n\tvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\t\n\tmodule.exports = getPrototype;\n\n\n/***/ },\n/* 114 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(22);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the raw `toStringTag`.\n\t */\n\tfunction getRawTag(value) {\n\t var isOwn = hasOwnProperty.call(value, symToStringTag),\n\t tag = value[symToStringTag];\n\t\n\t try {\n\t value[symToStringTag] = undefined;\n\t var unmasked = true;\n\t } catch (e) {}\n\t\n\t var result = nativeObjectToString.call(value);\n\t if (unmasked) {\n\t if (isOwn) {\n\t value[symToStringTag] = tag;\n\t } else {\n\t delete value[symToStringTag];\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = getRawTag;\n\n\n/***/ },\n/* 115 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t return object == null ? undefined : object[key];\n\t}\n\t\n\tmodule.exports = getValue;\n\n\n/***/ },\n/* 116 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t this.size = 0;\n\t}\n\t\n\tmodule.exports = hashClear;\n\n\n/***/ },\n/* 117 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t var result = this.has(key) && delete this.__data__[key];\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n\n/***/ },\n/* 118 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t var data = this.__data__;\n\t if (nativeCreate) {\n\t var result = data[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n\n/***/ },\n/* 119 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t var data = this.__data__;\n\t return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n\n/***/ },\n/* 120 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar nativeCreate = __webpack_require__(15);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t var data = this.__data__;\n\t this.size += this.has(key) ? 0 : 1;\n\t data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t return this;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n\n/***/ },\n/* 121 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Symbol = __webpack_require__(22),\n\t isArguments = __webpack_require__(49),\n\t isArray = __webpack_require__(3);\n\t\n\t/** Built-in value references. */\n\tvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\t\n\t/**\n\t * Checks if `value` is a flattenable `arguments` object or array.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n\t */\n\tfunction isFlattenable(value) {\n\t return isArray(value) || isArguments(value) ||\n\t !!(spreadableSymbol && value && value[spreadableSymbol]);\n\t}\n\t\n\tmodule.exports = isFlattenable;\n\n\n/***/ },\n/* 122 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar eq = __webpack_require__(16),\n\t isArrayLike = __webpack_require__(28),\n\t isIndex = __webpack_require__(46),\n\t isObject = __webpack_require__(7);\n\t\n\t/**\n\t * Checks if the given arguments are from an iteratee call.\n\t *\n\t * @private\n\t * @param {*} value The potential iteratee value argument.\n\t * @param {*} index The potential iteratee index or key argument.\n\t * @param {*} object The potential iteratee object argument.\n\t * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n\t * else `false`.\n\t */\n\tfunction isIterateeCall(value, index, object) {\n\t if (!isObject(object)) {\n\t return false;\n\t }\n\t var type = typeof index;\n\t if (type == 'number'\n\t ? (isArrayLike(object) && isIndex(index, object.length))\n\t : (type == 'string' && index in object)\n\t ) {\n\t return eq(object[index], value);\n\t }\n\t return false;\n\t}\n\t\n\tmodule.exports = isIterateeCall;\n\n\n/***/ },\n/* 123 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t ? (value !== '__proto__')\n\t : (value === null);\n\t}\n\t\n\tmodule.exports = isKeyable;\n\n\n/***/ },\n/* 124 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar coreJsData = __webpack_require__(110);\n\t\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\t\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\t\n\tmodule.exports = isMasked;\n\n\n/***/ },\n/* 125 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\t\n\t return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n\n/***/ },\n/* 126 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t this.__data__ = [];\n\t this.size = 0;\n\t}\n\t\n\tmodule.exports = listCacheClear;\n\n\n/***/ },\n/* 127 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(11);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = data.length - 1;\n\t if (index == lastIndex) {\n\t data.pop();\n\t } else {\n\t splice.call(data, index, 1);\n\t }\n\t --this.size;\n\t return true;\n\t}\n\t\n\tmodule.exports = listCacheDelete;\n\n\n/***/ },\n/* 128 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(11);\n\t\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t return index < 0 ? undefined : data[index][1];\n\t}\n\t\n\tmodule.exports = listCacheGet;\n\n\n/***/ },\n/* 129 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(11);\n\t\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t return assocIndexOf(this.__data__, key) > -1;\n\t}\n\t\n\tmodule.exports = listCacheHas;\n\n\n/***/ },\n/* 130 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar assocIndexOf = __webpack_require__(11);\n\t\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t ++this.size;\n\t data.push([key, value]);\n\t } else {\n\t data[index][1] = value;\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = listCacheSet;\n\n\n/***/ },\n/* 131 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Hash = __webpack_require__(88),\n\t ListCache = __webpack_require__(89),\n\t Map = __webpack_require__(90);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t this.size = 0;\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': new (Map || ListCache),\n\t 'string': new Hash\n\t };\n\t}\n\t\n\tmodule.exports = mapCacheClear;\n\n\n/***/ },\n/* 132 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(13);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t var result = getMapData(this, key)['delete'](key);\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\t\n\tmodule.exports = mapCacheDelete;\n\n\n/***/ },\n/* 133 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(13);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t return getMapData(this, key).get(key);\n\t}\n\t\n\tmodule.exports = mapCacheGet;\n\n\n/***/ },\n/* 134 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(13);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t return getMapData(this, key).has(key);\n\t}\n\t\n\tmodule.exports = mapCacheHas;\n\n\n/***/ },\n/* 135 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getMapData = __webpack_require__(13);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t var data = getMapData(this, key),\n\t size = data.size;\n\t\n\t data.set(key, value);\n\t this.size += data.size == size ? 0 : 1;\n\t return this;\n\t}\n\t\n\tmodule.exports = mapCacheSet;\n\n\n/***/ },\n/* 136 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This function is like\n\t * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * except that it includes inherited enumerable properties.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction nativeKeysIn(object) {\n\t var result = [];\n\t if (object != null) {\n\t for (var key in Object(object)) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = nativeKeysIn;\n\n\n/***/ },\n/* 137 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(45);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Detect free variable `process` from Node.js. */\n\tvar freeProcess = moduleExports && freeGlobal.process;\n\t\n\t/** Used to access faster Node.js helpers. */\n\tvar nodeUtil = (function() {\n\t try {\n\t return freeProcess && freeProcess.binding && freeProcess.binding('util');\n\t } catch (e) {}\n\t}());\n\t\n\tmodule.exports = nodeUtil;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)(module)))\n\n/***/ },\n/* 138 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/**\n\t * Converts `value` to a string using `Object.prototype.toString`.\n\t *\n\t * @private\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t */\n\tfunction objectToString(value) {\n\t return nativeObjectToString.call(value);\n\t}\n\t\n\tmodule.exports = objectToString;\n\n\n/***/ },\n/* 139 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t return function(arg) {\n\t return func(transform(arg));\n\t };\n\t}\n\t\n\tmodule.exports = overArg;\n\n\n/***/ },\n/* 140 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(39);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max;\n\t\n\t/**\n\t * A specialized version of `baseRest` which transforms the rest array.\n\t *\n\t * @private\n\t * @param {Function} func The function to apply a rest parameter to.\n\t * @param {number} [start=func.length-1] The start position of the rest parameter.\n\t * @param {Function} transform The rest array transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overRest(func, start, transform) {\n\t start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n\t return function() {\n\t var args = arguments,\n\t index = -1,\n\t length = nativeMax(args.length - start, 0),\n\t array = Array(length);\n\t\n\t while (++index < length) {\n\t array[index] = args[start + index];\n\t }\n\t index = -1;\n\t var otherArgs = Array(start + 1);\n\t while (++index < start) {\n\t otherArgs[index] = args[index];\n\t }\n\t otherArgs[start] = transform(array);\n\t return apply(func, this, otherArgs);\n\t };\n\t}\n\t\n\tmodule.exports = overRest;\n\n\n/***/ },\n/* 141 */\n/***/ function(module, exports) {\n\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Adds `value` to the array cache.\n\t *\n\t * @private\n\t * @name add\n\t * @memberOf SetCache\n\t * @alias push\n\t * @param {*} value The value to cache.\n\t * @returns {Object} Returns the cache instance.\n\t */\n\tfunction setCacheAdd(value) {\n\t this.__data__.set(value, HASH_UNDEFINED);\n\t return this;\n\t}\n\t\n\tmodule.exports = setCacheAdd;\n\n\n/***/ },\n/* 142 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Checks if `value` is in the array cache.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf SetCache\n\t * @param {*} value The value to search for.\n\t * @returns {number} Returns `true` if `value` is found, else `false`.\n\t */\n\tfunction setCacheHas(value) {\n\t return this.__data__.has(value);\n\t}\n\t\n\tmodule.exports = setCacheHas;\n\n\n/***/ },\n/* 143 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseSetToString = __webpack_require__(105),\n\t shortOut = __webpack_require__(144);\n\t\n\t/**\n\t * Sets the `toString` method of `func` to return `string`.\n\t *\n\t * @private\n\t * @param {Function} func The function to modify.\n\t * @param {Function} string The `toString` result.\n\t * @returns {Function} Returns `func`.\n\t */\n\tvar setToString = shortOut(baseSetToString);\n\t\n\tmodule.exports = setToString;\n\n\n/***/ },\n/* 144 */\n/***/ function(module, exports) {\n\n\t/** Used to detect hot functions by number of calls within a span of milliseconds. */\n\tvar HOT_COUNT = 800,\n\t HOT_SPAN = 16;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeNow = Date.now;\n\t\n\t/**\n\t * Creates a function that'll short out and invoke `identity` instead\n\t * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n\t * milliseconds.\n\t *\n\t * @private\n\t * @param {Function} func The function to restrict.\n\t * @returns {Function} Returns the new shortable function.\n\t */\n\tfunction shortOut(func) {\n\t var count = 0,\n\t lastCalled = 0;\n\t\n\t return function() {\n\t var stamp = nativeNow(),\n\t remaining = HOT_SPAN - (stamp - lastCalled);\n\t\n\t lastCalled = stamp;\n\t if (remaining > 0) {\n\t if (++count >= HOT_COUNT) {\n\t return arguments[0];\n\t }\n\t } else {\n\t count = 0;\n\t }\n\t return func.apply(undefined, arguments);\n\t };\n\t}\n\t\n\tmodule.exports = shortOut;\n\n\n/***/ },\n/* 145 */\n/***/ function(module, exports) {\n\n\t/**\n\t * A specialized version of `_.indexOf` which performs strict equality\n\t * comparisons of values, i.e. `===`.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} value The value to search for.\n\t * @param {number} fromIndex The index to search from.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction strictIndexOf(array, value, fromIndex) {\n\t var index = fromIndex - 1,\n\t length = array.length;\n\t\n\t while (++index < length) {\n\t if (array[index] === value) {\n\t return index;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = strictIndexOf;\n\n\n/***/ },\n/* 146 */\n/***/ function(module, exports) {\n\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to convert.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n\n/***/ },\n/* 147 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar copyObject = __webpack_require__(109),\n\t createAssigner = __webpack_require__(111),\n\t keysIn = __webpack_require__(153);\n\t\n\t/**\n\t * This method is like `_.assignIn` except that it accepts `customizer`\n\t * which is invoked to produce the assigned values. If `customizer` returns\n\t * `undefined`, assignment is handled by the method instead. The `customizer`\n\t * is invoked with five arguments: (objValue, srcValue, key, object, source).\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @alias extendWith\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} sources The source objects.\n\t * @param {Function} [customizer] The function to customize assigned values.\n\t * @returns {Object} Returns `object`.\n\t * @see _.assignWith\n\t * @example\n\t *\n\t * function customizer(objValue, srcValue) {\n\t * return _.isUndefined(objValue) ? srcValue : objValue;\n\t * }\n\t *\n\t * var defaults = _.partialRight(_.assignInWith, customizer);\n\t *\n\t * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n\t * // => { 'a': 1, 'b': 2 }\n\t */\n\tvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n\t copyObject(source, keysIn(source), object, customizer);\n\t});\n\t\n\tmodule.exports = assignInWith;\n\n\n/***/ },\n/* 148 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Creates a function that returns `value`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Util\n\t * @param {*} value The value to return from the new function.\n\t * @returns {Function} Returns the new constant function.\n\t * @example\n\t *\n\t * var objects = _.times(2, _.constant({ 'a': 1 }));\n\t *\n\t * console.log(objects);\n\t * // => [{ 'a': 1 }, { 'a': 1 }]\n\t *\n\t * console.log(objects[0] === objects[1]);\n\t * // => true\n\t */\n\tfunction constant(value) {\n\t return function() {\n\t return value;\n\t };\n\t}\n\t\n\tmodule.exports = constant;\n\n\n/***/ },\n/* 149 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar apply = __webpack_require__(39),\n\t assignInDefaults = __webpack_require__(95),\n\t assignInWith = __webpack_require__(147),\n\t baseRest = __webpack_require__(5);\n\t\n\t/**\n\t * Assigns own and inherited enumerable string keyed properties of source\n\t * objects to the destination object for all destination properties that\n\t * resolve to `undefined`. Source objects are applied from left to right.\n\t * Once a property is set, additional values of the same property are ignored.\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The destination object.\n\t * @param {...Object} [sources] The source objects.\n\t * @returns {Object} Returns `object`.\n\t * @see _.defaultsDeep\n\t * @example\n\t *\n\t * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n\t * // => { 'a': 1, 'b': 2 }\n\t */\n\tvar defaults = baseRest(function(args) {\n\t args.push(undefined, assignInDefaults);\n\t return apply(assignInWith, undefined, args);\n\t});\n\t\n\tmodule.exports = defaults;\n\n\n/***/ },\n/* 150 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayMap = __webpack_require__(25),\n\t baseIntersection = __webpack_require__(99),\n\t baseRest = __webpack_require__(5),\n\t castArrayLikeObject = __webpack_require__(108);\n\t\n\t/**\n\t * Creates an array of unique values that are included in all given arrays\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons. The order and references of result values are\n\t * determined by the first array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of intersecting values.\n\t * @example\n\t *\n\t * _.intersection([2, 1], [2, 3]);\n\t * // => [2]\n\t */\n\tvar intersection = baseRest(function(arrays) {\n\t var mapped = arrayMap(arrays, castArrayLikeObject);\n\t return (mapped.length && mapped[0] === arrays[0])\n\t ? baseIntersection(mapped)\n\t : [];\n\t});\n\t\n\tmodule.exports = intersection;\n\n\n/***/ },\n/* 151 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(6),\n\t stubFalse = __webpack_require__(155);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\t\n\t/**\n\t * Checks if `value` is a buffer.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n\t * @example\n\t *\n\t * _.isBuffer(new Buffer(2));\n\t * // => true\n\t *\n\t * _.isBuffer(new Uint8Array(2));\n\t * // => false\n\t */\n\tvar isBuffer = nativeIsBuffer || stubFalse;\n\t\n\tmodule.exports = isBuffer;\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)(module)))\n\n/***/ },\n/* 152 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseIsTypedArray = __webpack_require__(103),\n\t baseUnary = __webpack_require__(26),\n\t nodeUtil = __webpack_require__(137);\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\t\n\tmodule.exports = isTypedArray;\n\n\n/***/ },\n/* 153 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayLikeKeys = __webpack_require__(93),\n\t baseKeysIn = __webpack_require__(104),\n\t isArrayLike = __webpack_require__(28);\n\t\n\t/**\n\t * Creates an array of the own and inherited enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keysIn(new Foo);\n\t * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n\t */\n\tfunction keysIn(object) {\n\t return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n\t}\n\t\n\tmodule.exports = keysIn;\n\n\n/***/ },\n/* 154 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar MapCache = __webpack_require__(38);\n\t\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoized function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t var memoized = function() {\n\t var args = arguments,\n\t key = resolver ? resolver.apply(this, args) : args[0],\n\t cache = memoized.cache;\n\t\n\t if (cache.has(key)) {\n\t return cache.get(key);\n\t }\n\t var result = func.apply(this, args);\n\t memoized.cache = cache.set(key, result) || cache;\n\t return result;\n\t };\n\t memoized.cache = new (memoize.Cache || MapCache);\n\t return memoized;\n\t}\n\t\n\t// Expose `MapCache`.\n\tmemoize.Cache = MapCache;\n\t\n\tmodule.exports = memoize;\n\n\n/***/ },\n/* 155 */\n/***/ function(module, exports) {\n\n\t/**\n\t * This method returns `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {boolean} Returns `false`.\n\t * @example\n\t *\n\t * _.times(2, _.stubFalse);\n\t * // => [false, false]\n\t */\n\tfunction stubFalse() {\n\t return false;\n\t}\n\t\n\tmodule.exports = stubFalse;\n\n\n/***/ },\n/* 156 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar baseFlatten = __webpack_require__(42),\n\t baseRest = __webpack_require__(5),\n\t baseUniq = __webpack_require__(43),\n\t isArrayLikeObject = __webpack_require__(17);\n\t\n\t/**\n\t * Creates an array of unique values, in order, from all given arrays using\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of combined values.\n\t * @example\n\t *\n\t * _.union([2], [1, 2]);\n\t * // => [2, 1]\n\t */\n\tvar union = baseRest(function(arrays) {\n\t return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n\t});\n\t\n\tmodule.exports = union;\n\n\n/***/ },\n/* 157 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar arrayFilter = __webpack_require__(92),\n\t baseRest = __webpack_require__(5),\n\t baseXor = __webpack_require__(107),\n\t isArrayLikeObject = __webpack_require__(17);\n\t\n\t/**\n\t * Creates an array of unique values that is the\n\t * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n\t * of the given arrays. The order of result values is determined by the order\n\t * they occur in the arrays.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Array\n\t * @param {...Array} [arrays] The arrays to inspect.\n\t * @returns {Array} Returns the new array of filtered values.\n\t * @see _.difference, _.without\n\t * @example\n\t *\n\t * _.xor([2, 1], [2, 3]);\n\t * // => [1, 3]\n\t */\n\tvar xor = baseRest(function(arrays) {\n\t return baseXor(arrayFilter(arrays, isArrayLikeObject));\n\t});\n\t\n\tmodule.exports = xor;\n\n\n/***/ },\n/* 158 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashUnion = __webpack_require__(156);\n\t\n\tvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\t\n\tvar _lodashWithout = __webpack_require__(53);\n\t\n\tvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\t\n\tvar EnterLeaveCounter = (function () {\n\t function EnterLeaveCounter() {\n\t _classCallCheck(this, EnterLeaveCounter);\n\t\n\t this.entered = [];\n\t }\n\t\n\t EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n\t }), [enteringNode]);\n\t\n\t return previousLength === 0 && this.entered.length > 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n\t var previousLength = this.entered.length;\n\t\n\t this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n\t return document.documentElement.contains(node);\n\t }), leavingNode);\n\t\n\t return previousLength > 0 && this.entered.length === 0;\n\t };\n\t\n\t EnterLeaveCounter.prototype.reset = function reset() {\n\t this.entered = [];\n\t };\n\t\n\t return EnterLeaveCounter;\n\t})();\n\t\n\texports['default'] = EnterLeaveCounter;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 159 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _lodashDefaults = __webpack_require__(149);\n\t\n\tvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\t\n\tvar _shallowEqual = __webpack_require__(165);\n\t\n\tvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\t\n\tvar _EnterLeaveCounter = __webpack_require__(158);\n\t\n\tvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\t\n\tvar _BrowserDetector = __webpack_require__(54);\n\t\n\tvar _OffsetUtils = __webpack_require__(162);\n\t\n\tvar _NativeDragSources = __webpack_require__(161);\n\t\n\tvar _NativeTypes = __webpack_require__(29);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tvar HTML5Backend = (function () {\n\t function HTML5Backend(manager) {\n\t _classCallCheck(this, HTML5Backend);\n\t\n\t this.actions = manager.getActions();\n\t this.monitor = manager.getMonitor();\n\t this.registry = manager.getRegistry();\n\t\n\t this.sourcePreviewNodes = {};\n\t this.sourcePreviewNodeOptions = {};\n\t this.sourceNodes = {};\n\t this.sourceNodeOptions = {};\n\t this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\t\n\t this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n\t this.handleTopDragStart = this.handleTopDragStart.bind(this);\n\t this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n\t this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n\t this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n\t this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n\t this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n\t this.handleTopDragOver = this.handleTopDragOver.bind(this);\n\t this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n\t this.handleTopDrop = this.handleTopDrop.bind(this);\n\t this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n\t this.handleSelectStart = this.handleSelectStart.bind(this);\n\t this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n\t this.endDragNativeItem = this.endDragNativeItem.bind(this);\n\t }\n\t\n\t HTML5Backend.prototype.setup = function setup() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t if (this.constructor.isSetUp) {\n\t throw new Error('Cannot have two HTML5 backends at the same time.');\n\t }\n\t this.constructor.isSetUp = true;\n\t this.addEventListeners(window);\n\t };\n\t\n\t HTML5Backend.prototype.teardown = function teardown() {\n\t if (typeof window === 'undefined') {\n\t return;\n\t }\n\t\n\t this.constructor.isSetUp = false;\n\t this.removeEventListeners(window);\n\t this.clearCurrentDragSourceNode();\n\t };\n\t\n\t HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n\t target.addEventListener('dragstart', this.handleTopDragStart);\n\t target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.addEventListener('dragenter', this.handleTopDragEnter);\n\t target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.addEventListener('dragover', this.handleTopDragOver);\n\t target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.addEventListener('drop', this.handleTopDrop);\n\t target.addEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n\t target.removeEventListener('dragstart', this.handleTopDragStart);\n\t target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n\t target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n\t target.removeEventListener('dragenter', this.handleTopDragEnter);\n\t target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n\t target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n\t target.removeEventListener('dragover', this.handleTopDragOver);\n\t target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n\t target.removeEventListener('drop', this.handleTopDrop);\n\t target.removeEventListener('drop', this.handleTopDropCapture, true);\n\t };\n\t\n\t HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n\t var _this = this;\n\t\n\t this.sourcePreviewNodeOptions[sourceId] = options;\n\t this.sourcePreviewNodes[sourceId] = node;\n\t\n\t return function () {\n\t delete _this.sourcePreviewNodes[sourceId];\n\t delete _this.sourcePreviewNodeOptions[sourceId];\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n\t var _this2 = this;\n\t\n\t this.sourceNodes[sourceId] = node;\n\t this.sourceNodeOptions[sourceId] = options;\n\t\n\t var handleDragStart = function handleDragStart(e) {\n\t return _this2.handleDragStart(e, sourceId);\n\t };\n\t var handleSelectStart = function handleSelectStart(e) {\n\t return _this2.handleSelectStart(e, sourceId);\n\t };\n\t\n\t node.setAttribute('draggable', true);\n\t node.addEventListener('dragstart', handleDragStart);\n\t node.addEventListener('selectstart', handleSelectStart);\n\t\n\t return function () {\n\t delete _this2.sourceNodes[sourceId];\n\t delete _this2.sourceNodeOptions[sourceId];\n\t\n\t node.removeEventListener('dragstart', handleDragStart);\n\t node.removeEventListener('selectstart', handleSelectStart);\n\t node.setAttribute('draggable', false);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n\t var _this3 = this;\n\t\n\t var handleDragEnter = function handleDragEnter(e) {\n\t return _this3.handleDragEnter(e, targetId);\n\t };\n\t var handleDragOver = function handleDragOver(e) {\n\t return _this3.handleDragOver(e, targetId);\n\t };\n\t var handleDrop = function handleDrop(e) {\n\t return _this3.handleDrop(e, targetId);\n\t };\n\t\n\t node.addEventListener('dragenter', handleDragEnter);\n\t node.addEventListener('dragover', handleDragOver);\n\t node.addEventListener('drop', handleDrop);\n\t\n\t return function () {\n\t node.removeEventListener('dragenter', handleDragEnter);\n\t node.removeEventListener('dragover', handleDragOver);\n\t node.removeEventListener('drop', handleDrop);\n\t };\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n\t dropEffect: 'move'\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n\t if (this.isDraggingNativeItem()) {\n\t // It makes more sense to default to 'copy' for native resources\n\t return 'copy';\n\t }\n\t\n\t return this.getCurrentSourceNodeOptions().dropEffect;\n\t };\n\t\n\t HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n\t var sourceId = this.monitor.getSourceId();\n\t var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\t\n\t return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n\t anchorX: 0.5,\n\t anchorY: 0.5,\n\t captureDraggingState: false\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n\t return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n\t };\n\t\n\t HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n\t var itemType = this.monitor.getItemType();\n\t return Object.keys(NativeTypes).some(function (key) {\n\t return NativeTypes[key] === itemType;\n\t });\n\t };\n\t\n\t HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n\t this.clearCurrentDragSourceNode();\n\t\n\t var SourceType = _NativeDragSources.createNativeDragSource(type);\n\t this.currentNativeSource = new SourceType();\n\t this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n\t this.actions.beginDrag([this.currentNativeHandle]);\n\t\n\t // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n\t // This is not true for other browsers.\n\t if (_BrowserDetector.isFirefox()) {\n\t window.addEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n\t if (!this.isDraggingNativeItem()) {\n\t return;\n\t }\n\t\n\t if (_BrowserDetector.isFirefox()) {\n\t window.removeEventListener('mousemove', this.endDragNativeItem, true);\n\t }\n\t\n\t this.actions.endDrag();\n\t this.registry.removeSource(this.currentNativeHandle);\n\t this.currentNativeHandle = null;\n\t this.currentNativeSource = null;\n\t };\n\t\n\t HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n\t var node = this.currentDragSourceNode;\n\t if (document.body.contains(node)) {\n\t return;\n\t }\n\t\n\t if (this.clearCurrentDragSourceNode()) {\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n\t this.clearCurrentDragSourceNode();\n\t this.currentDragSourceNode = node;\n\t this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t\n\t // Receiving a mouse event in the middle of a dragging operation\n\t // means it has ended and the drag source node disappeared from DOM,\n\t // so the browser didn't dispatch the dragend event.\n\t window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t };\n\t\n\t HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n\t if (this.currentDragSourceNode) {\n\t this.currentDragSourceNode = null;\n\t this.currentDragSourceNodeOffset = null;\n\t this.currentDragSourceNodeOffsetChanged = false;\n\t window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n\t return true;\n\t }\n\t\n\t return false;\n\t };\n\t\n\t HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n\t var node = this.currentDragSourceNode;\n\t if (!node) {\n\t return false;\n\t }\n\t\n\t if (this.currentDragSourceNodeOffsetChanged) {\n\t return true;\n\t }\n\t\n\t this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\t\n\t return this.currentDragSourceNodeOffsetChanged;\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n\t this.clearCurrentDragSourceNode();\n\t this.dragStartSourceIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n\t this.dragStartSourceIds.unshift(sourceId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n\t var _this4 = this;\n\t\n\t var dragStartSourceIds = this.dragStartSourceIds;\n\t\n\t this.dragStartSourceIds = null;\n\t\n\t var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\t\n\t // Don't publish the source just yet (see why below)\n\t this.actions.beginDrag(dragStartSourceIds, {\n\t publishSource: false,\n\t getSourceClientOffset: this.getSourceClientOffset,\n\t clientOffset: clientOffset\n\t });\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (this.monitor.isDragging()) {\n\t if (typeof dataTransfer.setDragImage === 'function') {\n\t // Use custom drag image if user specifies it.\n\t // If child drag source refuses drag but parent agrees,\n\t // use parent's node as drag image. Neither works in IE though.\n\t var sourceId = this.monitor.getSourceId();\n\t var sourceNode = this.sourceNodes[sourceId];\n\t var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\t\n\t var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n\t var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\t\n\t var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n\t var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n\t dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n\t }\n\t\n\t try {\n\t // Firefox won't drag without setting data\n\t dataTransfer.setData('application/json', {});\n\t } catch (err) {}\n\t // IE doesn't support MIME types in setData\n\t\n\t // Store drag source node so we can check whether\n\t // it is removed from DOM and trigger endDrag manually.\n\t this.setCurrentDragSourceNode(e.target);\n\t\n\t // Now we are ready to publish the drag source.. or are we not?\n\t\n\t var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\t\n\t var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\t\n\t if (!captureDraggingState) {\n\t // Usually we want to publish it in the next tick so that browser\n\t // is able to screenshot the current (not yet dragging) state.\n\t //\n\t // It also neatly avoids a situation where render() returns null\n\t // in the same tick for the source element, and browser freaks out.\n\t setTimeout(function () {\n\t return _this4.actions.publishDragSource();\n\t });\n\t } else {\n\t // In some cases the user may want to override this behavior, e.g.\n\t // to work around IE not supporting custom drag previews.\n\t //\n\t // When using a custom drag layer, the only way to prevent\n\t // the default drag preview from drawing in IE is to screenshot\n\t // the dragging state in which the node itself has zero opacity\n\t // and height. In this case, though, returning null from render()\n\t // will abruptly end the dragging, which is not obvious.\n\t //\n\t // This is the reason such behavior is strictly opt-in.\n\t this.actions.publishDragSource();\n\t }\n\t } else if (nativeType) {\n\t // A native item (such as URL) dragged from inside the document\n\t this.beginDragNativeItem(nativeType);\n\t } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n\t // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n\t // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n\t return;\n\t } else {\n\t // If by this time no drag source reacted, tell browser not to drag.\n\t e.preventDefault();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n\t if (this.clearCurrentDragSourceNode()) {\n\t // Firefox can dispatch this event in an infinite loop\n\t // if dragend handler does something like showing an alert.\n\t // Only proceed if we have not handled it already.\n\t this.actions.endDrag();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n\t this.dragEnterTargetIds = [];\n\t\n\t var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n\t if (!isFirstEnter || this.monitor.isDragging()) {\n\t return;\n\t }\n\t\n\t var dataTransfer = e.dataTransfer;\n\t\n\t var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\t\n\t if (nativeType) {\n\t // A native item (such as file or URL) dragged from outside the document\n\t this.beginDragNativeItem(nativeType);\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n\t this.dragEnterTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n\t var _this5 = this;\n\t\n\t var dragEnterTargetIds = this.dragEnterTargetIds;\n\t\n\t this.dragEnterTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t return;\n\t }\n\t\n\t if (!_BrowserDetector.isFirefox()) {\n\t // Don't emit hover in `dragenter` on Firefox due to an edge case.\n\t // If the target changes position as the result of `dragenter`, Firefox\n\t // will still happily dispatch `dragover` despite target being no longer\n\t // there. The easy solution is to only fire `hover` in `dragover` on FF.\n\t this.actions.hover(dragEnterTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t }\n\t\n\t var canDrop = dragEnterTargetIds.some(function (targetId) {\n\t return _this5.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // IE requires this to fire dragover events\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n\t this.dragOverTargetIds = [];\n\t };\n\t\n\t HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n\t this.dragOverTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n\t var _this6 = this;\n\t\n\t var dragOverTargetIds = this.dragOverTargetIds;\n\t\n\t this.dragOverTargetIds = [];\n\t\n\t if (!this.monitor.isDragging()) {\n\t // This is probably a native item type we don't understand.\n\t // Prevent default \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t return;\n\t }\n\t\n\t this.actions.hover(dragOverTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t\n\t var canDrop = dragOverTargetIds.some(function (targetId) {\n\t return _this6.monitor.canDropOnTarget(targetId);\n\t });\n\t\n\t if (canDrop) {\n\t // Show user-specified drop effect.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n\t } else if (this.isDraggingNativeItem()) {\n\t // Don't show a nice cursor but still prevent default\n\t // \"drop and blow away the whole document\" action.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'none';\n\t } else if (this.checkIfCurrentDragSourceRectChanged()) {\n\t // Prevent animating to incorrect position.\n\t // Drop effect must be other than 'none' to prevent animation.\n\t e.preventDefault();\n\t e.dataTransfer.dropEffect = 'move';\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n\t if (this.isDraggingNativeItem()) {\n\t e.preventDefault();\n\t }\n\t\n\t var isLastLeave = this.enterLeaveCounter.leave(e.target);\n\t if (!isLastLeave) {\n\t return;\n\t }\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n\t this.dropTargetIds = [];\n\t e.preventDefault();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n\t }\n\t\n\t this.enterLeaveCounter.reset();\n\t };\n\t\n\t HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n\t this.dropTargetIds.unshift(targetId);\n\t };\n\t\n\t HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n\t var dropTargetIds = this.dropTargetIds;\n\t\n\t this.dropTargetIds = [];\n\t\n\t this.actions.hover(dropTargetIds, {\n\t clientOffset: _OffsetUtils.getEventClientOffset(e)\n\t });\n\t this.actions.drop();\n\t\n\t if (this.isDraggingNativeItem()) {\n\t this.endDragNativeItem();\n\t } else {\n\t this.endDragIfSourceWasRemovedFromDOM();\n\t }\n\t };\n\t\n\t HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n\t var target = e.target;\n\t\n\t // Only IE requires us to explicitly say\n\t // we want drag drop operation to start\n\t if (typeof target.dragDrop !== 'function') {\n\t return;\n\t }\n\t\n\t // Inputs and textareas should be selectable\n\t if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n\t return;\n\t }\n\t\n\t // For other targets, ask IE\n\t // to enable drag and drop\n\t e.preventDefault();\n\t target.dragDrop();\n\t };\n\t\n\t return HTML5Backend;\n\t})();\n\t\n\texports['default'] = HTML5Backend;\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 160 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar MonotonicInterpolant = (function () {\n\t function MonotonicInterpolant(xs, ys) {\n\t _classCallCheck(this, MonotonicInterpolant);\n\t\n\t var length = xs.length;\n\t\n\t // Rearrange xs and ys so that xs is sorted\n\t var indexes = [];\n\t for (var i = 0; i < length; i++) {\n\t indexes.push(i);\n\t }\n\t indexes.sort(function (a, b) {\n\t return xs[a] < xs[b] ? -1 : 1;\n\t });\n\t\n\t // Get consecutive differences and slopes\n\t var dys = [];\n\t var dxs = [];\n\t var ms = [];\n\t var dx = undefined;\n\t var dy = undefined;\n\t for (var i = 0; i < length - 1; i++) {\n\t dx = xs[i + 1] - xs[i];\n\t dy = ys[i + 1] - ys[i];\n\t dxs.push(dx);\n\t dys.push(dy);\n\t ms.push(dy / dx);\n\t }\n\t\n\t // Get degree-1 coefficients\n\t var c1s = [ms[0]];\n\t for (var i = 0; i < dxs.length - 1; i++) {\n\t var _m = ms[i];\n\t var mNext = ms[i + 1];\n\t if (_m * mNext <= 0) {\n\t c1s.push(0);\n\t } else {\n\t dx = dxs[i];\n\t var dxNext = dxs[i + 1];\n\t var common = dx + dxNext;\n\t c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n\t }\n\t }\n\t c1s.push(ms[ms.length - 1]);\n\t\n\t // Get degree-2 and degree-3 coefficients\n\t var c2s = [];\n\t var c3s = [];\n\t var m = undefined;\n\t for (var i = 0; i < c1s.length - 1; i++) {\n\t m = ms[i];\n\t var c1 = c1s[i];\n\t var invDx = 1 / dxs[i];\n\t var common = c1 + c1s[i + 1] - m - m;\n\t c2s.push((m - c1 - common) * invDx);\n\t c3s.push(common * invDx * invDx);\n\t }\n\t\n\t this.xs = xs;\n\t this.ys = ys;\n\t this.c1s = c1s;\n\t this.c2s = c2s;\n\t this.c3s = c3s;\n\t }\n\t\n\t MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n\t var xs = this.xs;\n\t var ys = this.ys;\n\t var c1s = this.c1s;\n\t var c2s = this.c2s;\n\t var c3s = this.c3s;\n\t\n\t // The rightmost point in the dataset should give an exact result\n\t var i = xs.length - 1;\n\t if (x === xs[i]) {\n\t return ys[i];\n\t }\n\t\n\t // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n\t var low = 0;\n\t var high = c3s.length - 1;\n\t var mid = undefined;\n\t while (low <= high) {\n\t mid = Math.floor(0.5 * (low + high));\n\t var xHere = xs[mid];\n\t if (xHere < x) {\n\t low = mid + 1;\n\t } else if (xHere > x) {\n\t high = mid - 1;\n\t } else {\n\t return ys[mid];\n\t }\n\t }\n\t i = Math.max(0, high);\n\t\n\t // Interpolate\n\t var diff = x - xs[i];\n\t var diffSq = diff * diff;\n\t return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n\t };\n\t\n\t return MonotonicInterpolant;\n\t})();\n\t\n\texports[\"default\"] = MonotonicInterpolant;\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 161 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _nativeTypesConfig;\n\t\n\texports.createNativeDragSource = createNativeDragSource;\n\texports.matchNativeItemType = matchNativeItemType;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tvar _NativeTypes = __webpack_require__(29);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\tfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n\t var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n\t return resultSoFar || dataTransfer.getData(typeToTry);\n\t }, null);\n\t\n\t return result != null ? // eslint-disable-line eqeqeq\n\t result : defaultValue;\n\t}\n\t\n\tvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n\t exposeProperty: 'files',\n\t matchesTypes: ['Files'],\n\t getData: function getData(dataTransfer) {\n\t return Array.prototype.slice.call(dataTransfer.files);\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n\t exposeProperty: 'urls',\n\t matchesTypes: ['Url', 'text/uri-list'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n\t }\n\t}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n\t exposeProperty: 'text',\n\t matchesTypes: ['Text', 'text/plain'],\n\t getData: function getData(dataTransfer, matchesTypes) {\n\t return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n\t }\n\t}), _nativeTypesConfig);\n\t\n\tfunction createNativeDragSource(type) {\n\t var _nativeTypesConfig$type = nativeTypesConfig[type];\n\t var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n\t var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n\t var getData = _nativeTypesConfig$type.getData;\n\t\n\t return (function () {\n\t function NativeDragSource() {\n\t _classCallCheck(this, NativeDragSource);\n\t\n\t this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n\t get: function get() {\n\t console.warn( // eslint-disable-line no-console\n\t 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n\t return null;\n\t },\n\t configurable: true,\n\t enumerable: true\n\t }));\n\t }\n\t\n\t NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n\t delete this.item[exposeProperty];\n\t this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n\t };\n\t\n\t NativeDragSource.prototype.canDrag = function canDrag() {\n\t return true;\n\t };\n\t\n\t NativeDragSource.prototype.beginDrag = function beginDrag() {\n\t return this.item;\n\t };\n\t\n\t NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n\t return handle === monitor.getSourceId();\n\t };\n\t\n\t NativeDragSource.prototype.endDrag = function endDrag() {};\n\t\n\t return NativeDragSource;\n\t })();\n\t}\n\t\n\tfunction matchNativeItemType(dataTransfer) {\n\t var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\t\n\t return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n\t var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\t\n\t return matchesTypes.some(function (t) {\n\t return dataTransferTypes.indexOf(t) > -1;\n\t });\n\t })[0] || null;\n\t}\n\n/***/ },\n/* 162 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.getNodeClientOffset = getNodeClientOffset;\n\texports.getEventClientOffset = getEventClientOffset;\n\texports.getDragPreviewOffset = getDragPreviewOffset;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _BrowserDetector = __webpack_require__(54);\n\t\n\tvar _MonotonicInterpolant = __webpack_require__(160);\n\t\n\tvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\t\n\tvar ELEMENT_NODE = 1;\n\t\n\tfunction getNodeClientOffset(node) {\n\t var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\t\n\t if (!el) {\n\t return null;\n\t }\n\t\n\t var _el$getBoundingClientRect = el.getBoundingClientRect();\n\t\n\t var top = _el$getBoundingClientRect.top;\n\t var left = _el$getBoundingClientRect.left;\n\t\n\t return { x: left, y: top };\n\t}\n\t\n\tfunction getEventClientOffset(e) {\n\t return {\n\t x: e.clientX,\n\t y: e.clientY\n\t };\n\t}\n\t\n\tfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n\t // The browsers will use the image intrinsic size under different conditions.\n\t // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n\t var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n\t var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\t\n\t var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n\t var offsetFromDragPreview = {\n\t x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n\t y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n\t };\n\t\n\t var sourceWidth = sourceNode.offsetWidth;\n\t var sourceHeight = sourceNode.offsetHeight;\n\t var anchorX = anchorPoint.anchorX;\n\t var anchorY = anchorPoint.anchorY;\n\t\n\t var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n\t var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\t\n\t // Work around @2x coordinate discrepancies in browsers\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t dragPreviewHeight /= window.devicePixelRatio;\n\t dragPreviewWidth /= window.devicePixelRatio;\n\t } else if (_BrowserDetector.isFirefox() && !isImage) {\n\t dragPreviewHeight *= window.devicePixelRatio;\n\t dragPreviewWidth *= window.devicePixelRatio;\n\t }\n\t\n\t // Interpolate coordinates depending on anchor point\n\t // If you know a simpler way to do this, let me know\n\t var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the left\n\t offsetFromDragPreview.x,\n\t // Align at the center\n\t offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n\t // Dock to the right\n\t offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n\t var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n\t // Dock to the top\n\t offsetFromDragPreview.y,\n\t // Align at the center\n\t offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n\t // Dock to the bottom\n\t offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n\t var x = interpolantX.interpolate(anchorX);\n\t var y = interpolantY.interpolate(anchorY);\n\t\n\t // Work around Safari 8 positioning bug\n\t if (_BrowserDetector.isSafari() && isImage) {\n\t // We'll have to wait for @3x to see if this is entirely correct\n\t y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n\t }\n\t\n\t return { x: x, y: y };\n\t}\n\n/***/ },\n/* 163 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = getEmptyImage;\n\tvar emptyImage = undefined;\n\t\n\tfunction getEmptyImage() {\n\t if (!emptyImage) {\n\t emptyImage = new Image();\n\t emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\t }\n\t\n\t return emptyImage;\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 164 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createHTML5Backend;\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _HTML5Backend = __webpack_require__(159);\n\t\n\tvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\t\n\tvar _getEmptyImage = __webpack_require__(163);\n\t\n\tvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\t\n\tvar _NativeTypes = __webpack_require__(29);\n\t\n\tvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\t\n\texports.NativeTypes = NativeTypes;\n\texports.getEmptyImage = _getEmptyImage2['default'];\n\t\n\tfunction createHTML5Backend(manager) {\n\t return new _HTML5Backend2['default'](manager);\n\t}\n\n/***/ },\n/* 165 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = shallowEqual;\n\t\n\tfunction shallowEqual(objA, objB) {\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t // Test for A's keys different from B.\n\t var hasOwn = Object.prototype.hasOwnProperty;\n\t for (var i = 0; i < keysA.length; i++) {\n\t if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n\t return false;\n\t }\n\t\n\t var valA = objA[keysA[i]];\n\t var valB = objB[keysA[i]];\n\t\n\t if (valA !== valB) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 166 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragDropContext;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _dndCore = __webpack_require__(80);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(18);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragDropContext(backendOrModule) {\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\t\n\t // Auto-detect ES6 default export for people still using ES5\n\t var backend = undefined;\n\t if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n\t backend = backendOrModule['default'];\n\t } else {\n\t backend = backendOrModule;\n\t }\n\t\n\t _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\t\n\t var childContext = {\n\t dragDropManager: new _dndCore.DragDropManager(backend)\n\t };\n\t\n\t return function decorateContext(DecoratedComponent) {\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragDropContextContainer, _Component);\n\t\n\t function DragDropContextContainer() {\n\t _classCallCheck(this, DragDropContextContainer);\n\t\n\t _Component.apply(this, arguments);\n\t }\n\t\n\t DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragDropContextContainer.prototype.getManager = function getManager() {\n\t return childContext.dragDropManager;\n\t };\n\t\n\t DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n\t return childContext;\n\t };\n\t\n\t DragDropContextContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n\t ref: 'child' }));\n\t };\n\t\n\t _createClass(DragDropContextContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragDropContext(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'childContextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t return DragDropContextContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 167 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slice = Array.prototype.slice;\n\t\n\tvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\t\n\texports['default'] = DragLayer;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _utilsShallowEqual = __webpack_require__(31);\n\t\n\tvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\t\n\tvar _utilsShallowEqualScalar = __webpack_require__(58);\n\t\n\tvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(4);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(18);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tfunction DragLayer(collect) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\t\n\t return function decorateLayer(DecoratedComponent) {\n\t var _options$arePropsEqual = options.arePropsEqual;\n\t var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\t\n\t var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\t\n\t return (function (_Component) {\n\t _inherits(DragLayerContainer, _Component);\n\t\n\t DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n\t return this.refs.child;\n\t };\n\t\n\t DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n\t return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n\t };\n\t\n\t _createClass(DragLayerContainer, null, [{\n\t key: 'DecoratedComponent',\n\t value: DecoratedComponent,\n\t enumerable: true\n\t }, {\n\t key: 'displayName',\n\t value: 'DragLayer(' + displayName + ')',\n\t enumerable: true\n\t }, {\n\t key: 'contextTypes',\n\t value: {\n\t dragDropManager: _react.PropTypes.object.isRequired\n\t },\n\t enumerable: true\n\t }]);\n\t\n\t function DragLayerContainer(props, context) {\n\t _classCallCheck(this, DragLayerContainer);\n\t\n\t _Component.call(this, props);\n\t this.handleChange = this.handleChange.bind(this);\n\t\n\t this.manager = context.dragDropManager;\n\t _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\t\n\t this.state = this.getCurrentState();\n\t }\n\t\n\t DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n\t this.isCurrentlyMounted = true;\n\t\n\t var monitor = this.manager.getMonitor();\n\t this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n\t this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\t\n\t this.handleChange();\n\t };\n\t\n\t DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.isCurrentlyMounted = false;\n\t\n\t this.unsubscribeFromOffsetChange();\n\t this.unsubscribeFromStateChange();\n\t };\n\t\n\t DragLayerContainer.prototype.handleChange = function handleChange() {\n\t if (!this.isCurrentlyMounted) {\n\t return;\n\t }\n\t\n\t var nextState = this.getCurrentState();\n\t if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n\t this.setState(nextState);\n\t }\n\t };\n\t\n\t DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n\t var monitor = this.manager.getMonitor();\n\t return collect(monitor);\n\t };\n\t\n\t DragLayerContainer.prototype.render = function render() {\n\t return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n\t ref: 'child' }));\n\t };\n\t\n\t return DragLayerContainer;\n\t })(_react.Component);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 168 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DragSource;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(4);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(18);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(56);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerSource = __webpack_require__(176);\n\t\n\tvar _registerSource2 = _interopRequireDefault(_registerSource);\n\t\n\tvar _createSourceFactory = __webpack_require__(171);\n\t\n\tvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\t\n\tvar _createSourceMonitor = __webpack_require__(172);\n\t\n\tvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\t\n\tvar _createSourceConnector = __webpack_require__(170);\n\t\n\tvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(57);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DragSource(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n\t var createSource = _createSourceFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\t\n\t return function decorateSource(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, sourceId) {\n\t return backend.connectDragSource(sourceId);\n\t },\n\t containerDisplayName: 'DragSource',\n\t createHandler: createSource,\n\t registerHandler: _registerSource2['default'],\n\t createMonitor: _createSourceMonitor2['default'],\n\t createConnector: _createSourceConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 169 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\tvar _slice = Array.prototype.slice;\n\texports['default'] = DropTarget;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(4);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar _utilsCheckDecoratorArguments = __webpack_require__(18);\n\t\n\tvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\t\n\tvar _decorateHandler = __webpack_require__(56);\n\t\n\tvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\t\n\tvar _registerTarget = __webpack_require__(177);\n\t\n\tvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\t\n\tvar _createTargetFactory = __webpack_require__(174);\n\t\n\tvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\t\n\tvar _createTargetMonitor = __webpack_require__(175);\n\t\n\tvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\t\n\tvar _createTargetConnector = __webpack_require__(173);\n\t\n\tvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\t\n\tvar _utilsIsValidType = __webpack_require__(57);\n\t\n\tvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\t\n\tfunction DropTarget(type, spec, collect) {\n\t var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\t\n\t _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n\t var getType = type;\n\t if (typeof type !== 'function') {\n\t _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n\t getType = function () {\n\t return type;\n\t };\n\t }\n\t _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n\t var createTarget = _createTargetFactory2['default'](spec);\n\t _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\t\n\t return function decorateTarget(DecoratedComponent) {\n\t return _decorateHandler2['default']({\n\t connectBackend: function connectBackend(backend, targetId) {\n\t return backend.connectDropTarget(targetId);\n\t },\n\t containerDisplayName: 'DropTarget',\n\t createHandler: createTarget,\n\t registerHandler: _registerTarget2['default'],\n\t createMonitor: _createTargetMonitor2['default'],\n\t createConnector: _createTargetConnector2['default'],\n\t DecoratedComponent: DecoratedComponent,\n\t getType: getType,\n\t collect: collect,\n\t options: options\n\t });\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 170 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(59);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(55);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createSourceConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDragSourceNode = undefined;\n\t var currentDragSourceOptions = undefined;\n\t var disconnectCurrentDragSource = undefined;\n\t\n\t var currentDragPreviewNode = undefined;\n\t var currentDragPreviewOptions = undefined;\n\t var disconnectCurrentDragPreview = undefined;\n\t\n\t function reconnectDragSource() {\n\t if (disconnectCurrentDragSource) {\n\t disconnectCurrentDragSource();\n\t disconnectCurrentDragSource = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragSourceNode) {\n\t disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n\t }\n\t }\n\t\n\t function reconnectDragPreview() {\n\t if (disconnectCurrentDragPreview) {\n\t disconnectCurrentDragPreview();\n\t disconnectCurrentDragPreview = null;\n\t }\n\t\n\t if (currentHandlerId && currentDragPreviewNode) {\n\t disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDragSource();\n\t reconnectDragPreview();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dragSource: function connectDragSource(node, options) {\n\t if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n\t return;\n\t }\n\t\n\t currentDragSourceNode = node;\n\t currentDragSourceOptions = options;\n\t\n\t reconnectDragSource();\n\t },\n\t\n\t dragPreview: function connectDragPreview(node, options) {\n\t if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n\t return;\n\t }\n\t\n\t currentDragPreviewNode = node;\n\t currentDragPreviewOptions = options;\n\t\n\t reconnectDragPreview();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 171 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(4);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\n\tvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\t\n\tfunction createSourceFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t REQUIRED_SPEC_METHODS.forEach(function (key) {\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n\t });\n\t\n\t var Source = (function () {\n\t function Source(monitor) {\n\t _classCallCheck(this, Source);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Source.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Source.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Source.prototype.canDrag = function canDrag() {\n\t if (!spec.canDrag) {\n\t return true;\n\t }\n\t\n\t return spec.canDrag(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n\t if (!spec.isDragging) {\n\t return sourceId === globalMonitor.getSourceId();\n\t }\n\t\n\t return spec.isDragging(this.props, this.monitor);\n\t };\n\t\n\t Source.prototype.beginDrag = function beginDrag() {\n\t var item = spec.beginDrag(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n\t }\n\t return item;\n\t };\n\t\n\t Source.prototype.endDrag = function endDrag() {\n\t if (!spec.endDrag) {\n\t return;\n\t }\n\t\n\t spec.endDrag(this.props, this.monitor, this.component);\n\t };\n\t\n\t return Source;\n\t })();\n\t\n\t return function createSource(monitor) {\n\t return new Source(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 172 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createSourceMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrag = false;\n\tvar isCallingIsDragging = false;\n\t\n\tvar SourceMonitor = (function () {\n\t function SourceMonitor(manager) {\n\t _classCallCheck(this, SourceMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n\t this.sourceId = sourceId;\n\t };\n\t\n\t SourceMonitor.prototype.canDrag = function canDrag() {\n\t _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingCanDrag = true;\n\t return this.internalMonitor.canDragSource(this.sourceId);\n\t } finally {\n\t isCallingCanDrag = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.isDragging = function isDragging() {\n\t _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\t\n\t try {\n\t isCallingIsDragging = true;\n\t return this.internalMonitor.isDraggingSource(this.sourceId);\n\t } finally {\n\t isCallingIsDragging = false;\n\t }\n\t };\n\t\n\t SourceMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t SourceMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t SourceMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t SourceMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return SourceMonitor;\n\t})();\n\t\n\tfunction createSourceMonitor(manager) {\n\t return new SourceMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 173 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetConnector;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _wrapConnectorHooks = __webpack_require__(59);\n\t\n\tvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\t\n\tvar _areOptionsEqual = __webpack_require__(55);\n\t\n\tvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\t\n\tfunction createTargetConnector(backend) {\n\t var currentHandlerId = undefined;\n\t\n\t var currentDropTargetNode = undefined;\n\t var currentDropTargetOptions = undefined;\n\t var disconnectCurrentDropTarget = undefined;\n\t\n\t function reconnectDropTarget() {\n\t if (disconnectCurrentDropTarget) {\n\t disconnectCurrentDropTarget();\n\t disconnectCurrentDropTarget = null;\n\t }\n\t\n\t if (currentHandlerId && currentDropTargetNode) {\n\t disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n\t }\n\t }\n\t\n\t function receiveHandlerId(handlerId) {\n\t if (handlerId === currentHandlerId) {\n\t return;\n\t }\n\t\n\t currentHandlerId = handlerId;\n\t reconnectDropTarget();\n\t }\n\t\n\t var hooks = _wrapConnectorHooks2['default']({\n\t dropTarget: function connectDropTarget(node, options) {\n\t if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n\t return;\n\t }\n\t\n\t currentDropTargetNode = node;\n\t currentDropTargetOptions = options;\n\t\n\t reconnectDropTarget();\n\t }\n\t });\n\t\n\t return {\n\t receiveHandlerId: receiveHandlerId,\n\t hooks: hooks\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 174 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetFactory;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _lodashIsPlainObject = __webpack_require__(4);\n\t\n\tvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\t\n\tvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\t\n\tfunction createTargetFactory(spec) {\n\t Object.keys(spec).forEach(function (key) {\n\t _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n\t _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n\t });\n\t\n\t var Target = (function () {\n\t function Target(monitor) {\n\t _classCallCheck(this, Target);\n\t\n\t this.monitor = monitor;\n\t this.props = null;\n\t this.component = null;\n\t }\n\t\n\t Target.prototype.receiveProps = function receiveProps(props) {\n\t this.props = props;\n\t };\n\t\n\t Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n\t this.monitor = monitor;\n\t };\n\t\n\t Target.prototype.receiveComponent = function receiveComponent(component) {\n\t this.component = component;\n\t };\n\t\n\t Target.prototype.canDrop = function canDrop() {\n\t if (!spec.canDrop) {\n\t return true;\n\t }\n\t\n\t return spec.canDrop(this.props, this.monitor);\n\t };\n\t\n\t Target.prototype.hover = function hover() {\n\t if (!spec.hover) {\n\t return;\n\t }\n\t\n\t spec.hover(this.props, this.monitor, this.component);\n\t };\n\t\n\t Target.prototype.drop = function drop() {\n\t if (!spec.drop) {\n\t return;\n\t }\n\t\n\t var dropResult = spec.drop(this.props, this.monitor, this.component);\n\t if (false) {\n\t _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n\t }\n\t return dropResult;\n\t };\n\t\n\t return Target;\n\t })();\n\t\n\t return function createTarget(monitor) {\n\t return new Target(monitor);\n\t };\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 175 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = createTargetMonitor;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar isCallingCanDrop = false;\n\t\n\tvar TargetMonitor = (function () {\n\t function TargetMonitor(manager) {\n\t _classCallCheck(this, TargetMonitor);\n\t\n\t this.internalMonitor = manager.getMonitor();\n\t }\n\t\n\t TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n\t this.targetId = targetId;\n\t };\n\t\n\t TargetMonitor.prototype.canDrop = function canDrop() {\n\t _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\t\n\t try {\n\t isCallingCanDrop = true;\n\t return this.internalMonitor.canDropOnTarget(this.targetId);\n\t } finally {\n\t isCallingCanDrop = false;\n\t }\n\t };\n\t\n\t TargetMonitor.prototype.isOver = function isOver(options) {\n\t return this.internalMonitor.isOverTarget(this.targetId, options);\n\t };\n\t\n\t TargetMonitor.prototype.getItemType = function getItemType() {\n\t return this.internalMonitor.getItemType();\n\t };\n\t\n\t TargetMonitor.prototype.getItem = function getItem() {\n\t return this.internalMonitor.getItem();\n\t };\n\t\n\t TargetMonitor.prototype.getDropResult = function getDropResult() {\n\t return this.internalMonitor.getDropResult();\n\t };\n\t\n\t TargetMonitor.prototype.didDrop = function didDrop() {\n\t return this.internalMonitor.didDrop();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n\t return this.internalMonitor.getInitialClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n\t return this.internalMonitor.getInitialSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n\t return this.internalMonitor.getSourceClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n\t return this.internalMonitor.getClientOffset();\n\t };\n\t\n\t TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n\t return this.internalMonitor.getDifferenceFromInitialOffset();\n\t };\n\t\n\t return TargetMonitor;\n\t})();\n\t\n\tfunction createTargetMonitor(manager) {\n\t return new TargetMonitor(manager);\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 176 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerSource;\n\t\n\tfunction registerSource(type, source, manager) {\n\t var registry = manager.getRegistry();\n\t var sourceId = registry.addSource(type, source);\n\t\n\t function unregisterSource() {\n\t registry.removeSource(sourceId);\n\t }\n\t\n\t return {\n\t handlerId: sourceId,\n\t unregister: unregisterSource\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 177 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = registerTarget;\n\t\n\tfunction registerTarget(type, target, manager) {\n\t var registry = manager.getRegistry();\n\t var targetId = registry.addTarget(type, target);\n\t\n\t function unregisterTarget() {\n\t registry.removeTarget(targetId);\n\t }\n\t\n\t return {\n\t handlerId: targetId,\n\t unregister: unregisterTarget\n\t };\n\t}\n\t\n\tmodule.exports = exports[\"default\"];\n\n/***/ },\n/* 178 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = cloneWithRef;\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar _invariant = __webpack_require__(1);\n\t\n\tvar _invariant2 = _interopRequireDefault(_invariant);\n\t\n\tvar _react = __webpack_require__(2);\n\t\n\tfunction cloneWithRef(element, newRef) {\n\t var previousRef = element.ref;\n\t _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\t\n\t if (!previousRef) {\n\t // When there is no ref on the element, use the new ref directly\n\t return _react.cloneElement(element, {\n\t ref: newRef\n\t });\n\t }\n\t\n\t return _react.cloneElement(element, {\n\t ref: function ref(node) {\n\t newRef(node);\n\t\n\t if (previousRef) {\n\t previousRef(node);\n\t }\n\t }\n\t });\n\t}\n\t\n\tmodule.exports = exports['default'];\n\n/***/ },\n/* 179 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2014-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule Object.assign\n\t */\n\t\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign\n\t\n\t'use strict';\n\t\n\tfunction assign(target, sources) {\n\t if (target == null) {\n\t throw new TypeError('Object.assign target cannot be null or undefined');\n\t }\n\t\n\t var to = Object(target);\n\t var hasOwnProperty = Object.prototype.hasOwnProperty;\n\t\n\t for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) {\n\t var nextSource = arguments[nextIndex];\n\t if (nextSource == null) {\n\t continue;\n\t }\n\t\n\t var from = Object(nextSource);\n\t\n\t // We don't currently support accessors nor proxies. Therefore this\n\t // copy cannot throw. If we ever supported this then we must handle\n\t // exceptions and side-effects. We don't support symbols so they won't\n\t // be transferred.\n\t\n\t for (var key in from) {\n\t if (hasOwnProperty.call(from, key)) {\n\t to[key] = from[key];\n\t }\n\t }\n\t }\n\t\n\t return to;\n\t}\n\t\n\tmodule.exports = assign;\n\n/***/ },\n/* 180 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-2015, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule update\n\t */\n\t\n\t/* global hasOwnProperty:true */\n\t\n\t'use strict';\n\t\n\tvar assign = __webpack_require__(179);\n\tvar keyOf = __webpack_require__(87);\n\tvar invariant = __webpack_require__(86);\n\tvar hasOwnProperty = ({}).hasOwnProperty;\n\t\n\tfunction shallowCopy(x) {\n\t if (Array.isArray(x)) {\n\t return x.concat();\n\t } else if (x && typeof x === 'object') {\n\t return assign(new x.constructor(), x);\n\t } else {\n\t return x;\n\t }\n\t}\n\t\n\tvar COMMAND_PUSH = keyOf({ $push: null });\n\tvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\n\tvar COMMAND_SPLICE = keyOf({ $splice: null });\n\tvar COMMAND_SET = keyOf({ $set: null });\n\tvar COMMAND_MERGE = keyOf({ $merge: null });\n\tvar COMMAND_APPLY = keyOf({ $apply: null });\n\t\n\tvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\t\n\tvar ALL_COMMANDS_SET = {};\n\t\n\tALL_COMMANDS_LIST.forEach(function (command) {\n\t ALL_COMMANDS_SET[command] = true;\n\t});\n\t\n\tfunction invariantArrayCase(value, spec, command) {\n\t !Array.isArray(value) ? false ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : undefined;\n\t var specValue = spec[command];\n\t !Array.isArray(specValue) ? false ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : undefined;\n\t}\n\t\n\tfunction update(value, spec) {\n\t !(typeof spec === 'object') ? false ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : undefined;\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SET)) {\n\t !(Object.keys(spec).length === 1) ? false ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : undefined;\n\t\n\t return spec[COMMAND_SET];\n\t }\n\t\n\t var nextValue = shallowCopy(value);\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n\t var mergeObj = spec[COMMAND_MERGE];\n\t !(mergeObj && typeof mergeObj === 'object') ? false ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : undefined;\n\t !(nextValue && typeof nextValue === 'object') ? false ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : undefined;\n\t assign(nextValue, spec[COMMAND_MERGE]);\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n\t invariantArrayCase(value, spec, COMMAND_PUSH);\n\t spec[COMMAND_PUSH].forEach(function (item) {\n\t nextValue.push(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n\t invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n\t spec[COMMAND_UNSHIFT].forEach(function (item) {\n\t nextValue.unshift(item);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n\t !Array.isArray(value) ? false ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : undefined;\n\t !Array.isArray(spec[COMMAND_SPLICE]) ? false ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined;\n\t spec[COMMAND_SPLICE].forEach(function (args) {\n\t !Array.isArray(args) ? false ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined;\n\t nextValue.splice.apply(nextValue, args);\n\t });\n\t }\n\t\n\t if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n\t !(typeof spec[COMMAND_APPLY] === 'function') ? false ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : undefined;\n\t nextValue = spec[COMMAND_APPLY](nextValue);\n\t }\n\t\n\t for (var k in spec) {\n\t if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n\t nextValue[k] = update(value[k], spec[k]);\n\t }\n\t }\n\t\n\t return nextValue;\n\t}\n\t\n\tmodule.exports = update;\n\n/***/ },\n/* 181 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.ActionTypes = undefined;\n\texports['default'] = createStore;\n\t\n\tvar _isPlainObject = __webpack_require__(4);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tvar _symbolObservable = __webpack_require__(182);\n\t\n\tvar _symbolObservable2 = _interopRequireDefault(_symbolObservable);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t/**\n\t * These are private action types reserved by Redux.\n\t * For any unknown actions, you must return the current state.\n\t * If the current state is undefined, you must return the initial state.\n\t * Do not reference these action types directly in your code.\n\t */\n\tvar ActionTypes = exports.ActionTypes = {\n\t INIT: '@@redux/INIT'\n\t};\n\t\n\t/**\n\t * Creates a Redux store that holds the state tree.\n\t * The only way to change the data in the store is to call `dispatch()` on it.\n\t *\n\t * There should only be a single store in your app. To specify how different\n\t * parts of the state tree respond to actions, you may combine several reducers\n\t * into a single reducer function by using `combineReducers`.\n\t *\n\t * @param {Function} reducer A function that returns the next state tree, given\n\t * the current state tree and the action to handle.\n\t *\n\t * @param {any} [preloadedState] The initial state. You may optionally specify it\n\t * to hydrate the state from the server in universal apps, or to restore a\n\t * previously serialized user session.\n\t * If you use `combineReducers` to produce the root reducer function, this must be\n\t * an object with the same shape as `combineReducers` keys.\n\t *\n\t * @param {Function} enhancer The store enhancer. You may optionally specify it\n\t * to enhance the store with third-party capabilities such as middleware,\n\t * time travel, persistence, etc. The only store enhancer that ships with Redux\n\t * is `applyMiddleware()`.\n\t *\n\t * @returns {Store} A Redux store that lets you read the state, dispatch actions\n\t * and subscribe to changes.\n\t */\n\tfunction createStore(reducer, preloadedState, enhancer) {\n\t var _ref2;\n\t\n\t if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n\t enhancer = preloadedState;\n\t preloadedState = undefined;\n\t }\n\t\n\t if (typeof enhancer !== 'undefined') {\n\t if (typeof enhancer !== 'function') {\n\t throw new Error('Expected the enhancer to be a function.');\n\t }\n\t\n\t return enhancer(createStore)(reducer, preloadedState);\n\t }\n\t\n\t if (typeof reducer !== 'function') {\n\t throw new Error('Expected the reducer to be a function.');\n\t }\n\t\n\t var currentReducer = reducer;\n\t var currentState = preloadedState;\n\t var currentListeners = [];\n\t var nextListeners = currentListeners;\n\t var isDispatching = false;\n\t\n\t function ensureCanMutateNextListeners() {\n\t if (nextListeners === currentListeners) {\n\t nextListeners = currentListeners.slice();\n\t }\n\t }\n\t\n\t /**\n\t * Reads the state tree managed by the store.\n\t *\n\t * @returns {any} The current state tree of your application.\n\t */\n\t function getState() {\n\t return currentState;\n\t }\n\t\n\t /**\n\t * Adds a change listener. It will be called any time an action is dispatched,\n\t * and some part of the state tree may potentially have changed. You may then\n\t * call `getState()` to read the current state tree inside the callback.\n\t *\n\t * You may call `dispatch()` from a change listener, with the following\n\t * caveats:\n\t *\n\t * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n\t * If you subscribe or unsubscribe while the listeners are being invoked, this\n\t * will not have any effect on the `dispatch()` that is currently in progress.\n\t * However, the next `dispatch()` call, whether nested or not, will use a more\n\t * recent snapshot of the subscription list.\n\t *\n\t * 2. The listener should not expect to see all state changes, as the state\n\t * might have been updated multiple times during a nested `dispatch()` before\n\t * the listener is called. It is, however, guaranteed that all subscribers\n\t * registered before the `dispatch()` started will be called with the latest\n\t * state by the time it exits.\n\t *\n\t * @param {Function} listener A callback to be invoked on every dispatch.\n\t * @returns {Function} A function to remove this change listener.\n\t */\n\t function subscribe(listener) {\n\t if (typeof listener !== 'function') {\n\t throw new Error('Expected listener to be a function.');\n\t }\n\t\n\t var isSubscribed = true;\n\t\n\t ensureCanMutateNextListeners();\n\t nextListeners.push(listener);\n\t\n\t return function unsubscribe() {\n\t if (!isSubscribed) {\n\t return;\n\t }\n\t\n\t isSubscribed = false;\n\t\n\t ensureCanMutateNextListeners();\n\t var index = nextListeners.indexOf(listener);\n\t nextListeners.splice(index, 1);\n\t };\n\t }\n\t\n\t /**\n\t * Dispatches an action. It is the only way to trigger a state change.\n\t *\n\t * The `reducer` function, used to create the store, will be called with the\n\t * current state tree and the given `action`. Its return value will\n\t * be considered the **next** state of the tree, and the change listeners\n\t * will be notified.\n\t *\n\t * The base implementation only supports plain object actions. If you want to\n\t * dispatch a Promise, an Observable, a thunk, or something else, you need to\n\t * wrap your store creating function into the corresponding middleware. For\n\t * example, see the documentation for the `redux-thunk` package. Even the\n\t * middleware will eventually dispatch plain object actions using this method.\n\t *\n\t * @param {Object} action A plain object representing “what changed”. It is\n\t * a good idea to keep actions serializable so you can record and replay user\n\t * sessions, or use the time travelling `redux-devtools`. An action must have\n\t * a `type` property which may not be `undefined`. It is a good idea to use\n\t * string constants for action types.\n\t *\n\t * @returns {Object} For convenience, the same action object you dispatched.\n\t *\n\t * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n\t * return something else (for example, a Promise you can await).\n\t */\n\t function dispatch(action) {\n\t if (!(0, _isPlainObject2['default'])(action)) {\n\t throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n\t }\n\t\n\t if (typeof action.type === 'undefined') {\n\t throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n\t }\n\t\n\t if (isDispatching) {\n\t throw new Error('Reducers may not dispatch actions.');\n\t }\n\t\n\t try {\n\t isDispatching = true;\n\t currentState = currentReducer(currentState, action);\n\t } finally {\n\t isDispatching = false;\n\t }\n\t\n\t var listeners = currentListeners = nextListeners;\n\t for (var i = 0; i < listeners.length; i++) {\n\t listeners[i]();\n\t }\n\t\n\t return action;\n\t }\n\t\n\t /**\n\t * Replaces the reducer currently used by the store to calculate the state.\n\t *\n\t * You might need this if your app implements code splitting and you want to\n\t * load some of the reducers dynamically. You might also need this if you\n\t * implement a hot reloading mechanism for Redux.\n\t *\n\t * @param {Function} nextReducer The reducer for the store to use instead.\n\t * @returns {void}\n\t */\n\t function replaceReducer(nextReducer) {\n\t if (typeof nextReducer !== 'function') {\n\t throw new Error('Expected the nextReducer to be a function.');\n\t }\n\t\n\t currentReducer = nextReducer;\n\t dispatch({ type: ActionTypes.INIT });\n\t }\n\t\n\t /**\n\t * Interoperability point for observable/reactive libraries.\n\t * @returns {observable} A minimal observable of state changes.\n\t * For more information, see the observable proposal:\n\t * https://github.com/zenparsing/es-observable\n\t */\n\t function observable() {\n\t var _ref;\n\t\n\t var outerSubscribe = subscribe;\n\t return _ref = {\n\t /**\n\t * The minimal observable subscription method.\n\t * @param {Object} observer Any object that can be used as an observer.\n\t * The observer object should have a `next` method.\n\t * @returns {subscription} An object with an `unsubscribe` method that can\n\t * be used to unsubscribe the observable from the store, and prevent further\n\t * emission of values from the observable.\n\t */\n\t subscribe: function subscribe(observer) {\n\t if (typeof observer !== 'object') {\n\t throw new TypeError('Expected the observer to be an object.');\n\t }\n\t\n\t function observeState() {\n\t if (observer.next) {\n\t observer.next(getState());\n\t }\n\t }\n\t\n\t observeState();\n\t var unsubscribe = outerSubscribe(observeState);\n\t return { unsubscribe: unsubscribe };\n\t }\n\t }, _ref[_symbolObservable2['default']] = function () {\n\t return this;\n\t }, _ref;\n\t }\n\t\n\t // When a store is created, an \"INIT\" action is dispatched so that every\n\t // reducer returns their initial state. This effectively populates\n\t // the initial state tree.\n\t dispatch({ type: ActionTypes.INIT });\n\t\n\t return _ref2 = {\n\t dispatch: dispatch,\n\t subscribe: subscribe,\n\t getState: getState,\n\t replaceReducer: replaceReducer\n\t }, _ref2[_symbolObservable2['default']] = observable, _ref2;\n\t}\n\n/***/ },\n/* 182 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(183);\n\n\n/***/ },\n/* 183 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _ponyfill = __webpack_require__(184);\n\t\n\tvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\tvar root; /* global window */\n\t\n\t\n\tif (typeof self !== 'undefined') {\n\t root = self;\n\t} else if (typeof window !== 'undefined') {\n\t root = window;\n\t} else if (typeof global !== 'undefined') {\n\t root = global;\n\t} else if (true) {\n\t root = module;\n\t} else {\n\t root = Function('return this')();\n\t}\n\t\n\tvar result = (0, _ponyfill2['default'])(root);\n\texports['default'] = result;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(32)(module)))\n\n/***/ },\n/* 184 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t\tvalue: true\n\t});\n\texports['default'] = symbolObservablePonyfill;\n\tfunction symbolObservablePonyfill(root) {\n\t\tvar result;\n\t\tvar _Symbol = root.Symbol;\n\t\n\t\tif (typeof _Symbol === 'function') {\n\t\t\tif (_Symbol.observable) {\n\t\t\t\tresult = _Symbol.observable;\n\t\t\t} else {\n\t\t\t\tresult = _Symbol('observable');\n\t\t\t\t_Symbol.observable = result;\n\t\t\t}\n\t\t} else {\n\t\t\tresult = '@@observable';\n\t\t}\n\t\n\t\treturn result;\n\t};\n\n/***/ },\n/* 185 */\n/***/ function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_185__;\n\n/***/ }\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// lib.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 18f852dcf58f61a444ad","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/invariant/browser.js\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 2\n// module chunks = 0","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isArray.js\n// module id = 3\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isPlainObject.js\n// module id = 4\n// module chunks = 0","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseRest.js\n// module id = 5\n// module chunks = 0","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_root.js\n// module id = 6\n// module chunks = 0","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isObject.js\n// module id = 7\n// module chunks = 0","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isObjectLike.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.beginDrag = beginDrag;\nexports.publishDragSource = publishDragSource;\nexports.hover = hover;\nexports.drop = drop;\nexports.endDrag = endDrag;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsMatchesType = require('../utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _lodashIsObject = require('lodash/isObject');\n\nvar _lodashIsObject2 = _interopRequireDefault(_lodashIsObject);\n\nvar BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexports.BEGIN_DRAG = BEGIN_DRAG;\nvar PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexports.PUBLISH_DRAG_SOURCE = PUBLISH_DRAG_SOURCE;\nvar HOVER = 'dnd-core/HOVER';\nexports.HOVER = HOVER;\nvar DROP = 'dnd-core/DROP';\nexports.DROP = DROP;\nvar END_DRAG = 'dnd-core/END_DRAG';\n\nexports.END_DRAG = END_DRAG;\n\nfunction beginDrag(sourceIds) {\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref$publishSource = _ref.publishSource;\n var publishSource = _ref$publishSource === undefined ? true : _ref$publishSource;\n var _ref$clientOffset = _ref.clientOffset;\n var clientOffset = _ref$clientOffset === undefined ? null : _ref$clientOffset;\n var getSourceClientOffset = _ref.getSourceClientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](sourceIds), 'Expected sourceIds to be an array.');\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n\n for (var i = 0; i < sourceIds.length; i++) {\n _invariant2['default'](registry.getSource(sourceIds[i]), 'Expected sourceIds to be registered.');\n }\n\n var sourceId = null;\n for (var i = sourceIds.length - 1; i >= 0; i--) {\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n if (sourceId === null) {\n return;\n }\n\n var sourceClientOffset = null;\n if (clientOffset) {\n _invariant2['default'](typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n sourceClientOffset = getSourceClientOffset(sourceId);\n }\n\n var source = registry.getSource(sourceId);\n var item = source.beginDrag(monitor, sourceId);\n _invariant2['default'](_lodashIsObject2['default'](item), 'Item must be an object.');\n\n registry.pinSource(sourceId);\n\n var itemType = registry.getSourceType(sourceId);\n return {\n type: BEGIN_DRAG,\n itemType: itemType,\n item: item,\n sourceId: sourceId,\n clientOffset: clientOffset,\n sourceClientOffset: sourceClientOffset,\n isSourcePublic: publishSource\n };\n}\n\nfunction publishDragSource(manager) {\n var monitor = this.getMonitor();\n if (!monitor.isDragging()) {\n return;\n }\n\n return {\n type: PUBLISH_DRAG_SOURCE\n };\n}\n\nfunction hover(targetIds) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$clientOffset = _ref2.clientOffset;\n var clientOffset = _ref2$clientOffset === undefined ? null : _ref2$clientOffset;\n\n _invariant2['default'](_lodashIsArray2['default'](targetIds), 'Expected targetIds to be an array.');\n targetIds = targetIds.slice(0);\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call hover while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call hover after drop.');\n\n // First check invariants.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n _invariant2['default'](targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n\n var target = registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected targetIds to be registered.');\n }\n\n var draggedItemType = monitor.getItemType();\n\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for (var i = targetIds.length - 1; i >= 0; i--) {\n var targetId = targetIds[i];\n var targetType = registry.getTargetType(targetId);\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n\n // Finally call hover on all matching targets.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n var target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n }\n\n return {\n type: HOVER,\n targetIds: targetIds,\n clientOffset: clientOffset\n };\n}\n\nfunction drop() {\n var _this = this;\n\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call drop while not dragging.');\n _invariant2['default'](!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n\n var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n\n targetIds.reverse();\n targetIds.forEach(function (targetId, index) {\n var target = registry.getTarget(targetId);\n\n var dropResult = target.drop(monitor, targetId);\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsObject2['default'](dropResult), 'Drop result must either be an object or undefined.');\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n\n _this.store.dispatch({\n type: DROP,\n dropResult: dropResult\n });\n });\n}\n\nfunction endDrag() {\n var monitor = this.getMonitor();\n var registry = this.getRegistry();\n _invariant2['default'](monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n\n var sourceId = monitor.getSourceId();\n var source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n\n registry.unpinSource();\n\n return {\n type: END_DRAG\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/actions/dragDrop.js\n// module id = 9\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.addSource = addSource;\nexports.addTarget = addTarget;\nexports.removeSource = removeSource;\nexports.removeTarget = removeTarget;\nvar ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexports.ADD_SOURCE = ADD_SOURCE;\nvar ADD_TARGET = 'dnd-core/ADD_TARGET';\nexports.ADD_TARGET = ADD_TARGET;\nvar REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexports.REMOVE_SOURCE = REMOVE_SOURCE;\nvar REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\n\nexports.REMOVE_TARGET = REMOVE_TARGET;\n\nfunction addSource(sourceId) {\n return {\n type: ADD_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction addTarget(targetId) {\n return {\n type: ADD_TARGET,\n targetId: targetId\n };\n}\n\nfunction removeSource(sourceId) {\n return {\n type: REMOVE_SOURCE,\n sourceId: sourceId\n };\n}\n\nfunction removeTarget(targetId) {\n return {\n type: REMOVE_TARGET,\n targetId: targetId\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/actions/registry.js\n// module id = 10\n// module chunks = 0","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_assocIndexOf.js\n// module id = 11\n// module chunks = 0","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n value = Object(value);\n return (symToStringTag && symToStringTag in value)\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseGetTag.js\n// module id = 12\n// module chunks = 0","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_getMapData.js\n// module id = 13\n// module chunks = 0","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_getNative.js\n// module id = 14\n// module chunks = 0","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_nativeCreate.js\n// module id = 15\n// module chunks = 0","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/eq.js\n// module id = 16\n// module chunks = 0","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isArrayLikeObject.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = checkDecoratorArguments;\n\nfunction checkDecoratorArguments(functionName, signature) {\n if (process.env.NODE_ENV !== 'production') {\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg && arg.prototype && arg.prototype.render) {\n console.error( // eslint-disable-line no-console\n 'You seem to be applying the arguments in the wrong order. ' + ('It should be ' + functionName + '(' + signature + ')(Component), not the other way around. ') + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n return;\n }\n }\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/utils/checkDecoratorArguments.js\n// module id = 18\n// module chunks = 0","import update from 'react/lib/update';\r\n\r\n/**\r\n * Adds the specified widget to the specified position in the layout.\r\n */\r\nexport function addWidget(layout, rowIndex, columnIndex, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $push: [{\r\n key: widgetName,\r\n }],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Removes the widget at a specified index.\r\n */\r\nexport function removeWidget(layout, rowIndex, columnIndex, widgetIndex) {\r\n return update(layout, {\r\n rows: {\r\n [rowIndex]: {\r\n columns: {\r\n [columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [widgetIndex, 1],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\r\n/**\r\n * Moves a widget from column to column.\r\n */\r\nexport function moveWidget(layout, initialLocation, destination, widgetName) {\r\n const removedLayout = removeWidget(layout, initialLocation.rowIndex, initialLocation.columnIndex, initialLocation.widgetIndex);\r\n const movedLayout = addWidget(removedLayout, destination.rowIndex, destination.columnIndex, widgetName);\r\n return movedLayout;\r\n}\r\n\r\n/**\r\n * Sorts a widget in the same column.\r\n */\r\nexport function sortWidget(layout, initialLocation, destination, widgetName) {\r\n return update(layout, {\r\n rows: {\r\n [initialLocation.rowIndex]: {\r\n columns: {\r\n [initialLocation.columnIndex]: {\r\n widgets: {\r\n $splice: [\r\n [initialLocation.widgetIndex, 1],\r\n [destination.widgetIndex, 0, {\r\n key: widgetName,\r\n }],\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n },\r\n });\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/util/index.js","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isDisposable;\n\nfunction isDisposable(obj) {\n return Boolean(obj && typeof obj.dispose === 'function');\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/disposables/modules/isDisposable.js\n// module id = 20\n// module chunks = 0","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_SetCache.js\n// module id = 21\n// module chunks = 0","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_Symbol.js\n// module id = 22\n// module chunks = 0","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_arrayIncludes.js\n// module id = 23\n// module chunks = 0","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_arrayIncludesWith.js\n// module id = 24\n// module chunks = 0","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_arrayMap.js\n// module id = 25\n// module chunks = 0","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseUnary.js\n// module id = 26\n// module chunks = 0","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_cacheHas.js\n// module id = 27\n// module chunks = 0","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isArrayLike.js\n// module id = 28\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar FILE = '__NATIVE_FILE__';\nexports.FILE = FILE;\nvar URL = '__NATIVE_URL__';\nexports.URL = URL;\nvar TEXT = '__NATIVE_TEXT__';\nexports.TEXT = TEXT;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/NativeTypes.js\n// module id = 29\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropContext = require('./DragDropContext');\n\nexports.DragDropContext = _interopRequire(_DragDropContext);\n\nvar _DragLayer = require('./DragLayer');\n\nexports.DragLayer = _interopRequire(_DragLayer);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/index.js\n// module id = 30\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/utils/shallowEqual.js\n// module id = 31\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 32\n// module chunks = 0","export const WIDGET = 'WIDGET';\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/ItemTypes.js","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _typeof(obj) { return obj && obj.constructor === Symbol ? 'symbol' : typeof obj; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _utilsGetNextUniqueId = require('./utils/getNextUniqueId');\n\nvar _utilsGetNextUniqueId2 = _interopRequireDefault(_utilsGetNextUniqueId);\n\nvar _actionsRegistry = require('./actions/registry');\n\nvar _asap = require('asap');\n\nvar _asap2 = _interopRequireDefault(_asap);\n\nvar HandlerRoles = {\n SOURCE: 'SOURCE',\n TARGET: 'TARGET'\n};\n\nfunction validateSourceContract(source) {\n _invariant2['default'](typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n _invariant2['default'](typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n _invariant2['default'](typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\n\nfunction validateTargetContract(target) {\n _invariant2['default'](typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n _invariant2['default'](typeof target.hover === 'function', 'Expected hover to be a function.');\n _invariant2['default'](typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\n\nfunction validateType(type, allowArray) {\n if (allowArray && _lodashIsArray2['default'](type)) {\n type.forEach(function (t) {\n return validateType(t, false);\n });\n return;\n }\n\n _invariant2['default'](typeof type === 'string' || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n}\n\nfunction getNextHandlerId(role) {\n var id = _utilsGetNextUniqueId2['default']().toString();\n switch (role) {\n case HandlerRoles.SOURCE:\n return 'S' + id;\n case HandlerRoles.TARGET:\n return 'T' + id;\n default:\n _invariant2['default'](false, 'Unknown role: ' + role);\n }\n}\n\nfunction parseRoleFromHandlerId(handlerId) {\n switch (handlerId[0]) {\n case 'S':\n return HandlerRoles.SOURCE;\n case 'T':\n return HandlerRoles.TARGET;\n default:\n _invariant2['default'](false, 'Cannot parse handler ID: ' + handlerId);\n }\n}\n\nvar HandlerRegistry = (function () {\n function HandlerRegistry(store) {\n _classCallCheck(this, HandlerRegistry);\n\n this.store = store;\n\n this.types = {};\n this.handlers = {};\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n\n HandlerRegistry.prototype.addSource = function addSource(type, source) {\n validateType(type);\n validateSourceContract(source);\n\n var sourceId = this.addHandler(HandlerRoles.SOURCE, type, source);\n this.store.dispatch(_actionsRegistry.addSource(sourceId));\n return sourceId;\n };\n\n HandlerRegistry.prototype.addTarget = function addTarget(type, target) {\n validateType(type, true);\n validateTargetContract(target);\n\n var targetId = this.addHandler(HandlerRoles.TARGET, type, target);\n this.store.dispatch(_actionsRegistry.addTarget(targetId));\n return targetId;\n };\n\n HandlerRegistry.prototype.addHandler = function addHandler(role, type, handler) {\n var id = getNextHandlerId(role);\n this.types[id] = type;\n this.handlers[id] = handler;\n\n return id;\n };\n\n HandlerRegistry.prototype.containsHandler = function containsHandler(handler) {\n var _this = this;\n\n return Object.keys(this.handlers).some(function (key) {\n return _this.handlers[key] === handler;\n });\n };\n\n HandlerRegistry.prototype.getSource = function getSource(sourceId, includePinned) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n\n var isPinned = includePinned && sourceId === this.pinnedSourceId;\n var source = isPinned ? this.pinnedSource : this.handlers[sourceId];\n\n return source;\n };\n\n HandlerRegistry.prototype.getTarget = function getTarget(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.handlers[targetId];\n };\n\n HandlerRegistry.prototype.getSourceType = function getSourceType(sourceId) {\n _invariant2['default'](this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types[sourceId];\n };\n\n HandlerRegistry.prototype.getTargetType = function getTargetType(targetId) {\n _invariant2['default'](this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types[targetId];\n };\n\n HandlerRegistry.prototype.isSourceId = function isSourceId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.SOURCE;\n };\n\n HandlerRegistry.prototype.isTargetId = function isTargetId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRoles.TARGET;\n };\n\n HandlerRegistry.prototype.removeSource = function removeSource(sourceId) {\n var _this2 = this;\n\n _invariant2['default'](this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(_actionsRegistry.removeSource(sourceId));\n\n _asap2['default'](function () {\n delete _this2.handlers[sourceId];\n delete _this2.types[sourceId];\n });\n };\n\n HandlerRegistry.prototype.removeTarget = function removeTarget(targetId) {\n var _this3 = this;\n\n _invariant2['default'](this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(_actionsRegistry.removeTarget(targetId));\n\n _asap2['default'](function () {\n delete _this3.handlers[targetId];\n delete _this3.types[targetId];\n });\n };\n\n HandlerRegistry.prototype.pinSource = function pinSource(sourceId) {\n var source = this.getSource(sourceId);\n _invariant2['default'](source, 'Expected an existing source.');\n\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n };\n\n HandlerRegistry.prototype.unpinSource = function unpinSource() {\n _invariant2['default'](this.pinnedSource, 'No source is pinned at the time.');\n\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n };\n\n return HandlerRegistry;\n})();\n\nexports['default'] = HandlerRegistry;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/HandlerRegistry.js\n// module id = 34\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = dirtyHandlerIds;\nexports.areDirty = areDirty;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashXor = require('lodash/xor');\n\nvar _lodashXor2 = _interopRequireDefault(_lodashXor);\n\nvar _lodashIntersection = require('lodash/intersection');\n\nvar _lodashIntersection2 = _interopRequireDefault(_lodashIntersection);\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar NONE = [];\nvar ALL = [];\n\nfunction dirtyHandlerIds(state, action, dragOperation) {\n if (state === undefined) state = NONE;\n\n switch (action.type) {\n case _actionsDragDrop.HOVER:\n break;\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n case _actionsRegistry.REMOVE_TARGET:\n case _actionsRegistry.REMOVE_SOURCE:\n return NONE;\n case _actionsDragDrop.BEGIN_DRAG:\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n default:\n return ALL;\n }\n\n var targetIds = action.targetIds;\n var prevTargetIds = dragOperation.targetIds;\n\n var dirtyHandlerIds = _lodashXor2['default'](targetIds, prevTargetIds);\n\n var didChange = false;\n if (dirtyHandlerIds.length === 0) {\n for (var i = 0; i < targetIds.length; i++) {\n if (targetIds[i] !== prevTargetIds[i]) {\n didChange = true;\n break;\n }\n }\n } else {\n didChange = true;\n }\n\n if (!didChange) {\n return NONE;\n }\n\n var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n var innermostTargetId = targetIds[targetIds.length - 1];\n\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n dirtyHandlerIds.push(prevInnermostTargetId);\n }\n if (innermostTargetId) {\n dirtyHandlerIds.push(innermostTargetId);\n }\n }\n\n return dirtyHandlerIds;\n}\n\nfunction areDirty(state, handlerIds) {\n if (state === NONE) {\n return false;\n }\n\n if (state === ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n\n return _lodashIntersection2['default'](handlerIds, state).length > 0;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/reducers/dirtyHandlerIds.js\n// module id = 35\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = dragOffset;\nexports.getSourceClientOffset = getSourceClientOffset;\nexports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null\n};\n\nfunction areOffsetsEqual(offsetA, offsetB) {\n if (offsetA === offsetB) {\n return true;\n }\n return offsetA && offsetB && offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n}\n\nfunction dragOffset(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return {\n initialSourceClientOffset: action.sourceClientOffset,\n initialClientOffset: action.clientOffset,\n clientOffset: action.clientOffset\n };\n case _actionsDragDrop.HOVER:\n if (areOffsetsEqual(state.clientOffset, action.clientOffset)) {\n return state;\n }\n return _extends({}, state, {\n clientOffset: action.clientOffset\n });\n case _actionsDragDrop.END_DRAG:\n case _actionsDragDrop.DROP:\n return initialState;\n default:\n return state;\n }\n}\n\nfunction getSourceClientOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n var initialSourceClientOffset = state.initialSourceClientOffset;\n\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x + initialSourceClientOffset.x - initialClientOffset.x,\n y: clientOffset.y + initialSourceClientOffset.y - initialClientOffset.y\n };\n}\n\nfunction getDifferenceFromInitialOffset(state) {\n var clientOffset = state.clientOffset;\n var initialClientOffset = state.initialClientOffset;\n\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n return {\n x: clientOffset.x - initialClientOffset.x,\n y: clientOffset.y - initialClientOffset.y\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/reducers/dragOffset.js\n// module id = 36\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = matchesType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction matchesType(targetType, draggedItemType) {\n if (_lodashIsArray2['default'](targetType)) {\n return targetType.some(function (t) {\n return t === draggedItemType;\n });\n } else {\n return targetType === draggedItemType;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/utils/matchesType.js\n// module id = 37\n// module chunks = 0","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_MapCache.js\n// module id = 38\n// module chunks = 0","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_apply.js\n// module id = 39\n// module chunks = 0","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseAssignValue.js\n// module id = 40\n// module chunks = 0","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseDifference.js\n// module id = 41\n// module chunks = 0","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseFlatten.js\n// module id = 42\n// module chunks = 0","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseUniq.js\n// module id = 43\n// module chunks = 0","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_defineProperty.js\n// module id = 44\n// module chunks = 0","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_freeGlobal.js\n// module id = 45\n// module chunks = 0","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_isIndex.js\n// module id = 46\n// module chunks = 0","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_setToArray.js\n// module id = 47\n// module chunks = 0","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/identity.js\n// module id = 48\n// module chunks = 0","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isArguments.js\n// module id = 49\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isFunction.js\n// module id = 50\n// module chunks = 0","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isLength.js\n// module id = 51\n// module chunks = 0","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/noop.js\n// module id = 52\n// module chunks = 0","var baseDifference = require('./_baseDifference'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/without.js\n// module id = 53\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashMemoize = require('lodash/memoize');\n\nvar _lodashMemoize2 = _interopRequireDefault(_lodashMemoize);\n\nvar isFirefox = _lodashMemoize2['default'](function () {\n return (/firefox/i.test(navigator.userAgent)\n );\n});\n\nexports.isFirefox = isFirefox;\nvar isSafari = _lodashMemoize2['default'](function () {\n return Boolean(window.safari);\n});\nexports.isSafari = isSafari;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/BrowserDetector.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = areOptionsEqual;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nfunction areOptionsEqual(nextOptions, currentOptions) {\n if (currentOptions === nextOptions) {\n return true;\n }\n\n return currentOptions !== null && nextOptions !== null && _utilsShallowEqual2['default'](currentOptions, nextOptions);\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/areOptionsEqual.js\n// module id = 55\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = decorateHandler;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _disposables = require('disposables');\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction decorateHandler(_ref) {\n var DecoratedComponent = _ref.DecoratedComponent;\n var createHandler = _ref.createHandler;\n var createMonitor = _ref.createMonitor;\n var createConnector = _ref.createConnector;\n var registerHandler = _ref.registerHandler;\n var containerDisplayName = _ref.containerDisplayName;\n var getType = _ref.getType;\n var collect = _ref.collect;\n var options = _ref.options;\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContainer, _Component);\n\n DragDropContainer.prototype.getHandlerId = function getHandlerId() {\n return this.handlerId;\n };\n\n DragDropContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.decoratedComponentInstance;\n };\n\n DragDropContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragDropContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: containerDisplayName + '(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragDropContainer(props, context) {\n _classCallCheck(this, DragDropContainer);\n\n _Component.call(this, props, context);\n this.handleChange = this.handleChange.bind(this);\n this.handleChildRef = this.handleChildRef.bind(this);\n\n _invariant2['default'](typeof this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.manager = this.context.dragDropManager;\n this.handlerMonitor = createMonitor(this.manager);\n this.handlerConnector = createConnector(this.manager.getBackend());\n this.handler = createHandler(this.handlerMonitor);\n\n this.disposable = new _disposables.SerialDisposable();\n this.receiveProps(props);\n this.state = this.getCurrentState();\n this.dispose();\n }\n\n DragDropContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n this.disposable = new _disposables.SerialDisposable();\n this.currentType = null;\n this.receiveProps(this.props);\n this.handleChange();\n };\n\n DragDropContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!arePropsEqual(nextProps, this.props)) {\n this.receiveProps(nextProps);\n this.handleChange();\n }\n };\n\n DragDropContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.dispose();\n this.isCurrentlyMounted = false;\n };\n\n DragDropContainer.prototype.receiveProps = function receiveProps(props) {\n this.handler.receiveProps(props);\n this.receiveType(getType(props));\n };\n\n DragDropContainer.prototype.receiveType = function receiveType(type) {\n if (type === this.currentType) {\n return;\n }\n\n this.currentType = type;\n\n var _registerHandler = registerHandler(type, this.handler, this.manager);\n\n var handlerId = _registerHandler.handlerId;\n var unregister = _registerHandler.unregister;\n\n this.handlerId = handlerId;\n this.handlerMonitor.receiveHandlerId(handlerId);\n this.handlerConnector.receiveHandlerId(handlerId);\n\n var globalMonitor = this.manager.getMonitor();\n var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n\n this.disposable.setDisposable(new _disposables.CompositeDisposable(new _disposables.Disposable(unsubscribe), new _disposables.Disposable(unregister)));\n };\n\n DragDropContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragDropContainer.prototype.dispose = function dispose() {\n this.disposable.dispose();\n this.handlerConnector.receiveHandlerId(null);\n };\n\n DragDropContainer.prototype.handleChildRef = function handleChildRef(component) {\n this.decoratedComponentInstance = component;\n this.handler.receiveComponent(component);\n };\n\n DragDropContainer.prototype.getCurrentState = function getCurrentState() {\n var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n }\n\n return nextState;\n };\n\n DragDropContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: this.handleChildRef }));\n };\n\n return DragDropContainer;\n })(_react.Component);\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/decorateHandler.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isValidType;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nfunction isValidType(type, allowArray) {\n return typeof type === 'string' || typeof type === 'symbol' || allowArray && _lodashIsArray2['default'](type) && type.every(function (t) {\n return isValidType(t, false);\n });\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/utils/isValidType.js\n// module id = 57\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = shallowEqualScalar;\n\nfunction shallowEqualScalar(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i])) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB || typeof valA === 'object' || typeof valB === 'object') {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/utils/shallowEqualScalar.js\n// module id = 58\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = wrapConnectorHooks;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsCloneWithRef = require('./utils/cloneWithRef');\n\nvar _utilsCloneWithRef2 = _interopRequireDefault(_utilsCloneWithRef);\n\nvar _react = require('react');\n\nfunction throwIfCompositeComponentElement(element) {\n // Custom components can no longer be wrapped directly in React DnD 2.0\n // so that we don't need to depend on findDOMNode() from react-dom.\n if (typeof element.type === 'string') {\n return;\n }\n\n var displayName = element.type.displayName || element.type.name || 'the component';\n\n throw new Error('Only native element nodes can now be passed to React DnD connectors. ' + ('You can either wrap ' + displayName + ' into a
, or turn it into a ') + 'drag source or a drop target itself.');\n}\n\nfunction wrapHookToRecognizeElement(hook) {\n return function () {\n var elementOrNode = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n var options = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n // When passed a node, call the hook straight away.\n if (!_react.isValidElement(elementOrNode)) {\n var node = elementOrNode;\n hook(node, options);\n return;\n }\n\n // If passed a ReactElement, clone it and attach this function as a ref.\n // This helps us achieve a neat API where user doesn't even know that refs\n // are being used under the hood.\n var element = elementOrNode;\n throwIfCompositeComponentElement(element);\n\n // When no options are passed, use the hook directly\n var ref = options ? function (node) {\n return hook(node, options);\n } : hook;\n\n return _utilsCloneWithRef2['default'](element, ref);\n };\n}\n\nfunction wrapConnectorHooks(hooks) {\n var wrappedHooks = {};\n\n Object.keys(hooks).forEach(function (key) {\n var hook = hooks[key];\n var wrappedHook = wrapHookToRecognizeElement(hook);\n wrappedHooks[key] = function () {\n return wrappedHook;\n };\n });\n\n return wrappedHooks;\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/wrapConnectorHooks.js\n// module id = 59\n// module chunks = 0","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default AddWidget component.\r\n * @param {[type]} {text [description]\r\n * @param {[type]} onClick} [description]\r\n * @return {[type]} [description]\r\n */\r\nconst AddWidget = ({text, onClick}) => {\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n};\r\n\r\nAddWidget.propTypes = {\r\n /**\r\n * Should be called when 'add' is clicked\r\n */\r\n onClick: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the component\r\n */\r\n text: PropTypes.string,\r\n};\r\n\r\nAddWidget.defaultProps = {\r\n text: 'Add Widget',\r\n};\r\n\r\nexport default AddWidget;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/AddWidget.js","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport AddWidget from './AddWidget';\r\nimport { moveWidget } from '../util';\r\n\r\nconst columnTarget = {\r\n drop(props, monitor) {\r\n const { layout, rowIndex, columnIndex, onMove} = props;\r\n const item = monitor.getItem();\r\n if (item.columnIndex !== columnIndex || item.rowIndex !== rowIndex) {\r\n const movedLayout = moveWidget(layout, {\r\n rowIndex: item.rowIndex,\r\n columnIndex: item.columnIndex,\r\n widgetIndex: item.widgetIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n }, item.widgetName);\r\n onMove(movedLayout);\r\n }\r\n },\r\n};\r\n\r\n/**\r\n * Colum of the dashboard grid. A column holds multiple widgets.\r\n */\r\n@DropTarget(WIDGET, columnTarget, (connect, monitor) => ({\r\n connectDropTarget: connect.dropTarget(),\r\n isOver: monitor.isOver(),\r\n canDrop: monitor.canDrop(),\r\n}))\r\nclass Column extends Component {\r\n render() {\r\n const {\r\n className,\r\n layout,\r\n rowIndex,\r\n columnIndex,\r\n editable,\r\n children,\r\n connectDropTarget,\r\n onAdd,\r\n isOver,\r\n canDrop,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = this.props;\r\n\r\n let classes = className;\r\n classes = editable ? `${className} ${editableColumnClass}` : classes;\r\n const isActive = isOver && canDrop;\r\n classes = isActive ? `${classes} ${droppableColumnClass}` : classes;\r\n\r\n let addWidgetComponentToUse = null;\r\n if (addWidgetComponent) {\r\n addWidgetComponentToUse = createElement(addWidgetComponent, {\ttext: addWidgetComponentText, onClick:\t() => {onAdd(layout, rowIndex, columnIndex);} });\r\n } else {\r\n addWidgetComponentToUse = {onAdd(layout, rowIndex, columnIndex);}}/>;\r\n }\r\n\r\n return (\r\n connectDropTarget(\r\n
\r\n {editable && addWidgetComponentToUse}\r\n { children }\r\n
\r\n )\r\n );\r\n }\r\n}\r\n\r\nColumn.propTypes = {\r\n /**\r\n * Children of the column\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * CSS class that should be used with the column.\r\n */\r\n className: PropTypes.string,\r\n\r\n /**\r\n * Function that should be called when user tries to add a widget\r\n * to the column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row that this column resides.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of this column.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather dashboard is in editable state\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Indicates weather a widget is being draged over.\r\n */\r\n isOver: PropTypes.bool,\r\n\r\n /**\r\n * Indicated a widget can be dropped.\r\n */\r\n canDrop: PropTypes.bool,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be given to the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * ReactDnd's connectDropTarget.\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n};\r\n\r\nColumn.defaultProps = {\r\n editableColumnClass: 'editable-column',\r\n droppableColumnClass: 'droppable-column',\r\n};\r\n\r\nexport default Column;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/Column.js","import React, { Component, PropTypes } from 'react';\r\nimport { DragDropContext } from 'react-dnd';\r\nimport HTML5Backend from 'react-dnd-html5-backend';\r\nimport LayoutRenderer from './LayoutRenderer';\r\n\r\n/**\r\n * Main dashboard component. This is where all of this starts.\r\n */\r\n @DragDropContext(HTML5Backend)\r\nclass Dashboard extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nDashboard.PropTypes = {\r\n /**\r\n * The layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * List of widgets that are avilable in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather the dashoard is in editable state or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * CSS class name that should be provided to the row. Default is 'row'.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Customized widget frame. The dashboard supports a default frame. But if\r\n * it doesn't suit your needs or the look and feel is not what you wanted, you\r\n * could create your own widget frame and pass it through here. Ever widget Will\r\n * use this as the outer container which displays controls like 'remove' button\r\n * on edit mode.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * A custom component for the `add widget` button.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Will be called when a widget removed by the user from the dashboard.\r\n * Should be handled if the dashbord supports edit functionality.\r\n * provides the updated layout object. This layout object with the removed widget\r\n * should be given back to the dashboard through the layout prop to re-render the dashboard.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Will be called when user tries to add a widget into a column.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Dashboard;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/Dashboard.js","import React, { PropTypes } from 'react';\r\n\r\n/**\r\n * Default frame that will be used with the widgets.\r\n */\r\nconst DefaultFrame = ({children, onRemove, editable, title}) => {\r\n return (\r\n
\r\n
\r\n {title}\r\n {editable && {onRemove();}}>Remove}\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nDefaultFrame.propTypes = {\r\n /**\r\n * Indicates weather the dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Children of the frame.\r\n */\r\n children: PropTypes.node,\r\n\r\n /**\r\n * Function to call when the widget is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Title of the widget\r\n */\r\n title: PropTypes.string,\r\n};\r\n\r\nexport default DefaultFrame;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/DefaultFrame.js","import React, { PropTypes } from 'react';\r\nimport Row from './Row';\r\n\r\n/**\r\n * Renders the row, column layout based on the layout provided to the dashboard.\r\n */\r\nconst LayoutRenderer = (props) => {\r\n const {\r\n layout,\r\n widgets,\r\n onRemove,\r\n editable,\r\n onAdd,\r\n frameComponent,\r\n rowClass,\r\n onMove,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n } = props;\r\n\r\n let rows = layout.rows.map((row, rowIndex) => {\r\n return (\r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {rows}\r\n
\r\n );\r\n};\r\n\r\nLayoutRenderer.propTypes = {\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Widgets that the dashboard supports.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Indicates weather this dashboard is in editable mode.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Function that will be called when user removed a widget.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Function that will be called user tries to add a widget.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Frame that should be used as the outer cotnainer of the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class name that should be provided to the row component.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Function to be called when a widget is moved by the user.\r\n */\r\n onMove: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Customized AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displayed in the `AddWidget` component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n};\r\n\r\nLayoutRenderer.defaultProps = {\r\n /**\r\n * Default layout.\r\n */\r\n layout: {\r\n rows: [],\r\n },\r\n};\r\n\r\nexport default LayoutRenderer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/LayoutRenderer.js","import React, { PropTypes } from 'react';\r\nimport Column from './Column';\r\nimport Widgets from './Widgets';\r\n\r\n/**\r\n * Returns a set of columns that belongs to a row.\r\n */\r\nfunction Row(props) {\r\n const {\r\n rowClass,\r\n columns,\r\n widgets,\r\n onRemove,\r\n layout,\r\n rowIndex,\r\n editable,\r\n frameComponent,\r\n editableColumnClass,\r\n droppableColumnClass,\r\n addWidgetComponentText,\r\n addWidgetComponent,\r\n onAdd,\r\n onMove,\r\n } = props;\r\n\r\n const items = columns.map((column, index) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return (\r\n
\r\n {items}\r\n
\r\n );\r\n}\r\n\r\nRow.propTypes = {\r\n /**\r\n * CSS class that should be used to represent a row.\r\n */\r\n rowClass: PropTypes.string,\r\n\r\n /**\r\n * Columns of the layout.\r\n */\r\n columns: PropTypes.array,\r\n\r\n /**\r\n * Widgets that should be used in the dashboard.\r\n */\r\n widgets: PropTypes.object,\r\n\r\n /**\r\n * Layout of the dashboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the row where this column is in.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weather the dashboard is in editable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * Custom frame that should be used with the widget.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Class to be used for columns in editable mode.\r\n */\r\n editableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * CSS class to be used for columns when a widget is droppable.\r\n */\r\n droppableColumnClass: PropTypes.string,\r\n\r\n /**\r\n * Custom AddWidget component.\r\n */\r\n addWidgetComponent: PropTypes.func,\r\n\r\n /**\r\n * Text that should be displyed in the AddWidget component.\r\n */\r\n addWidgetComponentText: PropTypes.string,\r\n\r\n /**\r\n * Method that should be called when a component is added.\r\n */\r\n onAdd: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a component is removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Method that should be called when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nRow.defaultProps = {\r\n /**\r\n * Most CSS grid systems uses 'row' as the class name. Or not ?\r\n */\r\n rowClass: 'row',\r\n};\r\n\r\nexport default Row;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/Row.js","import React, { Component, PropTypes, createElement } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport { DragSource, DropTarget } from 'react-dnd';\r\nimport { WIDGET } from './ItemTypes';\r\nimport { removeWidget, sortWidget } from '../util';\r\nimport DefaultFrame from './DefaultFrame';\r\n\r\nconst boxSource = {\r\n beginDrag(props) {\r\n return {\r\n widgetName: props.widgetName,\r\n rowIndex: props.rowIndex,\r\n columnIndex: props.columnIndex,\r\n widgetIndex: props.widgetIndex,\r\n };\r\n },\r\n\r\n canDrag(props) {\r\n return props.editable;\r\n },\r\n};\r\n\r\nconst cardTarget = {\r\n hover(props, monitor, component) {\r\n const dragIndex = monitor.getItem().widgetIndex;\r\n const hoverIndex = props.widgetIndex;\r\n\r\n // Don't replace items with themselves\r\n if (dragIndex === hoverIndex) {\r\n return;\r\n }\r\n\r\n // Determine rectangle on screen\r\n const hoverBoundingRect = findDOMNode(component).getBoundingClientRect();\r\n\r\n // Get vertical middle\r\n const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\r\n\r\n // Determine mouse position\r\n const clientOffset = monitor.getClientOffset();\r\n\r\n // Get pixels to the top\r\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\r\n\r\n // Only perform the move when the mouse has crossed half of the items height\r\n // When dragging downwards, only move when the cursor is below 50%\r\n // When dragging upwards, only move when the cursor is above 50%\r\n\r\n // Dragging downwards\r\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Dragging upwards\r\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\r\n return;\r\n }\r\n\r\n // Time to actually perform the action\r\n const { layout, columnIndex, rowIndex } = props;\r\n\r\n if (monitor.getItem().columnIndex === columnIndex) {\r\n const newLayout = sortWidget(layout, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: dragIndex,\r\n }, {\r\n rowIndex: rowIndex,\r\n columnIndex: columnIndex,\r\n widgetIndex: hoverIndex,\r\n }, monitor.getItem().widgetName);\r\n\r\n props.onMove(newLayout);\r\n\r\n // Note: we're mutating the monitor item here!\r\n // Generally it's better to avoid mutations,\r\n // but it's good here for the sake of performance\r\n // to avoid expensive index searches.\r\n monitor.getItem().widgetIndex = hoverIndex;\r\n }\r\n },\r\n};\r\n\r\n/**\r\n * Frame component which surrounds each widget.\r\n */\r\n @DropTarget(WIDGET, cardTarget, connect => ({\r\n connectDropTarget: connect.dropTarget(),\r\n }))\r\n @DragSource(WIDGET, boxSource, (connect, monitor) => ({\r\n connectDragSource: connect.dragSource(),\r\n isDragging: monitor.isDragging(),\r\n }))\r\nclass WidgetFrame extends Component {\r\n render() {\r\n const {\r\n frameComponent,\r\n children,\r\n editable,\r\n title,\r\n connectDragSource,\r\n connectDropTarget,\r\n isDragging,\r\n } = this.props;\r\n\r\n let selected = null;\r\n\r\n if (frameComponent) {\r\n // if user provided a custom frame, use it\r\n selected = createElement(frameComponent, {\tchildren,\teditable, title, onRemove: this.remove });\r\n } else {\r\n // else use the default frame\r\n selected = (\r\n \r\n );\r\n }\r\n const opacity = isDragging ? 0 : 1;\r\n return connectDragSource(connectDropTarget(\r\n
\r\n {selected}\r\n
\r\n ));\r\n }\r\n\r\n remove = () => {\r\n const { layout, rowIndex, columnIndex, widgetIndex } = this.props;\r\n const newLayout = removeWidget(layout, rowIndex, columnIndex, widgetIndex);\r\n this.props.onRemove(newLayout);\r\n }\r\n}\r\n\r\nWidgetFrame.propTypes = {\r\n /**\r\n * Childrens of the widget frame.\r\n */\r\n children: PropTypes.element,\r\n\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the widget.\r\n */\r\n widgetIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Name of the widget.\r\n */\r\n widgetName: PropTypes.string,\r\n\r\n /**\r\n * Title of the widget.\r\n */\r\n title: PropTypes.string,\r\n\r\n /**\r\n * Weather the component is being dragged.\r\n */\r\n isDragging: PropTypes.bool,\r\n\r\n /**\r\n * ReactDnd's connectDragSource().\r\n */\r\n connectDragSource: PropTypes.func,\r\n\r\n/**\r\n * ReactDnd's connectDropTarget().\r\n */\r\n connectDropTarget: PropTypes.func,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n};\r\n\r\nexport default WidgetFrame;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/WidgetFrame.js","import React, { PropTypes, createElement } from 'react';\r\nimport WidgetFrame from './WidgetFrame';\r\n\r\n/**\r\n * Component that renders the widget which belongs to a column.\r\n */\r\nconst Widgets = ({widgets, widgetTypes, onRemove, layout, columnIndex, rowIndex, editable, frameComponent, onMove}) => {\r\n let createdWidgets = widgets.map((widget, index)=> {\r\n return (\r\n \r\n {\r\n createElement(widgetTypes[widget.key].type, widgetTypes[widget.key].props)\r\n }\r\n \r\n );\r\n });\r\n return
{createdWidgets}
;\r\n};\r\n\r\nWidgets.propTypes = {\r\n /**\r\n * Widgets that should be rendered.\r\n */\r\n widgets: PropTypes.array,\r\n\r\n /**\r\n * Widgets that are available in the dashboard.\r\n */\r\n widgetTypes: PropTypes.object,\r\n\r\n /**\r\n * Function that should be called when a widget is about to be removed.\r\n */\r\n onRemove: PropTypes.func,\r\n\r\n /**\r\n * Layout of the dahsboard.\r\n */\r\n layout: PropTypes.object,\r\n\r\n /**\r\n * Index of the column these widgets should be placed.\r\n */\r\n columnIndex: PropTypes.number,\r\n\r\n /**\r\n * Index of the row these widgets should be placed.\r\n */\r\n rowIndex: PropTypes.number,\r\n\r\n /**\r\n * Indicates weatehr dashboard is in ediable mode or not.\r\n */\r\n editable: PropTypes.bool,\r\n\r\n /**\r\n * User provided widget frame that should be used instead of the default one.\r\n */\r\n frameComponent: PropTypes.func,\r\n\r\n /**\r\n * Method to call when a widget is moved.\r\n */\r\n onMove: PropTypes.func,\r\n};\r\n\r\nexport default Widgets;\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/components/Widgets.js","export { default as default } from './components/Dashboard';\r\nexport { addWidget } from './util';\r\n\n\n\n// WEBPACK FOOTER //\n// ./lib/index.js","\"use strict\";\n\n// rawAsap provides everything we need except exception management.\nvar rawAsap = require(\"./raw\");\n// RawTasks are recycled to reduce GC churn.\nvar freeTasks = [];\n// We queue errors to ensure they are thrown in right order (FIFO).\n// Array-as-queue is good enough here, since we are just dealing with exceptions.\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n}\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawAsap(rawTask);\n}\n\n// We wrap tasks with recyclable task objects. A task object implements\n// `call`, just like a function.\nfunction RawTask() {\n this.task = null;\n}\n\n// The sole purpose of wrapping the task is to catch the exception and recycle\n// the task object after its single use.\nRawTask.prototype.call = function () {\n try {\n this.task.call();\n } catch (error) {\n if (asap.onerror) {\n // This hook exists purely for testing purposes.\n // Its name will be periodically randomized to break any code that\n // depends on its existence.\n asap.onerror(error);\n } else {\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n pendingErrors.push(error);\n requestErrorThrow();\n }\n } finally {\n this.task = null;\n freeTasks[freeTasks.length] = this;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/asap/browser-asap.js\n// module id = 69\n// module chunks = 0","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/asap/browser-raw.js\n// module id = 70\n// module chunks = 0","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\n/**\n * Represents a group of disposable resources that are disposed together.\n */\n\nvar CompositeDisposable = (function () {\n function CompositeDisposable() {\n for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n disposables[_key] = arguments[_key];\n }\n\n _classCallCheck(this, CompositeDisposable);\n\n if (Array.isArray(disposables[0]) && disposables.length === 1) {\n disposables = disposables[0];\n }\n\n for (var i = 0; i < disposables.length; i++) {\n if (!_isDisposable2['default'](disposables[i])) {\n throw new Error('Expected a disposable');\n }\n }\n\n this.disposables = disposables;\n this.isDisposed = false;\n }\n\n /**\n * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n * @param {Disposable} item Disposable to add.\n */\n\n CompositeDisposable.prototype.add = function add(item) {\n if (this.isDisposed) {\n item.dispose();\n } else {\n this.disposables.push(item);\n }\n };\n\n /**\n * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n * @param {Disposable} item Disposable to remove.\n * @returns {Boolean} true if found; false otherwise.\n */\n\n CompositeDisposable.prototype.remove = function remove(item) {\n if (this.isDisposed) {\n return false;\n }\n\n var index = this.disposables.indexOf(item);\n if (index === -1) {\n return false;\n }\n\n this.disposables.splice(index, 1);\n item.dispose();\n return true;\n };\n\n /**\n * Disposes all disposables in the group and removes them from the group.\n */\n\n CompositeDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n var len = this.disposables.length;\n var currentDisposables = new Array(len);\n for (var i = 0; i < len; i++) {\n currentDisposables[i] = this.disposables[i];\n }\n\n this.isDisposed = true;\n this.disposables = [];\n this.length = 0;\n\n for (var i = 0; i < len; i++) {\n currentDisposables[i].dispose();\n }\n };\n\n return CompositeDisposable;\n})();\n\nexports['default'] = CompositeDisposable;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/disposables/modules/CompositeDisposable.js\n// module id = 71\n// module chunks = 0","\"use strict\";\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports.__esModule = true;\nvar noop = function noop() {};\n\n/**\n * The basic disposable.\n */\n\nvar Disposable = (function () {\n function Disposable(action) {\n _classCallCheck(this, Disposable);\n\n this.isDisposed = false;\n this.action = action || noop;\n }\n\n Disposable.prototype.dispose = function dispose() {\n if (!this.isDisposed) {\n this.action.call(null);\n this.isDisposed = true;\n }\n };\n\n _createClass(Disposable, null, [{\n key: \"empty\",\n enumerable: true,\n value: { dispose: noop }\n }]);\n\n return Disposable;\n})();\n\nexports[\"default\"] = Disposable;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/disposables/modules/Disposable.js\n// module id = 72\n// module chunks = 0","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nvar _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } };\n\nexports.__esModule = true;\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireWildcard(_isDisposable);\n\nvar SerialDisposable = (function () {\n function SerialDisposable() {\n _classCallCheck(this, SerialDisposable);\n\n this.isDisposed = false;\n this.current = null;\n }\n\n /**\n * Gets the underlying disposable.\n * @return The underlying disposable.\n */\n\n SerialDisposable.prototype.getDisposable = function getDisposable() {\n return this.current;\n };\n\n /**\n * Sets the underlying disposable.\n * @param {Disposable} value The new underlying disposable.\n */\n\n SerialDisposable.prototype.setDisposable = function setDisposable() {\n var value = arguments[0] === undefined ? null : arguments[0];\n\n if (value != null && !_isDisposable2['default'](value)) {\n throw new Error('Expected either an empty value or a valid disposable');\n }\n\n var isDisposed = this.isDisposed;\n var previous = undefined;\n\n if (!isDisposed) {\n previous = this.current;\n this.current = value;\n }\n\n if (previous) {\n previous.dispose();\n }\n\n if (isDisposed && value) {\n value.dispose();\n }\n };\n\n /**\n * Disposes the underlying disposable as well as all future replacements.\n */\n\n SerialDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n this.isDisposed = true;\n var previous = this.current;\n this.current = null;\n\n if (previous) {\n previous.dispose();\n }\n };\n\n return SerialDisposable;\n})();\n\nexports['default'] = SerialDisposable;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/disposables/modules/SerialDisposable.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nexports.__esModule = true;\n\nvar _isDisposable2 = require('./isDisposable');\n\nvar _isDisposable3 = _interopRequireWildcard(_isDisposable2);\n\nexports.isDisposable = _isDisposable3['default'];\n\nvar _Disposable2 = require('./Disposable');\n\nvar _Disposable3 = _interopRequireWildcard(_Disposable2);\n\nexports.Disposable = _Disposable3['default'];\n\nvar _CompositeDisposable2 = require('./CompositeDisposable');\n\nvar _CompositeDisposable3 = _interopRequireWildcard(_CompositeDisposable2);\n\nexports.CompositeDisposable = _CompositeDisposable3['default'];\n\nvar _SerialDisposable2 = require('./SerialDisposable');\n\nvar _SerialDisposable3 = _interopRequireWildcard(_SerialDisposable2);\n\nexports.SerialDisposable = _SerialDisposable3['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/disposables/modules/index.js\n// module id = 74\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _reduxLibCreateStore = require('redux/lib/createStore');\n\nvar _reduxLibCreateStore2 = _interopRequireDefault(_reduxLibCreateStore);\n\nvar _reducers = require('./reducers');\n\nvar _reducers2 = _interopRequireDefault(_reducers);\n\nvar _actionsDragDrop = require('./actions/dragDrop');\n\nvar dragDropActions = _interopRequireWildcard(_actionsDragDrop);\n\nvar _DragDropMonitor = require('./DragDropMonitor');\n\nvar _DragDropMonitor2 = _interopRequireDefault(_DragDropMonitor);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar DragDropManager = (function () {\n function DragDropManager(createBackend) {\n _classCallCheck(this, DragDropManager);\n\n var store = _reduxLibCreateStore2['default'](_reducers2['default']);\n\n this.store = store;\n this.monitor = new _DragDropMonitor2['default'](store);\n this.registry = this.monitor.registry;\n this.backend = createBackend(this);\n\n store.subscribe(this.handleRefCountChange.bind(this));\n }\n\n DragDropManager.prototype.handleRefCountChange = function handleRefCountChange() {\n var shouldSetUp = this.store.getState().refCount > 0;\n if (shouldSetUp && !this.isSetUp) {\n this.backend.setup();\n this.isSetUp = true;\n } else if (!shouldSetUp && this.isSetUp) {\n this.backend.teardown();\n this.isSetUp = false;\n }\n };\n\n DragDropManager.prototype.getMonitor = function getMonitor() {\n return this.monitor;\n };\n\n DragDropManager.prototype.getBackend = function getBackend() {\n return this.backend;\n };\n\n DragDropManager.prototype.getRegistry = function getRegistry() {\n return this.registry;\n };\n\n DragDropManager.prototype.getActions = function getActions() {\n var manager = this;\n var dispatch = this.store.dispatch;\n\n function bindActionCreator(actionCreator) {\n return function () {\n var action = actionCreator.apply(manager, arguments);\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n return Object.keys(dragDropActions).filter(function (key) {\n return typeof dragDropActions[key] === 'function';\n }).reduce(function (boundActions, key) {\n boundActions[key] = bindActionCreator(dragDropActions[key]);\n return boundActions;\n }, {});\n };\n\n return DragDropManager;\n})();\n\nexports['default'] = DragDropManager;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/DragDropManager.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsMatchesType = require('./utils/matchesType');\n\nvar _utilsMatchesType2 = _interopRequireDefault(_utilsMatchesType);\n\nvar _lodashIsArray = require('lodash/isArray');\n\nvar _lodashIsArray2 = _interopRequireDefault(_lodashIsArray);\n\nvar _HandlerRegistry = require('./HandlerRegistry');\n\nvar _HandlerRegistry2 = _interopRequireDefault(_HandlerRegistry);\n\nvar _reducersDragOffset = require('./reducers/dragOffset');\n\nvar _reducersDirtyHandlerIds = require('./reducers/dirtyHandlerIds');\n\nvar DragDropMonitor = (function () {\n function DragDropMonitor(store) {\n _classCallCheck(this, DragDropMonitor);\n\n this.store = store;\n this.registry = new _HandlerRegistry2['default'](store);\n }\n\n DragDropMonitor.prototype.subscribeToStateChange = function subscribeToStateChange(listener) {\n var _this = this;\n\n var _ref = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var handlerIds = _ref.handlerIds;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n _invariant2['default'](typeof handlerIds === 'undefined' || _lodashIsArray2['default'](handlerIds), 'handlerIds, when specified, must be an array of strings.');\n\n var prevStateId = this.store.getState().stateId;\n var handleChange = function handleChange() {\n var state = _this.store.getState();\n var currentStateId = state.stateId;\n try {\n var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !_reducersDirtyHandlerIds.areDirty(state.dirtyHandlerIds, handlerIds);\n\n if (!canSkipListener) {\n listener();\n }\n } finally {\n prevStateId = currentStateId;\n }\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.subscribeToOffsetChange = function subscribeToOffsetChange(listener) {\n var _this2 = this;\n\n _invariant2['default'](typeof listener === 'function', 'listener must be a function.');\n\n var previousState = this.store.getState().dragOffset;\n var handleChange = function handleChange() {\n var nextState = _this2.store.getState().dragOffset;\n if (nextState === previousState) {\n return;\n }\n\n previousState = nextState;\n listener();\n };\n\n return this.store.subscribe(handleChange);\n };\n\n DragDropMonitor.prototype.canDragSource = function canDragSource(sourceId) {\n var source = this.registry.getSource(sourceId);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (this.isDragging()) {\n return false;\n }\n\n return source.canDrag(this, sourceId);\n };\n\n DragDropMonitor.prototype.canDropOnTarget = function canDropOnTarget(targetId) {\n var target = this.registry.getTarget(targetId);\n _invariant2['default'](target, 'Expected to find a valid target.');\n\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n return _utilsMatchesType2['default'](targetType, draggedItemType) && target.canDrop(this, targetId);\n };\n\n DragDropMonitor.prototype.isDragging = function isDragging() {\n return Boolean(this.getItemType());\n };\n\n DragDropMonitor.prototype.isDraggingSource = function isDraggingSource(sourceId) {\n var source = this.registry.getSource(sourceId, true);\n _invariant2['default'](source, 'Expected to find a valid source.');\n\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n\n var sourceType = this.registry.getSourceType(sourceId);\n var draggedItemType = this.getItemType();\n if (sourceType !== draggedItemType) {\n return false;\n }\n\n return source.isDragging(this, sourceId);\n };\n\n DragDropMonitor.prototype.isOverTarget = function isOverTarget(targetId) {\n var _ref2 = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var _ref2$shallow = _ref2.shallow;\n var shallow = _ref2$shallow === undefined ? false : _ref2$shallow;\n\n if (!this.isDragging()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n if (!_utilsMatchesType2['default'](targetType, draggedItemType)) {\n return false;\n }\n\n var targetIds = this.getTargetIds();\n if (!targetIds.length) {\n return false;\n }\n\n var index = targetIds.indexOf(targetId);\n if (shallow) {\n return index === targetIds.length - 1;\n } else {\n return index > -1;\n }\n };\n\n DragDropMonitor.prototype.getItemType = function getItemType() {\n return this.store.getState().dragOperation.itemType;\n };\n\n DragDropMonitor.prototype.getItem = function getItem() {\n return this.store.getState().dragOperation.item;\n };\n\n DragDropMonitor.prototype.getSourceId = function getSourceId() {\n return this.store.getState().dragOperation.sourceId;\n };\n\n DragDropMonitor.prototype.getTargetIds = function getTargetIds() {\n return this.store.getState().dragOperation.targetIds;\n };\n\n DragDropMonitor.prototype.getDropResult = function getDropResult() {\n return this.store.getState().dragOperation.dropResult;\n };\n\n DragDropMonitor.prototype.didDrop = function didDrop() {\n return this.store.getState().dragOperation.didDrop;\n };\n\n DragDropMonitor.prototype.isSourcePublic = function isSourcePublic() {\n return this.store.getState().dragOperation.isSourcePublic;\n };\n\n DragDropMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.store.getState().dragOffset.initialClientOffset;\n };\n\n DragDropMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n };\n\n DragDropMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.store.getState().dragOffset.clientOffset;\n };\n\n DragDropMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return _reducersDragOffset.getSourceClientOffset(this.store.getState().dragOffset);\n };\n\n DragDropMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return _reducersDragOffset.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n };\n\n return DragDropMonitor;\n})();\n\nexports['default'] = DragDropMonitor;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/DragDropMonitor.js\n// module id = 76\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DragSource = (function () {\n function DragSource() {\n _classCallCheck(this, DragSource);\n }\n\n DragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n DragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n DragSource.prototype.endDrag = function endDrag() {};\n\n return DragSource;\n})();\n\nexports[\"default\"] = DragSource;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/DragSource.js\n// module id = 77\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar DropTarget = (function () {\n function DropTarget() {\n _classCallCheck(this, DropTarget);\n }\n\n DropTarget.prototype.canDrop = function canDrop() {\n return true;\n };\n\n DropTarget.prototype.hover = function hover() {};\n\n DropTarget.prototype.drop = function drop() {};\n\n return DropTarget;\n})();\n\nexports[\"default\"] = DropTarget;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/DropTarget.js\n// module id = 78\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createBackend;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashNoop = require('lodash/noop');\n\nvar _lodashNoop2 = _interopRequireDefault(_lodashNoop);\n\nvar TestBackend = (function () {\n function TestBackend(manager) {\n _classCallCheck(this, TestBackend);\n\n this.actions = manager.getActions();\n }\n\n TestBackend.prototype.setup = function setup() {\n this.didCallSetup = true;\n };\n\n TestBackend.prototype.teardown = function teardown() {\n this.didCallTeardown = true;\n };\n\n TestBackend.prototype.connectDragSource = function connectDragSource() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDragPreview = function connectDragPreview() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.connectDropTarget = function connectDropTarget() {\n return _lodashNoop2['default'];\n };\n\n TestBackend.prototype.simulateBeginDrag = function simulateBeginDrag(sourceIds, options) {\n this.actions.beginDrag(sourceIds, options);\n };\n\n TestBackend.prototype.simulatePublishDragSource = function simulatePublishDragSource() {\n this.actions.publishDragSource();\n };\n\n TestBackend.prototype.simulateHover = function simulateHover(targetIds, options) {\n this.actions.hover(targetIds, options);\n };\n\n TestBackend.prototype.simulateDrop = function simulateDrop() {\n this.actions.drop();\n };\n\n TestBackend.prototype.simulateEndDrag = function simulateEndDrag() {\n this.actions.endDrag();\n };\n\n return TestBackend;\n})();\n\nfunction createBackend(manager) {\n return new TestBackend(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/backends/createTestBackend.js\n// module id = 79\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _DragDropManager = require('./DragDropManager');\n\nexports.DragDropManager = _interopRequire(_DragDropManager);\n\nvar _DragSource = require('./DragSource');\n\nexports.DragSource = _interopRequire(_DragSource);\n\nvar _DropTarget = require('./DropTarget');\n\nexports.DropTarget = _interopRequire(_DropTarget);\n\nvar _backendsCreateTestBackend = require('./backends/createTestBackend');\n\nexports.createTestBackend = _interopRequire(_backendsCreateTestBackend);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/index.js\n// module id = 80\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = dragOperation;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _actionsDragDrop = require('../actions/dragDrop');\n\nvar _actionsRegistry = require('../actions/registry');\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null\n};\n\nfunction dragOperation(state, action) {\n if (state === undefined) state = initialState;\n\n switch (action.type) {\n case _actionsDragDrop.BEGIN_DRAG:\n return _extends({}, state, {\n itemType: action.itemType,\n item: action.item,\n sourceId: action.sourceId,\n isSourcePublic: action.isSourcePublic,\n dropResult: null,\n didDrop: false\n });\n case _actionsDragDrop.PUBLISH_DRAG_SOURCE:\n return _extends({}, state, {\n isSourcePublic: true\n });\n case _actionsDragDrop.HOVER:\n return _extends({}, state, {\n targetIds: action.targetIds\n });\n case _actionsRegistry.REMOVE_TARGET:\n if (state.targetIds.indexOf(action.targetId) === -1) {\n return state;\n }\n return _extends({}, state, {\n targetIds: _lodashWithout2['default'](state.targetIds, action.targetId)\n });\n case _actionsDragDrop.DROP:\n return _extends({}, state, {\n dropResult: action.dropResult,\n didDrop: true,\n targetIds: []\n });\n case _actionsDragDrop.END_DRAG:\n return _extends({}, state, {\n itemType: null,\n item: null,\n sourceId: null,\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n targetIds: []\n });\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/reducers/dragOperation.js\n// module id = 81\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _dragOffset = require('./dragOffset');\n\nvar _dragOffset2 = _interopRequireDefault(_dragOffset);\n\nvar _dragOperation = require('./dragOperation');\n\nvar _dragOperation2 = _interopRequireDefault(_dragOperation);\n\nvar _refCount = require('./refCount');\n\nvar _refCount2 = _interopRequireDefault(_refCount);\n\nvar _dirtyHandlerIds = require('./dirtyHandlerIds');\n\nvar _dirtyHandlerIds2 = _interopRequireDefault(_dirtyHandlerIds);\n\nvar _stateId = require('./stateId');\n\nvar _stateId2 = _interopRequireDefault(_stateId);\n\nexports['default'] = function (state, action) {\n if (state === undefined) state = {};\n\n return {\n dirtyHandlerIds: _dirtyHandlerIds2['default'](state.dirtyHandlerIds, action, state.dragOperation),\n dragOffset: _dragOffset2['default'](state.dragOffset, action),\n refCount: _refCount2['default'](state.refCount, action),\n dragOperation: _dragOperation2['default'](state.dragOperation, action),\n stateId: _stateId2['default'](state.stateId)\n };\n};\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/reducers/index.js\n// module id = 82\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = refCount;\n\nvar _actionsRegistry = require('../actions/registry');\n\nfunction refCount(state, action) {\n if (state === undefined) state = 0;\n\n switch (action.type) {\n case _actionsRegistry.ADD_SOURCE:\n case _actionsRegistry.ADD_TARGET:\n return state + 1;\n case _actionsRegistry.REMOVE_SOURCE:\n case _actionsRegistry.REMOVE_TARGET:\n return state - 1;\n default:\n return state;\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/reducers/refCount.js\n// module id = 83\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stateId;\n\nfunction stateId() {\n var state = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];\n\n return state + 1;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/reducers/stateId.js\n// module id = 84\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = getNextUniqueId;\nvar nextUniqueId = 0;\n\nfunction getNextUniqueId() {\n return nextUniqueId++;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dnd-core/lib/utils/getNextUniqueId.js\n// module id = 85\n// module chunks = 0","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule invariant\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 86\n// module chunks = 0","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule keyOf\n */\n\n/**\n * Allows extraction of a minified key. Let's the build system minify keys\n * without losing the ability to dynamically use key strings as values\n * themselves. Pass in an object with a single key/val pair and it will return\n * you the string key of that single record. Suppose you want to grab the\n * value for a key 'className' inside of an object. Key/val minification may\n * have aliased that key to be 'xa12'. keyOf({className: null}) will return\n * 'xa12' in that case. Resolve keys you want to use once at startup time, then\n * reuse those resolutions.\n */\n\"use strict\";\n\nvar keyOf = function (oneKeyObj) {\n var key;\n for (key in oneKeyObj) {\n if (!oneKeyObj.hasOwnProperty(key)) {\n continue;\n }\n return key;\n }\n return null;\n};\n\nmodule.exports = keyOf;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/keyOf.js\n// module id = 87\n// module chunks = 0","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_Hash.js\n// module id = 88\n// module chunks = 0","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_ListCache.js\n// module id = 89\n// module chunks = 0","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_Map.js\n// module id = 90\n// module chunks = 0","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_Set.js\n// module id = 91\n// module chunks = 0","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_arrayFilter.js\n// module id = 92\n// module chunks = 0","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_arrayLikeKeys.js\n// module id = 93\n// module chunks = 0","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_arrayPush.js\n// module id = 94\n// module chunks = 0","var eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used by `_.defaults` to customize its `_.assignIn` use.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction assignInDefaults(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\nmodule.exports = assignInDefaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_assignInDefaults.js\n// module id = 95\n// module chunks = 0","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_assignValue.js\n// module id = 96\n// module chunks = 0","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseFindIndex.js\n// module id = 97\n// module chunks = 0","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseIndexOf.js\n// module id = 98\n// module chunks = 0","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseIntersection;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseIntersection.js\n// module id = 99\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseIsArguments.js\n// module id = 100\n// module chunks = 0","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseIsNaN.js\n// module id = 101\n// module chunks = 0","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseIsNative.js\n// module id = 102\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseIsTypedArray.js\n// module id = 103\n// module chunks = 0","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseKeysIn.js\n// module id = 104\n// module chunks = 0","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseSetToString.js\n// module id = 105\n// module chunks = 0","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseTimes.js\n// module id = 106\n// module chunks = 0","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseUniq = require('./_baseUniq');\n\n/**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\nfunction baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n}\n\nmodule.exports = baseXor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_baseXor.js\n// module id = 107\n// module chunks = 0","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nmodule.exports = castArrayLikeObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_castArrayLikeObject.js\n// module id = 108\n// module chunks = 0","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_copyObject.js\n// module id = 109\n// module chunks = 0","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_coreJsData.js\n// module id = 110\n// module chunks = 0","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_createAssigner.js\n// module id = 111\n// module chunks = 0","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_createSet.js\n// module id = 112\n// module chunks = 0","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_getPrototype.js\n// module id = 113\n// module chunks = 0","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_getRawTag.js\n// module id = 114\n// module chunks = 0","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_getValue.js\n// module id = 115\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_hashClear.js\n// module id = 116\n// module chunks = 0","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_hashDelete.js\n// module id = 117\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_hashGet.js\n// module id = 118\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_hashHas.js\n// module id = 119\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_hashSet.js\n// module id = 120\n// module chunks = 0","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_isFlattenable.js\n// module id = 121\n// module chunks = 0","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_isIterateeCall.js\n// module id = 122\n// module chunks = 0","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_isKeyable.js\n// module id = 123\n// module chunks = 0","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_isMasked.js\n// module id = 124\n// module chunks = 0","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_isPrototype.js\n// module id = 125\n// module chunks = 0","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_listCacheClear.js\n// module id = 126\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_listCacheDelete.js\n// module id = 127\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_listCacheGet.js\n// module id = 128\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_listCacheHas.js\n// module id = 129\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_listCacheSet.js\n// module id = 130\n// module chunks = 0","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_mapCacheClear.js\n// module id = 131\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_mapCacheDelete.js\n// module id = 132\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_mapCacheGet.js\n// module id = 133\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_mapCacheHas.js\n// module id = 134\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_mapCacheSet.js\n// module id = 135\n// module chunks = 0","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_nativeKeysIn.js\n// module id = 136\n// module chunks = 0","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_nodeUtil.js\n// module id = 137\n// module chunks = 0","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_objectToString.js\n// module id = 138\n// module chunks = 0","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_overArg.js\n// module id = 139\n// module chunks = 0","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_overRest.js\n// module id = 140\n// module chunks = 0","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_setCacheAdd.js\n// module id = 141\n// module chunks = 0","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_setCacheHas.js\n// module id = 142\n// module chunks = 0","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_setToString.js\n// module id = 143\n// module chunks = 0","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_shortOut.js\n// module id = 144\n// module chunks = 0","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_strictIndexOf.js\n// module id = 145\n// module chunks = 0","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/_toSource.js\n// module id = 146\n// module chunks = 0","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n});\n\nmodule.exports = assignInWith;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/assignInWith.js\n// module id = 147\n// module chunks = 0","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/constant.js\n// module id = 148\n// module chunks = 0","var apply = require('./_apply'),\n assignInDefaults = require('./_assignInDefaults'),\n assignInWith = require('./assignInWith'),\n baseRest = require('./_baseRest');\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(args) {\n args.push(undefined, assignInDefaults);\n return apply(assignInWith, undefined, args);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/defaults.js\n// module id = 149\n// module chunks = 0","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n baseRest = require('./_baseRest'),\n castArrayLikeObject = require('./_castArrayLikeObject');\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nmodule.exports = intersection;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/intersection.js\n// module id = 150\n// module chunks = 0","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isBuffer.js\n// module id = 151\n// module chunks = 0","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/isTypedArray.js\n// module id = 152\n// module chunks = 0","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/keysIn.js\n// module id = 153\n// module chunks = 0","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/memoize.js\n// module id = 154\n// module chunks = 0","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/stubFalse.js\n// module id = 155\n// module chunks = 0","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/union.js\n// module id = 156\n// module chunks = 0","var arrayFilter = require('./_arrayFilter'),\n baseRest = require('./_baseRest'),\n baseXor = require('./_baseXor'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\nvar xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n});\n\nmodule.exports = xor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash/xor.js\n// module id = 157\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashUnion = require('lodash/union');\n\nvar _lodashUnion2 = _interopRequireDefault(_lodashUnion);\n\nvar _lodashWithout = require('lodash/without');\n\nvar _lodashWithout2 = _interopRequireDefault(_lodashWithout);\n\nvar EnterLeaveCounter = (function () {\n function EnterLeaveCounter() {\n _classCallCheck(this, EnterLeaveCounter);\n\n this.entered = [];\n }\n\n EnterLeaveCounter.prototype.enter = function enter(enteringNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashUnion2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node) && (!node.contains || node.contains(enteringNode));\n }), [enteringNode]);\n\n return previousLength === 0 && this.entered.length > 0;\n };\n\n EnterLeaveCounter.prototype.leave = function leave(leavingNode) {\n var previousLength = this.entered.length;\n\n this.entered = _lodashWithout2['default'](this.entered.filter(function (node) {\n return document.documentElement.contains(node);\n }), leavingNode);\n\n return previousLength > 0 && this.entered.length === 0;\n };\n\n EnterLeaveCounter.prototype.reset = function reset() {\n this.entered = [];\n };\n\n return EnterLeaveCounter;\n})();\n\nexports['default'] = EnterLeaveCounter;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/EnterLeaveCounter.js\n// module id = 158\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _lodashDefaults = require('lodash/defaults');\n\nvar _lodashDefaults2 = _interopRequireDefault(_lodashDefaults);\n\nvar _shallowEqual = require('./shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _EnterLeaveCounter = require('./EnterLeaveCounter');\n\nvar _EnterLeaveCounter2 = _interopRequireDefault(_EnterLeaveCounter);\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _OffsetUtils = require('./OffsetUtils');\n\nvar _NativeDragSources = require('./NativeDragSources');\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nvar HTML5Backend = (function () {\n function HTML5Backend(manager) {\n _classCallCheck(this, HTML5Backend);\n\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.registry = manager.getRegistry();\n\n this.sourcePreviewNodes = {};\n this.sourcePreviewNodeOptions = {};\n this.sourceNodes = {};\n this.sourceNodeOptions = {};\n this.enterLeaveCounter = new _EnterLeaveCounter2['default']();\n\n this.getSourceClientOffset = this.getSourceClientOffset.bind(this);\n this.handleTopDragStart = this.handleTopDragStart.bind(this);\n this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this);\n this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this);\n this.handleTopDragEnter = this.handleTopDragEnter.bind(this);\n this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this);\n this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this);\n this.handleTopDragOver = this.handleTopDragOver.bind(this);\n this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this);\n this.handleTopDrop = this.handleTopDrop.bind(this);\n this.handleTopDropCapture = this.handleTopDropCapture.bind(this);\n this.handleSelectStart = this.handleSelectStart.bind(this);\n this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this);\n this.endDragNativeItem = this.endDragNativeItem.bind(this);\n }\n\n HTML5Backend.prototype.setup = function setup() {\n if (typeof window === 'undefined') {\n return;\n }\n\n if (this.constructor.isSetUp) {\n throw new Error('Cannot have two HTML5 backends at the same time.');\n }\n this.constructor.isSetUp = true;\n this.addEventListeners(window);\n };\n\n HTML5Backend.prototype.teardown = function teardown() {\n if (typeof window === 'undefined') {\n return;\n }\n\n this.constructor.isSetUp = false;\n this.removeEventListeners(window);\n this.clearCurrentDragSourceNode();\n };\n\n HTML5Backend.prototype.addEventListeners = function addEventListeners(target) {\n target.addEventListener('dragstart', this.handleTopDragStart);\n target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n target.addEventListener('dragenter', this.handleTopDragEnter);\n target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.addEventListener('dragover', this.handleTopDragOver);\n target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n target.addEventListener('drop', this.handleTopDrop);\n target.addEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.removeEventListeners = function removeEventListeners(target) {\n target.removeEventListener('dragstart', this.handleTopDragStart);\n target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n target.removeEventListener('dragenter', this.handleTopDragEnter);\n target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.removeEventListener('dragover', this.handleTopDragOver);\n target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n target.removeEventListener('drop', this.handleTopDrop);\n target.removeEventListener('drop', this.handleTopDropCapture, true);\n };\n\n HTML5Backend.prototype.connectDragPreview = function connectDragPreview(sourceId, node, options) {\n var _this = this;\n\n this.sourcePreviewNodeOptions[sourceId] = options;\n this.sourcePreviewNodes[sourceId] = node;\n\n return function () {\n delete _this.sourcePreviewNodes[sourceId];\n delete _this.sourcePreviewNodeOptions[sourceId];\n };\n };\n\n HTML5Backend.prototype.connectDragSource = function connectDragSource(sourceId, node, options) {\n var _this2 = this;\n\n this.sourceNodes[sourceId] = node;\n this.sourceNodeOptions[sourceId] = options;\n\n var handleDragStart = function handleDragStart(e) {\n return _this2.handleDragStart(e, sourceId);\n };\n var handleSelectStart = function handleSelectStart(e) {\n return _this2.handleSelectStart(e, sourceId);\n };\n\n node.setAttribute('draggable', true);\n node.addEventListener('dragstart', handleDragStart);\n node.addEventListener('selectstart', handleSelectStart);\n\n return function () {\n delete _this2.sourceNodes[sourceId];\n delete _this2.sourceNodeOptions[sourceId];\n\n node.removeEventListener('dragstart', handleDragStart);\n node.removeEventListener('selectstart', handleSelectStart);\n node.setAttribute('draggable', false);\n };\n };\n\n HTML5Backend.prototype.connectDropTarget = function connectDropTarget(targetId, node) {\n var _this3 = this;\n\n var handleDragEnter = function handleDragEnter(e) {\n return _this3.handleDragEnter(e, targetId);\n };\n var handleDragOver = function handleDragOver(e) {\n return _this3.handleDragOver(e, targetId);\n };\n var handleDrop = function handleDrop(e) {\n return _this3.handleDrop(e, targetId);\n };\n\n node.addEventListener('dragenter', handleDragEnter);\n node.addEventListener('dragover', handleDragOver);\n node.addEventListener('drop', handleDrop);\n\n return function () {\n node.removeEventListener('dragenter', handleDragEnter);\n node.removeEventListener('dragover', handleDragOver);\n node.removeEventListener('drop', handleDrop);\n };\n };\n\n HTML5Backend.prototype.getCurrentSourceNodeOptions = function getCurrentSourceNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourceNodeOptions || {}, {\n dropEffect: 'move'\n });\n };\n\n HTML5Backend.prototype.getCurrentDropEffect = function getCurrentDropEffect() {\n if (this.isDraggingNativeItem()) {\n // It makes more sense to default to 'copy' for native resources\n return 'copy';\n }\n\n return this.getCurrentSourceNodeOptions().dropEffect;\n };\n\n HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function getCurrentSourcePreviewNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n\n return _lodashDefaults2['default'](sourcePreviewNodeOptions || {}, {\n anchorX: 0.5,\n anchorY: 0.5,\n captureDraggingState: false\n });\n };\n\n HTML5Backend.prototype.getSourceClientOffset = function getSourceClientOffset(sourceId) {\n return _OffsetUtils.getNodeClientOffset(this.sourceNodes[sourceId]);\n };\n\n HTML5Backend.prototype.isDraggingNativeItem = function isDraggingNativeItem() {\n var itemType = this.monitor.getItemType();\n return Object.keys(NativeTypes).some(function (key) {\n return NativeTypes[key] === itemType;\n });\n };\n\n HTML5Backend.prototype.beginDragNativeItem = function beginDragNativeItem(type) {\n this.clearCurrentDragSourceNode();\n\n var SourceType = _NativeDragSources.createNativeDragSource(type);\n this.currentNativeSource = new SourceType();\n this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n this.actions.beginDrag([this.currentNativeHandle]);\n\n // On Firefox, if mousemove fires, the drag is over but browser failed to tell us.\n // This is not true for other browsers.\n if (_BrowserDetector.isFirefox()) {\n window.addEventListener('mousemove', this.endDragNativeItem, true);\n }\n };\n\n HTML5Backend.prototype.endDragNativeItem = function endDragNativeItem() {\n if (!this.isDraggingNativeItem()) {\n return;\n }\n\n if (_BrowserDetector.isFirefox()) {\n window.removeEventListener('mousemove', this.endDragNativeItem, true);\n }\n\n this.actions.endDrag();\n this.registry.removeSource(this.currentNativeHandle);\n this.currentNativeHandle = null;\n this.currentNativeSource = null;\n };\n\n HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function endDragIfSourceWasRemovedFromDOM() {\n var node = this.currentDragSourceNode;\n if (document.body.contains(node)) {\n return;\n }\n\n if (this.clearCurrentDragSourceNode()) {\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.setCurrentDragSourceNode = function setCurrentDragSourceNode(node) {\n this.clearCurrentDragSourceNode();\n this.currentDragSourceNode = node;\n this.currentDragSourceNodeOffset = _OffsetUtils.getNodeClientOffset(node);\n this.currentDragSourceNodeOffsetChanged = false;\n\n // Receiving a mouse event in the middle of a dragging operation\n // means it has ended and the drag source node disappeared from DOM,\n // so the browser didn't dispatch the dragend event.\n window.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n };\n\n HTML5Backend.prototype.clearCurrentDragSourceNode = function clearCurrentDragSourceNode() {\n if (this.currentDragSourceNode) {\n this.currentDragSourceNode = null;\n this.currentDragSourceNodeOffset = null;\n this.currentDragSourceNodeOffsetChanged = false;\n window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n return true;\n }\n\n return false;\n };\n\n HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function checkIfCurrentDragSourceRectChanged() {\n var node = this.currentDragSourceNode;\n if (!node) {\n return false;\n }\n\n if (this.currentDragSourceNodeOffsetChanged) {\n return true;\n }\n\n this.currentDragSourceNodeOffsetChanged = !_shallowEqual2['default'](_OffsetUtils.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n\n return this.currentDragSourceNodeOffsetChanged;\n };\n\n HTML5Backend.prototype.handleTopDragStartCapture = function handleTopDragStartCapture() {\n this.clearCurrentDragSourceNode();\n this.dragStartSourceIds = [];\n };\n\n HTML5Backend.prototype.handleDragStart = function handleDragStart(e, sourceId) {\n this.dragStartSourceIds.unshift(sourceId);\n };\n\n HTML5Backend.prototype.handleTopDragStart = function handleTopDragStart(e) {\n var _this4 = this;\n\n var dragStartSourceIds = this.dragStartSourceIds;\n\n this.dragStartSourceIds = null;\n\n var clientOffset = _OffsetUtils.getEventClientOffset(e);\n\n // Don't publish the source just yet (see why below)\n this.actions.beginDrag(dragStartSourceIds, {\n publishSource: false,\n getSourceClientOffset: this.getSourceClientOffset,\n clientOffset: clientOffset\n });\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (this.monitor.isDragging()) {\n if (typeof dataTransfer.setDragImage === 'function') {\n // Use custom drag image if user specifies it.\n // If child drag source refuses drag but parent agrees,\n // use parent's node as drag image. Neither works in IE though.\n var sourceId = this.monitor.getSourceId();\n var sourceNode = this.sourceNodes[sourceId];\n var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n\n var _getCurrentSourcePreviewNodeOptions = this.getCurrentSourcePreviewNodeOptions();\n\n var anchorX = _getCurrentSourcePreviewNodeOptions.anchorX;\n var anchorY = _getCurrentSourcePreviewNodeOptions.anchorY;\n\n var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n var dragPreviewOffset = _OffsetUtils.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint);\n dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n }\n\n try {\n // Firefox won't drag without setting data\n dataTransfer.setData('application/json', {});\n } catch (err) {}\n // IE doesn't support MIME types in setData\n\n // Store drag source node so we can check whether\n // it is removed from DOM and trigger endDrag manually.\n this.setCurrentDragSourceNode(e.target);\n\n // Now we are ready to publish the drag source.. or are we not?\n\n var _getCurrentSourcePreviewNodeOptions2 = this.getCurrentSourcePreviewNodeOptions();\n\n var captureDraggingState = _getCurrentSourcePreviewNodeOptions2.captureDraggingState;\n\n if (!captureDraggingState) {\n // Usually we want to publish it in the next tick so that browser\n // is able to screenshot the current (not yet dragging) state.\n //\n // It also neatly avoids a situation where render() returns null\n // in the same tick for the source element, and browser freaks out.\n setTimeout(function () {\n return _this4.actions.publishDragSource();\n });\n } else {\n // In some cases the user may want to override this behavior, e.g.\n // to work around IE not supporting custom drag previews.\n //\n // When using a custom drag layer, the only way to prevent\n // the default drag preview from drawing in IE is to screenshot\n // the dragging state in which the node itself has zero opacity\n // and height. In this case, though, returning null from render()\n // will abruptly end the dragging, which is not obvious.\n //\n // This is the reason such behavior is strictly opt-in.\n this.actions.publishDragSource();\n }\n } else if (nativeType) {\n // A native item (such as URL) dragged from inside the document\n this.beginDragNativeItem(nativeType);\n } else if (!dataTransfer.types && (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n // Just let it drag. It's a native type (URL or text) and will be picked up in dragenter handler.\n return;\n } else {\n // If by this time no drag source reacted, tell browser not to drag.\n e.preventDefault();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEndCapture = function handleTopDragEndCapture() {\n if (this.clearCurrentDragSourceNode()) {\n // Firefox can dispatch this event in an infinite loop\n // if dragend handler does something like showing an alert.\n // Only proceed if we have not handled it already.\n this.actions.endDrag();\n }\n };\n\n HTML5Backend.prototype.handleTopDragEnterCapture = function handleTopDragEnterCapture(e) {\n this.dragEnterTargetIds = [];\n\n var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n if (!isFirstEnter || this.monitor.isDragging()) {\n return;\n }\n\n var dataTransfer = e.dataTransfer;\n\n var nativeType = _NativeDragSources.matchNativeItemType(dataTransfer);\n\n if (nativeType) {\n // A native item (such as file or URL) dragged from outside the document\n this.beginDragNativeItem(nativeType);\n }\n };\n\n HTML5Backend.prototype.handleDragEnter = function handleDragEnter(e, targetId) {\n this.dragEnterTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragEnter = function handleTopDragEnter(e) {\n var _this5 = this;\n\n var dragEnterTargetIds = this.dragEnterTargetIds;\n\n this.dragEnterTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n return;\n }\n\n if (!_BrowserDetector.isFirefox()) {\n // Don't emit hover in `dragenter` on Firefox due to an edge case.\n // If the target changes position as the result of `dragenter`, Firefox\n // will still happily dispatch `dragover` despite target being no longer\n // there. The easy solution is to only fire `hover` in `dragover` on FF.\n this.actions.hover(dragEnterTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n }\n\n var canDrop = dragEnterTargetIds.some(function (targetId) {\n return _this5.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // IE requires this to fire dragover events\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n };\n\n HTML5Backend.prototype.handleTopDragOverCapture = function handleTopDragOverCapture() {\n this.dragOverTargetIds = [];\n };\n\n HTML5Backend.prototype.handleDragOver = function handleDragOver(e, targetId) {\n this.dragOverTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDragOver = function handleTopDragOver(e) {\n var _this6 = this;\n\n var dragOverTargetIds = this.dragOverTargetIds;\n\n this.dragOverTargetIds = [];\n\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n // Prevent default \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n return;\n }\n\n this.actions.hover(dragOverTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n\n var canDrop = dragOverTargetIds.some(function (targetId) {\n return _this6.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // Show user-specified drop effect.\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n } else if (this.isDraggingNativeItem()) {\n // Don't show a nice cursor but still prevent default\n // \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n } else if (this.checkIfCurrentDragSourceRectChanged()) {\n // Prevent animating to incorrect position.\n // Drop effect must be other than 'none' to prevent animation.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n }\n };\n\n HTML5Backend.prototype.handleTopDragLeaveCapture = function handleTopDragLeaveCapture(e) {\n if (this.isDraggingNativeItem()) {\n e.preventDefault();\n }\n\n var isLastLeave = this.enterLeaveCounter.leave(e.target);\n if (!isLastLeave) {\n return;\n }\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n }\n };\n\n HTML5Backend.prototype.handleTopDropCapture = function handleTopDropCapture(e) {\n this.dropTargetIds = [];\n e.preventDefault();\n\n if (this.isDraggingNativeItem()) {\n this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n }\n\n this.enterLeaveCounter.reset();\n };\n\n HTML5Backend.prototype.handleDrop = function handleDrop(e, targetId) {\n this.dropTargetIds.unshift(targetId);\n };\n\n HTML5Backend.prototype.handleTopDrop = function handleTopDrop(e) {\n var dropTargetIds = this.dropTargetIds;\n\n this.dropTargetIds = [];\n\n this.actions.hover(dropTargetIds, {\n clientOffset: _OffsetUtils.getEventClientOffset(e)\n });\n this.actions.drop();\n\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n } else {\n this.endDragIfSourceWasRemovedFromDOM();\n }\n };\n\n HTML5Backend.prototype.handleSelectStart = function handleSelectStart(e) {\n var target = e.target;\n\n // Only IE requires us to explicitly say\n // we want drag drop operation to start\n if (typeof target.dragDrop !== 'function') {\n return;\n }\n\n // Inputs and textareas should be selectable\n if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return;\n }\n\n // For other targets, ask IE\n // to enable drag and drop\n e.preventDefault();\n target.dragDrop();\n };\n\n return HTML5Backend;\n})();\n\nexports['default'] = HTML5Backend;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/HTML5Backend.js\n// module id = 159\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MonotonicInterpolant = (function () {\n function MonotonicInterpolant(xs, ys) {\n _classCallCheck(this, MonotonicInterpolant);\n\n var length = xs.length;\n\n // Rearrange xs and ys so that xs is sorted\n var indexes = [];\n for (var i = 0; i < length; i++) {\n indexes.push(i);\n }\n indexes.sort(function (a, b) {\n return xs[a] < xs[b] ? -1 : 1;\n });\n\n // Get consecutive differences and slopes\n var dys = [];\n var dxs = [];\n var ms = [];\n var dx = undefined;\n var dy = undefined;\n for (var i = 0; i < length - 1; i++) {\n dx = xs[i + 1] - xs[i];\n dy = ys[i + 1] - ys[i];\n dxs.push(dx);\n dys.push(dy);\n ms.push(dy / dx);\n }\n\n // Get degree-1 coefficients\n var c1s = [ms[0]];\n for (var i = 0; i < dxs.length - 1; i++) {\n var _m = ms[i];\n var mNext = ms[i + 1];\n if (_m * mNext <= 0) {\n c1s.push(0);\n } else {\n dx = dxs[i];\n var dxNext = dxs[i + 1];\n var common = dx + dxNext;\n c1s.push(3 * common / ((common + dxNext) / _m + (common + dx) / mNext));\n }\n }\n c1s.push(ms[ms.length - 1]);\n\n // Get degree-2 and degree-3 coefficients\n var c2s = [];\n var c3s = [];\n var m = undefined;\n for (var i = 0; i < c1s.length - 1; i++) {\n m = ms[i];\n var c1 = c1s[i];\n var invDx = 1 / dxs[i];\n var common = c1 + c1s[i + 1] - m - m;\n c2s.push((m - c1 - common) * invDx);\n c3s.push(common * invDx * invDx);\n }\n\n this.xs = xs;\n this.ys = ys;\n this.c1s = c1s;\n this.c2s = c2s;\n this.c3s = c3s;\n }\n\n MonotonicInterpolant.prototype.interpolate = function interpolate(x) {\n var xs = this.xs;\n var ys = this.ys;\n var c1s = this.c1s;\n var c2s = this.c2s;\n var c3s = this.c3s;\n\n // The rightmost point in the dataset should give an exact result\n var i = xs.length - 1;\n if (x === xs[i]) {\n return ys[i];\n }\n\n // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n var low = 0;\n var high = c3s.length - 1;\n var mid = undefined;\n while (low <= high) {\n mid = Math.floor(0.5 * (low + high));\n var xHere = xs[mid];\n if (xHere < x) {\n low = mid + 1;\n } else if (xHere > x) {\n high = mid - 1;\n } else {\n return ys[mid];\n }\n }\n i = Math.max(0, high);\n\n // Interpolate\n var diff = x - xs[i];\n var diffSq = diff * diff;\n return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n };\n\n return MonotonicInterpolant;\n})();\n\nexports[\"default\"] = MonotonicInterpolant;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/MonotonicInterpolant.js\n// module id = 160\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _nativeTypesConfig;\n\nexports.createNativeDragSource = createNativeDragSource;\nexports.matchNativeItemType = matchNativeItemType;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n return resultSoFar || dataTransfer.getData(typeToTry);\n }, null);\n\n return result != null ? // eslint-disable-line eqeqeq\n result : defaultValue;\n}\n\nvar nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n exposeProperty: 'files',\n matchesTypes: ['Files'],\n getData: function getData(dataTransfer) {\n return Array.prototype.slice.call(dataTransfer.files);\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n exposeProperty: 'urls',\n matchesTypes: ['Url', 'text/uri-list'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n }\n}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n exposeProperty: 'text',\n matchesTypes: ['Text', 'text/plain'],\n getData: function getData(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n }\n}), _nativeTypesConfig);\n\nfunction createNativeDragSource(type) {\n var _nativeTypesConfig$type = nativeTypesConfig[type];\n var exposeProperty = _nativeTypesConfig$type.exposeProperty;\n var matchesTypes = _nativeTypesConfig$type.matchesTypes;\n var getData = _nativeTypesConfig$type.getData;\n\n return (function () {\n function NativeDragSource() {\n _classCallCheck(this, NativeDragSource);\n\n this.item = Object.defineProperties({}, _defineProperty({}, exposeProperty, {\n get: function get() {\n console.warn( // eslint-disable-line no-console\n 'Browser doesn\\'t allow reading \"' + exposeProperty + '\" until the drop event.');\n return null;\n },\n configurable: true,\n enumerable: true\n }));\n }\n\n NativeDragSource.prototype.mutateItemByReadingDataTransfer = function mutateItemByReadingDataTransfer(dataTransfer) {\n delete this.item[exposeProperty];\n this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n };\n\n NativeDragSource.prototype.canDrag = function canDrag() {\n return true;\n };\n\n NativeDragSource.prototype.beginDrag = function beginDrag() {\n return this.item;\n };\n\n NativeDragSource.prototype.isDragging = function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n };\n\n NativeDragSource.prototype.endDrag = function endDrag() {};\n\n return NativeDragSource;\n })();\n}\n\nfunction matchNativeItemType(dataTransfer) {\n var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n\n return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n\n return matchesTypes.some(function (t) {\n return dataTransferTypes.indexOf(t) > -1;\n });\n })[0] || null;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/NativeDragSources.js\n// module id = 161\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.getNodeClientOffset = getNodeClientOffset;\nexports.getEventClientOffset = getEventClientOffset;\nexports.getDragPreviewOffset = getDragPreviewOffset;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _BrowserDetector = require('./BrowserDetector');\n\nvar _MonotonicInterpolant = require('./MonotonicInterpolant');\n\nvar _MonotonicInterpolant2 = _interopRequireDefault(_MonotonicInterpolant);\n\nvar ELEMENT_NODE = 1;\n\nfunction getNodeClientOffset(node) {\n var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\n if (!el) {\n return null;\n }\n\n var _el$getBoundingClientRect = el.getBoundingClientRect();\n\n var top = _el$getBoundingClientRect.top;\n var left = _el$getBoundingClientRect.left;\n\n return { x: left, y: top };\n}\n\nfunction getEventClientOffset(e) {\n return {\n x: e.clientX,\n y: e.clientY\n };\n}\n\nfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint) {\n // The browsers will use the image intrinsic size under different conditions.\n // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n var isImage = dragPreview.nodeName === 'IMG' && (_BrowserDetector.isFirefox() || !document.documentElement.contains(dragPreview));\n var dragPreviewNode = isImage ? sourceNode : dragPreview;\n\n var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n var offsetFromDragPreview = {\n x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n };\n\n var sourceWidth = sourceNode.offsetWidth;\n var sourceHeight = sourceNode.offsetHeight;\n var anchorX = anchorPoint.anchorX;\n var anchorY = anchorPoint.anchorY;\n\n var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n\n // Work around @2x coordinate discrepancies in browsers\n if (_BrowserDetector.isSafari() && isImage) {\n dragPreviewHeight /= window.devicePixelRatio;\n dragPreviewWidth /= window.devicePixelRatio;\n } else if (_BrowserDetector.isFirefox() && !isImage) {\n dragPreviewHeight *= window.devicePixelRatio;\n dragPreviewWidth *= window.devicePixelRatio;\n }\n\n // Interpolate coordinates depending on anchor point\n // If you know a simpler way to do this, let me know\n var interpolantX = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the left\n offsetFromDragPreview.x,\n // Align at the center\n offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n // Dock to the right\n offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n var interpolantY = new _MonotonicInterpolant2['default']([0, 0.5, 1], [\n // Dock to the top\n offsetFromDragPreview.y,\n // Align at the center\n offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n // Dock to the bottom\n offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n var x = interpolantX.interpolate(anchorX);\n var y = interpolantY.interpolate(anchorY);\n\n // Work around Safari 8 positioning bug\n if (_BrowserDetector.isSafari() && isImage) {\n // We'll have to wait for @3x to see if this is entirely correct\n y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n }\n\n return { x: x, y: y };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/OffsetUtils.js\n// module id = 162\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = getEmptyImage;\nvar emptyImage = undefined;\n\nfunction getEmptyImage() {\n if (!emptyImage) {\n emptyImage = new Image();\n emptyImage.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n }\n\n return emptyImage;\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/getEmptyImage.js\n// module id = 163\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createHTML5Backend;\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _HTML5Backend = require('./HTML5Backend');\n\nvar _HTML5Backend2 = _interopRequireDefault(_HTML5Backend);\n\nvar _getEmptyImage = require('./getEmptyImage');\n\nvar _getEmptyImage2 = _interopRequireDefault(_getEmptyImage);\n\nvar _NativeTypes = require('./NativeTypes');\n\nvar NativeTypes = _interopRequireWildcard(_NativeTypes);\n\nexports.NativeTypes = NativeTypes;\nexports.getEmptyImage = _getEmptyImage2['default'];\n\nfunction createHTML5Backend(manager) {\n return new _HTML5Backend2['default'](manager);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/index.js\n// module id = 164\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n\n var valA = objA[keysA[i]];\n var valB = objB[keysA[i]];\n\n if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd-html5-backend/lib/shallowEqual.js\n// module id = 165\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragDropContext;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _dndCore = require('dnd-core');\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragDropContext(backendOrModule) {\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragDropContext', 'backend'].concat(_slice.call(arguments)));\n\n // Auto-detect ES6 default export for people still using ES5\n var backend = undefined;\n if (typeof backendOrModule === 'object' && typeof backendOrModule['default'] === 'function') {\n backend = backendOrModule['default'];\n } else {\n backend = backendOrModule;\n }\n\n _invariant2['default'](typeof backend === 'function', 'Expected the backend to be a function or an ES6 module exporting a default function. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-drop-context.html');\n\n var childContext = {\n dragDropManager: new _dndCore.DragDropManager(backend)\n };\n\n return function decorateContext(DecoratedComponent) {\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragDropContextContainer, _Component);\n\n function DragDropContextContainer() {\n _classCallCheck(this, DragDropContextContainer);\n\n _Component.apply(this, arguments);\n }\n\n DragDropContextContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragDropContextContainer.prototype.getManager = function getManager() {\n return childContext.dragDropManager;\n };\n\n DragDropContextContainer.prototype.getChildContext = function getChildContext() {\n return childContext;\n };\n\n DragDropContextContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, {\n ref: 'child' }));\n };\n\n _createClass(DragDropContextContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragDropContext(' + displayName + ')',\n enumerable: true\n }, {\n key: 'childContextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n return DragDropContextContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/DragDropContext.js\n// module id = 166\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slice = Array.prototype.slice;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nexports['default'] = DragLayer;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utilsShallowEqual = require('./utils/shallowEqual');\n\nvar _utilsShallowEqual2 = _interopRequireDefault(_utilsShallowEqual);\n\nvar _utilsShallowEqualScalar = require('./utils/shallowEqualScalar');\n\nvar _utilsShallowEqualScalar2 = _interopRequireDefault(_utilsShallowEqualScalar);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nfunction DragLayer(collect) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragLayer', 'collect[, options]'].concat(_slice.call(arguments)));\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer ' + 'to be a function that collects props to inject into the component. ', 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the second argument to DragLayer to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-layer.html', options);\n\n return function decorateLayer(DecoratedComponent) {\n var _options$arePropsEqual = options.arePropsEqual;\n var arePropsEqual = _options$arePropsEqual === undefined ? _utilsShallowEqualScalar2['default'] : _options$arePropsEqual;\n\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n return (function (_Component) {\n _inherits(DragLayerContainer, _Component);\n\n DragLayerContainer.prototype.getDecoratedComponentInstance = function getDecoratedComponentInstance() {\n return this.refs.child;\n };\n\n DragLayerContainer.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !arePropsEqual(nextProps, this.props) || !_utilsShallowEqual2['default'](nextState, this.state);\n };\n\n _createClass(DragLayerContainer, null, [{\n key: 'DecoratedComponent',\n value: DecoratedComponent,\n enumerable: true\n }, {\n key: 'displayName',\n value: 'DragLayer(' + displayName + ')',\n enumerable: true\n }, {\n key: 'contextTypes',\n value: {\n dragDropManager: _react.PropTypes.object.isRequired\n },\n enumerable: true\n }]);\n\n function DragLayerContainer(props, context) {\n _classCallCheck(this, DragLayerContainer);\n\n _Component.call(this, props);\n this.handleChange = this.handleChange.bind(this);\n\n this.manager = context.dragDropManager;\n _invariant2['default'](typeof this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to wrap the top-level component of your app with DragDropContext. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n this.state = this.getCurrentState();\n }\n\n DragLayerContainer.prototype.componentDidMount = function componentDidMount() {\n this.isCurrentlyMounted = true;\n\n var monitor = this.manager.getMonitor();\n this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n\n this.handleChange();\n };\n\n DragLayerContainer.prototype.componentWillUnmount = function componentWillUnmount() {\n this.isCurrentlyMounted = false;\n\n this.unsubscribeFromOffsetChange();\n this.unsubscribeFromStateChange();\n };\n\n DragLayerContainer.prototype.handleChange = function handleChange() {\n if (!this.isCurrentlyMounted) {\n return;\n }\n\n var nextState = this.getCurrentState();\n if (!_utilsShallowEqual2['default'](nextState, this.state)) {\n this.setState(nextState);\n }\n };\n\n DragLayerContainer.prototype.getCurrentState = function getCurrentState() {\n var monitor = this.manager.getMonitor();\n return collect(monitor);\n };\n\n DragLayerContainer.prototype.render = function render() {\n return _react2['default'].createElement(DecoratedComponent, _extends({}, this.props, this.state, {\n ref: 'child' }));\n };\n\n return DragLayerContainer;\n })(_react.Component);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/DragLayer.js\n// module id = 167\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DragSource;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerSource = require('./registerSource');\n\nvar _registerSource2 = _interopRequireDefault(_registerSource);\n\nvar _createSourceFactory = require('./createSourceFactory');\n\nvar _createSourceFactory2 = _interopRequireDefault(_createSourceFactory);\n\nvar _createSourceMonitor = require('./createSourceMonitor');\n\nvar _createSourceMonitor2 = _interopRequireDefault(_createSourceMonitor);\n\nvar _createSourceConnector = require('./createSourceConnector');\n\nvar _createSourceConnector2 = _interopRequireDefault(_createSourceConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DragSource(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DragSource', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', spec);\n var createSource = _createSourceFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', collect);\n\n return function decorateSource(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, sourceId) {\n return backend.connectDragSource(sourceId);\n },\n containerDisplayName: 'DragSource',\n createHandler: createSource,\n registerHandler: _registerSource2['default'],\n createMonitor: _createSourceMonitor2['default'],\n createConnector: _createSourceConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/DragSource.js\n// module id = 168\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar _slice = Array.prototype.slice;\nexports['default'] = DropTarget;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar _utilsCheckDecoratorArguments = require('./utils/checkDecoratorArguments');\n\nvar _utilsCheckDecoratorArguments2 = _interopRequireDefault(_utilsCheckDecoratorArguments);\n\nvar _decorateHandler = require('./decorateHandler');\n\nvar _decorateHandler2 = _interopRequireDefault(_decorateHandler);\n\nvar _registerTarget = require('./registerTarget');\n\nvar _registerTarget2 = _interopRequireDefault(_registerTarget);\n\nvar _createTargetFactory = require('./createTargetFactory');\n\nvar _createTargetFactory2 = _interopRequireDefault(_createTargetFactory);\n\nvar _createTargetMonitor = require('./createTargetMonitor');\n\nvar _createTargetMonitor2 = _interopRequireDefault(_createTargetMonitor);\n\nvar _createTargetConnector = require('./createTargetConnector');\n\nvar _createTargetConnector2 = _interopRequireDefault(_createTargetConnector);\n\nvar _utilsIsValidType = require('./utils/isValidType');\n\nvar _utilsIsValidType2 = _interopRequireDefault(_utilsIsValidType);\n\nfunction DropTarget(type, spec, collect) {\n var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3];\n\n _utilsCheckDecoratorArguments2['default'].apply(undefined, ['DropTarget', 'type, spec, collect[, options]'].concat(_slice.call(arguments)));\n var getType = type;\n if (typeof type !== 'function') {\n _invariant2['default'](_utilsIsValidType2['default'](type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', type);\n getType = function () {\n return type;\n };\n }\n _invariant2['default'](_lodashIsPlainObject2['default'](spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', spec);\n var createTarget = _createTargetFactory2['default'](spec);\n _invariant2['default'](typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n _invariant2['default'](_lodashIsPlainObject2['default'](options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', collect);\n\n return function decorateTarget(DecoratedComponent) {\n return _decorateHandler2['default']({\n connectBackend: function connectBackend(backend, targetId) {\n return backend.connectDropTarget(targetId);\n },\n containerDisplayName: 'DropTarget',\n createHandler: createTarget,\n registerHandler: _registerTarget2['default'],\n createMonitor: _createTargetMonitor2['default'],\n createConnector: _createTargetConnector2['default'],\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options\n });\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/DropTarget.js\n// module id = 169\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createSourceConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDragSourceNode = undefined;\n var currentDragSourceOptions = undefined;\n var disconnectCurrentDragSource = undefined;\n\n var currentDragPreviewNode = undefined;\n var currentDragPreviewOptions = undefined;\n var disconnectCurrentDragPreview = undefined;\n\n function reconnectDragSource() {\n if (disconnectCurrentDragSource) {\n disconnectCurrentDragSource();\n disconnectCurrentDragSource = null;\n }\n\n if (currentHandlerId && currentDragSourceNode) {\n disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n }\n }\n\n function reconnectDragPreview() {\n if (disconnectCurrentDragPreview) {\n disconnectCurrentDragPreview();\n disconnectCurrentDragPreview = null;\n }\n\n if (currentHandlerId && currentDragPreviewNode) {\n disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDragSource();\n reconnectDragPreview();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dragSource: function connectDragSource(node, options) {\n if (node === currentDragSourceNode && _areOptionsEqual2['default'](options, currentDragSourceOptions)) {\n return;\n }\n\n currentDragSourceNode = node;\n currentDragSourceOptions = options;\n\n reconnectDragSource();\n },\n\n dragPreview: function connectDragPreview(node, options) {\n if (node === currentDragPreviewNode && _areOptionsEqual2['default'](options, currentDragPreviewOptions)) {\n return;\n }\n\n currentDragPreviewNode = node;\n currentDragPreviewOptions = options;\n\n reconnectDragPreview();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/createSourceConnector.js\n// module id = 170\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'canDrag', 'isDragging', 'endDrag'];\nvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\nfunction createSourceFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n REQUIRED_SPEC_METHODS.forEach(function (key) {\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n\n var Source = (function () {\n function Source(monitor) {\n _classCallCheck(this, Source);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Source.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Source.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Source.prototype.canDrag = function canDrag() {\n if (!spec.canDrag) {\n return true;\n }\n\n return spec.canDrag(this.props, this.monitor);\n };\n\n Source.prototype.isDragging = function isDragging(globalMonitor, sourceId) {\n if (!spec.isDragging) {\n return sourceId === globalMonitor.getSourceId();\n }\n\n return spec.isDragging(this.props, this.monitor);\n };\n\n Source.prototype.beginDrag = function beginDrag() {\n var item = spec.beginDrag(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](_lodashIsPlainObject2['default'](item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source.html', item);\n }\n return item;\n };\n\n Source.prototype.endDrag = function endDrag() {\n if (!spec.endDrag) {\n return;\n }\n\n spec.endDrag(this.props, this.monitor, this.component);\n };\n\n return Source;\n })();\n\n return function createSource(monitor) {\n return new Source(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/createSourceFactory.js\n// module id = 171\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createSourceMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrag = false;\nvar isCallingIsDragging = false;\n\nvar SourceMonitor = (function () {\n function SourceMonitor(manager) {\n _classCallCheck(this, SourceMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n SourceMonitor.prototype.receiveHandlerId = function receiveHandlerId(sourceId) {\n this.sourceId = sourceId;\n };\n\n SourceMonitor.prototype.canDrag = function canDrag() {\n _invariant2['default'](!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingCanDrag = true;\n return this.internalMonitor.canDragSource(this.sourceId);\n } finally {\n isCallingCanDrag = false;\n }\n };\n\n SourceMonitor.prototype.isDragging = function isDragging() {\n _invariant2['default'](!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drag-source-monitor.html');\n\n try {\n isCallingIsDragging = true;\n return this.internalMonitor.isDraggingSource(this.sourceId);\n } finally {\n isCallingIsDragging = false;\n }\n };\n\n SourceMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n SourceMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n SourceMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n SourceMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n SourceMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n SourceMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n SourceMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n SourceMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n SourceMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return SourceMonitor;\n})();\n\nfunction createSourceMonitor(manager) {\n return new SourceMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/createSourceMonitor.js\n// module id = 172\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetConnector;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _wrapConnectorHooks = require('./wrapConnectorHooks');\n\nvar _wrapConnectorHooks2 = _interopRequireDefault(_wrapConnectorHooks);\n\nvar _areOptionsEqual = require('./areOptionsEqual');\n\nvar _areOptionsEqual2 = _interopRequireDefault(_areOptionsEqual);\n\nfunction createTargetConnector(backend) {\n var currentHandlerId = undefined;\n\n var currentDropTargetNode = undefined;\n var currentDropTargetOptions = undefined;\n var disconnectCurrentDropTarget = undefined;\n\n function reconnectDropTarget() {\n if (disconnectCurrentDropTarget) {\n disconnectCurrentDropTarget();\n disconnectCurrentDropTarget = null;\n }\n\n if (currentHandlerId && currentDropTargetNode) {\n disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n }\n }\n\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n\n currentHandlerId = handlerId;\n reconnectDropTarget();\n }\n\n var hooks = _wrapConnectorHooks2['default']({\n dropTarget: function connectDropTarget(node, options) {\n if (node === currentDropTargetNode && _areOptionsEqual2['default'](options, currentDropTargetOptions)) {\n return;\n }\n\n currentDropTargetNode = node;\n currentDropTargetOptions = options;\n\n reconnectDropTarget();\n }\n });\n\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/createTargetConnector.js\n// module id = 173\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetFactory;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _lodashIsPlainObject = require('lodash/isPlainObject');\n\nvar _lodashIsPlainObject2 = _interopRequireDefault(_lodashIsPlainObject);\n\nvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\nfunction createTargetFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n _invariant2['default'](ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n _invariant2['default'](typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n });\n\n var Target = (function () {\n function Target(monitor) {\n _classCallCheck(this, Target);\n\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n\n Target.prototype.receiveProps = function receiveProps(props) {\n this.props = props;\n };\n\n Target.prototype.receiveMonitor = function receiveMonitor(monitor) {\n this.monitor = monitor;\n };\n\n Target.prototype.receiveComponent = function receiveComponent(component) {\n this.component = component;\n };\n\n Target.prototype.canDrop = function canDrop() {\n if (!spec.canDrop) {\n return true;\n }\n\n return spec.canDrop(this.props, this.monitor);\n };\n\n Target.prototype.hover = function hover() {\n if (!spec.hover) {\n return;\n }\n\n spec.hover(this.props, this.monitor, this.component);\n };\n\n Target.prototype.drop = function drop() {\n if (!spec.drop) {\n return;\n }\n\n var dropResult = spec.drop(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n _invariant2['default'](typeof dropResult === 'undefined' || _lodashIsPlainObject2['default'](dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target.html', dropResult);\n }\n return dropResult;\n };\n\n return Target;\n })();\n\n return function createTarget(monitor) {\n return new Target(monitor);\n };\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/createTargetFactory.js\n// module id = 174\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createTargetMonitor;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar isCallingCanDrop = false;\n\nvar TargetMonitor = (function () {\n function TargetMonitor(manager) {\n _classCallCheck(this, TargetMonitor);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n TargetMonitor.prototype.receiveHandlerId = function receiveHandlerId(targetId) {\n this.targetId = targetId;\n };\n\n TargetMonitor.prototype.canDrop = function canDrop() {\n _invariant2['default'](!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://gaearon.github.io/react-dnd/docs-drop-target-monitor.html');\n\n try {\n isCallingCanDrop = true;\n return this.internalMonitor.canDropOnTarget(this.targetId);\n } finally {\n isCallingCanDrop = false;\n }\n };\n\n TargetMonitor.prototype.isOver = function isOver(options) {\n return this.internalMonitor.isOverTarget(this.targetId, options);\n };\n\n TargetMonitor.prototype.getItemType = function getItemType() {\n return this.internalMonitor.getItemType();\n };\n\n TargetMonitor.prototype.getItem = function getItem() {\n return this.internalMonitor.getItem();\n };\n\n TargetMonitor.prototype.getDropResult = function getDropResult() {\n return this.internalMonitor.getDropResult();\n };\n\n TargetMonitor.prototype.didDrop = function didDrop() {\n return this.internalMonitor.didDrop();\n };\n\n TargetMonitor.prototype.getInitialClientOffset = function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n };\n\n TargetMonitor.prototype.getInitialSourceClientOffset = function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n\n TargetMonitor.prototype.getSourceClientOffset = function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n };\n\n TargetMonitor.prototype.getClientOffset = function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n };\n\n TargetMonitor.prototype.getDifferenceFromInitialOffset = function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n\n return TargetMonitor;\n})();\n\nfunction createTargetMonitor(manager) {\n return new TargetMonitor(manager);\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/createTargetMonitor.js\n// module id = 175\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerSource;\n\nfunction registerSource(type, source, manager) {\n var registry = manager.getRegistry();\n var sourceId = registry.addSource(type, source);\n\n function unregisterSource() {\n registry.removeSource(sourceId);\n }\n\n return {\n handlerId: sourceId,\n unregister: unregisterSource\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/registerSource.js\n// module id = 176\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = registerTarget;\n\nfunction registerTarget(type, target, manager) {\n var registry = manager.getRegistry();\n var targetId = registry.addTarget(type, target);\n\n function unregisterTarget() {\n registry.removeTarget(targetId);\n }\n\n return {\n handlerId: targetId,\n unregister: unregisterTarget\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/registerTarget.js\n// module id = 177\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = cloneWithRef;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _react = require('react');\n\nfunction cloneWithRef(element, newRef) {\n var previousRef = element.ref;\n _invariant2['default'](typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\n if (!previousRef) {\n // When there is no ref on the element, use the new ref directly\n return _react.cloneElement(element, {\n ref: newRef\n });\n }\n\n return _react.cloneElement(element, {\n ref: function ref(node) {\n newRef(node);\n\n if (previousRef) {\n previousRef(node);\n }\n }\n });\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-dnd/lib/utils/cloneWithRef.js\n// module id = 178\n// module chunks = 0","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule Object.assign\n */\n\n// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign\n\n'use strict';\n\nfunction assign(target, sources) {\n if (target == null) {\n throw new TypeError('Object.assign target cannot be null or undefined');\n }\n\n var to = Object(target);\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n for (var nextIndex = 1; nextIndex < arguments.length; nextIndex++) {\n var nextSource = arguments[nextIndex];\n if (nextSource == null) {\n continue;\n }\n\n var from = Object(nextSource);\n\n // We don't currently support accessors nor proxies. Therefore this\n // copy cannot throw. If we ever supported this then we must handle\n // exceptions and side-effects. We don't support symbols so they won't\n // be transferred.\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n }\n\n return to;\n}\n\nmodule.exports = assign;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react/lib/Object.assign.js\n// module id = 179\n// module chunks = 0","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule update\n */\n\n/* global hasOwnProperty:true */\n\n'use strict';\n\nvar assign = require('./Object.assign');\nvar keyOf = require('fbjs/lib/keyOf');\nvar invariant = require('fbjs/lib/invariant');\nvar hasOwnProperty = ({}).hasOwnProperty;\n\nfunction shallowCopy(x) {\n if (Array.isArray(x)) {\n return x.concat();\n } else if (x && typeof x === 'object') {\n return assign(new x.constructor(), x);\n } else {\n return x;\n }\n}\n\nvar COMMAND_PUSH = keyOf({ $push: null });\nvar COMMAND_UNSHIFT = keyOf({ $unshift: null });\nvar COMMAND_SPLICE = keyOf({ $splice: null });\nvar COMMAND_SET = keyOf({ $set: null });\nvar COMMAND_MERGE = keyOf({ $merge: null });\nvar COMMAND_APPLY = keyOf({ $apply: null });\n\nvar ALL_COMMANDS_LIST = [COMMAND_PUSH, COMMAND_UNSHIFT, COMMAND_SPLICE, COMMAND_SET, COMMAND_MERGE, COMMAND_APPLY];\n\nvar ALL_COMMANDS_SET = {};\n\nALL_COMMANDS_LIST.forEach(function (command) {\n ALL_COMMANDS_SET[command] = true;\n});\n\nfunction invariantArrayCase(value, spec, command) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected target of %s to be an array; got %s.', command, value) : invariant(false) : undefined;\n var specValue = spec[command];\n !Array.isArray(specValue) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, specValue) : invariant(false) : undefined;\n}\n\nfunction update(value, spec) {\n !(typeof spec === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): You provided a key path to update() that did not contain one ' + 'of %s. Did you forget to include {%s: ...}?', ALL_COMMANDS_LIST.join(', '), COMMAND_SET) : invariant(false) : undefined;\n\n if (hasOwnProperty.call(spec, COMMAND_SET)) {\n !(Object.keys(spec).length === 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot have more than one key in an object with %s', COMMAND_SET) : invariant(false) : undefined;\n\n return spec[COMMAND_SET];\n }\n\n var nextValue = shallowCopy(value);\n\n if (hasOwnProperty.call(spec, COMMAND_MERGE)) {\n var mergeObj = spec[COMMAND_MERGE];\n !(mergeObj && typeof mergeObj === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a spec of type \\'object\\'; got %s', COMMAND_MERGE, mergeObj) : invariant(false) : undefined;\n !(nextValue && typeof nextValue === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): %s expects a target of type \\'object\\'; got %s', COMMAND_MERGE, nextValue) : invariant(false) : undefined;\n assign(nextValue, spec[COMMAND_MERGE]);\n }\n\n if (hasOwnProperty.call(spec, COMMAND_PUSH)) {\n invariantArrayCase(value, spec, COMMAND_PUSH);\n spec[COMMAND_PUSH].forEach(function (item) {\n nextValue.push(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_UNSHIFT)) {\n invariantArrayCase(value, spec, COMMAND_UNSHIFT);\n spec[COMMAND_UNSHIFT].forEach(function (item) {\n nextValue.unshift(item);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_SPLICE)) {\n !Array.isArray(value) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s target to be an array; got %s', COMMAND_SPLICE, value) : invariant(false) : undefined;\n !Array.isArray(spec[COMMAND_SPLICE]) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined;\n spec[COMMAND_SPLICE].forEach(function (args) {\n !Array.isArray(args) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', COMMAND_SPLICE, spec[COMMAND_SPLICE]) : invariant(false) : undefined;\n nextValue.splice.apply(nextValue, args);\n });\n }\n\n if (hasOwnProperty.call(spec, COMMAND_APPLY)) {\n !(typeof spec[COMMAND_APPLY] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'update(): expected spec of %s to be a function; got %s.', COMMAND_APPLY, spec[COMMAND_APPLY]) : invariant(false) : undefined;\n nextValue = spec[COMMAND_APPLY](nextValue);\n }\n\n for (var k in spec) {\n if (!(ALL_COMMANDS_SET.hasOwnProperty(k) && ALL_COMMANDS_SET[k])) {\n nextValue[k] = update(value[k], spec[k]);\n }\n }\n\n return nextValue;\n}\n\nmodule.exports = update;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react/lib/update.js\n// module id = 180\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.ActionTypes = undefined;\nexports['default'] = createStore;\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _symbolObservable = require('symbol-observable');\n\nvar _symbolObservable2 = _interopRequireDefault(_symbolObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = exports.ActionTypes = {\n INIT: '@@redux/INIT'\n};\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} enhancer The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!(0, _isPlainObject2['default'])(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/zenparsing/es-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[_symbolObservable2['default']] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[_symbolObservable2['default']] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/lib/createStore.js\n// module id = 181\n// module chunks = 0","module.exports = require('./lib/index');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/index.js\n// module id = 182\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 183\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 184\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_185__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react-dom\"\n// module id = 185\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index 29f9ec3..9bec09d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-dazzle", - "version": "1.2.3", + "version": "1.2.4", "description": "The simple yet flexible dashbording solution for React", "license": "MIT", "main": "dist/lib.js",