((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(t.jQuery)})(this,function(B){B="default"in B?B.default:B;var a={viewMode:0,dragMode:"crop",aspectRatio:NaN,data:null,preview:"",responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,modal:!0,guides:!0,center:!0,highlight:!0,background:!0,autoCrop:!0,autoCropArea:.8,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,wheelZoomRatio:.1,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,minCanvasWidth:0,minCanvasHeight:0,minCropBoxWidth:0,minCropBoxHeight:0,minContainerWidth:200,minContainerHeight:100,ready:null,cropstart:null,cropmove:null,cropend:null,crop:null,zoom:null},N=/^data:.*,/,t="undefined"!=typeof window?window.navigator:null,c=t&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(t.userAgent),p=String.fromCharCode;function w(t){return"number"==typeof t&&!isNaN(t)}function n(t){return void 0===t}function o(r,h){for(var t=arguments.length,s=Array(2<t?t-2:0),e=2;e<t;e++)s[e-2]=arguments[e];return function(){for(var t,e,i,a=arguments.length,o=Array(a),n=0;n<a;n++)o[n]=arguments[n];return r.apply(h,s.concat((t=o,i=[],w(e)&&i.push(e),i.slice.apply(t,i))))}}function k(t){var e=[];return B.each(t,function(t){e.push(t)}),e}function r(t){t=t.match(/^(https?:)\/\/([^:/?#]+):?(\d*)/i);return t&&(t[1]!==location.protocol||t[2]!==location.hostname||t[3]!==location.port)}function h(t){var e="timestamp="+(new Date).getTime();return t+(-1===t.indexOf("?")?"?":"&")+e}function g(t){var e=[],i=t.translateX,a=t.translateY,o=t.rotate,n=t.scaleX,t=t.scaleY;return w(i)&&0!==i&&e.push("translateX("+i+"px)"),w(a)&&0!==a&&e.push("translateY("+a+"px)"),w(o)&&0!==o&&e.push("rotate("+o+"deg)"),w(n)&&1!==n&&e.push("scaleX("+n+")"),w(t)&&1!==t&&e.push("scaleY("+t+")"),e.length?e.join(" "):"none"}function x(t,e){var i=Math.abs(t.degree)%180,i=(90<i?180-i:i)*Math.PI/180,a=Math.sin(i),i=Math.cos(i),o=t.width,n=t.height,t=t.aspectRatio,r=void 0,h=void 0,h=e?(r=o/(i+a/t))/t:(r=o*i+n*a,o*a+n*i);return{width:r,height:h}}function f(t,e){var i,a=B("<canvas>")[0],o=a.getContext("2d"),n=0,r=0,h=e.naturalWidth,s=e.naturalHeight,d=e.rotate,c=e.scaleX,e=e.scaleY,p=w(c)&&w(e)&&(1!==c||1!==e),l=w(d)&&0!==d,m=l||p,g=h*Math.abs(c||1),u=s*Math.abs(e||1),f=void 0,v=void 0;return p&&(f=g/2,v=u/2),l&&(f=(g=(i=x({width:g,height:u,degree:d})).width)/2,v=(u=i.height)/2),a.width=g,a.height=u,m&&(n=-h/2,r=-s/2,o.save(),o.translate(f,v)),l&&o.rotate(d*Math.PI/180),p&&o.scale(c,e),o.drawImage(t,Math.floor(n),Math.floor(r),Math.floor(h),Math.floor(s)),m&&o.restore(),a}function E(t){var e,i=new DataView(t),a=i.byteLength,o=void 0,n=void 0,r=void 0,h=void 0,s=void 0,d=void 0;if(255===i.getUint8(0)&&216===i.getUint8(1))for(s=2;s<a;){if(255===i.getUint8(s)&&225===i.getUint8(s+1)){r=s;break}s++}if(h=r&&(t=r+10,"Exif"===((t,e,i)=>{var a="",o=void 0,o=e;for(i+=e;o<i;o++)a+=p(t.getUint8(o));return a})(i,r+4,4))&&((n=18761===(e=i.getUint16(t)))||19789===e)&&42===i.getUint16(t+2,n)&&8<=(e=i.getUint32(t+4,n))?t+e:h)for(a=i.getUint16(h,n),d=0;d<a;d++)if(274===i.getUint16(s=h+12*d+2,n)){s+=8,o=i.getUint16(s,n),c&&i.setUint16(s,1,n);break}return o}var t={render:function(){var t=this;t.initContainer(),t.initCanvas(),t.initCropBox(),t.renderCanvas(),t.cropped&&t.renderCropBox()},initContainer:function(){var t=this,e=t.options,i=t.$element,a=t.$container,o=t.$cropper,n="cropper-hidden";o.addClass(n),i.removeClass(n),o.css(t.container={width:Math.max(a.width(),Number(e.minContainerWidth)||200),height:Math.max(a.height(),Number(e.minContainerHeight)||100)}),i.addClass(n),o.removeClass(n)},initCanvas:function(){var t=this,e=t.options.viewMode,i=t.container,a=i.width,i=i.height,o=t.image,n=o.naturalWidth,r=o.naturalHeight,h=Math.abs(o.rotate)%180==90,s=h?r:n,h=h?n:r,n=s/h,r=a,d=i,s=(a<i*n?3===e?r=i*n:d=a/n:3===e?d=a/n:r=i*n,{naturalWidth:s,naturalHeight:h,aspectRatio:n,width:r,height:d});s.oldLeft=s.left=(a-r)/2,s.oldTop=s.top=(i-d)/2,t.canvas=s,t.limited=1===e||2===e,t.limitCanvas(!0,!0),t.initialImage=B.extend({},o),t.initialCanvas=B.extend({},s)},limitCanvas:function(t,e){var i=this,a=i.options,o=a.viewMode,n=i.container,r=n.width,n=n.height,h=i.canvas,s=h.aspectRatio,d=i.cropBox,c=i.cropped&&d;t&&(t=Number(a.minCanvasWidth)||0,a=Number(a.minCanvasHeight)||0,o&&(1<o?(t=Math.max(t,r),a=Math.max(a,n),3===o&&(t<a*s?t=a*s:a=t/s)):t?t=Math.max(t,c?d.width:0):a?a=Math.max(a,c?d.height:0):c&&((t=d.width)<(a=d.height)*s?t=a*s:a=t/s)),t&&a?t<a*s?a=t/s:t=a*s:t?a=t/s:a&&(t=a*s),h.minWidth=t,h.minHeight=a,h.maxWidth=1/0,h.maxHeight=1/0),e&&(o?(s=r-h.width,t=n-h.height,h.minLeft=Math.min(0,s),h.minTop=Math.min(0,t),h.maxLeft=Math.max(0,s),h.maxTop=Math.max(0,t),c&&i.limited&&(h.minLeft=Math.min(d.left,d.left+d.width-h.width),h.minTop=Math.min(d.top,d.top+d.height-h.height),h.maxLeft=d.left,h.maxTop=d.top,2===o)&&(h.width>=r&&(h.minLeft=Math.min(0,s),h.maxLeft=Math.max(0,s)),h.height>=n)&&(h.minTop=Math.min(0,t),h.maxTop=Math.max(0,t))):(h.minLeft=-h.width,h.minTop=-h.height,h.maxLeft=r,h.maxTop=n))},renderCanvas:function(t){var e,i,a=this,o=a.canvas,n=a.image,r=n.rotate,h=n.naturalWidth,s=n.naturalHeight;a.rotated&&(a.rotated=!1,e=(i=x({width:n.width,height:n.height,degree:r})).width/i.height,!(n=1===n.aspectRatio)&&e===o.aspectRatio||(o.left-=(i.width-o.width)/2,o.top-=(i.height-o.height)/2,o.width=i.width,o.height=i.height,o.aspectRatio=e,o.naturalWidth=h,o.naturalHeight=s,(n&&r%90||r%180)&&(i=x({width:h,height:s,degree:r}),o.naturalWidth=i.width,o.naturalHeight=i.height),a.limitCanvas(!0,!1))),(o.width>o.maxWidth||o.width<o.minWidth)&&(o.left=o.oldLeft),(o.maxHeight<o.height||o.height<o.minHeight)&&(o.top=o.oldTop),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),a.limitCanvas(!1,!0),o.oldLeft=o.left=Math.min(Math.max(o.left,o.minLeft),o.maxLeft),o.oldTop=o.top=Math.min(Math.max(o.top,o.minTop),o.maxTop),a.$canvas.css({width:o.width,height:o.height,transform:g({translateX:o.left,translateY:o.top})}),a.renderImage(),a.cropped&&a.limited&&a.limitCropBox(!0,!0),t&&a.output()},renderImage:function(t){var e=this.canvas,i=this.image,a=void 0;i.rotate&&(a=x({width:e.width,height:e.height,degree:i.rotate,aspectRatio:i.aspectRatio},!0)),B.extend(i,a?{width:a.width,height:a.height,left:(e.width-a.width)/2,top:(e.height-a.height)/2}:{width:e.width,height:e.height,left:0,top:0}),this.$clone.css({width:i.width,height:i.height,transform:g(B.extend({translateX:i.left,translateY:i.top},i))}),t&&this.output()},initCropBox:function(){var t=this,e=t.options,i=t.canvas,a=e.aspectRatio,e=Number(e.autoCropArea)||.8,o={width:i.width,height:i.height};a&&(i.height*a>i.width?o.height=o.width/a:o.width=o.height*a),t.cropBox=o,t.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*e),o.height=Math.max(o.minHeight,o.height*e),o.oldLeft=o.left=i.left+(i.width-o.width)/2,o.oldTop=o.top=i.top+(i.height-o.height)/2,t.initialCropBox=B.extend({},o)},limitCropBox:function(t,e){var i,a,o=this,n=o.options,r=n.aspectRatio,h=o.container,s=h.width,h=h.height,d=o.canvas,c=o.cropBox,o=o.limited;t&&(t=Number(n.minCropBoxWidth)||0,n=Number(n.minCropBoxHeight)||0,i=Math.min(s,o?d.width:s),a=Math.min(h,o?d.height:h),t=Math.min(t,s),n=Math.min(n,h),r&&(t&&n?t<n*r?n=t/r:t=n*r:t?n=t/r:n&&(t=n*r),i<a*r?a=i/r:i=a*r),c.minWidth=Math.min(t,i),c.minHeight=Math.min(n,a),c.maxWidth=i,c.maxHeight=a),e&&(o?(c.minLeft=Math.max(0,d.left),c.minTop=Math.max(0,d.top),c.maxLeft=Math.min(s,d.left+d.width)-c.width,c.maxTop=Math.min(h,d.top+d.height)-c.height):(c.minLeft=0,c.minTop=0,c.maxLeft=s-c.width,c.maxTop=h-c.height))},renderCropBox:function(){var t=this,e=t.options,i=t.container,a=i.width,i=i.height,o=t.cropBox;(o.width>o.maxWidth||o.width<o.minWidth)&&(o.left=o.oldLeft),(o.maxHeight<o.height||o.height<o.minHeight)&&(o.top=o.oldTop),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),t.limitCropBox(!1,!0),o.oldLeft=o.left=Math.min(Math.max(o.left,o.minLeft),o.maxLeft),o.oldTop=o.top=Math.min(Math.max(o.top,o.minTop),o.maxTop),e.movable&&e.cropBoxMovable&&t.$face.data("action",o.width===a&&o.height===i?"move":"all"),t.$cropBox.css({width:o.width,height:o.height,transform:g({translateX:o.left,translateY:o.top})}),t.cropped&&t.limited&&t.limitCanvas(!0,!0),t.disabled||t.output()},output:function(){this.preview(),this.completed&&this.trigger("crop",this.getData())}},u="preview",i={initPreview:function(){var t=this,a=t.crossOrigin,o=a?t.crossOriginUrl:t.url,e=document.createElement("img"),e=(a&&(e.crossOrigin=a),e.src=o,B(e));t.$preview=B(t.options.preview),t.$clone2=e,t.$viewBox.html(e),t.$preview.each(function(t,e){var e=B(e),i=document.createElement("img");e.data(u,{width:e.width(),height:e.height(),html:e.html()}),a&&(i.crossOrigin=a),i.src=o,i.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.html(i)})},resetPreview:function(){this.$preview.each(function(t,e){var e=B(e),i=e.data(u);e.css({width:i.width,height:i.height}).html(i.html).removeData(u)})},preview:function(){var t=this,h=t.image,e=t.canvas,i=t.cropBox,s=i.width,d=i.height,c=h.width,p=h.height,l=i.left-e.left-h.left,m=i.top-e.top-h.top;t.cropped&&!t.disabled&&(t.$clone2.css({width:c,height:p,transform:g(B.extend({translateX:-l,translateY:-m},h))}),t.$preview.each(function(t,e){var e=B(e),i=e.data(u),a=i.width,i=i.height,o=a,n=i,r=1;s&&(n=d*(r=a/s)),d&&i<n&&(o=s*(r=i/d),n=i),e.css({width:o,height:n}).find("img").css({width:c*r,height:p*r,transform:g(B.extend({translateX:-l*r,translateY:-m*r},h))})}))}},e="undefined"!=typeof window?window.PointerEvent:null,s=e?"pointerdown":"touchstart mousedown",d=e?"pointermove":"touchmove mousemove",l=e?" pointerup pointercancel":"touchend touchcancel mouseup",m="wheel mousewheel DOMMouseScroll",v="dblclick",b="resize",y="cropstart",C="cropmove",M="cropend",$="crop",T="zoom",e={bind:function(){var t=this,e=t.options,i=t.$element,a=t.$cropper;B.isFunction(e.cropstart)&&i.on(y,e.cropstart),B.isFunction(e.cropmove)&&i.on(C,e.cropmove),B.isFunction(e.cropend)&&i.on(M,e.cropend),B.isFunction(e.crop)&&i.on($,e.crop),B.isFunction(e.zoom)&&i.on(T,e.zoom),a.on(s,o(t.cropStart,this)),e.zoomable&&e.zoomOnWheel&&a.on(m,o(t.wheel,this)),e.toggleDragModeOnDblclick&&a.on(v,o(t.dblclick,this)),B(document).on(d,t.onCropMove=o(t.cropMove,this)).on(l,t.onCropEnd=o(t.cropEnd,this)),e.responsive&&B(window).on(b,t.onResize=o(t.resize,this))},unbind:function(){var t=this,e=t.options,i=t.$element,a=t.$cropper;B.isFunction(e.cropstart)&&i.off(y,e.cropstart),B.isFunction(e.cropmove)&&i.off(C,e.cropmove),B.isFunction(e.cropend)&&i.off(M,e.cropend),B.isFunction(e.crop)&&i.off($,e.crop),B.isFunction(e.zoom)&&i.off(T,e.zoom),a.off(s,t.cropStart),e.zoomable&&e.zoomOnWheel&&a.off(m,t.wheel),e.toggleDragModeOnDblclick&&a.off(v,t.dblclick),B(document).off(d,t.onCropMove).off(l,t.onCropEnd),e.responsive&&B(window).off(b,t.onResize)}},I=/^(e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/;function D(t,e){var i=t.pageX,t=t.pageY,a={endX:i,endY:t};return e?a:B.extend({startX:i,startY:t},a)}var P={resize:function(){var i,a,o,t=this,e=t.options,n=t.$container,r=t.container,h=Number(e.minContainerWidth)||200,s=Number(e.minContainerHeight)||100;t.disabled||r.width===h||r.height===s||1==(i=n.width()/r.width)&&n.height()===r.height||(o=a=void 0,e.restore&&(a=t.getCanvasData(),o=t.getCropBoxData()),t.render(),e.restore&&(t.setCanvasData(B.each(a,function(t,e){a[t]=e*i})),t.setCropBoxData(B.each(o,function(t,e){o[t]=e*i}))))},dblclick:function(){this.disabled||"none"===this.options.dragMode||this.setDragMode(this.$dragBox.hasClass("cropper-crop")?"move":"crop")},wheel:function(t){var e,i=this,a=t.originalEvent||t,o=Number(i.options.wheelZoomRatio)||.1;i.disabled||(t.preventDefault(),i.wheeling)||(i.wheeling=!0,setTimeout(function(){i.wheeling=!1},50),e=1,a.deltaY?e=0<a.deltaY?1:-1:a.wheelDelta?e=-a.wheelDelta/120:a.detail&&(e=0<a.detail?1:-1),i.zoom(-e*o,t))},cropStart:function(t){var e,i,a,o,n=this;n.disabled||(e=n.options,i=n.pointers,o=void 0,(a=t.originalEvent)&&a.changedTouches?B.each(a.changedTouches,function(t,e){i[e.identifier]=D(e)}):i[a&&a.pointerId||0]=D(a||t),o=1<k(i).length&&e.zoomable&&e.zoomOnTouch?"zoom":B(t.target).data("action"),!I.test(o))||n.trigger("cropstart",{originalEvent:a,action:o}).isDefaultPrevented()||(t.preventDefault(),n.action=o,n.cropping=!1,"crop"===o&&(n.cropping=!0,n.$dragBox.addClass("cropper-modal")))},cropMove:function(t){var i,e,a=this,o=a.action;a.disabled||!o||(i=a.pointers,e=t.originalEvent,t.preventDefault(),a.trigger("cropmove",{originalEvent:e,action:o}).isDefaultPrevented())||(e&&e.changedTouches?B.each(e.changedTouches,function(t,e){B.extend(i[e.identifier],D(e,!0))}):B.extend(i[e&&e.pointerId||0],D(e||t,!0)),a.change(t))},cropEnd:function(t){var e,i,a,o=this;o.disabled||(e=o.action,i=o.pointers,(a=t.originalEvent)&&a.changedTouches?B.each(a.changedTouches,function(t,e){delete i[e.identifier]}):delete i[a&&a.pointerId||0],e&&(t.preventDefault(),k(i).length||(o.action=""),o.cropping&&(o.cropping=!1,o.$dragBox.toggleClass("cropper-modal",o.cropped&&o.options.modal)),o.trigger("cropend",{originalEvent:a,action:e})))}},X="se",Y="sw",W="ne",H="nw";var U={change:function(t){var e,i,r,a=this,o=a.options,n=a.pointers,h=n[k(n)[0]],s=a.container,d=a.canvas,c=a.cropBox,p=a.action,l=o.aspectRatio,m=c.width,g=c.height,u=c.left,f=c.top,v=u+m,w=f+g,x=0,b=0,y=s.width,C=s.height,M=!0,$=(!l&&t.shiftKey&&(l=m&&g?m/g:1),a.limited&&(x=c.minLeft,b=c.minTop,y=x+Math.min(s.width,d.width,d.left+d.width),C=b+Math.min(s.height,d.height,d.top+d.height)),{x:h.endX-h.startX,y:h.endY-h.startY});switch(l&&($.X=$.y*l,$.Y=$.x/l),p){case"all":u+=$.x,f+=$.y;break;case"e":0<=$.x&&(y<=v||l&&(f<=b||C<=w))?M=!1:(m+=$.x,l&&(g=m/l,f-=$.Y/2),m<0&&(p="w",m=0));break;case"n":$.y<=0&&(f<=b||l&&(u<=x||y<=v))?M=!1:(g-=$.y,f+=$.y,l&&(m=g*l,u+=$.X/2),g<0&&(p="s",g=0));break;case"w":$.x<=0&&(u<=x||l&&(f<=b||C<=w))?M=!1:(m-=$.x,u+=$.x,l&&(g=m/l,f+=$.Y/2),m<0&&(p="e",m=0));break;case"s":0<=$.y&&(C<=w||l&&(u<=x||y<=v))?M=!1:(g+=$.y,l&&(m=g*l,u-=$.X/2),g<0&&(p="n",g=0));break;case W:if(l){if($.y<=0&&(f<=b||y<=v)){M=!1;break}f+=$.y,m=(g-=$.y)*l}else!(0<=$.x)||v<y?m+=$.x:$.y<=0&&f<=b&&(M=!1),(!($.y<=0)||b<f)&&(g-=$.y,f+=$.y);m<0&&g<0?(p=Y,m=g=0):m<0?(p=H,m=0):g<0&&(p=X,g=0);break;case H:if(l){if($.y<=0&&(f<=b||u<=x)){M=!1;break}f+=$.y,m=(g-=$.y)*l,u+=$.X}else!($.x<=0)||x<u?(m-=$.x,u+=$.x):$.y<=0&&f<=b&&(M=!1),(!($.y<=0)||b<f)&&(g-=$.y,f+=$.y);m<0&&g<0?(p=X,m=g=0):m<0?(p=W,m=0):g<0&&(p=Y,g=0);break;case Y:if(l){if($.x<=0&&(u<=x||C<=w)){M=!1;break}u+=$.x,g=(m-=$.x)/l}else!($.x<=0)||x<u?(m-=$.x,u+=$.x):0<=$.y&&C<=w&&(M=!1),(!(0<=$.y)||w<C)&&(g+=$.y);m<0&&g<0?(p=W,m=g=0):m<0?(p=X,m=0):g<0&&(p=H,g=0);break;case X:if(l){if(0<=$.x&&(y<=v||C<=w)){M=!1;break}g=(m+=$.x)/l}else!(0<=$.x)||v<y?m+=$.x:0<=$.y&&C<=w&&(M=!1),(!(0<=$.y)||w<C)&&(g+=$.y);m<0&&g<0?(p=H,m=g=0):m<0?(p=Y,m=0):g<0&&(p=W,g=0);break;case"move":a.move($.x,$.y),M=!1;break;case"zoom":a.zoom((e=n,i=B.extend({},e),r=[],B.each(e,function(t,n){delete i[t],B.each(i,function(t,e){var i=Math.abs(n.startX-e.startX),a=Math.abs(n.startY-e.startY),o=Math.abs(n.endX-e.endX),e=Math.abs(n.endY-e.endY),i=Math.sqrt(i*i+a*a),a=Math.sqrt(o*o+e*e);r.push((a-i)/i)})}),r.sort(function(t,e){return Math.abs(t)<Math.abs(e)}),r[0]),t.originalEvent),M=!1;break;case"crop":$.x&&$.y?(e=a.$cropper.offset(),u=h.startX-e.left,f=h.startY-e.top,m=c.minWidth,g=c.minHeight,0<$.x?p=0<$.y?X:W:$.x<0&&(u-=m,p=0<$.y?Y:H),$.y<0&&(f-=g),a.cropped||(a.$cropBox.removeClass("cropper-hidden"),a.cropped=!0,a.limited&&a.limitCropBox(!0,!0))):M=!1}M&&(c.width=m,c.height=g,c.left=u,c.top=f,a.action=p,a.renderCropBox()),B.each(n,function(t,e){e.startX=e.endX,e.startY=e.endY})}};function O(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var A={crop:function(){var t=this;t.ready&&!t.disabled&&(t.cropped||(t.cropped=!0,t.limitCropBox(!0,!0),t.options.modal&&t.$dragBox.addClass("cropper-modal"),t.$cropBox.removeClass("cropper-hidden")),t.setCropBoxData(t.initialCropBox))},reset:function(){var t=this;t.ready&&!t.disabled&&(t.image=B.extend({},t.initialImage),t.canvas=B.extend({},t.initialCanvas),t.cropBox=B.extend({},t.initialCropBox),t.renderCanvas(),t.cropped)&&t.renderCropBox()},clear:function(){var t=this;t.cropped&&!t.disabled&&(B.extend(t.cropBox,{left:0,top:0,width:0,height:0}),t.cropped=!1,t.renderCropBox(),t.limitCanvas(!0,!0),t.renderCanvas(),t.$dragBox.removeClass("cropper-modal"),t.$cropBox.addClass("cropper-hidden"))},replace:function(t,e){var i=this;!i.disabled&&t&&(i.isImg&&i.$element.attr("src",t),e?(i.url=t,i.$clone.attr("src",t),i.ready&&i.$preview.find("img").add(i.$clone2).attr("src",t)):(i.isImg&&(i.replaced=!0),i.options.data=null,i.load(t)))},enable:function(){this.ready&&(this.disabled=!1,this.$cropper.removeClass("cropper-disabled"))},disable:function(){this.ready&&(this.disabled=!0,this.$cropper.addClass("cropper-disabled"))},destroy:function(){var t=this,e=t.$element;t.loaded?(t.isImg&&t.replaced&&e.attr("src",t.originalUrl),t.unbuild(),e.removeClass("cropper-hidden")):t.isImg?e.off("load",t.start):t.$clone&&t.$clone.remove(),e.removeData("cropper")},move:function(t,e){var i=this.canvas;this.moveTo(n(t)?t:i.left+Number(t),n(e)?e:i.top+Number(e))},moveTo:function(t,e){var i=this,a=i.canvas,o=!1;n(e)&&(e=t),t=Number(t),e=Number(e),i.ready&&!i.disabled&&i.options.movable&&(w(t)&&(a.left=t,o=!0),w(e)&&(a.top=e,o=!0),o)&&i.renderCanvas(!0)},zoom:function(t,e){var i=this.canvas;t=Number(t),this.zoomTo(i.width*(t=t<0?1/(1-t):1+t)/i.naturalWidth,e)},zoomTo:function(t,e){var a,o,n,i=this,r=i.options,h=i.pointers,s=i.canvas,d=s.width,c=s.height,p=s.naturalWidth,l=s.naturalHeight;0<=(t=Number(t))&&i.ready&&!i.disabled&&r.zoomable&&(r=l*t,l=void 0,e&&(l=e.originalEvent),i.trigger("zoom",{originalEvent:l,oldRatio:d/p,ratio:(t=p*t)/p}).isDefaultPrevented()||(l?(p=i.$cropper.offset(),h=h&&k(h).length?(n=o=a=0,B.each(h,function(t,e){var i=e.startX;a+=i,o+=e.startY,n+=1}),{pageX:a/=n,pageY:o/=n}):{pageX:e.pageX||l.pageX||0,pageY:e.pageY||l.pageY||0},s.left-=(t-d)*((h.pageX-p.left-s.left)/d),s.top-=(r-c)*((h.pageY-p.top-s.top)/c)):(s.left-=(t-d)/2,s.top-=(r-c)/2),s.width=t,s.height=r,i.renderCanvas(!0)))},rotate:function(t){this.rotateTo((this.image.rotate||0)+Number(t))},rotateTo:function(t){var e=this;w(t=Number(t))&&e.ready&&!e.disabled&&e.options.rotatable&&(e.image.rotate=t%360,e.rotated=!0,e.renderCanvas(!0))},scale:function(t,e){var i=this,a=i.image,o=!1;n(e)&&(e=t),t=Number(t),e=Number(e),i.ready&&!i.disabled&&i.options.scalable&&(w(t)&&(a.scaleX=t,o=!0),w(e)&&(a.scaleY=e,o=!0),o)&&i.renderImage(!0)},scaleX:function(t){var e=this.image.scaleY;this.scale(t,w(e)?e:1)},scaleY:function(t){var e=this.image.scaleX;this.scale(w(e)?e:1,t)},getData:function(i){var a,t=this,e=t.options,o=t.image,n=t.canvas,r=t.cropBox,h=void 0;return t.ready&&t.cropped?(h={x:r.left-n.left,y:r.top-n.top,width:r.width,height:r.height},a=o.width/o.naturalWidth,B.each(h,function(t,e){e/=a,h[t]=i?Math.round(e):e})):h={x:0,y:0,width:0,height:0},e.rotatable&&(h.rotate=o.rotate||0),e.scalable&&(h.scaleX=o.scaleX||1,h.scaleY=o.scaleY||1),h},setData:function(t){var e=this,i=e.options,a=e.image,o=e.canvas,n={},r=void 0,h=void 0;B.isFunction(t)&&(t=t.call(e.element)),e.ready&&!e.disabled&&B.isPlainObject(t)&&(i.rotatable&&w(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,e.rotated=r=!0),i.scalable&&(w(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,h=!0),w(t.scaleY))&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,h=!0),r?e.renderCanvas():h&&e.renderImage(),i=a.width/a.naturalWidth,w(t.x)&&(n.left=t.x*i+o.left),w(t.y)&&(n.top=t.y*i+o.top),w(t.width)&&(n.width=t.width*i),w(t.height)&&(n.height=t.height*i),e.setCropBoxData(n))},getContainerData:function(){return this.ready?this.container:{}},getImageData:function(){return this.loaded?this.image:{}},getCanvasData:function(){var i=this.canvas,a={};return this.ready&&B.each(["left","top","width","height","naturalWidth","naturalHeight"],function(t,e){a[e]=i[e]}),a},setCanvasData:function(t){var e=this,i=e.canvas,a=i.aspectRatio;B.isFunction(t)&&(t=t.call(e.$element)),e.ready&&!e.disabled&&B.isPlainObject(t)&&(w(t.left)&&(i.left=t.left),w(t.top)&&(i.top=t.top),w(t.width)?(i.width=t.width,i.height=t.width/a):w(t.height)&&(i.height=t.height,i.width=t.height*a),e.renderCanvas(!0))},getCropBoxData:function(){var t=this.cropBox;return this.ready&&this.cropped?{left:t.left,top:t.top,width:t.width,height:t.height}:{}},setCropBoxData:function(t){var e=this,i=e.cropBox,a=e.options.aspectRatio,o=void 0,n=void 0;B.isFunction(t)&&(t=t.call(e.$element)),e.ready&&e.cropped&&!e.disabled&&B.isPlainObject(t)&&(w(t.left)&&(i.left=t.left),w(t.top)&&(i.top=t.top),w(t.width)&&t.width!==i.width&&(o=!0,i.width=t.width),w(t.height)&&t.height!==i.height&&(n=!0,i.height=t.height),a&&(o?i.height=i.width/a:n&&(i.width=i.height*a)),e.renderCropBox())},getCroppedCanvas:function(t){var e=this;if(!e.ready||!window.HTMLCanvasElement)return null;if(!e.cropped)return f(e.$clone[0],e.image);B.isPlainObject(t)||(t={});var i,a,o,n,r,h,s=e.getData(),d=s.width,c=s.height,p=d/c,l=void 0,m=void 0,g=void 0,p=(B.isPlainObject(t)&&(l=t.width,m=t.height,l?(m=l/p,g=l/d):m&&(l=m*p,g=m/c)),Math.floor(l||d)),l=Math.floor(m||c),m=B("<canvas>")[0],u=m.getContext("2d"),d=(m.width=p,m.height=l,t.fillColor&&(u.fillStyle=t.fillColor,u.fillRect(0,0,p,l)),t=f(e.$clone[0],e.image),p=t.width,l=t.height,e=e.canvas,t=[t],i=s.x+e.naturalWidth*(Math.abs(s.scaleX||1)-1)/2,e=s.y+e.naturalHeight*(Math.abs(s.scaleY||1)-1)/2,h=r=n=o=a=s=void 0,i<=-d||p<i?i=s=o=r=0:i<=0?(o=-i,i=0,s=r=Math.min(p,d+i)):i<=p&&(o=0,s=r=Math.min(d,p-i)),s<=0||e<=-c||l<e?e=a=n=h=0:e<=0?(n=-e,e=0,a=h=Math.min(l,c+e)):e<=l&&(n=0,a=h=Math.min(c,l-e)),t.push(Math.floor(i),Math.floor(e),Math.floor(s),Math.floor(a)),g&&(o*=g,n*=g,r*=g,h*=g),0<r&&0<h&&t.push(Math.floor(o),Math.floor(n),Math.floor(r),Math.floor(h)),t);return u.drawImage.apply(u,(t=>{if(Array.isArray(t)){for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}return Array.from(t)})(d)),m},setAspectRatio:function(t){var e=this,i=e.options;e.disabled||n(t)||(i.aspectRatio=Math.max(0,t)||NaN,e.ready&&(e.initCropBox(),e.cropped)&&e.renderCropBox())},setDragMode:function(t){var e,i,a=this,o=a.options;a.loaded&&!a.disabled&&(i=o.movable&&"move"===t,a.$dragBox.data("action",t=(e="crop"===t)||i?t:"none").toggleClass("cropper-crop",e).toggleClass("cropper-move",i),o.cropBoxMovable||a.$face.data("action",t).toggleClass("cropper-crop",e).toggleClass("cropper-move",i))}},z="cropper-hidden",j=/^data:/,F=/^data:image\/jpeg;base64,/,R=(function(t,e,i){return e&&O(t.prototype,e),i&&O(t,i),t}(L,[{key:"init",value:function(){var t=this.$element,e=void 0;if(t.is("img")){if(this.isImg=!0,this.originalUrl=e=t.attr("src"),!e)return;e=t.prop("src")}else t.is("canvas")&&window.HTMLCanvasElement&&(e=t[0].toDataURL());this.load(e)}},{key:"trigger",value:function(t,e){t=B.Event(t,e);return this.$element.trigger(t),t}},{key:"load",value:function(t){var e,i=this,a=i.options,o=i.$element;t&&(i.url=t,i.image={},a.checkOrientation&&window.ArrayBuffer?j.test(t)?F.test(t)?i.read((t=>{for(var t=t.replace(N,""),e=atob(t),i=e.length,t=new ArrayBuffer(i),a=new Uint8Array(t),o=void 0,o=0;o<i;o++)a[o]=e.charCodeAt(o);return t})(t)):i.clone():((e=new XMLHttpRequest).onerror=e.onabort=B.proxy(function(){i.clone()},this),e.onload=function(){i.read(this.response)},a.checkCrossOrigin&&r(t)&&o.prop("crossOrigin")&&(t=h(t)),e.open("get",t),e.responseType="arraybuffer",e.withCredentials="use-credentials"===o.prop("crossOrigin"),e.send()):i.clone())}},{key:"read",value:function(t){var e=this.options,i=E(t),a=this.image,o=0,n=1,r=1;if(1<i)switch(this.url=(t=>{for(var e=new Uint8Array(t),i=e.length,a="",o=void 0,o=0;o<i;o++)a+=p(e[o]);return"data:image/jpeg;base64,"+btoa(a)})(t),i){case 2:n=-1;break;case 3:o=-180;break;case 4:r=-1;break;case 5:o=90,r=-1;break;case 6:o=90;break;case 7:o=90,n=-1;break;case 8:o=-90}e.rotatable&&(a.rotate=o),e.scalable&&(a.scaleX=n,a.scaleY=r),this.clone()}},{key:"clone",value:function(){var t=this,e=t.options,i=t.$element,a=t.url,o="",n=void 0,e=(e.checkCrossOrigin&&r(a)&&(n=(o=i.prop("crossOrigin"))?a:(o="anonymous",h(a))),t.crossOrigin=o,t.crossOriginUrl=n,document.createElement("img")),o=(o&&(e.crossOrigin=o),e.src=n||a,B(e));t.$clone=o,t.isImg?i[0].complete?t.start():i.one("load",B.proxy(t.start,this)):o.one("load",B.proxy(t.start,this)).one("error",B.proxy(t.stop,this)).addClass("cropper-hide").insertAfter(i)}},{key:"start",value:function(){var t,i=this,e=i.$clone,a=i.$element;i.isImg||(e.off("error",i.stop),a=e),e=a[0],t=function(t,e){B.extend(i.image,{naturalWidth:t,naturalHeight:e,aspectRatio:t/e}),i.loaded=!0,i.build()},e.naturalWidth&&!c?t(e.naturalWidth,e.naturalHeight):((a=document.createElement("img")).onload=function(){t(this.width,this.height)},a.src=e.src)}},{key:"stop",value:function(){this.$clone.remove(),this.$clone=null}},{key:"build",value:function(){var t=this,e=t.options,i=t.$element,a=t.$clone,o=void 0,n=void 0,r=void 0;t.loaded&&(t.ready&&t.unbuild(),t.$container=i.parent(),t.$cropper=o=B('<div class="cropper-container"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-action="e"></span><span class="cropper-line line-n" data-action="n"></span><span class="cropper-line line-w" data-action="w"></span><span class="cropper-line line-s" data-action="s"></span><span class="cropper-point point-e" data-action="e"></span><span class="cropper-point point-n" data-action="n"></span><span class="cropper-point point-w" data-action="w"></span><span class="cropper-point point-s" data-action="s"></span><span class="cropper-point point-ne" data-action="ne"></span><span class="cropper-point point-nw" data-action="nw"></span><span class="cropper-point point-sw" data-action="sw"></span><span class="cropper-point point-se" data-action="se"></span></div></div>'),t.$canvas=o.find(".cropper-canvas").append(a),t.$dragBox=o.find(".cropper-drag-box"),t.$cropBox=n=o.find(".cropper-crop-box"),t.$viewBox=o.find(".cropper-view-box"),t.$face=r=n.find(".cropper-face"),i.addClass(z).after(o),t.isImg||a.removeClass("cropper-hide"),t.initPreview(),t.bind(),e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,t.cropped=e.autoCrop,e.autoCrop?e.modal&&t.$dragBox.addClass("cropper-modal"):n.addClass(z),e.guides||n.find(".cropper-dashed").addClass(z),e.center||n.find(".cropper-center").addClass(z),e.cropBoxMovable&&r.addClass("cropper-move").data("action","all"),e.highlight||r.addClass("cropper-invisible"),e.background&&o.addClass("cropper-bg"),e.cropBoxResizable||n.find(".cropper-line, .cropper-point").addClass(z),t.setDragMode(e.dragMode),t.render(),t.ready=!0,t.setData(e.data),t.completing=setTimeout(function(){B.isFunction(e.ready)&&i.one("ready",e.ready),t.trigger("ready"),t.trigger("crop",t.getData()),t.completed=!0},0))}},{key:"unbuild",value:function(){var t=this;t.ready&&(t.completed||clearTimeout(t.completing),t.ready=!1,t.completed=!1,t.initialImage=null,t.initialCanvas=null,t.initialCropBox=null,t.container=null,t.canvas=null,t.cropBox=null,t.unbind(),t.resetPreview(),t.$preview=null,t.$viewBox=null,t.$cropBox=null,t.$dragBox=null,t.$canvas=null,t.$container=null,t.$cropper.remove(),t.$cropper=null)}}],[{key:"setDefaults",value:function(t){B.extend(a,B.isPlainObject(t)&&t)}}]),L);function L(t,e){if(!(this instanceof L))throw new TypeError("Cannot call a class as a function");var i=this;i.$element=B(t),i.options=B.extend({},a,B.isPlainObject(e)&&e),i.loaded=!1,i.ready=!1,i.completed=!1,i.rotated=!1,i.cropped=!1,i.disabled=!1,i.replaced=!1,i.limited=!1,i.wheeling=!1,i.isImg=!1,i.originalUrl="",i.canvas=null,i.cropBox=null,i.pointers={},i.init()}B.extend(R.prototype,t),B.extend(R.prototype,i),B.extend(R.prototype,e),B.extend(R.prototype,P),B.extend(R.prototype,U),B.extend(R.prototype,A);var q="cropper",S=B.fn.cropper;B.fn.cropper=function(n){for(var t=arguments.length,r=Array(1<t?t-1:0),e=1;e<t;e++)r[e-1]=arguments[e];var h=void 0;return this.each(function(t,e){var i=B(e),a=i.data(q);if(!a){if(/destroy/.test(n))return;var o=B.extend({},i.data(),B.isPlainObject(n)&&n);i.data(q,a=new R(e,o))}"string"==typeof n&&(i=a[n],B.isFunction(i))&&(h=i.apply(a,r))}),void 0!==h?h:this},B.fn.cropper.Constructor=R,B.fn.cropper.setDefaults=R.setDefaults,B.fn.cropper.noConflict=function(){return B.fn.cropper=S,this}});