/*! Sortable 1.8.0-rc1 - MIT | git://github.com/SortableJS/Sortable.git */ !function(t){"use strict";"function"==typeof define&&define.amd?define(t):"undefined"!=typeof module&&void 0!==module.exports?module.exports=t():window.Sortable=t()}(function(){"use strict";if("undefined"==typeof window||!window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var T,S,E,x,A,B,h,w,y,D,c,i,N,P,l,s,d,u,C,X,Y,k,R,t,o,I=[],M=!1,H=!1,O=!1,r=/\s+/g,L="Sortable"+(new Date).getTime(),F=window,f=F.document,W=F.parseInt,U=F.setTimeout,e=F.jQuery||F.Zepto,n=F.Polymer,a={capture:!1,passive:!1},p="draggable"in f.createElement("div"),g=!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\.|msie)/i)&&((t=f.createElement("x")).style.cssText="pointer-events:auto","auto"===t.style.pointerEvents),j=!1,v=!1,z=Math.abs,m=Math.min,_=[],b=[],V=function(t,e){var n=it(t),i=W(n.width),o=ct(t,0,e),r=ct(t,1,e),a=o&&it(o),l=r&&it(r),s=a&&W(a.marginLeft)+W(a.marginRight)+o.getBoundingClientRect().width,c=l&&W(l.marginLeft)+W(l.marginRight)+r.getBoundingClientRect().width;return"flex"===n.display?"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal":o&&("block"===a.display||"grid"===a.display||i<=s&&"none"===n.float||r&&"none"===n.float&&i*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,touchStartThreshold:W(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==K.supportPointer&&("PointerEvent"in window||window.navigator&&"msPointerEnabled"in window.navigator)};for(var i in n)!(i in e)&&(e[i]=n[i]);for(var o in"direction"in e||(e.direction=function(){return V(t,e)}),Q(e),null==e.invertedSwapThreshold&&(e.invertedSwapThreshold=e.swapThreshold),this)"_"===o.charAt(0)&&"function"==typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!e.forceFallback&&p,tt(t,"mousedown",this._onTapStart),tt(t,"touchstart",this._onTapStart),e.supportPointer&&tt(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(tt(t,"dragover",this),tt(t,"dragenter",this)),b.push(this._onDragOver),e.store&&e.store.get&&this.sort(e.store.get(this)||[])}function $(t,e,n,i){if(t){n=n||f;do{if(">*"===e&&t.parentNode===n||ft(t,e)||i&&t===n)return t;if(t===n)break}while(t=(o=t).host&&o!==f&&o.host.nodeType?o.host:o.parentNode)}var o;return null}function tt(t,e,n){t.addEventListener(e,n,a)}function et(t,e,n){t.removeEventListener(e,n,a)}function nt(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var i=(" "+t.className+" ").replace(r," ").replace(" "+e+" "," ");t.className=(i+(n?" "+e:"")).replace(r," ")}}function it(t,e,n){var i=t&&t.style;if(i){if(void 0===n)return f.defaultView&&f.defaultView.getComputedStyle?n=f.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in i||(e="-webkit-"+e),i[e]=n+("string"==typeof n?"":"px")}}function ot(t,e,n){if(t){var i=t.getElementsByTagName(e),o=0,r=i.length;if(n)for(;o*"!==e&&!ft(t,e)||n++;return n}function ft(t,e){if(t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e)}catch(t){return!1}return!1}function pt(n,i){return function(){if(!o){var t=arguments,e=this;o=U(function(){1===t.length?n.call(e,t[0]):n.apply(e,t),o=void 0},i)}}}function gt(t,e){if(t&&e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function vt(t){return n&&n.dom?n.dom(t).cloneNode(!0):e?e(t).clone(!0)[0]:t.cloneNode(!0)}function mt(t){return U(t,0)}function _t(t){return clearTimeout(t)}function bt(t){K.active&&t.cancelable&&t.preventDefault()}return K.prototype={constructor:K,_isAligned:!0,_computeIsAligned:function(t,e){var n,i,o,r,a,l,s;v||T&&T.parentNode===this.el&&(!0!==e&&!1!==e&&(e=!!$(t.target,null,T,!0)),this._isAligned=!M&&(e||this._isAligned&&(n=t.clientX,i=t.clientY,this.el,o=this._getDirection(t,null),this.options,r=R||T.getBoundingClientRect(),a="vertical"===o?r.left:r.top,l="vertical"===o?r.right:r.bottom,a<(s="vertical"===o?n:i)&&s=this.options.touchStartThreshold&&this._disableDelayedDrag()},_disableDelayedDrag:function(){var t=this.el.ownerDocument;clearTimeout(this._dragStartTimer),et(t,"mouseup",this._disableDelayedDrag),et(t,"touchend",this._disableDelayedDrag),et(t,"touchcancel",this._disableDelayedDrag),et(t,"mousemove",this._delayedDragTouchMoveHandler),et(t,"touchmove",this._delayedDragTouchMoveHandler),et(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){(e=e||("touch"==t.pointerType?t:null))?(u={target:T,clientX:e.clientX,clientY:e.clientY},this._onDragStart(u,"touch")):this.nativeDraggable?(tt(T,"dragend",this),tt(A,"dragstart",this._onDragStart)):this._onDragStart(u,!0);try{f.selection?mt(function(){f.selection.empty()}):window.getSelection().removeAllRanges()}catch(t){}},_dragStarted:function(){if(A&&T){this.nativeDraggable&&(tt(f,"dragover",this._handleAutoScroll),tt(f,"dragover",J));var t=this.options;nt(T,t.dragClass,!1),nt(T,t.ghostClass,!0),it(T,"transform",""),(K.active=this)._isAligned=!0,rt(this,A,"start",T,A,A,c)}else this._nulling()},_emulateDragOver:function(t){if(C){if(this._lastX===C.clientX&&this._lastY===C.clientY&&!t)return;this._lastX=C.clientX,this._lastY=C.clientY,g||it(E,"display","none");for(var e=f.elementFromPoint(C.clientX,C.clientY),n=e,i=!!$(e,null,T,!0);e&&e.shadowRoot;)n=e=e.shadowRoot.elementFromPoint(C.clientX,C.clientY);if(n)do{if(n[L]){for(var o=b.length;o--;)b[o]({clientX:C.clientX,clientY:C.clientY,target:e,rootEl:n});if(!this.options.dragoverBubble)break}e=n}while(n=n.parentNode);T.parentNode[L]._computeIsAligned(C,i),g||it(E,"display","")}},_onTouchMove:function(t){if(u){var e=this.options,n=e.fallbackTolerance,i=e.fallbackOffset,o=t.touches?t.touches[0]:t,r=o.clientX-u.clientX+i.x,a=o.clientY-u.clientY+i.y,l=t.touches?"translate3d("+r+"px,"+a+"px,0)":"translate("+r+"px,"+a+"px)";if(this.options.supportPointer&&"touchmove"===t.type)return;if(!K.active){if(n&&m(z(o.clientX-this._lastX),z(o.clientY-this._lastY))