!function(n){"use strict";"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=n(require("jquery")):n(window.jQuery)}(function(n){"use strict";n.fn.fileinputLocales={};n.fn.fileinputThemes={};String.prototype.setTokens=function(n){var t,r,i=this.toString();for(t in n)n.hasOwnProperty(t)&&(r=new RegExp("{"+t+"}","g"),i=i.replace(r,n[t]));return i};var t,i;t={FRAMES:".kv-preview-thumb",SORT_CSS:"file-sortable",STYLE_SETTING:'style="width:{width};height:{height};"',OBJECT_PARAMS:'<param name="controller" value="true" />\n<param name="allowFullScreen" value="true" />\n<param name="allowScriptAccess" value="always" />\n<param name="autoPlay" value="false" />\n<param name="autoStart" value="false" />\n<param name="quality" value="high" />\n',DEFAULT_PREVIEW:'<div class="file-preview-other">\n<span class="{previewFileIconClass}">{previewFileIcon}<\/span>\n<\/div>',MODAL_ID:"kvFileinputModal",MODAL_EVENTS:["show","shown","hide","hidden","loaded"],objUrl:window.URL||window.webkitURL,compare:function(n,t,i){return void 0!==n&&(i?n===t:n.match(t))},isIE:function(n){if("Microsoft Internet Explorer"!==navigator.appName)return!1;if(10===n)return new RegExp("msie\\s"+n,"i").test(navigator.userAgent);var i,t=document.createElement("div");return t.innerHTML="<!--[if IE "+n+"]> <i><\/i> <![endif]-->",i=t.getElementsByTagName("i").length,document.body.appendChild(t),t.parentNode.removeChild(t),i},initModal:function(t){var i=n("body");i.length&&t.appendTo(i)},isEmpty:function(t,i){return void 0===t||null===t||0===t.length||i&&""===n.trim(t)},isArray:function(n){return Array.isArray(n)||"[object Array]"===Object.prototype.toString.call(n)},ifSet:function(n,t,i){return i=i||"",t&&"object"==typeof t&&n in t?t[n]:i},cleanArray:function(n){return n instanceof Array||(n=[]),n.filter(function(n){return void 0!==n&&null!==n})},spliceArray:function(n,t){var i,r=0,u=[];if(!(n instanceof Array))return[];for(i=0;i<n.length;i++)i!==t&&(u[r]=n[i],r++);return u},getNum:function(n,t){return t=t||0,"number"==typeof n?n:("string"==typeof n&&(n=parseFloat(n)),isNaN(n)?t:n)},hasFileAPISupport:function(){return!(!window.File||!window.FileReader)},hasDragDropSupport:function(){var n=document.createElement("div");return!t.isIE(9)&&(void 0!==n.draggable||void 0!==n.ondragstart&&void 0!==n.ondrop)},hasFileUploadSupport:function(){return t.hasFileAPISupport()&&window.FormData},hasBlobSupport:function(){try{return!!window.Blob&&Boolean(new Blob)}catch(n){return!1}},hasArrayBufferViewSupport:function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(n){return!1}},dataURI2Blob:function(n){var r,u,f,i,e,o,s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,h=t.hasBlobSupport(),c=(h||s)&&window.atob&&window.ArrayBuffer&&window.Uint8Array;if(!c)return null;for(r=n.split(",")[0].indexOf("base64")>=0?atob(n.split(",")[1]):decodeURIComponent(n.split(",")[1]),u=new ArrayBuffer(r.length),f=new Uint8Array(u),i=0;i<r.length;i+=1)f[i]=r.charCodeAt(i);return e=n.split(",")[0].split(":")[1].split(";")[0],h?new Blob([t.hasArrayBufferViewSupport()?f:u],{type:e}):(o=new s,o.append(u),o.getBlob(e))},addCss:function(n,t){n.removeClass(t).addClass(t)},getElement:function(i,r,u){return t.isEmpty(i)||t.isEmpty(i[r])?u:n(i[r])},uniqId:function(){return Math.round((new Date).getTime()+100*Math.random())},htmlEncode:function(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")},replaceTags:function(t,i){var r=t;return i?(n.each(i,function(n,t){"function"==typeof t&&(t=t());r=r.split(n).join(t)}),r):r},cleanMemory:function(n){var i=n.is("img")?n.attr("src"):n.find("source").attr("src");t.objUrl.revokeObjectURL(i)},findFileName:function(n){var t=n.lastIndexOf("/");return-1===t&&(t=n.lastIndexOf("\\")),n.split(n.substring(t,t+1)).pop()},checkFullScreen:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},toggleFullScreen:function(n){var i=document,r=i.documentElement;r&&n&&!t.checkFullScreen()?r.requestFullscreen?r.requestFullscreen():r.msRequestFullscreen?r.msRequestFullscreen():r.mozRequestFullScreen?r.mozRequestFullScreen():r.webkitRequestFullscreen&&r.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):i.exitFullscreen?i.exitFullscreen():i.msExitFullscreen?i.msExitFullscreen():i.mozCancelFullScreen?i.mozCancelFullScreen():i.webkitExitFullscreen&&i.webkitExitFullscreen()},moveArray:function(n,t,i){if(i>=n.length)for(var r=i-n.length;r--+1;)n.push(void 0);return n.splice(i,0,n.splice(t,1)[0]),n},cleanZoomCache:function(n){var t=n.closest(".kv-zoom-cache-theme");t.length||(t=n.closest(".kv-zoom-cache"));t.remove()},setOrientation:function(n,t){var u,f,e,r=new DataView(n),i=0,o=1;if(!(65496!==r.getUint16(i)||n.length<2)){for(i+=2,u=r.byteLength;u-2>i;)switch(f=r.getUint16(i),i+=2,f){case 65505:e=r.getUint16(i);u=e-i;i+=2;break;case 274:o=r.getUint16(i+6,!1);u=0}t&&t(o)}},validateOrientation:function(n,i){if(window.FileReader&&window.DataView){var u,r=new FileReader;r.onloadend=function(){u=r.result;t.setOrientation(u,i)};r.readAsArrayBuffer(n)}},adjustOrientedImage:function(n,t){var i,r,u;if(n.hasClass("is-portrait-gt4")){if(t)return void n.css({width:n.parent().height()});n.css({height:"auto",width:n.height()});i=n.parent().offset().top;r=n.offset().top;u=i-r;n.css("margin-top",u)}}};i=function(i,r){var u=this;u.$element=n(i);u._validate()&&(u.isPreviewable=t.hasFileAPISupport(),u.isIE9=t.isIE(9),u.isIE10=t.isIE(10),u.isPreviewable||u.isIE9?(u._init(r),u._listen()):u.$element.removeClass("file-loading"))};i.prototype={constructor:i,_cleanup:function(){var n=this;n.reader=null;n.formdata={};n.uploadCount=0;n.uploadStatus={};n.uploadLog=[];n.uploadAsyncCount=0;n.loadedImages=[];n.totalImagesCount=0;n.ajaxRequests=[];n.clearStack();n.fileInputCleared=!1;n.fileBatchCompleted=!0;n.isPreviewable||(n.showPreview=!1);n.isError=!1;n.ajaxAborted=!1;n.cancelling=!1},_init:function(i){var f,e,r=this,u=r.$element;r.options=i;n.each(i,function(n,i){switch(n){case"minFileCount":case"maxFileCount":case"minFileSize":case"maxFileSize":case"maxFilePreviewSize":case"resizeImageQuality":case"resizeIfSizeMoreThan":case"progressUploadThreshold":case"initialPreviewCount":case"zoomModalHeight":case"minImageHeight":case"maxImageHeight":case"minImageWidth":case"maxImageWidth":r[n]=t.getNum(i);break;default:r[n]=i}});r._cleanup();r.$form=u.closest("form");r._initTemplateDefaults();r.uploadFileAttr=t.isEmpty(u.attr("name"))?"file_data":u.attr("name");e=r._getLayoutTemplate("progress");r.progressTemplate=e.replace("{class}",r.progressClass);r.progressCompleteTemplate=e.replace("{class}",r.progressCompleteClass);r.progressErrorTemplate=e.replace("{class}",r.progressErrorClass);r.dropZoneEnabled=t.hasDragDropSupport()&&r.dropZoneEnabled;r.isDisabled=u.attr("disabled")||u.attr("readonly");r.isDisabled&&u.attr("disabled",!0);r.isUploadable=t.hasFileUploadSupport()&&!t.isEmpty(r.uploadUrl);r.isClickable=r.browseOnZoneClick&&r.showPreview&&(r.isUploadable&&r.dropZoneEnabled||!t.isEmpty(r.defaultPreviewContent));r.slug="function"==typeof i.slugCallback?i.slugCallback:r._slugDefault;r.mainTemplate=r.showCaption?r._getLayoutTemplate("main1"):r._getLayoutTemplate("main2");r.captionTemplate=r._getLayoutTemplate("caption");r.previewGenericTemplate=r._getPreviewTemplate("generic");r.resizeImage&&(r.maxImageWidth||r.maxImageHeight)&&(r.imageCanvas=document.createElement("canvas"),r.imageCanvasContext=r.imageCanvas.getContext("2d"));t.isEmpty(u.attr("id"))&&u.attr("id",t.uniqId());r.namespace=".fileinput_"+u.attr("id").replace(/-/g,"_");void 0===r.$container?r.$container=r._createContainer():r._refreshContainer();f=r.$container;r.$dropZone=f.find(".file-drop-zone");r.$progress=f.find(".kv-upload-progress");r.$btnUpload=f.find(".fileinput-upload");r.$captionContainer=t.getElement(i,"elCaptionContainer",f.find(".file-caption"));r.$caption=t.getElement(i,"elCaptionText",f.find(".file-caption-name"));r.$previewContainer=t.getElement(i,"elPreviewContainer",f.find(".file-preview"));r.$preview=t.getElement(i,"elPreviewImage",f.find(".file-preview-thumbnails"));r.$previewStatus=t.getElement(i,"elPreviewStatus",f.find(".file-preview-status"));r.$errorContainer=t.getElement(i,"elErrorContainer",r.$previewContainer.find(".kv-fileinput-error"));t.isEmpty(r.msgErrorClass)||t.addCss(r.$errorContainer,r.msgErrorClass);r.$errorContainer.hide();r.previewInitId="preview-"+t.uniqId();r._initPreviewCache();r._initPreview(!0);r._initPreviewActions();r._setFileDropZoneTitle();u.removeClass("file-loading");u.attr("disabled")&&r.disable();r._initZoom()},_initTemplateDefaults:function(){var f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,u,ut,ft,et,ot,st,ht,ct,lt,at,vt,yt,pt,wt,bt,r,i=this;f='{preview}\n<div class="kv-upload-progress hide"><\/div>\n<div class="input-group {class}">\n   {caption}\n   <div class="input-group-btn">\n       {remove}\n       {cancel}\n       {upload}\n       {browse}\n   <\/div>\n<\/div>';e='{preview}\n<div class="kv-upload-progress hide"><\/div>\n{remove}\n{cancel}\n{upload}\n{browse}\n';o='<div class="file-preview {class}">\n    {close}    <div class="{dropClass}">\n    <div class="file-preview-thumbnails">\n    <\/div>\n    <div class="clearfix"><\/div>    <div class="file-preview-status text-center text-success"><\/div>\n    <div class="kv-fileinput-error"><\/div>\n    <\/div>\n<\/div>';h='<div class="close fileinput-remove">&times;<\/div>\n';s='<i class="glyphicon glyphicon-file kv-caption-icon"><\/i>';c='<div tabindex="500" class="form-control file-caption {class}">\n   <div class="file-caption-name"><\/div>\n<\/div>\n';l='<button type="{type}" tabindex="500" title="{title}" class="{css}" {status}>{icon} {label}<\/button>';a='<a href="{href}" tabindex="500" title="{title}" class="{css}" {status}>{icon} {label}<\/a>';v='<div tabindex="500" class="{css}" {status}>{icon} {label}<\/div>';y='<div id="'+t.MODAL_ID+'" class="file-zoom-dialog modal fade" tabindex="-1" aria-labelledby="'+t.MODAL_ID+'Label"><\/div>';p='<div class="modal-dialog modal-lg" role="document">\n  <div class="modal-content">\n    <div class="modal-header">\n      <div class="kv-zoom-actions pull-right">{toggleheader}{fullscreen}{borderless}{close}<\/div>\n      <h3 class="modal-title">{heading} <small><span class="kv-zoom-title"><\/span><\/small><\/h3>\n    <\/div>\n    <div class="modal-body">\n      <div class="floating-buttons"><\/div>\n      <div class="kv-zoom-body file-zoom-content {zoomFrameClass}"><\/div>\n{prev} {next}\n    <\/div>\n  <\/div>\n<\/div>\n';w='<div class="progress">\n    <div class="{class}" role="progressbar" aria-valuenow="{percent}" aria-valuemin="0" aria-valuemax="100" style="width:{percent}%;">\n        {status}\n     <\/div>\n<\/div>';b=" <samp>({sizeText})<\/samp>";k='<div class="file-thumbnail-footer">\n    <div class="file-footer-caption" title="{caption}">{caption}<br>{size}<\/div>\n    {progress} {indicator} {actions}\n<\/div>';d='{drag}\n<div class="file-actions">\n    <div class="file-footer-buttons">\n        {upload} {delete} {zoom} {other}    <\/div>\n    <div class="clearfix"><\/div>\n<\/div>';g='<button type="button" class="kv-file-remove {removeClass}" title="{removeTitle}" {dataUrl}{dataKey}>{removeIcon}<\/button>\n';nt='<button type="button" class="kv-file-upload {uploadClass}" title="{uploadTitle}">{uploadIcon}<\/button>';tt='<button type="button" class="kv-file-zoom {zoomClass}" title="{zoomTitle}">{zoomIcon}<\/button>';it='<span class="file-drag-handle {dragClass}" title="{dragTitle}">{dragIcon}<\/span>';rt='<div class="file-upload-indicator" title="{indicatorTitle}">{indicator}<\/div>';u='<div class="file-preview-frame {frameClass}" id="{previewId}" data-fileindex="{fileindex}" data-template="{template}"';ut=u+'><div class="kv-file-content">\n';ft=u+' title="{caption}"><div class="kv-file-content">\n';et="<\/div>{footer}\n<\/div>\n";ot="{content}\n";st='<div class="kv-preview-data file-preview-html" title="{caption}" '+t.STYLE_SETTING+">{data}<\/div>\n";ht='<img src="{data}" class="file-preview-image kv-preview-data" title="{caption}" alt="{caption}" '+t.STYLE_SETTING+">\n";ct='<textarea class="kv-preview-data file-preview-text" title="{caption}" readonly '+t.STYLE_SETTING+">{data}<\/textarea>\n";lt='<video class="kv-preview-data file-preview-video" width="{width}" height="{height}" controls>\n<source src="{data}" type="{type}">\n'+t.DEFAULT_PREVIEW+"\n<\/video>\n";at='<div class="file-preview-audio"><audio class="kv-preview-data" controls>\n<source src="{data}" type="{type}">\n'+t.DEFAULT_PREVIEW+"\n<\/audio><\/div>\n";vt='<object class="kv-preview-data file-object" type="application/x-shockwave-flash" width="{width}" height="{height}" data="{data}">\n'+t.OBJECT_PARAMS+" "+t.DEFAULT_PREVIEW+"\n<\/object>\n";yt='<object class="kv-preview-data file-object {typeCss}" data="{data}" type="{type}" width="{width}" height="{height}">\n<param name="movie" value="{caption}" />\n'+t.OBJECT_PARAMS+" "+t.DEFAULT_PREVIEW+"\n<\/object>\n";pt='<embed class="kv-preview-data" src="{data}" width="{width}" height="{height}" type="application/pdf">\n';wt='<div class="kv-preview-data file-preview-other-frame">\n'+t.DEFAULT_PREVIEW+"\n<\/div>\n";bt='<div class="kv-zoom-cache" style="display:none">{zoomContent}<\/div>';r={width:"100%",height:"100%","min-height":"480px"};i.defaults={layoutTemplates:{main1:f,main2:e,preview:o,close:h,fileIcon:s,caption:c,modalMain:y,modal:p,progress:w,size:b,footer:k,indicator:rt,actions:d,actionDelete:g,actionUpload:nt,actionZoom:tt,actionDrag:it,btnDefault:l,btnLink:a,btnBrowse:v,zoomCache:bt},previewMarkupTags:{tagBefore1:ut,tagBefore2:ft,tagAfter:et},previewContentTemplates:{generic:ot,html:st,image:ht,text:ct,video:lt,audio:at,flash:vt,object:yt,pdf:pt,other:wt},allowedPreviewTypes:["image","html","text","video","audio","flash","pdf","object"],previewTemplates:{},previewSettings:{image:{width:"auto",height:"160px"},html:{width:"213px",height:"160px"},text:{width:"213px",height:"160px"},video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"100%","max-width":"100%"},object:{height:"100%"},pdf:{width:"160px",height:"160px"},other:{width:"160px",height:"160px"}},previewZoomSettings:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:r,text:r,video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"480px"},object:{width:"auto",height:"100%","max-width":"100%","min-height":"480px"},pdf:r,other:{width:"auto",height:"100%","min-height":"480px"}},fileTypeSettings:{image:function(n,i){return t.compare(n,"image.*")||t.compare(i,/\.(gif|png|jpe?g)$/i)},html:function(n,i){return t.compare(n,"text/html")||t.compare(i,/\.(htm|html)$/i)},text:function(n,i){return t.compare(n,"text.*")||t.compare(i,/\.(xml|javascript)$/i)||t.compare(i,/\.(txt|md|csv|nfo|ini|json|php|js|css)$/i)},video:function(n,i){return t.compare(n,"video.*")&&(t.compare(n,/(ogg|mp4|mp?g|mov|webm|3gp)$/i)||t.compare(i,/\.(og?|mp4|webm|mp?g|mov|3gp)$/i))},audio:function(n,i){return t.compare(n,"audio.*")&&(t.compare(i,/(ogg|mp3|mp?g|wav)$/i)||t.compare(i,/\.(og?|mp3|mp?g|wav)$/i))},flash:function(n,i){return t.compare(n,"application/x-shockwave-flash",!0)||t.compare(i,/\.(swf)$/i)},pdf:function(n,i){return t.compare(n,"application/pdf",!0)||t.compare(i,/\.(pdf)$/i)},object:function(){return!0},other:function(){return!0}},fileActionSettings:{showRemove:!0,showUpload:!0,showZoom:!0,showDrag:!0,removeIcon:'<i class="glyphicon glyphicon-trash text-danger"><\/i>',removeClass:"btn btn-xs btn-default",removeTitle:"Remove file",uploadIcon:'<i class="glyphicon glyphicon-upload text-info"><\/i>',uploadClass:"btn btn-xs btn-default",uploadTitle:"Upload file",zoomIcon:'<i class="glyphicon glyphicon-zoom-in"><\/i>',zoomClass:"btn btn-xs btn-default",zoomTitle:"View Details",dragIcon:'<i class="glyphicon glyphicon-menu-hamburger"><\/i>',dragClass:"text-info",dragTitle:"Move / Rearrange",dragSettings:{},indicatorNew:'<i class="glyphicon glyphicon-hand-down text-warning"><\/i>',indicatorSuccess:'<i class="glyphicon glyphicon-ok-sign text-success"><\/i>',indicatorError:'<i class="glyphicon glyphicon-exclamation-sign text-danger"><\/i>',indicatorLoading:'<i class="glyphicon glyphicon-hand-up text-muted"><\/i>',indicatorNewTitle:"Not uploaded yet",indicatorSuccessTitle:"Uploaded",indicatorErrorTitle:"Upload Error",indicatorLoadingTitle:"Uploading ..."}};n.each(i.defaults,function(t,r){return"allowedPreviewTypes"===t?void(void 0===i.allowedPreviewTypes&&(i.allowedPreviewTypes=r)):void(i[t]=n.extend(!0,{},r,i[t]))});i._initPreviewTemplates()},_initPreviewTemplates:function(){var r,i=this,f=i.defaults,u=i.previewMarkupTags,e=u.tagAfter;n.each(f.previewContentTemplates,function(n,f){t.isEmpty(i.previewTemplates[n])&&(r=u.tagBefore2,"generic"!==n&&"image"!==n&&"html"!==n&&"text"!==n||(r=u.tagBefore1),i.previewTemplates[n]=r+f+e)})},_initPreviewCache:function(){var i=this;i.previewCache={data:{},init:function(){var n=i.initialPreview;n.length>0&&!t.isArray(n)&&(n=n.split(i.initialPreviewDelimiter));i.previewCache.data={content:n,config:i.initialPreviewConfig,tags:i.initialPreviewThumbTags}},fetch:function(){return i.previewCache.data.content.filter(function(n){return null!==n})},count:function(n){return i.previewCache.data&&i.previewCache.data.content?n?i.previewCache.data.content.length:i.previewCache.fetch().length:0},get:function(r,u){var e,s,h,c,l,a,v,y="init_"+r,o=i.previewCache.data,f=o.config[r],p=o.content[r],w=i.previewInitId+"-"+y,k=t.ifSet("previewAsData",f,i.initialPreviewAsData),b=function(n,r,u,f,e,o,s,h,c){return h=" file-preview-initial "+t.SORT_CSS+(h?" "+h:""),i._generatePreviewTemplate(n,r,u,f,e,!1,null,h,o,s,c)};return p?(u=void 0===u?!0:u,h=t.ifSet("type",f,i.initialPreviewFileType||"generic"),l=t.ifSet("filename",f,t.ifSet("caption",f)),a=t.ifSet("filetype",f,h),c=i.previewCache.footer(r,u,f&&f.size||null),v=t.ifSet("frameClass",f),e=k?b(h,p,l,a,w,c,y,v):b("generic",p,l,a,w,c,y,v,h).setTokens({content:o.content[r]}),o.tags.length&&o.tags[r]&&(e=t.replaceTags(e,o.tags[r])),t.isEmpty(f)||t.isEmpty(f.frameAttr)||(s=n(document.createElement("div")).html(e),s.find(".file-preview-initial").attr(f.frameAttr),e=s.html(),s.remove()),e):""},add:function(n,r,u,f){var o,e=i.previewCache.data;return t.isArray(n)||(n=n.split(i.initialPreviewDelimiter)),f?(o=e.content.push(n)-1,e.config[o]=r,e.tags[o]=u):(o=n.length-1,e.content=n,e.config=r,e.tags=u),i.previewCache.data=e,o},set:function(n,r,u,f){var e,s,o=i.previewCache.data;if(n&&n.length&&(t.isArray(n)||(n=n.split(i.initialPreviewDelimiter)),s=n.filter(function(n){return null!==n}),s.length)){if(void 0===o.content&&(o.content=[]),void 0===o.config&&(o.config=[]),void 0===o.tags&&(o.tags=[]),f){for(e=0;e<n.length;e++)n[e]&&o.content.push(n[e]);for(e=0;e<r.length;e++)r[e]&&o.config.push(r[e]);for(e=0;e<u.length;e++)u[e]&&o.tags.push(u[e])}else o.content=n,o.config=r,o.tags=u;i.previewCache.data=o}},unset:function(n){var t=i.previewCache.count();if(t){if(1===t)return i.previewCache.data.content=[],i.previewCache.data.config=[],i.previewCache.data.tags=[],i.initialPreview=[],i.initialPreviewConfig=[],void(i.initialPreviewThumbTags=[]);i.previewCache.data.content[n]=null;i.previewCache.data.config[n]=null;i.previewCache.data.tags[n]=null}},out:function(){var t,n,r="",u=i.previewCache.count(!0);if(0===u)return{content:"",caption:""};for(n=0;u>n;n++)r+=i.previewCache.get(n);return t=i._getMsgSelected(i.previewCache.count()),{content:r,caption:t}},footer:function(n,r,u){var e=i.previewCache.data;if(!e||!e.config||0===e.config.length||t.isEmpty(e.config[n]))return"";r=void 0===r?!0:r;var s,f=e.config[n],c=t.ifSet("caption",f),l=t.ifSet("width",f,"auto"),h=t.ifSet("url",f,!1),a=t.ifSet("key",f,null),o=i.fileActionSettings,v=i.initialPreviewShowDelete||!1,y=t.ifSet("showDelete",f,t.ifSet("showDelete",o,v)),p=t.ifSet("showZoom",f,t.ifSet("showZoom",o,!0)),w=t.ifSet("showDrag",f,t.ifSet("showDrag",o,!0)),b=h===!1&&r;return s=i._renderFileActions(!1,y,p,w,b,h,a,!0),i._getLayoutTemplate("footer").setTokens({progress:i._renderThumbProgress(),actions:s,caption:c,size:i._getSize(u),width:l,indicator:""})}};i.previewCache.init()},_handler:function(n,t,i){var f=this,r=f.namespace,u=t.split(" ").join(r+" ")+r;n&&n.length&&n.off(u).on(u,i)},_log:function(n){var i=this,t=i.$element.attr("id");t&&(n='"'+t+'": '+n);"undefined"!=typeof window.console.log?window.console.log(n):window.alert(n)},_validate:function(){var n=this,t="file"===n.$element.attr("type");return t||n._log('The input "type" must be set to "file" for initializing the "bootstrap-fileinput" plugin.'),t},_errorsExist:function(){var t,i=this;return i.$errorContainer.find("li").length?!0:(t=n(document.createElement("div")).html(i.$errorContainer.html()),t.find("span.kv-error-close").remove(),t.find("ul").remove(),!!n.trim(t.text()).length)},_errorHandler:function(n,t){var r=this,i=n.target.error,u=function(n){r._showError(n.replace("{name}",t))};u(i.code===i.NOT_FOUND_ERR?r.msgFileNotFound:i.code===i.SECURITY_ERR?r.msgFileSecured:i.code===i.NOT_READABLE_ERR?r.msgFileNotReadable:i.code===i.ABORT_ERR?r.msgFilePreviewAborted:r.msgFilePreviewError)},_addError:function(n){var i=this,t=i.$errorContainer;n&&t.length&&(t.html(i.errorCloseButton+n),i._handler(t.find(".kv-error-close"),"click",function(){t.fadeOut("slow")}))},_resetErrors:function(n){var t=this,i=t.$errorContainer;t.isError=!1;t.$container.removeClass("has-error");i.html("");n?i.fadeOut("slow"):i.hide()},_showFolderError:function(n){var r,i=this,u=i.$errorContainer;n&&(r=i.msgFoldersNotAllowed.replace("{n}",n),i._addError(r),t.addCss(i.$container,"has-error"),u.fadeIn(800),i._raise("filefoldererror",[n,r]))},_showUploadError:function(n,i,r){var u=this,f=u.$errorContainer,o=r||"fileuploaderror",e=i&&i.id?'<li data-file-id="'+i.id+'">'+n+"<\/li>":"<li>"+n+"<\/li>";return 0===f.find("ul").length?u._addError("<ul>"+e+"<\/ul>"):f.find("ul").append(e),f.fadeIn(800),u._raise(o,[i,n]),u.$container.removeClass("file-input-new"),t.addCss(u.$container,"has-error"),!0},_showError:function(n,i,r){var u=this,f=u.$errorContainer,e=r||"fileerror";return i=i||{},i.reader=u.reader,u._addError(n),f.fadeIn(800),u._raise(e,[i,n]),u.isUploadable||u._clearFileInput(),u.$container.removeClass("file-input-new"),t.addCss(u.$container,"has-error"),u.$btnUpload.attr("disabled",!0),!0},_noFilesError:function(n){var i=this,u=i.minFileCount>1?i.filePlural:i.fileSingle,r=i.msgFilesTooLess.replace("{n}",i.minFileCount).replace("{files}",u),f=i.$errorContainer;i._addError(r);i.isError=!0;i._updateFileDetails(0);f.fadeIn(800);i._raise("fileerror",[n,r]);i._clearFileInput();t.addCss(i.$container,"has-error")},_parseError:function(t,i,r,u){var o=this,f=n.trim(r+""),s="."===f.slice(-1)?"":".",e=void 0!==i.responseJSON&&void 0!==i.responseJSON.error?i.responseJSON.error:i.responseText;return o.cancelling&&o.msgUploadAborted&&(f=o.msgUploadAborted),o.showAjaxErrorDetails&&e?(e=n.trim(e.replace(/\n\s*\n/g,"\n")),e=e.length>0?"<pre>"+e+"<\/pre>":"",f+=s+e):f+=s,f===s&&(f=o.msgAjaxError.replace("{operation}",t)),o.cancelling=!1,u?"<b>"+u+": <\/b>"+f:f},_parseFileType:function(n){for(var f,r,u,e=this,o=e.allowedPreviewTypes||[],i=0;i<o.length;i++)if(u=o[i],f=e.fileTypeSettings[u],r=f(n.type,n.name)?u:"",!t.isEmpty(r))return r;return"other"},_getPreviewIcon:function(t){var r,i=this,u=null;return t&&t.indexOf(".")>-1&&(r=t.split(".").pop(),i.previewFileIconSettings&&(u=i.previewFileIconSettings[r]||i.previewFileIconSettings[r.toLowerCase()]||null),i.previewFileExtSettings&&n.each(i.previewFileExtSettings,function(n,t){i.previewFileIconSettings[n]&&t(r)})),u},_parseFilePreviewIcon:function(n,t){var r=this,u=r._getPreviewIcon(t)||r.previewFileIcon,i=n;return i.indexOf("{previewFileIcon}")>-1&&(i=i.setTokens({previewFileIconClass:r.previewFileIconClass,previewFileIcon:u})),i},_raise:function(t,i){var u=this,r=n.Event(t);if(void 0!==i?u.$element.trigger(r,i):u.$element.trigger(r),r.isDefaultPrevented()||r.result===!1)return!1;switch(t){case"filebatchuploadcomplete":case"filebatchuploadsuccess":case"fileuploaded":case"fileclear":case"filecleared":case"filereset":case"fileerror":case"filefoldererror":case"fileuploaderror":case"filebatchuploaderror":case"filedeleteerror":case"filecustomerror":case"filesuccessremove":break;default:u.ajaxAborted||(u.ajaxAborted=r.result)}return!0},_listenFullScreen:function(n){var r,i,u=this,t=u.$modal;t&&t.length&&(r=t&&t.find(".btn-fullscreen"),i=t&&t.find(".btn-borderless"),r.length&&i.length&&(r.removeClass("active").attr("aria-pressed","false"),i.removeClass("active").attr("aria-pressed","false"),n?r.addClass("active").attr("aria-pressed","true"):i.addClass("active").attr("aria-pressed","true"),t.hasClass("file-zoom-fullscreen")?u._maximizeZoomDialog():n?u._maximizeZoomDialog():i.removeClass("active").attr("aria-pressed","false")))},_listen:function(){var r,i=this,e=i.$element,u=i.$form,f=i.$container;i._handler(e,"change",n.proxy(i._change,i));i.showBrowse&&i._handler(i.$btnFile,"click",n.proxy(i._browse,i));i._handler(f.find(".fileinput-remove:not([disabled])"),"click",n.proxy(i.clear,i));i._handler(f.find(".fileinput-cancel"),"click",n.proxy(i.cancel,i));i._initDragDrop();i._handler(u,"reset",n.proxy(i.reset,i));i.isUploadable||i._handler(u,"submit",n.proxy(i._submitForm,i));i._handler(i.$container.find(".fileinput-upload"),"click",n.proxy(i._uploadClick,i));i._handler(n(window),"resize",function(){i._listenFullScreen(screen.width===window.innerWidth&&screen.height===window.innerHeight)});r="webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange";i._handler(n(document),r,function(){i._listenFullScreen(t.checkFullScreen())});i._initClickable()},_initClickable:function(){var r,i=this;i.isClickable&&(r=i.isUploadable?i.$dropZone:i.$preview.find(".file-default-preview"),t.addCss(r,"clickable"),r.attr("tabindex",-1),i._handler(r,"click",function(t){var u=n(t.target);u.parents(".file-preview-thumbnails").length&&!u.parents(".file-default-preview").length||(i.$element.trigger("click"),r.blur())}))},_initDragDrop:function(){var t=this,i=t.$dropZone;t.isUploadable&&t.dropZoneEnabled&&t.showPreview&&(t._handler(i,"dragenter dragover",n.proxy(t._zoneDragEnter,t)),t._handler(i,"dragleave",n.proxy(t._zoneDragLeave,t)),t._handler(i,"drop",n.proxy(t._zoneDrop,t)),t._handler(n(document),"dragenter dragover drop",t._zoneDragDropInit))},_zoneDragDropInit:function(n){n.stopPropagation();n.preventDefault()},_zoneDragEnter:function(i){var r=this,u=n.inArray("Files",i.originalEvent.dataTransfer.types)>-1;return r._zoneDragDropInit(i),r.isDisabled||!u?(i.originalEvent.dataTransfer.effectAllowed="none",void(i.originalEvent.dataTransfer.dropEffect="none")):void t.addCss(r.$dropZone,"file-highlighted")},_zoneDragLeave:function(n){var t=this;t._zoneDragDropInit(n);t.isDisabled||t.$dropZone.removeClass("file-highlighted")},_zoneDrop:function(n){var i=this;n.preventDefault();i.isDisabled||t.isEmpty(n.originalEvent.dataTransfer.files)||(i._change(n,"dragdrop"),i.$dropZone.removeClass("file-highlighted"))},_uploadClick:function(n){var r,u=this,i=u.$container.find(".fileinput-upload"),f=!i.hasClass("disabled")&&t.isEmpty(i.attr("disabled"));if(!n||!n.isDefaultPrevented()){if(!u.isUploadable)return void(f&&"submit"!==i.attr("type")&&(r=i.closest("form"),r.length&&r.trigger("submit"),n.preventDefault()));n.preventDefault();f&&u.upload()}},_submitForm:function(){var n=this;return n._isFileSelectionValid()&&!n._abort({})},_clearPreview:function(){var i=this,r=i.$preview,u=i.showUploadedThumbs?i.getFrames(":not(.file-preview-success)"):i.getFrames();u.each(function(){var i=n(this);i.remove();t.cleanZoomCache(r.find("#zoom-"+i.attr("id")))});i.getFrames().length&&i.showPreview||i._resetUpload();i._validateDefaultPreview()},_initSortable:function(){var u,i=this,r=i.$preview,f="."+t.SORT_CSS;window.KvSortable&&0!==r.find(f).length&&(u={handle:".drag-handle-init",dataIdAttr:"data-preview-id",scroll:!1,draggable:f,onSort:function(r){var o,s,f=r.oldIndex,e=r.newIndex,u;for(i.initialPreview=t.moveArray(i.initialPreview,f,e),i.initialPreviewConfig=t.moveArray(i.initialPreviewConfig,f,e),i.previewCache.init(),u=0;u<i.initialPreviewConfig.length;u++)null!==i.initialPreviewConfig[u]&&(o=i.initialPreviewConfig[u].key,s=n(".kv-file-remove[data-key='"+o+"']").closest(t.FRAMES),s.attr("data-fileindex","init_"+u).attr("data-fileindex","init_"+u));i._raise("filesorted",{previewId:n(r.item).attr("id"),oldIndex:f,newIndex:e,stack:i.initialPreviewConfig})}},r.data("kvsortable")&&r.kvsortable("destroy"),n.extend(!0,u,i.fileActionSettings.dragSettings),r.kvsortable(u))},_initPreview:function(n){var r,i=this,u=i.initialCaption||"";return i.previewCache.count()?(r=i.previewCache.out(),u=n&&i.initialCaption?i.initialCaption:r.caption,i.$preview.html(r.content),i._setInitThumbAttr(),i._setCaption(u),i._initSortable(),void(t.isEmpty(r.content)||i.$container.removeClass("file-input-new"))):(i._clearPreview(),void(n?i._setCaption(u):i._initCaption()))},_getZoomButton:function(n){var t=this,r=t.previewZoomButtonIcons[n],u=t.previewZoomButtonClasses[n],f=' title="'+(t.previewZoomButtonTitles[n]||"")+'" ',i=f+("close"===n?' data-dismiss="modal" aria-hidden="true"':"");return"fullscreen"!==n&&"borderless"!==n&&"toggleheader"!==n||(i+=' data-toggle="button" aria-pressed="false" autocomplete="off"'),'<button type="button" class="'+u+" btn-"+n+'"'+i+">"+r+"<\/button>"},_getModalContent:function(){var n=this;return n._getLayoutTemplate("modal").setTokens({zoomFrameClass:n.frameClass,heading:n.msgZoomModalHeading,prev:n._getZoomButton("prev"),next:n._getZoomButton("next"),toggleheader:n._getZoomButton("toggleheader"),fullscreen:n._getZoomButton("fullscreen"),borderless:n._getZoomButton("borderless"),close:n._getZoomButton("close")})},_listenModalEvent:function(n){var r=this,i=r.$modal,u=function(n){return{sourceEvent:n,previewId:i.data("previewId"),modal:i}};i.on(n+".bs.modal",function(f){var e=i.find(".btn-fullscreen"),o=i.find(".btn-borderless");r._raise("filezoom"+n,u(f));"shown"===n&&(o.removeClass("active").attr("aria-pressed","false"),e.removeClass("active").attr("aria-pressed","false"),i.hasClass("file-zoom-fullscreen")&&(r._maximizeZoomDialog(),t.checkFullScreen()?e.addClass("active").attr("aria-pressed","true"):o.addClass("active").attr("aria-pressed","true")))})},_initZoom:function(){var r,i=this,f=i._getLayoutTemplate("modalMain"),u="#"+t.MODAL_ID;i.showPreview&&(i.$modal=n(u),i.$modal&&i.$modal.length||(r=n(document.createElement("div")).html(f).insertAfter(i.$container),i.$modal=n(u).insertBefore(r),r.remove()),t.initModal(i.$modal),i.$modal.html(i._getModalContent()),n.each(t.MODAL_EVENTS,function(n,t){i._listenModalEvent(t)}))},_initZoomButtons:function(){var f,e,t=this,o=t.$modal.data("previewId")||"",i=t.getFrames().toArray(),s=i.length,r=t.$modal.find(".btn-prev"),u=t.$modal.find(".btn-next");return i.length<2?(r.hide(),void u.hide()):(r.show(),u.show(),void(s&&(f=n(i[0]),e=n(i[s-1]),r.removeAttr("disabled"),u.removeAttr("disabled"),f.length&&f.attr("id")===o&&r.attr("disabled",!0),e.length&&e.attr("id")===o&&u.attr("disabled",!0))))},_maximizeZoomDialog:function(){var o=this,t=o.$modal,u=t.find(".modal-header:visible"),f=t.find(".modal-footer:visible"),i=t.find(".modal-body"),r=n(window).height(),e=0;t.addClass("file-zoom-fullscreen");u&&u.length&&(r-=u.outerHeight(!0));f&&f.length&&(r-=f.outerHeight(!0));i&&i.length&&(e=i.outerHeight(!0)-i.height(),r-=e);t.find(".kv-zoom-body").height(r)},_resizeZoomDialog:function(n){var r=this,i=r.$modal,u=i.find(".btn-fullscreen"),f=i.find(".btn-borderless");if(i.hasClass("file-zoom-fullscreen"))t.toggleFullScreen(!1),n?u.hasClass("active")||(i.removeClass("file-zoom-fullscreen"),r._resizeZoomDialog(!0),f.hasClass("active")&&f.removeClass("active").attr("aria-pressed","false")):u.hasClass("active")?u.removeClass("active").attr("aria-pressed","false"):(i.removeClass("file-zoom-fullscreen"),r.$modal.find(".kv-zoom-body").css("height",r.zoomModalHeight));else{if(!n)return void r._maximizeZoomDialog();t.toggleFullScreen(!0)}i.focus()},_setZoomContent:function(i,r){var h,y,c,p,e,o,l,a,w,b,u=this,s=i.attr("id"),f=u.$modal,k=f.find(".btn-prev"),d=f.find(".btn-next"),nt=f.find(".btn-fullscreen"),tt=f.find(".btn-borderless"),it=f.find(".btn-toggleheader"),g=u.$preview.find("#zoom-"+s),v;y=g.attr("data-template")||"generic";h=g.find(".kv-file-content");c=h.length?h.html():"";w=i.data("caption")||"";b=i.data("size")||"";p=w+" "+b;f.find(".kv-zoom-title").html(p);e=f.find(".kv-zoom-body");f.removeClass("kv-single-content");r?(a=e.addClass("file-thumb-loading").clone().insertAfter(e),e.html(c).hide(),a.fadeOut("fast",function(){e.fadeIn("fast",function(){e.removeClass("file-thumb-loading")});a.remove()})):e.html(c);l=u.previewZoomSettings[y];l&&(o=e.find(".kv-preview-data"),t.addCss(o,"file-zoom-detail"),n.each(l,function(n,t){o.css(n,t);(o.attr("width")&&"width"===n||o.attr("height")&&"height"===n)&&o.removeAttr(n)}));f.data("previewId",s);v=e.find("img");v.length&&t.adjustOrientedImage(v,!0);u._handler(k,"click",function(){u._zoomSlideShow("prev",s)});u._handler(d,"click",function(){u._zoomSlideShow("next",s)});u._handler(nt,"click",function(){u._resizeZoomDialog(!0)});u._handler(tt,"click",function(){u._resizeZoomDialog(!1)});u._handler(it,"click",function(){var t,n=f.find(".modal-header"),i=f.find(".modal-body .floating-buttons"),r=n.find(".kv-zoom-actions"),e=function(t){var r=u.$modal.find(".kv-zoom-body"),i=u.zoomModalHeight;f.hasClass("file-zoom-fullscreen")&&(i=r.outerHeight(!0),t||(i-=n.outerHeight(!0)));r.css("height",t?i+t:i)};n.is(":visible")?(t=n.outerHeight(!0),n.slideUp("slow",function(){r.find(".btn").appendTo(i);e(t)})):(i.find(".btn").appendTo(r),n.slideDown("slow",function(){e()}));f.focus()});u._handler(f,"keydown",function(n){var t=n.which||n.keyCode;37!==t||k.attr("disabled")||u._zoomSlideShow("prev",s);39!==t||d.attr("disabled")||u._zoomSlideShow("next",s)})},_zoomPreview:function(n){var u,i=this,r=i.$modal;if(!n.length)throw"Cannot zoom to detailed preview!";t.initModal(r);r.html(i._getModalContent());u=n.closest(t.FRAMES);i._setZoomContent(u);r.modal("show");i._initZoomButtons()},_zoomSlideShow:function(t,i){var o,r,f,u=this,h=u.$modal.find(".kv-zoom-actions .btn-"+t),e=u.getFrames().toArray(),s=e.length;if(!h.attr("disabled")){for(r=0;s>r;r++)if(n(e[r]).attr("id")===i){f="prev"===t?r-1:r+1;break}0>f||f>=s||!e[f]||(o=n(e[f]),o.length&&u._setZoomContent(o,!0),u._initZoomButtons(),u._raise("filezoom"+t,{previewId:i,modal:u.$modal}))}},_initZoomButton:function(){var t=this;t.$preview.find(".kv-file-zoom").each(function(){var i=n(this);t._handler(i,"click",function(){t._zoomPreview(i)})})},_clearObjects:function(t){t.find("video audio").each(function(){this.pause();n(this).remove()});t.find("img object div").each(function(){n(this).remove()})},_clearFileInput:function(){var e,r,u,f=this,i=f.$element;f.fileInputCleared=!0;t.isEmpty(i.val())||(f.isIE9||f.isIE10?(e=i.closest("form"),r=n(document.createElement("form")),u=n(document.createElement("div")),i.before(u),e.length?e.after(r):u.after(r),r.append(i).trigger("reset"),u.before(i).remove(),r.remove()):i.val(""))},_resetUpload:function(){var n=this;n.uploadCache={content:[],config:[],tags:[],append:!0};n.uploadCount=0;n.uploadStatus={};n.uploadLog=[];n.uploadAsyncCount=0;n.loadedImages=[];n.totalImagesCount=0;n.$btnUpload.removeAttr("disabled");n._setProgress(0);t.addCss(n.$progress,"hide");n._resetErrors(!1);n.ajaxAborted=!1;n.ajaxRequests=[];n._resetCanvas();n.cacheInitialPreview={};n.overwriteInitial&&(n.initialPreview=[],n.initialPreviewConfig=[],n.initialPreviewThumbTags=[],n.previewCache.data={content:[],config:[],tags:[]})},_resetCanvas:function(){var n=this;n.canvas&&n.imageCanvasContext&&n.imageCanvasContext.clearRect(0,0,n.canvas.width,n.canvas.height)},_hasInitialPreview:function(){var n=this;return!n.overwriteInitial&&n.previewCache.count()},_resetPreview:function(){var t,i,n=this;n.previewCache.count()?(t=n.previewCache.out(),n.$preview.html(t.content),n._setInitThumbAttr(),i=n.initialCaption?n.initialCaption:t.caption,n._setCaption(i)):(n._clearPreview(),n._initCaption());n.showPreview&&(n._initZoom(),n._initSortable())},_clearDefaultPreview:function(){var n=this;n.$preview.find(".file-default-preview").remove()},_validateDefaultPreview:function(){var n=this;n.showPreview&&!t.isEmpty(n.defaultPreviewContent)&&(n.$preview.html('<div class="file-default-preview">'+n.defaultPreviewContent+"<\/div>"),n.$container.removeClass("file-input-new"),n._initClickable())},_resetPreviewThumbs:function(n){var i,t=this;return n?(t._clearPreview(),void t.clearStack()):void(t._hasInitialPreview()?(i=t.previewCache.out(),t.$preview.html(i.content),t._setInitThumbAttr(),t._setCaption(i.caption),t._initPreviewActions()):t._clearPreview())},_getLayoutTemplate:function(n){var i=this,r=i.layoutTemplates[n];return t.isEmpty(i.customLayoutTags)?r:t.replaceTags(r,i.customLayoutTags)},_getPreviewTemplate:function(n){var i=this,r=i.previewTemplates[n];return t.isEmpty(i.customPreviewTags)?r:t.replaceTags(r,i.customPreviewTags)},_getOutData:function(n,t,i){var r=this;return n=n||{},t=t||{},i=i||r.filestack.slice(0)||{},{form:r.formdata,files:i,filenames:r.filenames,filescount:r.getFilesCount(),extra:r._getExtraData(),response:t,reader:r.reader,jqXHR:n}},_getMsgSelected:function(n){var t=this,i=1===n?t.fileSingle:t.filePlural;return n>0?t.msgSelected.replace("{n}",n).replace("{files}",i):t.msgNoFilesSelected},_getFrame:function(t){var r=this,i=n("#"+t);return i.length?i:(r._log('Invalid thumb frame with id: "'+t+'".'),null)},_getThumbs:function(n){return n=n||"",this.getFrames(":not(.file-preview-initial)"+n)},_getExtraData:function(n,t){var i=this,r=i.uploadExtraData;return"function"==typeof i.uploadExtraData&&(r=i.uploadExtraData(n,t)),r},_initXhr:function(n,t,i){var r=this;return n.upload&&n.upload.addEventListener("progress",function(n){var u=0,f=n.total,e=n.loaded||n.position;n.lengthComputable&&(u=Math.floor(e/f*100));t?r._setAsyncUploadStatus(t,u,i):r._setProgress(u)},!1),n},_ajaxSubmit:function(t,i,r,u,f,e){var s,o=this;o._raise("filepreajax",[f,e])&&(o._uploadExtra(f,e),s=n.extend(!0,{},{xhr:function(){var t=n.ajaxSettings.xhr();return o._initXhr(t,f,o.getFileStack().length)},url:o.uploadUrl,type:"POST",dataType:"json",data:o.formdata,cache:!1,processData:!1,contentType:!1,beforeSend:t,success:i,complete:r,error:u},o.ajaxSettings),o.ajaxRequests.push(n.ajax(s)))},_mergeArray:function(n,i){var r=this,u=t.cleanArray(r[n]),f=t.cleanArray(i);r[n]=u.concat(f)},_initUploadSuccess:function(i,r,u){var h,v,y,c,l,e,o,s,a,f=this;f.showPreview&&"object"==typeof i&&!n.isEmptyObject(i)&&void 0!==i.initialPreview&&i.initialPreview.length>0&&(f.hasInitData=!0,e=i.initialPreview||[],o=i.initialPreviewConfig||[],s=i.initialPreviewThumbTags||[],h=!(void 0!==i.append&&!i.append),e.length>0&&!t.isArray(e)&&(e=e.split(f.initialPreviewDelimiter)),f._mergeArray("initialPreview",e),f._mergeArray("initialPreviewConfig",o),f._mergeArray("initialPreviewThumbTags",s),void 0!==r?u?(a=r.attr("data-fileindex"),f.uploadCache.content[a]=e[0],f.uploadCache.config[a]=o[0]||[],f.uploadCache.tags[a]=s[0]||[],f.uploadCache.append=h):(y=f.previewCache.add(e,o[0],s[0],h),v=f.previewCache.get(y,!1),c=n(document.createElement("div")).html(v).hide().insertAfter(r),l=c.find(".kv-zoom-cache"),l&&l.length&&l.insertAfter(r),r.fadeOut("slow",function(){var n=c.find(".file-preview-frame");n&&n.length&&n.insertBefore(r).fadeIn("slow").css("display:inline-block");f._initPreviewActions();f._clearFileInput();t.cleanZoomCache(f.$preview.find("#zoom-"+r.attr("id")));r.remove();c.remove();f._initSortable()})):(f.previewCache.set(e,o,s,h),f._initPreview(),f._initPreviewActions()))},_initSuccessThumbs:function(){var i=this;i.showPreview&&i._getThumbs(t.FRAMES+".file-preview-success").each(function(){var r=n(this),f=i.$preview,u=r.find(".kv-file-remove");u.removeAttr("disabled");i._handler(u,"click",function(){var n=r.attr("id"),u=i._raise("filesuccessremove",[n,r.attr("data-fileindex")]);t.cleanMemory(r);u!==!1&&r.fadeOut("slow",function(){t.cleanZoomCache(f.find("#zoom-"+n));r.remove();i.getFrames().length||i.reset()})})})},_checkAsyncComplete:function(){for(var r,t=this,i=0;i<t.filestack.length;i++)if(t.filestack[i]&&(r=t.previewInitId+"-"+i,-1===n.inArray(r,t.uploadLog)))return!1;return t.uploadAsyncCount===t.uploadLog.length},_uploadExtra:function(t,i){var r=this,u=r._getExtraData(t,i);0!==u.length&&n.each(u,function(n,t){r.formdata.append(n,t)})},_uploadSingle:function(i,r,u){var h,e,p,c,a,w,b,k,d,l,f=this,g=f.getFileStack().length,v=new FormData,o=f.previewInitId+"-"+i,nt=f.filestack.length>0||!n.isEmptyObject(f.uploadExtraData),y=n("#"+o).find(".file-thumb-progress"),s={id:o,index:i};f.formdata=v;f.showPreview&&(e=n("#"+o+":not(.file-preview-initial)"),c=e.find(".kv-file-upload"),a=e.find(".kv-file-remove"),y.removeClass("hide"));0===g||!nt||c&&c.hasClass("disabled")||f._abort(s)||(l=function(n,t){f.updateStack(n,void 0);f.uploadLog.push(t);f._checkAsyncComplete()&&(f.fileBatchCompleted=!0)},p=function(){var e,r,u,n=f.uploadCache,o=0,i=f.cacheInitialPreview;f.fileBatchCompleted&&(i&&i.content&&(o=i.content.length),setTimeout(function(){if(f.showPreview){if(f.previewCache.set(n.content,n.config,n.tags,n.append),o){for(r=0;r<n.content.length;r++)u=r+o,i.content[u]=n.content[r],i.config.length&&(i.config[u]=n.config[r]),i.tags.length&&(i.tags[u]=n.tags[r]);f.initialPreview=t.cleanArray(i.content);f.initialPreviewConfig=t.cleanArray(i.config);f.initialPreviewThumbTags=t.cleanArray(i.tags)}else f.initialPreview=n.content,f.initialPreviewConfig=n.config,f.initialPreviewThumbTags=n.tags;f.cacheInitialPreview={};f.hasInitData&&(f._initPreview(),f._initPreviewActions())}f.unlock();f._clearFileInput();e=f.$preview.find(".file-preview-initial");f.uploadAsync&&e.length&&(t.addCss(e,t.SORT_CSS),f._initSortable());f._raise("filebatchuploadcomplete",[f.filestack,f._getExtraData()]);f.uploadCount=0;f.uploadStatus={};f.uploadLog=[];f._setProgress(101)},100))},w=function(r){h=f._getOutData(r);f.fileBatchCompleted=!1;f.showPreview&&(e.hasClass("file-preview-success")||(f._setThumbStatus(e,"Loading"),t.addCss(e,"file-uploading")),c.attr("disabled",!0),a.attr("disabled",!0));u||f.lock();f._raise("filepreupload",[h,o,i]);n.extend(!0,s,h);f._abort(s)&&(r.abort(),f._setProgressCancelled())},b=function(r,a,v){var p=f.showPreview&&e.attr("id")?e.attr("id"):o;h=f._getOutData(v,r);n.extend(!0,s,h);setTimeout(function(){t.isEmpty(r)||t.isEmpty(r.error)?(f.showPreview&&(f._setThumbStatus(e,"Success"),c.hide(),f._initUploadSuccess(r,e,u),f._setProgress(101,y)),f._raise("fileuploaded",[h,p,i]),u?l(i,p):f.updateStack(i,void 0)):(f._showUploadError(r.error,s),f._setPreviewError(e,i),u&&l(i,p))},100)},k=function(){setTimeout(function(){f.showPreview&&(c.removeAttr("disabled"),a.removeAttr("disabled"),e.removeClass("file-uploading"));u?p():(f.unlock(!1),f._clearFileInput());f._initSuccessThumbs()},100)},d=function(t,h,c){var a=f.ajaxOperations.uploadThumb,v=f._parseError(a,t,c,u?r[i].name:null);setTimeout(function(){u&&l(i,o);f.uploadStatus[o]=100;f._setPreviewError(e,i);n.extend(!0,s,f._getOutData(t));f._setProgress(101,y,f.msgAjaxProgressError.replace("{operation}",a));f._showUploadError(v,s)},100)},v.append(f.uploadFileAttr,r[i],f.filenames[i]),v.append("file_id",i),f._ajaxSubmit(w,b,k,d,o,i))},_uploadBatch:function(){var u,f,e,o,s,i=this,r=i.filestack,h=r.length,c=i.filestack.length>0||!n.isEmptyObject(i.uploadExtraData);i.formdata=new FormData;0!==h&&c&&!i._abort({})&&(s=function(){n.each(r,function(n){i.updateStack(n,void 0)});i._clearFileInput()},u=function(r){i.lock();var u=i._getOutData(r);i.showPreview&&i._getThumbs().each(function(){var r=n(this),u=r.find(".kv-file-upload"),f=r.find(".kv-file-remove");r.hasClass("file-preview-success")||(i._setThumbStatus(r,"Loading"),t.addCss(r,"file-uploading"));u.attr("disabled",!0);f.attr("disabled",!0)});i._raise("filebatchpreupload",[u]);i._abort(u)&&(r.abort(),i._setProgressCancelled())},f=function(r,u,f){var o=i._getOutData(f,r),h=i._getThumbs(":not(.file-preview-error)"),e=0,c=t.isEmpty(r)||t.isEmpty(r.errorkeys)?[]:r.errorkeys;t.isEmpty(r)||t.isEmpty(r.error)?(i._raise("filebatchuploadsuccess",[o]),s(),i.showPreview?(h.each(function(){var t=n(this),r=t.find(".kv-file-upload");t.find(".kv-file-upload").hide();i._setThumbStatus(t,"Success");t.removeClass("file-uploading");r.removeAttr("disabled")}),i._initUploadSuccess(r)):i.reset(),i._setProgress(101)):(i.showPreview&&(h.each(function(){var t=n(this),r=t.find(".kv-file-remove"),u=t.find(".kv-file-upload");return t.removeClass("file-uploading"),u.removeAttr("disabled"),r.removeAttr("disabled"),0===c.length?void i._setPreviewError(t):(-1!==n.inArray(e,c)?i._setPreviewError(t):(t.find(".kv-file-upload").hide(),i._setThumbStatus(t,"Success"),i.updateStack(e,void 0)),void e++)}),i._initUploadSuccess(r)),i._showUploadError(r.error,o,"filebatchuploaderror"))},o=function(){i.unlock();i._initSuccessThumbs();i._clearFileInput();i._raise("filebatchuploadcomplete",[i.filestack,i._getExtraData()])},e=function(t,r,u){var e=i._getOutData(t),f=i.ajaxOperations.uploadBatch,o=i._parseError(f,t,u);i._showUploadError(o,e,"filebatchuploaderror");i.uploadFileCount=h-1;i.showPreview&&(i._getThumbs().each(function(){var t=n(this),r=t.attr("data-fileindex");t.removeClass("file-uploading");void 0!==i.filestack[r]&&i._setPreviewError(t)}),i._getThumbs().removeClass("file-uploading"),i._getThumbs(" .kv-file-upload").removeAttr("disabled"),i._getThumbs(" .kv-file-delete").removeAttr("disabled"),i._setProgress(101,i.$progress,i.msgAjaxProgressError.replace("{operation}",f)))},n.each(r,function(n,u){t.isEmpty(r[n])||i.formdata.append(i.uploadFileAttr,u,i.filenames[n])}),i._ajaxSubmit(u,f,o,e))},_uploadExtraOnly:function(){var r,u,f,e,n=this,i={};n.formdata=new FormData;n._abort(i)||(r=function(t){n.lock();var r=n._getOutData(t);n._raise("filebatchpreupload",[r]);n._setProgress(50);i.data=r;i.xhr=t;n._abort(i)&&(t.abort(),n._setProgressCancelled())},u=function(i,r,u){var f=n._getOutData(u,i);t.isEmpty(i)||t.isEmpty(i.error)?(n._raise("filebatchuploadsuccess",[f]),n._clearFileInput(),n._initUploadSuccess(i),n._setProgress(101)):n._showUploadError(i.error,f,"filebatchuploaderror")},f=function(){n.unlock();n._clearFileInput();n._raise("filebatchuploadcomplete",[n.filestack,n._getExtraData()])},e=function(t,r,u){var f=n._getOutData(t),e=n.ajaxOperations.uploadExtra,o=n._parseError(e,t,u);i.data=f;n._showUploadError(o,f,"filebatchuploaderror");n._setProgress(101,n.$progress,n.msgAjaxProgressError.replace("{operation}",e))},n._ajaxSubmit(r,u,f,e))},_deleteFileIndex:function(i){var r=this,u=i.attr("data-fileindex");"init_"===u.substring(0,5)&&(u=parseInt(u.replace("init_","")),r.initialPreview=t.spliceArray(r.initialPreview,u),r.initialPreviewConfig=t.spliceArray(r.initialPreviewConfig,u),r.initialPreviewThumbTags=t.spliceArray(r.initialPreviewThumbTags,u),r.getFrames().each(function(){var i=n(this),t=i.attr("data-fileindex");"init_"===t.substring(0,5)&&(t=parseInt(t.replace("init_","")),t>u&&(t--,i.attr("data-fileindex","init_"+t)))}),r.uploadAsync&&(r.cacheInitialPreview=r.getPreview()))},_initFileActions:function(){var i=this,r=i.$preview;i.showPreview&&(i._initZoomButton(),i.getFrames(" .kv-file-remove").each(function(){var s,e,h,c,l=n(this),u=l.closest(t.FRAMES),f=u.attr("id"),o=u.attr("data-fileindex");i._handler(l,"click",function(){return c=i._raise("filepreremove",[f,o]),c!==!1&&i._validateMinCount()?(s=u.hasClass("file-preview-error"),t.cleanMemory(u),void u.fadeOut("slow",function(){t.cleanZoomCache(r.find("#zoom-"+f));i.updateStack(o,void 0);i._clearObjects(u);u.remove();f&&s&&i.$errorContainer.find('li[data-file-id="'+f+'"]').fadeOut("fast",function(){n(this).remove();i._errorsExist()||i._resetErrors()});i._clearFileInput();var c=i.getFileStack(!0),l=i.previewCache.count(),a=c.length,v=i.showPreview&&i.getFrames().length;0!==a||0!==l||v?(e=l+a,h=e>1?i._getMsgSelected(e):c[0]?i._getFileNames()[0]:"",i._setCaption(h)):i.reset();i._raise("fileremoved",[f,o])})):!1})}),i.getFrames(" .kv-file-upload").each(function(){var r=n(this);i._handler(r,"click",function(){var n=r.closest(t.FRAMES),u=n.attr("data-fileindex");n.hasClass("file-preview-error")||i._uploadSingle(u,i.filestack,!1)})}))},_initPreviewActions:function(){var i=this,r=i.$preview,e=i.deleteExtraData||{},f=t.FRAMES+" .kv-file-remove",u=function(){var n=i.isUploadable?i.previewCache.count():i.$element.get(0).files.length;0!==r.find(f).length||n||(i.reset(),i.initialCaption="")};i._initZoomButton();r.find(f).each(function(){var s=n(this),y=s.data("url")||i.deleteUrl,l=s.data("key");if(!t.isEmpty(y)&&void 0!==l){var p,h,a,o,f=s.closest(t.FRAMES),v=i.previewCache.data,c=f.attr("data-fileindex");c=parseInt(c.replace("init_",""));a=t.isEmpty(v.config)&&t.isEmpty(v.config[c])?null:v.config[c];o=t.isEmpty(a)||t.isEmpty(a.extra)?e:a.extra;"function"==typeof o&&(o=o());h={id:s.attr("id"),key:l,extra:o};p=n.extend(!0,{},{url:y,type:"POST",dataType:"json",data:n.extend(!0,{},{key:l},o),beforeSend:function(n){i.ajaxAborted=!1;i._raise("filepredelete",[l,n,o]);i.ajaxAborted?n.abort():(t.addCss(f,"file-uploading"),t.addCss(s,"disabled"))},success:function(n,e,a){var v,y;return t.isEmpty(n)||t.isEmpty(n.error)?(c=parseInt(f.attr("data-fileindex").replace("init_","")),i.previewCache.unset(c),v=i.previewCache.count(),y=v>0?i._getMsgSelected(v):"",i._deleteFileIndex(f),i._setCaption(y),i._raise("filedeleted",[l,a,o]),f.removeClass("file-uploading").addClass("file-deleted"),void f.fadeOut("slow",function(){t.cleanZoomCache(r.find("#zoom-"+f.attr("id")));i._clearObjects(f);f.remove();u();v||0!==i.getFileStack().length||(i._setCaption(""),i.reset())})):(h.jqXHR=a,h.response=n,i._showError(n.error,h,"filedeleteerror"),f.removeClass("file-uploading"),s.removeClass("disabled"),void u())},error:function(n,t,r){var e=i.ajaxOperations.deleteThumb,o=i._parseError(e,n,r);h.jqXHR=n;h.response={};i._showError(o,h,"filedeleteerror");f.removeClass("file-uploading");u()}},i.ajaxDeleteSettings);i._handler(s,"click",function(){return i._validateMinCount()?void n.ajax(p):!1})}})},_hideFileIcon:function(){this.overwriteInitial&&this.$captionContainer.find(".kv-caption-icon").hide()},_showFileIcon:function(){this.$captionContainer.find(".kv-caption-icon").show()},_getSize:function(t){var u,f,r,e=this,i=parseFloat(t),o=e.fileSizeGetter;return n.isNumeric(t)&&n.isNumeric(i)?("function"==typeof o?r=o(i):0===i?r="0.00 B":(u=Math.floor(Math.log(i)/Math.log(1024)),f=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],r=1*(i/Math.pow(1024,u)).toFixed(2)+" "+f[u]),e._getLayoutTemplate("size").replace("{sizeText}",r)):""},_generatePreviewTemplate:function(i,r,u,f,e,o,s,h,c,l,a){var b,v=this,k=v.slug(u),p="",y=v.previewSettings[i]||v.defaults.previewSettings[i],w=y&&y.width?y.width:"",tt=y&&y.height?y.height:"",it=c||v._renderFileFooter(k,s,t.isEmpty(w)?"auto":w,o),d=v._getPreviewIcon(u),g="type-default",rt=d&&v.preferIconicPreview,ut=d&&v.preferIconicZoomPreview,nt=function(r,o,s,c){var b=s?"zoom-"+e:e,p=v._getPreviewTemplate(r),y=(h||"")+" "+c;return v.frameClass&&(y=v.frameClass+" "+y),s&&(y=y.replace(" "+t.SORT_CSS,"")),p=v._parseFilePreviewIcon(p,u),"text"===r&&(o=t.htmlEncode(o)),"object"!==i||f||n.each(v.defaults.fileTypeSettings,function(n,t){"object"!==n&&"other"!==n&&t(u,f)&&(g="type-"+n)}),p.setTokens({previewId:b,caption:k,frameClass:y,type:f,fileindex:l,width:w,height:tt,typeCss:g,footer:it,data:o,template:a||i})};return l=l||e.slice(e.lastIndexOf("-")+1),v.fileActionSettings.showZoom&&(p=nt(ut?"other":i,r,!0,"kv-zoom-thumb")),p="\n"+v._getLayoutTemplate("zoomCache").replace("{zoomContent}",p),b=nt(rt?"other":i,r,!1,"kv-preview-thumb"),b+p},_previewDefault:function(i,r,u){var f=this,h=f.$preview;if(f.showPreview){var e,o=i?i.name:"",c=i?i.type:"",s=i.size||0,l=f.slug(o),a=u===!0&&!f.isUploadable,v=t.objUrl.createObjectURL(i);f._clearDefaultPreview();e=f._generatePreviewTemplate("other",v,o,c,r,a,s);h.append("\n"+e);f._setThumbAttr(r,l,s);u===!0&&f.isUploadable&&f._setThumbStatus(n("#"+r),"Error")}},_previewFile:function(n,i,r,u,f){var o;if(this.showPreview){var y,e=this,s=e._parseFileType(i),p=i?i.name:"",a=e.slug(p),w=e.allowedPreviewTypes,b=e.allowedPreviewMimeTypes,v=e.$preview,k=w&&w.indexOf(s)>=0,c=i.size||0,l=i.type,h="text"===s||"html"===s||"image"===s?r.target.result:f,d=b&&-1!==b.indexOf(l);("html"===s&&e.purifyHtml&&window.DOMPurify&&(h=window.DOMPurify.sanitize(h)),k||d)?(y=e._generatePreviewTemplate(s,h,p,l,u,!1,c),e._clearDefaultPreview(),v.append("\n"+y),o=v.find("#"+u+" img"),o.length&&e.autoOrientImage?t.validateOrientation(i,function(n){if(n){var f=v.find("#zoom-"+u+" img"),r="rotate-"+n;n>4&&(r+=o.width()>o.height()?" is-portrait-gt4":" is-landscape-gt4");t.addCss(o,r);t.addCss(f,r);e._raise("fileimageoriented",{$img:o,file:i})}e._validateImage(u,a,l,c,h);t.adjustOrientedImage(o)}):e._validateImage(u,a,l,c,h)):e._previewDefault(i,u);e._setThumbAttr(u,a,c);e._initSortable()}},_setThumbAttr:function(t,i,r){var f=this,u=n("#"+t);u.length&&(r=r&&r>0?f._getSize(r):"",u.data({caption:i,size:r}))},_setInitThumbAttr:function(){var i,u,f,e,r=this,s=r.previewCache.data,o=r.previewCache.count(!0),n;if(0!==o)for(n=0;o>n;n++)i=s.config[n],e=r.previewInitId+"-init_"+n,u=t.ifSet("caption",i,t.ifSet("filename",i)),f=t.ifSet("size",i),r._setThumbAttr(e,u,f)},_slugDefault:function(n){return t.isEmpty(n)?"":String(n).replace(/[\-\[\]\/\{}:;#%=\(\)\*\+\?\\\^\$\|<>&"']/g,"_")},_readFiles:function(i){this.reader=new FileReader;var e,r=this,b=r.$element,y=r.$preview,u=r.reader,l=r.$previewContainer,c=r.$previewStatus,k=r.msgLoading,p=r.msgProgress,d=r.previewInitId,f=i.length,a=r.fileTypeSettings,g=r.filestack.length,o=r.allowedFileTypes,w=o?o.length:0,s=r.allowedFileExtensions,nt=t.isEmpty(s)?"":s.join(", "),v=r.maxFilePreviewSize&&parseFloat(r.maxFilePreviewSize),tt=y.length&&(!v||isNaN(v)),h=function(t,u,f,o){var s=n.extend(!0,{},r._getOutData({},{},i),{id:f,index:o}),h={id:f,index:o,file:u,files:i};return r._previewDefault(u,f,!0),r.isUploadable&&(r.addToStack(void 0),setTimeout(function(){e(o+1)},100)),r._initFileActions(),r.removeFromPreviewOnError&&n("#"+f).remove(),r.isUploadable?r._showUploadError(t,s):r._showError(t,h)};r.loadedImages=[];r.totalImagesCount=0;n.each(i,function(n,t){var i=r.fileTypeSettings.image;i&&i(t.type)&&r.totalImagesCount++});e=function(n){if(t.isEmpty(b.attr("multiple"))&&(f=1),n>=f)return r.isUploadable&&r.filestack.length>0?r._raise("filebatchselected",[r.getFileStack()]):r._raise("filebatchselected",[i]),l.removeClass("file-thumb-loading"),void c.html("");var pt,wt,ct,et,rt,bt,lt,at,vt,st,dt=g+n,ft=d+"-"+dt,it=i[n],ut=it.name?r.slug(it.name):"",ht=(it.size||0)/1e3,yt="",gt=t.objUrl.createObjectURL(it),ot=0,kt="";if(w>0)for(et=0;w>et;et++)at=o[et],vt=r.msgFileTypes[at]||at,kt+=0===et?vt:", "+vt;if(ut===!1)return void e(n+1);if(0===ut.length)return rt=r.msgInvalidFileName.replace("{name}",t.htmlEncode(it.name)),void(r.isError=h(rt,it,ft,n));if(t.isEmpty(s)||(yt=new RegExp("\\.("+s.join("|")+")$","i")),ct=ht.toFixed(2),r.maxFileSize>0&&ht>r.maxFileSize)return rt=r.msgSizeTooLarge.setTokens({name:ut,size:ct,maxSize:r.maxFileSize}),void(r.isError=h(rt,it,ft,n));if(null!==r.minFileSize&&ht<=t.getNum(r.minFileSize))return rt=r.msgSizeTooSmall.setTokens({name:ut,size:ct,minSize:r.minFileSize}),void(r.isError=h(rt,it,ft,n));if(!t.isEmpty(o)&&t.isArray(o)){for(et=0;et<o.length;et+=1)bt=o[et],st=a[bt],ot+=st&&"function"==typeof st&&st(it.type,it.name)?1:0;if(0===ot)return rt=r.msgInvalidFileType.setTokens({name:ut,types:kt}),void(r.isError=h(rt,it,ft,n))}return 0!==ot||t.isEmpty(s)||!t.isArray(s)||t.isEmpty(yt)||(lt=t.compare(ut,yt),ot+=t.isEmpty(lt)?0:lt.length,0!==ot)?r.showPreview?!tt&&ht>v?(r.addToStack(it),l.addClass("file-thumb-loading"),r._previewDefault(it,ft),r._initFileActions(),r._updateFileDetails(f),void e(n+1)):(y.length&&void 0!==FileReader?(c.html(k.replace("{index}",n+1).replace("{files}",f)),l.addClass("file-thumb-loading"),u.onerror=function(n){r._errorHandler(n,ut)},u.onload=function(t){r._previewFile(n,it,t,ft,gt);r._initFileActions()},u.onloadend=function(){rt=p.setTokens({index:n+1,files:f,percent:50,name:ut});setTimeout(function(){c.html(rt);r._updateFileDetails(f);e(n+1)},100);r._raise("fileloaded",[it,ft,n,u])},u.onprogress=function(t){if(t.lengthComputable){var i=t.loaded/t.total*100,r=Math.ceil(i);rt=p.setTokens({index:n+1,files:f,percent:r,name:ut});setTimeout(function(){c.html(rt)},100)}},pt=a.text,wt=a.image,pt(it.type,ut)?u.readAsText(it,r.textEncoding):wt(it.type,ut)?u.readAsDataURL(it):u.readAsArrayBuffer(it)):(r._previewDefault(it,ft),setTimeout(function(){e(n+1);r._updateFileDetails(f)},100),r._raise("fileloaded",[it,ft,n,u])),void r.addToStack(it)):(r.isUploadable&&r.addToStack(it),setTimeout(function(){e(n+1);r._updateFileDetails(f)},100),void r._raise("fileloaded",[it,ft,n,u])):(rt=r.msgInvalidFileExtension.setTokens({name:ut,extensions:nt}),void(r.isError=h(rt,it,ft,n)))};e(0);r._updateFileDetails(f,!1)},_updateFileDetails:function(n){var i=this,r=i.$element,u=i.getFileStack(),o=t.isIE(9)&&t.findFileName(r.val())||r[0].files[0]&&r[0].files[0].name||u.length&&u[0].name||"",f=i.slug(o),e=i.isUploadable?u.length:n,s=i.previewCache.count()+e,h=e>1?i._getMsgSelected(s):f;i.isError?(i.$previewContainer.removeClass("file-thumb-loading"),i.$previewStatus.html(""),i.$captionContainer.find(".kv-caption-icon").hide()):i._showFileIcon();i._setCaption(h,i.isError);i.$container.removeClass("file-input-new file-input-ajax-new");1===arguments.length&&i._raise("fileselect",[n,f]);i.previewCache.count()&&i._initPreviewActions()},_setThumbStatus:function(n,t){var r=this;if(r.showPreview){var u="indicator"+t,e=u+"Title",o="file-preview-"+t.toLowerCase(),i=n.find(".file-upload-indicator"),f=r.fileActionSettings;n.removeClass("file-preview-success file-preview-error file-preview-loading");"Error"===t&&n.find(".kv-file-upload").attr("disabled",!0);"Success"===t&&(n.find(".file-drag-handle").remove(),i.css("margin-left",0));i.html(f[u]);i.attr("title",f[e]);n.addClass(o)}},_setProgressCancelled:function(){var n=this;n._setProgress(101,n.$progress,n.msgCancelled)},_setProgress:function(n,i,r){var s,u=this,f=Math.min(n,100),e=u.progressUploadThreshold,h=100>=n?u.progressTemplate:u.progressCompleteTemplate,o=100>f?u.progressTemplate:r?u.progressErrorTemplate:h;i=i||u.$progress;t.isEmpty(o)||(s=e&&f>e&&100>=n?o.setTokens({percent:e,status:u.msgUploadThreshold}):o.setTokens({percent:f,status:n>100?u.msgUploadEnd:f+"%"}),i.html(s),r&&i.find('[role="progressbar"]').html(r))},_setFileDropZoneTitle:function(){var r,n=this,i=n.$container.find(".file-drop-zone"),u=n.dropZoneTitle;n.isClickable&&(r=t.isEmpty(n.$element.attr("multiple"))?n.fileSingle:n.filePlural,u+=n.dropZoneClickTitle.replace("{files}",r));i.find("."+n.dropZoneTitleClass).remove();n.isUploadable&&n.showPreview&&0!==i.length&&!(n.getFileStack().length>0)&&n.dropZoneEnabled&&(0===i.find(t.FRAMES).length&&t.isEmpty(n.defaultPreviewContent)&&i.prepend('<div class="'+n.dropZoneTitleClass+'">'+u+"<\/div>"),n.$container.removeClass("file-input-new"),t.addCss(n.$container,"file-input-ajax-new"))},_setAsyncUploadStatus:function(t,i,r){var u=this,f=0;u._setProgress(i,n("#"+t).find(".file-thumb-progress"));u.uploadStatus[t]=i;n.each(u.uploadStatus,function(n,t){f+=t});u._setProgress(Math.floor(f/r))},_validateMinCount:function(){var n=this,t=n.isUploadable?n.getFileStack().length:n.$element.get(0).files.length;return n.validateInitialCount&&n.minFileCount>0&&n._getFileCount(t-1)<n.minFileCount?(n._noFilesError({}),!1):!0},_getFileCount:function(n){var t=this,i=0;return t.validateInitialCount&&!t.overwriteInitial&&(i=t.previewCache.count(),n+=i),n},_getFileId:function(n){var t,r=this,i=r.generateFileId;return"function"==typeof i?i(n,event):n?(t=n.webkitRelativePath||n.fileName||n.name||null,t?n.size+"-"+t.replace(/[^0-9a-zA-Z_-]/gim,""):null):null},_getFileName:function(n){if(n&&n.name)return this.slug(n.name)},_getFileIds:function(n){var t=this;return t.fileids.filter(function(t){return n?void 0!==t:void 0!==t&&null!==t})},_getFileNames:function(n){var t=this;return t.filenames.filter(function(t){return n?void 0!==t:void 0!==t&&null!==t})},_setPreviewError:function(n,t,i){var r=this;void 0!==t&&r.updateStack(t,i);r.removeFromPreviewOnError?n.remove():r._setThumbStatus(n,"Error")},_checkDimensions:function(n,i,r,u,f,e,o){var a,l,s,v,h=this,y="Small"===i?"min":"max",c=h[y+"Image"+e];!t.isEmpty(c)&&r.length&&(s=r[0],l="Width"===e?s.naturalWidth||s.width:s.naturalHeight||s.height,v="Small"===i?l>=c:c>=l,v||(a=h["msgImage"+e+i].setTokens({name:f,size:c}),h._showUploadError(a,o),h._setPreviewError(u,n,null)))},_validateImage:function(t,i,r,u,f){var c,a,v,l,e=this,y=e.$preview,o=y.find("#"+t),h=o.attr("data-fileindex"),s=o.find("img");i=i||"Untitled";s.one("load",function(){a=o.width();v=y.width();a>v&&(s.css("width","100%"),o.css("width","97%"));c={ind:h,id:t};e._checkDimensions(h,"Small",s,o,i,"Width",c);e._checkDimensions(h,"Small",s,o,i,"Height",c);e.resizeImage||(e._checkDimensions(h,"Large",s,o,i,"Width",c),e._checkDimensions(h,"Large",s,o,i,"Height",c));e._raise("fileimageloaded",[t]);l=window.piexif?window.piexif.load(f):null;e.loadedImages.push({ind:h,img:s,thumb:o,pid:t,typ:r,siz:u,validated:!1,imgData:f,exifObj:l});o.data("exif",l);e._validateAllImages()}).one("error",function(){e._raise("fileimageloaderror",[t])}).each(function(){this.complete?n(this).load():this.error&&n(this).error()})},_validateAllImages:function(){var t,i,r,n=this,f={val:0},u=n.loadedImages.length,e=n.resizeIfSizeMoreThan;if(u===n.totalImagesCount&&(n._raise("fileimagesloaded"),n.resizeImage))for(t=0;t<n.loadedImages.length;t++)i=n.loadedImages[t],i.validated||(r=i.siz,r&&r>1e3*e&&n._getResizedImage(i,f,u),n.loadedImages[t].validated=!0)},_getResizedImage:function(i,r,u){var y,p,w,c,l,tt,it,f=this,b=n(i.img)[0],e=b.naturalWidth,o=b.naturalHeight,k=1,a=f.maxImageWidth||e,v=f.maxImageHeight||o,d=!(!e||!o),g=f.imageCanvas,ut=f.imageCanvasContext,nt=i.typ,h=i.pid,s=i.ind,ft=i.thumb,rt=i.exifObj;if(l=function(n,t,i){f.isUploadable?f._showUploadError(n,t,i):f._showError(n,t,i);f._setPreviewError(ft,s)},(!f.filestack[s]||!d||a>=e&&v>=o)&&(d&&f.filestack[s]&&f._raise("fileimageresized",[h,s]),r.val++,r.val===u&&f._raise("fileimagesresized"),!d))return void l(f.msgImageResizeError,{id:h,index:s},"fileimageresizeerror");nt=nt||f.resizeDefaultImageType;p=e>a;w=o>v;k="width"===f.resizePreference?p?a/e:w?v/o:1:w?v/o:p?a/e:1;f._resetCanvas();e*=k;o*=k;g.width=e;g.height=o;try{ut.drawImage(b,0,0,e,o);c=g.toDataURL(nt,f.resizeQuality);rt&&(it=window.piexif.dump(rt),c=window.piexif.insert(it,c));y=t.dataURI2Blob(c);f.filestack[s]=y;f._raise("fileimageresized",[h,s]);r.val++;r.val===u&&f._raise("fileimagesresized",[void 0,void 0]);y instanceof Blob||l(f.msgImageResizeError,{id:h,index:s},"fileimageresizeerror")}catch(et){r.val++;r.val===u&&f._raise("fileimagesresized",[void 0,void 0]);tt=f.msgImageResizeException.replace("{errors}",et.message);l(tt,{id:h,index:s},"fileimageresizeexception")}},_initBrowse:function(n){var t=this;t.showBrowse?(t.$btnFile=n.find(".btn-file"),t.$btnFile.append(t.$element)):t.$element.hide()},_initCaption:function(){var n=this,i=n.initialCaption||"";return n.overwriteInitial||t.isEmpty(i)?(n.$caption.html(""),!1):(n._setCaption(i),!0)},_setCaption:function(i,r){var f,o,e,s,u=this,h=u.getFileStack();if(u.$caption.length){if(r)f=n("<div>"+u.msgValidationError+"<\/div>").text(),e=h.length,s=e?1===e&&h[0]?u._getFileNames()[0]:u._getMsgSelected(e):u._getMsgSelected(u.msgNo),o='<span class="'+u.msgValidationErrorClass+'">'+u.msgValidationErrorIcon+(t.isEmpty(i)?s:i)+"<\/span>";else{if(t.isEmpty(i))return;f=n("<div>"+i+"<\/div>").text();o=u._getLayoutTemplate("fileIcon")+f}u.$caption.html(o);u.$caption.attr("title",f);u.$captionContainer.find(".file-caption-ellipsis").attr("title",f)}},_createContainer:function(){var t=this,i=n(document.createElement("div")).attr({"class":"file-input file-input-new"}).html(t._renderMain());return t.$element.before(i),t._initBrowse(i),t.theme&&i.addClass("theme-"+t.theme),i},_refreshContainer:function(){var n=this,t=n.$container;t.before(n.$element);t.html(n._renderMain());n._initBrowse(t)},_renderMain:function(){var n=this,t=n.isUploadable&&n.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",i=n.showClose?n._getLayoutTemplate("close"):"",r=n.showPreview?n._getLayoutTemplate("preview").setTokens({"class":n.previewClass,dropClass:t}):"",u=n.isDisabled?n.captionClass+" file-caption-disabled":n.captionClass,f=n.captionTemplate.setTokens({"class":u+" kv-fileinput-caption"});return n.mainTemplate.setTokens({"class":n.mainClass+(!n.showBrowse&&n.showCaption?" no-browse":""),preview:r,close:i,caption:f,upload:n._renderButton("upload"),remove:n._renderButton("remove"),cancel:n._renderButton("cancel"),browse:n._renderButton("browse")})},_renderButton:function(n){var i=this,u=i._getLayoutTemplate("btnDefault"),f=i[n+"Class"],o=i[n+"Title"],s=i[n+"Icon"],r=i[n+"Label"],h=i.isDisabled?" disabled":"",e="button";switch(n){case"remove":if(!i.showRemove)return"";break;case"cancel":if(!i.showCancel)return"";f+=" hide";break;case"upload":if(!i.showUpload)return"";i.isUploadable&&!i.isDisabled?u=i._getLayoutTemplate("btnLink").replace("{href}",i.uploadUrl):e="submit";break;case"browse":if(!i.showBrowse)return"";u=i._getLayoutTemplate("btnBrowse");break;default:return""}return f+="browse"===n?" btn-file":" fileinput-"+n+" fileinput-"+n+"-button",t.isEmpty(r)||(r=' <span class="'+i.buttonLabelClass+'">'+r+"<\/span>"),u.setTokens({type:e,css:f,title:o,status:h,icon:s,label:r})},_renderThumbProgress:function(){var n=this;return'<div class="file-thumb-progress hide">'+n.progressTemplate.setTokens({percent:"0",status:n.msgUploadBegin})+"<\/div>"},_renderFileFooter:function(n,i,r,u){var o,f=this,e=f.fileActionSettings,a=e.showRemove,s=e.showDrag,v=e.showUpload,h=e.showZoom,c=f._getLayoutTemplate("footer"),y=u?e.indicatorError:e.indicatorNew,p=f._getLayoutTemplate("indicator"),w=u?e.indicatorErrorTitle:e.indicatorNewTitle,l=p.setTokens({indicator:y,indicatorTitle:w});return i=f._getSize(i),o=f.isUploadable?c.setTokens({actions:f._renderFileActions(v,a,h,s,!1,!1,!1),caption:n,size:i,width:r,progress:f._renderThumbProgress(),indicator:l}):c.setTokens({actions:f._renderFileActions(!1,!1,h,s,!1,!1,!1),caption:n,size:i,width:r,progress:"",indicator:l}),o=t.replaceTags(o,f.previewThumbTags)},_renderFileActions:function(n,t,i,r,u,f,e,o){if(!(n||t||i||r))return"";var c,h=this,w=f===!1?"":' data-url="'+f+'"',l=e===!1?"":' data-key="'+e+'"',a="",v="",y="",p="",b=h._getLayoutTemplate("actions"),s=h.fileActionSettings,k=h.otherActionButtons.setTokens({dataKey:l}),d=u?s.removeClass+" disabled":s.removeClass;return t&&(a=h._getLayoutTemplate("actionDelete").setTokens({removeClass:d,removeIcon:s.removeIcon,removeTitle:s.removeTitle,dataUrl:w,dataKey:l})),n&&(v=h._getLayoutTemplate("actionUpload").setTokens({uploadClass:s.uploadClass,uploadIcon:s.uploadIcon,uploadTitle:s.uploadTitle})),i&&(y=h._getLayoutTemplate("actionZoom").setTokens({zoomClass:s.zoomClass,zoomIcon:s.zoomIcon,zoomTitle:s.zoomTitle})),r&&o&&(c="drag-handle-init "+s.dragClass,p=h._getLayoutTemplate("actionDrag").setTokens({dragClass:c,dragTitle:s.dragTitle,dragIcon:s.dragIcon})),b.setTokens({"delete":a,upload:v,zoom:y,drag:p,other:k})},_browse:function(n){var t=this;t._raise("filebrowse");n&&n.isDefaultPrevented()||(t.isError&&!t.isUploadable&&t.clear(),t.$captionContainer.focus())},_filterDuplicate:function(n,t,i){var u=this,r=u._getFileId(n);r&&i&&i.indexOf(r)>-1||(i||(i=[]),t.push(n),i.push(r))},_change:function(i){var r=this,h=r.$element;if(!r.isUploadable&&t.isEmpty(h.val())&&r.fileInputCleared)return void(r.fileInputCleared=!1);r.fileInputCleared=!1;var l,s,a,f,u=[],v=arguments.length>1,o=r.isUploadable,e=v?i.originalEvent.dataTransfer.files:h.get(0).files,y=r.filestack.length,b=t.isEmpty(h.attr("multiple")),p=b&&y>0,c=0,w=r._getFileIds(),k=function(t,i,u,f){var o=n.extend(!0,{},r._getOutData({},{},e),{id:u,index:f}),s={id:u,index:f,file:i,files:e};return r.isUploadable?r._showUploadError(t,o):r._showError(t,s)};if(r.reader=null,r._resetUpload(),r._hideFileIcon(),r.isUploadable&&r.$container.find(".file-drop-zone ."+r.dropZoneTitleClass).remove(),v?n.each(e,function(n,t){t&&!t.type&&void 0!==t.size&&t.size%4096==0?c++:r._filterDuplicate(t,u,w)}):(e=i.target&&void 0===i.target.files?i.target.value?[{name:i.target.value.replace(/^.+\\/,"")}]:[]:i.target.files||{},o?n.each(e,function(n,t){r._filterDuplicate(t,u,w)}):u=e),t.isEmpty(u)||0===u.length)return o||r.clear(),r._showFolderError(c),void r._raise("fileselectnone");if(r._resetErrors(),f=u.length,s=r._getFileCount(r.isUploadable?r.getFileStack().length+f:f),r.maxFileCount>0&&s>r.maxFileCount){if(!r.autoReplace||f>r.maxFileCount)return a=r.autoReplace&&f>r.maxFileCount?f:s,l=r.msgFilesTooMany.replace("{m}",r.maxFileCount).replace("{n}",a),r.isError=k(l,null,null,null),r.$captionContainer.find(".kv-caption-icon").hide(),r._setCaption("",!0),void r.$container.removeClass("file-input-new file-input-ajax-new");s>r.maxFileCount&&r._resetPreviewThumbs(o)}else!o||p?(r._resetPreviewThumbs(!1),p&&r.clearStack()):!o||0!==y||r.previewCache.count()&&!r.overwriteInitial||r._resetPreviewThumbs(!0);r.isPreviewable?r._readFiles(u):r._updateFileDetails(1);r._showFolderError(c)},_abort:function(t){var r,i=this;return i.ajaxAborted&&"object"==typeof i.ajaxAborted&&void 0!==i.ajaxAborted.message?(r=n.extend(!0,{},i._getOutData(),t),r.abortData=i.ajaxAborted.data||{},r.abortMessage=i.ajaxAborted.message,i._setProgress(101,i.$progress,i.msgCancelled),i._showUploadError(i.ajaxAborted.message,r,"filecustomerror"),i.cancel(),!0):!1},_resetFileStack:function(){var i=this,r=0,u=[],f=[],e=[];i._getThumbs().each(function(){var h,o=n(this),c=o.attr("data-fileindex"),s=i.filestack[c],l=o.attr("id");"-1"!==c&&-1!==c&&(void 0!==s?(u[r]=s,f[r]=i._getFileName(s),e[r]=i._getFileId(s),o.attr({id:i.previewInitId+"-"+r,"data-fileindex":r}),r++):(h="uploaded-"+t.uniqId(),o.attr({id:h,"data-fileindex":"-1"}),i.$preview.find("#zoom-"+l).attr("id","zoom-"+h)))});i.filestack=u;i.filenames=f;i.fileids=e},_isFileSelectionValid:function(n){var t=this;return n=n||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showUploadError(t.msgFileRequired),!1):t.minFileCount>0&&t._getFileCount(n)<t.minFileCount?(t._noFilesError({}),!1):!0},clearStack:function(){var n=this;return n.filestack=[],n.filenames=[],n.fileids=[],n.$element},updateStack:function(n,t){var i=this;return i.filestack[n]=t,i.filenames[n]=i._getFileName(t),i.fileids[n]=t&&i._getFileId(t)||null,i.$element},addToStack:function(n){var t=this;return t.filestack.push(n),t.filenames.push(t._getFileName(n)),t.fileids.push(t._getFileId(n)),t.$element},getFileStack:function(n){var t=this;return t.filestack.filter(function(t){return n?void 0!==t:void 0!==t&&null!==t})},getFilesCount:function(){var n=this,t=n.isUploadable?n.getFileStack().length:n.$element.get(0).files.length;return n._getFileCount(t)},lock:function(){var n=this;return n._resetErrors(),n.disable(),n.showRemove&&t.addCss(n.$container.find(".fileinput-remove"),"hide"),n.showCancel&&n.$container.find(".fileinput-cancel").removeClass("hide"),n._raise("filelock",[n.filestack,n._getExtraData()]),n.$element},unlock:function(n){var i=this;return void 0===n&&(n=!0),i.enable(),i.showCancel&&t.addCss(i.$container.find(".fileinput-cancel"),"hide"),i.showRemove&&i.$container.find(".fileinput-remove").removeClass("hide"),n&&i._resetFileStack(),i._raise("fileunlock",[i.filestack,i._getExtraData()]),i.$element},cancel:function(){var i,t=this,r=t.ajaxRequests,u=r.length;if(u>0)for(i=0;u>i;i+=1)t.cancelling=!0,r[i].abort();return t._setProgressCancelled(),t._getThumbs().each(function(){var i=n(this),r=i.attr("data-fileindex");i.removeClass("file-uploading");void 0!==t.filestack[r]&&(i.find(".kv-file-upload").removeClass("disabled").removeAttr("disabled"),i.find(".kv-file-remove").removeClass("disabled").removeAttr("disabled"));t.unlock()}),t.$element},clear:function(){var r,i=this;if(i._raise("fileclear"))return i.$btnUpload.removeAttr("disabled"),i._getThumbs().find("video,audio,img").each(function(){t.cleanMemory(n(this))}),i._resetUpload(),i.clearStack(),i._clearFileInput(),i._resetErrors(!0),i._hasInitialPreview()?(i._showFileIcon(),i._resetPreview(),i._initPreviewActions(),i.$container.removeClass("file-input-new")):(i._getThumbs().each(function(){i._clearObjects(n(this))}),i.isUploadable&&(i.previewCache.data={}),i.$preview.html(""),r=!i.overwriteInitial&&i.initialCaption.length>0?i.initialCaption:"",i.$caption.html(r),i.$caption.attr("title",""),t.addCss(i.$container,"file-input-new"),i._validateDefaultPreview()),0===i.$container.find(t.FRAMES).length&&(i._initCaption()||i.$captionContainer.find(".kv-caption-icon").hide()),i._hideFileIcon(),i._raise("filecleared"),i.$captionContainer.focus(),i._setFileDropZoneTitle(),i.$element},reset:function(){var n=this;if(n._raise("filereset"))return n._resetPreview(),n.$container.find(".fileinput-filename").text(""),t.addCss(n.$container,"file-input-new"),(n.getFrames().length||n.isUploadable&&n.dropZoneEnabled)&&n.$container.removeClass("file-input-new"),n._setFileDropZoneTitle(),n.clearStack(),n.formdata={},n.$element},disable:function(){var n=this;return n.isDisabled=!0,n._raise("filedisabled"),n.$element.attr("disabled","disabled"),n.$container.find(".kv-fileinput-caption").addClass("file-caption-disabled"),n.$container.find(".btn-file, .fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),n._initDragDrop(),n.$element},enable:function(){var n=this;return n.isDisabled=!1,n._raise("fileenabled"),n.$element.removeAttr("disabled"),n.$container.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),n.$container.find(".btn-file, .fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),n._initDragDrop(),n.$element},upload:function(){var r,e,u,i=this,f=i.getFileStack().length,o=!n.isEmptyObject(i._getExtraData());if(i.isUploadable&&!i.isDisabled&&i._isFileSelectionValid(f)){if(i._resetUpload(),0===f&&!o)return void i._showUploadError(i.msgUploadEmpty);if(i.$progress.removeClass("hide"),i.uploadCount=0,i.uploadStatus={},i.uploadLog=[],i.lock(),i._setProgress(2),0===f&&o)return void i._uploadExtraOnly();if(u=i.filestack.length,i.hasInitData=!1,!i.uploadAsync)return i._uploadBatch(),i.$element;for(e=i._getOutData(),i._raise("filebatchpreupload",[e]),i.fileBatchCompleted=!1,i.uploadCache={content:[],config:[],tags:[],append:!0},i.uploadAsyncCount=i.getFileStack().length,r=0;u>r;r++)i.uploadCache.content[r]=null,i.uploadCache.config[r]=null,i.uploadCache.tags[r]=null;for(i.$preview.find(".file-preview-initial").removeClass(t.SORT_CSS),i._initSortable(),i.cacheInitialPreview=i.getPreview(),r=0;u>r;r++)void 0!==i.filestack[r]&&i._uploadSingle(r,i.filestack,!0)}},destroy:function(){var t=this,r=t.$form,u=t.$container,f=t.$element,i=t.namespace;return n(document).off(i),n(window).off(i),r&&r.length&&r.off(i),t.isUploadable&&t._clearFileInput(),t._cleanup(),t._initPreviewCache(),f.insertBefore(u).off(i).removeData(),u.off().remove(),f},refresh:function(t){var i=this,r=i.$element;return t=t?n.extend(!0,{},i.options,t):i.options,i.destroy(),r.fileinput(t),i=r.data("fileinput"),i.isUploadable&&i._clearFileInput(),r.val()&&r.trigger("change.fileinput"),r},zoom:function(n){var i=this,u=i._getFrame(n),r=i.$modal;u&&(t.initModal(r),r.html(i._getModalContent()),i._setZoomContent(u),r.modal("show"),i._initZoomButtons())},getExif:function(n){var i=this,t=i._getFrame(n);return t&&t.data("exif")||null},getFrames:function(n){var i=this;return n=n||"",i.$preview.find(t.FRAMES+n)},getPreview:function(){var n=this;return{content:n.initialPreview,config:n.initialPreviewConfig,tags:n.initialPreviewThumbTags}}};n.fn.fileinput=function(r){if(t.hasFileAPISupport()||t.isIE(9)){var f=Array.apply(null,arguments),u=[];switch(f.shift(),this.each(function(){var c,e=n(this),o=e.data("fileinput"),s="object"==typeof r&&r,l=s.theme||e.data("theme"),a={},v={},h=s.language||e.data("language")||n.fn.fileinput.defaults.language||"en";o||(l&&(v=n.fn.fileinputThemes[l]||{}),"en"===h||t.isEmpty(n.fn.fileinputLocales[h])||(a=n.fn.fileinputLocales[h]||{}),c=n.extend(!0,{},n.fn.fileinput.defaults,v,n.fn.fileinputLocales.en,a,s,e.data()),o=new i(this,c),e.data("fileinput",o));"string"==typeof r&&u.push(o[r].apply(o,f))}),u.length){case 0:return this;case 1:return u[0];default:return u}}};n.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showCancel:!0,showClose:!0,showUploadedThumbs:!0,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:!0,required:!1,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,purifyHtml:!0,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,previewZoomButtonIcons:{prev:'<i class="glyphicon glyphicon-triangle-left"><\/i>',next:'<i class="glyphicon glyphicon-triangle-right"><\/i>',toggleheader:'<i class="glyphicon glyphicon-resize-vertical"><\/i>',fullscreen:'<i class="glyphicon glyphicon-fullscreen"><\/i>',borderless:'<i class="glyphicon glyphicon-resize-full"><\/i>',close:'<i class="glyphicon glyphicon-remove"><\/i>'},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-default btn-header-toggle",fullscreen:"btn btn-default",borderless:"btn btn-default",close:"btn btn-default"},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedFileTypes:null,allowedFileExtensions:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'<i class="glyphicon glyphicon-file"><\/i>',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:'<i class="glyphicon glyphicon-folder-open"><\/i>&nbsp;',browseClass:"btn btn-primary",removeIcon:'<i class="glyphicon glyphicon-trash"><\/i>',removeClass:"btn btn-default",cancelIcon:'<i class="glyphicon glyphicon-ban-circle"><\/i>',cancelClass:"btn btn-default",uploadIcon:'<i class="glyphicon glyphicon-upload"><\/i>',uploadClass:"btn btn-default",uploadUrl:null,uploadAsync:!0,uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:0,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:'<i class="glyphicon glyphicon-exclamation-sign"><\/i> ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-success progress-bar-striped active",progressClass:"progress-bar progress-bar-success progress-bar-striped active",progressCompleteClass:"progress-bar progress-bar-success",progressErrorClass:"progress-bar progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:'<span class="close kv-error-close">&times;<\/span>',slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0};n.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse &hellip;",removeLabel:"Remove",removeTitle:"Clear selected files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" (<b>{size} KB<\/b>) is too small and must be larger than <b>{minSize} KB<\/b>.',msgSizeTooLarge:'File "{name}" (<b>{size} KB<\/b>) exceeds maximum allowed upload size of <b>{maxSize} KB<\/b>.',msgFilesTooLess:"You must select at least <b>{n}<\/b> {files} to upload.",msgFilesTooMany:"Number of files selected for upload <b>({n})<\/b> exceeds maximum allowed limit of <b>{m}<\/b>.",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing...",msgUploadBegin:"Initializing...",msgUploadEnd:"Done",msgUploadEmpty:"No valid data available for upload.",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} &hellip;",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.<pre>{errors}<\/pre>",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here &hellip;",dropZoneClickTitle:"<br>(or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}};n.fn.fileinput.Constructor=i;n(document).ready(function(){var t=n("input.file[type=file]");t.length&&t.fileinput()})}),function(n,t){typeof define=="function"&&define.amd?define("bloodhound",["jquery"],function(i){return n.Bloodhound=t(i)}):typeof exports=="object"?module.exports=t(require("jquery")):n.Bloodhound=t(jQuery)}(this,function(n){var t=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},isElement:function(n){return!!(n&&n.nodeType===1)},isJQuery:function(t){return t instanceof n},toStr:function(n){return t.isUndefined(n)||n===null?"":n+""},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,identity:function(n){return n},clone:function(t){return n.extend(!0,{},t)},getIdGenerator:function(){var n=0;return function(){return n++}},templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},stringify:function(n){return t.isString(n)?n:JSON.stringify(n)},noop:function(){}}}(),u="0.11.1",f=function(){"use strict";function n(n){return n=t.toStr(n),n?n.split(/\s+/):[]}function i(n){return n=t.toStr(n),n?n.split(/\W+/):[]}function r(n){return function(i){return i=t.isArray(i)?i:[].slice.call(arguments,0),function(r){var u=[];return t.each(i,function(i){u=u.concat(n(t.toStr(r[i])))}),u}}}return{nonword:i,whitespace:n,obj:{nonword:r(i),whitespace:r(n)}}}(),i=function(){"use strict";function i(i){this.maxSize=t.isNumber(i)?i:100;this.reset();this.maxSize<=0&&(this.set=this.get=n.noop)}function r(){this.head=this.tail=null}function u(n,t){this.key=n;this.val=t;this.prev=this.next=null}return t.mixin(i.prototype,{set:function(n,t){var r=this.list.tail,i;this.size>=this.maxSize&&(this.list.remove(r),delete this.hash[r.key],this.size--);(i=this.hash[n])?(i.val=t,this.list.moveToFront(i)):(i=new u(n,t),this.list.add(i),this.hash[n]=i,this.size++)},get:function(n){var t=this.hash[n];if(t)return this.list.moveToFront(t),t.val},reset:function(){this.size=0;this.hash={};this.list=new r}}),t.mixin(r.prototype,{add:function(n){this.head&&(n.next=this.head,this.head.prev=n);this.head=n;this.tail=this.tail||n},remove:function(n){n.prev?n.prev.next=n.next:this.head=n.next;n.next?n.next.prev=n.prev:this.tail=n.prev},moveToFront:function(n){this.remove(n);this.add(n)}}),i}(),e=function(){"use strict";function r(n,r){this.prefix=["__",n,"__"].join("");this.ttlKey="__ttl__";this.keyMatcher=new RegExp("^"+t.escapeRegExChars(this.prefix));this.ls=r||i;this.ls||this._noop()}function u(){return(new Date).getTime()}function f(n){return JSON.stringify(t.isUndefined(n)?null:n)}function e(t){return n.parseJSON(t)}function o(n){for(var r,u=[],f=i.length,t=0;t<f;t++)(r=i.key(t)).match(n)&&u.push(r.replace(n,""));return u}var i;try{i=window.localStorage;i.setItem("~~~","!");i.removeItem("~~~")}catch(s){i=null}return t.mixin(r.prototype,{_prefix:function(n){return this.prefix+n},_ttlKey:function(n){return this._prefix(n)+this.ttlKey},_noop:function(){this.get=this.set=this.remove=this.clear=this.isExpired=t.noop},_safeSet:function(n,t){try{this.ls.setItem(n,t)}catch(i){i.name==="QuotaExceededError"&&(this.clear(),this._noop())}},get:function(n){return this.isExpired(n)&&this.remove(n),e(this.ls.getItem(this._prefix(n)))},set:function(n,i,r){return t.isNumber(r)?this._safeSet(this._ttlKey(n),f(u()+r)):this.ls.removeItem(this._ttlKey(n)),this._safeSet(this._prefix(n),f(i))},remove:function(n){return this.ls.removeItem(this._ttlKey(n)),this.ls.removeItem(this._prefix(n)),this},clear:function(){for(var t=o(this.keyMatcher),n=t.length;n--;)this.remove(t[n]);return this},isExpired:function(n){var i=e(this.ls.getItem(this._ttlKey(n)));return t.isNumber(i)&&u()>i?!0:!1}}),r}(),r=function(){"use strict";function r(n){n=n||{};this.cancelled=!1;this.lastReq=null;this._send=n.transport;this._get=n.limiter?n.limiter(this._get):this._get;this._cache=n.cache===!1?new i(0):o}var u=0,f={},e=6,o=new i(10);return r.setMaxPendingRequests=function(n){e=n},r.resetCache=function(){o.reset()},t.mixin(r.prototype,{_fingerprint:function(t){return t=t||{},t.url+t.type+n.param(t.data||{})},_get:function(n,t){function s(n){t(null,n);i._cache.set(r,n)}function h(){t(!0)}function c(){u--;delete f[r];i.onDeckRequestArgs&&(i._get.apply(i,i.onDeckRequestArgs),i.onDeckRequestArgs=null)}var i=this,r,o;(r=this._fingerprint(n),this.cancelled||r!==this.lastReq)||((o=f[r])?o.done(s).fail(h):u<e?(u++,f[r]=this._send(n).done(s).fail(h).always(c)):this.onDeckRequestArgs=[].slice.call(arguments,0))},get:function(i,r){var f,u;r=r||n.noop;i=t.isString(i)?{url:i}:i||{};u=this._fingerprint(i);this.cancelled=!1;this.lastReq=u;(f=this._cache.get(u))?r(null,f):this._get(i,r)},cancel:function(){this.cancelled=!0}}),r}(),o=window.SearchIndex=function(){"use strict";function u(i){i=i||{};i.datumTokenizer&&i.queryTokenizer||n.error("datumTokenizer and queryTokenizer are both required");this.identify=i.identify||t.stringify;this.datumTokenizer=i.datumTokenizer;this.queryTokenizer=i.queryTokenizer;this.reset()}function f(n){return n=t.filter(n,function(n){return!!n}),t.map(n,function(n){return n.toLowerCase()})}function e(){var n={};return n[r]=[],n[i]={},n}function o(n){for(var i={},r=[],t=0,u=n.length;t<u;t++)i[n[t]]||(i[n[t]]=!0,r.push(n[t]));return r}function s(n,t){var i=0,r=0,u=[],f,e;for(n=n.sort(),t=t.sort(),f=n.length,e=t.length;i<f&&r<e;)n[i]<t[r]?i++:n[i]>t[r]?r++:(u.push(n[i]),i++,r++);return u}var i="c",r="i";return t.mixin(u.prototype,{bootstrap:function(n){this.datums=n.datums;this.trie=n.trie},add:function(n){var u=this;n=t.isArray(n)?n:[n];t.each(n,function(n){var o,s;u.datums[o=u.identify(n)]=n;s=f(u.datumTokenizer(n));t.each(s,function(n){for(var f,t=u.trie,s=n.split("");f=s.shift();)t=t[i][f]||(t[i][f]=e()),t[r].push(o)})})},get:function(n){var i=this;return t.map(n,function(n){return i.datums[n]})},search:function(n){var e=this,h,u;return h=f(this.queryTokenizer(n)),t.each(h,function(n){var t,f,h,o;if(u&&u.length===0)return!1;for(t=e.trie,f=n.split("");t&&(h=f.shift());)t=t[i][h];if(t&&f.length===0)o=t[r].slice(0),u=u?s(u,o):o;else return u=[],!1}),u?t.map(o(u),function(n){return e.datums[n]}):[]},all:function(){var n=[],t;for(t in this.datums)n.push(this.datums[t]);return n},reset:function(){this.datums={};this.trie=e()},serialize:function(){return{datums:this.datums,trie:this.trie}}}),u}(),s=function(){"use strict";function i(n){this.url=n.url;this.ttl=n.ttl;this.cache=n.cache;this.prepare=n.prepare;this.transform=n.transform;this.transport=n.transport;this.thumbprint=n.thumbprint;this.storage=new e(n.cacheKey)}var n;return n={data:"data",protocol:"protocol",thumbprint:"thumbprint"},t.mixin(i.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},store:function(t){this.cache&&(this.storage.set(n.data,t,this.ttl),this.storage.set(n.protocol,location.protocol,this.ttl),this.storage.set(n.thumbprint,this.thumbprint,this.ttl))},fromCache:function(){var t={},i;return this.cache?(t.data=this.storage.get(n.data),t.protocol=this.storage.get(n.protocol),t.thumbprint=this.storage.get(n.thumbprint),i=t.thumbprint!==this.thumbprint||t.protocol!==location.protocol,t.data&&!i?t.data:null):null},fromNetwork:function(n){function r(){n(!0)}function u(t){n(null,i.transform(t))}var i=this,t;n&&(t=this.prepare(this._settings()),this.transport(t).fail(r).done(u))},clear:function(){return this.storage.clear(),this}}),i}(),h=function(){"use strict";function n(n){this.url=n.url;this.prepare=n.prepare;this.transform=n.transform;this.transport=new r({cache:n.cache,limiter:n.limiter,transport:n.transport})}return t.mixin(n.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},get:function(n,t){function u(n,i){n?t([]):t(r.transform(i))}var r=this,i;if(t)return n=n||"",i=this.prepare(n,this._settings()),this.transport.get(i,u)},cancelLastRequest:function(){this.transport.cancel()}}),n}(),c=function(){"use strict";function r(r){var f;return r?(f={url:null,ttl:864e5,cache:!0,cacheKey:null,thumbprint:"",prepare:t.identity,transform:t.identity,transport:null},r=t.isString(r)?{url:r}:r,r=t.mixin(f,r),r.url||n.error("prefetch requires url to be set"),r.transform=r.filter||r.transform,r.cacheKey=r.cacheKey||r.url,r.thumbprint=u+r.thumbprint,r.transport=r.transport?i(r.transport):n.ajax,r):null}function f(r){var u;if(r)return u={url:null,cache:!0,prepare:null,replace:null,wildcard:null,limiter:null,rateLimitBy:"debounce",rateLimitWait:300,transform:t.identity,transport:null},r=t.isString(r)?{url:r}:r,r=t.mixin(u,r),r.url||n.error("remote requires url to be set"),r.transform=r.filter||r.transform,r.prepare=e(r),r.limiter=o(r),r.transport=r.transport?i(r.transport):n.ajax,delete r.replace,delete r.wildcard,delete r.rateLimitBy,delete r.rateLimitWait,r}function e(n){function u(n,t){return t.url=i(t.url,n),t}function f(n,t){return t.url=t.url.replace(r,encodeURIComponent(n)),t}function e(n,t){return t}var t,i,r;return(t=n.prepare,i=n.replace,r=n.wildcard,t)?t:i?u:n.wildcard?f:e}function o(n){function f(n){return function(i){return t.debounce(i,n)}}function e(n){return function(i){return t.throttle(i,n)}}var i,u,r;return i=n.limiter,u=n.rateLimitBy,r=n.rateLimitWait,i||(i=/^throttle$/i.test(u)?e(r):f(r)),i}function i(i){return function(r){function f(n){t.defer(function(){u.resolve(n)})}function e(n){t.defer(function(){u.reject(n)})}var u=n.Deferred();return i(r,f,e),u}}return function(i){var e,u;return e={initialize:!0,identify:t.stringify,datumTokenizer:null,queryTokenizer:null,sufficient:5,sorter:null,local:[],prefetch:null,remote:null},i=t.mixin(e,i||{}),i.datumTokenizer||n.error("datumTokenizer is required"),i.queryTokenizer||n.error("queryTokenizer is required"),u=i.sorter,i.sorter=u?function(n){return n.sort(u)}:t.identity,i.local=t.isFunction(i.local)?i.local():i.local,i.prefetch=r(i.prefetch),i.remote=f(i.remote),i}}();return function(){"use strict";function i(n){n=c(n);this.sorter=n.sorter;this.identify=n.identify;this.sufficient=n.sufficient;this.local=n.local;this.remote=n.remote?new h(n.remote):null;this.prefetch=n.prefetch?new s(n.prefetch):null;this.index=new o({identify:this.identify,datumTokenizer:n.datumTokenizer,queryTokenizer:n.queryTokenizer});n.initialize!==!1&&this.initialize()}var u;return u=window&&window.Bloodhound,i.noConflict=function(){return window&&(window.Bloodhound=u),i},i.tokenizers=f,t.mixin(i.prototype,{__ttAdapter:function(){function t(t,i,r){return n.search(t,i,r)}function i(t,i){return n.search(t,i)}var n=this;return this.remote?t:i},_loadPrefetch:function(){function u(n,r){if(n)return t.reject();i.add(r);i.prefetch.store(i.index.serialize());t.resolve()}var i=this,t,r;return t=n.Deferred(),this.prefetch?(r=this.prefetch.fromCache())?(this.index.bootstrap(r),t.resolve()):this.prefetch.fromNetwork(u):t.resolve(),t.promise()},_initialize:function(){function t(){n.add(n.local)}var n=this;return this.clear(),(this.initPromise=this._loadPrefetch()).done(t),this.initPromise},initialize:function(n){return!this.initPromise||n?this._initialize():this.initPromise},add:function(n){return this.index.add(n),this},get:function(n){return n=t.isArray(n)?n:[].slice.call(arguments),this.index.get(n)},search:function(n,i,r){function e(n){var i=[];t.each(n,function(n){t.some(u,function(t){return f.identify(n)===f.identify(t)})||i.push(n)});r&&r(i)}var f=this,u;return u=this.sorter(this.index.search(n)),i(this.remote?u.slice():u),this.remote&&u.length<this.sufficient?this.remote.get(n,e):this.remote&&this.remote.cancelLastRequest(),this},all:function(){return this.index.all()},clear:function(){return this.index.reset(),this},clearPrefetchCache:function(){return this.prefetch&&this.prefetch.clear(),this},clearRemoteCache:function(){return r.resetCache(),this},ttAdapter:function(){return this.__ttAdapter()}}),i}()}),function(n,t){typeof define=="function"&&define.amd?define("typeahead.js",["jquery"],function(n){return t(n)}):typeof exports=="object"?module.exports=t(require("jquery")):t(jQuery)}(this,function(n){var t=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},isElement:function(n){return!!(n&&n.nodeType===1)},isJQuery:function(t){return t instanceof n},toStr:function(n){return t.isUndefined(n)||n===null?"":n+""},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,identity:function(n){return n},clone:function(t){return n.extend(!0,{},t)},getIdGenerator:function(){var n=0;return function(){return n++}},templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},stringify:function(n){return t.isString(n)?n:JSON.stringify(n)},noop:function(){}}}(),e=function(){"use strict";function i(i){var e,o;return o=t.mixin({},n,i),e={css:f(),classes:o,html:r(o),selectors:u(o)},{css:e.css,html:e.html,classes:e.classes,selectors:e.selectors,mixin:function(n){t.mixin(n,e)}}}function r(n){return{wrapper:'<span class="'+n.wrapper+'"><\/span>',menu:'<div class="'+n.menu+'"><\/div>'}}function u(n){var i={};return t.each(n,function(n,t){i[t]="."+n}),i}function f(){var n={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},menu:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return t.isMsie()&&t.mixin(n.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),n}var n={wrapper:"twitter-typeahead",input:"tt-input",hint:"tt-hint",menu:"tt-menu",dataset:"tt-dataset",suggestion:"tt-suggestion",selectable:"tt-selectable",empty:"tt-empty",open:"tt-open",cursor:"tt-cursor",highlight:"tt-highlight"};return i}(),o=function(){"use strict";function u(t){t&&t.el||n.error("EventBus initialized without el");this.$el=n(t.el)}var i,r;return i="typeahead:",r={render:"rendered",cursorchange:"cursorchanged",select:"selected",autocomplete:"autocompleted"},t.mixin(u.prototype,{_trigger:function(t,r){var u;return u=n.Event(i+t),(r=r||[]).unshift(u),this.$el.trigger.apply(this.$el,r),u},before:function(n){var t,i;return t=[].slice.call(arguments,1),i=this._trigger("before"+n,t),i.isDefaultPrevented()},trigger:function(n){var t;this._trigger(n,[].slice.call(arguments,1));(t=r[n])&&this._trigger(t,[].slice.call(arguments,1))}}),u}(),r=function(){"use strict";function t(t,i,r,u){var f;if(!r)return this;for(i=i.split(n),r=u?h(r,u):r,this._callbacks=this._callbacks||{};f=i.shift();)this._callbacks[f]=this._callbacks[f]||{sync:[],async:[]},this._callbacks[f][t].push(r);return this}function u(n,i,r){return t.call(this,"async",n,i,r)}function f(n,i,r){return t.call(this,"sync",n,i,r)}function e(t){var i;if(!this._callbacks)return this;for(t=t.split(n);i=t.shift();)delete this._callbacks[i];return this}function o(t){var u,f,e,o,s;if(!this._callbacks)return this;for(t=t.split(n),e=[].slice.call(arguments,1);(u=t.shift())&&(f=this._callbacks[u]);)o=i(f.sync,this,[u].concat(e)),s=i(f.async,this,[u].concat(e)),o()&&r(s);return this}function i(n,t,i){function r(){for(var u,r=0,f=n.length;!u&&r<f;r+=1)u=n[r].apply(t,i)===!1;return!u}return r}function s(){return window.setImmediate?function(n){setImmediate(function(){n()})}:function(n){setTimeout(function(){n()},0)}}function h(n,t){return n.bind?n.bind(t):function(){n.apply(t,[].slice.call(arguments,0))}}var n=/\s+/,r=s();return{onSync:f,onAsync:u,off:e,trigger:o}}(),s=function(n){"use strict";function r(n,i,r){for(var f=[],e,u=0,o=n.length;u<o;u++)f.push(t.escapeRegExChars(n[u]));return e=r?"\\b("+f.join("|")+")\\b":"("+f.join("|")+")",i?new RegExp(e):new RegExp(e,"i")}var i={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(u){function o(t){var i,r,e;return(i=f.exec(t.data))&&(e=n.createElement(u.tagName),u.className&&(e.className=u.className),r=t.splitText(i.index),r.splitText(i[0].length),e.appendChild(r.cloneNode(!0)),t.parentNode.replaceChild(e,r)),!!i}function e(n,t){for(var r,i=0;i<n.childNodes.length;i++)r=n.childNodes[i],r.nodeType===3?i+=t(r)?1:0:e(r,t)}var f;(u=t.mixin({},i,u),u.node&&u.pattern)&&(u.pattern=t.isArray(u.pattern)?u.pattern:[u.pattern],f=r(u.pattern,u.caseSensitive,u.wordsOnly),e(u.node,o))}}(window.document),u=function(){"use strict";function i(i,r){i=i||{};i.input||n.error("input is missing");r.mixin(this);this.$hint=n(i.hint);this.$input=n(i.input);this.query=this.$input.val();this.queryWhenFocused=this.hasFocus()?this.query:null;this.$overflowHelper=e(this.$input);this._checkLanguageDirection();this.$hint.length===0&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=t.noop)}function e(t){return n('<pre aria-hidden="true"><\/pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:t.css("font-family"),fontSize:t.css("font-size"),fontStyle:t.css("font-style"),fontVariant:t.css("font-variant"),fontWeight:t.css("font-weight"),wordSpacing:t.css("word-spacing"),letterSpacing:t.css("letter-spacing"),textIndent:t.css("text-indent"),textRendering:t.css("text-rendering"),textTransform:t.css("text-transform")}).insertAfter(t)}function o(n,t){return i.normalizeQuery(n)===i.normalizeQuery(t)}function f(n){return n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}var u;return u={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},i.normalizeQuery=function(n){return t.toStr(n).replace(/^\s*/g,"").replace(/\s{2,}/g," ")},t.mixin(i.prototype,r,{_onBlur:function(){this.resetInputValue();this.trigger("blurred")},_onFocus:function(){this.queryWhenFocused=this.query;this.trigger("focused")},_onKeydown:function(n){var t=u[n.which||n.keyCode];this._managePreventDefault(t,n);t&&this._shouldTrigger(t,n)&&this.trigger(t+"Keyed",n)},_onInput:function(){this._setQuery(this.getInputValue());this.clearHintIfInvalid();this._checkLanguageDirection()},_managePreventDefault:function(n,t){var i;switch(n){case"up":case"down":i=!f(t);break;default:i=!1}i&&t.preventDefault()},_shouldTrigger:function(n,t){var i;switch(n){case"tab":i=!f(t);break;default:i=!0}return i},_checkLanguageDirection:function(){var n=(this.$input.css("direction")||"ltr").toLowerCase();this.dir!==n&&(this.dir=n,this.$hint.attr("dir",n),this.trigger("langDirChanged",n))},_setQuery:function(n,t){var i,r;i=o(n,this.query);r=i?this.query.length!==n.length:!1;this.query=n;t||i?!t&&r&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},bind:function(){var n=this,i,r,f,e;i=t.bind(this._onBlur,this);r=t.bind(this._onFocus,this);f=t.bind(this._onKeydown,this);e=t.bind(this._onInput,this);this.$input.on("blur.tt",i).on("focus.tt",r).on("keydown.tt",f);if(!t.isMsie()||t.isMsie()>9)this.$input.on("input.tt",e);else this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(i){u[i.which||i.keyCode]||t.defer(t.bind(n._onInput,n,i))});return this},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getLangDir:function(){return this.dir},getQuery:function(){return this.query||""},setQuery:function(n,t){this.setInputValue(n);this._setQuery(n,t)},hasQueryChangedSinceLastFocus:function(){return this.query!==this.queryWhenFocused},getInputValue:function(){return this.$input.val()},setInputValue:function(n){this.$input.val(n);this.clearHintIfInvalid();this._checkLanguageDirection()},resetInputValue:function(){this.setInputValue(this.query)},getHint:function(){return this.$hint.val()},setHint:function(n){this.$hint.val(n)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var n,t,i,r;n=this.getInputValue();t=this.getHint();i=n!==t&&t.indexOf(n)===0;r=n!==""&&i&&!this.hasOverflow();r||this.clearHint()},hasFocus:function(){return this.$input.is(":focus")},hasOverflow:function(){var n=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=n},isCursorAtEnd:function(){var n,i,r;return(n=this.$input.val().length,i=this.$input[0].selectionStart,t.isNumber(i))?i===n:document.selection?(r=document.selection.createRange(),r.moveStart("character",-n),n===r.text.length):!0},destroy:function(){this.$hint.off(".tt");this.$input.off(".tt");this.$overflowHelper.remove();this.$hint=this.$input=this.$overflowHelper=n("<div>")}}),i}(),f=function(){"use strict";function u(i,r){i=i||{};i.templates=i.templates||{};i.templates.notFound=i.templates.notFound||i.templates.empty;i.source||n.error("missing source");i.node||n.error("missing node");i.name&&!h(i.name)&&n.error("invalid dataset name: "+i.name);r.mixin(this);this.highlight=!!i.highlight;this.name=i.name||f();this.limit=i.limit||10;this.displayFn=e(i.display||i.displayKey);this.templates=o(i.templates,this.displayFn);this.source=i.source.__ttAdapter?i.source.__ttAdapter():i.source;this.async=t.isUndefined(i.async)?this.source.length>2:!!i.async;this._resetLastSuggestion();this.$el=n(i.node).addClass(this.classes.dataset).addClass(this.classes.dataset+"-"+this.name)}function e(n){function i(t){return t[n]}return n=n||t.stringify,t.isFunction(n)?n:i}function o(i,r){function u(t){return n("<div>").text(r(t))}return{notFound:i.notFound&&t.templatify(i.notFound),pending:i.pending&&t.templatify(i.pending),header:i.header&&t.templatify(i.header),footer:i.footer&&t.templatify(i.footer),suggestion:i.suggestion||u}}function h(n){return/^[_a-zA-Z0-9-]+$/.test(n)}var i,f;return i={val:"tt-selectable-display",obj:"tt-selectable-object"},f=t.getIdGenerator(),u.extractData=function(t){var r=n(t);return r.data(i.obj)?{val:r.data(i.val)||"",obj:r.data(i.obj)||null}:null},t.mixin(u.prototype,r,{_overwrite:function(n,t){t=t||[];t.length?this._renderSuggestions(n,t):this.async&&this.templates.pending?this._renderPending(n):!this.async&&this.templates.notFound?this._renderNotFound(n):this._empty();this.trigger("rendered",this.name,t,!1)},_append:function(n,t){t=t||[];t.length&&this.$lastSuggestion.length?this._appendSuggestions(n,t):t.length?this._renderSuggestions(n,t):!this.$lastSuggestion.length&&this.templates.notFound&&this._renderNotFound(n);this.trigger("rendered",this.name,t,!0)},_renderSuggestions:function(n,t){var i;i=this._getSuggestionsFragment(n,t);this.$lastSuggestion=i.children().last();this.$el.html(i).prepend(this._getHeader(n,t)).append(this._getFooter(n,t))},_appendSuggestions:function(n,t){var i,r;i=this._getSuggestionsFragment(n,t);r=i.children().last();this.$lastSuggestion.after(i);this.$lastSuggestion=r},_renderPending:function(n){var t=this.templates.pending;this._resetLastSuggestion();t&&this.$el.html(t({query:n,dataset:this.name}))},_renderNotFound:function(n){var t=this.templates.notFound;this._resetLastSuggestion();t&&this.$el.html(t({query:n,dataset:this.name}))},_empty:function(){this.$el.empty();this._resetLastSuggestion()},_getSuggestionsFragment:function(r,u){var f=this,e;return e=document.createDocumentFragment(),t.each(u,function(t){var u,o;o=f._injectQuery(r,t);u=n(f.templates.suggestion(o)).data(i.obj,t).data(i.val,f.displayFn(t)).addClass(f.classes.suggestion+" "+f.classes.selectable);e.appendChild(u[0])}),this.highlight&&s({className:this.classes.highlight,node:e,pattern:r}),n(e)},_getFooter:function(n,t){return this.templates.footer?this.templates.footer({query:n,suggestions:t,dataset:this.name}):null},_getHeader:function(n,t){return this.templates.header?this.templates.header({query:n,suggestions:t,dataset:this.name}):null},_resetLastSuggestion:function(){this.$lastSuggestion=n()},_injectQuery:function(n,i){return t.isObject(i)?t.mixin({_query:n},i):i},update:function(t){function e(n){u||(u=!0,n=(n||[]).slice(0,i.limit),r=n.length,i._overwrite(t,n),r<i.limit&&i.async&&i.trigger("asyncRequested",t))}function o(u){u=u||[];!f&&r<i.limit&&(i.cancel=n.noop,r+=u.length,r>i.limit?i._append(t,u.slice(0,0-i.limit)):i._append(t,u),i.async&&i.trigger("asyncReceived",t))}var i=this,f=!1,u=!1,r=0;this.cancel();this.cancel=function(){f=!0;i.cancel=n.noop;i.async&&i.trigger("asyncCanceled",t)};this.source(t,e,o);u||e([])},cancel:n.noop,clear:function(){this._empty();this.cancel();this.trigger("cleared")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=n("<div>")}}),u}(),i=function(){"use strict";function i(i,r){function e(t){var i=u.$node.find(t.node).first();return t.node=i.length?i:n("<div>").appendTo(u.$node),new f(t,r)}var u=this;i=i||{};i.node||n.error("node is required");r.mixin(this);this.$node=n(i.node);this.query=null;this.datasets=t.map(i.datasets,e)}return t.mixin(i.prototype,r,{_onSelectableClick:function(t){this.trigger("selectableClicked",n(t.currentTarget))},_onRendered:function(n,t,i,r){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty());this.trigger("datasetRendered",t,i,r)},_onCleared:function(){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty());this.trigger("datasetCleared")},_propagate:function(){this.trigger.apply(this,arguments)},_allDatasetsEmpty:function(){function n(n){return n.isEmpty()}return t.every(this.datasets,n)},_getSelectables:function(){return this.$node.find(this.selectors.selectable)},_removeCursor:function(){var n=this.getActiveSelectable();n&&n.removeClass(this.classes.cursor)},_ensureVisible:function(n){var t,i,r,u;t=n.position().top;i=t+n.outerHeight(!0);r=this.$node.scrollTop();u=this.$node.height()+parseInt(this.$node.css("paddingTop"),10)+parseInt(this.$node.css("paddingBottom"),10);t<0?this.$node.scrollTop(r+t):u<i&&this.$node.scrollTop(r+(i-u))},bind:function(){var n=this,i=t.bind(this._onSelectableClick,this);this.$node.on("click.tt",this.selectors.selectable,i);return t.each(this.datasets,function(t){t.onSync("asyncRequested",n._propagate,n).onSync("asyncCanceled",n._propagate,n).onSync("asyncReceived",n._propagate,n).onSync("rendered",n._onRendered,n).onSync("cleared",n._onCleared,n)}),this},isOpen:function(){return this.$node.hasClass(this.classes.open)},open:function(){this.$node.addClass(this.classes.open)},close:function(){this.$node.removeClass(this.classes.open);this._removeCursor()},setLanguageDirection:function(n){this.$node.attr("dir",n)},selectableRelativeToCursor:function(n){var i,r,u,t;return r=this.getActiveSelectable(),i=this._getSelectables(),u=r?i.index(r):-1,t=u+n,t=(t+1)%(i.length+1)-1,t=t<-1?i.length-1:t,t===-1?null:i.eq(t)},setCursor:function(n){this._removeCursor();(n=n&&n.first())&&(n.addClass(this.classes.cursor),this._ensureVisible(n))},getSelectableData:function(n){return n&&n.length?f.extractData(n):null},getActiveSelectable:function(){var n=this._getSelectables().filter(this.selectors.cursor).first();return n.length?n:null},getTopSelectable:function(){var n=this._getSelectables().first();return n.length?n:null},update:function(n){function r(t){t.update(n)}var i=n!==this.query;return i&&(this.query=n,t.each(this.datasets,r)),i},empty:function(){function n(n){n.clear()}t.each(this.datasets,n);this.query=null;this.$node.addClass(this.classes.empty)},destroy:function(){function i(n){n.destroy()}this.$node.off(".tt");this.$node=n("<div>");t.each(this.datasets,i)}}),i}(),h=function(){"use strict";function r(){i.apply(this,[].slice.call(arguments,0))}var n=i.prototype;return t.mixin(r.prototype,i.prototype,{open:function(){return this._allDatasetsEmpty()||this._show(),n.open.apply(this,[].slice.call(arguments,0))},close:function(){return this._hide(),n.close.apply(this,[].slice.call(arguments,0))},_onRendered:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),n._onRendered.apply(this,[].slice.call(arguments,0))},_onCleared:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),n._onCleared.apply(this,[].slice.call(arguments,0))},setLanguageDirection:function(t){return this.$node.css(t==="ltr"?this.css.ltr:this.css.rtl),n.setLanguageDirection.apply(this,[].slice.call(arguments,0))},_hide:function(){this.$node.hide()},_show:function(){this.$node.css("display","block")}}),r}(),c=function(){"use strict";function r(r,u){var f,e,o,s,h,c,l,a,v,y,p;r=r||{};r.input||n.error("missing input");r.menu||n.error("missing menu");r.eventBus||n.error("missing event bus");u.mixin(this);this.eventBus=r.eventBus;this.minLength=t.isNumber(r.minLength)?r.minLength:1;this.input=r.input;this.menu=r.menu;this.enabled=!0;this.active=!1;this.input.hasFocus()&&this.activate();this.dir=this.input.getLangDir();this._hacks();this.menu.bind().onSync("selectableClicked",this._onSelectableClicked,this).onSync("asyncRequested",this._onAsyncRequested,this).onSync("asyncCanceled",this._onAsyncCanceled,this).onSync("asyncReceived",this._onAsyncReceived,this).onSync("datasetRendered",this._onDatasetRendered,this).onSync("datasetCleared",this._onDatasetCleared,this);f=i(this,"activate","open","_onFocused");e=i(this,"deactivate","_onBlurred");o=i(this,"isActive","isOpen","_onEnterKeyed");s=i(this,"isActive","isOpen","_onTabKeyed");h=i(this,"isActive","_onEscKeyed");c=i(this,"isActive","open","_onUpKeyed");l=i(this,"isActive","open","_onDownKeyed");a=i(this,"isActive","isOpen","_onLeftKeyed");v=i(this,"isActive","isOpen","_onRightKeyed");y=i(this,"_openIfActive","_onQueryChanged");p=i(this,"_openIfActive","_onWhitespaceChanged");this.input.bind().onSync("focused",f,this).onSync("blurred",e,this).onSync("enterKeyed",o,this).onSync("tabKeyed",s,this).onSync("escKeyed",h,this).onSync("upKeyed",c,this).onSync("downKeyed",l,this).onSync("leftKeyed",a,this).onSync("rightKeyed",v,this).onSync("queryChanged",y,this).onSync("whitespaceChanged",p,this).onSync("langDirChanged",this._onLangDirChanged,this)}function i(n){var i=[].slice.call(arguments,1);return function(){var r=[].slice.call(arguments);t.each(i,function(t){return n[t].apply(n,r)})}}return t.mixin(r.prototype,{_hacks:function(){var r,i;r=this.input.$input||n("<div>");i=this.menu.$node||n("<div>");r.on("blur.tt",function(n){var u,f,e;u=document.activeElement;f=i.is(u);e=i.has(u).length>0;t.isMsie()&&(f||e)&&(n.preventDefault(),n.stopImmediatePropagation(),t.defer(function(){r.focus()}))});i.on("mousedown.tt",function(n){n.preventDefault()})},_onSelectableClicked:function(n,t){this.select(t)},_onDatasetCleared:function(){this._updateHint()},_onDatasetRendered:function(n,t,i,r){this._updateHint();this.eventBus.trigger("render",i,r,t)},_onAsyncRequested:function(n,t,i){this.eventBus.trigger("asyncrequest",i,t)},_onAsyncCanceled:function(n,t,i){this.eventBus.trigger("asynccancel",i,t)},_onAsyncReceived:function(n,t,i){this.eventBus.trigger("asyncreceive",i,t)},_onFocused:function(){this._minLengthMet()&&this.menu.update(this.input.getQuery())},_onBlurred:function(){this.input.hasQueryChangedSinceLastFocus()&&this.eventBus.trigger("change",this.input.getQuery())},_onEnterKeyed:function(n,t){var i;(i=this.menu.getActiveSelectable())&&this.select(i)&&t.preventDefault()},_onTabKeyed:function(n,t){var i;(i=this.menu.getActiveSelectable())?this.select(i)&&t.preventDefault():(i=this.menu.getTopSelectable())&&this.autocomplete(i)&&t.preventDefault()},_onEscKeyed:function(){this.close()},_onUpKeyed:function(){this.moveCursor(-1)},_onDownKeyed:function(){this.moveCursor(1)},_onLeftKeyed:function(){this.dir==="rtl"&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onRightKeyed:function(){this.dir==="ltr"&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onQueryChanged:function(n,t){this._minLengthMet(t)?this.menu.update(t):this.menu.empty()},_onWhitespaceChanged:function(){this._updateHint()},_onLangDirChanged:function(n,t){this.dir!==t&&(this.dir=t,this.menu.setLanguageDirection(t))},_openIfActive:function(){this.isActive()&&this.open()},_minLengthMet:function(n){return n=t.isString(n)?n:this.input.getQuery()||"",n.length>=this.minLength},_updateHint:function(){var f,i,n,e,o,s,r;f=this.menu.getTopSelectable();i=this.menu.getSelectableData(f);n=this.input.getInputValue();!i||t.isBlankString(n)||this.input.hasOverflow()?this.input.clearHint():(e=u.normalizeQuery(n),o=t.escapeRegExChars(e),s=new RegExp("^(?:"+o+")(.+$)","i"),r=s.exec(i.val),r&&this.input.setHint(n+r[1]))},isEnabled:function(){return this.enabled},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},isActive:function(){return this.active},activate:function(){return this.isActive()?!0:!this.isEnabled()||this.eventBus.before("active")?!1:(this.active=!0,this.eventBus.trigger("active"),!0)},deactivate:function(){return this.isActive()?this.eventBus.before("idle")?!1:(this.active=!1,this.close(),this.eventBus.trigger("idle"),!0):!0},isOpen:function(){return this.menu.isOpen()},open:function(){return this.isOpen()||this.eventBus.before("open")||(this.menu.open(),this._updateHint(),this.eventBus.trigger("open")),this.isOpen()},close:function(){return this.isOpen()&&!this.eventBus.before("close")&&(this.menu.close(),this.input.clearHint(),this.input.resetInputValue(),this.eventBus.trigger("close")),!this.isOpen()},setVal:function(n){this.input.setQuery(t.toStr(n))},getVal:function(){return this.input.getQuery()},select:function(n){var t=this.menu.getSelectableData(n);return t&&!this.eventBus.before("select",t.obj)?(this.input.setQuery(t.val,!0),this.eventBus.trigger("select",t.obj),this.close(),!0):!1},autocomplete:function(n){var i,t,r;return(i=this.input.getQuery(),t=this.menu.getSelectableData(n),r=t&&i!==t.val,r&&!this.eventBus.before("autocomplete",t.obj))?(this.input.setQuery(t.val),this.eventBus.trigger("autocomplete",t.obj),!0):!1},moveCursor:function(n){var u,i,t,r,f;return(u=this.input.getQuery(),i=this.menu.selectableRelativeToCursor(n),t=this.menu.getSelectableData(i),r=t?t.obj:null,f=this._minLengthMet()&&this.menu.update(u),!f&&!this.eventBus.before("cursorchange",r))?(this.menu.setCursor(i),t?this.input.setInputValue(t.val):(this.input.resetInputValue(),this._updateHint()),this.eventBus.trigger("cursorchange",r),!0):!1},destroy:function(){this.input.destroy();this.menu.destroy()}}),r}();(function(){"use strict";function r(t,i){t.each(function(){var t=n(this),r;(r=t.data(f.typeahead))&&i(r,t)})}function v(n,t){return n.clone().addClass(t.classes.hint).removeData().css(t.css.hint).css(p(n)).prop("readonly",!0).removeAttr("id name placeholder required").attr({autocomplete:"off",spellcheck:"false",tabindex:-1})}function y(n,t){n.data(f.attrs,{dir:n.attr("dir"),autocomplete:n.attr("autocomplete"),spellcheck:n.attr("spellcheck"),style:n.attr("style")});n.addClass(t.classes.input).attr({autocomplete:"off",spellcheck:!1});try{n.attr("dir")||n.attr("dir","auto")}catch(i){}return n}function p(n){return{backgroundAttachment:n.css("background-attachment"),backgroundClip:n.css("background-clip"),backgroundColor:n.css("background-color"),backgroundImage:n.css("background-image"),backgroundOrigin:n.css("background-origin"),backgroundPosition:n.css("background-position"),backgroundRepeat:n.css("background-repeat"),backgroundSize:n.css("background-size")}}function w(n){var r,i;r=n.data(f.www);i=n.parent().filter(r.selectors.wrapper);t.each(n.data(f.attrs),function(i,r){t.isUndefined(i)?n.removeAttr(r):n.attr(r,i)});n.removeData(f.typeahead).removeData(f.www).removeData(f.attr).removeClass(r.classes.input);i.length&&(n.detach().insertAfter(i),i.remove())}function a(i){var u,r;return u=t.isJQuery(i)||t.isElement(i),r=u?n(i).first():[],r.length?r:null}var l,f,s;l=n.fn.typeahead;f={www:"tt-www",attrs:"tt-attrs",typeahead:"tt-typeahead"};s={initialize:function(r,s){function p(){var e,d,p,w,b,k,g,nt,tt,it,rt;t.each(s,function(n){n.highlight=!!r.highlight});e=n(this);d=n(l.html.wrapper);p=a(r.hint);w=a(r.menu);b=r.hint!==!1&&!p;k=r.menu!==!1&&!w;b&&(p=v(e,l));k&&(w=n(l.html.menu).css(l.css.menu));p&&p.val("");e=y(e,l);(b||k)&&(d.css(l.css.wrapper),e.css(b?l.css.input:l.css.inputWithNoHint),e.wrap(d).parent().prepend(b?p:null).append(k?w:null));rt=k?h:i;g=new o({el:e});nt=new u({hint:p,input:e},l);tt=new rt({node:w,datasets:s},l);it=new c({input:nt,menu:tt,eventBus:g,minLength:r.minLength},l);e.data(f.www,l);e.data(f.typeahead,it)}var l;return s=t.isArray(s)?s:[].slice.call(arguments,1),r=r||{},l=e(r.classNames),this.each(p)},isEnabled:function(){var n;return r(this.first(),function(t){n=t.isEnabled()}),n},enable:function(){return r(this,function(n){n.enable()}),this},disable:function(){return r(this,function(n){n.disable()}),this},isActive:function(){var n;return r(this.first(),function(t){n=t.isActive()}),n},activate:function(){return r(this,function(n){n.activate()}),this},deactivate:function(){return r(this,function(n){n.deactivate()}),this},isOpen:function(){var n;return r(this.first(),function(t){n=t.isOpen()}),n},open:function(){return r(this,function(n){n.open()}),this},close:function(){return r(this,function(n){n.close()}),this},select:function(t){var i=!1,u=n(t);return r(this.first(),function(n){i=n.select(u)}),i},autocomplete:function(t){var i=!1,u=n(t);return r(this.first(),function(n){i=n.autocomplete(u)}),i},moveCursor:function(n){var t=!1;return r(this.first(),function(i){t=i.moveCursor(n)}),t},val:function(n){var t;return arguments.length?(r(this,function(t){t.setVal(n)}),this):(r(this.first(),function(n){t=n.getVal()}),t)},destroy:function(){return r(this,function(n,t){w(t);n.destroy()}),this}};n.fn.typeahead=function(n){return s[n]?s[n].apply(this,[].slice.call(arguments,1)):s.initialize.apply(this,arguments)};n.fn.typeahead.noConflict=function(){return n.fn.typeahead=l,this}})()})