{"version":3,"sources":["webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/dropzone/dist/dropzone.js"],"names":["Dropzone","Emitter","camelize","contentLoaded","detectVerticalSquash","drawImageIOSFix","noop","without","__slice","slice","__hasProp","hasOwnProperty","prototype","addEventListener","on","event","fn","this","_callbacks","push","emit","args","callbacks","_i","_len","arguments","length","call","apply","removeListener","off","removeAllListeners","removeEventListener","i","splice","_super","extend","resolveOption","element","options","elementOptions","fallback","_ref","version","defaultOptions","previewTemplate","replace","clickableElements","listeners","files","document","querySelector","nodeType","Error","dropzone","instances","optionsForElement","forceFallback","isBrowserSupported","url","getAttribute","acceptedFiles","acceptedMimeTypes","method","toUpperCase","getExistingFallback","parentNode","removeChild","previewsContainer","getElement","clickable","getElements","init","child","parent","key","ctor","constructor","__super__","__extends","events","withCredentials","parallelUploads","uploadMultiple","maxFilesize","paramName","createImageThumbnails","maxThumbnailFilesize","thumbnailWidth","thumbnailHeight","filesizeBase","maxFiles","params","ignoreHiddenFiles","autoProcessQueue","autoQueue","addRemoveLinks","hiddenInputContainer","capture","dictDefaultMessage","dictFallbackMessage","dictFallbackText","dictFileTooBig","dictInvalidFileType","dictResponseError","dictCancelUpload","dictCancelUploadConfirmation","dictRemoveFile","dictRemoveFileConfirmation","dictMaxFilesExceeded","accept","file","done","messageElement","span","className","getElementsByTagName","test","createElement","appendChild","textContent","innerText","getFallbackForm","resize","info","srcRatio","trgRatio","srcX","srcY","srcWidth","width","srcHeight","height","optWidth","optHeight","trgHeight","trgWidth","drop","e","classList","remove","dragstart","dragend","dragenter","add","dragover","dragleave","paste","reset","addedfile","removeFileEvent","removeLink","_j","_k","_len1","_len2","_ref1","_ref2","_results","_this","previewElement","trim","querySelectorAll","name","innerHTML","filesize","size","_removeLink","preventDefault","stopPropagation","status","UPLOADING","confirm","removeFile","removedfile","_updateMaxFilesReachedClass","thumbnail","dataUrl","thumbnailElement","alt","src","setTimeout","error","message","node","errormultiple","processing","processingmultiple","uploadprogress","progress","bytesSent","nodeName","value","style","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","maxfilesexceeded","maxfilesreached","queuecomplete","addedfiles","object","objects","target","val","getAcceptedFiles","accepted","getRejectedFiles","getFilesWithStatus","getQueuedFiles","QUEUED","getUploadingFiles","getAddedFiles","ADDED","getActiveFiles","eventName","noPropagation","setupHiddenFileInput","tagName","setAttribute","contains","hiddenFileInput","visibility","position","top","left","addFile","URL","window","webkitURL","updateTotalUploadProgress","returnValue","efct","dataTransfer","effectAllowed","_error","dropEffect","forEach","clickableElement","click","evt","elementInside","enable","destroy","disable","removeAllFiles","indexOf","totalBytes","totalBytesSent","totalUploadProgress","upload","total","_getParamName","n","existingFallback","fields","fieldsString","form","getFallback","elements","el","setupEventListeners","elementListeners","listener","_results1","removeEventListeners","cancelUpload","selectedSize","selectedUnit","unit","units","Math","pow","round","items","webkitGetAsEntry","_addFilesFromItems","handleFiles","clipboardData","entry","item","isFile","getAsFile","isDirectory","_addFilesFromDirectory","kind","directory","path","dirReader","entriesReader","createReader","entries","substring","fullPath","readEntries","console","log","isValidFile","_enqueueThumbnail","_errorProcessing","enqueueFile","enqueueFiles","processQueue","_thumbnailQueue","_processingThumbnail","type","match","_processThumbnailQueue","createThumbnail","shift","cancelIfNecessary","callback","fileReader","FileReader","onload","result","createThumbnailFromUrl","readAsDataURL","imageUrl","crossOrigin","img","canvas","ctx","resizeInfo","_ref3","getContext","trgX","trgY","toDataURL","onerror","processingLength","queuedFiles","processFiles","processFile","uploadFiles","_getFilesWithXhr","xhr","groupedFile","groupedFiles","CANCELED","abort","option","uploadFile","formData","handleError","headerName","headerValue","headers","input","inputName","inputType","response","updateProgress","_l","_len3","_m","_ref4","_ref5","XMLHttpRequest","open","allFilesFinished","loaded","readyState","responseText","getResponseHeader","JSON","parse","_finished","onprogress","Accept","Cache-Control","X-Requested-With","setRequestHeader","FormData","append","hasAttribute","selected","toLowerCase","checked","submitRequest","send","SUCCESS","ERROR","forElement","autoDiscover","discover","checkElements","dropzones","blacklistedBrowsers","capableBrowser","File","FileList","Blob","navigator","userAgent","list","rejectedItem","str","charAt","string","div","childNodes","container","els","Array","question","rejected","baseMimeType","mimeType","validType","split","jQuery","each","module","exports","ACCEPTED","PROCESSING","data","ey","ih","py","ratio","sy","naturalWidth","naturalHeight","drawImage","getImageData","sx","sw","sh","dx","dy","dw","dh","vertSquashRatio","win","doc","poll","pre","rem","root","documentElement","doScroll","createEventObject","frameElement","_autoDiscoverFunction"],"mappings":"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","file":"commons~pages.groups.milestones.edit~pages.groups.milestones.new~pages.projects.blame.show~pages.pro~e382f304.96302454.chunk.js","sourcesContent":["\n/*\n *\n * More info at [www.dropzonejs.com](http://www.dropzonejs.com)\n *\n * Copyright (c) 2012, Matias Meno\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *\n */\n\n(function() {\n var Dropzone, Emitter, camelize, contentLoaded, detectVerticalSquash, drawImageIOSFix, noop, without,\n __slice = [].slice,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };\n\n noop = function() {};\n\n Emitter = (function() {\n function Emitter() {}\n\n Emitter.prototype.addEventListener = Emitter.prototype.on;\n\n Emitter.prototype.on = function(event, fn) {\n this._callbacks = this._callbacks || {};\n if (!this._callbacks[event]) {\n this._callbacks[event] = [];\n }\n this._callbacks[event].push(fn);\n return this;\n };\n\n Emitter.prototype.emit = function() {\n var args, callback, callbacks, event, _i, _len;\n event = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];\n this._callbacks = this._callbacks || {};\n callbacks = this._callbacks[event];\n if (callbacks) {\n for (_i = 0, _len = callbacks.length; _i < _len; _i++) {\n callback = callbacks[_i];\n callback.apply(this, args);\n }\n }\n return this;\n };\n\n Emitter.prototype.removeListener = Emitter.prototype.off;\n\n Emitter.prototype.removeAllListeners = Emitter.prototype.off;\n\n Emitter.prototype.removeEventListener = Emitter.prototype.off;\n\n Emitter.prototype.off = function(event, fn) {\n var callback, callbacks, i, _i, _len;\n if (!this._callbacks || arguments.length === 0) {\n this._callbacks = {};\n return this;\n }\n callbacks = this._callbacks[event];\n if (!callbacks) {\n return this;\n }\n if (arguments.length === 1) {\n delete this._callbacks[event];\n return this;\n }\n for (i = _i = 0, _len = callbacks.length; _i < _len; i = ++_i) {\n callback = callbacks[i];\n if (callback === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n return this;\n };\n\n return Emitter;\n\n })();\n\n Dropzone = (function(_super) {\n var extend, resolveOption;\n\n __extends(Dropzone, _super);\n\n Dropzone.prototype.Emitter = Emitter;\n\n\n /*\n This is a list of all available events you can register on a dropzone object.\n \n You can register an event handler like this:\n \n dropzone.on(\"dragEnter\", function() { });\n */\n\n 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\"];\n\n Dropzone.prototype.defaultOptions = {\n url: null,\n method: \"post\",\n withCredentials: false,\n parallelUploads: 2,\n uploadMultiple: false,\n maxFilesize: 256,\n paramName: \"file\",\n createImageThumbnails: true,\n maxThumbnailFilesize: 10,\n thumbnailWidth: 120,\n thumbnailHeight: 120,\n filesizeBase: 1000,\n maxFiles: null,\n params: {},\n clickable: true,\n ignoreHiddenFiles: true,\n acceptedFiles: null,\n acceptedMimeTypes: null,\n autoProcessQueue: true,\n autoQueue: true,\n addRemoveLinks: false,\n previewsContainer: null,\n hiddenInputContainer: \"body\",\n capture: null,\n dictDefaultMessage: \"Drop files here to upload\",\n dictFallbackMessage: \"Your browser does not support drag'n'drop file uploads.\",\n dictFallbackText: \"Please use the fallback form below to upload your files like in the olden days.\",\n dictFileTooBig: \"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.\",\n dictInvalidFileType: \"You can't upload files of this type.\",\n dictResponseError: \"Server responded with {{statusCode}} code.\",\n dictCancelUpload: \"Cancel upload\",\n dictCancelUploadConfirmation: \"Are you sure you want to cancel this upload?\",\n dictRemoveFile: \"Remove file\",\n dictRemoveFileConfirmation: null,\n dictMaxFilesExceeded: \"You can not upload any more files.\",\n accept: function(file, done) {\n return done();\n },\n init: function() {\n return noop;\n },\n forceFallback: false,\n fallback: function() {\n var child, messageElement, span, _i, _len, _ref;\n this.element.className = \"\" + this.element.className + \" dz-browser-not-supported\";\n _ref = this.element.getElementsByTagName(\"div\");\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n child = _ref[_i];\n if (/(^| )dz-message($| )/.test(child.className)) {\n messageElement = child;\n child.className = \"dz-message\";\n continue;\n }\n }\n if (!messageElement) {\n messageElement = Dropzone.createElement(\"
\");\n this.element.appendChild(messageElement);\n }\n span = messageElement.getElementsByTagName(\"span\")[0];\n if (span) {\n if (span.textContent != null) {\n span.textContent = this.options.dictFallbackMessage;\n } else if (span.innerText != null) {\n span.innerText = this.options.dictFallbackMessage;\n }\n }\n return this.element.appendChild(this.getFallbackForm());\n },\n resize: function(file) {\n var info, srcRatio, trgRatio;\n info = {\n srcX: 0,\n srcY: 0,\n srcWidth: file.width,\n srcHeight: file.height\n };\n srcRatio = file.width / file.height;\n info.optWidth = this.options.thumbnailWidth;\n info.optHeight = this.options.thumbnailHeight;\n if ((info.optWidth == null) && (info.optHeight == null)) {\n info.optWidth = info.srcWidth;\n info.optHeight = info.srcHeight;\n } else if (info.optWidth == null) {\n info.optWidth = srcRatio * info.optHeight;\n } else if (info.optHeight == null) {\n info.optHeight = (1 / srcRatio) * info.optWidth;\n }\n trgRatio = info.optWidth / info.optHeight;\n if (file.height < info.optHeight || file.width < info.optWidth) {\n info.trgHeight = info.srcHeight;\n info.trgWidth = info.srcWidth;\n } else {\n if (srcRatio > trgRatio) {\n info.srcHeight = file.height;\n info.srcWidth = info.srcHeight * trgRatio;\n } else {\n info.srcWidth = file.width;\n info.srcHeight = info.srcWidth / trgRatio;\n }\n }\n info.srcX = (file.width - info.srcWidth) / 2;\n info.srcY = (file.height - info.srcHeight) / 2;\n return info;\n },\n\n /*\n Those functions register themselves to the events on init and handle all\n the user interface specific stuff. Overwriting them won't break the upload\n but can break the way it's displayed.\n You can overwrite them if you don't like the default behavior. If you just\n want to add an additional event handler, register it on the dropzone object\n and don't overwrite those options.\n */\n drop: function(e) {\n return this.element.classList.remove(\"dz-drag-hover\");\n },\n dragstart: noop,\n dragend: function(e) {\n return this.element.classList.remove(\"dz-drag-hover\");\n },\n dragenter: function(e) {\n return this.element.classList.add(\"dz-drag-hover\");\n },\n dragover: function(e) {\n return this.element.classList.add(\"dz-drag-hover\");\n },\n dragleave: function(e) {\n return this.element.classList.remove(\"dz-drag-hover\");\n },\n paste: noop,\n reset: function() {\n return this.element.classList.remove(\"dz-started\");\n },\n addedfile: function(file) {\n var node, removeFileEvent, removeLink, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _results;\n if (this.element === this.previewsContainer) {\n this.element.classList.add(\"dz-started\");\n }\n if (this.previewsContainer) {\n file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim());\n file.previewTemplate = file.previewElement;\n this.previewsContainer.appendChild(file.previewElement);\n _ref = file.previewElement.querySelectorAll(\"[data-dz-name]\");\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n node = _ref[_i];\n node.textContent = file.name;\n }\n _ref1 = file.previewElement.querySelectorAll(\"[data-dz-size]\");\n for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {\n node = _ref1[_j];\n node.innerHTML = this.filesize(file.size);\n }\n if (this.options.addRemoveLinks) {\n file._removeLink = Dropzone.createElement(\"\" + this.options.dictRemoveFile + \"\");\n file.previewElement.appendChild(file._removeLink);\n }\n removeFileEvent = (function(_this) {\n return function(e) {\n e.preventDefault();\n e.stopPropagation();\n if (file.status === Dropzone.UPLOADING) {\n return Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function() {\n return _this.removeFile(file);\n });\n } else {\n if (_this.options.dictRemoveFileConfirmation) {\n return Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function() {\n return _this.removeFile(file);\n });\n } else {\n return _this.removeFile(file);\n }\n }\n };\n })(this);\n _ref2 = file.previewElement.querySelectorAll(\"[data-dz-remove]\");\n _results = [];\n for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {\n removeLink = _ref2[_k];\n _results.push(removeLink.addEventListener(\"click\", removeFileEvent));\n }\n return _results;\n }\n },\n removedfile: function(file) {\n var _ref;\n if (file.previewElement) {\n if ((_ref = file.previewElement) != null) {\n _ref.parentNode.removeChild(file.previewElement);\n }\n }\n return this._updateMaxFilesReachedClass();\n },\n thumbnail: function(file, dataUrl) {\n var thumbnailElement, _i, _len, _ref;\n if (file.previewElement) {\n file.previewElement.classList.remove(\"dz-file-preview\");\n _ref = file.previewElement.querySelectorAll(\"[data-dz-thumbnail]\");\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n thumbnailElement = _ref[_i];\n thumbnailElement.alt = file.name;\n thumbnailElement.src = dataUrl;\n }\n return setTimeout(((function(_this) {\n return function() {\n return file.previewElement.classList.add(\"dz-image-preview\");\n };\n })(this)), 1);\n }\n },\n error: function(file, message) {\n var node, _i, _len, _ref, _results;\n if (file.previewElement) {\n file.previewElement.classList.add(\"dz-error\");\n if (typeof message !== \"String\" && message.error) {\n message = message.error;\n }\n _ref = file.previewElement.querySelectorAll(\"[data-dz-errormessage]\");\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n node = _ref[_i];\n _results.push(node.textContent = message);\n }\n return _results;\n }\n },\n errormultiple: noop,\n processing: function(file) {\n if (file.previewElement) {\n file.previewElement.classList.add(\"dz-processing\");\n if (file._removeLink) {\n return file._removeLink.textContent = this.options.dictCancelUpload;\n }\n }\n },\n processingmultiple: noop,\n uploadprogress: function(file, progress, bytesSent) {\n var node, _i, _len, _ref, _results;\n if (file.previewElement) {\n _ref = file.previewElement.querySelectorAll(\"[data-dz-uploadprogress]\");\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n node = _ref[_i];\n if (node.nodeName === 'PROGRESS') {\n _results.push(node.value = progress);\n } else {\n _results.push(node.style.width = \"\" + progress + \"%\");\n }\n }\n return _results;\n }\n },\n totaluploadprogress: noop,\n sending: noop,\n sendingmultiple: noop,\n success: function(file) {\n if (file.previewElement) {\n return file.previewElement.classList.add(\"dz-success\");\n }\n },\n successmultiple: noop,\n canceled: function(file) {\n return this.emit(\"error\", file, \"Upload canceled.\");\n },\n canceledmultiple: noop,\n complete: function(file) {\n if (file._removeLink) {\n file._removeLink.textContent = this.options.dictRemoveFile;\n }\n if (file.previewElement) {\n return file.previewElement.classList.add(\"dz-complete\");\n }\n },\n completemultiple: noop,\n maxfilesexceeded: noop,\n maxfilesreached: noop,\n queuecomplete: noop,\n addedfiles: noop,\n previewTemplate: \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Check\\n \\n \\n \\n \\n \\n
\\n
\\n \\n Error\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\"\n };\n\n extend = function() {\n var key, object, objects, target, val, _i, _len;\n target = arguments[0], objects = 2 <= arguments.length ? __slice.call(arguments, 1) : [];\n for (_i = 0, _len = objects.length; _i < _len; _i++) {\n object = objects[_i];\n for (key in object) {\n val = object[key];\n target[key] = val;\n }\n }\n return target;\n };\n\n function Dropzone(element, options) {\n var elementOptions, fallback, _ref;\n this.element = element;\n this.version = Dropzone.version;\n this.defaultOptions.previewTemplate = this.defaultOptions.previewTemplate.replace(/\\n*/g, \"\");\n this.clickableElements = [];\n this.listeners = [];\n this.files = [];\n if (typeof this.element === \"string\") {\n this.element = document.querySelector(this.element);\n }\n if (!(this.element && (this.element.nodeType != null))) {\n throw new Error(\"Invalid dropzone element.\");\n }\n if (this.element.dropzone) {\n throw new Error(\"Dropzone already attached.\");\n }\n Dropzone.instances.push(this);\n this.element.dropzone = this;\n elementOptions = (_ref = Dropzone.optionsForElement(this.element)) != null ? _ref : {};\n this.options = extend({}, this.defaultOptions, elementOptions, options != null ? options : {});\n if (this.options.forceFallback || !Dropzone.isBrowserSupported()) {\n return this.options.fallback.call(this);\n }\n if (this.options.url == null) {\n this.options.url = this.element.getAttribute(\"action\");\n }\n if (!this.options.url) {\n throw new Error(\"No URL provided.\");\n }\n if (this.options.acceptedFiles && this.options.acceptedMimeTypes) {\n throw new Error(\"You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.\");\n }\n if (this.options.acceptedMimeTypes) {\n this.options.acceptedFiles = this.options.acceptedMimeTypes;\n delete this.options.acceptedMimeTypes;\n }\n this.options.method = this.options.method.toUpperCase();\n if ((fallback = this.getExistingFallback()) && fallback.parentNode) {\n fallback.parentNode.removeChild(fallback);\n }\n if (this.options.previewsContainer !== false) {\n if (this.options.previewsContainer) {\n this.previewsContainer = Dropzone.getElement(this.options.previewsContainer, \"previewsContainer\");\n } else {\n this.previewsContainer = this.element;\n }\n }\n if (this.options.clickable) {\n if (this.options.clickable === true) {\n this.clickableElements = [this.element];\n } else {\n this.clickableElements = Dropzone.getElements(this.options.clickable, \"clickable\");\n }\n }\n this.init();\n }\n\n Dropzone.prototype.getAcceptedFiles = function() {\n var file, _i, _len, _ref, _results;\n _ref = this.files;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n if (file.accepted) {\n _results.push(file);\n }\n }\n return _results;\n };\n\n Dropzone.prototype.getRejectedFiles = function() {\n var file, _i, _len, _ref, _results;\n _ref = this.files;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n if (!file.accepted) {\n _results.push(file);\n }\n }\n return _results;\n };\n\n Dropzone.prototype.getFilesWithStatus = function(status) {\n var file, _i, _len, _ref, _results;\n _ref = this.files;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n if (file.status === status) {\n _results.push(file);\n }\n }\n return _results;\n };\n\n Dropzone.prototype.getQueuedFiles = function() {\n return this.getFilesWithStatus(Dropzone.QUEUED);\n };\n\n Dropzone.prototype.getUploadingFiles = function() {\n return this.getFilesWithStatus(Dropzone.UPLOADING);\n };\n\n Dropzone.prototype.getAddedFiles = function() {\n return this.getFilesWithStatus(Dropzone.ADDED);\n };\n\n Dropzone.prototype.getActiveFiles = function() {\n var file, _i, _len, _ref, _results;\n _ref = this.files;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n if (file.status === Dropzone.UPLOADING || file.status === Dropzone.QUEUED) {\n _results.push(file);\n }\n }\n return _results;\n };\n\n Dropzone.prototype.init = function() {\n var eventName, noPropagation, setupHiddenFileInput, _i, _len, _ref, _ref1;\n if (this.element.tagName === \"form\") {\n this.element.setAttribute(\"enctype\", \"multipart/form-data\");\n }\n if (this.element.classList.contains(\"dropzone\") && !this.element.querySelector(\".dz-message\")) {\n this.element.appendChild(Dropzone.createElement(\"
\" + this.options.dictDefaultMessage + \"
\"));\n }\n if (this.clickableElements.length) {\n setupHiddenFileInput = (function(_this) {\n return function() {\n if (_this.hiddenFileInput) {\n _this.hiddenFileInput.parentNode.removeChild(_this.hiddenFileInput);\n }\n _this.hiddenFileInput = document.createElement(\"input\");\n _this.hiddenFileInput.setAttribute(\"type\", \"file\");\n if ((_this.options.maxFiles == null) || _this.options.maxFiles > 1) {\n _this.hiddenFileInput.setAttribute(\"multiple\", \"multiple\");\n }\n _this.hiddenFileInput.className = \"dz-hidden-input\";\n if (_this.options.acceptedFiles != null) {\n _this.hiddenFileInput.setAttribute(\"accept\", _this.options.acceptedFiles);\n }\n if (_this.options.capture != null) {\n _this.hiddenFileInput.setAttribute(\"capture\", _this.options.capture);\n }\n _this.hiddenFileInput.style.visibility = \"hidden\";\n _this.hiddenFileInput.style.position = \"absolute\";\n _this.hiddenFileInput.style.top = \"0\";\n _this.hiddenFileInput.style.left = \"0\";\n _this.hiddenFileInput.style.height = \"0\";\n _this.hiddenFileInput.style.width = \"0\";\n document.querySelector(_this.options.hiddenInputContainer).appendChild(_this.hiddenFileInput);\n return _this.hiddenFileInput.addEventListener(\"change\", function() {\n var file, files, _i, _len;\n files = _this.hiddenFileInput.files;\n if (files.length) {\n for (_i = 0, _len = files.length; _i < _len; _i++) {\n file = files[_i];\n _this.addFile(file);\n }\n }\n _this.emit(\"addedfiles\", files);\n return setupHiddenFileInput();\n });\n };\n })(this);\n setupHiddenFileInput();\n }\n this.URL = (_ref = window.URL) != null ? _ref : window.webkitURL;\n _ref1 = this.events;\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n eventName = _ref1[_i];\n this.on(eventName, this.options[eventName]);\n }\n this.on(\"uploadprogress\", (function(_this) {\n return function() {\n return _this.updateTotalUploadProgress();\n };\n })(this));\n this.on(\"removedfile\", (function(_this) {\n return function() {\n return _this.updateTotalUploadProgress();\n };\n })(this));\n this.on(\"canceled\", (function(_this) {\n return function(file) {\n return _this.emit(\"complete\", file);\n };\n })(this));\n this.on(\"complete\", (function(_this) {\n return function(file) {\n if (_this.getAddedFiles().length === 0 && _this.getUploadingFiles().length === 0 && _this.getQueuedFiles().length === 0) {\n return setTimeout((function() {\n return _this.emit(\"queuecomplete\");\n }), 0);\n }\n };\n })(this));\n noPropagation = function(e) {\n e.stopPropagation();\n if (e.preventDefault) {\n return e.preventDefault();\n } else {\n return e.returnValue = false;\n }\n };\n this.listeners = [\n {\n element: this.element,\n events: {\n \"dragstart\": (function(_this) {\n return function(e) {\n return _this.emit(\"dragstart\", e);\n };\n })(this),\n \"dragenter\": (function(_this) {\n return function(e) {\n noPropagation(e);\n return _this.emit(\"dragenter\", e);\n };\n })(this),\n \"dragover\": (function(_this) {\n return function(e) {\n var efct;\n try {\n efct = e.dataTransfer.effectAllowed;\n } catch (_error) {}\n e.dataTransfer.dropEffect = 'move' === efct || 'linkMove' === efct ? 'move' : 'copy';\n noPropagation(e);\n return _this.emit(\"dragover\", e);\n };\n })(this),\n \"dragleave\": (function(_this) {\n return function(e) {\n return _this.emit(\"dragleave\", e);\n };\n })(this),\n \"drop\": (function(_this) {\n return function(e) {\n noPropagation(e);\n return _this.drop(e);\n };\n })(this),\n \"dragend\": (function(_this) {\n return function(e) {\n return _this.emit(\"dragend\", e);\n };\n })(this)\n }\n }\n ];\n this.clickableElements.forEach((function(_this) {\n return function(clickableElement) {\n return _this.listeners.push({\n element: clickableElement,\n events: {\n \"click\": function(evt) {\n if ((clickableElement !== _this.element) || (evt.target === _this.element || Dropzone.elementInside(evt.target, _this.element.querySelector(\".dz-message\")))) {\n _this.hiddenFileInput.click();\n }\n return true;\n }\n }\n });\n };\n })(this));\n this.enable();\n return this.options.init.call(this);\n };\n\n Dropzone.prototype.destroy = function() {\n var _ref;\n this.disable();\n this.removeAllFiles(true);\n if ((_ref = this.hiddenFileInput) != null ? _ref.parentNode : void 0) {\n this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput);\n this.hiddenFileInput = null;\n }\n delete this.element.dropzone;\n return Dropzone.instances.splice(Dropzone.instances.indexOf(this), 1);\n };\n\n Dropzone.prototype.updateTotalUploadProgress = function() {\n var activeFiles, file, totalBytes, totalBytesSent, totalUploadProgress, _i, _len, _ref;\n totalBytesSent = 0;\n totalBytes = 0;\n activeFiles = this.getActiveFiles();\n if (activeFiles.length) {\n _ref = this.getActiveFiles();\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n totalBytesSent += file.upload.bytesSent;\n totalBytes += file.upload.total;\n }\n totalUploadProgress = 100 * totalBytesSent / totalBytes;\n } else {\n totalUploadProgress = 100;\n }\n return this.emit(\"totaluploadprogress\", totalUploadProgress, totalBytes, totalBytesSent);\n };\n\n Dropzone.prototype._getParamName = function(n) {\n if (typeof this.options.paramName === \"function\") {\n return this.options.paramName(n);\n } else {\n return \"\" + this.options.paramName + (this.options.uploadMultiple ? \"[\" + n + \"]\" : \"\");\n }\n };\n\n Dropzone.prototype.getFallbackForm = function() {\n var existingFallback, fields, fieldsString, form;\n if (existingFallback = this.getExistingFallback()) {\n return existingFallback;\n }\n fieldsString = \"
\";\n if (this.options.dictFallbackText) {\n fieldsString += \"

\" + this.options.dictFallbackText + \"

\";\n }\n fieldsString += \"
\";\n fields = Dropzone.createElement(fieldsString);\n if (this.element.tagName !== \"FORM\") {\n form = Dropzone.createElement(\"
\");\n form.appendChild(fields);\n } else {\n this.element.setAttribute(\"enctype\", \"multipart/form-data\");\n this.element.setAttribute(\"method\", this.options.method);\n }\n return form != null ? form : fields;\n };\n\n Dropzone.prototype.getExistingFallback = function() {\n var fallback, getFallback, tagName, _i, _len, _ref;\n getFallback = function(elements) {\n var el, _i, _len;\n for (_i = 0, _len = elements.length; _i < _len; _i++) {\n el = elements[_i];\n if (/(^| )fallback($| )/.test(el.className)) {\n return el;\n }\n }\n };\n _ref = [\"div\", \"form\"];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n tagName = _ref[_i];\n if (fallback = getFallback(this.element.getElementsByTagName(tagName))) {\n return fallback;\n }\n }\n };\n\n Dropzone.prototype.setupEventListeners = function() {\n var elementListeners, event, listener, _i, _len, _ref, _results;\n _ref = this.listeners;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n elementListeners = _ref[_i];\n _results.push((function() {\n var _ref1, _results1;\n _ref1 = elementListeners.events;\n _results1 = [];\n for (event in _ref1) {\n listener = _ref1[event];\n _results1.push(elementListeners.element.addEventListener(event, listener, false));\n }\n return _results1;\n })());\n }\n return _results;\n };\n\n Dropzone.prototype.removeEventListeners = function() {\n var elementListeners, event, listener, _i, _len, _ref, _results;\n _ref = this.listeners;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n elementListeners = _ref[_i];\n _results.push((function() {\n var _ref1, _results1;\n _ref1 = elementListeners.events;\n _results1 = [];\n for (event in _ref1) {\n listener = _ref1[event];\n _results1.push(elementListeners.element.removeEventListener(event, listener, false));\n }\n return _results1;\n })());\n }\n return _results;\n };\n\n Dropzone.prototype.disable = function() {\n var file, _i, _len, _ref, _results;\n this.clickableElements.forEach(function(element) {\n return element.classList.remove(\"dz-clickable\");\n });\n this.removeEventListeners();\n _ref = this.files;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n _results.push(this.cancelUpload(file));\n }\n return _results;\n };\n\n Dropzone.prototype.enable = function() {\n this.clickableElements.forEach(function(element) {\n return element.classList.add(\"dz-clickable\");\n });\n return this.setupEventListeners();\n };\n\n Dropzone.prototype.filesize = function(size) {\n var cutoff, i, selectedSize, selectedUnit, unit, units, _i, _len;\n selectedSize = 0;\n selectedUnit = \"b\";\n if (size > 0) {\n units = ['TB', 'GB', 'MB', 'KB', 'b'];\n for (i = _i = 0, _len = units.length; _i < _len; i = ++_i) {\n unit = units[i];\n cutoff = Math.pow(this.options.filesizeBase, 4 - i) / 10;\n if (size >= cutoff) {\n selectedSize = size / Math.pow(this.options.filesizeBase, 4 - i);\n selectedUnit = unit;\n break;\n }\n }\n selectedSize = Math.round(10 * selectedSize) / 10;\n }\n return \"\" + selectedSize + \" \" + selectedUnit;\n };\n\n Dropzone.prototype._updateMaxFilesReachedClass = function() {\n if ((this.options.maxFiles != null) && this.getAcceptedFiles().length >= this.options.maxFiles) {\n if (this.getAcceptedFiles().length === this.options.maxFiles) {\n this.emit('maxfilesreached', this.files);\n }\n return this.element.classList.add(\"dz-max-files-reached\");\n } else {\n return this.element.classList.remove(\"dz-max-files-reached\");\n }\n };\n\n Dropzone.prototype.drop = function(e) {\n var files, items;\n if (!e.dataTransfer) {\n return;\n }\n this.emit(\"drop\", e);\n files = e.dataTransfer.files;\n this.emit(\"addedfiles\", files);\n if (files.length) {\n items = e.dataTransfer.items;\n if (items && items.length && (items[0].webkitGetAsEntry != null)) {\n this._addFilesFromItems(items);\n } else {\n this.handleFiles(files);\n }\n }\n };\n\n Dropzone.prototype.paste = function(e) {\n var items, _ref;\n if ((e != null ? (_ref = e.clipboardData) != null ? _ref.items : void 0 : void 0) == null) {\n return;\n }\n this.emit(\"paste\", e);\n items = e.clipboardData.items;\n if (items.length) {\n return this._addFilesFromItems(items);\n }\n };\n\n Dropzone.prototype.handleFiles = function(files) {\n var file, _i, _len, _results;\n _results = [];\n for (_i = 0, _len = files.length; _i < _len; _i++) {\n file = files[_i];\n _results.push(this.addFile(file));\n }\n return _results;\n };\n\n Dropzone.prototype._addFilesFromItems = function(items) {\n var entry, item, _i, _len, _results;\n _results = [];\n for (_i = 0, _len = items.length; _i < _len; _i++) {\n item = items[_i];\n if ((item.webkitGetAsEntry != null) && (entry = item.webkitGetAsEntry())) {\n if (entry.isFile) {\n _results.push(this.addFile(item.getAsFile()));\n } else if (entry.isDirectory) {\n _results.push(this._addFilesFromDirectory(entry, entry.name));\n } else {\n _results.push(void 0);\n }\n } else if (item.getAsFile != null) {\n if ((item.kind == null) || item.kind === \"file\") {\n _results.push(this.addFile(item.getAsFile()));\n } else {\n _results.push(void 0);\n }\n } else {\n _results.push(void 0);\n }\n }\n return _results;\n };\n\n Dropzone.prototype._addFilesFromDirectory = function(directory, path) {\n var dirReader, entriesReader;\n dirReader = directory.createReader();\n entriesReader = (function(_this) {\n return function(entries) {\n var entry, _i, _len;\n for (_i = 0, _len = entries.length; _i < _len; _i++) {\n entry = entries[_i];\n if (entry.isFile) {\n entry.file(function(file) {\n if (_this.options.ignoreHiddenFiles && file.name.substring(0, 1) === '.') {\n return;\n }\n file.fullPath = \"\" + path + \"/\" + file.name;\n return _this.addFile(file);\n });\n } else if (entry.isDirectory) {\n _this._addFilesFromDirectory(entry, \"\" + path + \"/\" + entry.name);\n }\n }\n };\n })(this);\n return dirReader.readEntries(entriesReader, function(error) {\n return typeof console !== \"undefined\" && console !== null ? typeof console.log === \"function\" ? console.log(error) : void 0 : void 0;\n });\n };\n\n Dropzone.prototype.accept = function(file, done) {\n if (file.size > this.options.maxFilesize * 1024 * 1024) {\n return done(this.options.dictFileTooBig.replace(\"{{filesize}}\", Math.round(file.size / 1024 / 10.24) / 100).replace(\"{{maxFilesize}}\", this.options.maxFilesize));\n } else if (!Dropzone.isValidFile(file, this.options.acceptedFiles)) {\n return done(this.options.dictInvalidFileType);\n } else if ((this.options.maxFiles != null) && this.getAcceptedFiles().length >= this.options.maxFiles) {\n done(this.options.dictMaxFilesExceeded.replace(\"{{maxFiles}}\", this.options.maxFiles));\n return this.emit(\"maxfilesexceeded\", file);\n } else {\n return this.options.accept.call(this, file, done);\n }\n };\n\n Dropzone.prototype.addFile = function(file) {\n file.upload = {\n progress: 0,\n total: file.size,\n bytesSent: 0\n };\n this.files.push(file);\n file.status = Dropzone.ADDED;\n this.emit(\"addedfile\", file);\n this._enqueueThumbnail(file);\n return this.accept(file, (function(_this) {\n return function(error) {\n if (error) {\n file.accepted = false;\n _this._errorProcessing([file], error);\n } else {\n file.accepted = true;\n if (_this.options.autoQueue) {\n _this.enqueueFile(file);\n }\n }\n return _this._updateMaxFilesReachedClass();\n };\n })(this));\n };\n\n Dropzone.prototype.enqueueFiles = function(files) {\n var file, _i, _len;\n for (_i = 0, _len = files.length; _i < _len; _i++) {\n file = files[_i];\n this.enqueueFile(file);\n }\n return null;\n };\n\n Dropzone.prototype.enqueueFile = function(file) {\n if (file.status === Dropzone.ADDED && file.accepted === true) {\n file.status = Dropzone.QUEUED;\n if (this.options.autoProcessQueue) {\n return setTimeout(((function(_this) {\n return function() {\n return _this.processQueue();\n };\n })(this)), 0);\n }\n } else {\n throw new Error(\"This file can't be queued because it has already been processed or was rejected.\");\n }\n };\n\n Dropzone.prototype._thumbnailQueue = [];\n\n Dropzone.prototype._processingThumbnail = false;\n\n Dropzone.prototype._enqueueThumbnail = function(file) {\n if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) {\n this._thumbnailQueue.push(file);\n return setTimeout(((function(_this) {\n return function() {\n return _this._processThumbnailQueue();\n };\n })(this)), 0);\n }\n };\n\n Dropzone.prototype._processThumbnailQueue = function() {\n if (this._processingThumbnail || this._thumbnailQueue.length === 0) {\n return;\n }\n this._processingThumbnail = true;\n return this.createThumbnail(this._thumbnailQueue.shift(), (function(_this) {\n return function() {\n _this._processingThumbnail = false;\n return _this._processThumbnailQueue();\n };\n })(this));\n };\n\n Dropzone.prototype.removeFile = function(file) {\n if (file.status === Dropzone.UPLOADING) {\n this.cancelUpload(file);\n }\n this.files = without(this.files, file);\n this.emit(\"removedfile\", file);\n if (this.files.length === 0) {\n return this.emit(\"reset\");\n }\n };\n\n Dropzone.prototype.removeAllFiles = function(cancelIfNecessary) {\n var file, _i, _len, _ref;\n if (cancelIfNecessary == null) {\n cancelIfNecessary = false;\n }\n _ref = this.files.slice();\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n if (file.status !== Dropzone.UPLOADING || cancelIfNecessary) {\n this.removeFile(file);\n }\n }\n return null;\n };\n\n Dropzone.prototype.createThumbnail = function(file, callback) {\n var fileReader;\n fileReader = new FileReader;\n fileReader.onload = (function(_this) {\n return function() {\n if (file.type === \"image/svg+xml\") {\n _this.emit(\"thumbnail\", file, fileReader.result);\n if (callback != null) {\n callback();\n }\n return;\n }\n return _this.createThumbnailFromUrl(file, fileReader.result, callback);\n };\n })(this);\n return fileReader.readAsDataURL(file);\n };\n\n Dropzone.prototype.createThumbnailFromUrl = function(file, imageUrl, callback, crossOrigin) {\n var img;\n img = document.createElement(\"img\");\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.onload = (function(_this) {\n return function() {\n var canvas, ctx, resizeInfo, thumbnail, _ref, _ref1, _ref2, _ref3;\n file.width = img.width;\n file.height = img.height;\n resizeInfo = _this.options.resize.call(_this, file);\n if (resizeInfo.trgWidth == null) {\n resizeInfo.trgWidth = resizeInfo.optWidth;\n }\n if (resizeInfo.trgHeight == null) {\n resizeInfo.trgHeight = resizeInfo.optHeight;\n }\n canvas = document.createElement(\"canvas\");\n ctx = canvas.getContext(\"2d\");\n canvas.width = resizeInfo.trgWidth;\n canvas.height = resizeInfo.trgHeight;\n drawImageIOSFix(ctx, img, (_ref = resizeInfo.srcX) != null ? _ref : 0, (_ref1 = resizeInfo.srcY) != null ? _ref1 : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, (_ref2 = resizeInfo.trgX) != null ? _ref2 : 0, (_ref3 = resizeInfo.trgY) != null ? _ref3 : 0, resizeInfo.trgWidth, resizeInfo.trgHeight);\n thumbnail = canvas.toDataURL(\"image/png\");\n _this.emit(\"thumbnail\", file, thumbnail);\n if (callback != null) {\n return callback();\n }\n };\n })(this);\n if (callback != null) {\n img.onerror = callback;\n }\n return img.src = imageUrl;\n };\n\n Dropzone.prototype.processQueue = function() {\n var i, parallelUploads, processingLength, queuedFiles;\n parallelUploads = this.options.parallelUploads;\n processingLength = this.getUploadingFiles().length;\n i = processingLength;\n if (processingLength >= parallelUploads) {\n return;\n }\n queuedFiles = this.getQueuedFiles();\n if (!(queuedFiles.length > 0)) {\n return;\n }\n if (this.options.uploadMultiple) {\n return this.processFiles(queuedFiles.slice(0, parallelUploads - processingLength));\n } else {\n while (i < parallelUploads) {\n if (!queuedFiles.length) {\n return;\n }\n this.processFile(queuedFiles.shift());\n i++;\n }\n }\n };\n\n Dropzone.prototype.processFile = function(file) {\n return this.processFiles([file]);\n };\n\n Dropzone.prototype.processFiles = function(files) {\n var file, _i, _len;\n for (_i = 0, _len = files.length; _i < _len; _i++) {\n file = files[_i];\n file.processing = true;\n file.status = Dropzone.UPLOADING;\n this.emit(\"processing\", file);\n }\n if (this.options.uploadMultiple) {\n this.emit(\"processingmultiple\", files);\n }\n return this.uploadFiles(files);\n };\n\n Dropzone.prototype._getFilesWithXhr = function(xhr) {\n var file, files;\n return files = (function() {\n var _i, _len, _ref, _results;\n _ref = this.files;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n file = _ref[_i];\n if (file.xhr === xhr) {\n _results.push(file);\n }\n }\n return _results;\n }).call(this);\n };\n\n Dropzone.prototype.cancelUpload = function(file) {\n var groupedFile, groupedFiles, _i, _j, _len, _len1, _ref;\n if (file.status === Dropzone.UPLOADING) {\n groupedFiles = this._getFilesWithXhr(file.xhr);\n for (_i = 0, _len = groupedFiles.length; _i < _len; _i++) {\n groupedFile = groupedFiles[_i];\n groupedFile.status = Dropzone.CANCELED;\n }\n file.xhr.abort();\n for (_j = 0, _len1 = groupedFiles.length; _j < _len1; _j++) {\n groupedFile = groupedFiles[_j];\n this.emit(\"canceled\", groupedFile);\n }\n if (this.options.uploadMultiple) {\n this.emit(\"canceledmultiple\", groupedFiles);\n }\n } else if ((_ref = file.status) === Dropzone.ADDED || _ref === Dropzone.QUEUED) {\n file.status = Dropzone.CANCELED;\n this.emit(\"canceled\", file);\n if (this.options.uploadMultiple) {\n this.emit(\"canceledmultiple\", [file]);\n }\n }\n if (this.options.autoProcessQueue) {\n return this.processQueue();\n }\n };\n\n resolveOption = function() {\n var args, option;\n option = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];\n if (typeof option === 'function') {\n return option.apply(this, args);\n }\n return option;\n };\n\n Dropzone.prototype.uploadFile = function(file) {\n return this.uploadFiles([file]);\n };\n\n Dropzone.prototype.uploadFiles = function(files) {\n var file, formData, handleError, headerName, headerValue, headers, i, input, inputName, inputType, key, method, option, progressObj, response, updateProgress, url, value, xhr, _i, _j, _k, _l, _len, _len1, _len2, _len3, _m, _ref, _ref1, _ref2, _ref3, _ref4, _ref5;\n xhr = new XMLHttpRequest();\n for (_i = 0, _len = files.length; _i < _len; _i++) {\n file = files[_i];\n file.xhr = xhr;\n }\n method = resolveOption(this.options.method, files);\n url = resolveOption(this.options.url, files);\n xhr.open(method, url, true);\n xhr.withCredentials = !!this.options.withCredentials;\n response = null;\n handleError = (function(_this) {\n return function() {\n var _j, _len1, _results;\n _results = [];\n for (_j = 0, _len1 = files.length; _j < _len1; _j++) {\n file = files[_j];\n _results.push(_this._errorProcessing(files, response || _this.options.dictResponseError.replace(\"{{statusCode}}\", xhr.status), xhr));\n }\n return _results;\n };\n })(this);\n updateProgress = (function(_this) {\n return function(e) {\n var allFilesFinished, progress, _j, _k, _l, _len1, _len2, _len3, _results;\n if (e != null) {\n progress = 100 * e.loaded / e.total;\n for (_j = 0, _len1 = files.length; _j < _len1; _j++) {\n file = files[_j];\n file.upload = {\n progress: progress,\n total: e.total,\n bytesSent: e.loaded\n };\n }\n } else {\n allFilesFinished = true;\n progress = 100;\n for (_k = 0, _len2 = files.length; _k < _len2; _k++) {\n file = files[_k];\n if (!(file.upload.progress === 100 && file.upload.bytesSent === file.upload.total)) {\n allFilesFinished = false;\n }\n file.upload.progress = progress;\n file.upload.bytesSent = file.upload.total;\n }\n if (allFilesFinished) {\n return;\n }\n }\n _results = [];\n for (_l = 0, _len3 = files.length; _l < _len3; _l++) {\n file = files[_l];\n _results.push(_this.emit(\"uploadprogress\", file, progress, file.upload.bytesSent));\n }\n return _results;\n };\n })(this);\n xhr.onload = (function(_this) {\n return function(e) {\n var _ref;\n if (files[0].status === Dropzone.CANCELED) {\n return;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n response = xhr.responseText;\n if (xhr.getResponseHeader(\"content-type\") && ~xhr.getResponseHeader(\"content-type\").indexOf(\"application/json\")) {\n try {\n response = JSON.parse(response);\n } catch (_error) {\n e = _error;\n response = \"Invalid JSON response from server.\";\n }\n }\n updateProgress();\n if (!((200 <= (_ref = xhr.status) && _ref < 300))) {\n return handleError();\n } else {\n return _this._finished(files, response, e);\n }\n };\n })(this);\n xhr.onerror = (function(_this) {\n return function() {\n if (files[0].status === Dropzone.CANCELED) {\n return;\n }\n return handleError();\n };\n })(this);\n progressObj = (_ref = xhr.upload) != null ? _ref : xhr;\n progressObj.onprogress = updateProgress;\n headers = {\n \"Accept\": \"application/json\",\n \"Cache-Control\": \"no-cache\",\n \"X-Requested-With\": \"XMLHttpRequest\"\n };\n if (this.options.headers) {\n extend(headers, this.options.headers);\n }\n for (headerName in headers) {\n headerValue = headers[headerName];\n if (headerValue) {\n xhr.setRequestHeader(headerName, headerValue);\n }\n }\n formData = new FormData();\n if (this.options.params) {\n _ref1 = this.options.params;\n for (key in _ref1) {\n value = _ref1[key];\n formData.append(key, value);\n }\n }\n for (_j = 0, _len1 = files.length; _j < _len1; _j++) {\n file = files[_j];\n this.emit(\"sending\", file, xhr, formData);\n }\n if (this.options.uploadMultiple) {\n this.emit(\"sendingmultiple\", files, xhr, formData);\n }\n if (this.element.tagName === \"FORM\") {\n _ref2 = this.element.querySelectorAll(\"input, textarea, select, button\");\n for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) {\n input = _ref2[_k];\n inputName = input.getAttribute(\"name\");\n inputType = input.getAttribute(\"type\");\n if (input.tagName === \"SELECT\" && input.hasAttribute(\"multiple\")) {\n _ref3 = input.options;\n for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) {\n option = _ref3[_l];\n if (option.selected) {\n formData.append(inputName, option.value);\n }\n }\n } else if (!inputType || ((_ref4 = inputType.toLowerCase()) !== \"checkbox\" && _ref4 !== \"radio\") || input.checked) {\n formData.append(inputName, input.value);\n }\n }\n }\n for (i = _m = 0, _ref5 = files.length - 1; 0 <= _ref5 ? _m <= _ref5 : _m >= _ref5; i = 0 <= _ref5 ? ++_m : --_m) {\n formData.append(this._getParamName(i), files[i], files[i].name);\n }\n return this.submitRequest(xhr, formData, files);\n };\n\n Dropzone.prototype.submitRequest = function(xhr, formData, files) {\n return xhr.send(formData);\n };\n\n Dropzone.prototype._finished = function(files, responseText, e) {\n var file, _i, _len;\n for (_i = 0, _len = files.length; _i < _len; _i++) {\n file = files[_i];\n file.status = Dropzone.SUCCESS;\n this.emit(\"success\", file, responseText, e);\n this.emit(\"complete\", file);\n }\n if (this.options.uploadMultiple) {\n this.emit(\"successmultiple\", files, responseText, e);\n this.emit(\"completemultiple\", files);\n }\n if (this.options.autoProcessQueue) {\n return this.processQueue();\n }\n };\n\n Dropzone.prototype._errorProcessing = function(files, message, xhr) {\n var file, _i, _len;\n for (_i = 0, _len = files.length; _i < _len; _i++) {\n file = files[_i];\n file.status = Dropzone.ERROR;\n this.emit(\"error\", file, message, xhr);\n this.emit(\"complete\", file);\n }\n if (this.options.uploadMultiple) {\n this.emit(\"errormultiple\", files, message, xhr);\n this.emit(\"completemultiple\", files);\n }\n if (this.options.autoProcessQueue) {\n return this.processQueue();\n }\n };\n\n return Dropzone;\n\n })(Emitter);\n\n Dropzone.version = \"4.2.0\";\n\n Dropzone.options = {};\n\n Dropzone.optionsForElement = function(element) {\n if (element.getAttribute(\"id\")) {\n return Dropzone.options[camelize(element.getAttribute(\"id\"))];\n } else {\n return void 0;\n }\n };\n\n Dropzone.instances = [];\n\n Dropzone.forElement = function(element) {\n if (typeof element === \"string\") {\n element = document.querySelector(element);\n }\n if ((element != null ? element.dropzone : void 0) == null) {\n 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.\");\n }\n return element.dropzone;\n };\n\n Dropzone.autoDiscover = true;\n\n Dropzone.discover = function() {\n var checkElements, dropzone, dropzones, _i, _len, _results;\n if (document.querySelectorAll) {\n dropzones = document.querySelectorAll(\".dropzone\");\n } else {\n dropzones = [];\n checkElements = function(elements) {\n var el, _i, _len, _results;\n _results = [];\n for (_i = 0, _len = elements.length; _i < _len; _i++) {\n el = elements[_i];\n if (/(^| )dropzone($| )/.test(el.className)) {\n _results.push(dropzones.push(el));\n } else {\n _results.push(void 0);\n }\n }\n return _results;\n };\n checkElements(document.getElementsByTagName(\"div\"));\n checkElements(document.getElementsByTagName(\"form\"));\n }\n _results = [];\n for (_i = 0, _len = dropzones.length; _i < _len; _i++) {\n dropzone = dropzones[_i];\n if (Dropzone.optionsForElement(dropzone) !== false) {\n _results.push(new Dropzone(dropzone));\n } else {\n _results.push(void 0);\n }\n }\n return _results;\n };\n\n Dropzone.blacklistedBrowsers = [/opera.*Macintosh.*version\\/12/i];\n\n Dropzone.isBrowserSupported = function() {\n var capableBrowser, regex, _i, _len, _ref;\n capableBrowser = true;\n if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) {\n if (!(\"classList\" in document.createElement(\"a\"))) {\n capableBrowser = false;\n } else {\n _ref = Dropzone.blacklistedBrowsers;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n regex = _ref[_i];\n if (regex.test(navigator.userAgent)) {\n capableBrowser = false;\n continue;\n }\n }\n }\n } else {\n capableBrowser = false;\n }\n return capableBrowser;\n };\n\n without = function(list, rejectedItem) {\n var item, _i, _len, _results;\n _results = [];\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n item = list[_i];\n if (item !== rejectedItem) {\n _results.push(item);\n }\n }\n return _results;\n };\n\n camelize = function(str) {\n return str.replace(/[\\-_](\\w)/g, function(match) {\n return match.charAt(1).toUpperCase();\n });\n };\n\n Dropzone.createElement = function(string) {\n var div;\n div = document.createElement(\"div\");\n div.innerHTML = string;\n return div.childNodes[0];\n };\n\n Dropzone.elementInside = function(element, container) {\n if (element === container) {\n return true;\n }\n while (element = element.parentNode) {\n if (element === container) {\n return true;\n }\n }\n return false;\n };\n\n Dropzone.getElement = function(el, name) {\n var element;\n if (typeof el === \"string\") {\n element = document.querySelector(el);\n } else if (el.nodeType != null) {\n element = el;\n }\n if (element == null) {\n throw new Error(\"Invalid `\" + name + \"` option provided. Please provide a CSS selector or a plain HTML element.\");\n }\n return element;\n };\n\n Dropzone.getElements = function(els, name) {\n var e, el, elements, _i, _j, _len, _len1, _ref;\n if (els instanceof Array) {\n elements = [];\n try {\n for (_i = 0, _len = els.length; _i < _len; _i++) {\n el = els[_i];\n elements.push(this.getElement(el, name));\n }\n } catch (_error) {\n e = _error;\n elements = null;\n }\n } else if (typeof els === \"string\") {\n elements = [];\n _ref = document.querySelectorAll(els);\n for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {\n el = _ref[_j];\n elements.push(el);\n }\n } else if (els.nodeType != null) {\n elements = [els];\n }\n if (!((elements != null) && elements.length)) {\n throw new Error(\"Invalid `\" + name + \"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.\");\n }\n return elements;\n };\n\n Dropzone.confirm = function(question, accepted, rejected) {\n if (window.confirm(question)) {\n return accepted();\n } else if (rejected != null) {\n return rejected();\n }\n };\n\n Dropzone.isValidFile = function(file, acceptedFiles) {\n var baseMimeType, mimeType, validType, _i, _len;\n if (!acceptedFiles) {\n return true;\n }\n acceptedFiles = acceptedFiles.split(\",\");\n mimeType = file.type;\n baseMimeType = mimeType.replace(/\\/.*$/, \"\");\n for (_i = 0, _len = acceptedFiles.length; _i < _len; _i++) {\n validType = acceptedFiles[_i];\n validType = validType.trim();\n if (validType.charAt(0) === \".\") {\n if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) {\n return true;\n }\n } else if (/\\/\\*$/.test(validType)) {\n if (baseMimeType === validType.replace(/\\/.*$/, \"\")) {\n return true;\n }\n } else {\n if (mimeType === validType) {\n return true;\n }\n }\n }\n return false;\n };\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null) {\n jQuery.fn.dropzone = function(options) {\n return this.each(function() {\n return new Dropzone(this, options);\n });\n };\n }\n\n if (typeof module !== \"undefined\" && module !== null) {\n module.exports = Dropzone;\n } else {\n window.Dropzone = Dropzone;\n }\n\n Dropzone.ADDED = \"added\";\n\n Dropzone.QUEUED = \"queued\";\n\n Dropzone.ACCEPTED = Dropzone.QUEUED;\n\n Dropzone.UPLOADING = \"uploading\";\n\n Dropzone.PROCESSING = Dropzone.UPLOADING;\n\n Dropzone.CANCELED = \"canceled\";\n\n Dropzone.ERROR = \"error\";\n\n Dropzone.SUCCESS = \"success\";\n\n\n /*\n \n Bugfix for iOS 6 and 7\n Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios\n based on the work of https://github.com/stomita/ios-imagefile-megapixel\n */\n\n detectVerticalSquash = function(img) {\n var alpha, canvas, ctx, data, ey, ih, iw, py, ratio, sy;\n iw = img.naturalWidth;\n ih = img.naturalHeight;\n canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = ih;\n ctx = canvas.getContext(\"2d\");\n ctx.drawImage(img, 0, 0);\n data = ctx.getImageData(0, 0, 1, ih).data;\n sy = 0;\n ey = ih;\n py = ih;\n while (py > sy) {\n alpha = data[(py - 1) * 4 + 3];\n if (alpha === 0) {\n ey = py;\n } else {\n sy = py;\n }\n py = (ey + sy) >> 1;\n }\n ratio = py / ih;\n if (ratio === 0) {\n return 1;\n } else {\n return ratio;\n }\n };\n\n drawImageIOSFix = function(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) {\n var vertSquashRatio;\n vertSquashRatio = detectVerticalSquash(img);\n return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio);\n };\n\n\n /*\n * contentloaded.js\n *\n * Author: Diego Perini (diego.perini at gmail.com)\n * Summary: cross-browser wrapper for DOMContentLoaded\n * Updated: 20101020\n * License: MIT\n * Version: 1.2\n *\n * URL:\n * http://javascript.nwbox.com/ContentLoaded/\n * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE\n */\n\n contentLoaded = function(win, fn) {\n var add, doc, done, init, poll, pre, rem, root, top;\n done = false;\n top = true;\n doc = win.document;\n root = doc.documentElement;\n add = (doc.addEventListener ? \"addEventListener\" : \"attachEvent\");\n rem = (doc.addEventListener ? \"removeEventListener\" : \"detachEvent\");\n pre = (doc.addEventListener ? \"\" : \"on\");\n init = function(e) {\n if (e.type === \"readystatechange\" && doc.readyState !== \"complete\") {\n return;\n }\n (e.type === \"load\" ? win : doc)[rem](pre + e.type, init, false);\n if (!done && (done = true)) {\n return fn.call(win, e.type || e);\n }\n };\n poll = function() {\n var e;\n try {\n root.doScroll(\"left\");\n } catch (_error) {\n e = _error;\n setTimeout(poll, 50);\n return;\n }\n return init(\"poll\");\n };\n if (doc.readyState !== \"complete\") {\n if (doc.createEventObject && root.doScroll) {\n try {\n top = !win.frameElement;\n } catch (_error) {}\n if (top) {\n poll();\n }\n }\n doc[add](pre + \"DOMContentLoaded\", init, false);\n doc[add](pre + \"readystatechange\", init, false);\n return win[add](pre + \"load\", init, false);\n }\n };\n\n Dropzone._autoDiscoverFunction = function() {\n if (Dropzone.autoDiscover) {\n return Dropzone.discover();\n }\n };\n\n contentLoaded(window, Dropzone._autoDiscoverFunction);\n\n}).call(this);\n"],"sourceRoot":""}