(function(){var Dropzone,Emitter,camelize,contentLoaded,detectVerticalSquash,drawImageIOSFix,noop,without,__slice=[].slice,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent)__hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child};noop=function(){},Emitter=function(){function Emitter(){}return Emitter.prototype.addEventListener=Emitter.prototype.on,Emitter.prototype.on=function(event,fn){return this._callbacks=this._callbacks||{},this._callbacks[event]||(this._callbacks[event]=[]),this._callbacks[event].push(fn),this},Emitter.prototype.emit=function(){var args,callback,callbacks,event,_i,_len;if(event=arguments[0],args=2<=arguments.length?__slice.call(arguments,1):[],this._callbacks=this._callbacks||{},callbacks=this._callbacks[event])for(_i=0,_len=callbacks.length;_i<_len;_i++)(callback=callbacks[_i]).apply(this,args);return this},Emitter.prototype.removeListener=Emitter.prototype.off,Emitter.prototype.removeAllListeners=Emitter.prototype.off,Emitter.prototype.removeEventListener=Emitter.prototype.off,Emitter.prototype.off=function(event,fn){var callback,callbacks,i,_i,_len;if(!this._callbacks||0===arguments.length)return this._callbacks={},this;if(!(callbacks=this._callbacks[event]))return this;if(1===arguments.length)return delete this._callbacks[event],this;for(i=_i=0,_len=callbacks.length;_i<_len;i=++_i)if((callback=callbacks[i])===fn){callbacks.splice(i,1);break}return this},Emitter}(),(Dropzone=function(_super){var extend,resolveOption;function Dropzone(element,options){var elementOptions,fallback,_ref;if(this.element=element,this.version=Dropzone.version,this.defaultOptions.previewTemplate=this.defaultOptions.previewTemplate.replace(/\n*/g,""),this.clickableElements=[],this.listeners=[],this.files=[],"string"==typeof this.element&&(this.element=document.querySelector(this.element)),!this.element||null==this.element.nodeType)throw new Error("Invalid dropzone element.");if(this.element.dropzone)throw new Error("Dropzone already attached.");if(Dropzone.instances.push(this),this.element.dropzone=this,elementOptions=null!=(_ref=Dropzone.optionsForElement(this.element))?_ref:{},this.options=extend({},this.defaultOptions,elementOptions,null!=options?options:{}),this.options.forceFallback||!Dropzone.isBrowserSupported())return this.options.fallback.call(this);if(null==this.options.url&&(this.options.url=this.element.getAttribute("action")),!this.options.url)throw new Error("No URL provided.");if(this.options.acceptedFiles&&this.options.acceptedMimeTypes)throw new Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.");this.options.acceptedMimeTypes&&(this.options.acceptedFiles=this.options.acceptedMimeTypes,delete this.options.acceptedMimeTypes),this.options.method=this.options.method.toUpperCase(),(fallback=this.getExistingFallback())&&fallback.parentNode&&fallback.parentNode.removeChild(fallback),!1!==this.options.previewsContainer&&(this.options.previewsContainer?this.previewsContainer=Dropzone.getElement(this.options.previewsContainer,"previewsContainer"):this.previewsContainer=this.element),this.options.clickable&&(!0===this.options.clickable?this.clickableElements=[this.element]:this.clickableElements=Dropzone.getElements(this.options.clickable,"clickable")),this.init()}return __extends(Dropzone,_super),Dropzone.prototype.Emitter=Emitter,Dropzone.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","addedfile","addedfiles","removedfile","thumbnail","error","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded","maxfilesreached","queuecomplete"],Dropzone.prototype.defaultOptions={url:null,method:"post",withCredentials:!1,parallelUploads:2,uploadMultiple:!1,maxFilesize:256,paramName:"file",createImageThumbnails:!0,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,filesizeBase:1e3,maxFiles:null,params:{},clickable:!0,ignoreHiddenFiles:!0,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:!0,autoQueue:!0,addRemoveLinks:!1,previewsContainer:null,capture:null,dictDefaultMessage:"Drop files here to upload",dictFallbackMessage:"Your browser does not support drag'n'drop file uploads.",dictFallbackText:"Please use the fallback form below to upload your files like in the olden days.",dictFileTooBig:"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",dictInvalidFileType:"You can't upload files of this type.",dictResponseError:"Server responded with {{statusCode}} code.",dictCancelUpload:"Cancel upload",dictCancelUploadConfirmation:"Are you sure you want to cancel this upload?",dictRemoveFile:"Remove file",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:"You can not upload any more files.",accept:function(file,done){return done()},init:function(){return noop},forceFallback:!1,fallback:function(){var child,messageElement,span,_i,_len,_ref;for(this.element.className=this.element.className+" dz-browser-not-supported",_i=0,_len=(_ref=this.element.getElementsByTagName("div")).length;_i<_len;_i++)child=_ref[_i],/(^| )dz-message($| )/.test(child.className)&&(messageElement=child,child.className="dz-message");return messageElement||(messageElement=Dropzone.createElement('
',fields=Dropzone.createElement(fieldsString),"FORM"!==this.element.tagName?(form=Dropzone.createElement('')).appendChild(fields):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),null!=form?form:fields)},Dropzone.prototype.getExistingFallback=function(){var fallback,getFallback,tagName,_i,_len,_ref;for(getFallback=function(elements){var el,_i,_len;for(_i=0,_len=elements.length;_i<_len;_i++)if(el=elements[_i],/(^| )fallback($| )/.test(el.className))return el},_i=0,_len=(_ref=["div","form"]).length;_i<_len;_i++)if(tagName=_ref[_i],fallback=getFallback(this.element.getElementsByTagName(tagName)))return fallback},Dropzone.prototype.setupEventListeners=function(){var elementListeners,event,listener,_i,_len,_ref,_results;for(_results=[],_i=0,_len=(_ref=this.listeners).length;_i<_len;_i++)elementListeners=_ref[_i],_results.push(function(){var _ref1,_results1;for(event in _results1=[],_ref1=elementListeners.events)listener=_ref1[event],_results1.push(elementListeners.element.addEventListener(event,listener,!1));return _results1}());return _results},Dropzone.prototype.removeEventListeners=function(){var elementListeners,event,listener,_i,_len,_ref,_results;for(_results=[],_i=0,_len=(_ref=this.listeners).length;_i<_len;_i++)elementListeners=_ref[_i],_results.push(function(){var _ref1,_results1;for(event in _results1=[],_ref1=elementListeners.events)listener=_ref1[event],_results1.push(elementListeners.element.removeEventListener(event,listener,!1));return _results1}());return _results},Dropzone.prototype.disable=function(){var file,_i,_len,_ref,_results;for(this.clickableElements.forEach((function(element){return element.classList.remove("dz-clickable")})),this.removeEventListeners(),_results=[],_i=0,_len=(_ref=this.files).length;_i<_len;_i++)file=_ref[_i],_results.push(this.cancelUpload(file));return _results},Dropzone.prototype.enable=function(){return this.clickableElements.forEach((function(element){return element.classList.add("dz-clickable")})),this.setupEventListeners()},Dropzone.prototype.filesize=function(size){var cutoff,i,selectedSize,selectedUnit,unit,units,_i,_len;if(selectedSize=0,selectedUnit="b",size>0){for(i=_i=0,_len=(units=["TB","GB","MB","KB","b"]).length;_i<_len;i=++_i)if(unit=units[i],size>=(cutoff=Math.pow(this.options.filesizeBase,4-i)/10)){selectedSize=size/Math.pow(this.options.filesizeBase,4-i),selectedUnit=unit;break}selectedSize=Math.round(10*selectedSize)/10}return""+selectedSize+" "+selectedUnit},Dropzone.prototype._updateMaxFilesReachedClass=function(){return null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")},Dropzone.prototype.drop=function(e){var files,items;e.dataTransfer&&(this.emit("drop",e),files=e.dataTransfer.files,this.emit("addedfiles",files),files.length&&((items=e.dataTransfer.items)&&items.length&&null!=items[0].webkitGetAsEntry?this._addFilesFromItems(items):this.handleFiles(files)))},Dropzone.prototype.paste=function(e){var items,_ref;if(null!=(null!=e&&null!=(_ref=e.clipboardData)?_ref.items:void 0))return this.emit("paste",e),(items=e.clipboardData.items).length?this._addFilesFromItems(items):void 0},Dropzone.prototype.handleFiles=function(files){var file,_i,_len,_results;for(_results=[],_i=0,_len=files.length;_i<_len;_i++)file=files[_i],_results.push(this.addFile(file));return _results},Dropzone.prototype._addFilesFromItems=function(items){var entry,item,_i,_len,_results;for(_results=[],_i=0,_len=items.length;_i<_len;_i++)null!=(item=items[_i]).webkitGetAsEntry&&(entry=item.webkitGetAsEntry())?entry.isFile?_results.push(this.addFile(item.getAsFile())):entry.isDirectory?_results.push(this._addFilesFromDirectory(entry,entry.name)):_results.push(void 0):null!=item.getAsFile&&(null==item.kind||"file"===item.kind)?_results.push(this.addFile(item.getAsFile())):_results.push(void 0);return _results},Dropzone.prototype._addFilesFromDirectory=function(directory,path){var dirReader,entriesReader,_this;return dirReader=directory.createReader(),_this=this,entriesReader=function(entries){var entry,_i,_len;for(_i=0,_len=entries.length;_i<_len;_i++)(entry=entries[_i]).isFile?entry.file((function(file){if(!_this.options.ignoreHiddenFiles||"."!==file.name.substring(0,1))return file.fullPath=path+"/"+file.name,_this.addFile(file)})):entry.isDirectory&&_this._addFilesFromDirectory(entry,path+"/"+entry.name)},dirReader.readEntries(entriesReader,(function(error){return"undefined"!=typeof console&&null!==console&&"function"==typeof console.log?console.log(error):void 0}))},Dropzone.prototype.accept=function(file,done){return file.size>1024*this.options.maxFilesize*1024?done(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(file.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):Dropzone.isValidFile(file,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(done(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",file)):this.options.accept.call(this,file,done):done(this.options.dictInvalidFileType)},Dropzone.prototype.addFile=function(file){return file.upload={progress:0,total:file.size,bytesSent:0},this.files.push(file),file.status=Dropzone.ADDED,this.emit("addedfile",file),this._enqueueThumbnail(file),this.accept(file,(_this=this,function(error){return error?(file.accepted=!1,_this._errorProcessing([file],error)):(file.accepted=!0,_this.options.autoQueue&&_this.enqueueFile(file)),_this._updateMaxFilesReachedClass()}));var _this},Dropzone.prototype.enqueueFiles=function(files){var file,_i,_len;for(_i=0,_len=files.length;_i<_len;_i++)file=files[_i],this.enqueueFile(file);return null},Dropzone.prototype.enqueueFile=function(file){if(file.status!==Dropzone.ADDED||!0!==file.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");if(file.status=Dropzone.QUEUED,this.options.autoProcessQueue)return setTimeout((_this=this,function(){return _this.processQueue()}),0);var _this},Dropzone.prototype._thumbnailQueue=[],Dropzone.prototype._processingThumbnail=!1,Dropzone.prototype._enqueueThumbnail=function(file){if(this.options.createImageThumbnails&&file.type.match(/image.*/)&&file.size<=1024*this.options.maxThumbnailFilesize*1024)return this._thumbnailQueue.push(file),setTimeout((_this=this,function(){return _this._processThumbnailQueue()}),0);var _this},Dropzone.prototype._processThumbnailQueue=function(){var _this;if(!this._processingThumbnail&&0!==this._thumbnailQueue.length)return this._processingThumbnail=!0,this.createThumbnail(this._thumbnailQueue.shift(),(_this=this,function(){return _this._processingThumbnail=!1,_this._processThumbnailQueue()}))},Dropzone.prototype.removeFile=function(file){if(file.status===Dropzone.UPLOADING&&this.cancelUpload(file),this.files=without(this.files,file),this.emit("removedfile",file),0===this.files.length)return this.emit("reset")},Dropzone.prototype.removeAllFiles=function(cancelIfNecessary){var file,_i,_len,_ref;for(null==cancelIfNecessary&&(cancelIfNecessary=!1),_i=0,_len=(_ref=this.files.slice()).length;_i<_len;_i++)((file=_ref[_i]).status!==Dropzone.UPLOADING||cancelIfNecessary)&&this.removeFile(file);return null},Dropzone.prototype.createThumbnail=function(file,callback){var fileReader,_this;return(fileReader=new FileReader).onload=(_this=this,function(){return"image/svg+xml"===file.type?(_this.emit("thumbnail",file,fileReader.result),void(null!=callback&&callback())):_this.createThumbnailFromUrl(file,fileReader.result,callback)}),fileReader.readAsDataURL(file)},Dropzone.prototype.createThumbnailFromUrl=function(file,imageUrl,callback){var img,_this;return(img=document.createElement("img")).onload=(_this=this,function(){var canvas,ctx,resizeInfo,thumbnail,_ref,_ref1,_ref2,_ref3;if(file.width=img.width,file.height=img.height,null==(resizeInfo=_this.options.resize.call(_this,file)).trgWidth&&(resizeInfo.trgWidth=resizeInfo.optWidth),null==resizeInfo.trgHeight&&(resizeInfo.trgHeight=resizeInfo.optHeight),ctx=(canvas=document.createElement("canvas")).getContext("2d"),canvas.width=resizeInfo.trgWidth,canvas.height=resizeInfo.trgHeight,drawImageIOSFix(ctx,img,null!=(_ref=resizeInfo.srcX)?_ref:0,null!=(_ref1=resizeInfo.srcY)?_ref1:0,resizeInfo.srcWidth,resizeInfo.srcHeight,null!=(_ref2=resizeInfo.trgX)?_ref2:0,null!=(_ref3=resizeInfo.trgY)?_ref3:0,resizeInfo.trgWidth,resizeInfo.trgHeight),thumbnail=canvas.toDataURL("image/png"),_this.emit("thumbnail",file,thumbnail),null!=callback)return callback()}),null!=callback&&(img.onerror=callback),img.src=imageUrl},Dropzone.prototype.processQueue=function(){var i,parallelUploads,processingLength,queuedFiles;if(parallelUploads=this.options.parallelUploads,i=processingLength=this.getUploadingFiles().length,!(processingLength>=parallelUploads)&&(queuedFiles=this.getQueuedFiles()).length>0){if(this.options.uploadMultiple)return this.processFiles(queuedFiles.slice(0,parallelUploads-processingLength));for(;i=_ref5;i=0<=_ref5?++_m:--_m)formData.append(this._getParamName(i),files[i],files[i].name);return this.submitRequest(xhr,formData,files)},Dropzone.prototype.submitRequest=function(xhr,formData,files){return xhr.send(formData)},Dropzone.prototype._finished=function(files,responseText,e){var file,_i,_len;for(_i=0,_len=files.length;_i<_len;_i++)(file=files[_i]).status=Dropzone.SUCCESS,this.emit("success",file,responseText,e),this.emit("complete",file);if(this.options.uploadMultiple&&(this.emit("successmultiple",files,responseText,e),this.emit("completemultiple",files)),this.options.autoProcessQueue)return this.processQueue()},Dropzone.prototype._errorProcessing=function(files,message,xhr){var file,_i,_len;for(_i=0,_len=files.length;_i<_len;_i++)(file=files[_i]).status=Dropzone.ERROR,this.emit("error",file,message,xhr),this.emit("complete",file);if(this.options.uploadMultiple&&(this.emit("errormultiple",files,message,xhr),this.emit("completemultiple",files)),this.options.autoProcessQueue)return this.processQueue()},Dropzone}(Emitter)).version="4.1.0",Dropzone.options={},Dropzone.optionsForElement=function(element){return element.getAttribute("id")?Dropzone.options[camelize(element.getAttribute("id"))]:void 0},Dropzone.instances=[],Dropzone.forElement=function(element){if("string"==typeof element&&(element=document.querySelector(element)),null==(null!=element?element.dropzone:void 0))throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");return element.dropzone},Dropzone.autoDiscover=!0,Dropzone.discover=function(){var checkElements,dropzone,dropzones,_i,_len,_results;for(document.querySelectorAll?dropzones=document.querySelectorAll(".dropzone"):(dropzones=[],(checkElements=function(elements){var el,_i,_len,_results;for(_results=[],_i=0,_len=elements.length;_i<_len;_i++)el=elements[_i],/(^| )dropzone($| )/.test(el.className)?_results.push(dropzones.push(el)):_results.push(void 0);return _results})(document.getElementsByTagName("div")),checkElements(document.getElementsByTagName("form"))),_results=[],_i=0,_len=dropzones.length;_i<_len;_i++)dropzone=dropzones[_i],!1!==Dropzone.optionsForElement(dropzone)?_results.push(new Dropzone(dropzone)):_results.push(void 0);return _results},Dropzone.blacklistedBrowsers=[/opera.*Macintosh.*version\/12/i],Dropzone.isBrowserSupported=function(){var capableBrowser,regex,_i,_len,_ref;if(capableBrowser=!0,window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector)if("classList"in document.createElement("a"))for(_i=0,_len=(_ref=Dropzone.blacklistedBrowsers).length;_i<_len;_i++)(regex=_ref[_i]).test(navigator.userAgent)&&(capableBrowser=!1);else capableBrowser=!1;else capableBrowser=!1;return capableBrowser},without=function(list,rejectedItem){var item,_i,_len,_results;for(_results=[],_i=0,_len=list.length;_i<_len;_i++)(item=list[_i])!==rejectedItem&&_results.push(item);return _results},camelize=function(str){return str.replace(/[\-_](\w)/g,(function(match){return match.charAt(1).toUpperCase()}))},Dropzone.createElement=function(string){var div;return(div=document.createElement("div")).innerHTML=string,div.childNodes[0]},Dropzone.elementInside=function(element,container){if(element===container)return!0;for(;element=element.parentNode;)if(element===container)return!0;return!1},Dropzone.getElement=function(el,name){var element;if("string"==typeof el?element=document.querySelector(el):null!=el.nodeType&&(element=el),null==element)throw new Error("Invalid `"+name+"` option provided. Please provide a CSS selector or a plain HTML element.");return element},Dropzone.getElements=function(els,name){var e,el,elements,_i,_j,_len,_len1,_ref;if(els instanceof Array){elements=[];try{for(_i=0,_len=els.length;_i<_len;_i++)el=els[_i],elements.push(this.getElement(el,name))}catch(_error){e=_error,elements=null}}else if("string"==typeof els)for(elements=[],_j=0,_len1=(_ref=document.querySelectorAll(els)).length;_j<_len1;_j++)el=_ref[_j],elements.push(el);else null!=els.nodeType&&(elements=[els]);if(null==elements||!elements.length)throw new Error("Invalid `"+name+"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.");return elements},Dropzone.confirm=function(question,accepted,rejected){return window.confirm(question)?accepted():null!=rejected?rejected():void 0},Dropzone.isValidFile=function(file,acceptedFiles){var baseMimeType,mimeType,validType,_i,_len;if(!acceptedFiles)return!0;for(acceptedFiles=acceptedFiles.split(","),baseMimeType=(mimeType=file.type).replace(/\/.*$/,""),_i=0,_len=acceptedFiles.length;_i<_len;_i++)if("."===(validType=(validType=acceptedFiles[_i]).trim()).charAt(0)){if(-1!==file.name.toLowerCase().indexOf(validType.toLowerCase(),file.name.length-validType.length))return!0}else if(/\/\*$/.test(validType)){if(baseMimeType===validType.replace(/\/.*$/,""))return!0}else if(mimeType===validType)return!0;return!1},"undefined"!=typeof jQuery&&null!==jQuery&&(jQuery.fn.dropzone=function(options){return this.each((function(){return new Dropzone(this,options)}))}),"undefined"!=typeof module&&null!==module?module.exports=Dropzone:window.Dropzone=Dropzone,Dropzone.ADDED="added",Dropzone.QUEUED="queued",Dropzone.ACCEPTED=Dropzone.QUEUED,Dropzone.UPLOADING="uploading",Dropzone.PROCESSING=Dropzone.UPLOADING,Dropzone.CANCELED="canceled",Dropzone.ERROR="error",Dropzone.SUCCESS="success",detectVerticalSquash=function(img){var alpha,canvas,ctx,data,ey,ih,iw,py,ratio,sy;for(iw=img.naturalWidth,ih=img.naturalHeight,(canvas=document.createElement("canvas")).width=1,canvas.height=ih,(ctx=canvas.getContext("2d")).drawImage(img,0,0),data=ctx.getImageData(0,0,1,ih).data,sy=0,ey=ih,py=ih;py>sy;)0===(alpha=data[4*(py-1)+3])?ey=py:sy=py,py=ey+sy>>1;return 0===(ratio=py/ih)?1:ratio},drawImageIOSFix=function(ctx,img,sx,sy,sw,sh,dx,dy,dw,dh){var vertSquashRatio;return vertSquashRatio=detectVerticalSquash(img),ctx.drawImage(img,sx,sy,sw,sh,dx,dy,dw,dh/vertSquashRatio)},contentLoaded=function(win,fn){var add,doc,done,init,poll,pre,rem,root,top;if(done=!1,top=!0,doc=win.document,root=doc.documentElement,add=doc.addEventListener?"addEventListener":"attachEvent",rem=doc.addEventListener?"removeEventListener":"detachEvent",pre=doc.addEventListener?"":"on",init=function(e){if("readystatechange"!==e.type||"complete"===doc.readyState)return("load"===e.type?win:doc)[rem](pre+e.type,init,!1),!done&&(done=!0)?fn.call(win,e.type||e):void 0},poll=function(){var e;try{root.doScroll("left")}catch(_error){return e=_error,void setTimeout(poll,50)}return init("poll")},"complete"!==doc.readyState){if(doc.createEventObject&&root.doScroll){try{top=!win.frameElement}catch(_error){}top&&poll()}return doc[add](pre+"DOMContentLoaded",init,!1),doc[add](pre+"readystatechange",init,!1),win[add](pre+"load",init,!1)}},Dropzone._autoDiscoverFunction=function(){if(Dropzone.autoDiscover)return Dropzone.discover()},contentLoaded(window,Dropzone._autoDiscoverFunction)}).call(this);
//# sourceMappingURL=dropzone.min.js.map