diff --git a/CHANGELOG.md b/CHANGELOG.md index b2535c6fb6..8d0b880cbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ - Home page (when using "split home in tabs") ([#5126](https://github.com/pymedusa/Medusa/pull/5126)) - Status page ([#5127](https://github.com/pymedusa/Medusa/pull/5127)) - Preview Rename page ([#5169](https://github.com/pymedusa/Medusa/pull/5169)) - + - Post Processing Config page - saving `select-list` values incorrectly ([#5165](https://github.com/pymedusa/Medusa/pull/5165)) ----- diff --git a/medusa/__main__.py b/medusa/__main__.py index 7f1be2c483..a93bd909fb 100755 --- a/medusa/__main__.py +++ b/medusa/__main__.py @@ -95,6 +95,34 @@ logger = logging.getLogger(__name__) +def fix_incorrect_list_values(data): + """ + @TODO: Remove this in a future version. + + Due to a bug introduced in v0.2.9, the value might be a string representing a Python dict. + See: https://github.com/pymedusa/Medusa/issues/5155 + + Example: `"{u'id': 0, u'value': u'!sync'}"` to `"!sync"` + """ + import ast + + result = [] + for item in data: + if not item: + continue + if not (item.startswith('{') and item.endswith('}')): + # Simple value, don't do anything to it + result.append(item) + continue + try: + # Get the value: `{u'id': 0, u'value': u'!sync'}` => `!sync` + result.append(ast.literal_eval(item)['value']) + except (SyntaxError, KeyError): + pass + + return result + + class Application(object): """Main application module.""" @@ -604,7 +632,11 @@ def initialize(self, console_logging=True): app.RANDOMIZE_PROVIDERS = bool(check_setting_int(app.CFG, 'General', 'randomize_providers', 0)) app.ALLOW_HIGH_PRIORITY = bool(check_setting_int(app.CFG, 'General', 'allow_high_priority', 1)) app.SKIP_REMOVED_FILES = bool(check_setting_int(app.CFG, 'General', 'skip_removed_files', 0)) + app.ALLOWED_EXTENSIONS = check_setting_list(app.CFG, 'General', 'allowed_extensions', app.ALLOWED_EXTENSIONS) + # @TODO: Remove this in a future version. + app.ALLOWED_EXTENSIONS = fix_incorrect_list_values(app.ALLOWED_EXTENSIONS) + app.USENET_RETENTION = check_setting_int(app.CFG, 'General', 'usenet_retention', 500) app.CACHE_TRIMMING = bool(check_setting_int(app.CFG, 'General', 'cache_trimming', 0)) app.MAX_CACHE_AGE = check_setting_int(app.CFG, 'General', 'max_cache_age', 30) @@ -646,7 +678,11 @@ def initialize(self, console_logging=True): app.MOVE_ASSOCIATED_FILES = bool(check_setting_int(app.CFG, 'General', 'move_associated_files', 0)) app.POSTPONE_IF_SYNC_FILES = bool(check_setting_int(app.CFG, 'General', 'postpone_if_sync_files', 1)) app.POSTPONE_IF_NO_SUBS = bool(check_setting_int(app.CFG, 'General', 'postpone_if_no_subs', 0)) + app.SYNC_FILES = check_setting_list(app.CFG, 'General', 'sync_files', app.SYNC_FILES) + # @TODO: Remove this in a future version. + app.SYNC_FILES = fix_incorrect_list_values(app.SYNC_FILES) + app.NFO_RENAME = bool(check_setting_int(app.CFG, 'General', 'nfo_rename', 1)) app.CREATE_MISSING_SHOW_DIRS = bool(check_setting_int(app.CFG, 'General', 'create_missing_show_dirs', 0)) app.ADD_SHOWS_WO_DIR = bool(check_setting_int(app.CFG, 'General', 'add_shows_wo_dir', 0)) @@ -919,6 +955,8 @@ def initialize(self, console_logging=True): app.NO_RESTART = bool(check_setting_int(app.CFG, 'General', 'no_restart', 0)) app.EXTRA_SCRIPTS = [x.strip() for x in check_setting_list(app.CFG, 'General', 'extra_scripts')] + # @TODO: Remove this in a future version. + app.EXTRA_SCRIPTS = fix_incorrect_list_values(app.EXTRA_SCRIPTS) app.USE_LISTVIEW = bool(check_setting_int(app.CFG, 'General', 'use_listview', 0)) diff --git a/themes-default/slim/src/components/config-post-processing.vue b/themes-default/slim/src/components/config-post-processing.vue index 6102620c97..16e69deec6 100644 --- a/themes-default/slim/src/components/config-post-processing.vue +++ b/themes-default/slim/src/components/config-post-processing.vue @@ -91,7 +91,7 @@ Sync File Extensions
- + comma seperated list of extensions or filename globs Medusa ignores when Post Processing
@@ -154,7 +154,7 @@ Keep associated file extensions
- + Comma seperated list of associated file extensions Medusa should keep while post processing.
Leaving it empty means all associated files will be deleted
@@ -229,7 +229,7 @@ Extra Scripts
- + See Wiki for script arguments description and usage.
@@ -433,6 +433,15 @@ export default { }; }, methods: { + onChangeSyncFiles(items) { + this.postProcessing.syncFiles = items.map(item => item.value); + }, + onChangeAllowedExtensions(items) { + this.postProcessing.allowedExtensions = items.map(item => item.value); + }, + onChangeExtraScripts(items) { + this.postProcessing.extraScripts = items.map(item => item.value); + }, saveNaming(values) { if (!this.configLoaded) { return; diff --git a/themes-default/slim/src/components/select-list.vue b/themes-default/slim/src/components/select-list.vue index 412df16213..36ef78d486 100644 --- a/themes-default/slim/src/components/select-list.vue +++ b/themes-default/slim/src/components/select-list.vue @@ -55,7 +55,6 @@ export default { }, data() { return { - lock: false, editItems: [], newItem: '', indexCounter: 0, @@ -64,20 +63,24 @@ export default { }; }, created() { + /* + These are needed in order to test the component, + but they break the component in the application: + + this.editItems = this.sanitize(this.listItems); + this.csv = this.editItems.map(item => item.value).join(', '); + */ + /** * ListItems property might receive values originating from the API, - * that are sometimes not avaiable when rendering. - * @TODO: Maybe we can remove this in the future. + * that are sometimes not available when rendering. + * @TODO: This is not ideal! Maybe we can remove this in the future. */ const unwatchProp = this.$watch('listItems', () => { unwatchProp(); - this.lock = true; this.editItems = this.sanitize(this.listItems); - this.$nextTick(() => { - this.lock = false; - }); - this.csv = this.editItems.map(x => x.value).join(', '); + this.csv = this.editItems.map(item => item.value).join(', '); }); }, methods: { @@ -138,7 +141,7 @@ export default { } })); } else { - this.csv = this.editItems.map(x => x.value).join(', '); + this.csv = this.editItems.map(item => item.value).join(', '); } }, /** @@ -154,9 +157,7 @@ export default { watch: { editItems: { handler() { - if (!this.lock) { - this.$emit('change', this.editItems); - } + this.$emit('change', this.editItems); }, deep: true }, diff --git a/themes-default/slim/test/specs/select-list.spec.js b/themes-default/slim/test/specs/select-list.spec.js index ff0acf4c36..f40489127a 100644 --- a/themes-default/slim/test/specs/select-list.spec.js +++ b/themes-default/slim/test/specs/select-list.spec.js @@ -20,10 +20,40 @@ test('renders', t => { const { localVue, store } = t.context; const wrapper = mount(SelectList, { localVue, + store, propsData: { listItems: [] - }, - store + } + }); + + t.snapshot(wrapper.html()); +}); + +test.failing('renders with values', t => { + const { localVue, store } = t.context; + + const listItems = [ + 'abc', + 'bcd', + 'test' + ]; + + const wrapper = mount(SelectList, { + localVue, + store, + propsData: { + listItems + } + }); + + const expectedItems = listItems; + const inputWrapperArray = wrapper.findAll('li input[type="text"]'); + + t.is(inputWrapperArray.length, expectedItems.length); + + inputWrapperArray.wrappers.forEach((inputWrapper, index) => { + const { element } = inputWrapper; + t.is(element.value, expectedItems[index]); }); t.snapshot(wrapper.html()); diff --git a/themes-default/slim/test/specs/snapshots/select-list.spec.js.md b/themes-default/slim/test/specs/snapshots/select-list.spec.js.md index f3d5f15afb..948413a96e 100644 --- a/themes-default/slim/test/specs/snapshots/select-list.spec.js.md +++ b/themes-default/slim/test/specs/snapshots/select-list.spec.js.md @@ -9,3 +9,9 @@ Generated by [AVA](https://ava.li). > Snapshot 1 '
' + +## renders with values + +> Snapshot 1 + + '
' diff --git a/themes-default/slim/test/specs/snapshots/select-list.spec.js.snap b/themes-default/slim/test/specs/snapshots/select-list.spec.js.snap index ef99e3c829..b7bd7d7fbb 100644 Binary files a/themes-default/slim/test/specs/snapshots/select-list.spec.js.snap and b/themes-default/slim/test/specs/snapshots/select-list.spec.js.snap differ diff --git a/themes/dark/assets/js/vendors.js b/themes/dark/assets/js/vendors.js index 5c2db71a0a..4c5e95cd0a 100644 --- a/themes/dark/assets/js/vendors.js +++ b/themes/dark/assets/js/vendors.js @@ -36,7 +36,7 @@ * * Date: 2016-08-08 */ -function(t){var e,n,i,r,o,s,a,l,c,u,f,p,d,h,v,m,g,y,b,_="sizzle"+1*new Date,w=t.document,x=0,C=0,S=st(),k=st(),T=st(),E=function(t,e){return t===e&&(f=!0),0},$={}.hasOwnProperty,O=[],A=O.pop,P=O.push,N=O.push,j=O.slice,D=function(t,e){for(var n=0,i=t.length;n+~]|"+I+")"+I+"*"),z=new RegExp("="+I+"*([^\\]'\"]*?)"+I+"*\\]","g"),W=new RegExp(B),V=new RegExp("^"+M+"$"),G={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+L),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},K=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Y=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Q=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+I+"?|("+I+")|.)","ig"),tt=function(t,e,n){var i="0x"+e-65536;return i!=i||n?e:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},et=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,nt=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},it=function(){p()},rt=yt(function(t){return!0===t.disabled&&("form"in t||"label"in t)},{dir:"parentNode",next:"legend"});try{N.apply(O=j.call(w.childNodes),w.childNodes),O[w.childNodes.length].nodeType}catch(t){N={apply:O.length?function(t,e){P.apply(t,j.call(e))}:function(t,e){for(var n=t.length,i=0;t[n++]=e[i++];);t.length=n-1}}}function ot(t,e,i,r){var o,a,c,u,f,h,g,y=e&&e.ownerDocument,x=e?e.nodeType:9;if(i=i||[],"string"!=typeof t||!t||1!==x&&9!==x&&11!==x)return i;if(!r&&((e?e.ownerDocument||e:w)!==d&&p(e),e=e||d,v)){if(11!==x&&(f=Y.exec(t)))if(o=f[1]){if(9===x){if(!(c=e.getElementById(o)))return i;if(c.id===o)return i.push(c),i}else if(y&&(c=y.getElementById(o))&&b(e,c)&&c.id===o)return i.push(c),i}else{if(f[2])return N.apply(i,e.getElementsByTagName(t)),i;if((o=f[3])&&n.getElementsByClassName&&e.getElementsByClassName)return N.apply(i,e.getElementsByClassName(o)),i}if(n.qsa&&!T[t+" "]&&(!m||!m.test(t))){if(1!==x)y=e,g=t;else if("object"!==e.nodeName.toLowerCase()){for((u=e.getAttribute("id"))?u=u.replace(et,nt):e.setAttribute("id",u=_),a=(h=s(t)).length;a--;)h[a]="#"+u+" "+gt(h[a]);g=h.join(","),y=Q.test(t)&&vt(e.parentNode)||e}if(g)try{return N.apply(i,y.querySelectorAll(g)),i}catch(t){}finally{u===_&&e.removeAttribute("id")}}}return l(t.replace(H,"$1"),e,i,r)}function st(){var t=[];return function e(n,r){return t.push(n+" ")>i.cacheLength&&delete e[t.shift()],e[n+" "]=r}}function at(t){return t[_]=!0,t}function lt(t){var e=d.createElement("fieldset");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ct(t,e){for(var n=t.split("|"),r=n.length;r--;)i.attrHandle[n[r]]=e}function ut(t,e){var n=e&&t,i=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(i)return i;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function ft(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function pt(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function dt(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&rt(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ht(t){return at(function(e){return e=+e,at(function(n,i){for(var r,o=t([],n.length,e),s=o.length;s--;)n[r=o[s]]&&(n[r]=!(i[r]=n[r]))})})}function vt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in n=ot.support={},o=ot.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},p=ot.setDocument=function(t){var e,r,s=t?t.ownerDocument||t:w;return s!==d&&9===s.nodeType&&s.documentElement?(h=(d=s).documentElement,v=!o(d),w!==d&&(r=d.defaultView)&&r.top!==r&&(r.addEventListener?r.addEventListener("unload",it,!1):r.attachEvent&&r.attachEvent("onunload",it)),n.attributes=lt(function(t){return t.className="i",!t.getAttribute("className")}),n.getElementsByTagName=lt(function(t){return t.appendChild(d.createComment("")),!t.getElementsByTagName("*").length}),n.getElementsByClassName=J.test(d.getElementsByClassName),n.getById=lt(function(t){return h.appendChild(t).id=_,!d.getElementsByName||!d.getElementsByName(_).length}),n.getById?(i.filter.ID=function(t){var e=t.replace(Z,tt);return function(t){return t.getAttribute("id")===e}},i.find.ID=function(t,e){if(void 0!==e.getElementById&&v){var n=e.getElementById(t);return n?[n]:[]}}):(i.filter.ID=function(t){var e=t.replace(Z,tt);return function(t){var n=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}},i.find.ID=function(t,e){if(void 0!==e.getElementById&&v){var n,i,r,o=e.getElementById(t);if(o){if((n=o.getAttributeNode("id"))&&n.value===t)return[o];for(r=e.getElementsByName(t),i=0;o=r[i++];)if((n=o.getAttributeNode("id"))&&n.value===t)return[o]}return[]}}),i.find.TAG=n.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):n.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,i=[],r=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[r++];)1===n.nodeType&&i.push(n);return i}return o},i.find.CLASS=n.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&v)return e.getElementsByClassName(t)},g=[],m=[],(n.qsa=J.test(d.querySelectorAll))&&(lt(function(t){h.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+I+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||m.push("\\["+I+"*(?:value|"+R+")"),t.querySelectorAll("[id~="+_+"-]").length||m.push("~="),t.querySelectorAll(":checked").length||m.push(":checked"),t.querySelectorAll("a#"+_+"+*").length||m.push(".#.+[+~]")}),lt(function(t){t.innerHTML="";var e=d.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&m.push("name"+I+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=J.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&<(function(t){n.disconnectedMatch=y.call(t,"*"),y.call(t,"[s!='']:x"),g.push("!=",B)}),m=m.length&&new RegExp(m.join("|")),g=g.length&&new RegExp(g.join("|")),e=J.test(h.compareDocumentPosition),b=e||J.test(h.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,i=e&&e.parentNode;return t===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):t.compareDocumentPosition&&16&t.compareDocumentPosition(i)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},E=e?function(t,e){if(t===e)return f=!0,0;var i=!t.compareDocumentPosition-!e.compareDocumentPosition;return i||(1&(i=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!n.sortDetached&&e.compareDocumentPosition(t)===i?t===d||t.ownerDocument===w&&b(w,t)?-1:e===d||e.ownerDocument===w&&b(w,e)?1:u?D(u,t)-D(u,e):0:4&i?-1:1)}:function(t,e){if(t===e)return f=!0,0;var n,i=0,r=t.parentNode,o=e.parentNode,s=[t],a=[e];if(!r||!o)return t===d?-1:e===d?1:r?-1:o?1:u?D(u,t)-D(u,e):0;if(r===o)return ut(t,e);for(n=t;n=n.parentNode;)s.unshift(n);for(n=e;n=n.parentNode;)a.unshift(n);for(;s[i]===a[i];)i++;return i?ut(s[i],a[i]):s[i]===w?-1:a[i]===w?1:0},d):d},ot.matches=function(t,e){return ot(t,null,null,e)},ot.matchesSelector=function(t,e){if((t.ownerDocument||t)!==d&&p(t),e=e.replace(z,"='$1']"),n.matchesSelector&&v&&!T[e+" "]&&(!g||!g.test(e))&&(!m||!m.test(e)))try{var i=y.call(t,e);if(i||n.disconnectedMatch||t.document&&11!==t.document.nodeType)return i}catch(t){}return ot(e,d,null,[t]).length>0},ot.contains=function(t,e){return(t.ownerDocument||t)!==d&&p(t),b(t,e)},ot.attr=function(t,e){(t.ownerDocument||t)!==d&&p(t);var r=i.attrHandle[e.toLowerCase()],o=r&&$.call(i.attrHandle,e.toLowerCase())?r(t,e,!v):void 0;return void 0!==o?o:n.attributes||!v?t.getAttribute(e):(o=t.getAttributeNode(e))&&o.specified?o.value:null},ot.escape=function(t){return(t+"").replace(et,nt)},ot.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},ot.uniqueSort=function(t){var e,i=[],r=0,o=0;if(f=!n.detectDuplicates,u=!n.sortStable&&t.slice(0),t.sort(E),f){for(;e=t[o++];)e===t[o]&&(r=i.push(o));for(;r--;)t.splice(i[r],1)}return u=null,t},r=ot.getText=function(t){var e,n="",i=0,o=t.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=r(t)}else if(3===o||4===o)return t.nodeValue}else for(;e=t[i++];)n+=r(e);return n},(i=ot.selectors={cacheLength:50,createPseudo:at,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(Z,tt),t[3]=(t[3]||t[4]||t[5]||"").replace(Z,tt),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||ot.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&ot.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return G.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&W.test(n)&&(e=s(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(Z,tt).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=S[t+" "];return e||(e=new RegExp("(^|"+I+")"+t+"("+I+"|$)"))&&S(t,function(t){return e.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,e,n){return function(i){var r=ot.attr(i,t);return null==r?"!="===e:!e||(r+="","="===e?r===n:"!="===e?r!==n:"^="===e?n&&0===r.indexOf(n):"*="===e?n&&r.indexOf(n)>-1:"$="===e?n&&r.slice(-n.length)===n:"~="===e?(" "+r.replace(F," ")+" ").indexOf(n)>-1:"|="===e&&(r===n||r.slice(0,n.length+1)===n+"-"))}},CHILD:function(t,e,n,i,r){var o="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===i&&0===r?function(t){return!!t.parentNode}:function(e,n,l){var c,u,f,p,d,h,v=o!==s?"nextSibling":"previousSibling",m=e.parentNode,g=a&&e.nodeName.toLowerCase(),y=!l&&!a,b=!1;if(m){if(o){for(;v;){for(p=e;p=p[v];)if(a?p.nodeName.toLowerCase()===g:1===p.nodeType)return!1;h=v="only"===t&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&y){for(b=(d=(c=(u=(f=(p=m)[_]||(p[_]={}))[p.uniqueID]||(f[p.uniqueID]={}))[t]||[])[0]===x&&c[1])&&c[2],p=d&&m.childNodes[d];p=++d&&p&&p[v]||(b=d=0)||h.pop();)if(1===p.nodeType&&++b&&p===e){u[t]=[x,d,b];break}}else if(y&&(b=d=(c=(u=(f=(p=e)[_]||(p[_]={}))[p.uniqueID]||(f[p.uniqueID]={}))[t]||[])[0]===x&&c[1]),!1===b)for(;(p=++d&&p&&p[v]||(b=d=0)||h.pop())&&((a?p.nodeName.toLowerCase()!==g:1!==p.nodeType)||!++b||(y&&((u=(f=p[_]||(p[_]={}))[p.uniqueID]||(f[p.uniqueID]={}))[t]=[x,b]),p!==e)););return(b-=r)===i||b%i==0&&b/i>=0}}},PSEUDO:function(t,e){var n,r=i.pseudos[t]||i.setFilters[t.toLowerCase()]||ot.error("unsupported pseudo: "+t);return r[_]?r(e):r.length>1?(n=[t,t,"",e],i.setFilters.hasOwnProperty(t.toLowerCase())?at(function(t,n){for(var i,o=r(t,e),s=o.length;s--;)t[i=D(t,o[s])]=!(n[i]=o[s])}):function(t){return r(t,0,n)}):r}},pseudos:{not:at(function(t){var e=[],n=[],i=a(t.replace(H,"$1"));return i[_]?at(function(t,e,n,r){for(var o,s=i(t,null,r,[]),a=t.length;a--;)(o=s[a])&&(t[a]=!(e[a]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:at(function(t){return function(e){return ot(t,e).length>0}}),contains:at(function(t){return t=t.replace(Z,tt),function(e){return(e.textContent||e.innerText||r(e)).indexOf(t)>-1}}),lang:at(function(t){return V.test(t||"")||ot.error("unsupported lang: "+t),t=t.replace(Z,tt).toLowerCase(),function(e){var n;do{if(n=v?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(n=n.toLowerCase())===t||0===n.indexOf(t+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===h},focus:function(t){return t===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:dt(!1),disabled:dt(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!i.pseudos.empty(t)},header:function(t){return X.test(t.nodeName)},input:function(t){return K.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:ht(function(){return[0]}),last:ht(function(t,e){return[e-1]}),eq:ht(function(t,e,n){return[n<0?n+e:n]}),even:ht(function(t,e){for(var n=0;n=0;)t.push(i);return t}),gt:ht(function(t,e,n){for(var i=n<0?n+e:n;++i1?function(e,n,i){for(var r=t.length;r--;)if(!t[r](e,n,i))return!1;return!0}:t[0]}function _t(t,e,n,i,r){for(var o,s=[],a=0,l=t.length,c=null!=e;a-1&&(o[c]=!(s[c]=f))}}else g=_t(g===s?g.splice(h,g.length):g),r?r(null,s,g,l):N.apply(s,g)})}function xt(t){for(var e,n,r,o=t.length,s=i.relative[t[0].type],a=s||i.relative[" "],l=s?1:0,u=yt(function(t){return t===e},a,!0),f=yt(function(t){return D(e,t)>-1},a,!0),p=[function(t,n,i){var r=!s&&(i||n!==c)||((e=n).nodeType?u(t,n,i):f(t,n,i));return e=null,r}];l1&&bt(p),l>1&>(t.slice(0,l-1).concat({value:" "===t[l-2].type?"*":""})).replace(H,"$1"),n,l0,r=t.length>0,o=function(o,s,a,l,u){var f,h,m,g=0,y="0",b=o&&[],_=[],w=c,C=o||r&&i.find.TAG("*",u),S=x+=null==w?1:Math.random()||.1,k=C.length;for(u&&(c=s===d||s||u);y!==k&&null!=(f=C[y]);y++){if(r&&f){for(h=0,s||f.ownerDocument===d||(p(f),a=!v);m=t[h++];)if(m(f,s||d,a)){l.push(f);break}u&&(x=S)}n&&((f=!m&&f)&&g--,o&&b.push(f))}if(g+=y,n&&y!==g){for(h=0;m=e[h++];)m(b,_,s,a);if(o){if(g>0)for(;y--;)b[y]||_[y]||(_[y]=A.call(l));_=_t(_)}N.apply(l,_),u&&!o&&_.length>0&&g+e.length>1&&ot.uniqueSort(l)}return u&&(x=S,c=w),b};return n?at(o):o}(o,r))).selector=t}return a},l=ot.select=function(t,e,n,r){var o,l,c,u,f,p="function"==typeof t&&t,d=!r&&s(t=p.selector||t);if(n=n||[],1===d.length){if((l=d[0]=d[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===e.nodeType&&v&&i.relative[l[1].type]){if(!(e=(i.find.ID(c.matches[0].replace(Z,tt),e)||[])[0]))return n;p&&(e=e.parentNode),t=t.slice(l.shift().value.length)}for(o=G.needsContext.test(t)?0:l.length;o--&&(c=l[o],!i.relative[u=c.type]);)if((f=i.find[u])&&(r=f(c.matches[0].replace(Z,tt),Q.test(l[0].type)&&vt(e.parentNode)||e))){if(l.splice(o,1),!(t=r.length&>(l)))return N.apply(n,r),n;break}}return(p||a(t,d))(r,e,!v,n,!e||Q.test(t)&&vt(e.parentNode)||e),n},n.sortStable=_.split("").sort(E).join("")===_,n.detectDuplicates=!!f,p(),n.sortDetached=lt(function(t){return 1&t.compareDocumentPosition(d.createElement("fieldset"))}),lt(function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")})||ct("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),n.attributes&<(function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||ct("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),lt(function(t){return null==t.getAttribute("disabled")})||ct(R,function(t,e,n){var i;if(!n)return!0===t[e]?e.toLowerCase():(i=t.getAttributeNode(e))&&i.specified?i.value:null}),ot}(n);C.find=T,C.expr=T.selectors,C.expr[":"]=C.expr.pseudos,C.uniqueSort=C.unique=T.uniqueSort,C.text=T.getText,C.isXMLDoc=T.isXML,C.contains=T.contains,C.escapeSelector=T.escape;var E=function(t,e,n){for(var i=[],r=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(r&&C(t).is(n))break;i.push(t)}return i},$=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},O=C.expr.match.needsContext;function A(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var P=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(t,e,n){return y(e)?C.grep(t,function(t,i){return!!e.call(t,i,t)!==n}):e.nodeType?C.grep(t,function(t){return t===e!==n}):"string"!=typeof e?C.grep(t,function(t){return f.call(e,t)>-1!==n}):C.filter(e,t,n)}C.filter=function(t,e,n){var i=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===i.nodeType?C.find.matchesSelector(i,t)?[i]:[]:C.find.matches(t,C.grep(e,function(t){return 1===t.nodeType}))},C.fn.extend({find:function(t){var e,n,i=this.length,r=this;if("string"!=typeof t)return this.pushStack(C(t).filter(function(){for(e=0;e1?C.uniqueSort(n):n},filter:function(t){return this.pushStack(N(this,t||[],!1))},not:function(t){return this.pushStack(N(this,t||[],!0))},is:function(t){return!!N(this,"string"==typeof t&&O.test(t)?C(t):t||[],!1).length}});var j,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(C.fn.init=function(t,e,n){var i,r;if(!t)return this;if(n=n||j,"string"==typeof t){if(!(i="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:D.exec(t))||!i[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(i[1]){if(e=e instanceof C?e[0]:e,C.merge(this,C.parseHTML(i[1],e&&e.nodeType?e.ownerDocument||e:s,!0)),P.test(i[1])&&C.isPlainObject(e))for(i in e)y(this[i])?this[i](e[i]):this.attr(i,e[i]);return this}return(r=s.getElementById(i[2]))&&(this[0]=r,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):y(t)?void 0!==n.ready?n.ready(t):t(C):C.makeArray(t,this)}).prototype=C.fn,j=C(s);var R=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};function M(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}C.fn.extend({has:function(t){var e=C(t,this),n=e.length;return this.filter(function(){for(var t=0;t-1:1===n.nodeType&&C.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?C.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?f.call(C(t),this[0]):f.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(C.uniqueSort(C.merge(this.get(),C(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),C.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return E(t,"parentNode")},parentsUntil:function(t,e,n){return E(t,"parentNode",n)},next:function(t){return M(t,"nextSibling")},prev:function(t){return M(t,"previousSibling")},nextAll:function(t){return E(t,"nextSibling")},prevAll:function(t){return E(t,"previousSibling")},nextUntil:function(t,e,n){return E(t,"nextSibling",n)},prevUntil:function(t,e,n){return E(t,"previousSibling",n)},siblings:function(t){return $((t.parentNode||{}).firstChild,t)},children:function(t){return $(t.firstChild)},contents:function(t){return A(t,"iframe")?t.contentDocument:(A(t,"template")&&(t=t.content||t),C.merge([],t.childNodes))}},function(t,e){C.fn[t]=function(n,i){var r=C.map(this,e,n);return"Until"!==t.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=C.filter(i,r)),this.length>1&&(I[t]||C.uniqueSort(r),R.test(t)&&r.reverse()),this.pushStack(r)}});var L=/[^\x20\t\r\n\f]+/g;function B(t){return t}function F(t){throw t}function H(t,e,n,i){var r;try{t&&y(r=t.promise)?r.call(t).done(e).fail(n):t&&y(r=t.then)?r.call(t,e,n):e.apply(void 0,[t].slice(i))}catch(t){n.apply(void 0,[t])}}C.Callbacks=function(t){t="string"==typeof t?function(t){var e={};return C.each(t.match(L)||[],function(t,n){e[n]=!0}),e}(t):C.extend({},t);var e,n,i,r,o=[],s=[],a=-1,l=function(){for(r=r||t.once,i=e=!0;s.length;a=-1)for(n=s.shift();++a-1;)o.splice(n,1),n<=a&&a--}),this},has:function(t){return t?C.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return r=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return r=s=[],n||e||(o=n=""),this},locked:function(){return!!r},fireWith:function(t,n){return r||(n=[t,(n=n||[]).slice?n.slice():n],s.push(n),e||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!i}};return c},C.extend({Deferred:function(t){var e=[["notify","progress",C.Callbacks("memory"),C.Callbacks("memory"),2],["resolve","done",C.Callbacks("once memory"),C.Callbacks("once memory"),0,"resolved"],["reject","fail",C.Callbacks("once memory"),C.Callbacks("once memory"),1,"rejected"]],i="pending",r={state:function(){return i},always:function(){return o.done(arguments).fail(arguments),this},catch:function(t){return r.then(null,t)},pipe:function(){var t=arguments;return C.Deferred(function(n){C.each(e,function(e,i){var r=y(t[i[4]])&&t[i[4]];o[i[1]](function(){var t=r&&r.apply(this,arguments);t&&y(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[i[0]+"With"](this,r?[t]:arguments)})}),t=null}).promise()},then:function(t,i,r){var o=0;function s(t,e,i,r){return function(){var a=this,l=arguments,c=function(){var n,c;if(!(t=o&&(i!==F&&(a=void 0,l=[n]),e.rejectWith(a,l))}};t?u():(C.Deferred.getStackHook&&(u.stackTrace=C.Deferred.getStackHook()),n.setTimeout(u))}}return C.Deferred(function(n){e[0][3].add(s(0,n,y(r)?r:B,n.notifyWith)),e[1][3].add(s(0,n,y(t)?t:B)),e[2][3].add(s(0,n,y(i)?i:F))}).promise()},promise:function(t){return null!=t?C.extend(t,r):r}},o={};return C.each(e,function(t,n){var s=n[2],a=n[5];r[n[1]]=s.add,a&&s.add(function(){i=a},e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),s.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=s.fireWith}),r.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,i=Array(n),r=l.call(arguments),o=C.Deferred(),s=function(t){return function(n){i[t]=this,r[t]=arguments.length>1?l.call(arguments):n,--e||o.resolveWith(i,r)}};if(e<=1&&(H(t,o.done(s(n)).resolve,o.reject,!e),"pending"===o.state()||y(r[n]&&r[n].then)))return o.then();for(;n--;)H(r[n],s(n),o.reject);return o.promise()}});var q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;C.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&q.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},C.readyException=function(t){n.setTimeout(function(){throw t})};var U=C.Deferred();function z(){s.removeEventListener("DOMContentLoaded",z),n.removeEventListener("load",z),C.ready()}C.fn.ready=function(t){return U.then(t).catch(function(t){C.readyException(t)}),this},C.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--C.readyWait:C.isReady)||(C.isReady=!0,!0!==t&&--C.readyWait>0||U.resolveWith(s,[C]))}}),C.ready.then=U.then,"complete"===s.readyState||"loading"!==s.readyState&&!s.documentElement.doScroll?n.setTimeout(C.ready):(s.addEventListener("DOMContentLoaded",z),n.addEventListener("load",z));var W=function(t,e,n,i,r,o,s){var a=0,l=t.length,c=null==n;if("object"===x(n))for(a in r=!0,n)W(t,e,a,n[a],!0,o,s);else if(void 0!==i&&(r=!0,y(i)||(s=!0),c&&(s?(e.call(t,i),e=null):(c=e,e=function(t,e,n){return c.call(C(t),n)})),e))for(;a1,null,!0)},removeData:function(t){return this.each(function(){Z.remove(this,t)})}}),C.extend({queue:function(t,e,n){var i;if(t)return e=(e||"fx")+"queue",i=Q.get(t,e),n&&(!i||Array.isArray(n)?i=Q.access(t,e,C.makeArray(n)):i.push(n)),i||[]},dequeue:function(t,e){e=e||"fx";var n=C.queue(t,e),i=n.length,r=n.shift(),o=C._queueHooks(t,e);"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===e&&n.unshift("inprogress"),delete o.stop,r.call(t,function(){C.dequeue(t,e)},o)),!i&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Q.get(t,n)||Q.access(t,n,{empty:C.Callbacks("once memory").add(function(){Q.remove(t,[e+"queue",n])})})}}),C.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]+)/i,ht=/^$|^module$|\/(?:java|ecma)script/i,vt={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function mt(t,e){var n;return n=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||"*"):void 0!==t.querySelectorAll?t.querySelectorAll(e||"*"):[],void 0===e||e&&A(t,e)?C.merge([t],n):n}function gt(t,e){for(var n=0,i=t.length;n-1)r&&r.push(o);else if(c=C.contains(o.ownerDocument,o),s=mt(f.appendChild(o),"script"),c&>(s),n)for(u=0;o=s[u++];)ht.test(o.type||"")&&n.push(o);return f}!function(){var t=s.createDocumentFragment().appendChild(s.createElement("div")),e=s.createElement("input");e.setAttribute("type","radio"),e.setAttribute("checked","checked"),e.setAttribute("name","t"),t.appendChild(e),g.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",g.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var _t=s.documentElement,wt=/^key/,xt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ct=/^([^.]*)(?:\.(.+)|)/;function St(){return!0}function kt(){return!1}function Tt(){try{return s.activeElement}catch(t){}}function Et(t,e,n,i,r,o){var s,a;if("object"==typeof e){for(a in"string"!=typeof n&&(i=i||n,n=void 0),e)Et(t,a,n,i,e[a],o);return t}if(null==i&&null==r?(r=n,i=n=void 0):null==r&&("string"==typeof n?(r=i,i=void 0):(r=i,i=n,n=void 0)),!1===r)r=kt;else if(!r)return t;return 1===o&&(s=r,(r=function(t){return C().off(t),s.apply(this,arguments)}).guid=s.guid||(s.guid=C.guid++)),t.each(function(){C.event.add(this,e,r,i,n)})}C.event={global:{},add:function(t,e,n,i,r){var o,s,a,l,c,u,f,p,d,h,v,m=Q.get(t);if(m)for(n.handler&&(n=(o=n).handler,r=o.selector),r&&C.find.matchesSelector(_t,r),n.guid||(n.guid=C.guid++),(l=m.events)||(l=m.events={}),(s=m.handle)||(s=m.handle=function(e){return void 0!==C&&C.event.triggered!==e.type?C.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(L)||[""]).length;c--;)d=v=(a=Ct.exec(e[c])||[])[1],h=(a[2]||"").split(".").sort(),d&&(f=C.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,f=C.event.special[d]||{},u=C.extend({type:d,origType:v,data:i,handler:n,guid:n.guid,selector:r,needsContext:r&&C.expr.match.needsContext.test(r),namespace:h.join(".")},o),(p=l[d])||((p=l[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,i,h,s)||t.addEventListener&&t.addEventListener(d,s)),f.add&&(f.add.call(t,u),u.handler.guid||(u.handler.guid=n.guid)),r?p.splice(p.delegateCount++,0,u):p.push(u),C.event.global[d]=!0)},remove:function(t,e,n,i,r){var o,s,a,l,c,u,f,p,d,h,v,m=Q.hasData(t)&&Q.get(t);if(m&&(l=m.events)){for(c=(e=(e||"").match(L)||[""]).length;c--;)if(d=v=(a=Ct.exec(e[c])||[])[1],h=(a[2]||"").split(".").sort(),d){for(f=C.event.special[d]||{},p=l[d=(i?f.delegateType:f.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;o--;)u=p[o],!r&&v!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||i&&i!==u.selector&&("**"!==i||!u.selector)||(p.splice(o,1),u.selector&&p.delegateCount--,f.remove&&f.remove.call(t,u));s&&!p.length&&(f.teardown&&!1!==f.teardown.call(t,h,m.handle)||C.removeEvent(t,d,m.handle),delete l[d])}else for(d in l)C.event.remove(t,d+e[c],n,i,!0);C.isEmptyObject(l)&&Q.remove(t,"handle events")}},dispatch:function(t){var e,n,i,r,o,s,a=C.event.fix(t),l=new Array(arguments.length),c=(Q.get(this,"events")||{})[a.type]||[],u=C.event.special[a.type]||{};for(l[0]=a,e=1;e=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==t.type||!0!==c.disabled)){for(o=[],s={},n=0;n-1:C.find(r,this,null,[c]).length),s[r]&&o.push(i);o.length&&a.push({elem:c,handlers:o})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,Ot=/\s*$/g;function Nt(t,e){return A(t,"table")&&A(11!==e.nodeType?e:e.firstChild,"tr")&&C(t).children("tbody")[0]||t}function jt(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function Dt(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function Rt(t,e){var n,i,r,o,s,a,l,c;if(1===e.nodeType){if(Q.hasData(t)&&(o=Q.access(t),s=Q.set(e,o),c=o.events))for(r in delete s.handle,s.events={},c)for(n=0,i=c[r].length;n1&&"string"==typeof h&&!g.checkClone&&At.test(h))return t.each(function(r){var o=t.eq(r);v&&(e[0]=h.call(this,r,o.html())),Mt(o,e,n,i)});if(p&&(o=(r=bt(e,t[0].ownerDocument,!1,t,i)).firstChild,1===r.childNodes.length&&(r=o),o||i)){for(a=(s=C.map(mt(r,"script"),jt)).length;f")},clone:function(t,e,n){var i,r,o,s,a=t.cloneNode(!0),l=C.contains(t.ownerDocument,t);if(!(g.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||C.isXMLDoc(t)))for(s=mt(a),i=0,r=(o=mt(t)).length;i0&>(s,!l&&mt(t,"script")),a},cleanData:function(t){for(var e,n,i,r=C.event.special,o=0;void 0!==(n=t[o]);o++)if(J(n)){if(e=n[Q.expando]){if(e.events)for(i in e.events)r[i]?C.event.remove(n,i):C.removeEvent(n,i,e.handle);n[Q.expando]=void 0}n[Z.expando]&&(n[Z.expando]=void 0)}}}),C.fn.extend({detach:function(t){return Lt(this,t,!0)},remove:function(t){return Lt(this,t)},text:function(t){return W(this,function(t){return void 0===t?C.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return Mt(this,arguments,function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Nt(this,t).appendChild(t)})},prepend:function(){return Mt(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=Nt(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return Mt(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return Mt(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(C.cleanData(mt(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return C.clone(this,t,e)})},html:function(t){return W(this,function(t){var e=this[0]||{},n=0,i=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if("string"==typeof t&&!Ot.test(t)&&!vt[(dt.exec(t)||["",""])[1].toLowerCase()]){t=C.htmlPrefilter(t);try{for(;n=0&&(l+=Math.max(0,Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-o-l-a-.5))),l}function Zt(t,e,n){var i=Ft(t),r=qt(t,e,i),o="border-box"===C.css(t,"boxSizing",!1,i),s=o;if(Bt.test(r)){if(!n)return r;r="auto"}return s=s&&(g.boxSizingReliable()||r===t.style[e]),("auto"===r||!parseFloat(r)&&"inline"===C.css(t,"display",!1,i))&&(r=t["offset"+e[0].toUpperCase()+e.slice(1)],s=!0),(r=parseFloat(r)||0)+Qt(t,e,n||(o?"border":"content"),s,i,r)+"px"}function te(t,e,n,i,r){return new te.prototype.init(t,e,n,i,r)}C.extend({cssHooks:{opacity:{get:function(t,e){if(e){var n=qt(t,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,n,i){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var r,o,s,a=X(e),l=Wt.test(e),c=t.style;if(l||(e=Jt(a)),s=C.cssHooks[e]||C.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(r=s.get(t,!1,i))?r:c[e];"string"===(o=typeof n)&&(r=rt.exec(n))&&r[1]&&(n=lt(t,e,r),o="number"),null!=n&&n==n&&("number"===o&&(n+=r&&r[3]||(C.cssNumber[a]?"":"px")),g.clearCloneStyle||""!==n||0!==e.indexOf("background")||(c[e]="inherit"),s&&"set"in s&&void 0===(n=s.set(t,n,i))||(l?c.setProperty(e,n):c[e]=n))}},css:function(t,e,n,i){var r,o,s,a=X(e);return Wt.test(e)||(e=Jt(a)),(s=C.cssHooks[e]||C.cssHooks[a])&&"get"in s&&(r=s.get(t,!0,n)),void 0===r&&(r=qt(t,e,i)),"normal"===r&&e in Gt&&(r=Gt[e]),""===n||n?(o=parseFloat(r),!0===n||isFinite(o)?o||0:r):r}}),C.each(["height","width"],function(t,e){C.cssHooks[e]={get:function(t,n,i){if(n)return!zt.test(C.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?Zt(t,e,i):at(t,Vt,function(){return Zt(t,e,i)})},set:function(t,n,i){var r,o=Ft(t),s="border-box"===C.css(t,"boxSizing",!1,o),a=i&&Qt(t,e,i,s,o);return s&&g.scrollboxSize()===o.position&&(a-=Math.ceil(t["offset"+e[0].toUpperCase()+e.slice(1)]-parseFloat(o[e])-Qt(t,e,"border",!1,o)-.5)),a&&(r=rt.exec(n))&&"px"!==(r[3]||"px")&&(t.style[e]=n,n=C.css(t,e)),Yt(0,n,a)}}}),C.cssHooks.marginLeft=Ut(g.reliableMarginLeft,function(t,e){if(e)return(parseFloat(qt(t,"marginLeft"))||t.getBoundingClientRect().left-at(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+"px"}),C.each({margin:"",padding:"",border:"Width"},function(t,e){C.cssHooks[t+e]={expand:function(n){for(var i=0,r={},o="string"==typeof n?n.split(" "):[n];i<4;i++)r[t+ot[i]+e]=o[i]||o[i-2]||o[0];return r}},"margin"!==t&&(C.cssHooks[t+e].set=Yt)}),C.fn.extend({css:function(t,e){return W(this,function(t,e,n){var i,r,o={},s=0;if(Array.isArray(e)){for(i=Ft(t),r=e.length;s1)}}),C.Tween=te,te.prototype={constructor:te,init:function(t,e,n,i,r,o){this.elem=t,this.prop=n,this.easing=r||C.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=i,this.unit=o||(C.cssNumber[n]?"":"px")},cur:function(){var t=te.propHooks[this.prop];return t&&t.get?t.get(this):te.propHooks._default.get(this)},run:function(t){var e,n=te.propHooks[this.prop];return this.options.duration?this.pos=e=C.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):te.propHooks._default.set(this),this}},te.prototype.init.prototype=te.prototype,te.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=C.css(t.elem,t.prop,""))&&"auto"!==e?e:0},set:function(t){C.fx.step[t.prop]?C.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[C.cssProps[t.prop]]&&!C.cssHooks[t.prop]?t.elem[t.prop]=t.now:C.style(t.elem,t.prop,t.now+t.unit)}}},te.propHooks.scrollTop=te.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},C.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},C.fx=te.prototype.init,C.fx.step={};var ee,ne,ie=/^(?:toggle|show|hide)$/,re=/queueHooks$/;function oe(){ne&&(!1===s.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(oe):n.setTimeout(oe,C.fx.interval),C.fx.tick())}function se(){return n.setTimeout(function(){ee=void 0}),ee=Date.now()}function ae(t,e){var n,i=0,r={height:t};for(e=e?1:0;i<4;i+=2-e)r["margin"+(n=ot[i])]=r["padding"+n]=t;return e&&(r.opacity=r.width=t),r}function le(t,e,n){for(var i,r=(ce.tweeners[e]||[]).concat(ce.tweeners["*"]),o=0,s=r.length;o1)},removeAttr:function(t){return this.each(function(){C.removeAttr(this,t)})}}),C.extend({attr:function(t,e,n){var i,r,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===t.getAttribute?C.prop(t,e,n):(1===o&&C.isXMLDoc(t)||(r=C.attrHooks[e.toLowerCase()]||(C.expr.match.bool.test(e)?ue:void 0)),void 0!==n?null===n?void C.removeAttr(t,e):r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:(t.setAttribute(e,n+""),n):r&&"get"in r&&null!==(i=r.get(t,e))?i:null==(i=C.find.attr(t,e))?void 0:i)},attrHooks:{type:{set:function(t,e){if(!g.radioValue&&"radio"===e&&A(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,i=0,r=e&&e.match(L);if(r&&1===t.nodeType)for(;n=r[i++];)t.removeAttribute(n)}}),ue={set:function(t,e,n){return!1===e?C.removeAttr(t,n):t.setAttribute(n,n),n}},C.each(C.expr.match.bool.source.match(/\w+/g),function(t,e){var n=fe[e]||C.find.attr;fe[e]=function(t,e,i){var r,o,s=e.toLowerCase();return i||(o=fe[s],fe[s]=r,r=null!=n(t,e,i)?s:null,fe[s]=o),r}});var pe=/^(?:input|select|textarea|button)$/i,de=/^(?:a|area)$/i;function he(t){return(t.match(L)||[]).join(" ")}function ve(t){return t.getAttribute&&t.getAttribute("class")||""}function me(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(L)||[]}C.fn.extend({prop:function(t,e){return W(this,C.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[C.propFix[t]||t]})}}),C.extend({prop:function(t,e,n){var i,r,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&C.isXMLDoc(t)||(e=C.propFix[e]||e,r=C.propHooks[e]),void 0!==n?r&&"set"in r&&void 0!==(i=r.set(t,n,e))?i:t[e]=n:r&&"get"in r&&null!==(i=r.get(t,e))?i:t[e]},propHooks:{tabIndex:{get:function(t){var e=C.find.attr(t,"tabindex");return e?parseInt(e,10):pe.test(t.nodeName)||de.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(C.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),C.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){C.propFix[this.toLowerCase()]=this}),C.fn.extend({addClass:function(t){var e,n,i,r,o,s,a,l=0;if(y(t))return this.each(function(e){C(this).addClass(t.call(this,e,ve(this)))});if((e=me(t)).length)for(;n=this[l++];)if(r=ve(n),i=1===n.nodeType&&" "+he(r)+" "){for(s=0;o=e[s++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");r!==(a=he(i))&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,i,r,o,s,a,l=0;if(y(t))return this.each(function(e){C(this).removeClass(t.call(this,e,ve(this)))});if(!arguments.length)return this.attr("class","");if((e=me(t)).length)for(;n=this[l++];)if(r=ve(n),i=1===n.nodeType&&" "+he(r)+" "){for(s=0;o=e[s++];)for(;i.indexOf(" "+o+" ")>-1;)i=i.replace(" "+o+" "," ");r!==(a=he(i))&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t,i="string"===n||Array.isArray(t);return"boolean"==typeof e&&i?e?this.addClass(t):this.removeClass(t):y(t)?this.each(function(n){C(this).toggleClass(t.call(this,n,ve(this),e),e)}):this.each(function(){var e,r,o,s;if(i)for(r=0,o=C(this),s=me(t);e=s[r++];)o.hasClass(e)?o.removeClass(e):o.addClass(e);else void 0!==t&&"boolean"!==n||((e=ve(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===t?"":Q.get(this,"__className__")||""))})},hasClass:function(t){var e,n,i=0;for(e=" "+t+" ";n=this[i++];)if(1===n.nodeType&&(" "+he(ve(n))+" ").indexOf(e)>-1)return!0;return!1}});var ge=/\r/g;C.fn.extend({val:function(t){var e,n,i,r=this[0];return arguments.length?(i=y(t),this.each(function(n){var r;1===this.nodeType&&(null==(r=i?t.call(this,n,C(this).val()):t)?r="":"number"==typeof r?r+="":Array.isArray(r)&&(r=C.map(r,function(t){return null==t?"":t+""})),(e=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,r,"value")||(this.value=r))})):r?(e=C.valHooks[r.type]||C.valHooks[r.nodeName.toLowerCase()])&&"get"in e&&void 0!==(n=e.get(r,"value"))?n:"string"==typeof(n=r.value)?n.replace(ge,""):null==n?"":n:void 0}}),C.extend({valHooks:{option:{get:function(t){var e=C.find.attr(t,"value");return null!=e?e:he(C.text(t))}},select:{get:function(t){var e,n,i,r=t.options,o=t.selectedIndex,s="select-one"===t.type,a=s?null:[],l=s?o+1:r.length;for(i=o<0?l:s?o:0;i-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),C.each(["radio","checkbox"],function(){C.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=C.inArray(C(t).val(),e)>-1}},g.checkOn||(C.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),g.focusin="onfocusin"in n;var ye=/^(?:focusinfocus|focusoutblur)$/,be=function(t){t.stopPropagation()};C.extend(C.event,{trigger:function(t,e,i,r){var o,a,l,c,u,f,p,d,v=[i||s],m=h.call(t,"type")?t.type:t,g=h.call(t,"namespace")?t.namespace.split("."):[];if(a=d=l=i=i||s,3!==i.nodeType&&8!==i.nodeType&&!ye.test(m+C.event.triggered)&&(m.indexOf(".")>-1&&(m=(g=m.split(".")).shift(),g.sort()),u=m.indexOf(":")<0&&"on"+m,(t=t[C.expando]?t:new C.Event(m,"object"==typeof t&&t)).isTrigger=r?2:3,t.namespace=g.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),e=null==e?[t]:C.makeArray(e,[t]),p=C.event.special[m]||{},r||!p.trigger||!1!==p.trigger.apply(i,e))){if(!r&&!p.noBubble&&!b(i)){for(c=p.delegateType||m,ye.test(c+m)||(a=a.parentNode);a;a=a.parentNode)v.push(a),l=a;l===(i.ownerDocument||s)&&v.push(l.defaultView||l.parentWindow||n)}for(o=0;(a=v[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?c:p.bindType||m,(f=(Q.get(a,"events")||{})[t.type]&&Q.get(a,"handle"))&&f.apply(a,e),(f=u&&a[u])&&f.apply&&J(a)&&(t.result=f.apply(a,e),!1===t.result&&t.preventDefault());return t.type=m,r||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(v.pop(),e)||!J(i)||u&&y(i[m])&&!b(i)&&((l=i[u])&&(i[u]=null),C.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,be),i[m](),t.isPropagationStopped()&&d.removeEventListener(m,be),C.event.triggered=void 0,l&&(i[u]=l)),t.result}},simulate:function(t,e,n){var i=C.extend(new C.Event,n,{type:t,isSimulated:!0});C.event.trigger(i,null,e)}}),C.fn.extend({trigger:function(t,e){return this.each(function(){C.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return C.event.trigger(t,e,n,!0)}}),g.focusin||C.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){C.event.simulate(e,t.target,C.event.fix(t))};C.event.special[e]={setup:function(){var i=this.ownerDocument||this,r=Q.access(i,e);r||i.addEventListener(t,n,!0),Q.access(i,e,(r||0)+1)},teardown:function(){var i=this.ownerDocument||this,r=Q.access(i,e)-1;r?Q.access(i,e,r):(i.removeEventListener(t,n,!0),Q.remove(i,e))}}});var _e=n.location,we=Date.now(),xe=/\?/;C.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||C.error("Invalid XML: "+t),e};var Ce=/\[\]$/,Se=/\r?\n/g,ke=/^(?:submit|button|image|reset|file)$/i,Te=/^(?:input|select|textarea|keygen)/i;function Ee(t,e,n,i){var r;if(Array.isArray(e))C.each(e,function(e,r){n||Ce.test(t)?i(t,r):Ee(t+"["+("object"==typeof r&&null!=r?e:"")+"]",r,n,i)});else if(n||"object"!==x(e))i(t,e);else for(r in e)Ee(t+"["+r+"]",e[r],n,i)}C.param=function(t,e){var n,i=[],r=function(t,e){var n=y(e)?e():e;i[i.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(t)||t.jquery&&!C.isPlainObject(t))C.each(t,function(){r(this.name,this.value)});else for(n in t)Ee(n,t[n],e,r);return i.join("&")},C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=C.prop(this,"elements");return t?C.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!C(this).is(":disabled")&&Te.test(this.nodeName)&&!ke.test(t)&&(this.checked||!pt.test(t))}).map(function(t,e){var n=C(this).val();return null==n?null:Array.isArray(n)?C.map(n,function(t){return{name:e.name,value:t.replace(Se,"\r\n")}}):{name:e.name,value:n.replace(Se,"\r\n")}}).get()}});var $e=/%20/g,Oe=/#.*$/,Ae=/([?&])_=[^&]*/,Pe=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ne=/^(?:GET|HEAD)$/,je=/^\/\//,De={},Re={},Ie="*/".concat("*"),Me=s.createElement("a");function Le(t){return function(e,n){"string"!=typeof e&&(n=e,e="*");var i,r=0,o=e.toLowerCase().match(L)||[];if(y(n))for(;i=o[r++];)"+"===i[0]?(i=i.slice(1)||"*",(t[i]=t[i]||[]).unshift(n)):(t[i]=t[i]||[]).push(n)}}function Be(t,e,n,i){var r={},o=t===Re;function s(a){var l;return r[a]=!0,C.each(t[a]||[],function(t,a){var c=a(e,n,i);return"string"!=typeof c||o||r[c]?o?!(l=c):void 0:(e.dataTypes.unshift(c),s(c),!1)}),l}return s(e.dataTypes[0])||!r["*"]&&s("*")}function Fe(t,e){var n,i,r=C.ajaxSettings.flatOptions||{};for(n in e)void 0!==e[n]&&((r[n]?t:i||(i={}))[n]=e[n]);return i&&C.extend(!0,t,i),t}Me.href=_e.href,C.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:_e.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(_e.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ie,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":C.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?Fe(Fe(t,C.ajaxSettings),e):Fe(C.ajaxSettings,t)},ajaxPrefilter:Le(De),ajaxTransport:Le(Re),ajax:function(t,e){"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,r,o,a,l,c,u,f,p,d,h=C.ajaxSetup({},e),v=h.context||h,m=h.context&&(v.nodeType||v.jquery)?C(v):C.event,g=C.Deferred(),y=C.Callbacks("once memory"),b=h.statusCode||{},_={},w={},x="canceled",S={readyState:0,getResponseHeader:function(t){var e;if(u){if(!a)for(a={};e=Pe.exec(o);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return u?o:null},setRequestHeader:function(t,e){return null==u&&(t=w[t.toLowerCase()]=w[t.toLowerCase()]||t,_[t]=e),this},overrideMimeType:function(t){return null==u&&(h.mimeType=t),this},statusCode:function(t){var e;if(t)if(u)S.always(t[S.status]);else for(e in t)b[e]=[b[e],t[e]];return this},abort:function(t){var e=t||x;return i&&i.abort(e),k(0,e),this}};if(g.promise(S),h.url=((t||h.url||_e.href)+"").replace(je,_e.protocol+"//"),h.type=e.method||e.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(L)||[""],null==h.crossDomain){c=s.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Me.protocol+"//"+Me.host!=c.protocol+"//"+c.host}catch(t){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=C.param(h.data,h.traditional)),Be(De,h,e,S),u)return S;for(p in(f=C.event&&h.global)&&0==C.active++&&C.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Ne.test(h.type),r=h.url.replace(Oe,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace($e,"+")):(d=h.url.slice(r.length),h.data&&(h.processData||"string"==typeof h.data)&&(r+=(xe.test(r)?"&":"?")+h.data,delete h.data),!1===h.cache&&(r=r.replace(Ae,"$1"),d=(xe.test(r)?"&":"?")+"_="+we+++d),h.url=r+d),h.ifModified&&(C.lastModified[r]&&S.setRequestHeader("If-Modified-Since",C.lastModified[r]),C.etag[r]&&S.setRequestHeader("If-None-Match",C.etag[r])),(h.data&&h.hasContent&&!1!==h.contentType||e.contentType)&&S.setRequestHeader("Content-Type",h.contentType),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Ie+"; q=0.01":""):h.accepts["*"]),h.headers)S.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(v,S,h)||u))return S.abort();if(x="abort",y.add(h.complete),S.done(h.success),S.fail(h.error),i=Be(Re,h,e,S)){if(S.readyState=1,f&&m.trigger("ajaxSend",[S,h]),u)return S;h.async&&h.timeout>0&&(l=n.setTimeout(function(){S.abort("timeout")},h.timeout));try{u=!1,i.send(_,k)}catch(t){if(u)throw t;k(-1,t)}}else k(-1,"No Transport");function k(t,e,s,a){var c,p,d,_,w,x=e;u||(u=!0,l&&n.clearTimeout(l),i=void 0,o=a||"",S.readyState=t>0?4:0,c=t>=200&&t<300||304===t,s&&(_=function(t,e,n){for(var i,r,o,s,a=t.contents,l=t.dataTypes;"*"===l[0];)l.shift(),void 0===i&&(i=t.mimeType||e.getResponseHeader("Content-Type"));if(i)for(r in a)if(a[r]&&a[r].test(i)){l.unshift(r);break}if(l[0]in n)o=l[0];else{for(r in n){if(!l[0]||t.converters[r+" "+l[0]]){o=r;break}s||(s=r)}o=o||s}if(o)return o!==l[0]&&l.unshift(o),n[o]}(h,S,s)),_=function(t,e,n,i){var r,o,s,a,l,c={},u=t.dataTypes.slice();if(u[1])for(s in t.converters)c[s.toLowerCase()]=t.converters[s];for(o=u.shift();o;)if(t.responseFields[o]&&(n[t.responseFields[o]]=e),!l&&i&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),l=o,o=u.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(s=c[l+" "+o]||c["* "+o]))for(r in c)if((a=r.split(" "))[1]===o&&(s=c[l+" "+a[0]]||c["* "+a[0]])){!0===s?s=c[r]:!0!==c[r]&&(o=a[0],u.unshift(a[1]));break}if(!0!==s)if(s&&t.throws)e=s(e);else try{e=s(e)}catch(t){return{state:"parsererror",error:s?t:"No conversion from "+l+" to "+o}}}return{state:"success",data:e}}(h,_,S,c),c?(h.ifModified&&((w=S.getResponseHeader("Last-Modified"))&&(C.lastModified[r]=w),(w=S.getResponseHeader("etag"))&&(C.etag[r]=w)),204===t||"HEAD"===h.type?x="nocontent":304===t?x="notmodified":(x=_.state,p=_.data,c=!(d=_.error))):(d=x,!t&&x||(x="error",t<0&&(t=0))),S.status=t,S.statusText=(e||x)+"",c?g.resolveWith(v,[p,x,S]):g.rejectWith(v,[S,x,d]),S.statusCode(b),b=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[S,h,c?p:d]),y.fireWith(v,[S,x]),f&&(m.trigger("ajaxComplete",[S,h]),--C.active||C.event.trigger("ajaxStop")))}return S},getJSON:function(t,e,n){return C.get(t,e,n,"json")},getScript:function(t,e){return C.get(t,void 0,e,"script")}}),C.each(["get","post"],function(t,e){C[e]=function(t,n,i,r){return y(n)&&(r=r||i,i=n,n=void 0),C.ajax(C.extend({url:t,type:e,dataType:r,data:n,success:i},C.isPlainObject(t)&&t))}}),C._evalUrl=function(t){return C.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},C.fn.extend({wrapAll:function(t){var e;return this[0]&&(y(t)&&(t=t.call(this[0])),e=C(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return y(t)?this.each(function(e){C(this).wrapInner(t.call(this,e))}):this.each(function(){var e=C(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=y(t);return this.each(function(n){C(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){C(this).replaceWith(this.childNodes)}),this}}),C.expr.pseudos.hidden=function(t){return!C.expr.pseudos.visible(t)},C.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},C.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var He={0:200,1223:204},qe=C.ajaxSettings.xhr();g.cors=!!qe&&"withCredentials"in qe,g.ajax=qe=!!qe,C.ajaxTransport(function(t){var e,i;if(g.cors||qe&&!t.crossDomain)return{send:function(r,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];for(s in t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest"),r)a.setRequestHeader(s,r[s]);e=function(t){return function(){e&&(e=i=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(He[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),i=a.onerror=a.ontimeout=e("error"),void 0!==a.onabort?a.onabort=i:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){e&&i()})},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),C.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),C.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return C.globalEval(t),t}}}),C.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),C.ajaxTransport("script",function(t){var e,n;if(t.crossDomain)return{send:function(i,r){e=C("\n\n","import { render, staticRenderFns } from \"./add-recommended.vue?vue&type=template&id=2e36e3d5&\"\nimport script from \"./add-recommended.vue?vue&type=script&lang=js&\"\nexport * from \"./add-recommended.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-recommended.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-recommended.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/newShow/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addnewshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add New Show\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option finds a show on your preferred indexer, creates a directory for it's episodes, and adds it to Medusa.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/existingShows/\", id: \"btnExistingShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addexistingshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add Existing Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Use this option to add shows that already have a folder created on your hard drive. Medusa will scan your existing metadata/episodes and add the show accordingly.\"\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./add-shows.vue?vue&type=template&id=6b540b82&\"\nimport script from \"./add-shows.vue?vue&type=script&lang=js&\"\nexport * from \"./add-shows.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-shows.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-shows.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"anidb-release-group-ui-wrapper top-10 max-width\" },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-4 left-whitelist\" }, [\n _c(\"span\", [_vm._v(\"Whitelist\")]),\n _vm.showDeleteFromWhitelist\n ? _c(\"img\", {\n staticClass: \"deleteFromWhitelist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"whitelist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsWhitelist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"whitelist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 center-available\" }, [\n _c(\"span\", [_vm._v(\"Release groups\")]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsReleaseGroups, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n staticClass: \"initial\",\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"releasegroups\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 right-blacklist\" }, [\n _c(\"span\", [_vm._v(\"Blacklist\")]),\n _vm.showDeleteFromBlacklist\n ? _c(\"img\", {\n staticClass: \"deleteFromBlacklist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"blacklist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsBlacklist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"blacklist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\", attrs: { id: \"add-new-release-group\" } },\n [\n _c(\"div\", { staticClass: \"col-md-4\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newGroup,\n expression: \"newGroup\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add custom group\" },\n domProps: { value: _vm.newGroup },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newGroup = $event.target.value\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _vm._m(0)\n ]\n )\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\"p\", [\n _vm._v(\n \"Use the input to add custom whitelist / blacklist release groups. Click on the \"\n ),\n _c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } }),\n _vm._v(\" to add it to the correct list.\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./anidb-release-group-ui.vue?vue&type=template&id=2f0b049c&scoped=true&\"\nimport script from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nexport * from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nimport style0 from \"./anidb-release-group-ui.vue?vue&type=style&index=0&id=2f0b049c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f0b049c\",\n null\n \n)\n\ncomponent.options.__file = \"anidb-release-group-ui.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav\",\n {\n staticClass: \"navbar navbar-default navbar-fixed-top hidden-print\",\n attrs: { role: \"navigation\" }\n },\n [\n _c(\"div\", { staticClass: \"container-fluid\" }, [\n _c(\n \"div\",\n { staticClass: \"navbar-header\" },\n [\n _c(\n \"button\",\n {\n staticClass: \"navbar-toggle collapsed\",\n attrs: {\n type: \"button\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#main_nav\"\n }\n },\n [\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"floating-badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Toggle navigation\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"navbar-brand\",\n attrs: { href: \"home/\", title: \"Medusa\" }\n },\n [\n _c(\"img\", {\n staticClass: \"img-responsive pull-left\",\n staticStyle: { height: \"50px\" },\n attrs: { alt: \"Medusa\", src: \"images/medusa.png\" }\n })\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isAuthenticated\n ? _c(\n \"div\",\n {\n staticClass: \"collapse navbar-collapse\",\n attrs: { id: \"main_nav\" }\n },\n [\n _c(\"ul\", { staticClass: \"nav navbar-nav navbar-right\" }, [\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"home\" },\n attrs: { id: \"NAVhome\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"home/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Shows\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"dropdown-menu\" },\n [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"home/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-home\" }),\n _vm._v(\" Show List\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"addShows/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Shows\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"addRecommended/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Recommended Shows\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/postprocess/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Manual Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.recentShows.length > 0\n ? [\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm._l(_vm.recentShows, function(recentShow) {\n return _c(\n \"li\",\n { key: recentShow.link },\n [\n _c(\n \"app-link\",\n { attrs: { href: recentShow.link } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-addshow\"\n }),\n _vm._v(\n \" \" +\n _vm._s(recentShow.name) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n })\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"schedule\" },\n attrs: { id: \"NAVschedule\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"schedule/\" } }, [\n _vm._v(\"Schedule\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"history\" },\n attrs: { id: \"NAVhistory\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"history/\" } }, [\n _vm._v(\"History\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"manage\" },\n attrs: { id: \"NAVmanage\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"manage/episodeStatuses/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Manage\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"manage/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-manage\" }),\n _vm._v(\" Mass Update\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/backlogOverview/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog-view\"\n }),\n _vm._v(\" Backlog Overview\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/manageSearches/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Manage Searches\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/episodeStatuses/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-manage2\" }),\n _vm._v(\" Episode Status Management\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.linkVisible.plex\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updatePLEX/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-plex\" }),\n _vm._v(\" Update PLEX\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.kodi\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateKODI/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-kodi\" }),\n _vm._v(\" Update KODI\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.emby\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateEMBY/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-emby\" }),\n _vm._v(\" Update Emby\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.manageTorrents\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"manage/manageTorrents/\",\n target: \"_blank\"\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-bittorrent\"\n }),\n _vm._v(\" Manage Torrents\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.failedDownloads\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/failedDownloads/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-failed-download\"\n }),\n _vm._v(\" Failed Downloads\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissed\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/subtitleMissed/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\" Missed Subtitle Management\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissedPP\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/subtitleMissedPP/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\n \" Missed Subtitle in Post-Process folder\"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"config\" },\n attrs: { id: \"NAVconfig\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"config/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Config\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18.png\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"config/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-help\" }),\n _vm._v(\" Help & Info\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/general/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-config\" }),\n _vm._v(\" General\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/backuprestore/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backup\" }),\n _vm._v(\" Backup & Restore\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/search/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Search Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-provider\" }),\n _vm._v(\" Search Providers\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/subtitles/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backlog\" }),\n _vm._v(\" Subtitles Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/postProcessing/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Post Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/notifications/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-notification\"\n }),\n _vm._v(\" Notifications\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/anime/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-anime\" }),\n _vm._v(\" Anime\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"system\" },\n attrs: { id: \"NAVsystem\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"padding-right-15 dropdown-toggle\",\n attrs: {\n href: \"home/status/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Tools\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18-2.png\" }\n }),\n _vm._v(\" \"),\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"news/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-news\" }),\n _vm._v(\" News \"),\n _vm.config.news.unread > 0\n ? _c(\"span\", { staticClass: \"badge\" }, [\n _vm._v(_vm._s(_vm.config.news.unread))\n ])\n : _vm._e()\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"IRC/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-irc\" }),\n _vm._v(\" IRC\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"changes/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-changelog\" }),\n _vm._v(\" Changelog\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: _vm.config.donationsUrl } },\n [\n _c(\"i\", { staticClass: \"menu-icon-support\" }),\n _vm._v(\" Support Medusa\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm.config.logs.numErrors > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-error\" }),\n _vm._v(\" View Errors \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-danger\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numErrors)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.logs.numWarnings > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"errorlogs/?level=\" + _vm.warningLevel\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-viewlog-errors\"\n }),\n _vm._v(\" View Warnings \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-warning\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numWarnings)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/viewlog/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-viewlog\" }),\n _vm._v(\" View Log\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/updateCheck?pid=\" + _vm.config.pid\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-update\" }),\n _vm._v(\" Check For Updates\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/restart/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"restart\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-restart\" }),\n _vm._v(\" Restart\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/shutdown/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"shutdown\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-shutdown\" }),\n _vm._v(\" Shutdown\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.username\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"logout\" },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"logout\")\n }\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-shutdown\"\n }),\n _vm._v(\" Logout\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/status/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-info\" }),\n _vm._v(\" Server Status\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-header.vue?vue&type=template&id=7c5d12e0&\"\nimport script from \"./app-header.vue?vue&type=script&lang=js&\"\nexport * from \"./app-header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-header.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-header.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.link\n ? _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n : _c(\"app-link\", { attrs: { href: _vm.href } }, [\n _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./asset.vue?vue&type=template&id=58fe1dea&\"\nimport script from \"./asset.vue?vue&type=script&lang=js&\"\nexport * from \"./asset.vue?vue&type=script&lang=js&\"\nimport style0 from \"./asset.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"asset.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./backstretch.vue?vue&type=template&id=630a2e1f&\"\nimport script from \"./backstretch.vue?vue&type=script&lang=js&\"\nexport * from \"./backstretch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./backstretch.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"backstretch.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"table\",\n {\n staticClass: \"infoTable\",\n attrs: {\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\",\n width: \"100%\"\n }\n },\n [\n _c(\"tr\", [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"\\n Branch:\\n \"),\n _vm.config.branch\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl + \"/tree/\" + _vm.config.branch\n }\n },\n [_vm._v(_vm._s(_vm.config.branch))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Commit:\\n \"),\n _vm.config.commitHash\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/commit/\" +\n _vm.config.commitHash\n }\n },\n [_vm._v(_vm._s(_vm.config.commitHash))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Version:\\n \"),\n _vm.config.release\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/releases/tag/\" +\n _vm.config.release\n }\n },\n [_vm._v(_vm._s(_vm.config.release))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Database:\\n \"),\n _vm.config.databaseVersion\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.config.databaseVersion.major) +\n \".\" +\n _vm._s(_vm.config.databaseVersion.minor)\n )\n ])\n : _c(\"span\", [_vm._v(\"Unknown\")])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(1),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.pythonVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(2),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.sslVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(3), _c(\"td\", [_vm._v(_vm._s(_vm.config.os))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(4), _c(\"td\", [_vm._v(_vm._s(_vm.config.locale))])]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(7), _c(\"td\", [_vm._v(_vm._s(_vm.config.localUser))])]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(8),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.programDir))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(9),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.configFile))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(10), _c(\"td\", [_vm._v(_vm._s(_vm.config.dbPath))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(11), _c(\"td\", [_vm._v(_vm._s(_vm.config.cacheDir))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(12), _c(\"td\", [_vm._v(_vm._s(_vm.config.logDir))])]),\n _vm._v(\" \"),\n _vm.config.appArgs\n ? _c(\"tr\", [\n _vm._m(13),\n _c(\"td\", [\n _c(\"pre\", [\n _vm._v(_vm._s(_vm._f(\"prettyPrintJSON\")(_vm.config.appArgs)))\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.webRoot\n ? _c(\"tr\", [\n _vm._m(14),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.webRoot))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(17),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.githubUrl } }, [\n _vm._v(_vm._s(_vm.config.githubUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.wikiUrl } }, [\n _vm._v(_vm._s(_vm.config.wikiUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.sourceUrl } }, [\n _vm._v(_vm._s(_vm.config.sourceUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"irc://irc.freenode.net/#pymedusa\" } },\n [\n _c(\"i\", [_vm._v(\"#pymedusa\")]),\n _vm._v(\" on \"),\n _c(\"i\", [_vm._v(\"irc.freenode.net\")])\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-application\" }),\n _vm._v(\" Medusa Info:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-python\" }),\n _vm._v(\" Python Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-ssl\" }),\n _vm._v(\" SSL Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-os\" }),\n _vm._v(\" OS:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-locale\" }),\n _vm._v(\" Locale:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-user\" }),\n _vm._v(\" User:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Program Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-config\" }),\n _vm._v(\" Config File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-db\" }),\n _vm._v(\" Database File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-cache\" }),\n _vm._v(\" Cache Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-log\" }),\n _vm._v(\" Log Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-arguments\" }),\n _vm._v(\" Arguments:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-folder\" }),\n _vm._v(\" Web Root:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-web\" }),\n _vm._v(\" Website:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-wiki\" }),\n _vm._v(\" Wiki:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-github\" }),\n _vm._v(\" Source:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-mirc\" }),\n _vm._v(\" IRC Chat:\")\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./config.vue?vue&type=template&id=25e028eb&\"\nimport script from \"./config.vue?vue&type=script&lang=js&\"\nexport * from \"./config.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n attrs: { id: \"configForm\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#post-processing\" } }, [\n _vm._v(\"Post Processing\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-naming\" } }, [\n _vm._v(\"Episode Naming\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#metadata\" } }, [\n _vm._v(\"Metadata\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"post-processing\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"process_automatically\",\n name: \"process_automatically\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.processAutomatically,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"processAutomatically\",\n $$v\n )\n },\n expression: \"postProcessing.processAutomatically\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.postProcessing.processAutomatically,\n expression: \"postProcessing.processAutomatically\"\n }\n ],\n attrs: { id: \"post-process-toggle-wrapper\" }\n },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"file-browser\", {\n attrs: {\n id: \"tv_download_dir\",\n name: \"tv_download_dir\",\n title: \"Select series download location\",\n \"initial-dir\":\n _vm.postProcessing.showDownloadDir\n },\n on: {\n update: function($event) {\n _vm.postProcessing.showDownloadDir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"clear-left\" }, [\n _vm._v(\n \"The folder where your download client puts the completed TV downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(5)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.processMethod,\n expression: \"postProcessing.processMethod\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"naming_multi_ep\",\n name: \"naming_multi_ep\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"processMethod\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.processMethods, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What method should be used to put files into the library?\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm.postProcessing.processMethod == \"reflink\"\n ? _c(\n \"p\",\n [\n _vm._v(\"To use reference linking, the \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.dereferer.org/?https://pypi.python.org/pypi/reflink/0.1.4\"\n }\n },\n [_vm._v(\"reflink package\")]\n ),\n _vm._v(\" needs to be installed.\")\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(8),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.postProcessing\n .autoPostprocessorFrequency,\n expression:\n \"postProcessing.autoPostprocessorFrequency\"\n }\n ],\n staticClass: \"form-control input-sm input75\",\n attrs: {\n type: \"number\",\n min: \"10\",\n step: \"1\",\n name: \"autopostprocessor_frequency\",\n id: \"autopostprocessor_frequency\"\n },\n domProps: {\n value:\n _vm.postProcessing.autoPostprocessorFrequency\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.postProcessing,\n \"autoPostprocessorFrequency\",\n $event.target.value\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Time in minutes to check for new files to auto post-process (min 10)\"\n )\n ])\n ])\n ])\n ]\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(9),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(10),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_sync_files\",\n name: \"postpone_if_sync_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfSyncFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfSyncFiles\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfSyncFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a folder if sync files are present.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(11),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"sync_files\",\n id: \"sync_files\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.syncFiles\n },\n on: {\n change: function($event) {\n _vm.postProcessing.syncFiles = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"comma seperated list of extensions or filename globs Medusa ignores when Post Processing\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(12),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_no_subs\",\n name: \"postpone_if_no_subs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfNoSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfNoSubs\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfNoSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a file until subtitles are present\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Language names are allowed in subtitle filename (en.srt, pt-br.srt, ita.srt, etc.)\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(13),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"If you have any active show with subtitle search disabled, you must enable Automatic post processor.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(14),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"rename_episodes\",\n name: \"rename_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.renameEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"renameEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.renameEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename episode using the Episode Naming settings?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(15),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"create_missing_show_dirs\",\n name: \"create_missing_show_dirs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.createMissingShowDirs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"createMissingShowDirs\",\n $$v\n )\n },\n expression: \"postProcessing.createMissingShowDirs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Create missing show directories when they get deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(16),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"add_shows_wo_dir\",\n name: \"add_shows_wo_dir\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.addShowsWithoutDir,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"addShowsWithoutDir\",\n $$v\n )\n },\n expression: \"postProcessing.addShowsWithoutDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add shows without creating a directory (not recommended)\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(17),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"move_associated_files\",\n name: \"move_associated_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.moveAssociatedFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"moveAssociatedFiles\",\n $$v\n )\n },\n expression: \"postProcessing.moveAssociatedFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete srt/srr/sfv/etc files while post processing?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"allowed_extensions\",\n id: \"allowed_extensions\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.allowedExtensions\n },\n on: {\n change: function($event) {\n _vm.postProcessing.allowedExtensions = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma seperated list of associated file extensions Medusa should keep while post processing.\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Leaving it empty means all associated files will be deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"nfo_rename\",\n name: \"nfo_rename\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.nfoRename,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"nfoRename\", $$v)\n },\n expression: \"postProcessing.nfoRename\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename the original .nfo file to .nfo-orig to avoid conflicts?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"airdate_episodes\",\n name: \"airdate_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.airdateEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"airdateEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.airdateEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Set last modified filedate to the date that the episode aired?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.fileTimestampTimezone,\n expression:\n \"postProcessing.fileTimestampTimezone\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"file_timestamp_timezone\",\n name: \"file_timestamp_timezone\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"fileTimestampTimezone\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timezoneOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What timezone should be used to change File Date?\"\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(22),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"unpack\",\n name: \"unpack\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.unpack,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"unpack\", $$v)\n },\n expression: \"postProcessing.unpack\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(23),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(24)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(25),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"del_rar_contents\",\n name: \"del_rar_contents\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.deleteRarContent,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"deleteRarContent\",\n $$v\n )\n },\n expression: \"postProcessing.deleteRarContent\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete content of RAR files, even if Process Method not set to move?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(26),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"no_delete\",\n name: \"no_delete\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.noDelete,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"noDelete\", $$v)\n },\n expression: \"postProcessing.noDelete\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Leave empty folders when Post Processing?\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(27)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(28),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"extra_scripts\",\n id: \"extra_scripts\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.extraScripts\n },\n on: {\n change: function($event) {\n _vm.postProcessing.extraScripts = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\"See \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wikie\",\n attrs: {\n href: _vm.postProcessing.extraScriptsUrl\n }\n },\n [_c(\"strong\", [_vm._v(\"Wiki\")])]\n ),\n _vm._v(\n \" for script arguments description and usage.\"\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-naming\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n \"naming-pattern\": _vm.postProcessing.naming.pattern,\n \"naming-presets\": _vm.presets,\n \"multi-ep-style\": _vm.postProcessing.naming.multiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNaming }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternSports,\n \"naming-presets\": _vm.presets,\n type: \"sports\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingSports }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAirByDate,\n \"naming-presets\": _vm.presets,\n type: \"airs by date\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAbd }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAnime,\n \"naming-presets\": _vm.presets,\n type: \"anime\",\n \"multi-ep-style\":\n _vm.postProcessing.naming.animeMultiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"anime-naming-type\":\n _vm.postProcessing.naming.animeNamingType,\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAnime }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group component-item\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"naming_strip_year\",\n name: \"naming_strip_year\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.naming.stripYear,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing.naming,\n \"stripYear\",\n $$v\n )\n },\n expression: \"postProcessing.naming.stripYear\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Remove the TV show's year when renaming the file?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to shows that have year inside parentheses\"\n )\n ])\n ],\n 1\n )\n ])\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"metadata\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.metadataProviderSelected,\n expression: \"metadataProviderSelected\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"metadataType\",\n name: \"metadataType\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.metadataProviderSelected = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.metadataProviders, function(option) {\n return _c(\n \"option\",\n {\n key: option.id,\n domProps: { value: option.id }\n },\n [_vm._v(_vm._s(option.name))]\n )\n })\n ),\n _vm._v(\" \"),\n _vm._m(33)\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.metadataProviders, function(provider) {\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n provider.id === _vm.metadataProviderSelected,\n expression:\n \"provider.id === metadataProviderSelected\"\n }\n ],\n key: provider.id,\n staticClass: \"metadataDiv\",\n attrs: { id: \"provider.id\" }\n },\n [\n _c(\n \"div\",\n { staticClass: \"metadata_options_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Create:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_options\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.showMetadata,\n expression: \"provider.showMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_show_metadata\"\n },\n domProps: {\n checked: Array.isArray(\n provider.showMetadata\n )\n ? _vm._i(\n provider.showMetadata,\n null\n ) > -1\n : provider.showMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.showMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"showMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Show Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeMetadata,\n expression:\n \"provider.episodeMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_episode_metadata\",\n disabled: provider.example.episodeMetadata.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeMetadata\n )\n ? _vm._i(\n provider.episodeMetadata,\n null\n ) > -1\n : provider.episodeMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.episodeMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.fanart,\n expression: \"provider.fanart\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_fanart\",\n disabled: provider.example.fanart.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.fanart\n )\n ? _vm._i(provider.fanart, null) > -1\n : provider.fanart\n },\n on: {\n change: function($event) {\n var $$a = provider.fanart,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"fanart\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Fanart\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.poster,\n expression: \"provider.poster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_poster\",\n disabled: provider.example.poster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.poster\n )\n ? _vm._i(provider.poster, null) > -1\n : provider.poster\n },\n on: {\n change: function($event) {\n var $$a = provider.poster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"poster\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.banner,\n expression: \"provider.banner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_banner\",\n disabled: provider.example.banner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.banner\n )\n ? _vm._i(provider.banner, null) > -1\n : provider.banner\n },\n on: {\n change: function($event) {\n var $$a = provider.banner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"banner\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Banner\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeThumbnails,\n expression:\n \"provider.episodeThumbnails\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_episode_thumbnails\",\n disabled: provider.example.episodeThumbnails.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeThumbnails\n )\n ? _vm._i(\n provider.episodeThumbnails,\n null\n ) > -1\n : provider.episodeThumbnails\n },\n on: {\n change: function($event) {\n var $$a =\n provider.episodeThumbnails,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Thumbnails\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonPosters,\n expression: \"provider.seasonPosters\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_posters\",\n disabled: provider.example.seasonPosters.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonPosters\n )\n ? _vm._i(\n provider.seasonPosters,\n null\n ) > -1\n : provider.seasonPosters\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonPosters,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Posters\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonBanners,\n expression: \"provider.seasonBanners\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_banners\",\n disabled: provider.example.seasonBanners.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonBanners\n )\n ? _vm._i(\n provider.seasonBanners,\n null\n ) > -1\n : provider.seasonBanners\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonBanners,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Banners\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllPoster,\n expression:\n \"provider.seasonAllPoster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_poster\",\n disabled: provider.example.seasonAllPoster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllPoster\n )\n ? _vm._i(\n provider.seasonAllPoster,\n null\n ) > -1\n : provider.seasonAllPoster\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllPoster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllBanner,\n expression:\n \"provider.seasonAllBanner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_banner\",\n disabled: provider.example.seasonAllBanner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllBanner\n )\n ? _vm._i(\n provider.seasonAllBanner,\n null\n ) > -1\n : provider.seasonAllBanner\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllBanner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Banner\")\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"metadata_example_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Results:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_example\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.showMetadata\n },\n attrs: {\n id:\n provider.id + \"_eg_show_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .showMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeMetadata\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.fanart },\n attrs: {\n id: provider.id + \"_eg_fanart\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.fanart +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.poster },\n attrs: {\n id: provider.id + \"_eg_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.poster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.banner },\n attrs: {\n id: provider.id + \"_eg_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.banner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeThumbnails\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_thumbnails\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeThumbnails +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonPosters\n },\n attrs: {\n id:\n provider.id + \"_eg_season_posters\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonPosters +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonBanners\n },\n attrs: {\n id:\n provider.id + \"_eg_season_banners\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonBanners +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllPoster\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllPoster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllBanner\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllBanner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n )\n ])\n ]\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n }),\n _c(\"br\")\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.config.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Scheduled Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Settings that dictate how Medusa should process completed downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The scheduled postprocessor will periodically scan a folder for media to process.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_automatically\" }\n },\n [_c(\"span\", [_vm._v(\"Scheduled Postprocessor\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Enable the scheduled post processor to scan and process any files in your \"\n ),\n _c(\"i\", [_vm._v(\"Post Processing Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Do not use if you use an external Post Processing script\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"tv_download_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Post Processing Dir\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Please use seperate downloading and completed folders in your download client if possible.\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_method\" }\n },\n [_c(\"span\", [_vm._v(\"Processing Method\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" If you keep seeding torrents after they finish, please avoid the 'move' processing method to prevent errors.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"autopostprocessor_frequency\" }\n },\n [_c(\"span\", [_vm._v(\"Auto Post-Processing Frequency\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Generic postprocessing settings that apply both to the scheduled postprocessor as external scripts\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_sync_files\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone post processing\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"sync_files\" } },\n [_c(\"span\", [_vm._v(\"Sync File Extensions\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_no_subs\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone if no subtitle\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Automatic post processor should be disabled to avoid files with pending subtitles being processed over and over.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"rename_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Rename Episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"create_missing_show_dirs\" }\n },\n [_c(\"span\", [_vm._v(\"Create missing show directories\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"add_shows_wo_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Add shows without directory\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"move_associated_files\" }\n },\n [_c(\"span\", [_vm._v(\"Delete associated files\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Keep associated file extensions\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"nfo_rename\" } },\n [_c(\"span\", [_vm._v(\"Rename .nfo file\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"airdate_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Change File Date\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"file_timestamp_timezone\" }\n },\n [_c(\"span\", [_vm._v(\"Timezone for File Date:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"unpack\" } },\n [_c(\"span\", [_vm._v(\"Unpack\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _vm._v(\"Unpack any TV releases in your \"),\n _c(\"i\", [_vm._v(\"TV Download Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Only working with RAR archive\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"del_rar_contents\" }\n },\n [_c(\"span\", [_vm._v(\"Delete RAR contents\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"no_delete\" } },\n [_c(\"span\", [_vm._v(\"Don't delete empty folders\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Can be overridden using manual Post Processing\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Extra Scripts\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Episode Naming\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How Medusa will name and sort your episodes.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_strip_year\" }\n },\n [_c(\"span\", [_vm._v(\"Strip Show Year\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Metadata\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"metadataType\" } },\n [_c(\"span\", [_vm._v(\"Metadata Type\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"d-block\" }, [\n _vm._v(\"Toggle the metadata options that you wish to be created. \"),\n _c(\"b\", [_vm._v(\"Multiple targets may be used.\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-post-processing.vue?vue&type=template&id=56ae3750&\"\nimport script from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nexport * from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-post-processing.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-post-processing.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n class: _vm.inputClass,\n attrs: { type: \"text\" },\n domProps: { value: _vm.localValue },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n }\n }\n },\n \"input\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox.vue?vue&type=template&id=a46a5978&\"\nimport script from \"./config-textbox.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-number-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n class: _vm.inputClass,\n attrs: { type: \"number\", name: _vm.id },\n domProps: { value: _vm.localValue }\n },\n \"input\",\n { min: _vm.min, step: _vm.step, id: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox-number.vue?vue&type=template&id=58eed65e&\"\nimport script from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox-number.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox-number.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-toggle-slider-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"toggle-button\",\n _vm._b(\n {\n attrs: { width: 45, height: 22, sync: \"\" },\n model: {\n value: _vm.localChecked,\n callback: function($$v) {\n _vm.localChecked = $$v\n },\n expression: \"localChecked\"\n }\n },\n \"toggle-button\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-toggle-slider.vue?vue&type=template&id=0697d59e&\"\nimport script from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-toggle-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-toggle-slider.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./display-show.vue?vue&type=script&lang=js&\"\nexport * from \"./display-show.vue?vue&type=script&lang=js&\"\nimport style0 from \"./display-show.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"display-show.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"home.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"iframe\", {\n staticClass: \"irc-frame loading-spinner\",\n attrs: { src: _vm.frameSrc }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./irc.vue?vue&type=template&id=60f89f30&scoped=true&\"\nimport script from \"./irc.vue?vue&type=script&lang=js&\"\nexport * from \"./irc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./irc.vue?vue&type=style&index=0&id=60f89f30&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60f89f30\",\n null\n \n)\n\ncomponent.options.__file = \"irc.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"select\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./language-select.vue?vue&type=template&id=6ec994bc&\"\nimport script from \"./language-select.vue?vue&type=script&lang=js&\"\nexport * from \"./language-select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./language-select.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"language-select.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"login\" }, [\n _c(\"form\", { attrs: { action: \"\", method: \"post\" } }, [\n _c(\"h1\", [_vm._v(\"Medusa\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"username\",\n type: \"text\",\n placeholder: \"Username\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"password\",\n type: \"password\",\n placeholder: \"Password\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\n \"label\",\n { staticClass: \"remember_me\", attrs: { title: \"for 30 days\" } },\n [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n id: \"remember_me\",\n name: \"remember_me\",\n type: \"checkbox\",\n value: \"1\",\n checked: \"checked\"\n }\n }),\n _vm._v(\" Remember me\")\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button\",\n attrs: { name: \"submit\", type: \"submit\", value: \"Login\" }\n })\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=013dd286&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nexport * from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nimport style0 from \"./manual-post-process.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manual-post-process.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"root-dirs-wrapper\" } }, [\n _c(\"div\", { staticClass: \"root-dirs-selectbox\" }, [\n _c(\n \"select\",\n _vm._g(\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedRootDir,\n expression: \"selectedRootDir\"\n }\n ],\n ref: \"rootDirs\",\n attrs: { name: \"rootDir\", id: \"rootDirs\", size: \"6\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedRootDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n \"select\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n _vm._l(_vm.rootDirs, function(curDir) {\n return _c(\n \"option\",\n { key: curDir.path, domProps: { value: curDir.path } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm._f(\"markDefault\")(curDir)) +\n \"\\n \"\n )\n ]\n )\n })\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"root-dirs-controls\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.add($event)\n }\n }\n },\n [_vm._v(\"New\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.edit($event)\n }\n }\n },\n [_vm._v(\"Edit\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.remove($event)\n }\n }\n },\n [_vm._v(\"Delete\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.setDefault($event)\n }\n }\n },\n [_vm._v(\"Set as Default *\")]\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./root-dirs.vue?vue&type=template&id=76f972d6&\"\nimport script from \"./root-dirs.vue?vue&type=script&lang=js&\"\nexport * from \"./root-dirs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./root-dirs.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"root-dirs.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"scroll-buttons-wrapper\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper top\",\n class: { show: _vm.showToTop },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollTop($event)\n }\n }\n },\n [_vm._m(0)]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper left\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-left-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-left\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollLeft($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper right\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-right-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-right\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollRight($event)\n }\n }\n })\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"scroll-top-inner\" }, [\n _c(\"i\", { staticClass: \"glyphicon glyphicon-circle-arrow-up\" })\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./scroll-buttons.vue?vue&type=template&id=bf6f6212&\"\nimport script from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nexport * from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scroll-buttons.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"scroll-buttons.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.shows.length === 0\n ? _c(\"span\", [_vm._v(\"Loading...\")])\n : _c(\"div\", { staticClass: \"show-selector form-inline hidden-print\" }, [\n _c(\n \"div\",\n { staticClass: \"select-show-group pull-left top-5 bottom-5\" },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedShowSlug,\n expression: \"selectedShowSlug\"\n }\n ],\n staticClass: \"select-show form-control input-sm-custom\",\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedShowSlug = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _vm.whichList === -1\n ? _vm._l(_vm.showLists, function(curShowList) {\n return _c(\n \"optgroup\",\n {\n key: curShowList.type,\n attrs: { label: curShowList.type }\n },\n _vm._l(curShowList.shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n )\n })\n : _vm._l(_vm.showLists[_vm.whichList].shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n ],\n 2\n )\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./show-selector.vue?vue&type=template&id=d995f0f2&\"\nimport script from \"./show-selector.vue?vue&type=script&lang=js&\"\nexport * from \"./show-selector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./show-selector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"show-selector.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nexport * from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./snatch-selection.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"snatch-selection.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./status.vue?vue&type=script&lang=js&\"\nexport * from \"./status.vue?vue&type=script&lang=js&\"\nimport style0 from \"./status.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"status.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _vm._v(\"You have reached this page by accident, please check the url.\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=a851d9c2&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"404.vue\"\nexport default component.exports","export { default as AddRecommended } from './add-recommended.vue';\nexport { default as AddShows } from './add-shows.vue';\nexport { default as AnidbReleaseGroupUi } from './anidb-release-group-ui.vue';\nexport { default as AppHeader } from './app-header.vue';\nexport { default as AppLink } from './app-link.vue';\nexport { default as Asset } from './asset.vue';\nexport { default as Backstretch } from './backstretch.vue';\nexport { default as Config } from './config.vue';\nexport { default as ConfigPostProcessing } from './config-post-processing.vue';\nexport { default as ConfigTextbox } from './config-textbox.vue';\nexport { default as ConfigTextboxNumber } from './config-textbox-number.vue';\nexport { default as ConfigToggleSlider } from './config-toggle-slider.vue';\nexport { default as DisplayShow } from './display-show.vue';\nexport { default as FileBrowser } from './file-browser.vue';\nexport { default as Home } from './home.vue';\nexport { default as IRC } from './irc.vue';\nexport { default as LanguageSelect } from './language-select.vue';\nexport { default as Login } from './login.vue';\nexport { default as ManualPostProcess } from './manual-post-process.vue';\nexport { default as NamePattern } from './name-pattern.vue';\nexport { default as PlotInfo } from './plot-info.vue';\nexport { default as RootDirs } from './root-dirs.vue';\nexport { default as ScrollButtons } from './scroll-buttons.vue';\nexport { default as SelectList } from './select-list.vue';\nexport { default as ShowSelector } from './show-selector.vue';\nexport { default as SnatchSelection } from './snatch-selection.vue';\nexport { default as Status } from './status.vue';\nexport { NotFound } from './http';\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-link.vue?vue&type=template&id=02dcacd2&\"\nimport script from \"./app-link.vue?vue&type=script&lang=js&\"\nexport * from \"./app-link.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-link.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-link.vue\"\nexport default component.exports","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","module.exports = require('./lib/axios');","const isDevelopment = process.env.NODE_ENV === 'development';\n\nexport {\n isDevelopment\n};\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-list.vue?vue&type=template&id=61c628b2&scoped=true&\"\nimport script from \"./select-list.vue?vue&type=script&lang=js&\"\nexport * from \"./select-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-list.vue?vue&type=style&index=0&id=61c628b2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61c628b2\",\n null\n \n)\n\ncomponent.options.__file = \"select-list.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"file-browser max-width\" }, [\n _c(\n \"div\",\n { class: _vm.showBrowseButton ? \"input-group\" : \"input-group-no-btn\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPath,\n expression: \"currentPath\"\n }\n ],\n ref: \"locationInput\",\n staticClass: \"form-control input-sm fileBrowserField\",\n attrs: { name: _vm.name, type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.currentPath = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _vm.showBrowseButton\n ? _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { title: _vm.title, alt: _vm.title },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.openDialog($event)\n }\n }\n },\n [_vm._m(0)]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n ref: \"fileBrowserDialog\",\n staticClass: \"fileBrowserDialog\",\n staticStyle: { display: \"none\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: \"fileBrowserSearchBox\",\n staticClass: \"form-control\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n keyup: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n _vm.browse($event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { ref: \"fileBrowserFileList\", staticStyle: { display: \"none\" } },\n _vm._l(_vm.files, function(file) {\n return _c(\n \"li\",\n { key: file.name, staticClass: \"ui-state-default ui-corner-all\" },\n [\n _c(\n \"a\",\n {\n on: {\n mouseover: function($event) {\n _vm.toggleFolder(file, $event)\n },\n mouseout: function($event) {\n _vm.toggleFolder(file, $event)\n },\n click: function($event) {\n _vm.fileClicked(file)\n }\n }\n },\n [\n _c(\"span\", {\n class:\n \"ui-icon \" +\n (file.isFile ? \"ui-icon-blank\" : \"ui-icon-folder-collapsed\")\n }),\n _vm._v(\" \" + _vm._s(file.name) + \"\\n \")\n ]\n )\n ]\n )\n })\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [_c(\"i\", { staticClass: \"glyphicon glyphicon-open\" })]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./file-browser.vue?vue&type=template&id=1113705a&scoped=true&\"\nimport script from \"./file-browser.vue?vue&type=script&lang=js&\"\nexport * from \"./file-browser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./file-browser.vue?vue&type=style&index=0&id=1113705a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1113705a\",\n null\n \n)\n\ncomponent.options.__file = \"file-browser.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"name-pattern-wrapper\" } }, [\n _vm.type\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"enable_naming_custom\" }\n },\n [_c(\"span\", [_vm._v(\"Custom \" + _vm._s(_vm.type))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"enable_naming_custom\",\n name: \"enable_naming_custom\",\n sync: \"\"\n },\n on: {\n input: function($event) {\n _vm.update()\n }\n },\n model: {\n value: _vm.isEnabled,\n callback: function($$v) {\n _vm.isEnabled = $$v\n },\n expression: \"isEnabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Name \" +\n _vm._s(_vm.type) +\n \" shows differently than regular shows?\"\n )\n ])\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.type || _vm.isEnabled\n ? _c(\"div\", { staticClass: \"episode-naming\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedNamingPattern,\n expression: \"selectedNamingPattern\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"name_presets\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedNamingPattern = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n },\n _vm._l(_vm.presets, function(preset) {\n return _c(\n \"option\",\n { key: preset.pattern, attrs: { id: preset.pattern } },\n [_vm._v(_vm._s(preset.example))]\n )\n })\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"naming_custom\" } }, [\n _vm.isCustom\n ? _c(\n \"div\",\n {\n staticClass: \"form-group\",\n staticStyle: { \"padding-top\": \"0\" }\n },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customName,\n expression: \"customName\"\n }\n ],\n staticClass:\n \"form-control-inline-max input-sm max-input350\",\n attrs: {\n type: \"text\",\n name: \"naming_pattern\",\n id: \"naming_pattern\"\n },\n domProps: { value: _vm.customName },\n on: {\n change: _vm.updatePatternSamples,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.customName = $event.target.value\n },\n function($event) {\n _vm.update()\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\"img\", {\n staticClass: \"legend\",\n attrs: {\n src: \"images/legend16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"[Toggle Key]\",\n id: \"show_naming_key\",\n title: \"Toggle Naming Legend\"\n },\n on: {\n click: function($event) {\n _vm.showLegend = !_vm.showLegend\n }\n }\n })\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLegend && _vm.isCustom\n ? _c(\n \"div\",\n { staticClass: \"nocheck\", attrs: { id: \"naming_key\" } },\n [\n _c(\"table\", { staticClass: \"Key\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"tbody\", [\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%M\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%D\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Y\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CM\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CD\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CY\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28)\n ])\n ])\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.selectedMultiEpStyle\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedMultiEpStyle,\n expression: \"selectedMultiEpStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"naming_multi_ep\", name: \"naming_multi_ep\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedMultiEpStyle = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update($event)\n }\n }\n },\n _vm._l(_vm.availableMultiEpStyles, function(multiEpStyle) {\n return _c(\n \"option\",\n {\n key: multiEpStyle.value,\n attrs: { id: \"multiEpStyle\" },\n domProps: { value: multiEpStyle.value }\n },\n [_vm._v(_vm._s(multiEpStyle.text))]\n )\n })\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Single-EP Sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n { staticClass: \"jumbo\", attrs: { id: \"naming_example\" } },\n [_vm._v(_vm._s(_vm.namingExample))]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.isMulti\n ? _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Multi-EP sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n {\n staticClass: \"jumbo\",\n attrs: { id: \"naming_example_multi\" }\n },\n [_vm._v(_vm._s(_vm.namingExampleMulti))]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime\",\n value: \"1\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"1\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"1\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add the absolute number to the season/episode format?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\"\n )\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_only\",\n value: \"2\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"2\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"2\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Replace season/episode format with absolute number\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_none\",\n value: \"3\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"3\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"3\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Don't include the absolute number\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"name_presets\" } },\n [_c(\"span\", [_vm._v(\"Name Pattern:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { staticClass: \"align-right\" }, [_vm._v(\"Meaning\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Pattern\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"60%\" } }, [_vm._v(\"Result\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tfoot\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { colspan: \"3\" } }, [\n _vm._v(\n \"Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Show Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%EN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Air Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Post-Processing Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [_c(\"b\", [_vm._v(\"Quality:\")])]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%QN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Scene Quality:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p HDTV x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.HDTV.x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_HDTV_x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"Multi-EP style is ignored\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: {\n title:\n \"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Group:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RG\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"If episode is proper/repack add 'proper' to name.\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Type:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RT\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"PROPER\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_multi_ep\" }\n },\n [_c(\"span\", [_vm._v(\"Multi-Episode Style:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"naming_anime\" } },\n [_c(\"span\", [_vm._v(\"Add Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_only\" }\n },\n [_c(\"span\", [_vm._v(\"Only Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_none\" }\n },\n [_c(\"span\", [_vm._v(\"No Absolute Number\")])]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./name-pattern.vue?vue&type=template&id=0cdf1284&\"\nimport script from \"./name-pattern.vue?vue&type=script&lang=js&\"\nexport * from \"./name-pattern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./name-pattern.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"name-pattern.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n class: _vm.plotInfoClass,\n attrs: { src: \"images/info32.png\", width: \"16\", height: \"16\", alt: \"\" }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./plot-info.vue?vue&type=template&id=3a3c4424&\"\nimport script from \"./plot-info.vue?vue&type=script&lang=js&\"\nexport * from \"./plot-info.vue?vue&type=script&lang=js&\"\nimport style0 from \"./plot-info.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"plot-info.vue\"\nexport default component.exports","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueNativeSock=t():e.VueNativeSock=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=1)}([function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n-1)&&(o.splice(r,1),this.listeners.set(e,o),!0)}},{key:\"emit\",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw new Error(\"[vue-native-socket] cannot locate connection\");var o=null;n.$setInstance=function(t){e.prototype.$socket=t},n.connectManually?(e.prototype.$connect=function(){o=new i.default(t,n),e.prototype.$socket=o.WebSocket},e.prototype.$disconnect=function(){o&&o.reconnection&&(o.reconnection=!1),e.prototype.$socket&&(e.prototype.$socket.close(),delete e.prototype.$socket)}):(o=new i.default(t,n),e.prototype.$socket=o.WebSocket),e.mixin({created:function(){var e=this,t=this,n=this.$options.sockets;this.$options.sockets=new Proxy({},{set:function(e,n,o){return s.default.addListener(n,o,t),e[n]=o,!0},deleteProperty:function(e,n){return s.default.removeListener(n,t.$options.sockets[n],t),delete e.key,!0}}),n&&Object.keys(n).forEach(function(t){e.$options.sockets[t]=n[t]})},beforeDestroy:function(){var e=this,t=this.$options.sockets;t&&Object.keys(t).forEach(function(t){delete e.$options.sockets[t]})}})}}},function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.format=n.format&&n.format.toLowerCase(),this.connectionUrl=t,this.opts=n,this.reconnection=this.opts.reconnection||!1,this.reconnectionAttempts=this.opts.reconnectionAttempts||1/0,this.reconnectionDelay=this.opts.reconnectionDelay||1e3,this.reconnectTimeoutId=0,this.reconnectionCount=0,this.passToStoreHandler=this.opts.passToStoreHandler||!1,this.connect(t,n),n.store&&(this.store=n.store),this.onEvent()}return r(e,[{key:\"connect\",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.protocol||\"\";return this.WebSocket=n.WebSocket||(\"\"===o?new WebSocket(e):new WebSocket(e,o)),\"json\"===this.format&&(\"sendObj\"in this.WebSocket||(this.WebSocket.sendObj=function(e){return t.WebSocket.send(JSON.stringify(e))})),this.WebSocket}},{key:\"reconnect\",value:function(){var e=this;this.reconnectionCount<=this.reconnectionAttempts?(this.reconnectionCount++,clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout(function(){e.store&&e.passToStore(\"SOCKET_RECONNECT\",e.reconnectionCount),e.connect(e.connectionUrl,e.opts),e.onEvent()},this.reconnectionDelay)):this.store&&this.passToStore(\"SOCKET_RECONNECT_ERROR\",!0)}},{key:\"onEvent\",value:function(){var e=this;[\"onmessage\",\"onclose\",\"onerror\",\"onopen\"].forEach(function(t){e.WebSocket[t]=function(n){c.default.emit(t,n),e.store&&e.passToStore(\"SOCKET_\"+t,n),e.reconnection&&\"onopen\"===t&&(e.opts.$setInstance(n.currentTarget),e.reconnectionCount=0),e.reconnection&&\"onclose\"===t&&e.reconnect()}})}},{key:\"passToStore\",value:function(e,t){this.passToStoreHandler?this.passToStoreHandler(e,t,this.defaultPassToStore.bind(this)):this.defaultPassToStore(e,t)}},{key:\"defaultPassToStore\",value:function(e,t){if(e.startsWith(\"SOCKET_\")){var n=\"commit\",o=e.toUpperCase(),r=t;\"json\"===this.format&&t.data&&(r=JSON.parse(t.data),r.mutation?o=[r.namespace||\"\",r.mutation].filter(function(e){return!!e}).join(\"/\"):r.action&&(n=\"dispatch\",o=[r.namespace||\"\",r.action].filter(function(e){return!!e}).join(\"/\"))),this.store[n](o,r)}}}]),e}();t.default=s}])});","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (global, factory) {\n (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.AsyncComputed = factory();\n})(this, function () {\n 'use strict';\n\n function isComputedLazy(item) {\n return item.hasOwnProperty('lazy') && item.lazy;\n }\n\n function isLazyActive(vm, key) {\n return vm[lazyActivePrefix + key];\n }\n\n var lazyActivePrefix = 'async_computed$lazy_active$',\n lazyDataPrefix = 'async_computed$lazy_data$';\n\n function initLazy(data, key) {\n data[lazyActivePrefix + key] = false;\n data[lazyDataPrefix + key] = null;\n }\n\n function makeLazyComputed(key) {\n return {\n get: function get() {\n this[lazyActivePrefix + key] = true;\n return this[lazyDataPrefix + key];\n },\n set: function set(value) {\n this[lazyDataPrefix + key] = value;\n }\n };\n }\n\n function silentSetLazy(vm, key, value) {\n vm[lazyDataPrefix + key] = value;\n }\n function silentGetLazy(vm, key) {\n return vm[lazyDataPrefix + key];\n }\n\n var prefix = '_async_computed$';\n var DidNotUpdate = typeof Symbol === 'function' ? Symbol('did-not-update') : {};\n\n var AsyncComputed = {\n install: function install(Vue, pluginOptions) {\n pluginOptions = pluginOptions || {};\n\n Vue.config.optionMergeStrategies.asyncComputed = Vue.config.optionMergeStrategies.computed;\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n var optionData = this.$options.data;\n\n if (!this.$options.computed) this.$options.computed = {};\n\n for (var key in this.$options.asyncComputed || {}) {\n this.$options.computed[prefix + key] = getterFn(key, this.$options.asyncComputed[key]);\n }\n\n this.$options.data = function vueAsyncComputedInjectedDataFn() {\n var data = (typeof optionData === 'function' ? optionData.call(this) : optionData) || {};\n for (var _key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[_key];\n if (isComputedLazy(item)) {\n initLazy(data, _key);\n this.$options.computed[_key] = makeLazyComputed(_key);\n } else {\n data[_key] = null;\n }\n }\n return data;\n };\n },\n created: function created() {\n var _this = this;\n\n for (var key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[key],\n value = generateDefault.call(this, item, pluginOptions);\n if (isComputedLazy(item)) {\n silentSetLazy(this, key, value);\n } else {\n this[key] = value;\n }\n }\n\n var _loop = function _loop(_key2) {\n var promiseId = 0;\n _this.$watch(prefix + _key2, function (newPromise) {\n var thisPromise = ++promiseId;\n\n if (newPromise === DidNotUpdate) {\n return;\n }\n\n if (!newPromise || !newPromise.then) {\n newPromise = Promise.resolve(newPromise);\n }\n\n newPromise.then(function (value) {\n if (thisPromise !== promiseId) return;\n _this[_key2] = value;\n }).catch(function (err) {\n if (thisPromise !== promiseId) return;\n\n if (pluginOptions.errorHandler === false) return;\n\n var handler = pluginOptions.errorHandler === undefined ? console.error.bind(console, 'Error evaluating async computed property:') : pluginOptions.errorHandler;\n\n if (pluginOptions.useRawError) {\n handler(err);\n } else {\n handler(err.stack);\n }\n });\n }, { immediate: true });\n };\n\n for (var _key2 in this.$options.asyncComputed || {}) {\n _loop(_key2);\n }\n }\n });\n }\n };\n\n function getterFn(key, fn) {\n if (typeof fn === 'function') return fn;\n\n var getter = fn.get;\n\n if (fn.hasOwnProperty('watch')) {\n var previousGetter = getter;\n getter = function getter() {\n fn.watch.call(this);\n return previousGetter.call(this);\n };\n }\n\n if (fn.hasOwnProperty('shouldUpdate')) {\n var _previousGetter = getter;\n getter = function getter() {\n if (fn.shouldUpdate.call(this)) {\n return _previousGetter.call(this);\n }\n return DidNotUpdate;\n };\n }\n\n if (isComputedLazy(fn)) {\n var nonLazy = getter;\n getter = function lazyGetter() {\n if (isLazyActive(this, key)) {\n return nonLazy.call(this);\n } else {\n return silentGetLazy(this, key);\n }\n };\n }\n return getter;\n }\n\n function generateDefault(fn, pluginOptions) {\n var defaultValue = null;\n\n if ('default' in fn) {\n defaultValue = fn.default;\n } else if ('default' in pluginOptions) {\n defaultValue = pluginOptions.default;\n }\n\n if (typeof defaultValue === 'function') {\n return defaultValue.call(this);\n } else {\n return defaultValue;\n }\n }\n\n /* istanbul ignore if */\n if (typeof window !== 'undefined' && window.Vue) {\n // Auto install in dist mode\n window.Vue.use(AsyncComputed);\n }\n\n return AsyncComputed;\n});\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-js-toggle-button\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-js-toggle-button\"] = factory(root[\"vue\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 81b0bbab2ea7705a026e","\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Button.vue\")\n\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Button.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\"}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Button.vue\"),\n /* scopeId */\n \"data-v-25adc6c0\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Button.vue\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"vue\"\n// module id = 1\n// module chunks = 0","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// Button.vue?3b36fc63","import Vue from 'vue'\nimport Button from './Button.vue'\n\nconst plugin = {\n install(Vue, options) {\n \tVue.component('ToggleButton', Button)\n }\n}\n\nexport default plugin\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".vue-js-switch[data-v-25adc6c0]{display:inline-block;position:relative;overflow:hidden;vertical-align:middle;user-select:none;font-size:10px;cursor:pointer}.vue-js-switch .v-switch-input[data-v-25adc6c0]{display:none}.vue-js-switch .v-switch-label[data-v-25adc6c0]{position:absolute;top:0;font-weight:600;color:#fff}.vue-js-switch .v-switch-label.v-left[data-v-25adc6c0]{left:10px}.vue-js-switch .v-switch-label.v-right[data-v-25adc6c0]{right:10px}.vue-js-switch .v-switch-core[data-v-25adc6c0]{display:block;position:relative;box-sizing:border-box;outline:0;margin:0;transition:border-color .3s,background-color .3s;user-select:none}.vue-js-switch .v-switch-core .v-switch-button[data-v-25adc6c0]{display:block;position:absolute;overflow:hidden;top:0;left:0;transform:translate3d(3px,3px,0);border-radius:100%;background-color:#fff}.vue-js-switch.disabled[data-v-25adc6c0]{pointer-events:none;opacity:.6}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-compiler?{\"id\":\"data-v-25adc6c0\",\"scoped\":true,\"hasInlineConfig\":false}!./~/sass-loader/lib/loader.js!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Button.vue\n// module id = 4\n// module chunks = 0","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 5\n// module chunks = 0","// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 6\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('label', {\n class: _vm.className,\n attrs: {\n \"role\": \"checkbox\",\n \"aria-checked\": _vm.ariaChecked\n }\n }, [_c('input', {\n staticClass: \"v-switch-input\",\n attrs: {\n \"type\": \"checkbox\",\n \"name\": _vm.name\n },\n on: {\n \"change\": function($event) {\n $event.stopPropagation();\n return _vm.toggle($event)\n }\n }\n }), _vm._v(\" \"), _c('div', {\n staticClass: \"v-switch-core\",\n style: (_vm.coreStyle)\n }, [_c('div', {\n staticClass: \"v-switch-button\",\n style: (_vm.buttonStyle)\n })]), _vm._v(\" \"), (_vm.labels) ? [(_vm.toggled) ? _c('span', {\n staticClass: \"v-switch-label v-left\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelChecked)\n }\n }) : _c('span', {\n staticClass: \"v-switch-label v-right\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelUnchecked)\n }\n })] : _vm._e()], 2)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-25adc6c0\"}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Button.vue\n// module id = 7\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./add-recommended.vue?vue&type=template&id=2e36e3d5&\"\nimport script from \"./add-recommended.vue?vue&type=script&lang=js&\"\nexport * from \"./add-recommended.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-recommended.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-recommended.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/newShow/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addnewshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add New Show\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option finds a show on your preferred indexer, creates a directory for it's episodes, and adds it to Medusa.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/existingShows/\", id: \"btnExistingShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addexistingshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add Existing Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Use this option to add shows that already have a folder created on your hard drive. Medusa will scan your existing metadata/episodes and add the show accordingly.\"\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./add-shows.vue?vue&type=template&id=6b540b82&\"\nimport script from \"./add-shows.vue?vue&type=script&lang=js&\"\nexport * from \"./add-shows.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-shows.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-shows.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"anidb-release-group-ui-wrapper top-10 max-width\" },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-4 left-whitelist\" }, [\n _c(\"span\", [_vm._v(\"Whitelist\")]),\n _vm.showDeleteFromWhitelist\n ? _c(\"img\", {\n staticClass: \"deleteFromWhitelist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"whitelist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsWhitelist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"whitelist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 center-available\" }, [\n _c(\"span\", [_vm._v(\"Release groups\")]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsReleaseGroups, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n staticClass: \"initial\",\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"releasegroups\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 right-blacklist\" }, [\n _c(\"span\", [_vm._v(\"Blacklist\")]),\n _vm.showDeleteFromBlacklist\n ? _c(\"img\", {\n staticClass: \"deleteFromBlacklist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"blacklist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsBlacklist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"blacklist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\", attrs: { id: \"add-new-release-group\" } },\n [\n _c(\"div\", { staticClass: \"col-md-4\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newGroup,\n expression: \"newGroup\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add custom group\" },\n domProps: { value: _vm.newGroup },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newGroup = $event.target.value\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _vm._m(0)\n ]\n )\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\"p\", [\n _vm._v(\n \"Use the input to add custom whitelist / blacklist release groups. Click on the \"\n ),\n _c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } }),\n _vm._v(\" to add it to the correct list.\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./anidb-release-group-ui.vue?vue&type=template&id=2f0b049c&scoped=true&\"\nimport script from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nexport * from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nimport style0 from \"./anidb-release-group-ui.vue?vue&type=style&index=0&id=2f0b049c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f0b049c\",\n null\n \n)\n\ncomponent.options.__file = \"anidb-release-group-ui.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav\",\n {\n staticClass: \"navbar navbar-default navbar-fixed-top hidden-print\",\n attrs: { role: \"navigation\" }\n },\n [\n _c(\"div\", { staticClass: \"container-fluid\" }, [\n _c(\n \"div\",\n { staticClass: \"navbar-header\" },\n [\n _c(\n \"button\",\n {\n staticClass: \"navbar-toggle collapsed\",\n attrs: {\n type: \"button\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#main_nav\"\n }\n },\n [\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"floating-badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Toggle navigation\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"navbar-brand\",\n attrs: { href: \"home/\", title: \"Medusa\" }\n },\n [\n _c(\"img\", {\n staticClass: \"img-responsive pull-left\",\n staticStyle: { height: \"50px\" },\n attrs: { alt: \"Medusa\", src: \"images/medusa.png\" }\n })\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isAuthenticated\n ? _c(\n \"div\",\n {\n staticClass: \"collapse navbar-collapse\",\n attrs: { id: \"main_nav\" }\n },\n [\n _c(\"ul\", { staticClass: \"nav navbar-nav navbar-right\" }, [\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"home\" },\n attrs: { id: \"NAVhome\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"home/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Shows\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"dropdown-menu\" },\n [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"home/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-home\" }),\n _vm._v(\" Show List\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"addShows/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Shows\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"addRecommended/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Recommended Shows\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/postprocess/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Manual Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.recentShows.length > 0\n ? [\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm._l(_vm.recentShows, function(recentShow) {\n return _c(\n \"li\",\n { key: recentShow.link },\n [\n _c(\n \"app-link\",\n { attrs: { href: recentShow.link } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-addshow\"\n }),\n _vm._v(\n \" \" +\n _vm._s(recentShow.name) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n })\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"schedule\" },\n attrs: { id: \"NAVschedule\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"schedule/\" } }, [\n _vm._v(\"Schedule\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"history\" },\n attrs: { id: \"NAVhistory\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"history/\" } }, [\n _vm._v(\"History\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"manage\" },\n attrs: { id: \"NAVmanage\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"manage/episodeStatuses/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Manage\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"manage/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-manage\" }),\n _vm._v(\" Mass Update\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/backlogOverview/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog-view\"\n }),\n _vm._v(\" Backlog Overview\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/manageSearches/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Manage Searches\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/episodeStatuses/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-manage2\" }),\n _vm._v(\" Episode Status Management\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.linkVisible.plex\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updatePLEX/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-plex\" }),\n _vm._v(\" Update PLEX\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.kodi\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateKODI/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-kodi\" }),\n _vm._v(\" Update KODI\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.emby\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateEMBY/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-emby\" }),\n _vm._v(\" Update Emby\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.manageTorrents\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"manage/manageTorrents/\",\n target: \"_blank\"\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-bittorrent\"\n }),\n _vm._v(\" Manage Torrents\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.failedDownloads\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/failedDownloads/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-failed-download\"\n }),\n _vm._v(\" Failed Downloads\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissed\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/subtitleMissed/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\" Missed Subtitle Management\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissedPP\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/subtitleMissedPP/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\n \" Missed Subtitle in Post-Process folder\"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"config\" },\n attrs: { id: \"NAVconfig\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"config/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Config\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18.png\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"config/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-help\" }),\n _vm._v(\" Help & Info\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/general/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-config\" }),\n _vm._v(\" General\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/backuprestore/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backup\" }),\n _vm._v(\" Backup & Restore\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/search/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Search Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-provider\" }),\n _vm._v(\" Search Providers\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/subtitles/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backlog\" }),\n _vm._v(\" Subtitles Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/postProcessing/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Post Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/notifications/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-notification\"\n }),\n _vm._v(\" Notifications\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/anime/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-anime\" }),\n _vm._v(\" Anime\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"system\" },\n attrs: { id: \"NAVsystem\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"padding-right-15 dropdown-toggle\",\n attrs: {\n href: \"home/status/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Tools\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18-2.png\" }\n }),\n _vm._v(\" \"),\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"news/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-news\" }),\n _vm._v(\" News \"),\n _vm.config.news.unread > 0\n ? _c(\"span\", { staticClass: \"badge\" }, [\n _vm._v(_vm._s(_vm.config.news.unread))\n ])\n : _vm._e()\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"IRC/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-irc\" }),\n _vm._v(\" IRC\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"changes/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-changelog\" }),\n _vm._v(\" Changelog\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: _vm.config.donationsUrl } },\n [\n _c(\"i\", { staticClass: \"menu-icon-support\" }),\n _vm._v(\" Support Medusa\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm.config.logs.numErrors > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-error\" }),\n _vm._v(\" View Errors \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-danger\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numErrors)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.logs.numWarnings > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"errorlogs/?level=\" + _vm.warningLevel\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-viewlog-errors\"\n }),\n _vm._v(\" View Warnings \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-warning\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numWarnings)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/viewlog/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-viewlog\" }),\n _vm._v(\" View Log\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/updateCheck?pid=\" + _vm.config.pid\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-update\" }),\n _vm._v(\" Check For Updates\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/restart/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"restart\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-restart\" }),\n _vm._v(\" Restart\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/shutdown/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"shutdown\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-shutdown\" }),\n _vm._v(\" Shutdown\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.username\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"logout\" },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"logout\")\n }\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-shutdown\"\n }),\n _vm._v(\" Logout\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/status/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-info\" }),\n _vm._v(\" Server Status\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-header.vue?vue&type=template&id=7c5d12e0&\"\nimport script from \"./app-header.vue?vue&type=script&lang=js&\"\nexport * from \"./app-header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-header.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-header.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.link\n ? _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n : _c(\"app-link\", { attrs: { href: _vm.href } }, [\n _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./asset.vue?vue&type=template&id=58fe1dea&\"\nimport script from \"./asset.vue?vue&type=script&lang=js&\"\nexport * from \"./asset.vue?vue&type=script&lang=js&\"\nimport style0 from \"./asset.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"asset.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./backstretch.vue?vue&type=template&id=630a2e1f&\"\nimport script from \"./backstretch.vue?vue&type=script&lang=js&\"\nexport * from \"./backstretch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./backstretch.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"backstretch.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"table\",\n {\n staticClass: \"infoTable\",\n attrs: {\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\",\n width: \"100%\"\n }\n },\n [\n _c(\"tr\", [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"\\n Branch:\\n \"),\n _vm.config.branch\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl + \"/tree/\" + _vm.config.branch\n }\n },\n [_vm._v(_vm._s(_vm.config.branch))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Commit:\\n \"),\n _vm.config.commitHash\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/commit/\" +\n _vm.config.commitHash\n }\n },\n [_vm._v(_vm._s(_vm.config.commitHash))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Version:\\n \"),\n _vm.config.release\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/releases/tag/\" +\n _vm.config.release\n }\n },\n [_vm._v(_vm._s(_vm.config.release))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Database:\\n \"),\n _vm.config.databaseVersion\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.config.databaseVersion.major) +\n \".\" +\n _vm._s(_vm.config.databaseVersion.minor)\n )\n ])\n : _c(\"span\", [_vm._v(\"Unknown\")])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(1),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.pythonVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(2),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.sslVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(3), _c(\"td\", [_vm._v(_vm._s(_vm.config.os))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(4), _c(\"td\", [_vm._v(_vm._s(_vm.config.locale))])]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(7), _c(\"td\", [_vm._v(_vm._s(_vm.config.localUser))])]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(8),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.programDir))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(9),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.configFile))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(10), _c(\"td\", [_vm._v(_vm._s(_vm.config.dbPath))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(11), _c(\"td\", [_vm._v(_vm._s(_vm.config.cacheDir))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(12), _c(\"td\", [_vm._v(_vm._s(_vm.config.logDir))])]),\n _vm._v(\" \"),\n _vm.config.appArgs\n ? _c(\"tr\", [\n _vm._m(13),\n _c(\"td\", [\n _c(\"pre\", [\n _vm._v(_vm._s(_vm._f(\"prettyPrintJSON\")(_vm.config.appArgs)))\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.webRoot\n ? _c(\"tr\", [\n _vm._m(14),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.webRoot))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(17),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.githubUrl } }, [\n _vm._v(_vm._s(_vm.config.githubUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.wikiUrl } }, [\n _vm._v(_vm._s(_vm.config.wikiUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.sourceUrl } }, [\n _vm._v(_vm._s(_vm.config.sourceUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"irc://irc.freenode.net/#pymedusa\" } },\n [\n _c(\"i\", [_vm._v(\"#pymedusa\")]),\n _vm._v(\" on \"),\n _c(\"i\", [_vm._v(\"irc.freenode.net\")])\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-application\" }),\n _vm._v(\" Medusa Info:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-python\" }),\n _vm._v(\" Python Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-ssl\" }),\n _vm._v(\" SSL Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-os\" }),\n _vm._v(\" OS:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-locale\" }),\n _vm._v(\" Locale:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-user\" }),\n _vm._v(\" User:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Program Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-config\" }),\n _vm._v(\" Config File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-db\" }),\n _vm._v(\" Database File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-cache\" }),\n _vm._v(\" Cache Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-log\" }),\n _vm._v(\" Log Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-arguments\" }),\n _vm._v(\" Arguments:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-folder\" }),\n _vm._v(\" Web Root:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-web\" }),\n _vm._v(\" Website:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-wiki\" }),\n _vm._v(\" Wiki:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-github\" }),\n _vm._v(\" Source:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-mirc\" }),\n _vm._v(\" IRC Chat:\")\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./config.vue?vue&type=template&id=25e028eb&\"\nimport script from \"./config.vue?vue&type=script&lang=js&\"\nexport * from \"./config.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n attrs: { id: \"configForm\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#post-processing\" } }, [\n _vm._v(\"Post Processing\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-naming\" } }, [\n _vm._v(\"Episode Naming\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#metadata\" } }, [\n _vm._v(\"Metadata\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"post-processing\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"process_automatically\",\n name: \"process_automatically\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.processAutomatically,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"processAutomatically\",\n $$v\n )\n },\n expression: \"postProcessing.processAutomatically\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.postProcessing.processAutomatically,\n expression: \"postProcessing.processAutomatically\"\n }\n ],\n attrs: { id: \"post-process-toggle-wrapper\" }\n },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"file-browser\", {\n attrs: {\n id: \"tv_download_dir\",\n name: \"tv_download_dir\",\n title: \"Select series download location\",\n \"initial-dir\":\n _vm.postProcessing.showDownloadDir\n },\n on: {\n update: function($event) {\n _vm.postProcessing.showDownloadDir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"clear-left\" }, [\n _vm._v(\n \"The folder where your download client puts the completed TV downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(5)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.processMethod,\n expression: \"postProcessing.processMethod\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"naming_multi_ep\",\n name: \"naming_multi_ep\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"processMethod\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.processMethods, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What method should be used to put files into the library?\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm.postProcessing.processMethod == \"reflink\"\n ? _c(\n \"p\",\n [\n _vm._v(\"To use reference linking, the \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.dereferer.org/?https://pypi.python.org/pypi/reflink/0.1.4\"\n }\n },\n [_vm._v(\"reflink package\")]\n ),\n _vm._v(\" needs to be installed.\")\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(8),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.postProcessing\n .autoPostprocessorFrequency,\n expression:\n \"postProcessing.autoPostprocessorFrequency\"\n }\n ],\n staticClass: \"form-control input-sm input75\",\n attrs: {\n type: \"number\",\n min: \"10\",\n step: \"1\",\n name: \"autopostprocessor_frequency\",\n id: \"autopostprocessor_frequency\"\n },\n domProps: {\n value:\n _vm.postProcessing.autoPostprocessorFrequency\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.postProcessing,\n \"autoPostprocessorFrequency\",\n $event.target.value\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Time in minutes to check for new files to auto post-process (min 10)\"\n )\n ])\n ])\n ])\n ]\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(9),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(10),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_sync_files\",\n name: \"postpone_if_sync_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfSyncFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfSyncFiles\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfSyncFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a folder if sync files are present.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(11),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"sync_files\",\n id: \"sync_files\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.syncFiles\n },\n on: { change: _vm.onChangeSyncFiles }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"comma seperated list of extensions or filename globs Medusa ignores when Post Processing\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(12),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_no_subs\",\n name: \"postpone_if_no_subs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfNoSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfNoSubs\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfNoSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a file until subtitles are present\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Language names are allowed in subtitle filename (en.srt, pt-br.srt, ita.srt, etc.)\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(13),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"If you have any active show with subtitle search disabled, you must enable Automatic post processor.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(14),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"rename_episodes\",\n name: \"rename_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.renameEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"renameEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.renameEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename episode using the Episode Naming settings?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(15),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"create_missing_show_dirs\",\n name: \"create_missing_show_dirs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.createMissingShowDirs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"createMissingShowDirs\",\n $$v\n )\n },\n expression: \"postProcessing.createMissingShowDirs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Create missing show directories when they get deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(16),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"add_shows_wo_dir\",\n name: \"add_shows_wo_dir\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.addShowsWithoutDir,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"addShowsWithoutDir\",\n $$v\n )\n },\n expression: \"postProcessing.addShowsWithoutDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add shows without creating a directory (not recommended)\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(17),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"move_associated_files\",\n name: \"move_associated_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.moveAssociatedFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"moveAssociatedFiles\",\n $$v\n )\n },\n expression: \"postProcessing.moveAssociatedFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete srt/srr/sfv/etc files while post processing?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"allowed_extensions\",\n id: \"allowed_extensions\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.allowedExtensions\n },\n on: { change: _vm.onChangeAllowedExtensions }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma seperated list of associated file extensions Medusa should keep while post processing.\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Leaving it empty means all associated files will be deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"nfo_rename\",\n name: \"nfo_rename\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.nfoRename,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"nfoRename\", $$v)\n },\n expression: \"postProcessing.nfoRename\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename the original .nfo file to .nfo-orig to avoid conflicts?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"airdate_episodes\",\n name: \"airdate_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.airdateEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"airdateEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.airdateEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Set last modified filedate to the date that the episode aired?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.fileTimestampTimezone,\n expression:\n \"postProcessing.fileTimestampTimezone\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"file_timestamp_timezone\",\n name: \"file_timestamp_timezone\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"fileTimestampTimezone\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timezoneOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What timezone should be used to change File Date?\"\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(22),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"unpack\",\n name: \"unpack\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.unpack,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"unpack\", $$v)\n },\n expression: \"postProcessing.unpack\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(23),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(24)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(25),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"del_rar_contents\",\n name: \"del_rar_contents\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.deleteRarContent,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"deleteRarContent\",\n $$v\n )\n },\n expression: \"postProcessing.deleteRarContent\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete content of RAR files, even if Process Method not set to move?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(26),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"no_delete\",\n name: \"no_delete\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.noDelete,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"noDelete\", $$v)\n },\n expression: \"postProcessing.noDelete\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Leave empty folders when Post Processing?\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(27)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(28),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"extra_scripts\",\n id: \"extra_scripts\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.extraScripts\n },\n on: { change: _vm.onChangeExtraScripts }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\"See \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wikie\",\n attrs: {\n href: _vm.postProcessing.extraScriptsUrl\n }\n },\n [_c(\"strong\", [_vm._v(\"Wiki\")])]\n ),\n _vm._v(\n \" for script arguments description and usage.\"\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-naming\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n \"naming-pattern\": _vm.postProcessing.naming.pattern,\n \"naming-presets\": _vm.presets,\n \"multi-ep-style\": _vm.postProcessing.naming.multiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNaming }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternSports,\n \"naming-presets\": _vm.presets,\n type: \"sports\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingSports }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAirByDate,\n \"naming-presets\": _vm.presets,\n type: \"airs by date\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAbd }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAnime,\n \"naming-presets\": _vm.presets,\n type: \"anime\",\n \"multi-ep-style\":\n _vm.postProcessing.naming.animeMultiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"anime-naming-type\":\n _vm.postProcessing.naming.animeNamingType,\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAnime }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group component-item\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"naming_strip_year\",\n name: \"naming_strip_year\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.naming.stripYear,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing.naming,\n \"stripYear\",\n $$v\n )\n },\n expression: \"postProcessing.naming.stripYear\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Remove the TV show's year when renaming the file?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to shows that have year inside parentheses\"\n )\n ])\n ],\n 1\n )\n ])\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"metadata\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.metadataProviderSelected,\n expression: \"metadataProviderSelected\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"metadataType\",\n name: \"metadataType\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.metadataProviderSelected = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.metadataProviders, function(option) {\n return _c(\n \"option\",\n {\n key: option.id,\n domProps: { value: option.id }\n },\n [_vm._v(_vm._s(option.name))]\n )\n })\n ),\n _vm._v(\" \"),\n _vm._m(33)\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.metadataProviders, function(provider) {\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n provider.id === _vm.metadataProviderSelected,\n expression:\n \"provider.id === metadataProviderSelected\"\n }\n ],\n key: provider.id,\n staticClass: \"metadataDiv\",\n attrs: { id: \"provider.id\" }\n },\n [\n _c(\n \"div\",\n { staticClass: \"metadata_options_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Create:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_options\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.showMetadata,\n expression: \"provider.showMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_show_metadata\"\n },\n domProps: {\n checked: Array.isArray(\n provider.showMetadata\n )\n ? _vm._i(\n provider.showMetadata,\n null\n ) > -1\n : provider.showMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.showMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"showMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Show Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeMetadata,\n expression:\n \"provider.episodeMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_episode_metadata\",\n disabled: provider.example.episodeMetadata.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeMetadata\n )\n ? _vm._i(\n provider.episodeMetadata,\n null\n ) > -1\n : provider.episodeMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.episodeMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.fanart,\n expression: \"provider.fanart\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_fanart\",\n disabled: provider.example.fanart.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.fanart\n )\n ? _vm._i(provider.fanart, null) > -1\n : provider.fanart\n },\n on: {\n change: function($event) {\n var $$a = provider.fanart,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"fanart\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Fanart\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.poster,\n expression: \"provider.poster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_poster\",\n disabled: provider.example.poster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.poster\n )\n ? _vm._i(provider.poster, null) > -1\n : provider.poster\n },\n on: {\n change: function($event) {\n var $$a = provider.poster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"poster\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.banner,\n expression: \"provider.banner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_banner\",\n disabled: provider.example.banner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.banner\n )\n ? _vm._i(provider.banner, null) > -1\n : provider.banner\n },\n on: {\n change: function($event) {\n var $$a = provider.banner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"banner\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Banner\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeThumbnails,\n expression:\n \"provider.episodeThumbnails\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_episode_thumbnails\",\n disabled: provider.example.episodeThumbnails.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeThumbnails\n )\n ? _vm._i(\n provider.episodeThumbnails,\n null\n ) > -1\n : provider.episodeThumbnails\n },\n on: {\n change: function($event) {\n var $$a =\n provider.episodeThumbnails,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Thumbnails\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonPosters,\n expression: \"provider.seasonPosters\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_posters\",\n disabled: provider.example.seasonPosters.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonPosters\n )\n ? _vm._i(\n provider.seasonPosters,\n null\n ) > -1\n : provider.seasonPosters\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonPosters,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Posters\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonBanners,\n expression: \"provider.seasonBanners\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_banners\",\n disabled: provider.example.seasonBanners.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonBanners\n )\n ? _vm._i(\n provider.seasonBanners,\n null\n ) > -1\n : provider.seasonBanners\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonBanners,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Banners\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllPoster,\n expression:\n \"provider.seasonAllPoster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_poster\",\n disabled: provider.example.seasonAllPoster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllPoster\n )\n ? _vm._i(\n provider.seasonAllPoster,\n null\n ) > -1\n : provider.seasonAllPoster\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllPoster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllBanner,\n expression:\n \"provider.seasonAllBanner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_banner\",\n disabled: provider.example.seasonAllBanner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllBanner\n )\n ? _vm._i(\n provider.seasonAllBanner,\n null\n ) > -1\n : provider.seasonAllBanner\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllBanner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Banner\")\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"metadata_example_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Results:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_example\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.showMetadata\n },\n attrs: {\n id:\n provider.id + \"_eg_show_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .showMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeMetadata\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.fanart },\n attrs: {\n id: provider.id + \"_eg_fanart\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.fanart +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.poster },\n attrs: {\n id: provider.id + \"_eg_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.poster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.banner },\n attrs: {\n id: provider.id + \"_eg_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.banner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeThumbnails\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_thumbnails\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeThumbnails +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonPosters\n },\n attrs: {\n id:\n provider.id + \"_eg_season_posters\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonPosters +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonBanners\n },\n attrs: {\n id:\n provider.id + \"_eg_season_banners\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonBanners +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllPoster\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllPoster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllBanner\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllBanner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n )\n ])\n ]\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n }),\n _c(\"br\")\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.config.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Scheduled Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Settings that dictate how Medusa should process completed downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The scheduled postprocessor will periodically scan a folder for media to process.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_automatically\" }\n },\n [_c(\"span\", [_vm._v(\"Scheduled Postprocessor\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Enable the scheduled post processor to scan and process any files in your \"\n ),\n _c(\"i\", [_vm._v(\"Post Processing Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Do not use if you use an external Post Processing script\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"tv_download_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Post Processing Dir\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Please use seperate downloading and completed folders in your download client if possible.\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_method\" }\n },\n [_c(\"span\", [_vm._v(\"Processing Method\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" If you keep seeding torrents after they finish, please avoid the 'move' processing method to prevent errors.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"autopostprocessor_frequency\" }\n },\n [_c(\"span\", [_vm._v(\"Auto Post-Processing Frequency\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Generic postprocessing settings that apply both to the scheduled postprocessor as external scripts\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_sync_files\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone post processing\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"sync_files\" } },\n [_c(\"span\", [_vm._v(\"Sync File Extensions\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_no_subs\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone if no subtitle\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Automatic post processor should be disabled to avoid files with pending subtitles being processed over and over.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"rename_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Rename Episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"create_missing_show_dirs\" }\n },\n [_c(\"span\", [_vm._v(\"Create missing show directories\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"add_shows_wo_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Add shows without directory\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"move_associated_files\" }\n },\n [_c(\"span\", [_vm._v(\"Delete associated files\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Keep associated file extensions\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"nfo_rename\" } },\n [_c(\"span\", [_vm._v(\"Rename .nfo file\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"airdate_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Change File Date\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"file_timestamp_timezone\" }\n },\n [_c(\"span\", [_vm._v(\"Timezone for File Date:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"unpack\" } },\n [_c(\"span\", [_vm._v(\"Unpack\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _vm._v(\"Unpack any TV releases in your \"),\n _c(\"i\", [_vm._v(\"TV Download Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Only working with RAR archive\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"del_rar_contents\" }\n },\n [_c(\"span\", [_vm._v(\"Delete RAR contents\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"no_delete\" } },\n [_c(\"span\", [_vm._v(\"Don't delete empty folders\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Can be overridden using manual Post Processing\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Extra Scripts\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Episode Naming\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How Medusa will name and sort your episodes.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_strip_year\" }\n },\n [_c(\"span\", [_vm._v(\"Strip Show Year\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Metadata\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"metadataType\" } },\n [_c(\"span\", [_vm._v(\"Metadata Type\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"d-block\" }, [\n _vm._v(\"Toggle the metadata options that you wish to be created. \"),\n _c(\"b\", [_vm._v(\"Multiple targets may be used.\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-post-processing.vue?vue&type=template&id=b6fc1fd2&\"\nimport script from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nexport * from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-post-processing.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-post-processing.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n class: _vm.inputClass,\n attrs: { type: \"text\" },\n domProps: { value: _vm.localValue },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n }\n }\n },\n \"input\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox.vue?vue&type=template&id=a46a5978&\"\nimport script from \"./config-textbox.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-number-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n class: _vm.inputClass,\n attrs: { type: \"number\", name: _vm.id },\n domProps: { value: _vm.localValue }\n },\n \"input\",\n { min: _vm.min, step: _vm.step, id: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox-number.vue?vue&type=template&id=58eed65e&\"\nimport script from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox-number.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox-number.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-toggle-slider-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"toggle-button\",\n _vm._b(\n {\n attrs: { width: 45, height: 22, sync: \"\" },\n model: {\n value: _vm.localChecked,\n callback: function($$v) {\n _vm.localChecked = $$v\n },\n expression: \"localChecked\"\n }\n },\n \"toggle-button\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-toggle-slider.vue?vue&type=template&id=0697d59e&\"\nimport script from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-toggle-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-toggle-slider.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./display-show.vue?vue&type=script&lang=js&\"\nexport * from \"./display-show.vue?vue&type=script&lang=js&\"\nimport style0 from \"./display-show.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"display-show.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"home.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"iframe\", {\n staticClass: \"irc-frame loading-spinner\",\n attrs: { src: _vm.frameSrc }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./irc.vue?vue&type=template&id=60f89f30&scoped=true&\"\nimport script from \"./irc.vue?vue&type=script&lang=js&\"\nexport * from \"./irc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./irc.vue?vue&type=style&index=0&id=60f89f30&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60f89f30\",\n null\n \n)\n\ncomponent.options.__file = \"irc.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"select\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./language-select.vue?vue&type=template&id=6ec994bc&\"\nimport script from \"./language-select.vue?vue&type=script&lang=js&\"\nexport * from \"./language-select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./language-select.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"language-select.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"login\" }, [\n _c(\"form\", { attrs: { action: \"\", method: \"post\" } }, [\n _c(\"h1\", [_vm._v(\"Medusa\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"username\",\n type: \"text\",\n placeholder: \"Username\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"password\",\n type: \"password\",\n placeholder: \"Password\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\n \"label\",\n { staticClass: \"remember_me\", attrs: { title: \"for 30 days\" } },\n [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n id: \"remember_me\",\n name: \"remember_me\",\n type: \"checkbox\",\n value: \"1\",\n checked: \"checked\"\n }\n }),\n _vm._v(\" Remember me\")\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button\",\n attrs: { name: \"submit\", type: \"submit\", value: \"Login\" }\n })\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=013dd286&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nexport * from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nimport style0 from \"./manual-post-process.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manual-post-process.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"root-dirs-wrapper\" } }, [\n _c(\"div\", { staticClass: \"root-dirs-selectbox\" }, [\n _c(\n \"select\",\n _vm._g(\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedRootDir,\n expression: \"selectedRootDir\"\n }\n ],\n ref: \"rootDirs\",\n attrs: { name: \"rootDir\", id: \"rootDirs\", size: \"6\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedRootDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n \"select\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n _vm._l(_vm.rootDirs, function(curDir) {\n return _c(\n \"option\",\n { key: curDir.path, domProps: { value: curDir.path } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm._f(\"markDefault\")(curDir)) +\n \"\\n \"\n )\n ]\n )\n })\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"root-dirs-controls\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.add($event)\n }\n }\n },\n [_vm._v(\"New\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.edit($event)\n }\n }\n },\n [_vm._v(\"Edit\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.remove($event)\n }\n }\n },\n [_vm._v(\"Delete\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.setDefault($event)\n }\n }\n },\n [_vm._v(\"Set as Default *\")]\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./root-dirs.vue?vue&type=template&id=76f972d6&\"\nimport script from \"./root-dirs.vue?vue&type=script&lang=js&\"\nexport * from \"./root-dirs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./root-dirs.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"root-dirs.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"scroll-buttons-wrapper\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper top\",\n class: { show: _vm.showToTop },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollTop($event)\n }\n }\n },\n [_vm._m(0)]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper left\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-left-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-left\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollLeft($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper right\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-right-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-right\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollRight($event)\n }\n }\n })\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"scroll-top-inner\" }, [\n _c(\"i\", { staticClass: \"glyphicon glyphicon-circle-arrow-up\" })\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./scroll-buttons.vue?vue&type=template&id=bf6f6212&\"\nimport script from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nexport * from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scroll-buttons.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"scroll-buttons.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.shows.length === 0\n ? _c(\"span\", [_vm._v(\"Loading...\")])\n : _c(\"div\", { staticClass: \"show-selector form-inline hidden-print\" }, [\n _c(\n \"div\",\n { staticClass: \"select-show-group pull-left top-5 bottom-5\" },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedShowSlug,\n expression: \"selectedShowSlug\"\n }\n ],\n staticClass: \"select-show form-control input-sm-custom\",\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedShowSlug = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _vm.whichList === -1\n ? _vm._l(_vm.showLists, function(curShowList) {\n return _c(\n \"optgroup\",\n {\n key: curShowList.type,\n attrs: { label: curShowList.type }\n },\n _vm._l(curShowList.shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n )\n })\n : _vm._l(_vm.showLists[_vm.whichList].shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n ],\n 2\n )\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./show-selector.vue?vue&type=template&id=d995f0f2&\"\nimport script from \"./show-selector.vue?vue&type=script&lang=js&\"\nexport * from \"./show-selector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./show-selector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"show-selector.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nexport * from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./snatch-selection.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"snatch-selection.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./status.vue?vue&type=script&lang=js&\"\nexport * from \"./status.vue?vue&type=script&lang=js&\"\nimport style0 from \"./status.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"status.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _vm._v(\"You have reached this page by accident, please check the url.\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=a851d9c2&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"404.vue\"\nexport default component.exports","export { default as AddRecommended } from './add-recommended.vue';\nexport { default as AddShows } from './add-shows.vue';\nexport { default as AnidbReleaseGroupUi } from './anidb-release-group-ui.vue';\nexport { default as AppHeader } from './app-header.vue';\nexport { default as AppLink } from './app-link.vue';\nexport { default as Asset } from './asset.vue';\nexport { default as Backstretch } from './backstretch.vue';\nexport { default as Config } from './config.vue';\nexport { default as ConfigPostProcessing } from './config-post-processing.vue';\nexport { default as ConfigTextbox } from './config-textbox.vue';\nexport { default as ConfigTextboxNumber } from './config-textbox-number.vue';\nexport { default as ConfigToggleSlider } from './config-toggle-slider.vue';\nexport { default as DisplayShow } from './display-show.vue';\nexport { default as FileBrowser } from './file-browser.vue';\nexport { default as Home } from './home.vue';\nexport { default as IRC } from './irc.vue';\nexport { default as LanguageSelect } from './language-select.vue';\nexport { default as Login } from './login.vue';\nexport { default as ManualPostProcess } from './manual-post-process.vue';\nexport { default as NamePattern } from './name-pattern.vue';\nexport { default as PlotInfo } from './plot-info.vue';\nexport { default as RootDirs } from './root-dirs.vue';\nexport { default as ScrollButtons } from './scroll-buttons.vue';\nexport { default as SelectList } from './select-list.vue';\nexport { default as ShowSelector } from './show-selector.vue';\nexport { default as SnatchSelection } from './snatch-selection.vue';\nexport { default as Status } from './status.vue';\nexport { NotFound } from './http';\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-link.vue?vue&type=template&id=02dcacd2&\"\nimport script from \"./app-link.vue?vue&type=script&lang=js&\"\nexport * from \"./app-link.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-link.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-link.vue\"\nexport default component.exports","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","module.exports = require('./lib/axios');","const isDevelopment = process.env.NODE_ENV === 'development';\n\nexport {\n isDevelopment\n};\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-list.vue?vue&type=template&id=4bc41cee&scoped=true&\"\nimport script from \"./select-list.vue?vue&type=script&lang=js&\"\nexport * from \"./select-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-list.vue?vue&type=style&index=0&id=4bc41cee&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4bc41cee\",\n null\n \n)\n\ncomponent.options.__file = \"select-list.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"file-browser max-width\" }, [\n _c(\n \"div\",\n { class: _vm.showBrowseButton ? \"input-group\" : \"input-group-no-btn\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPath,\n expression: \"currentPath\"\n }\n ],\n ref: \"locationInput\",\n staticClass: \"form-control input-sm fileBrowserField\",\n attrs: { name: _vm.name, type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.currentPath = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _vm.showBrowseButton\n ? _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { title: _vm.title, alt: _vm.title },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.openDialog($event)\n }\n }\n },\n [_vm._m(0)]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n ref: \"fileBrowserDialog\",\n staticClass: \"fileBrowserDialog\",\n staticStyle: { display: \"none\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: \"fileBrowserSearchBox\",\n staticClass: \"form-control\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n keyup: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n _vm.browse($event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { ref: \"fileBrowserFileList\", staticStyle: { display: \"none\" } },\n _vm._l(_vm.files, function(file) {\n return _c(\n \"li\",\n { key: file.name, staticClass: \"ui-state-default ui-corner-all\" },\n [\n _c(\n \"a\",\n {\n on: {\n mouseover: function($event) {\n _vm.toggleFolder(file, $event)\n },\n mouseout: function($event) {\n _vm.toggleFolder(file, $event)\n },\n click: function($event) {\n _vm.fileClicked(file)\n }\n }\n },\n [\n _c(\"span\", {\n class:\n \"ui-icon \" +\n (file.isFile ? \"ui-icon-blank\" : \"ui-icon-folder-collapsed\")\n }),\n _vm._v(\" \" + _vm._s(file.name) + \"\\n \")\n ]\n )\n ]\n )\n })\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [_c(\"i\", { staticClass: \"glyphicon glyphicon-open\" })]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./file-browser.vue?vue&type=template&id=1113705a&scoped=true&\"\nimport script from \"./file-browser.vue?vue&type=script&lang=js&\"\nexport * from \"./file-browser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./file-browser.vue?vue&type=style&index=0&id=1113705a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1113705a\",\n null\n \n)\n\ncomponent.options.__file = \"file-browser.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"name-pattern-wrapper\" } }, [\n _vm.type\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"enable_naming_custom\" }\n },\n [_c(\"span\", [_vm._v(\"Custom \" + _vm._s(_vm.type))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"enable_naming_custom\",\n name: \"enable_naming_custom\",\n sync: \"\"\n },\n on: {\n input: function($event) {\n _vm.update()\n }\n },\n model: {\n value: _vm.isEnabled,\n callback: function($$v) {\n _vm.isEnabled = $$v\n },\n expression: \"isEnabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Name \" +\n _vm._s(_vm.type) +\n \" shows differently than regular shows?\"\n )\n ])\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.type || _vm.isEnabled\n ? _c(\"div\", { staticClass: \"episode-naming\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedNamingPattern,\n expression: \"selectedNamingPattern\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"name_presets\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedNamingPattern = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n },\n _vm._l(_vm.presets, function(preset) {\n return _c(\n \"option\",\n { key: preset.pattern, attrs: { id: preset.pattern } },\n [_vm._v(_vm._s(preset.example))]\n )\n })\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"naming_custom\" } }, [\n _vm.isCustom\n ? _c(\n \"div\",\n {\n staticClass: \"form-group\",\n staticStyle: { \"padding-top\": \"0\" }\n },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customName,\n expression: \"customName\"\n }\n ],\n staticClass:\n \"form-control-inline-max input-sm max-input350\",\n attrs: {\n type: \"text\",\n name: \"naming_pattern\",\n id: \"naming_pattern\"\n },\n domProps: { value: _vm.customName },\n on: {\n change: _vm.updatePatternSamples,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.customName = $event.target.value\n },\n function($event) {\n _vm.update()\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\"img\", {\n staticClass: \"legend\",\n attrs: {\n src: \"images/legend16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"[Toggle Key]\",\n id: \"show_naming_key\",\n title: \"Toggle Naming Legend\"\n },\n on: {\n click: function($event) {\n _vm.showLegend = !_vm.showLegend\n }\n }\n })\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLegend && _vm.isCustom\n ? _c(\n \"div\",\n { staticClass: \"nocheck\", attrs: { id: \"naming_key\" } },\n [\n _c(\"table\", { staticClass: \"Key\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"tbody\", [\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%M\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%D\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Y\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CM\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CD\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CY\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28)\n ])\n ])\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.selectedMultiEpStyle\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedMultiEpStyle,\n expression: \"selectedMultiEpStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"naming_multi_ep\", name: \"naming_multi_ep\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedMultiEpStyle = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update($event)\n }\n }\n },\n _vm._l(_vm.availableMultiEpStyles, function(multiEpStyle) {\n return _c(\n \"option\",\n {\n key: multiEpStyle.value,\n attrs: { id: \"multiEpStyle\" },\n domProps: { value: multiEpStyle.value }\n },\n [_vm._v(_vm._s(multiEpStyle.text))]\n )\n })\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Single-EP Sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n { staticClass: \"jumbo\", attrs: { id: \"naming_example\" } },\n [_vm._v(_vm._s(_vm.namingExample))]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.isMulti\n ? _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Multi-EP sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n {\n staticClass: \"jumbo\",\n attrs: { id: \"naming_example_multi\" }\n },\n [_vm._v(_vm._s(_vm.namingExampleMulti))]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime\",\n value: \"1\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"1\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"1\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add the absolute number to the season/episode format?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\"\n )\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_only\",\n value: \"2\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"2\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"2\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Replace season/episode format with absolute number\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_none\",\n value: \"3\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"3\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"3\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Don't include the absolute number\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"name_presets\" } },\n [_c(\"span\", [_vm._v(\"Name Pattern:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { staticClass: \"align-right\" }, [_vm._v(\"Meaning\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Pattern\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"60%\" } }, [_vm._v(\"Result\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tfoot\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { colspan: \"3\" } }, [\n _vm._v(\n \"Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Show Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%EN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Air Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Post-Processing Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [_c(\"b\", [_vm._v(\"Quality:\")])]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%QN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Scene Quality:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p HDTV x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.HDTV.x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_HDTV_x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"Multi-EP style is ignored\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: {\n title:\n \"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Group:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RG\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"If episode is proper/repack add 'proper' to name.\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Type:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RT\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"PROPER\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_multi_ep\" }\n },\n [_c(\"span\", [_vm._v(\"Multi-Episode Style:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"naming_anime\" } },\n [_c(\"span\", [_vm._v(\"Add Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_only\" }\n },\n [_c(\"span\", [_vm._v(\"Only Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_none\" }\n },\n [_c(\"span\", [_vm._v(\"No Absolute Number\")])]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./name-pattern.vue?vue&type=template&id=0cdf1284&\"\nimport script from \"./name-pattern.vue?vue&type=script&lang=js&\"\nexport * from \"./name-pattern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./name-pattern.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"name-pattern.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n class: _vm.plotInfoClass,\n attrs: { src: \"images/info32.png\", width: \"16\", height: \"16\", alt: \"\" }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./plot-info.vue?vue&type=template&id=3a3c4424&\"\nimport script from \"./plot-info.vue?vue&type=script&lang=js&\"\nexport * from \"./plot-info.vue?vue&type=script&lang=js&\"\nimport style0 from \"./plot-info.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"plot-info.vue\"\nexport default component.exports","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueNativeSock=t():e.VueNativeSock=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=1)}([function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n-1)&&(o.splice(r,1),this.listeners.set(e,o),!0)}},{key:\"emit\",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw new Error(\"[vue-native-socket] cannot locate connection\");var o=null;n.$setInstance=function(t){e.prototype.$socket=t},n.connectManually?(e.prototype.$connect=function(){o=new i.default(t,n),e.prototype.$socket=o.WebSocket},e.prototype.$disconnect=function(){o&&o.reconnection&&(o.reconnection=!1),e.prototype.$socket&&(e.prototype.$socket.close(),delete e.prototype.$socket)}):(o=new i.default(t,n),e.prototype.$socket=o.WebSocket),e.mixin({created:function(){var e=this,t=this,n=this.$options.sockets;this.$options.sockets=new Proxy({},{set:function(e,n,o){return s.default.addListener(n,o,t),e[n]=o,!0},deleteProperty:function(e,n){return s.default.removeListener(n,t.$options.sockets[n],t),delete e.key,!0}}),n&&Object.keys(n).forEach(function(t){e.$options.sockets[t]=n[t]})},beforeDestroy:function(){var e=this,t=this.$options.sockets;t&&Object.keys(t).forEach(function(t){delete e.$options.sockets[t]})}})}}},function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.format=n.format&&n.format.toLowerCase(),this.connectionUrl=t,this.opts=n,this.reconnection=this.opts.reconnection||!1,this.reconnectionAttempts=this.opts.reconnectionAttempts||1/0,this.reconnectionDelay=this.opts.reconnectionDelay||1e3,this.reconnectTimeoutId=0,this.reconnectionCount=0,this.passToStoreHandler=this.opts.passToStoreHandler||!1,this.connect(t,n),n.store&&(this.store=n.store),this.onEvent()}return r(e,[{key:\"connect\",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.protocol||\"\";return this.WebSocket=n.WebSocket||(\"\"===o?new WebSocket(e):new WebSocket(e,o)),\"json\"===this.format&&(\"sendObj\"in this.WebSocket||(this.WebSocket.sendObj=function(e){return t.WebSocket.send(JSON.stringify(e))})),this.WebSocket}},{key:\"reconnect\",value:function(){var e=this;this.reconnectionCount<=this.reconnectionAttempts?(this.reconnectionCount++,clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout(function(){e.store&&e.passToStore(\"SOCKET_RECONNECT\",e.reconnectionCount),e.connect(e.connectionUrl,e.opts),e.onEvent()},this.reconnectionDelay)):this.store&&this.passToStore(\"SOCKET_RECONNECT_ERROR\",!0)}},{key:\"onEvent\",value:function(){var e=this;[\"onmessage\",\"onclose\",\"onerror\",\"onopen\"].forEach(function(t){e.WebSocket[t]=function(n){c.default.emit(t,n),e.store&&e.passToStore(\"SOCKET_\"+t,n),e.reconnection&&\"onopen\"===t&&(e.opts.$setInstance(n.currentTarget),e.reconnectionCount=0),e.reconnection&&\"onclose\"===t&&e.reconnect()}})}},{key:\"passToStore\",value:function(e,t){this.passToStoreHandler?this.passToStoreHandler(e,t,this.defaultPassToStore.bind(this)):this.defaultPassToStore(e,t)}},{key:\"defaultPassToStore\",value:function(e,t){if(e.startsWith(\"SOCKET_\")){var n=\"commit\",o=e.toUpperCase(),r=t;\"json\"===this.format&&t.data&&(r=JSON.parse(t.data),r.mutation?o=[r.namespace||\"\",r.mutation].filter(function(e){return!!e}).join(\"/\"):r.action&&(n=\"dispatch\",o=[r.namespace||\"\",r.action].filter(function(e){return!!e}).join(\"/\"))),this.store[n](o,r)}}}]),e}();t.default=s}])});","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (global, factory) {\n (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.AsyncComputed = factory();\n})(this, function () {\n 'use strict';\n\n function isComputedLazy(item) {\n return item.hasOwnProperty('lazy') && item.lazy;\n }\n\n function isLazyActive(vm, key) {\n return vm[lazyActivePrefix + key];\n }\n\n var lazyActivePrefix = 'async_computed$lazy_active$',\n lazyDataPrefix = 'async_computed$lazy_data$';\n\n function initLazy(data, key) {\n data[lazyActivePrefix + key] = false;\n data[lazyDataPrefix + key] = null;\n }\n\n function makeLazyComputed(key) {\n return {\n get: function get() {\n this[lazyActivePrefix + key] = true;\n return this[lazyDataPrefix + key];\n },\n set: function set(value) {\n this[lazyDataPrefix + key] = value;\n }\n };\n }\n\n function silentSetLazy(vm, key, value) {\n vm[lazyDataPrefix + key] = value;\n }\n function silentGetLazy(vm, key) {\n return vm[lazyDataPrefix + key];\n }\n\n var prefix = '_async_computed$';\n var DidNotUpdate = typeof Symbol === 'function' ? Symbol('did-not-update') : {};\n\n var AsyncComputed = {\n install: function install(Vue, pluginOptions) {\n pluginOptions = pluginOptions || {};\n\n Vue.config.optionMergeStrategies.asyncComputed = Vue.config.optionMergeStrategies.computed;\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n var optionData = this.$options.data;\n\n if (!this.$options.computed) this.$options.computed = {};\n\n for (var key in this.$options.asyncComputed || {}) {\n this.$options.computed[prefix + key] = getterFn(key, this.$options.asyncComputed[key]);\n }\n\n this.$options.data = function vueAsyncComputedInjectedDataFn() {\n var data = (typeof optionData === 'function' ? optionData.call(this) : optionData) || {};\n for (var _key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[_key];\n if (isComputedLazy(item)) {\n initLazy(data, _key);\n this.$options.computed[_key] = makeLazyComputed(_key);\n } else {\n data[_key] = null;\n }\n }\n return data;\n };\n },\n created: function created() {\n var _this = this;\n\n for (var key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[key],\n value = generateDefault.call(this, item, pluginOptions);\n if (isComputedLazy(item)) {\n silentSetLazy(this, key, value);\n } else {\n this[key] = value;\n }\n }\n\n var _loop = function _loop(_key2) {\n var promiseId = 0;\n _this.$watch(prefix + _key2, function (newPromise) {\n var thisPromise = ++promiseId;\n\n if (newPromise === DidNotUpdate) {\n return;\n }\n\n if (!newPromise || !newPromise.then) {\n newPromise = Promise.resolve(newPromise);\n }\n\n newPromise.then(function (value) {\n if (thisPromise !== promiseId) return;\n _this[_key2] = value;\n }).catch(function (err) {\n if (thisPromise !== promiseId) return;\n\n if (pluginOptions.errorHandler === false) return;\n\n var handler = pluginOptions.errorHandler === undefined ? console.error.bind(console, 'Error evaluating async computed property:') : pluginOptions.errorHandler;\n\n if (pluginOptions.useRawError) {\n handler(err);\n } else {\n handler(err.stack);\n }\n });\n }, { immediate: true });\n };\n\n for (var _key2 in this.$options.asyncComputed || {}) {\n _loop(_key2);\n }\n }\n });\n }\n };\n\n function getterFn(key, fn) {\n if (typeof fn === 'function') return fn;\n\n var getter = fn.get;\n\n if (fn.hasOwnProperty('watch')) {\n var previousGetter = getter;\n getter = function getter() {\n fn.watch.call(this);\n return previousGetter.call(this);\n };\n }\n\n if (fn.hasOwnProperty('shouldUpdate')) {\n var _previousGetter = getter;\n getter = function getter() {\n if (fn.shouldUpdate.call(this)) {\n return _previousGetter.call(this);\n }\n return DidNotUpdate;\n };\n }\n\n if (isComputedLazy(fn)) {\n var nonLazy = getter;\n getter = function lazyGetter() {\n if (isLazyActive(this, key)) {\n return nonLazy.call(this);\n } else {\n return silentGetLazy(this, key);\n }\n };\n }\n return getter;\n }\n\n function generateDefault(fn, pluginOptions) {\n var defaultValue = null;\n\n if ('default' in fn) {\n defaultValue = fn.default;\n } else if ('default' in pluginOptions) {\n defaultValue = pluginOptions.default;\n }\n\n if (typeof defaultValue === 'function') {\n return defaultValue.call(this);\n } else {\n return defaultValue;\n }\n }\n\n /* istanbul ignore if */\n if (typeof window !== 'undefined' && window.Vue) {\n // Auto install in dist mode\n window.Vue.use(AsyncComputed);\n }\n\n return AsyncComputed;\n});\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-js-toggle-button\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-js-toggle-button\"] = factory(root[\"vue\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 81b0bbab2ea7705a026e","\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Button.vue\")\n\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Button.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\"}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Button.vue\"),\n /* scopeId */\n \"data-v-25adc6c0\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Button.vue\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"vue\"\n// module id = 1\n// module chunks = 0","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// Button.vue?3b36fc63","import Vue from 'vue'\nimport Button from './Button.vue'\n\nconst plugin = {\n install(Vue, options) {\n \tVue.component('ToggleButton', Button)\n }\n}\n\nexport default plugin\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".vue-js-switch[data-v-25adc6c0]{display:inline-block;position:relative;overflow:hidden;vertical-align:middle;user-select:none;font-size:10px;cursor:pointer}.vue-js-switch .v-switch-input[data-v-25adc6c0]{display:none}.vue-js-switch .v-switch-label[data-v-25adc6c0]{position:absolute;top:0;font-weight:600;color:#fff}.vue-js-switch .v-switch-label.v-left[data-v-25adc6c0]{left:10px}.vue-js-switch .v-switch-label.v-right[data-v-25adc6c0]{right:10px}.vue-js-switch .v-switch-core[data-v-25adc6c0]{display:block;position:relative;box-sizing:border-box;outline:0;margin:0;transition:border-color .3s,background-color .3s;user-select:none}.vue-js-switch .v-switch-core .v-switch-button[data-v-25adc6c0]{display:block;position:absolute;overflow:hidden;top:0;left:0;transform:translate3d(3px,3px,0);border-radius:100%;background-color:#fff}.vue-js-switch.disabled[data-v-25adc6c0]{pointer-events:none;opacity:.6}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-compiler?{\"id\":\"data-v-25adc6c0\",\"scoped\":true,\"hasInlineConfig\":false}!./~/sass-loader/lib/loader.js!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Button.vue\n// module id = 4\n// module chunks = 0","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 5\n// module chunks = 0","// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 6\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('label', {\n class: _vm.className,\n attrs: {\n \"role\": \"checkbox\",\n \"aria-checked\": _vm.ariaChecked\n }\n }, [_c('input', {\n staticClass: \"v-switch-input\",\n attrs: {\n \"type\": \"checkbox\",\n \"name\": _vm.name\n },\n on: {\n \"change\": function($event) {\n $event.stopPropagation();\n return _vm.toggle($event)\n }\n }\n }), _vm._v(\" \"), _c('div', {\n staticClass: \"v-switch-core\",\n style: (_vm.coreStyle)\n }, [_c('div', {\n staticClass: \"v-switch-button\",\n style: (_vm.buttonStyle)\n })]), _vm._v(\" \"), (_vm.labels) ? [(_vm.toggled) ? _c('span', {\n staticClass: \"v-switch-label v-left\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelChecked)\n }\n }) : _c('span', {\n staticClass: \"v-switch-label v-right\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelUnchecked)\n }\n })] : _vm._e()], 2)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-25adc6c0\"}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Button.vue\n// module id = 7\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./add-recommended.vue?vue&type=template&id=2e36e3d5&\"\nimport script from \"./add-recommended.vue?vue&type=script&lang=js&\"\nexport * from \"./add-recommended.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-recommended.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-recommended.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/newShow/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addnewshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add New Show\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option finds a show on your preferred indexer, creates a directory for it's episodes, and adds it to Medusa.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/existingShows/\", id: \"btnExistingShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addexistingshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add Existing Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Use this option to add shows that already have a folder created on your hard drive. Medusa will scan your existing metadata/episodes and add the show accordingly.\"\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./add-shows.vue?vue&type=template&id=6b540b82&\"\nimport script from \"./add-shows.vue?vue&type=script&lang=js&\"\nexport * from \"./add-shows.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-shows.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-shows.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"anidb-release-group-ui-wrapper top-10 max-width\" },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-4 left-whitelist\" }, [\n _c(\"span\", [_vm._v(\"Whitelist\")]),\n _vm.showDeleteFromWhitelist\n ? _c(\"img\", {\n staticClass: \"deleteFromWhitelist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"whitelist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsWhitelist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"whitelist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 center-available\" }, [\n _c(\"span\", [_vm._v(\"Release groups\")]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsReleaseGroups, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n staticClass: \"initial\",\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"releasegroups\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 right-blacklist\" }, [\n _c(\"span\", [_vm._v(\"Blacklist\")]),\n _vm.showDeleteFromBlacklist\n ? _c(\"img\", {\n staticClass: \"deleteFromBlacklist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"blacklist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsBlacklist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"blacklist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\", attrs: { id: \"add-new-release-group\" } },\n [\n _c(\"div\", { staticClass: \"col-md-4\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newGroup,\n expression: \"newGroup\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add custom group\" },\n domProps: { value: _vm.newGroup },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newGroup = $event.target.value\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _vm._m(0)\n ]\n )\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\"p\", [\n _vm._v(\n \"Use the input to add custom whitelist / blacklist release groups. Click on the \"\n ),\n _c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } }),\n _vm._v(\" to add it to the correct list.\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./anidb-release-group-ui.vue?vue&type=template&id=2f0b049c&scoped=true&\"\nimport script from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nexport * from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nimport style0 from \"./anidb-release-group-ui.vue?vue&type=style&index=0&id=2f0b049c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f0b049c\",\n null\n \n)\n\ncomponent.options.__file = \"anidb-release-group-ui.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav\",\n {\n staticClass: \"navbar navbar-default navbar-fixed-top hidden-print\",\n attrs: { role: \"navigation\" }\n },\n [\n _c(\"div\", { staticClass: \"container-fluid\" }, [\n _c(\n \"div\",\n { staticClass: \"navbar-header\" },\n [\n _c(\n \"button\",\n {\n staticClass: \"navbar-toggle collapsed\",\n attrs: {\n type: \"button\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#main_nav\"\n }\n },\n [\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"floating-badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Toggle navigation\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"navbar-brand\",\n attrs: { href: \"home/\", title: \"Medusa\" }\n },\n [\n _c(\"img\", {\n staticClass: \"img-responsive pull-left\",\n staticStyle: { height: \"50px\" },\n attrs: { alt: \"Medusa\", src: \"images/medusa.png\" }\n })\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isAuthenticated\n ? _c(\n \"div\",\n {\n staticClass: \"collapse navbar-collapse\",\n attrs: { id: \"main_nav\" }\n },\n [\n _c(\"ul\", { staticClass: \"nav navbar-nav navbar-right\" }, [\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"home\" },\n attrs: { id: \"NAVhome\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"home/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Shows\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"dropdown-menu\" },\n [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"home/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-home\" }),\n _vm._v(\" Show List\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"addShows/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Shows\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"addRecommended/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Recommended Shows\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/postprocess/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Manual Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.recentShows.length > 0\n ? [\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm._l(_vm.recentShows, function(recentShow) {\n return _c(\n \"li\",\n { key: recentShow.link },\n [\n _c(\n \"app-link\",\n { attrs: { href: recentShow.link } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-addshow\"\n }),\n _vm._v(\n \" \" +\n _vm._s(recentShow.name) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n })\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"schedule\" },\n attrs: { id: \"NAVschedule\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"schedule/\" } }, [\n _vm._v(\"Schedule\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"history\" },\n attrs: { id: \"NAVhistory\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"history/\" } }, [\n _vm._v(\"History\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"manage\" },\n attrs: { id: \"NAVmanage\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"manage/episodeStatuses/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Manage\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"manage/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-manage\" }),\n _vm._v(\" Mass Update\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/backlogOverview/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog-view\"\n }),\n _vm._v(\" Backlog Overview\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/manageSearches/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Manage Searches\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/episodeStatuses/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-manage2\" }),\n _vm._v(\" Episode Status Management\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.linkVisible.plex\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updatePLEX/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-plex\" }),\n _vm._v(\" Update PLEX\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.kodi\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateKODI/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-kodi\" }),\n _vm._v(\" Update KODI\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.emby\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateEMBY/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-emby\" }),\n _vm._v(\" Update Emby\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.manageTorrents\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"manage/manageTorrents/\",\n target: \"_blank\"\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-bittorrent\"\n }),\n _vm._v(\" Manage Torrents\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.failedDownloads\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/failedDownloads/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-failed-download\"\n }),\n _vm._v(\" Failed Downloads\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissed\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/subtitleMissed/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\" Missed Subtitle Management\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissedPP\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/subtitleMissedPP/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\n \" Missed Subtitle in Post-Process folder\"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"config\" },\n attrs: { id: \"NAVconfig\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"config/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Config\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18.png\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"config/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-help\" }),\n _vm._v(\" Help & Info\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/general/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-config\" }),\n _vm._v(\" General\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/backuprestore/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backup\" }),\n _vm._v(\" Backup & Restore\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/search/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Search Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-provider\" }),\n _vm._v(\" Search Providers\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/subtitles/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backlog\" }),\n _vm._v(\" Subtitles Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/postProcessing/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Post Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/notifications/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-notification\"\n }),\n _vm._v(\" Notifications\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/anime/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-anime\" }),\n _vm._v(\" Anime\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"system\" },\n attrs: { id: \"NAVsystem\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"padding-right-15 dropdown-toggle\",\n attrs: {\n href: \"home/status/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Tools\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18-2.png\" }\n }),\n _vm._v(\" \"),\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"news/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-news\" }),\n _vm._v(\" News \"),\n _vm.config.news.unread > 0\n ? _c(\"span\", { staticClass: \"badge\" }, [\n _vm._v(_vm._s(_vm.config.news.unread))\n ])\n : _vm._e()\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"IRC/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-irc\" }),\n _vm._v(\" IRC\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"changes/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-changelog\" }),\n _vm._v(\" Changelog\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: _vm.config.donationsUrl } },\n [\n _c(\"i\", { staticClass: \"menu-icon-support\" }),\n _vm._v(\" Support Medusa\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm.config.logs.numErrors > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-error\" }),\n _vm._v(\" View Errors \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-danger\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numErrors)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.logs.numWarnings > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"errorlogs/?level=\" + _vm.warningLevel\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-viewlog-errors\"\n }),\n _vm._v(\" View Warnings \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-warning\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numWarnings)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/viewlog/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-viewlog\" }),\n _vm._v(\" View Log\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/updateCheck?pid=\" + _vm.config.pid\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-update\" }),\n _vm._v(\" Check For Updates\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/restart/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"restart\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-restart\" }),\n _vm._v(\" Restart\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/shutdown/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"shutdown\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-shutdown\" }),\n _vm._v(\" Shutdown\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.username\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"logout\" },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"logout\")\n }\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-shutdown\"\n }),\n _vm._v(\" Logout\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/status/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-info\" }),\n _vm._v(\" Server Status\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-header.vue?vue&type=template&id=7c5d12e0&\"\nimport script from \"./app-header.vue?vue&type=script&lang=js&\"\nexport * from \"./app-header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-header.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-header.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.link\n ? _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n : _c(\"app-link\", { attrs: { href: _vm.href } }, [\n _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./asset.vue?vue&type=template&id=58fe1dea&\"\nimport script from \"./asset.vue?vue&type=script&lang=js&\"\nexport * from \"./asset.vue?vue&type=script&lang=js&\"\nimport style0 from \"./asset.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"asset.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./backstretch.vue?vue&type=template&id=630a2e1f&\"\nimport script from \"./backstretch.vue?vue&type=script&lang=js&\"\nexport * from \"./backstretch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./backstretch.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"backstretch.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"table\",\n {\n staticClass: \"infoTable\",\n attrs: {\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\",\n width: \"100%\"\n }\n },\n [\n _c(\"tr\", [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"\\n Branch:\\n \"),\n _vm.config.branch\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl + \"/tree/\" + _vm.config.branch\n }\n },\n [_vm._v(_vm._s(_vm.config.branch))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Commit:\\n \"),\n _vm.config.commitHash\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/commit/\" +\n _vm.config.commitHash\n }\n },\n [_vm._v(_vm._s(_vm.config.commitHash))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Version:\\n \"),\n _vm.config.release\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/releases/tag/\" +\n _vm.config.release\n }\n },\n [_vm._v(_vm._s(_vm.config.release))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Database:\\n \"),\n _vm.config.databaseVersion\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.config.databaseVersion.major) +\n \".\" +\n _vm._s(_vm.config.databaseVersion.minor)\n )\n ])\n : _c(\"span\", [_vm._v(\"Unknown\")])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(1),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.pythonVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(2),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.sslVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(3), _c(\"td\", [_vm._v(_vm._s(_vm.config.os))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(4), _c(\"td\", [_vm._v(_vm._s(_vm.config.locale))])]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(7), _c(\"td\", [_vm._v(_vm._s(_vm.config.localUser))])]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(8),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.programDir))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(9),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.configFile))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(10), _c(\"td\", [_vm._v(_vm._s(_vm.config.dbPath))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(11), _c(\"td\", [_vm._v(_vm._s(_vm.config.cacheDir))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(12), _c(\"td\", [_vm._v(_vm._s(_vm.config.logDir))])]),\n _vm._v(\" \"),\n _vm.config.appArgs\n ? _c(\"tr\", [\n _vm._m(13),\n _c(\"td\", [\n _c(\"pre\", [\n _vm._v(_vm._s(_vm._f(\"prettyPrintJSON\")(_vm.config.appArgs)))\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.webRoot\n ? _c(\"tr\", [\n _vm._m(14),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.webRoot))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(17),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.githubUrl } }, [\n _vm._v(_vm._s(_vm.config.githubUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.wikiUrl } }, [\n _vm._v(_vm._s(_vm.config.wikiUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.sourceUrl } }, [\n _vm._v(_vm._s(_vm.config.sourceUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"irc://irc.freenode.net/#pymedusa\" } },\n [\n _c(\"i\", [_vm._v(\"#pymedusa\")]),\n _vm._v(\" on \"),\n _c(\"i\", [_vm._v(\"irc.freenode.net\")])\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-application\" }),\n _vm._v(\" Medusa Info:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-python\" }),\n _vm._v(\" Python Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-ssl\" }),\n _vm._v(\" SSL Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-os\" }),\n _vm._v(\" OS:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-locale\" }),\n _vm._v(\" Locale:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-user\" }),\n _vm._v(\" User:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Program Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-config\" }),\n _vm._v(\" Config File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-db\" }),\n _vm._v(\" Database File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-cache\" }),\n _vm._v(\" Cache Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-log\" }),\n _vm._v(\" Log Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-arguments\" }),\n _vm._v(\" Arguments:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-folder\" }),\n _vm._v(\" Web Root:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-web\" }),\n _vm._v(\" Website:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-wiki\" }),\n _vm._v(\" Wiki:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-github\" }),\n _vm._v(\" Source:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-mirc\" }),\n _vm._v(\" IRC Chat:\")\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./config.vue?vue&type=template&id=25e028eb&\"\nimport script from \"./config.vue?vue&type=script&lang=js&\"\nexport * from \"./config.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n attrs: { id: \"configForm\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#post-processing\" } }, [\n _vm._v(\"Post Processing\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-naming\" } }, [\n _vm._v(\"Episode Naming\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#metadata\" } }, [\n _vm._v(\"Metadata\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"post-processing\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"process_automatically\",\n name: \"process_automatically\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.processAutomatically,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"processAutomatically\",\n $$v\n )\n },\n expression: \"postProcessing.processAutomatically\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.postProcessing.processAutomatically,\n expression: \"postProcessing.processAutomatically\"\n }\n ],\n attrs: { id: \"post-process-toggle-wrapper\" }\n },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"file-browser\", {\n attrs: {\n id: \"tv_download_dir\",\n name: \"tv_download_dir\",\n title: \"Select series download location\",\n \"initial-dir\":\n _vm.postProcessing.showDownloadDir\n },\n on: {\n update: function($event) {\n _vm.postProcessing.showDownloadDir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"clear-left\" }, [\n _vm._v(\n \"The folder where your download client puts the completed TV downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(5)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.processMethod,\n expression: \"postProcessing.processMethod\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"naming_multi_ep\",\n name: \"naming_multi_ep\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"processMethod\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.processMethods, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What method should be used to put files into the library?\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm.postProcessing.processMethod == \"reflink\"\n ? _c(\n \"p\",\n [\n _vm._v(\"To use reference linking, the \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.dereferer.org/?https://pypi.python.org/pypi/reflink/0.1.4\"\n }\n },\n [_vm._v(\"reflink package\")]\n ),\n _vm._v(\" needs to be installed.\")\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(8),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.postProcessing\n .autoPostprocessorFrequency,\n expression:\n \"postProcessing.autoPostprocessorFrequency\"\n }\n ],\n staticClass: \"form-control input-sm input75\",\n attrs: {\n type: \"number\",\n min: \"10\",\n step: \"1\",\n name: \"autopostprocessor_frequency\",\n id: \"autopostprocessor_frequency\"\n },\n domProps: {\n value:\n _vm.postProcessing.autoPostprocessorFrequency\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.postProcessing,\n \"autoPostprocessorFrequency\",\n $event.target.value\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Time in minutes to check for new files to auto post-process (min 10)\"\n )\n ])\n ])\n ])\n ]\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(9),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(10),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_sync_files\",\n name: \"postpone_if_sync_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfSyncFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfSyncFiles\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfSyncFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a folder if sync files are present.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(11),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"sync_files\",\n id: \"sync_files\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.syncFiles\n },\n on: {\n change: function($event) {\n _vm.postProcessing.syncFiles = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"comma seperated list of extensions or filename globs Medusa ignores when Post Processing\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(12),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_no_subs\",\n name: \"postpone_if_no_subs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfNoSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfNoSubs\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfNoSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a file until subtitles are present\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Language names are allowed in subtitle filename (en.srt, pt-br.srt, ita.srt, etc.)\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(13),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"If you have any active show with subtitle search disabled, you must enable Automatic post processor.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(14),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"rename_episodes\",\n name: \"rename_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.renameEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"renameEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.renameEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename episode using the Episode Naming settings?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(15),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"create_missing_show_dirs\",\n name: \"create_missing_show_dirs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.createMissingShowDirs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"createMissingShowDirs\",\n $$v\n )\n },\n expression: \"postProcessing.createMissingShowDirs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Create missing show directories when they get deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(16),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"add_shows_wo_dir\",\n name: \"add_shows_wo_dir\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.addShowsWithoutDir,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"addShowsWithoutDir\",\n $$v\n )\n },\n expression: \"postProcessing.addShowsWithoutDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add shows without creating a directory (not recommended)\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(17),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"move_associated_files\",\n name: \"move_associated_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.moveAssociatedFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"moveAssociatedFiles\",\n $$v\n )\n },\n expression: \"postProcessing.moveAssociatedFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete srt/srr/sfv/etc files while post processing?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"allowed_extensions\",\n id: \"allowed_extensions\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.allowedExtensions\n },\n on: {\n change: function($event) {\n _vm.postProcessing.allowedExtensions = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma seperated list of associated file extensions Medusa should keep while post processing.\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Leaving it empty means all associated files will be deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"nfo_rename\",\n name: \"nfo_rename\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.nfoRename,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"nfoRename\", $$v)\n },\n expression: \"postProcessing.nfoRename\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename the original .nfo file to .nfo-orig to avoid conflicts?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"airdate_episodes\",\n name: \"airdate_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.airdateEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"airdateEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.airdateEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Set last modified filedate to the date that the episode aired?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.fileTimestampTimezone,\n expression:\n \"postProcessing.fileTimestampTimezone\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"file_timestamp_timezone\",\n name: \"file_timestamp_timezone\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"fileTimestampTimezone\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timezoneOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What timezone should be used to change File Date?\"\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(22),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"unpack\",\n name: \"unpack\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.unpack,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"unpack\", $$v)\n },\n expression: \"postProcessing.unpack\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(23),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(24)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(25),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"del_rar_contents\",\n name: \"del_rar_contents\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.deleteRarContent,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"deleteRarContent\",\n $$v\n )\n },\n expression: \"postProcessing.deleteRarContent\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete content of RAR files, even if Process Method not set to move?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(26),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"no_delete\",\n name: \"no_delete\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.noDelete,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"noDelete\", $$v)\n },\n expression: \"postProcessing.noDelete\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Leave empty folders when Post Processing?\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(27)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(28),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"extra_scripts\",\n id: \"extra_scripts\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.extraScripts\n },\n on: {\n change: function($event) {\n _vm.postProcessing.extraScripts = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\"See \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wikie\",\n attrs: {\n href: _vm.postProcessing.extraScriptsUrl\n }\n },\n [_c(\"strong\", [_vm._v(\"Wiki\")])]\n ),\n _vm._v(\n \" for script arguments description and usage.\"\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-naming\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n \"naming-pattern\": _vm.postProcessing.naming.pattern,\n \"naming-presets\": _vm.presets,\n \"multi-ep-style\": _vm.postProcessing.naming.multiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNaming }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternSports,\n \"naming-presets\": _vm.presets,\n type: \"sports\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingSports }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAirByDate,\n \"naming-presets\": _vm.presets,\n type: \"airs by date\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAbd }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAnime,\n \"naming-presets\": _vm.presets,\n type: \"anime\",\n \"multi-ep-style\":\n _vm.postProcessing.naming.animeMultiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"anime-naming-type\":\n _vm.postProcessing.naming.animeNamingType,\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAnime }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group component-item\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"naming_strip_year\",\n name: \"naming_strip_year\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.naming.stripYear,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing.naming,\n \"stripYear\",\n $$v\n )\n },\n expression: \"postProcessing.naming.stripYear\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Remove the TV show's year when renaming the file?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to shows that have year inside parentheses\"\n )\n ])\n ],\n 1\n )\n ])\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"metadata\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.metadataProviderSelected,\n expression: \"metadataProviderSelected\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"metadataType\",\n name: \"metadataType\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.metadataProviderSelected = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.metadataProviders, function(option) {\n return _c(\n \"option\",\n {\n key: option.id,\n domProps: { value: option.id }\n },\n [_vm._v(_vm._s(option.name))]\n )\n })\n ),\n _vm._v(\" \"),\n _vm._m(33)\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.metadataProviders, function(provider) {\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n provider.id === _vm.metadataProviderSelected,\n expression:\n \"provider.id === metadataProviderSelected\"\n }\n ],\n key: provider.id,\n staticClass: \"metadataDiv\",\n attrs: { id: \"provider.id\" }\n },\n [\n _c(\n \"div\",\n { staticClass: \"metadata_options_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Create:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_options\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.showMetadata,\n expression: \"provider.showMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_show_metadata\"\n },\n domProps: {\n checked: Array.isArray(\n provider.showMetadata\n )\n ? _vm._i(\n provider.showMetadata,\n null\n ) > -1\n : provider.showMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.showMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"showMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Show Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeMetadata,\n expression:\n \"provider.episodeMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_episode_metadata\",\n disabled: provider.example.episodeMetadata.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeMetadata\n )\n ? _vm._i(\n provider.episodeMetadata,\n null\n ) > -1\n : provider.episodeMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.episodeMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.fanart,\n expression: \"provider.fanart\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_fanart\",\n disabled: provider.example.fanart.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.fanart\n )\n ? _vm._i(provider.fanart, null) > -1\n : provider.fanart\n },\n on: {\n change: function($event) {\n var $$a = provider.fanart,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"fanart\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Fanart\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.poster,\n expression: \"provider.poster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_poster\",\n disabled: provider.example.poster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.poster\n )\n ? _vm._i(provider.poster, null) > -1\n : provider.poster\n },\n on: {\n change: function($event) {\n var $$a = provider.poster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"poster\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.banner,\n expression: \"provider.banner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_banner\",\n disabled: provider.example.banner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.banner\n )\n ? _vm._i(provider.banner, null) > -1\n : provider.banner\n },\n on: {\n change: function($event) {\n var $$a = provider.banner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"banner\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Banner\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeThumbnails,\n expression:\n \"provider.episodeThumbnails\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_episode_thumbnails\",\n disabled: provider.example.episodeThumbnails.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeThumbnails\n )\n ? _vm._i(\n provider.episodeThumbnails,\n null\n ) > -1\n : provider.episodeThumbnails\n },\n on: {\n change: function($event) {\n var $$a =\n provider.episodeThumbnails,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Thumbnails\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonPosters,\n expression: \"provider.seasonPosters\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_posters\",\n disabled: provider.example.seasonPosters.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonPosters\n )\n ? _vm._i(\n provider.seasonPosters,\n null\n ) > -1\n : provider.seasonPosters\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonPosters,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Posters\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonBanners,\n expression: \"provider.seasonBanners\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_banners\",\n disabled: provider.example.seasonBanners.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonBanners\n )\n ? _vm._i(\n provider.seasonBanners,\n null\n ) > -1\n : provider.seasonBanners\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonBanners,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Banners\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllPoster,\n expression:\n \"provider.seasonAllPoster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_poster\",\n disabled: provider.example.seasonAllPoster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllPoster\n )\n ? _vm._i(\n provider.seasonAllPoster,\n null\n ) > -1\n : provider.seasonAllPoster\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllPoster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllBanner,\n expression:\n \"provider.seasonAllBanner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_banner\",\n disabled: provider.example.seasonAllBanner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllBanner\n )\n ? _vm._i(\n provider.seasonAllBanner,\n null\n ) > -1\n : provider.seasonAllBanner\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllBanner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Banner\")\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"metadata_example_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Results:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_example\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.showMetadata\n },\n attrs: {\n id:\n provider.id + \"_eg_show_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .showMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeMetadata\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.fanart },\n attrs: {\n id: provider.id + \"_eg_fanart\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.fanart +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.poster },\n attrs: {\n id: provider.id + \"_eg_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.poster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.banner },\n attrs: {\n id: provider.id + \"_eg_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.banner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeThumbnails\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_thumbnails\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeThumbnails +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonPosters\n },\n attrs: {\n id:\n provider.id + \"_eg_season_posters\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonPosters +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonBanners\n },\n attrs: {\n id:\n provider.id + \"_eg_season_banners\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonBanners +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllPoster\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllPoster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllBanner\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllBanner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n )\n ])\n ]\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n }),\n _c(\"br\")\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.config.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Scheduled Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Settings that dictate how Medusa should process completed downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The scheduled postprocessor will periodically scan a folder for media to process.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_automatically\" }\n },\n [_c(\"span\", [_vm._v(\"Scheduled Postprocessor\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Enable the scheduled post processor to scan and process any files in your \"\n ),\n _c(\"i\", [_vm._v(\"Post Processing Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Do not use if you use an external Post Processing script\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"tv_download_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Post Processing Dir\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Please use seperate downloading and completed folders in your download client if possible.\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_method\" }\n },\n [_c(\"span\", [_vm._v(\"Processing Method\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" If you keep seeding torrents after they finish, please avoid the 'move' processing method to prevent errors.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"autopostprocessor_frequency\" }\n },\n [_c(\"span\", [_vm._v(\"Auto Post-Processing Frequency\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Generic postprocessing settings that apply both to the scheduled postprocessor as external scripts\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_sync_files\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone post processing\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"sync_files\" } },\n [_c(\"span\", [_vm._v(\"Sync File Extensions\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_no_subs\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone if no subtitle\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Automatic post processor should be disabled to avoid files with pending subtitles being processed over and over.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"rename_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Rename Episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"create_missing_show_dirs\" }\n },\n [_c(\"span\", [_vm._v(\"Create missing show directories\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"add_shows_wo_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Add shows without directory\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"move_associated_files\" }\n },\n [_c(\"span\", [_vm._v(\"Delete associated files\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Keep associated file extensions\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"nfo_rename\" } },\n [_c(\"span\", [_vm._v(\"Rename .nfo file\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"airdate_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Change File Date\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"file_timestamp_timezone\" }\n },\n [_c(\"span\", [_vm._v(\"Timezone for File Date:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"unpack\" } },\n [_c(\"span\", [_vm._v(\"Unpack\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _vm._v(\"Unpack any TV releases in your \"),\n _c(\"i\", [_vm._v(\"TV Download Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Only working with RAR archive\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"del_rar_contents\" }\n },\n [_c(\"span\", [_vm._v(\"Delete RAR contents\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"no_delete\" } },\n [_c(\"span\", [_vm._v(\"Don't delete empty folders\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Can be overridden using manual Post Processing\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Extra Scripts\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Episode Naming\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How Medusa will name and sort your episodes.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_strip_year\" }\n },\n [_c(\"span\", [_vm._v(\"Strip Show Year\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Metadata\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"metadataType\" } },\n [_c(\"span\", [_vm._v(\"Metadata Type\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"d-block\" }, [\n _vm._v(\"Toggle the metadata options that you wish to be created. \"),\n _c(\"b\", [_vm._v(\"Multiple targets may be used.\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-post-processing.vue?vue&type=template&id=56ae3750&\"\nimport script from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nexport * from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-post-processing.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-post-processing.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n class: _vm.inputClass,\n attrs: { type: \"text\" },\n domProps: { value: _vm.localValue },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n }\n }\n },\n \"input\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox.vue?vue&type=template&id=a46a5978&\"\nimport script from \"./config-textbox.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-number-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n class: _vm.inputClass,\n attrs: { type: \"number\", name: _vm.id },\n domProps: { value: _vm.localValue }\n },\n \"input\",\n { min: _vm.min, step: _vm.step, id: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox-number.vue?vue&type=template&id=58eed65e&\"\nimport script from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox-number.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox-number.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-toggle-slider-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"toggle-button\",\n _vm._b(\n {\n attrs: { width: 45, height: 22, sync: \"\" },\n model: {\n value: _vm.localChecked,\n callback: function($$v) {\n _vm.localChecked = $$v\n },\n expression: \"localChecked\"\n }\n },\n \"toggle-button\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-toggle-slider.vue?vue&type=template&id=0697d59e&\"\nimport script from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-toggle-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-toggle-slider.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./display-show.vue?vue&type=script&lang=js&\"\nexport * from \"./display-show.vue?vue&type=script&lang=js&\"\nimport style0 from \"./display-show.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"display-show.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"home.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"iframe\", {\n staticClass: \"irc-frame loading-spinner\",\n attrs: { src: _vm.frameSrc }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./irc.vue?vue&type=template&id=60f89f30&scoped=true&\"\nimport script from \"./irc.vue?vue&type=script&lang=js&\"\nexport * from \"./irc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./irc.vue?vue&type=style&index=0&id=60f89f30&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60f89f30\",\n null\n \n)\n\ncomponent.options.__file = \"irc.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"select\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./language-select.vue?vue&type=template&id=6ec994bc&\"\nimport script from \"./language-select.vue?vue&type=script&lang=js&\"\nexport * from \"./language-select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./language-select.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"language-select.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"login\" }, [\n _c(\"form\", { attrs: { action: \"\", method: \"post\" } }, [\n _c(\"h1\", [_vm._v(\"Medusa\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"username\",\n type: \"text\",\n placeholder: \"Username\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"password\",\n type: \"password\",\n placeholder: \"Password\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\n \"label\",\n { staticClass: \"remember_me\", attrs: { title: \"for 30 days\" } },\n [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n id: \"remember_me\",\n name: \"remember_me\",\n type: \"checkbox\",\n value: \"1\",\n checked: \"checked\"\n }\n }),\n _vm._v(\" Remember me\")\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button\",\n attrs: { name: \"submit\", type: \"submit\", value: \"Login\" }\n })\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=013dd286&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nexport * from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nimport style0 from \"./manual-post-process.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manual-post-process.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"root-dirs-wrapper\" } }, [\n _c(\"div\", { staticClass: \"root-dirs-selectbox\" }, [\n _c(\n \"select\",\n _vm._g(\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedRootDir,\n expression: \"selectedRootDir\"\n }\n ],\n ref: \"rootDirs\",\n attrs: { name: \"rootDir\", id: \"rootDirs\", size: \"6\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedRootDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n \"select\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n _vm._l(_vm.rootDirs, function(curDir) {\n return _c(\n \"option\",\n { key: curDir.path, domProps: { value: curDir.path } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm._f(\"markDefault\")(curDir)) +\n \"\\n \"\n )\n ]\n )\n })\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"root-dirs-controls\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.add($event)\n }\n }\n },\n [_vm._v(\"New\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.edit($event)\n }\n }\n },\n [_vm._v(\"Edit\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.remove($event)\n }\n }\n },\n [_vm._v(\"Delete\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.setDefault($event)\n }\n }\n },\n [_vm._v(\"Set as Default *\")]\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./root-dirs.vue?vue&type=template&id=76f972d6&\"\nimport script from \"./root-dirs.vue?vue&type=script&lang=js&\"\nexport * from \"./root-dirs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./root-dirs.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"root-dirs.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"scroll-buttons-wrapper\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper top\",\n class: { show: _vm.showToTop },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollTop($event)\n }\n }\n },\n [_vm._m(0)]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper left\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-left-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-left\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollLeft($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper right\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-right-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-right\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollRight($event)\n }\n }\n })\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"scroll-top-inner\" }, [\n _c(\"i\", { staticClass: \"glyphicon glyphicon-circle-arrow-up\" })\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./scroll-buttons.vue?vue&type=template&id=bf6f6212&\"\nimport script from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nexport * from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scroll-buttons.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"scroll-buttons.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.shows.length === 0\n ? _c(\"span\", [_vm._v(\"Loading...\")])\n : _c(\"div\", { staticClass: \"show-selector form-inline hidden-print\" }, [\n _c(\n \"div\",\n { staticClass: \"select-show-group pull-left top-5 bottom-5\" },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedShowSlug,\n expression: \"selectedShowSlug\"\n }\n ],\n staticClass: \"select-show form-control input-sm-custom\",\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedShowSlug = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _vm.whichList === -1\n ? _vm._l(_vm.showLists, function(curShowList) {\n return _c(\n \"optgroup\",\n {\n key: curShowList.type,\n attrs: { label: curShowList.type }\n },\n _vm._l(curShowList.shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n )\n })\n : _vm._l(_vm.showLists[_vm.whichList].shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n ],\n 2\n )\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./show-selector.vue?vue&type=template&id=d995f0f2&\"\nimport script from \"./show-selector.vue?vue&type=script&lang=js&\"\nexport * from \"./show-selector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./show-selector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"show-selector.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nexport * from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./snatch-selection.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"snatch-selection.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./status.vue?vue&type=script&lang=js&\"\nexport * from \"./status.vue?vue&type=script&lang=js&\"\nimport style0 from \"./status.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"status.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _vm._v(\"You have reached this page by accident, please check the url.\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=a851d9c2&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"404.vue\"\nexport default component.exports","export { default as AddRecommended } from './add-recommended.vue';\nexport { default as AddShows } from './add-shows.vue';\nexport { default as AnidbReleaseGroupUi } from './anidb-release-group-ui.vue';\nexport { default as AppHeader } from './app-header.vue';\nexport { default as AppLink } from './app-link.vue';\nexport { default as Asset } from './asset.vue';\nexport { default as Backstretch } from './backstretch.vue';\nexport { default as Config } from './config.vue';\nexport { default as ConfigPostProcessing } from './config-post-processing.vue';\nexport { default as ConfigTextbox } from './config-textbox.vue';\nexport { default as ConfigTextboxNumber } from './config-textbox-number.vue';\nexport { default as ConfigToggleSlider } from './config-toggle-slider.vue';\nexport { default as DisplayShow } from './display-show.vue';\nexport { default as FileBrowser } from './file-browser.vue';\nexport { default as Home } from './home.vue';\nexport { default as IRC } from './irc.vue';\nexport { default as LanguageSelect } from './language-select.vue';\nexport { default as Login } from './login.vue';\nexport { default as ManualPostProcess } from './manual-post-process.vue';\nexport { default as NamePattern } from './name-pattern.vue';\nexport { default as PlotInfo } from './plot-info.vue';\nexport { default as RootDirs } from './root-dirs.vue';\nexport { default as ScrollButtons } from './scroll-buttons.vue';\nexport { default as SelectList } from './select-list.vue';\nexport { default as ShowSelector } from './show-selector.vue';\nexport { default as SnatchSelection } from './snatch-selection.vue';\nexport { default as Status } from './status.vue';\nexport { NotFound } from './http';\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-link.vue?vue&type=template&id=02dcacd2&\"\nimport script from \"./app-link.vue?vue&type=script&lang=js&\"\nexport * from \"./app-link.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-link.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-link.vue\"\nexport default component.exports","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","module.exports = require('./lib/axios');","const isDevelopment = process.env.NODE_ENV === 'development';\n\nexport {\n isDevelopment\n};\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-list.vue?vue&type=template&id=61c628b2&scoped=true&\"\nimport script from \"./select-list.vue?vue&type=script&lang=js&\"\nexport * from \"./select-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-list.vue?vue&type=style&index=0&id=61c628b2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61c628b2\",\n null\n \n)\n\ncomponent.options.__file = \"select-list.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"file-browser max-width\" }, [\n _c(\n \"div\",\n { class: _vm.showBrowseButton ? \"input-group\" : \"input-group-no-btn\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPath,\n expression: \"currentPath\"\n }\n ],\n ref: \"locationInput\",\n staticClass: \"form-control input-sm fileBrowserField\",\n attrs: { name: _vm.name, type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.currentPath = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _vm.showBrowseButton\n ? _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { title: _vm.title, alt: _vm.title },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.openDialog($event)\n }\n }\n },\n [_vm._m(0)]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n ref: \"fileBrowserDialog\",\n staticClass: \"fileBrowserDialog\",\n staticStyle: { display: \"none\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: \"fileBrowserSearchBox\",\n staticClass: \"form-control\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n keyup: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n _vm.browse($event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { ref: \"fileBrowserFileList\", staticStyle: { display: \"none\" } },\n _vm._l(_vm.files, function(file) {\n return _c(\n \"li\",\n { key: file.name, staticClass: \"ui-state-default ui-corner-all\" },\n [\n _c(\n \"a\",\n {\n on: {\n mouseover: function($event) {\n _vm.toggleFolder(file, $event)\n },\n mouseout: function($event) {\n _vm.toggleFolder(file, $event)\n },\n click: function($event) {\n _vm.fileClicked(file)\n }\n }\n },\n [\n _c(\"span\", {\n class:\n \"ui-icon \" +\n (file.isFile ? \"ui-icon-blank\" : \"ui-icon-folder-collapsed\")\n }),\n _vm._v(\" \" + _vm._s(file.name) + \"\\n \")\n ]\n )\n ]\n )\n })\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [_c(\"i\", { staticClass: \"glyphicon glyphicon-open\" })]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./file-browser.vue?vue&type=template&id=1113705a&scoped=true&\"\nimport script from \"./file-browser.vue?vue&type=script&lang=js&\"\nexport * from \"./file-browser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./file-browser.vue?vue&type=style&index=0&id=1113705a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1113705a\",\n null\n \n)\n\ncomponent.options.__file = \"file-browser.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"name-pattern-wrapper\" } }, [\n _vm.type\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"enable_naming_custom\" }\n },\n [_c(\"span\", [_vm._v(\"Custom \" + _vm._s(_vm.type))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"enable_naming_custom\",\n name: \"enable_naming_custom\",\n sync: \"\"\n },\n on: {\n input: function($event) {\n _vm.update()\n }\n },\n model: {\n value: _vm.isEnabled,\n callback: function($$v) {\n _vm.isEnabled = $$v\n },\n expression: \"isEnabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Name \" +\n _vm._s(_vm.type) +\n \" shows differently than regular shows?\"\n )\n ])\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.type || _vm.isEnabled\n ? _c(\"div\", { staticClass: \"episode-naming\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedNamingPattern,\n expression: \"selectedNamingPattern\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"name_presets\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedNamingPattern = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n },\n _vm._l(_vm.presets, function(preset) {\n return _c(\n \"option\",\n { key: preset.pattern, attrs: { id: preset.pattern } },\n [_vm._v(_vm._s(preset.example))]\n )\n })\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"naming_custom\" } }, [\n _vm.isCustom\n ? _c(\n \"div\",\n {\n staticClass: \"form-group\",\n staticStyle: { \"padding-top\": \"0\" }\n },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customName,\n expression: \"customName\"\n }\n ],\n staticClass:\n \"form-control-inline-max input-sm max-input350\",\n attrs: {\n type: \"text\",\n name: \"naming_pattern\",\n id: \"naming_pattern\"\n },\n domProps: { value: _vm.customName },\n on: {\n change: _vm.updatePatternSamples,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.customName = $event.target.value\n },\n function($event) {\n _vm.update()\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\"img\", {\n staticClass: \"legend\",\n attrs: {\n src: \"images/legend16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"[Toggle Key]\",\n id: \"show_naming_key\",\n title: \"Toggle Naming Legend\"\n },\n on: {\n click: function($event) {\n _vm.showLegend = !_vm.showLegend\n }\n }\n })\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLegend && _vm.isCustom\n ? _c(\n \"div\",\n { staticClass: \"nocheck\", attrs: { id: \"naming_key\" } },\n [\n _c(\"table\", { staticClass: \"Key\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"tbody\", [\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%M\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%D\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Y\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CM\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CD\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CY\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28)\n ])\n ])\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.selectedMultiEpStyle\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedMultiEpStyle,\n expression: \"selectedMultiEpStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"naming_multi_ep\", name: \"naming_multi_ep\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedMultiEpStyle = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update($event)\n }\n }\n },\n _vm._l(_vm.availableMultiEpStyles, function(multiEpStyle) {\n return _c(\n \"option\",\n {\n key: multiEpStyle.value,\n attrs: { id: \"multiEpStyle\" },\n domProps: { value: multiEpStyle.value }\n },\n [_vm._v(_vm._s(multiEpStyle.text))]\n )\n })\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Single-EP Sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n { staticClass: \"jumbo\", attrs: { id: \"naming_example\" } },\n [_vm._v(_vm._s(_vm.namingExample))]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.isMulti\n ? _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Multi-EP sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n {\n staticClass: \"jumbo\",\n attrs: { id: \"naming_example_multi\" }\n },\n [_vm._v(_vm._s(_vm.namingExampleMulti))]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime\",\n value: \"1\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"1\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"1\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add the absolute number to the season/episode format?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\"\n )\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_only\",\n value: \"2\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"2\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"2\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Replace season/episode format with absolute number\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_none\",\n value: \"3\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"3\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"3\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Don't include the absolute number\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"name_presets\" } },\n [_c(\"span\", [_vm._v(\"Name Pattern:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { staticClass: \"align-right\" }, [_vm._v(\"Meaning\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Pattern\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"60%\" } }, [_vm._v(\"Result\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tfoot\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { colspan: \"3\" } }, [\n _vm._v(\n \"Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Show Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%EN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Air Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Post-Processing Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [_c(\"b\", [_vm._v(\"Quality:\")])]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%QN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Scene Quality:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p HDTV x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.HDTV.x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_HDTV_x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"Multi-EP style is ignored\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: {\n title:\n \"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Group:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RG\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"If episode is proper/repack add 'proper' to name.\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Type:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RT\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"PROPER\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_multi_ep\" }\n },\n [_c(\"span\", [_vm._v(\"Multi-Episode Style:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"naming_anime\" } },\n [_c(\"span\", [_vm._v(\"Add Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_only\" }\n },\n [_c(\"span\", [_vm._v(\"Only Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_none\" }\n },\n [_c(\"span\", [_vm._v(\"No Absolute Number\")])]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./name-pattern.vue?vue&type=template&id=0cdf1284&\"\nimport script from \"./name-pattern.vue?vue&type=script&lang=js&\"\nexport * from \"./name-pattern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./name-pattern.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"name-pattern.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n class: _vm.plotInfoClass,\n attrs: { src: \"images/info32.png\", width: \"16\", height: \"16\", alt: \"\" }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./plot-info.vue?vue&type=template&id=3a3c4424&\"\nimport script from \"./plot-info.vue?vue&type=script&lang=js&\"\nexport * from \"./plot-info.vue?vue&type=script&lang=js&\"\nimport style0 from \"./plot-info.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"plot-info.vue\"\nexport default component.exports","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueNativeSock=t():e.VueNativeSock=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=1)}([function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n-1)&&(o.splice(r,1),this.listeners.set(e,o),!0)}},{key:\"emit\",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw new Error(\"[vue-native-socket] cannot locate connection\");var o=null;n.$setInstance=function(t){e.prototype.$socket=t},n.connectManually?(e.prototype.$connect=function(){o=new i.default(t,n),e.prototype.$socket=o.WebSocket},e.prototype.$disconnect=function(){o&&o.reconnection&&(o.reconnection=!1),e.prototype.$socket&&(e.prototype.$socket.close(),delete e.prototype.$socket)}):(o=new i.default(t,n),e.prototype.$socket=o.WebSocket),e.mixin({created:function(){var e=this,t=this,n=this.$options.sockets;this.$options.sockets=new Proxy({},{set:function(e,n,o){return s.default.addListener(n,o,t),e[n]=o,!0},deleteProperty:function(e,n){return s.default.removeListener(n,t.$options.sockets[n],t),delete e.key,!0}}),n&&Object.keys(n).forEach(function(t){e.$options.sockets[t]=n[t]})},beforeDestroy:function(){var e=this,t=this.$options.sockets;t&&Object.keys(t).forEach(function(t){delete e.$options.sockets[t]})}})}}},function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.format=n.format&&n.format.toLowerCase(),this.connectionUrl=t,this.opts=n,this.reconnection=this.opts.reconnection||!1,this.reconnectionAttempts=this.opts.reconnectionAttempts||1/0,this.reconnectionDelay=this.opts.reconnectionDelay||1e3,this.reconnectTimeoutId=0,this.reconnectionCount=0,this.passToStoreHandler=this.opts.passToStoreHandler||!1,this.connect(t,n),n.store&&(this.store=n.store),this.onEvent()}return r(e,[{key:\"connect\",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.protocol||\"\";return this.WebSocket=n.WebSocket||(\"\"===o?new WebSocket(e):new WebSocket(e,o)),\"json\"===this.format&&(\"sendObj\"in this.WebSocket||(this.WebSocket.sendObj=function(e){return t.WebSocket.send(JSON.stringify(e))})),this.WebSocket}},{key:\"reconnect\",value:function(){var e=this;this.reconnectionCount<=this.reconnectionAttempts?(this.reconnectionCount++,clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout(function(){e.store&&e.passToStore(\"SOCKET_RECONNECT\",e.reconnectionCount),e.connect(e.connectionUrl,e.opts),e.onEvent()},this.reconnectionDelay)):this.store&&this.passToStore(\"SOCKET_RECONNECT_ERROR\",!0)}},{key:\"onEvent\",value:function(){var e=this;[\"onmessage\",\"onclose\",\"onerror\",\"onopen\"].forEach(function(t){e.WebSocket[t]=function(n){c.default.emit(t,n),e.store&&e.passToStore(\"SOCKET_\"+t,n),e.reconnection&&\"onopen\"===t&&(e.opts.$setInstance(n.currentTarget),e.reconnectionCount=0),e.reconnection&&\"onclose\"===t&&e.reconnect()}})}},{key:\"passToStore\",value:function(e,t){this.passToStoreHandler?this.passToStoreHandler(e,t,this.defaultPassToStore.bind(this)):this.defaultPassToStore(e,t)}},{key:\"defaultPassToStore\",value:function(e,t){if(e.startsWith(\"SOCKET_\")){var n=\"commit\",o=e.toUpperCase(),r=t;\"json\"===this.format&&t.data&&(r=JSON.parse(t.data),r.mutation?o=[r.namespace||\"\",r.mutation].filter(function(e){return!!e}).join(\"/\"):r.action&&(n=\"dispatch\",o=[r.namespace||\"\",r.action].filter(function(e){return!!e}).join(\"/\"))),this.store[n](o,r)}}}]),e}();t.default=s}])});","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (global, factory) {\n (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.AsyncComputed = factory();\n})(this, function () {\n 'use strict';\n\n function isComputedLazy(item) {\n return item.hasOwnProperty('lazy') && item.lazy;\n }\n\n function isLazyActive(vm, key) {\n return vm[lazyActivePrefix + key];\n }\n\n var lazyActivePrefix = 'async_computed$lazy_active$',\n lazyDataPrefix = 'async_computed$lazy_data$';\n\n function initLazy(data, key) {\n data[lazyActivePrefix + key] = false;\n data[lazyDataPrefix + key] = null;\n }\n\n function makeLazyComputed(key) {\n return {\n get: function get() {\n this[lazyActivePrefix + key] = true;\n return this[lazyDataPrefix + key];\n },\n set: function set(value) {\n this[lazyDataPrefix + key] = value;\n }\n };\n }\n\n function silentSetLazy(vm, key, value) {\n vm[lazyDataPrefix + key] = value;\n }\n function silentGetLazy(vm, key) {\n return vm[lazyDataPrefix + key];\n }\n\n var prefix = '_async_computed$';\n var DidNotUpdate = typeof Symbol === 'function' ? Symbol('did-not-update') : {};\n\n var AsyncComputed = {\n install: function install(Vue, pluginOptions) {\n pluginOptions = pluginOptions || {};\n\n Vue.config.optionMergeStrategies.asyncComputed = Vue.config.optionMergeStrategies.computed;\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n var optionData = this.$options.data;\n\n if (!this.$options.computed) this.$options.computed = {};\n\n for (var key in this.$options.asyncComputed || {}) {\n this.$options.computed[prefix + key] = getterFn(key, this.$options.asyncComputed[key]);\n }\n\n this.$options.data = function vueAsyncComputedInjectedDataFn() {\n var data = (typeof optionData === 'function' ? optionData.call(this) : optionData) || {};\n for (var _key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[_key];\n if (isComputedLazy(item)) {\n initLazy(data, _key);\n this.$options.computed[_key] = makeLazyComputed(_key);\n } else {\n data[_key] = null;\n }\n }\n return data;\n };\n },\n created: function created() {\n var _this = this;\n\n for (var key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[key],\n value = generateDefault.call(this, item, pluginOptions);\n if (isComputedLazy(item)) {\n silentSetLazy(this, key, value);\n } else {\n this[key] = value;\n }\n }\n\n var _loop = function _loop(_key2) {\n var promiseId = 0;\n _this.$watch(prefix + _key2, function (newPromise) {\n var thisPromise = ++promiseId;\n\n if (newPromise === DidNotUpdate) {\n return;\n }\n\n if (!newPromise || !newPromise.then) {\n newPromise = Promise.resolve(newPromise);\n }\n\n newPromise.then(function (value) {\n if (thisPromise !== promiseId) return;\n _this[_key2] = value;\n }).catch(function (err) {\n if (thisPromise !== promiseId) return;\n\n if (pluginOptions.errorHandler === false) return;\n\n var handler = pluginOptions.errorHandler === undefined ? console.error.bind(console, 'Error evaluating async computed property:') : pluginOptions.errorHandler;\n\n if (pluginOptions.useRawError) {\n handler(err);\n } else {\n handler(err.stack);\n }\n });\n }, { immediate: true });\n };\n\n for (var _key2 in this.$options.asyncComputed || {}) {\n _loop(_key2);\n }\n }\n });\n }\n };\n\n function getterFn(key, fn) {\n if (typeof fn === 'function') return fn;\n\n var getter = fn.get;\n\n if (fn.hasOwnProperty('watch')) {\n var previousGetter = getter;\n getter = function getter() {\n fn.watch.call(this);\n return previousGetter.call(this);\n };\n }\n\n if (fn.hasOwnProperty('shouldUpdate')) {\n var _previousGetter = getter;\n getter = function getter() {\n if (fn.shouldUpdate.call(this)) {\n return _previousGetter.call(this);\n }\n return DidNotUpdate;\n };\n }\n\n if (isComputedLazy(fn)) {\n var nonLazy = getter;\n getter = function lazyGetter() {\n if (isLazyActive(this, key)) {\n return nonLazy.call(this);\n } else {\n return silentGetLazy(this, key);\n }\n };\n }\n return getter;\n }\n\n function generateDefault(fn, pluginOptions) {\n var defaultValue = null;\n\n if ('default' in fn) {\n defaultValue = fn.default;\n } else if ('default' in pluginOptions) {\n defaultValue = pluginOptions.default;\n }\n\n if (typeof defaultValue === 'function') {\n return defaultValue.call(this);\n } else {\n return defaultValue;\n }\n }\n\n /* istanbul ignore if */\n if (typeof window !== 'undefined' && window.Vue) {\n // Auto install in dist mode\n window.Vue.use(AsyncComputed);\n }\n\n return AsyncComputed;\n});\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-js-toggle-button\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-js-toggle-button\"] = factory(root[\"vue\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 81b0bbab2ea7705a026e","\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Button.vue\")\n\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Button.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\"}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Button.vue\"),\n /* scopeId */\n \"data-v-25adc6c0\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Button.vue\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"vue\"\n// module id = 1\n// module chunks = 0","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// Button.vue?3b36fc63","import Vue from 'vue'\nimport Button from './Button.vue'\n\nconst plugin = {\n install(Vue, options) {\n \tVue.component('ToggleButton', Button)\n }\n}\n\nexport default plugin\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".vue-js-switch[data-v-25adc6c0]{display:inline-block;position:relative;overflow:hidden;vertical-align:middle;user-select:none;font-size:10px;cursor:pointer}.vue-js-switch .v-switch-input[data-v-25adc6c0]{display:none}.vue-js-switch .v-switch-label[data-v-25adc6c0]{position:absolute;top:0;font-weight:600;color:#fff}.vue-js-switch .v-switch-label.v-left[data-v-25adc6c0]{left:10px}.vue-js-switch .v-switch-label.v-right[data-v-25adc6c0]{right:10px}.vue-js-switch .v-switch-core[data-v-25adc6c0]{display:block;position:relative;box-sizing:border-box;outline:0;margin:0;transition:border-color .3s,background-color .3s;user-select:none}.vue-js-switch .v-switch-core .v-switch-button[data-v-25adc6c0]{display:block;position:absolute;overflow:hidden;top:0;left:0;transform:translate3d(3px,3px,0);border-radius:100%;background-color:#fff}.vue-js-switch.disabled[data-v-25adc6c0]{pointer-events:none;opacity:.6}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-compiler?{\"id\":\"data-v-25adc6c0\",\"scoped\":true,\"hasInlineConfig\":false}!./~/sass-loader/lib/loader.js!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Button.vue\n// module id = 4\n// module chunks = 0","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 5\n// module chunks = 0","// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 6\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('label', {\n class: _vm.className,\n attrs: {\n \"role\": \"checkbox\",\n \"aria-checked\": _vm.ariaChecked\n }\n }, [_c('input', {\n staticClass: \"v-switch-input\",\n attrs: {\n \"type\": \"checkbox\",\n \"name\": _vm.name\n },\n on: {\n \"change\": function($event) {\n $event.stopPropagation();\n return _vm.toggle($event)\n }\n }\n }), _vm._v(\" \"), _c('div', {\n staticClass: \"v-switch-core\",\n style: (_vm.coreStyle)\n }, [_c('div', {\n staticClass: \"v-switch-button\",\n style: (_vm.buttonStyle)\n })]), _vm._v(\" \"), (_vm.labels) ? [(_vm.toggled) ? _c('span', {\n staticClass: \"v-switch-label v-left\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelChecked)\n }\n }) : _c('span', {\n staticClass: \"v-switch-label v-right\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelUnchecked)\n }\n })] : _vm._e()], 2)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-25adc6c0\"}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Button.vue\n// module id = 7\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./add-recommended.vue?vue&type=template&id=2e36e3d5&\"\nimport script from \"./add-recommended.vue?vue&type=script&lang=js&\"\nexport * from \"./add-recommended.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-recommended.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-recommended.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/newShow/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addnewshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add New Show\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option finds a show on your preferred indexer, creates a directory for it's episodes, and adds it to Medusa.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/existingShows/\", id: \"btnExistingShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addexistingshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add Existing Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Use this option to add shows that already have a folder created on your hard drive. Medusa will scan your existing metadata/episodes and add the show accordingly.\"\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./add-shows.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./add-shows.vue?vue&type=template&id=6b540b82&\"\nimport script from \"./add-shows.vue?vue&type=script&lang=js&\"\nexport * from \"./add-shows.vue?vue&type=script&lang=js&\"\nimport style0 from \"./add-shows.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"add-shows.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"anidb-release-group-ui-wrapper top-10 max-width\" },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-4 left-whitelist\" }, [\n _c(\"span\", [_vm._v(\"Whitelist\")]),\n _vm.showDeleteFromWhitelist\n ? _c(\"img\", {\n staticClass: \"deleteFromWhitelist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"whitelist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsWhitelist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"whitelist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 center-available\" }, [\n _c(\"span\", [_vm._v(\"Release groups\")]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsReleaseGroups, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n staticClass: \"initial\",\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"releasegroups\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 right-blacklist\" }, [\n _c(\"span\", [_vm._v(\"Blacklist\")]),\n _vm.showDeleteFromBlacklist\n ? _c(\"img\", {\n staticClass: \"deleteFromBlacklist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n _vm.deleteFromList(\"blacklist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsBlacklist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n _vm.moveToList(\"blacklist\")\n }\n }\n },\n [_c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } })]\n )\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\", attrs: { id: \"add-new-release-group\" } },\n [\n _c(\"div\", { staticClass: \"col-md-4\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newGroup,\n expression: \"newGroup\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add custom group\" },\n domProps: { value: _vm.newGroup },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newGroup = $event.target.value\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _vm._m(0)\n ]\n )\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\"p\", [\n _vm._v(\n \"Use the input to add custom whitelist / blacklist release groups. Click on the \"\n ),\n _c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } }),\n _vm._v(\" to add it to the correct list.\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./anidb-release-group-ui.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./anidb-release-group-ui.vue?vue&type=template&id=2f0b049c&scoped=true&\"\nimport script from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nexport * from \"./anidb-release-group-ui.vue?vue&type=script&lang=js&\"\nimport style0 from \"./anidb-release-group-ui.vue?vue&type=style&index=0&id=2f0b049c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2f0b049c\",\n null\n \n)\n\ncomponent.options.__file = \"anidb-release-group-ui.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav\",\n {\n staticClass: \"navbar navbar-default navbar-fixed-top hidden-print\",\n attrs: { role: \"navigation\" }\n },\n [\n _c(\"div\", { staticClass: \"container-fluid\" }, [\n _c(\n \"div\",\n { staticClass: \"navbar-header\" },\n [\n _c(\n \"button\",\n {\n staticClass: \"navbar-toggle collapsed\",\n attrs: {\n type: \"button\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#main_nav\"\n }\n },\n [\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"floating-badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Toggle navigation\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"navbar-brand\",\n attrs: { href: \"home/\", title: \"Medusa\" }\n },\n [\n _c(\"img\", {\n staticClass: \"img-responsive pull-left\",\n staticStyle: { height: \"50px\" },\n attrs: { alt: \"Medusa\", src: \"images/medusa.png\" }\n })\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isAuthenticated\n ? _c(\n \"div\",\n {\n staticClass: \"collapse navbar-collapse\",\n attrs: { id: \"main_nav\" }\n },\n [\n _c(\"ul\", { staticClass: \"nav navbar-nav navbar-right\" }, [\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"home\" },\n attrs: { id: \"NAVhome\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"home/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Shows\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"dropdown-menu\" },\n [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"home/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-home\" }),\n _vm._v(\" Show List\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"addShows/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Shows\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"addRecommended/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Recommended Shows\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/postprocess/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Manual Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.recentShows.length > 0\n ? [\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm._l(_vm.recentShows, function(recentShow) {\n return _c(\n \"li\",\n { key: recentShow.link },\n [\n _c(\n \"app-link\",\n { attrs: { href: recentShow.link } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-addshow\"\n }),\n _vm._v(\n \" \" +\n _vm._s(recentShow.name) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n })\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"schedule\" },\n attrs: { id: \"NAVschedule\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"schedule/\" } }, [\n _vm._v(\"Schedule\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n class: { active: _vm.topMenu === \"history\" },\n attrs: { id: \"NAVhistory\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"history/\" } }, [\n _vm._v(\"History\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"manage\" },\n attrs: { id: \"NAVmanage\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"manage/episodeStatuses/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Manage\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"manage/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-manage\" }),\n _vm._v(\" Mass Update\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/backlogOverview/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog-view\"\n }),\n _vm._v(\" Backlog Overview\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/manageSearches/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Manage Searches\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/episodeStatuses/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-manage2\" }),\n _vm._v(\" Episode Status Management\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.linkVisible.plex\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updatePLEX/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-plex\" }),\n _vm._v(\" Update PLEX\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.kodi\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateKODI/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-kodi\" }),\n _vm._v(\" Update KODI\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.emby\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateEMBY/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-emby\" }),\n _vm._v(\" Update Emby\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.manageTorrents\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"manage/manageTorrents/\",\n target: \"_blank\"\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-bittorrent\"\n }),\n _vm._v(\" Manage Torrents\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.failedDownloads\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/failedDownloads/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-failed-download\"\n }),\n _vm._v(\" Failed Downloads\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissed\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/subtitleMissed/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\" Missed Subtitle Management\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissedPP\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/subtitleMissedPP/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\n \" Missed Subtitle in Post-Process folder\"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"config\" },\n attrs: { id: \"NAVconfig\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"config/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Config\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18.png\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"config/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-help\" }),\n _vm._v(\" Help & Info\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/general/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-config\" }),\n _vm._v(\" General\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/backuprestore/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backup\" }),\n _vm._v(\" Backup & Restore\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/search/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Search Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-provider\" }),\n _vm._v(\" Search Providers\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/subtitles/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backlog\" }),\n _vm._v(\" Subtitles Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/postProcessing/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Post Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/notifications/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-notification\"\n }),\n _vm._v(\" Notifications\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/anime/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-anime\" }),\n _vm._v(\" Anime\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"system\" },\n attrs: { id: \"NAVsystem\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"padding-right-15 dropdown-toggle\",\n attrs: {\n href: \"home/status/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Tools\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18-2.png\" }\n }),\n _vm._v(\" \"),\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"news/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-news\" }),\n _vm._v(\" News \"),\n _vm.config.news.unread > 0\n ? _c(\"span\", { staticClass: \"badge\" }, [\n _vm._v(_vm._s(_vm.config.news.unread))\n ])\n : _vm._e()\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"IRC/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-irc\" }),\n _vm._v(\" IRC\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"changes/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-changelog\" }),\n _vm._v(\" Changelog\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: _vm.config.donationsUrl } },\n [\n _c(\"i\", { staticClass: \"menu-icon-support\" }),\n _vm._v(\" Support Medusa\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm.config.logs.numErrors > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-error\" }),\n _vm._v(\" View Errors \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-danger\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numErrors)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.logs.numWarnings > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"errorlogs/?level=\" + _vm.warningLevel\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-viewlog-errors\"\n }),\n _vm._v(\" View Warnings \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-warning\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numWarnings)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/viewlog/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-viewlog\" }),\n _vm._v(\" View Log\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/updateCheck?pid=\" + _vm.config.pid\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-update\" }),\n _vm._v(\" Check For Updates\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/restart/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"restart\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-restart\" }),\n _vm._v(\" Restart\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/shutdown/?pid=\" + _vm.config.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"shutdown\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-shutdown\" }),\n _vm._v(\" Shutdown\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.username\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"logout\" },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.confirmDialog($event, \"logout\")\n }\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-shutdown\"\n }),\n _vm._v(\" Logout\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/status/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-info\" }),\n _vm._v(\" Server Status\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-header.vue?vue&type=template&id=7c5d12e0&\"\nimport script from \"./app-header.vue?vue&type=script&lang=js&\"\nexport * from \"./app-header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-header.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-header.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.link\n ? _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n : _c(\"app-link\", { attrs: { href: _vm.href } }, [\n _c(\"img\", {\n class: _vm.cls,\n attrs: { src: _vm.src },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./asset.vue?vue&type=template&id=58fe1dea&\"\nimport script from \"./asset.vue?vue&type=script&lang=js&\"\nexport * from \"./asset.vue?vue&type=script&lang=js&\"\nimport style0 from \"./asset.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"asset.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./backstretch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./backstretch.vue?vue&type=template&id=630a2e1f&\"\nimport script from \"./backstretch.vue?vue&type=script&lang=js&\"\nexport * from \"./backstretch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./backstretch.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"backstretch.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"table\",\n {\n staticClass: \"infoTable\",\n attrs: {\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\",\n width: \"100%\"\n }\n },\n [\n _c(\"tr\", [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"\\n Branch:\\n \"),\n _vm.config.branch\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl + \"/tree/\" + _vm.config.branch\n }\n },\n [_vm._v(_vm._s(_vm.config.branch))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Commit:\\n \"),\n _vm.config.commitHash\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/commit/\" +\n _vm.config.commitHash\n }\n },\n [_vm._v(_vm._s(_vm.config.commitHash))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Version:\\n \"),\n _vm.config.release\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/releases/tag/\" +\n _vm.config.release\n }\n },\n [_vm._v(_vm._s(_vm.config.release))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Database:\\n \"),\n _vm.config.databaseVersion\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.config.databaseVersion.major) +\n \".\" +\n _vm._s(_vm.config.databaseVersion.minor)\n )\n ])\n : _c(\"span\", [_vm._v(\"Unknown\")])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(1),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.pythonVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(2),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.sslVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(3), _c(\"td\", [_vm._v(_vm._s(_vm.config.os))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(4), _c(\"td\", [_vm._v(_vm._s(_vm.config.locale))])]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(7), _c(\"td\", [_vm._v(_vm._s(_vm.config.localUser))])]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(8),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.programDir))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(9),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.configFile))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(10), _c(\"td\", [_vm._v(_vm._s(_vm.config.dbPath))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(11), _c(\"td\", [_vm._v(_vm._s(_vm.config.cacheDir))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(12), _c(\"td\", [_vm._v(_vm._s(_vm.config.logDir))])]),\n _vm._v(\" \"),\n _vm.config.appArgs\n ? _c(\"tr\", [\n _vm._m(13),\n _c(\"td\", [\n _c(\"pre\", [\n _vm._v(_vm._s(_vm._f(\"prettyPrintJSON\")(_vm.config.appArgs)))\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.webRoot\n ? _c(\"tr\", [\n _vm._m(14),\n _c(\"td\", [_vm._v(_vm._s(_vm.config.webRoot))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(17),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.githubUrl } }, [\n _vm._v(_vm._s(_vm.config.githubUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.wikiUrl } }, [\n _vm._v(_vm._s(_vm.config.wikiUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.sourceUrl } }, [\n _vm._v(_vm._s(_vm.config.sourceUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"irc://irc.freenode.net/#pymedusa\" } },\n [\n _c(\"i\", [_vm._v(\"#pymedusa\")]),\n _vm._v(\" on \"),\n _c(\"i\", [_vm._v(\"irc.freenode.net\")])\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-application\" }),\n _vm._v(\" Medusa Info:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-python\" }),\n _vm._v(\" Python Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-ssl\" }),\n _vm._v(\" SSL Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-os\" }),\n _vm._v(\" OS:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-locale\" }),\n _vm._v(\" Locale:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-user\" }),\n _vm._v(\" User:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Program Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-config\" }),\n _vm._v(\" Config File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-db\" }),\n _vm._v(\" Database File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-cache\" }),\n _vm._v(\" Cache Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-log\" }),\n _vm._v(\" Log Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-arguments\" }),\n _vm._v(\" Arguments:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-folder\" }),\n _vm._v(\" Web Root:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-web\" }),\n _vm._v(\" Website:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-wiki\" }),\n _vm._v(\" Wiki:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-github\" }),\n _vm._v(\" Source:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-mirc\" }),\n _vm._v(\" IRC Chat:\")\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./config.vue?vue&type=template&id=25e028eb&\"\nimport script from \"./config.vue?vue&type=script&lang=js&\"\nexport * from \"./config.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n attrs: { id: \"configForm\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#post-processing\" } }, [\n _vm._v(\"Post Processing\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-naming\" } }, [\n _vm._v(\"Episode Naming\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#metadata\" } }, [\n _vm._v(\"Metadata\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"post-processing\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"process_automatically\",\n name: \"process_automatically\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.processAutomatically,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"processAutomatically\",\n $$v\n )\n },\n expression: \"postProcessing.processAutomatically\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.postProcessing.processAutomatically,\n expression: \"postProcessing.processAutomatically\"\n }\n ],\n attrs: { id: \"post-process-toggle-wrapper\" }\n },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"file-browser\", {\n attrs: {\n id: \"tv_download_dir\",\n name: \"tv_download_dir\",\n title: \"Select series download location\",\n \"initial-dir\":\n _vm.postProcessing.showDownloadDir\n },\n on: {\n update: function($event) {\n _vm.postProcessing.showDownloadDir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"clear-left\" }, [\n _vm._v(\n \"The folder where your download client puts the completed TV downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(5)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.processMethod,\n expression: \"postProcessing.processMethod\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"naming_multi_ep\",\n name: \"naming_multi_ep\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"processMethod\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.processMethods, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What method should be used to put files into the library?\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm.postProcessing.processMethod == \"reflink\"\n ? _c(\n \"p\",\n [\n _vm._v(\"To use reference linking, the \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.dereferer.org/?https://pypi.python.org/pypi/reflink/0.1.4\"\n }\n },\n [_vm._v(\"reflink package\")]\n ),\n _vm._v(\" needs to be installed.\")\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(8),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.postProcessing\n .autoPostprocessorFrequency,\n expression:\n \"postProcessing.autoPostprocessorFrequency\"\n }\n ],\n staticClass: \"form-control input-sm input75\",\n attrs: {\n type: \"number\",\n min: \"10\",\n step: \"1\",\n name: \"autopostprocessor_frequency\",\n id: \"autopostprocessor_frequency\"\n },\n domProps: {\n value:\n _vm.postProcessing.autoPostprocessorFrequency\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.postProcessing,\n \"autoPostprocessorFrequency\",\n $event.target.value\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Time in minutes to check for new files to auto post-process (min 10)\"\n )\n ])\n ])\n ])\n ]\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(9),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(10),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_sync_files\",\n name: \"postpone_if_sync_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfSyncFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfSyncFiles\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfSyncFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a folder if sync files are present.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(11),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"sync_files\",\n id: \"sync_files\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.syncFiles\n },\n on: { change: _vm.onChangeSyncFiles }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"comma seperated list of extensions or filename globs Medusa ignores when Post Processing\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(12),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_no_subs\",\n name: \"postpone_if_no_subs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.postponeIfNoSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"postponeIfNoSubs\",\n $$v\n )\n },\n expression: \"postProcessing.postponeIfNoSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a file until subtitles are present\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Language names are allowed in subtitle filename (en.srt, pt-br.srt, ita.srt, etc.)\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(13),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"If you have any active show with subtitle search disabled, you must enable Automatic post processor.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(14),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"rename_episodes\",\n name: \"rename_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.renameEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"renameEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.renameEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename episode using the Episode Naming settings?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(15),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"create_missing_show_dirs\",\n name: \"create_missing_show_dirs\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.createMissingShowDirs,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"createMissingShowDirs\",\n $$v\n )\n },\n expression: \"postProcessing.createMissingShowDirs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Create missing show directories when they get deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(16),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"add_shows_wo_dir\",\n name: \"add_shows_wo_dir\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.addShowsWithoutDir,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"addShowsWithoutDir\",\n $$v\n )\n },\n expression: \"postProcessing.addShowsWithoutDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add shows without creating a directory (not recommended)\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(17),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"move_associated_files\",\n name: \"move_associated_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.moveAssociatedFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"moveAssociatedFiles\",\n $$v\n )\n },\n expression: \"postProcessing.moveAssociatedFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete srt/srr/sfv/etc files while post processing?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"allowed_extensions\",\n id: \"allowed_extensions\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.allowedExtensions\n },\n on: { change: _vm.onChangeAllowedExtensions }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma seperated list of associated file extensions Medusa should keep while post processing.\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Leaving it empty means all associated files will be deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"nfo_rename\",\n name: \"nfo_rename\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.nfoRename,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"nfoRename\", $$v)\n },\n expression: \"postProcessing.nfoRename\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename the original .nfo file to .nfo-orig to avoid conflicts?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"airdate_episodes\",\n name: \"airdate_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.airdateEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"airdateEpisodes\",\n $$v\n )\n },\n expression: \"postProcessing.airdateEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Set last modified filedate to the date that the episode aired?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postProcessing.fileTimestampTimezone,\n expression:\n \"postProcessing.fileTimestampTimezone\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"file_timestamp_timezone\",\n name: \"file_timestamp_timezone\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postProcessing,\n \"fileTimestampTimezone\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timezoneOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What timezone should be used to change File Date?\"\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(22),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"unpack\",\n name: \"unpack\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.unpack,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"unpack\", $$v)\n },\n expression: \"postProcessing.unpack\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(23),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(24)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(25),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"del_rar_contents\",\n name: \"del_rar_contents\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.deleteRarContent,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing,\n \"deleteRarContent\",\n $$v\n )\n },\n expression: \"postProcessing.deleteRarContent\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete content of RAR files, even if Process Method not set to move?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(26),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"no_delete\",\n name: \"no_delete\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.noDelete,\n callback: function($$v) {\n _vm.$set(_vm.postProcessing, \"noDelete\", $$v)\n },\n expression: \"postProcessing.noDelete\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Leave empty folders when Post Processing?\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(27)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(28),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"extra_scripts\",\n id: \"extra_scripts\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postProcessing.extraScripts\n },\n on: { change: _vm.onChangeExtraScripts }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\"See \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wikie\",\n attrs: {\n href: _vm.postProcessing.extraScriptsUrl\n }\n },\n [_c(\"strong\", [_vm._v(\"Wiki\")])]\n ),\n _vm._v(\n \" for script arguments description and usage.\"\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-naming\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n \"naming-pattern\": _vm.postProcessing.naming.pattern,\n \"naming-presets\": _vm.presets,\n \"multi-ep-style\": _vm.postProcessing.naming.multiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNaming }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternSports,\n \"naming-presets\": _vm.presets,\n type: \"sports\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingSports,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingSports }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAirByDate,\n \"naming-presets\": _vm.presets,\n type: \"airs by date\",\n \"enabled-naming-custom\":\n _vm.postProcessing.naming\n .enableCustomNamingAirByDate,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAbd }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"naming-pattern\":\n _vm.postProcessing.naming.patternAnime,\n \"naming-presets\": _vm.presets,\n type: \"anime\",\n \"multi-ep-style\":\n _vm.postProcessing.naming.animeMultiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"anime-naming-type\":\n _vm.postProcessing.naming.animeNamingType,\n \"enabled-naming-custom\":\n _vm.postProcessing.naming.enableCustomNamingAnime,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAnime }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group component-item\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"naming_strip_year\",\n name: \"naming_strip_year\",\n sync: \"\"\n },\n model: {\n value: _vm.postProcessing.naming.stripYear,\n callback: function($$v) {\n _vm.$set(\n _vm.postProcessing.naming,\n \"stripYear\",\n $$v\n )\n },\n expression: \"postProcessing.naming.stripYear\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Remove the TV show's year when renaming the file?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to shows that have year inside parentheses\"\n )\n ])\n ],\n 1\n )\n ])\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"metadata\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.metadataProviderSelected,\n expression: \"metadataProviderSelected\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"metadataType\",\n name: \"metadataType\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.metadataProviderSelected = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.metadataProviders, function(option) {\n return _c(\n \"option\",\n {\n key: option.id,\n domProps: { value: option.id }\n },\n [_vm._v(_vm._s(option.name))]\n )\n })\n ),\n _vm._v(\" \"),\n _vm._m(33)\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.metadataProviders, function(provider) {\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n provider.id === _vm.metadataProviderSelected,\n expression:\n \"provider.id === metadataProviderSelected\"\n }\n ],\n key: provider.id,\n staticClass: \"metadataDiv\",\n attrs: { id: \"provider.id\" }\n },\n [\n _c(\n \"div\",\n { staticClass: \"metadata_options_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Create:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_options\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.showMetadata,\n expression: \"provider.showMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_show_metadata\"\n },\n domProps: {\n checked: Array.isArray(\n provider.showMetadata\n )\n ? _vm._i(\n provider.showMetadata,\n null\n ) > -1\n : provider.showMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.showMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"showMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Show Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeMetadata,\n expression:\n \"provider.episodeMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_episode_metadata\",\n disabled: provider.example.episodeMetadata.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeMetadata\n )\n ? _vm._i(\n provider.episodeMetadata,\n null\n ) > -1\n : provider.episodeMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.episodeMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.fanart,\n expression: \"provider.fanart\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_fanart\",\n disabled: provider.example.fanart.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.fanart\n )\n ? _vm._i(provider.fanart, null) > -1\n : provider.fanart\n },\n on: {\n change: function($event) {\n var $$a = provider.fanart,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"fanart\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Fanart\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.poster,\n expression: \"provider.poster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_poster\",\n disabled: provider.example.poster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.poster\n )\n ? _vm._i(provider.poster, null) > -1\n : provider.poster\n },\n on: {\n change: function($event) {\n var $$a = provider.poster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"poster\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.banner,\n expression: \"provider.banner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_banner\",\n disabled: provider.example.banner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.banner\n )\n ? _vm._i(provider.banner, null) > -1\n : provider.banner\n },\n on: {\n change: function($event) {\n var $$a = provider.banner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"banner\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Banner\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeThumbnails,\n expression:\n \"provider.episodeThumbnails\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_episode_thumbnails\",\n disabled: provider.example.episodeThumbnails.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeThumbnails\n )\n ? _vm._i(\n provider.episodeThumbnails,\n null\n ) > -1\n : provider.episodeThumbnails\n },\n on: {\n change: function($event) {\n var $$a =\n provider.episodeThumbnails,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Thumbnails\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonPosters,\n expression: \"provider.seasonPosters\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_posters\",\n disabled: provider.example.seasonPosters.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonPosters\n )\n ? _vm._i(\n provider.seasonPosters,\n null\n ) > -1\n : provider.seasonPosters\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonPosters,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Posters\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonBanners,\n expression: \"provider.seasonBanners\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_banners\",\n disabled: provider.example.seasonBanners.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonBanners\n )\n ? _vm._i(\n provider.seasonBanners,\n null\n ) > -1\n : provider.seasonBanners\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonBanners,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Banners\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllPoster,\n expression:\n \"provider.seasonAllPoster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_poster\",\n disabled: provider.example.seasonAllPoster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllPoster\n )\n ? _vm._i(\n provider.seasonAllPoster,\n null\n ) > -1\n : provider.seasonAllPoster\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllPoster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllBanner,\n expression:\n \"provider.seasonAllBanner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_banner\",\n disabled: provider.example.seasonAllBanner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllBanner\n )\n ? _vm._i(\n provider.seasonAllBanner,\n null\n ) > -1\n : provider.seasonAllBanner\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllBanner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Banner\")\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"metadata_example_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Results:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_example\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.showMetadata\n },\n attrs: {\n id:\n provider.id + \"_eg_show_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .showMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeMetadata\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.fanart },\n attrs: {\n id: provider.id + \"_eg_fanart\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.fanart +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.poster },\n attrs: {\n id: provider.id + \"_eg_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.poster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.banner },\n attrs: {\n id: provider.id + \"_eg_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.banner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeThumbnails\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_thumbnails\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeThumbnails +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonPosters\n },\n attrs: {\n id:\n provider.id + \"_eg_season_posters\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonPosters +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonBanners\n },\n attrs: {\n id:\n provider.id + \"_eg_season_banners\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonBanners +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllPoster\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllPoster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllBanner\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllBanner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n )\n ])\n ]\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n }),\n _c(\"br\")\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.config.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Scheduled Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Settings that dictate how Medusa should process completed downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The scheduled postprocessor will periodically scan a folder for media to process.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_automatically\" }\n },\n [_c(\"span\", [_vm._v(\"Scheduled Postprocessor\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Enable the scheduled post processor to scan and process any files in your \"\n ),\n _c(\"i\", [_vm._v(\"Post Processing Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Do not use if you use an external Post Processing script\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"tv_download_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Post Processing Dir\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Please use seperate downloading and completed folders in your download client if possible.\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_method\" }\n },\n [_c(\"span\", [_vm._v(\"Processing Method\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" If you keep seeding torrents after they finish, please avoid the 'move' processing method to prevent errors.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"autopostprocessor_frequency\" }\n },\n [_c(\"span\", [_vm._v(\"Auto Post-Processing Frequency\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Generic postprocessing settings that apply both to the scheduled postprocessor as external scripts\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_sync_files\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone post processing\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"sync_files\" } },\n [_c(\"span\", [_vm._v(\"Sync File Extensions\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_no_subs\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone if no subtitle\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\n \" Automatic post processor should be disabled to avoid files with pending subtitles being processed over and over.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"rename_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Rename Episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"create_missing_show_dirs\" }\n },\n [_c(\"span\", [_vm._v(\"Create missing show directories\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"add_shows_wo_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Add shows without directory\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"move_associated_files\" }\n },\n [_c(\"span\", [_vm._v(\"Delete associated files\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Keep associated file extensions\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"nfo_rename\" } },\n [_c(\"span\", [_vm._v(\"Rename .nfo file\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"airdate_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Change File Date\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"file_timestamp_timezone\" }\n },\n [_c(\"span\", [_vm._v(\"Timezone for File Date:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"unpack\" } },\n [_c(\"span\", [_vm._v(\"Unpack\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _vm._v(\"Unpack any TV releases in your \"),\n _c(\"i\", [_vm._v(\"TV Download Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Only working with RAR archive\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"del_rar_contents\" }\n },\n [_c(\"span\", [_vm._v(\"Delete RAR contents\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"no_delete\" } },\n [_c(\"span\", [_vm._v(\"Don't delete empty folders\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"NOTE:\")]),\n _vm._v(\" Can be overridden using manual Post Processing\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Extra Scripts\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Episode Naming\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How Medusa will name and sort your episodes.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_strip_year\" }\n },\n [_c(\"span\", [_vm._v(\"Strip Show Year\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Metadata\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"metadataType\" } },\n [_c(\"span\", [_vm._v(\"Metadata Type\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"d-block\" }, [\n _vm._v(\"Toggle the metadata options that you wish to be created. \"),\n _c(\"b\", [_vm._v(\"Multiple targets may be used.\")])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-post-processing.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-post-processing.vue?vue&type=template&id=b6fc1fd2&\"\nimport script from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nexport * from \"./config-post-processing.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-post-processing.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-post-processing.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n class: _vm.inputClass,\n attrs: { type: \"text\" },\n domProps: { value: _vm.localValue },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n }\n }\n },\n \"input\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox.vue?vue&type=template&id=a46a5978&\"\nimport script from \"./config-textbox.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-number-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n class: _vm.inputClass,\n attrs: { type: \"number\", name: _vm.id },\n domProps: { value: _vm.localValue }\n },\n \"input\",\n { min: _vm.min, step: _vm.step, id: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-textbox-number.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-textbox-number.vue?vue&type=template&id=58eed65e&\"\nimport script from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nexport * from \"./config-textbox-number.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-textbox-number.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-textbox-number.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-toggle-slider-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"toggle-button\",\n _vm._b(\n {\n attrs: { width: 45, height: 22, sync: \"\" },\n model: {\n value: _vm.localChecked,\n callback: function($$v) {\n _vm.localChecked = $$v\n },\n expression: \"localChecked\"\n }\n },\n \"toggle-button\",\n { id: _vm.id, name: _vm.id },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n })\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./config-toggle-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./config-toggle-slider.vue?vue&type=template&id=0697d59e&\"\nimport script from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./config-toggle-slider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./config-toggle-slider.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"config-toggle-slider.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./display-show.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./display-show.vue?vue&type=script&lang=js&\"\nexport * from \"./display-show.vue?vue&type=script&lang=js&\"\nimport style0 from \"./display-show.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"display-show.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./home.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"home.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"iframe\", {\n staticClass: \"irc-frame loading-spinner\",\n attrs: { src: _vm.frameSrc }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./irc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./irc.vue?vue&type=template&id=60f89f30&scoped=true&\"\nimport script from \"./irc.vue?vue&type=script&lang=js&\"\nexport * from \"./irc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./irc.vue?vue&type=style&index=0&id=60f89f30&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60f89f30\",\n null\n \n)\n\ncomponent.options.__file = \"irc.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"select\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./language-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./language-select.vue?vue&type=template&id=6ec994bc&\"\nimport script from \"./language-select.vue?vue&type=script&lang=js&\"\nexport * from \"./language-select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./language-select.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"language-select.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"login\" }, [\n _c(\"form\", { attrs: { action: \"\", method: \"post\" } }, [\n _c(\"h1\", [_vm._v(\"Medusa\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"username\",\n type: \"text\",\n placeholder: \"Username\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"password\",\n type: \"password\",\n placeholder: \"Password\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\n \"label\",\n { staticClass: \"remember_me\", attrs: { title: \"for 30 days\" } },\n [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n id: \"remember_me\",\n name: \"remember_me\",\n type: \"checkbox\",\n value: \"1\",\n checked: \"checked\"\n }\n }),\n _vm._v(\" Remember me\")\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button\",\n attrs: { name: \"submit\", type: \"submit\", value: \"Login\" }\n })\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=013dd286&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manual-post-process.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nexport * from \"./manual-post-process.vue?vue&type=script&lang=js&\"\nimport style0 from \"./manual-post-process.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manual-post-process.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"root-dirs-wrapper\" } }, [\n _c(\"div\", { staticClass: \"root-dirs-selectbox\" }, [\n _c(\n \"select\",\n _vm._g(\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedRootDir,\n expression: \"selectedRootDir\"\n }\n ],\n ref: \"rootDirs\",\n attrs: { name: \"rootDir\", id: \"rootDirs\", size: \"6\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedRootDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n \"select\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n _vm._l(_vm.rootDirs, function(curDir) {\n return _c(\n \"option\",\n { key: curDir.path, domProps: { value: curDir.path } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm._f(\"markDefault\")(curDir)) +\n \"\\n \"\n )\n ]\n )\n })\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"root-dirs-controls\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.add($event)\n }\n }\n },\n [_vm._v(\"New\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.edit($event)\n }\n }\n },\n [_vm._v(\"Edit\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.remove($event)\n }\n }\n },\n [_vm._v(\"Delete\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.setDefault($event)\n }\n }\n },\n [_vm._v(\"Set as Default *\")]\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./root-dirs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./root-dirs.vue?vue&type=template&id=76f972d6&\"\nimport script from \"./root-dirs.vue?vue&type=script&lang=js&\"\nexport * from \"./root-dirs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./root-dirs.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"root-dirs.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"scroll-buttons-wrapper\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper top\",\n class: { show: _vm.showToTop },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollTop($event)\n }\n }\n },\n [_vm._m(0)]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper left\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-left-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-left\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollLeft($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper right\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-right-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-right\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollRight($event)\n }\n }\n })\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"scroll-top-inner\" }, [\n _c(\"i\", { staticClass: \"glyphicon glyphicon-circle-arrow-up\" })\n ])\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./scroll-buttons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./scroll-buttons.vue?vue&type=template&id=bf6f6212&\"\nimport script from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nexport * from \"./scroll-buttons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./scroll-buttons.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"scroll-buttons.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.shows.length === 0\n ? _c(\"span\", [_vm._v(\"Loading...\")])\n : _c(\"div\", { staticClass: \"show-selector form-inline hidden-print\" }, [\n _c(\n \"div\",\n { staticClass: \"select-show-group pull-left top-5 bottom-5\" },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedShowSlug,\n expression: \"selectedShowSlug\"\n }\n ],\n staticClass: \"select-show form-control input-sm-custom\",\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedShowSlug = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _vm.whichList === -1\n ? _vm._l(_vm.showLists, function(curShowList) {\n return _c(\n \"optgroup\",\n {\n key: curShowList.type,\n attrs: { label: curShowList.type }\n },\n _vm._l(curShowList.shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n )\n })\n : _vm._l(_vm.showLists[_vm.whichList].shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n ],\n 2\n )\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show-selector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./show-selector.vue?vue&type=template&id=d995f0f2&\"\nimport script from \"./show-selector.vue?vue&type=script&lang=js&\"\nexport * from \"./show-selector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./show-selector.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"show-selector.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./snatch-selection.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nexport * from \"./snatch-selection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./snatch-selection.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"snatch-selection.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./status.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./status.vue?vue&type=script&lang=js&\"\nexport * from \"./status.vue?vue&type=script&lang=js&\"\nimport style0 from \"./status.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"status.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _vm._v(\"You have reached this page by accident, please check the url.\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=a851d9c2&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"404.vue\"\nexport default component.exports","export { default as AddRecommended } from './add-recommended.vue';\nexport { default as AddShows } from './add-shows.vue';\nexport { default as AnidbReleaseGroupUi } from './anidb-release-group-ui.vue';\nexport { default as AppHeader } from './app-header.vue';\nexport { default as AppLink } from './app-link.vue';\nexport { default as Asset } from './asset.vue';\nexport { default as Backstretch } from './backstretch.vue';\nexport { default as Config } from './config.vue';\nexport { default as ConfigPostProcessing } from './config-post-processing.vue';\nexport { default as ConfigTextbox } from './config-textbox.vue';\nexport { default as ConfigTextboxNumber } from './config-textbox-number.vue';\nexport { default as ConfigToggleSlider } from './config-toggle-slider.vue';\nexport { default as DisplayShow } from './display-show.vue';\nexport { default as FileBrowser } from './file-browser.vue';\nexport { default as Home } from './home.vue';\nexport { default as IRC } from './irc.vue';\nexport { default as LanguageSelect } from './language-select.vue';\nexport { default as Login } from './login.vue';\nexport { default as ManualPostProcess } from './manual-post-process.vue';\nexport { default as NamePattern } from './name-pattern.vue';\nexport { default as PlotInfo } from './plot-info.vue';\nexport { default as RootDirs } from './root-dirs.vue';\nexport { default as ScrollButtons } from './scroll-buttons.vue';\nexport { default as SelectList } from './select-list.vue';\nexport { default as ShowSelector } from './show-selector.vue';\nexport { default as SnatchSelection } from './snatch-selection.vue';\nexport { default as Status } from './status.vue';\nexport { NotFound } from './http';\n","/**\n * vuex v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\nvar applyMixin = function (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n};\n\nvar devtoolHook =\n typeof window !== 'undefined' &&\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\n\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n this._children = Object.create(null);\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n if (!parent.getChild(key).runtime) { return }\n\n parent.removeChild(key);\n};\n\nfunction update (path, targetModule, newModule) {\n if (process.env.NODE_ENV !== 'production') {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"Store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n var state = options.state; if ( state === void 0 ) state = {};\n if (typeof state === 'function') {\n state = state() || {};\n }\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n if (Vue.config.devtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nprototypeAccessors.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors.state.set = function (v) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, \"Use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n this._subscribers.forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n process.env.NODE_ENV !== 'production' &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n this._actionSubscribers.forEach(function (sub) { return sub(action, this$1.state); });\n\n return entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload)\n};\n\nStore.prototype.subscribe = function subscribe (fn) {\n return genericSubscribe(fn, this._subscribers)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn) {\n return genericSubscribe(fn, this._actionSubscribers)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\nfunction genericSubscribe (fn, subs) {\n if (subs.indexOf(fn) < 0) {\n subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n computed[key] = function () { return fn(store); };\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (process.env.NODE_ENV !== 'production' && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n var gettersProxy = {};\n\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n\n return gettersProxy\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload, cb) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload, cb);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if (process.env.NODE_ENV !== 'production') {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if (process.env.NODE_ENV !== 'production') {\n assert(store._committing, \"Do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.length\n ? path.reduce(function (state, key) { return state[key]; }, state)\n : state\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof type === 'string', (\"Expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\nfunction normalizeMap (map) {\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (process.env.NODE_ENV !== 'production' && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\nvar index_esm = {\n Store: Store,\n install: install,\n version: '3.0.1',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers\n};\n\nexport { Store, install, mapState, mapMutations, mapGetters, mapActions, createNamespacedHelpers };\nexport default index_esm;\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app-link.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-link.vue?vue&type=template&id=02dcacd2&\"\nimport script from \"./app-link.vue?vue&type=script&lang=js&\"\nexport * from \"./app-link.vue?vue&type=script&lang=js&\"\nimport style0 from \"./app-link.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"app-link.vue\"\nexport default component.exports","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","/**\n * vue-router v3.0.1\n * (c) 2017 Evan You\n * @license MIT\n */\n/* */\n\nfunction assert (condition, message) {\n if (!condition) {\n throw new Error((\"[vue-router] \" + message))\n }\n}\n\nfunction warn (condition, message) {\n if (process.env.NODE_ENV !== 'production' && !condition) {\n typeof console !== 'undefined' && console.warn((\"[vue-router] \" + message));\n }\n}\n\nfunction isError (err) {\n return Object.prototype.toString.call(err).indexOf('Error') > -1\n}\n\nvar View = {\n name: 'router-view',\n functional: true,\n props: {\n name: {\n type: String,\n default: 'default'\n }\n },\n render: function render (_, ref) {\n var props = ref.props;\n var children = ref.children;\n var parent = ref.parent;\n var data = ref.data;\n\n data.routerView = true;\n\n // directly use parent context's createElement() function\n // so that components rendered by router-view can resolve named slots\n var h = parent.$createElement;\n var name = props.name;\n var route = parent.$route;\n var cache = parent._routerViewCache || (parent._routerViewCache = {});\n\n // determine current view depth, also check to see if the tree\n // has been toggled inactive but kept-alive.\n var depth = 0;\n var inactive = false;\n while (parent && parent._routerRoot !== parent) {\n if (parent.$vnode && parent.$vnode.data.routerView) {\n depth++;\n }\n if (parent._inactive) {\n inactive = true;\n }\n parent = parent.$parent;\n }\n data.routerViewDepth = depth;\n\n // render previous view if the tree is inactive and kept-alive\n if (inactive) {\n return h(cache[name], data, children)\n }\n\n var matched = route.matched[depth];\n // render empty node if no matched route\n if (!matched) {\n cache[name] = null;\n return h()\n }\n\n var component = cache[name] = matched.components[name];\n\n // attach instance registration hook\n // this will be called in the instance's injected lifecycle hooks\n data.registerRouteInstance = function (vm, val) {\n // val could be undefined for unregistration\n var current = matched.instances[name];\n if (\n (val && current !== vm) ||\n (!val && current === vm)\n ) {\n matched.instances[name] = val;\n }\n }\n\n // also register instance in prepatch hook\n // in case the same component instance is reused across different routes\n ;(data.hook || (data.hook = {})).prepatch = function (_, vnode) {\n matched.instances[name] = vnode.componentInstance;\n };\n\n // resolve props\n var propsToPass = data.props = resolveProps(route, matched.props && matched.props[name]);\n if (propsToPass) {\n // clone to prevent mutation\n propsToPass = data.props = extend({}, propsToPass);\n // pass non-declared props as attrs\n var attrs = data.attrs = data.attrs || {};\n for (var key in propsToPass) {\n if (!component.props || !(key in component.props)) {\n attrs[key] = propsToPass[key];\n delete propsToPass[key];\n }\n }\n }\n\n return h(component, data, children)\n }\n};\n\nfunction resolveProps (route, config) {\n switch (typeof config) {\n case 'undefined':\n return\n case 'object':\n return config\n case 'function':\n return config(route)\n case 'boolean':\n return config ? route.params : undefined\n default:\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false,\n \"props in \\\"\" + (route.path) + \"\\\" is a \" + (typeof config) + \", \" +\n \"expecting an object, function or boolean.\"\n );\n }\n }\n}\n\nfunction extend (to, from) {\n for (var key in from) {\n to[key] = from[key];\n }\n return to\n}\n\n/* */\n\nvar encodeReserveRE = /[!'()*]/g;\nvar encodeReserveReplacer = function (c) { return '%' + c.charCodeAt(0).toString(16); };\nvar commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nvar encode = function (str) { return encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ','); };\n\nvar decode = decodeURIComponent;\n\nfunction resolveQuery (\n query,\n extraQuery,\n _parseQuery\n) {\n if ( extraQuery === void 0 ) extraQuery = {};\n\n var parse = _parseQuery || parseQuery;\n var parsedQuery;\n try {\n parsedQuery = parse(query || '');\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn(false, e.message);\n parsedQuery = {};\n }\n for (var key in extraQuery) {\n parsedQuery[key] = extraQuery[key];\n }\n return parsedQuery\n}\n\nfunction parseQuery (query) {\n var res = {};\n\n query = query.trim().replace(/^(\\?|#|&)/, '');\n\n if (!query) {\n return res\n }\n\n query.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = decode(parts.shift());\n var val = parts.length > 0\n ? decode(parts.join('='))\n : null;\n\n if (res[key] === undefined) {\n res[key] = val;\n } else if (Array.isArray(res[key])) {\n res[key].push(val);\n } else {\n res[key] = [res[key], val];\n }\n });\n\n return res\n}\n\nfunction stringifyQuery (obj) {\n var res = obj ? Object.keys(obj).map(function (key) {\n var val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encode(key)\n }\n\n if (Array.isArray(val)) {\n var result = [];\n val.forEach(function (val2) {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encode(key));\n } else {\n result.push(encode(key) + '=' + encode(val2));\n }\n });\n return result.join('&')\n }\n\n return encode(key) + '=' + encode(val)\n }).filter(function (x) { return x.length > 0; }).join('&') : null;\n return res ? (\"?\" + res) : ''\n}\n\n/* */\n\n\nvar trailingSlashRE = /\\/?$/;\n\nfunction createRoute (\n record,\n location,\n redirectedFrom,\n router\n) {\n var stringifyQuery$$1 = router && router.options.stringifyQuery;\n\n var query = location.query || {};\n try {\n query = clone(query);\n } catch (e) {}\n\n var route = {\n name: location.name || (record && record.name),\n meta: (record && record.meta) || {},\n path: location.path || '/',\n hash: location.hash || '',\n query: query,\n params: location.params || {},\n fullPath: getFullPath(location, stringifyQuery$$1),\n matched: record ? formatMatch(record) : []\n };\n if (redirectedFrom) {\n route.redirectedFrom = getFullPath(redirectedFrom, stringifyQuery$$1);\n }\n return Object.freeze(route)\n}\n\nfunction clone (value) {\n if (Array.isArray(value)) {\n return value.map(clone)\n } else if (value && typeof value === 'object') {\n var res = {};\n for (var key in value) {\n res[key] = clone(value[key]);\n }\n return res\n } else {\n return value\n }\n}\n\n// the starting route that represents the initial state\nvar START = createRoute(null, {\n path: '/'\n});\n\nfunction formatMatch (record) {\n var res = [];\n while (record) {\n res.unshift(record);\n record = record.parent;\n }\n return res\n}\n\nfunction getFullPath (\n ref,\n _stringifyQuery\n) {\n var path = ref.path;\n var query = ref.query; if ( query === void 0 ) query = {};\n var hash = ref.hash; if ( hash === void 0 ) hash = '';\n\n var stringify = _stringifyQuery || stringifyQuery;\n return (path || '/') + stringify(query) + hash\n}\n\nfunction isSameRoute (a, b) {\n if (b === START) {\n return a === b\n } else if (!b) {\n return false\n } else if (a.path && b.path) {\n return (\n a.path.replace(trailingSlashRE, '') === b.path.replace(trailingSlashRE, '') &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query)\n )\n } else if (a.name && b.name) {\n return (\n a.name === b.name &&\n a.hash === b.hash &&\n isObjectEqual(a.query, b.query) &&\n isObjectEqual(a.params, b.params)\n )\n } else {\n return false\n }\n}\n\nfunction isObjectEqual (a, b) {\n if ( a === void 0 ) a = {};\n if ( b === void 0 ) b = {};\n\n // handle null value #1566\n if (!a || !b) { return a === b }\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false\n }\n return aKeys.every(function (key) {\n var aVal = a[key];\n var bVal = b[key];\n // check nested equality\n if (typeof aVal === 'object' && typeof bVal === 'object') {\n return isObjectEqual(aVal, bVal)\n }\n return String(aVal) === String(bVal)\n })\n}\n\nfunction isIncludedRoute (current, target) {\n return (\n current.path.replace(trailingSlashRE, '/').indexOf(\n target.path.replace(trailingSlashRE, '/')\n ) === 0 &&\n (!target.hash || current.hash === target.hash) &&\n queryIncludes(current.query, target.query)\n )\n}\n\nfunction queryIncludes (current, target) {\n for (var key in target) {\n if (!(key in current)) {\n return false\n }\n }\n return true\n}\n\n/* */\n\n// work around weird flow bug\nvar toTypes = [String, Object];\nvar eventTypes = [String, Array];\n\nvar Link = {\n name: 'router-link',\n props: {\n to: {\n type: toTypes,\n required: true\n },\n tag: {\n type: String,\n default: 'a'\n },\n exact: Boolean,\n append: Boolean,\n replace: Boolean,\n activeClass: String,\n exactActiveClass: String,\n event: {\n type: eventTypes,\n default: 'click'\n }\n },\n render: function render (h) {\n var this$1 = this;\n\n var router = this.$router;\n var current = this.$route;\n var ref = router.resolve(this.to, current, this.append);\n var location = ref.location;\n var route = ref.route;\n var href = ref.href;\n\n var classes = {};\n var globalActiveClass = router.options.linkActiveClass;\n var globalExactActiveClass = router.options.linkExactActiveClass;\n // Support global empty active class\n var activeClassFallback = globalActiveClass == null\n ? 'router-link-active'\n : globalActiveClass;\n var exactActiveClassFallback = globalExactActiveClass == null\n ? 'router-link-exact-active'\n : globalExactActiveClass;\n var activeClass = this.activeClass == null\n ? activeClassFallback\n : this.activeClass;\n var exactActiveClass = this.exactActiveClass == null\n ? exactActiveClassFallback\n : this.exactActiveClass;\n var compareTarget = location.path\n ? createRoute(null, location, null, router)\n : route;\n\n classes[exactActiveClass] = isSameRoute(current, compareTarget);\n classes[activeClass] = this.exact\n ? classes[exactActiveClass]\n : isIncludedRoute(current, compareTarget);\n\n var handler = function (e) {\n if (guardEvent(e)) {\n if (this$1.replace) {\n router.replace(location);\n } else {\n router.push(location);\n }\n }\n };\n\n var on = { click: guardEvent };\n if (Array.isArray(this.event)) {\n this.event.forEach(function (e) { on[e] = handler; });\n } else {\n on[this.event] = handler;\n }\n\n var data = {\n class: classes\n };\n\n if (this.tag === 'a') {\n data.on = on;\n data.attrs = { href: href };\n } else {\n // find the first child and apply listener and href\n var a = findAnchor(this.$slots.default);\n if (a) {\n // in case the is a static node\n a.isStatic = false;\n var extend = _Vue.util.extend;\n var aData = a.data = extend({}, a.data);\n aData.on = on;\n var aAttrs = a.data.attrs = extend({}, a.data.attrs);\n aAttrs.href = href;\n } else {\n // doesn't have child, apply listener to self\n data.on = on;\n }\n }\n\n return h(this.tag, data, this.$slots.default)\n }\n};\n\nfunction guardEvent (e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) { return }\n // don't redirect when preventDefault called\n if (e.defaultPrevented) { return }\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0) { return }\n // don't redirect if `target=\"_blank\"`\n if (e.currentTarget && e.currentTarget.getAttribute) {\n var target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target)) { return }\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault) {\n e.preventDefault();\n }\n return true\n}\n\nfunction findAnchor (children) {\n if (children) {\n var child;\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n if (child.tag === 'a') {\n return child\n }\n if (child.children && (child = findAnchor(child.children))) {\n return child\n }\n }\n }\n}\n\nvar _Vue;\n\nfunction install (Vue) {\n if (install.installed && _Vue === Vue) { return }\n install.installed = true;\n\n _Vue = Vue;\n\n var isDef = function (v) { return v !== undefined; };\n\n var registerInstance = function (vm, callVal) {\n var i = vm.$options._parentVnode;\n if (isDef(i) && isDef(i = i.data) && isDef(i = i.registerRouteInstance)) {\n i(vm, callVal);\n }\n };\n\n Vue.mixin({\n beforeCreate: function beforeCreate () {\n if (isDef(this.$options.router)) {\n this._routerRoot = this;\n this._router = this.$options.router;\n this._router.init(this);\n Vue.util.defineReactive(this, '_route', this._router.history.current);\n } else {\n this._routerRoot = (this.$parent && this.$parent._routerRoot) || this;\n }\n registerInstance(this, this);\n },\n destroyed: function destroyed () {\n registerInstance(this);\n }\n });\n\n Object.defineProperty(Vue.prototype, '$router', {\n get: function get () { return this._routerRoot._router }\n });\n\n Object.defineProperty(Vue.prototype, '$route', {\n get: function get () { return this._routerRoot._route }\n });\n\n Vue.component('router-view', View);\n Vue.component('router-link', Link);\n\n var strats = Vue.config.optionMergeStrategies;\n // use the same hook merging strategy for route hooks\n strats.beforeRouteEnter = strats.beforeRouteLeave = strats.beforeRouteUpdate = strats.created;\n}\n\n/* */\n\nvar inBrowser = typeof window !== 'undefined';\n\n/* */\n\nfunction resolvePath (\n relative,\n base,\n append\n) {\n var firstChar = relative.charAt(0);\n if (firstChar === '/') {\n return relative\n }\n\n if (firstChar === '?' || firstChar === '#') {\n return base + relative\n }\n\n var stack = base.split('/');\n\n // remove trailing segment if:\n // - not appending\n // - appending to trailing slash (last segment is empty)\n if (!append || !stack[stack.length - 1]) {\n stack.pop();\n }\n\n // resolve relative path\n var segments = relative.replace(/^\\//, '').split('/');\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n if (segment === '..') {\n stack.pop();\n } else if (segment !== '.') {\n stack.push(segment);\n }\n }\n\n // ensure leading slash\n if (stack[0] !== '') {\n stack.unshift('');\n }\n\n return stack.join('/')\n}\n\nfunction parsePath (path) {\n var hash = '';\n var query = '';\n\n var hashIndex = path.indexOf('#');\n if (hashIndex >= 0) {\n hash = path.slice(hashIndex);\n path = path.slice(0, hashIndex);\n }\n\n var queryIndex = path.indexOf('?');\n if (queryIndex >= 0) {\n query = path.slice(queryIndex + 1);\n path = path.slice(0, queryIndex);\n }\n\n return {\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction cleanPath (path) {\n return path.replace(/\\/\\//g, '/')\n}\n\nvar isarray = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n/**\n * Expose `pathToRegexp`.\n */\nvar pathToRegexp_1 = pathToRegexp;\nvar parse_1 = parse;\nvar compile_1 = compile;\nvar tokensToFunction_1 = tokensToFunction;\nvar tokensToRegExp_1 = tokensToRegExp;\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g');\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = [];\n var key = 0;\n var index = 0;\n var path = '';\n var defaultDelimiter = options && options.delimiter || '/';\n var res;\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0];\n var escaped = res[1];\n var offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n continue\n }\n\n var next = str[index];\n var prefix = res[2];\n var name = res[3];\n var capture = res[4];\n var group = res[5];\n var modifier = res[6];\n var asterisk = res[7];\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n }\n\n var partial = prefix != null && next != null && next !== prefix;\n var repeat = modifier === '+' || modifier === '*';\n var optional = modifier === '?' || modifier === '*';\n var delimiter = res[2] || defaultDelimiter;\n var pattern = capture || group;\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n });\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index);\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path);\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length);\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$');\n }\n }\n\n return function (obj, opts) {\n var path = '';\n var data = obj || {};\n var options = opts || {};\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n\n continue\n }\n\n var value = data[token.name];\n var segment;\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix;\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j]);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value);\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment;\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys;\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n });\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = [];\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source);\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options));\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n var strict = options.strict;\n var end = options.end !== false;\n var route = '';\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (typeof token === 'string') {\n route += escapeString(token);\n } else {\n var prefix = escapeString(token.prefix);\n var capture = '(?:' + token.pattern + ')';\n\n keys.push(token);\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*';\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?';\n } else {\n capture = prefix + '(' + capture + ')?';\n }\n } else {\n capture = prefix + '(' + capture + ')';\n }\n\n route += capture;\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/');\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter;\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?';\n }\n\n if (end) {\n route += '$';\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)';\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options);\n keys = [];\n }\n\n options = options || {};\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n\npathToRegexp_1.parse = parse_1;\npathToRegexp_1.compile = compile_1;\npathToRegexp_1.tokensToFunction = tokensToFunction_1;\npathToRegexp_1.tokensToRegExp = tokensToRegExp_1;\n\n/* */\n\n// $flow-disable-line\nvar regexpCompileCache = Object.create(null);\n\nfunction fillParams (\n path,\n params,\n routeMsg\n) {\n try {\n var filler =\n regexpCompileCache[path] ||\n (regexpCompileCache[path] = pathToRegexp_1.compile(path));\n return filler(params || {}, { pretty: true })\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"missing param for \" + routeMsg + \": \" + (e.message)));\n }\n return ''\n }\n}\n\n/* */\n\nfunction createRouteMap (\n routes,\n oldPathList,\n oldPathMap,\n oldNameMap\n) {\n // the path list is used to control path matching priority\n var pathList = oldPathList || [];\n // $flow-disable-line\n var pathMap = oldPathMap || Object.create(null);\n // $flow-disable-line\n var nameMap = oldNameMap || Object.create(null);\n\n routes.forEach(function (route) {\n addRouteRecord(pathList, pathMap, nameMap, route);\n });\n\n // ensure wildcard routes are always at the end\n for (var i = 0, l = pathList.length; i < l; i++) {\n if (pathList[i] === '*') {\n pathList.push(pathList.splice(i, 1)[0]);\n l--;\n i--;\n }\n }\n\n return {\n pathList: pathList,\n pathMap: pathMap,\n nameMap: nameMap\n }\n}\n\nfunction addRouteRecord (\n pathList,\n pathMap,\n nameMap,\n route,\n parent,\n matchAs\n) {\n var path = route.path;\n var name = route.name;\n if (process.env.NODE_ENV !== 'production') {\n assert(path != null, \"\\\"path\\\" is required in a route configuration.\");\n assert(\n typeof route.component !== 'string',\n \"route config \\\"component\\\" for path: \" + (String(path || name)) + \" cannot be a \" +\n \"string id. Use an actual component instead.\"\n );\n }\n\n var pathToRegexpOptions = route.pathToRegexpOptions || {};\n var normalizedPath = normalizePath(\n path,\n parent,\n pathToRegexpOptions.strict\n );\n\n if (typeof route.caseSensitive === 'boolean') {\n pathToRegexpOptions.sensitive = route.caseSensitive;\n }\n\n var record = {\n path: normalizedPath,\n regex: compileRouteRegex(normalizedPath, pathToRegexpOptions),\n components: route.components || { default: route.component },\n instances: {},\n name: name,\n parent: parent,\n matchAs: matchAs,\n redirect: route.redirect,\n beforeEnter: route.beforeEnter,\n meta: route.meta || {},\n props: route.props == null\n ? {}\n : route.components\n ? route.props\n : { default: route.props }\n };\n\n if (route.children) {\n // Warn if route is named, does not redirect and has a default child route.\n // If users navigate to this route by name, the default child will\n // not be rendered (GH Issue #629)\n if (process.env.NODE_ENV !== 'production') {\n if (route.name && !route.redirect && route.children.some(function (child) { return /^\\/?$/.test(child.path); })) {\n warn(\n false,\n \"Named Route '\" + (route.name) + \"' has a default child route. \" +\n \"When navigating to this named route (:to=\\\"{name: '\" + (route.name) + \"'\\\"), \" +\n \"the default child route will not be rendered. Remove the name from \" +\n \"this route and use the name of the default child route for named \" +\n \"links instead.\"\n );\n }\n }\n route.children.forEach(function (child) {\n var childMatchAs = matchAs\n ? cleanPath((matchAs + \"/\" + (child.path)))\n : undefined;\n addRouteRecord(pathList, pathMap, nameMap, child, record, childMatchAs);\n });\n }\n\n if (route.alias !== undefined) {\n var aliases = Array.isArray(route.alias)\n ? route.alias\n : [route.alias];\n\n aliases.forEach(function (alias) {\n var aliasRoute = {\n path: alias,\n children: route.children\n };\n addRouteRecord(\n pathList,\n pathMap,\n nameMap,\n aliasRoute,\n parent,\n record.path || '/' // matchAs\n );\n });\n }\n\n if (!pathMap[record.path]) {\n pathList.push(record.path);\n pathMap[record.path] = record;\n }\n\n if (name) {\n if (!nameMap[name]) {\n nameMap[name] = record;\n } else if (process.env.NODE_ENV !== 'production' && !matchAs) {\n warn(\n false,\n \"Duplicate named routes definition: \" +\n \"{ name: \\\"\" + name + \"\\\", path: \\\"\" + (record.path) + \"\\\" }\"\n );\n }\n }\n}\n\nfunction compileRouteRegex (path, pathToRegexpOptions) {\n var regex = pathToRegexp_1(path, [], pathToRegexpOptions);\n if (process.env.NODE_ENV !== 'production') {\n var keys = Object.create(null);\n regex.keys.forEach(function (key) {\n warn(!keys[key.name], (\"Duplicate param keys in route with path: \\\"\" + path + \"\\\"\"));\n keys[key.name] = true;\n });\n }\n return regex\n}\n\nfunction normalizePath (path, parent, strict) {\n if (!strict) { path = path.replace(/\\/$/, ''); }\n if (path[0] === '/') { return path }\n if (parent == null) { return path }\n return cleanPath(((parent.path) + \"/\" + path))\n}\n\n/* */\n\n\nfunction normalizeLocation (\n raw,\n current,\n append,\n router\n) {\n var next = typeof raw === 'string' ? { path: raw } : raw;\n // named target\n if (next.name || next._normalized) {\n return next\n }\n\n // relative params\n if (!next.path && next.params && current) {\n next = assign({}, next);\n next._normalized = true;\n var params = assign(assign({}, current.params), next.params);\n if (current.name) {\n next.name = current.name;\n next.params = params;\n } else if (current.matched.length) {\n var rawPath = current.matched[current.matched.length - 1].path;\n next.path = fillParams(rawPath, params, (\"path \" + (current.path)));\n } else if (process.env.NODE_ENV !== 'production') {\n warn(false, \"relative params navigation requires a current route.\");\n }\n return next\n }\n\n var parsedPath = parsePath(next.path || '');\n var basePath = (current && current.path) || '/';\n var path = parsedPath.path\n ? resolvePath(parsedPath.path, basePath, append || next.append)\n : basePath;\n\n var query = resolveQuery(\n parsedPath.query,\n next.query,\n router && router.options.parseQuery\n );\n\n var hash = next.hash || parsedPath.hash;\n if (hash && hash.charAt(0) !== '#') {\n hash = \"#\" + hash;\n }\n\n return {\n _normalized: true,\n path: path,\n query: query,\n hash: hash\n }\n}\n\nfunction assign (a, b) {\n for (var key in b) {\n a[key] = b[key];\n }\n return a\n}\n\n/* */\n\n\nfunction createMatcher (\n routes,\n router\n) {\n var ref = createRouteMap(routes);\n var pathList = ref.pathList;\n var pathMap = ref.pathMap;\n var nameMap = ref.nameMap;\n\n function addRoutes (routes) {\n createRouteMap(routes, pathList, pathMap, nameMap);\n }\n\n function match (\n raw,\n currentRoute,\n redirectedFrom\n ) {\n var location = normalizeLocation(raw, currentRoute, false, router);\n var name = location.name;\n\n if (name) {\n var record = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n warn(record, (\"Route with name '\" + name + \"' does not exist\"));\n }\n if (!record) { return _createRoute(null, location) }\n var paramNames = record.regex.keys\n .filter(function (key) { return !key.optional; })\n .map(function (key) { return key.name; });\n\n if (typeof location.params !== 'object') {\n location.params = {};\n }\n\n if (currentRoute && typeof currentRoute.params === 'object') {\n for (var key in currentRoute.params) {\n if (!(key in location.params) && paramNames.indexOf(key) > -1) {\n location.params[key] = currentRoute.params[key];\n }\n }\n }\n\n if (record) {\n location.path = fillParams(record.path, location.params, (\"named route \\\"\" + name + \"\\\"\"));\n return _createRoute(record, location, redirectedFrom)\n }\n } else if (location.path) {\n location.params = {};\n for (var i = 0; i < pathList.length; i++) {\n var path = pathList[i];\n var record$1 = pathMap[path];\n if (matchRoute(record$1.regex, location.path, location.params)) {\n return _createRoute(record$1, location, redirectedFrom)\n }\n }\n }\n // no match\n return _createRoute(null, location)\n }\n\n function redirect (\n record,\n location\n ) {\n var originalRedirect = record.redirect;\n var redirect = typeof originalRedirect === 'function'\n ? originalRedirect(createRoute(record, location, null, router))\n : originalRedirect;\n\n if (typeof redirect === 'string') {\n redirect = { path: redirect };\n }\n\n if (!redirect || typeof redirect !== 'object') {\n if (process.env.NODE_ENV !== 'production') {\n warn(\n false, (\"invalid redirect option: \" + (JSON.stringify(redirect)))\n );\n }\n return _createRoute(null, location)\n }\n\n var re = redirect;\n var name = re.name;\n var path = re.path;\n var query = location.query;\n var hash = location.hash;\n var params = location.params;\n query = re.hasOwnProperty('query') ? re.query : query;\n hash = re.hasOwnProperty('hash') ? re.hash : hash;\n params = re.hasOwnProperty('params') ? re.params : params;\n\n if (name) {\n // resolved named direct\n var targetRecord = nameMap[name];\n if (process.env.NODE_ENV !== 'production') {\n assert(targetRecord, (\"redirect failed: named route \\\"\" + name + \"\\\" not found.\"));\n }\n return match({\n _normalized: true,\n name: name,\n query: query,\n hash: hash,\n params: params\n }, undefined, location)\n } else if (path) {\n // 1. resolve relative redirect\n var rawPath = resolveRecordPath(path, record);\n // 2. resolve params\n var resolvedPath = fillParams(rawPath, params, (\"redirect route with path \\\"\" + rawPath + \"\\\"\"));\n // 3. rematch with existing query and hash\n return match({\n _normalized: true,\n path: resolvedPath,\n query: query,\n hash: hash\n }, undefined, location)\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(false, (\"invalid redirect option: \" + (JSON.stringify(redirect))));\n }\n return _createRoute(null, location)\n }\n }\n\n function alias (\n record,\n location,\n matchAs\n ) {\n var aliasedPath = fillParams(matchAs, location.params, (\"aliased route with path \\\"\" + matchAs + \"\\\"\"));\n var aliasedMatch = match({\n _normalized: true,\n path: aliasedPath\n });\n if (aliasedMatch) {\n var matched = aliasedMatch.matched;\n var aliasedRecord = matched[matched.length - 1];\n location.params = aliasedMatch.params;\n return _createRoute(aliasedRecord, location)\n }\n return _createRoute(null, location)\n }\n\n function _createRoute (\n record,\n location,\n redirectedFrom\n ) {\n if (record && record.redirect) {\n return redirect(record, redirectedFrom || location)\n }\n if (record && record.matchAs) {\n return alias(record, location, record.matchAs)\n }\n return createRoute(record, location, redirectedFrom, router)\n }\n\n return {\n match: match,\n addRoutes: addRoutes\n }\n}\n\nfunction matchRoute (\n regex,\n path,\n params\n) {\n var m = path.match(regex);\n\n if (!m) {\n return false\n } else if (!params) {\n return true\n }\n\n for (var i = 1, len = m.length; i < len; ++i) {\n var key = regex.keys[i - 1];\n var val = typeof m[i] === 'string' ? decodeURIComponent(m[i]) : m[i];\n if (key) {\n params[key.name] = val;\n }\n }\n\n return true\n}\n\nfunction resolveRecordPath (path, record) {\n return resolvePath(path, record.parent ? record.parent.path : '/', true)\n}\n\n/* */\n\n\nvar positionStore = Object.create(null);\n\nfunction setupScroll () {\n // Fix for #1585 for Firefox\n window.history.replaceState({ key: getStateKey() }, '');\n window.addEventListener('popstate', function (e) {\n saveScrollPosition();\n if (e.state && e.state.key) {\n setStateKey(e.state.key);\n }\n });\n}\n\nfunction handleScroll (\n router,\n to,\n from,\n isPop\n) {\n if (!router.app) {\n return\n }\n\n var behavior = router.options.scrollBehavior;\n if (!behavior) {\n return\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(typeof behavior === 'function', \"scrollBehavior must be a function\");\n }\n\n // wait until re-render finishes before scrolling\n router.app.$nextTick(function () {\n var position = getScrollPosition();\n var shouldScroll = behavior(to, from, isPop ? position : null);\n\n if (!shouldScroll) {\n return\n }\n\n if (typeof shouldScroll.then === 'function') {\n shouldScroll.then(function (shouldScroll) {\n scrollToPosition((shouldScroll), position);\n }).catch(function (err) {\n if (process.env.NODE_ENV !== 'production') {\n assert(false, err.toString());\n }\n });\n } else {\n scrollToPosition(shouldScroll, position);\n }\n });\n}\n\nfunction saveScrollPosition () {\n var key = getStateKey();\n if (key) {\n positionStore[key] = {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n }\n}\n\nfunction getScrollPosition () {\n var key = getStateKey();\n if (key) {\n return positionStore[key]\n }\n}\n\nfunction getElementPosition (el, offset) {\n var docEl = document.documentElement;\n var docRect = docEl.getBoundingClientRect();\n var elRect = el.getBoundingClientRect();\n return {\n x: elRect.left - docRect.left - offset.x,\n y: elRect.top - docRect.top - offset.y\n }\n}\n\nfunction isValidPosition (obj) {\n return isNumber(obj.x) || isNumber(obj.y)\n}\n\nfunction normalizePosition (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : window.pageXOffset,\n y: isNumber(obj.y) ? obj.y : window.pageYOffset\n }\n}\n\nfunction normalizeOffset (obj) {\n return {\n x: isNumber(obj.x) ? obj.x : 0,\n y: isNumber(obj.y) ? obj.y : 0\n }\n}\n\nfunction isNumber (v) {\n return typeof v === 'number'\n}\n\nfunction scrollToPosition (shouldScroll, position) {\n var isObject = typeof shouldScroll === 'object';\n if (isObject && typeof shouldScroll.selector === 'string') {\n var el = document.querySelector(shouldScroll.selector);\n if (el) {\n var offset = shouldScroll.offset && typeof shouldScroll.offset === 'object' ? shouldScroll.offset : {};\n offset = normalizeOffset(offset);\n position = getElementPosition(el, offset);\n } else if (isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n } else if (isObject && isValidPosition(shouldScroll)) {\n position = normalizePosition(shouldScroll);\n }\n\n if (position) {\n window.scrollTo(position.x, position.y);\n }\n}\n\n/* */\n\nvar supportsPushState = inBrowser && (function () {\n var ua = window.navigator.userAgent;\n\n if (\n (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&\n ua.indexOf('Mobile Safari') !== -1 &&\n ua.indexOf('Chrome') === -1 &&\n ua.indexOf('Windows Phone') === -1\n ) {\n return false\n }\n\n return window.history && 'pushState' in window.history\n})();\n\n// use User Timing api (if present) for more accurate key precision\nvar Time = inBrowser && window.performance && window.performance.now\n ? window.performance\n : Date;\n\nvar _key = genKey();\n\nfunction genKey () {\n return Time.now().toFixed(3)\n}\n\nfunction getStateKey () {\n return _key\n}\n\nfunction setStateKey (key) {\n _key = key;\n}\n\nfunction pushState (url, replace) {\n saveScrollPosition();\n // try...catch the pushState call to get around Safari\n // DOM Exception 18 where it limits to 100 pushState calls\n var history = window.history;\n try {\n if (replace) {\n history.replaceState({ key: _key }, '', url);\n } else {\n _key = genKey();\n history.pushState({ key: _key }, '', url);\n }\n } catch (e) {\n window.location[replace ? 'replace' : 'assign'](url);\n }\n}\n\nfunction replaceState (url) {\n pushState(url, true);\n}\n\n/* */\n\nfunction runQueue (queue, fn, cb) {\n var step = function (index) {\n if (index >= queue.length) {\n cb();\n } else {\n if (queue[index]) {\n fn(queue[index], function () {\n step(index + 1);\n });\n } else {\n step(index + 1);\n }\n }\n };\n step(0);\n}\n\n/* */\n\nfunction resolveAsyncComponents (matched) {\n return function (to, from, next) {\n var hasAsync = false;\n var pending = 0;\n var error = null;\n\n flatMapComponents(matched, function (def, _, match, key) {\n // if it's a function and doesn't have cid attached,\n // assume it's an async component resolve function.\n // we are not using Vue's default async resolving mechanism because\n // we want to halt the navigation until the incoming component has been\n // resolved.\n if (typeof def === 'function' && def.cid === undefined) {\n hasAsync = true;\n pending++;\n\n var resolve = once(function (resolvedDef) {\n if (isESModule(resolvedDef)) {\n resolvedDef = resolvedDef.default;\n }\n // save resolved on async factory in case it's used elsewhere\n def.resolved = typeof resolvedDef === 'function'\n ? resolvedDef\n : _Vue.extend(resolvedDef);\n match.components[key] = resolvedDef;\n pending--;\n if (pending <= 0) {\n next();\n }\n });\n\n var reject = once(function (reason) {\n var msg = \"Failed to resolve async component \" + key + \": \" + reason;\n process.env.NODE_ENV !== 'production' && warn(false, msg);\n if (!error) {\n error = isError(reason)\n ? reason\n : new Error(msg);\n next(error);\n }\n });\n\n var res;\n try {\n res = def(resolve, reject);\n } catch (e) {\n reject(e);\n }\n if (res) {\n if (typeof res.then === 'function') {\n res.then(resolve, reject);\n } else {\n // new syntax in Vue 2.3\n var comp = res.component;\n if (comp && typeof comp.then === 'function') {\n comp.then(resolve, reject);\n }\n }\n }\n }\n });\n\n if (!hasAsync) { next(); }\n }\n}\n\nfunction flatMapComponents (\n matched,\n fn\n) {\n return flatten(matched.map(function (m) {\n return Object.keys(m.components).map(function (key) { return fn(\n m.components[key],\n m.instances[key],\n m, key\n ); })\n }))\n}\n\nfunction flatten (arr) {\n return Array.prototype.concat.apply([], arr)\n}\n\nvar hasSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.toStringTag === 'symbol';\n\nfunction isESModule (obj) {\n return obj.__esModule || (hasSymbol && obj[Symbol.toStringTag] === 'Module')\n}\n\n// in Webpack 2, require.ensure now also returns a Promise\n// so the resolve/reject functions may get called an extra time\n// if the user uses an arrow function shorthand that happens to\n// return that Promise.\nfunction once (fn) {\n var called = false;\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) { return }\n called = true;\n return fn.apply(this, args)\n }\n}\n\n/* */\n\nvar History = function History (router, base) {\n this.router = router;\n this.base = normalizeBase(base);\n // start with a route object that stands for \"nowhere\"\n this.current = START;\n this.pending = null;\n this.ready = false;\n this.readyCbs = [];\n this.readyErrorCbs = [];\n this.errorCbs = [];\n};\n\nHistory.prototype.listen = function listen (cb) {\n this.cb = cb;\n};\n\nHistory.prototype.onReady = function onReady (cb, errorCb) {\n if (this.ready) {\n cb();\n } else {\n this.readyCbs.push(cb);\n if (errorCb) {\n this.readyErrorCbs.push(errorCb);\n }\n }\n};\n\nHistory.prototype.onError = function onError (errorCb) {\n this.errorCbs.push(errorCb);\n};\n\nHistory.prototype.transitionTo = function transitionTo (location, onComplete, onAbort) {\n var this$1 = this;\n\n var route = this.router.match(location, this.current);\n this.confirmTransition(route, function () {\n this$1.updateRoute(route);\n onComplete && onComplete(route);\n this$1.ensureURL();\n\n // fire ready cbs once\n if (!this$1.ready) {\n this$1.ready = true;\n this$1.readyCbs.forEach(function (cb) { cb(route); });\n }\n }, function (err) {\n if (onAbort) {\n onAbort(err);\n }\n if (err && !this$1.ready) {\n this$1.ready = true;\n this$1.readyErrorCbs.forEach(function (cb) { cb(err); });\n }\n });\n};\n\nHistory.prototype.confirmTransition = function confirmTransition (route, onComplete, onAbort) {\n var this$1 = this;\n\n var current = this.current;\n var abort = function (err) {\n if (isError(err)) {\n if (this$1.errorCbs.length) {\n this$1.errorCbs.forEach(function (cb) { cb(err); });\n } else {\n warn(false, 'uncaught error during route navigation:');\n console.error(err);\n }\n }\n onAbort && onAbort(err);\n };\n if (\n isSameRoute(route, current) &&\n // in the case the route map has been dynamically appended to\n route.matched.length === current.matched.length\n ) {\n this.ensureURL();\n return abort()\n }\n\n var ref = resolveQueue(this.current.matched, route.matched);\n var updated = ref.updated;\n var deactivated = ref.deactivated;\n var activated = ref.activated;\n\n var queue = [].concat(\n // in-component leave guards\n extractLeaveGuards(deactivated),\n // global before hooks\n this.router.beforeHooks,\n // in-component update hooks\n extractUpdateHooks(updated),\n // in-config enter guards\n activated.map(function (m) { return m.beforeEnter; }),\n // async components\n resolveAsyncComponents(activated)\n );\n\n this.pending = route;\n var iterator = function (hook, next) {\n if (this$1.pending !== route) {\n return abort()\n }\n try {\n hook(route, current, function (to) {\n if (to === false || isError(to)) {\n // next(false) -> abort navigation, ensure current URL\n this$1.ensureURL(true);\n abort(to);\n } else if (\n typeof to === 'string' ||\n (typeof to === 'object' && (\n typeof to.path === 'string' ||\n typeof to.name === 'string'\n ))\n ) {\n // next('/') or next({ path: '/' }) -> redirect\n abort();\n if (typeof to === 'object' && to.replace) {\n this$1.replace(to);\n } else {\n this$1.push(to);\n }\n } else {\n // confirm transition and pass on the value\n next(to);\n }\n });\n } catch (e) {\n abort(e);\n }\n };\n\n runQueue(queue, iterator, function () {\n var postEnterCbs = [];\n var isValid = function () { return this$1.current === route; };\n // wait until async components are resolved before\n // extracting in-component enter guards\n var enterGuards = extractEnterGuards(activated, postEnterCbs, isValid);\n var queue = enterGuards.concat(this$1.router.resolveHooks);\n runQueue(queue, iterator, function () {\n if (this$1.pending !== route) {\n return abort()\n }\n this$1.pending = null;\n onComplete(route);\n if (this$1.router.app) {\n this$1.router.app.$nextTick(function () {\n postEnterCbs.forEach(function (cb) { cb(); });\n });\n }\n });\n });\n};\n\nHistory.prototype.updateRoute = function updateRoute (route) {\n var prev = this.current;\n this.current = route;\n this.cb && this.cb(route);\n this.router.afterHooks.forEach(function (hook) {\n hook && hook(route, prev);\n });\n};\n\nfunction normalizeBase (base) {\n if (!base) {\n if (inBrowser) {\n // respect tag\n var baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^https?:\\/\\/[^\\/]+/, '');\n } else {\n base = '/';\n }\n }\n // make sure there's the starting slash\n if (base.charAt(0) !== '/') {\n base = '/' + base;\n }\n // remove trailing slash\n return base.replace(/\\/$/, '')\n}\n\nfunction resolveQueue (\n current,\n next\n) {\n var i;\n var max = Math.max(current.length, next.length);\n for (i = 0; i < max; i++) {\n if (current[i] !== next[i]) {\n break\n }\n }\n return {\n updated: next.slice(0, i),\n activated: next.slice(i),\n deactivated: current.slice(i)\n }\n}\n\nfunction extractGuards (\n records,\n name,\n bind,\n reverse\n) {\n var guards = flatMapComponents(records, function (def, instance, match, key) {\n var guard = extractGuard(def, name);\n if (guard) {\n return Array.isArray(guard)\n ? guard.map(function (guard) { return bind(guard, instance, match, key); })\n : bind(guard, instance, match, key)\n }\n });\n return flatten(reverse ? guards.reverse() : guards)\n}\n\nfunction extractGuard (\n def,\n key\n) {\n if (typeof def !== 'function') {\n // extend now so that global mixins are applied.\n def = _Vue.extend(def);\n }\n return def.options[key]\n}\n\nfunction extractLeaveGuards (deactivated) {\n return extractGuards(deactivated, 'beforeRouteLeave', bindGuard, true)\n}\n\nfunction extractUpdateHooks (updated) {\n return extractGuards(updated, 'beforeRouteUpdate', bindGuard)\n}\n\nfunction bindGuard (guard, instance) {\n if (instance) {\n return function boundRouteGuard () {\n return guard.apply(instance, arguments)\n }\n }\n}\n\nfunction extractEnterGuards (\n activated,\n cbs,\n isValid\n) {\n return extractGuards(activated, 'beforeRouteEnter', function (guard, _, match, key) {\n return bindEnterGuard(guard, match, key, cbs, isValid)\n })\n}\n\nfunction bindEnterGuard (\n guard,\n match,\n key,\n cbs,\n isValid\n) {\n return function routeEnterGuard (to, from, next) {\n return guard(to, from, function (cb) {\n next(cb);\n if (typeof cb === 'function') {\n cbs.push(function () {\n // #750\n // if a router-view is wrapped with an out-in transition,\n // the instance may not have been registered at this time.\n // we will need to poll for registration until current route\n // is no longer valid.\n poll(cb, match.instances, key, isValid);\n });\n }\n })\n }\n}\n\nfunction poll (\n cb, // somehow flow cannot infer this is a function\n instances,\n key,\n isValid\n) {\n if (instances[key]) {\n cb(instances[key]);\n } else if (isValid()) {\n setTimeout(function () {\n poll(cb, instances, key, isValid);\n }, 16);\n }\n}\n\n/* */\n\n\nvar HTML5History = (function (History$$1) {\n function HTML5History (router, base) {\n var this$1 = this;\n\n History$$1.call(this, router, base);\n\n var expectScroll = router.options.scrollBehavior;\n\n if (expectScroll) {\n setupScroll();\n }\n\n var initLocation = getLocation(this.base);\n window.addEventListener('popstate', function (e) {\n var current = this$1.current;\n\n // Avoiding first `popstate` event dispatched in some browsers but first\n // history route not updated since async guard at the same time.\n var location = getLocation(this$1.base);\n if (this$1.current === START && location === initLocation) {\n return\n }\n\n this$1.transitionTo(location, function (route) {\n if (expectScroll) {\n handleScroll(router, route, current, true);\n }\n });\n });\n }\n\n if ( History$$1 ) HTML5History.__proto__ = History$$1;\n HTML5History.prototype = Object.create( History$$1 && History$$1.prototype );\n HTML5History.prototype.constructor = HTML5History;\n\n HTML5History.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HTML5History.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceState(cleanPath(this$1.base + route.fullPath));\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HTML5History.prototype.ensureURL = function ensureURL (push) {\n if (getLocation(this.base) !== this.current.fullPath) {\n var current = cleanPath(this.base + this.current.fullPath);\n push ? pushState(current) : replaceState(current);\n }\n };\n\n HTML5History.prototype.getCurrentLocation = function getCurrentLocation () {\n return getLocation(this.base)\n };\n\n return HTML5History;\n}(History));\n\nfunction getLocation (base) {\n var path = window.location.pathname;\n if (base && path.indexOf(base) === 0) {\n path = path.slice(base.length);\n }\n return (path || '/') + window.location.search + window.location.hash\n}\n\n/* */\n\n\nvar HashHistory = (function (History$$1) {\n function HashHistory (router, base, fallback) {\n History$$1.call(this, router, base);\n // check history fallback deeplinking\n if (fallback && checkFallback(this.base)) {\n return\n }\n ensureSlash();\n }\n\n if ( History$$1 ) HashHistory.__proto__ = History$$1;\n HashHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n HashHistory.prototype.constructor = HashHistory;\n\n // this is delayed until the app mounts\n // to avoid the hashchange listener being fired too early\n HashHistory.prototype.setupListeners = function setupListeners () {\n var this$1 = this;\n\n var router = this.router;\n var expectScroll = router.options.scrollBehavior;\n var supportsScroll = supportsPushState && expectScroll;\n\n if (supportsScroll) {\n setupScroll();\n }\n\n window.addEventListener(supportsPushState ? 'popstate' : 'hashchange', function () {\n var current = this$1.current;\n if (!ensureSlash()) {\n return\n }\n this$1.transitionTo(getHash(), function (route) {\n if (supportsScroll) {\n handleScroll(this$1.router, route, current, true);\n }\n if (!supportsPushState) {\n replaceHash(route.fullPath);\n }\n });\n });\n };\n\n HashHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n pushHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n var ref = this;\n var fromRoute = ref.current;\n this.transitionTo(location, function (route) {\n replaceHash(route.fullPath);\n handleScroll(this$1.router, route, fromRoute, false);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n HashHistory.prototype.go = function go (n) {\n window.history.go(n);\n };\n\n HashHistory.prototype.ensureURL = function ensureURL (push) {\n var current = this.current.fullPath;\n if (getHash() !== current) {\n push ? pushHash(current) : replaceHash(current);\n }\n };\n\n HashHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n return getHash()\n };\n\n return HashHistory;\n}(History));\n\nfunction checkFallback (base) {\n var location = getLocation(base);\n if (!/^\\/#/.test(location)) {\n window.location.replace(\n cleanPath(base + '/#' + location)\n );\n return true\n }\n}\n\nfunction ensureSlash () {\n var path = getHash();\n if (path.charAt(0) === '/') {\n return true\n }\n replaceHash('/' + path);\n return false\n}\n\nfunction getHash () {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var index = href.indexOf('#');\n return index === -1 ? '' : href.slice(index + 1)\n}\n\nfunction getUrl (path) {\n var href = window.location.href;\n var i = href.indexOf('#');\n var base = i >= 0 ? href.slice(0, i) : href;\n return (base + \"#\" + path)\n}\n\nfunction pushHash (path) {\n if (supportsPushState) {\n pushState(getUrl(path));\n } else {\n window.location.hash = path;\n }\n}\n\nfunction replaceHash (path) {\n if (supportsPushState) {\n replaceState(getUrl(path));\n } else {\n window.location.replace(getUrl(path));\n }\n}\n\n/* */\n\n\nvar AbstractHistory = (function (History$$1) {\n function AbstractHistory (router, base) {\n History$$1.call(this, router, base);\n this.stack = [];\n this.index = -1;\n }\n\n if ( History$$1 ) AbstractHistory.__proto__ = History$$1;\n AbstractHistory.prototype = Object.create( History$$1 && History$$1.prototype );\n AbstractHistory.prototype.constructor = AbstractHistory;\n\n AbstractHistory.prototype.push = function push (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index + 1).concat(route);\n this$1.index++;\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.replace = function replace (location, onComplete, onAbort) {\n var this$1 = this;\n\n this.transitionTo(location, function (route) {\n this$1.stack = this$1.stack.slice(0, this$1.index).concat(route);\n onComplete && onComplete(route);\n }, onAbort);\n };\n\n AbstractHistory.prototype.go = function go (n) {\n var this$1 = this;\n\n var targetIndex = this.index + n;\n if (targetIndex < 0 || targetIndex >= this.stack.length) {\n return\n }\n var route = this.stack[targetIndex];\n this.confirmTransition(route, function () {\n this$1.index = targetIndex;\n this$1.updateRoute(route);\n });\n };\n\n AbstractHistory.prototype.getCurrentLocation = function getCurrentLocation () {\n var current = this.stack[this.stack.length - 1];\n return current ? current.fullPath : '/'\n };\n\n AbstractHistory.prototype.ensureURL = function ensureURL () {\n // noop\n };\n\n return AbstractHistory;\n}(History));\n\n/* */\n\nvar VueRouter = function VueRouter (options) {\n if ( options === void 0 ) options = {};\n\n this.app = null;\n this.apps = [];\n this.options = options;\n this.beforeHooks = [];\n this.resolveHooks = [];\n this.afterHooks = [];\n this.matcher = createMatcher(options.routes || [], this);\n\n var mode = options.mode || 'hash';\n this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false;\n if (this.fallback) {\n mode = 'hash';\n }\n if (!inBrowser) {\n mode = 'abstract';\n }\n this.mode = mode;\n\n switch (mode) {\n case 'history':\n this.history = new HTML5History(this, options.base);\n break\n case 'hash':\n this.history = new HashHistory(this, options.base, this.fallback);\n break\n case 'abstract':\n this.history = new AbstractHistory(this, options.base);\n break\n default:\n if (process.env.NODE_ENV !== 'production') {\n assert(false, (\"invalid mode: \" + mode));\n }\n }\n};\n\nvar prototypeAccessors = { currentRoute: { configurable: true } };\n\nVueRouter.prototype.match = function match (\n raw,\n current,\n redirectedFrom\n) {\n return this.matcher.match(raw, current, redirectedFrom)\n};\n\nprototypeAccessors.currentRoute.get = function () {\n return this.history && this.history.current\n};\n\nVueRouter.prototype.init = function init (app /* Vue component instance */) {\n var this$1 = this;\n\n process.env.NODE_ENV !== 'production' && assert(\n install.installed,\n \"not installed. Make sure to call `Vue.use(VueRouter)` \" +\n \"before creating root instance.\"\n );\n\n this.apps.push(app);\n\n // main app already initialized.\n if (this.app) {\n return\n }\n\n this.app = app;\n\n var history = this.history;\n\n if (history instanceof HTML5History) {\n history.transitionTo(history.getCurrentLocation());\n } else if (history instanceof HashHistory) {\n var setupHashListener = function () {\n history.setupListeners();\n };\n history.transitionTo(\n history.getCurrentLocation(),\n setupHashListener,\n setupHashListener\n );\n }\n\n history.listen(function (route) {\n this$1.apps.forEach(function (app) {\n app._route = route;\n });\n });\n};\n\nVueRouter.prototype.beforeEach = function beforeEach (fn) {\n return registerHook(this.beforeHooks, fn)\n};\n\nVueRouter.prototype.beforeResolve = function beforeResolve (fn) {\n return registerHook(this.resolveHooks, fn)\n};\n\nVueRouter.prototype.afterEach = function afterEach (fn) {\n return registerHook(this.afterHooks, fn)\n};\n\nVueRouter.prototype.onReady = function onReady (cb, errorCb) {\n this.history.onReady(cb, errorCb);\n};\n\nVueRouter.prototype.onError = function onError (errorCb) {\n this.history.onError(errorCb);\n};\n\nVueRouter.prototype.push = function push (location, onComplete, onAbort) {\n this.history.push(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.replace = function replace (location, onComplete, onAbort) {\n this.history.replace(location, onComplete, onAbort);\n};\n\nVueRouter.prototype.go = function go (n) {\n this.history.go(n);\n};\n\nVueRouter.prototype.back = function back () {\n this.go(-1);\n};\n\nVueRouter.prototype.forward = function forward () {\n this.go(1);\n};\n\nVueRouter.prototype.getMatchedComponents = function getMatchedComponents (to) {\n var route = to\n ? to.matched\n ? to\n : this.resolve(to).route\n : this.currentRoute;\n if (!route) {\n return []\n }\n return [].concat.apply([], route.matched.map(function (m) {\n return Object.keys(m.components).map(function (key) {\n return m.components[key]\n })\n }))\n};\n\nVueRouter.prototype.resolve = function resolve (\n to,\n current,\n append\n) {\n var location = normalizeLocation(\n to,\n current || this.history.current,\n append,\n this\n );\n var route = this.match(location, current);\n var fullPath = route.redirectedFrom || route.fullPath;\n var base = this.history.base;\n var href = createHref(base, fullPath, this.mode);\n return {\n location: location,\n route: route,\n href: href,\n // for backwards compat\n normalizedTo: location,\n resolved: route\n }\n};\n\nVueRouter.prototype.addRoutes = function addRoutes (routes) {\n this.matcher.addRoutes(routes);\n if (this.history.current !== START) {\n this.history.transitionTo(this.history.getCurrentLocation());\n }\n};\n\nObject.defineProperties( VueRouter.prototype, prototypeAccessors );\n\nfunction registerHook (list, fn) {\n list.push(fn);\n return function () {\n var i = list.indexOf(fn);\n if (i > -1) { list.splice(i, 1); }\n }\n}\n\nfunction createHref (base, fullPath, mode) {\n var path = mode === 'hash' ? '#' + fullPath : fullPath;\n return base ? cleanPath(base + '/' + path) : path\n}\n\nVueRouter.install = install;\nVueRouter.version = '3.0.1';\n\nif (inBrowser && window.Vue) {\n window.Vue.use(VueRouter);\n}\n\nexport default VueRouter;\n","module.exports = require('./lib/axios');","const isDevelopment = process.env.NODE_ENV === 'development';\n\nexport {\n isDevelopment\n};\n","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","\n\n\n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./select-list.vue?vue&type=template&id=4bc41cee&scoped=true&\"\nimport script from \"./select-list.vue?vue&type=script&lang=js&\"\nexport * from \"./select-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select-list.vue?vue&type=style&index=0&id=4bc41cee&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4bc41cee\",\n null\n \n)\n\ncomponent.options.__file = \"select-list.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"file-browser max-width\" }, [\n _c(\n \"div\",\n { class: _vm.showBrowseButton ? \"input-group\" : \"input-group-no-btn\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPath,\n expression: \"currentPath\"\n }\n ],\n ref: \"locationInput\",\n staticClass: \"form-control input-sm fileBrowserField\",\n attrs: { name: _vm.name, type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.currentPath = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _vm.showBrowseButton\n ? _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { title: _vm.title, alt: _vm.title },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.openDialog($event)\n }\n }\n },\n [_vm._m(0)]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n ref: \"fileBrowserDialog\",\n staticClass: \"fileBrowserDialog\",\n staticStyle: { display: \"none\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: \"fileBrowserSearchBox\",\n staticClass: \"form-control\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n keyup: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n _vm.browse($event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { ref: \"fileBrowserFileList\", staticStyle: { display: \"none\" } },\n _vm._l(_vm.files, function(file) {\n return _c(\n \"li\",\n { key: file.name, staticClass: \"ui-state-default ui-corner-all\" },\n [\n _c(\n \"a\",\n {\n on: {\n mouseover: function($event) {\n _vm.toggleFolder(file, $event)\n },\n mouseout: function($event) {\n _vm.toggleFolder(file, $event)\n },\n click: function($event) {\n _vm.fileClicked(file)\n }\n }\n },\n [\n _c(\"span\", {\n class:\n \"ui-icon \" +\n (file.isFile ? \"ui-icon-blank\" : \"ui-icon-folder-collapsed\")\n }),\n _vm._v(\" \" + _vm._s(file.name) + \"\\n \")\n ]\n )\n ]\n )\n })\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [_c(\"i\", { staticClass: \"glyphicon glyphicon-open\" })]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./file-browser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./file-browser.vue?vue&type=template&id=1113705a&scoped=true&\"\nimport script from \"./file-browser.vue?vue&type=script&lang=js&\"\nexport * from \"./file-browser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./file-browser.vue?vue&type=style&index=0&id=1113705a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1113705a\",\n null\n \n)\n\ncomponent.options.__file = \"file-browser.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"name-pattern-wrapper\" } }, [\n _vm.type\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"enable_naming_custom\" }\n },\n [_c(\"span\", [_vm._v(\"Custom \" + _vm._s(_vm.type))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"enable_naming_custom\",\n name: \"enable_naming_custom\",\n sync: \"\"\n },\n on: {\n input: function($event) {\n _vm.update()\n }\n },\n model: {\n value: _vm.isEnabled,\n callback: function($$v) {\n _vm.isEnabled = $$v\n },\n expression: \"isEnabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Name \" +\n _vm._s(_vm.type) +\n \" shows differently than regular shows?\"\n )\n ])\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.type || _vm.isEnabled\n ? _c(\"div\", { staticClass: \"episode-naming\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedNamingPattern,\n expression: \"selectedNamingPattern\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"name_presets\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedNamingPattern = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n },\n _vm._l(_vm.presets, function(preset) {\n return _c(\n \"option\",\n { key: preset.pattern, attrs: { id: preset.pattern } },\n [_vm._v(_vm._s(preset.example))]\n )\n })\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"naming_custom\" } }, [\n _vm.isCustom\n ? _c(\n \"div\",\n {\n staticClass: \"form-group\",\n staticStyle: { \"padding-top\": \"0\" }\n },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customName,\n expression: \"customName\"\n }\n ],\n staticClass:\n \"form-control-inline-max input-sm max-input350\",\n attrs: {\n type: \"text\",\n name: \"naming_pattern\",\n id: \"naming_pattern\"\n },\n domProps: { value: _vm.customName },\n on: {\n change: _vm.updatePatternSamples,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.customName = $event.target.value\n },\n function($event) {\n _vm.update()\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\"img\", {\n staticClass: \"legend\",\n attrs: {\n src: \"images/legend16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"[Toggle Key]\",\n id: \"show_naming_key\",\n title: \"Toggle Naming Legend\"\n },\n on: {\n click: function($event) {\n _vm.showLegend = !_vm.showLegend\n }\n }\n })\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLegend && _vm.isCustom\n ? _c(\n \"div\",\n { staticClass: \"nocheck\", attrs: { id: \"naming_key\" } },\n [\n _c(\"table\", { staticClass: \"Key\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"tbody\", [\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%M\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%D\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Y\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CM\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CD\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"D\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CY\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"YY\")))])\n ]),\n _vm._v(\" \"),\n _vm._m(20),\n _vm._v(\" \"),\n _vm._m(21),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28)\n ])\n ])\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.selectedMultiEpStyle\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedMultiEpStyle,\n expression: \"selectedMultiEpStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"naming_multi_ep\", name: \"naming_multi_ep\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedMultiEpStyle = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update($event)\n }\n }\n },\n _vm._l(_vm.availableMultiEpStyles, function(multiEpStyle) {\n return _c(\n \"option\",\n {\n key: multiEpStyle.value,\n attrs: { id: \"multiEpStyle\" },\n domProps: { value: multiEpStyle.value }\n },\n [_vm._v(_vm._s(multiEpStyle.text))]\n )\n })\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Single-EP Sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n { staticClass: \"jumbo\", attrs: { id: \"naming_example\" } },\n [_vm._v(_vm._s(_vm.namingExample))]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.isMulti\n ? _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Multi-EP sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n {\n staticClass: \"jumbo\",\n attrs: { id: \"naming_example_multi\" }\n },\n [_vm._v(_vm._s(_vm.namingExampleMulti))]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime\",\n value: \"1\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"1\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"1\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add the absolute number to the season/episode format?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\"\n )\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_only\",\n value: \"2\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"2\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"2\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Replace season/episode format with absolute number\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_none\",\n value: \"3\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"3\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"3\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Don't include the absolute number\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"name_presets\" } },\n [_c(\"span\", [_vm._v(\"Name Pattern:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { staticClass: \"align-right\" }, [_vm._v(\"Meaning\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Pattern\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"60%\" } }, [_vm._v(\"Result\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tfoot\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { colspan: \"3\" } }, [\n _vm._v(\n \"Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Show Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%EN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Air Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Post-Processing Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [_c(\"b\", [_vm._v(\"Quality:\")])]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%QN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Scene Quality:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p HDTV x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.HDTV.x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_HDTV_x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"Multi-EP style is ignored\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: {\n title:\n \"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Group:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RG\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"If episode is proper/repack add 'proper' to name.\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Type:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RT\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"PROPER\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_multi_ep\" }\n },\n [_c(\"span\", [_vm._v(\"Multi-Episode Style:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"naming_anime\" } },\n [_c(\"span\", [_vm._v(\"Add Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_only\" }\n },\n [_c(\"span\", [_vm._v(\"Only Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_none\" }\n },\n [_c(\"span\", [_vm._v(\"No Absolute Number\")])]\n )\n }\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./name-pattern.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./name-pattern.vue?vue&type=template&id=0cdf1284&\"\nimport script from \"./name-pattern.vue?vue&type=script&lang=js&\"\nexport * from \"./name-pattern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./name-pattern.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"name-pattern.vue\"\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n class: _vm.plotInfoClass,\n attrs: { src: \"images/info32.png\", width: \"16\", height: \"16\", alt: \"\" }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./plot-info.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./plot-info.vue?vue&type=template&id=3a3c4424&\"\nimport script from \"./plot-info.vue?vue&type=script&lang=js&\"\nexport * from \"./plot-info.vue?vue&type=script&lang=js&\"\nimport style0 from \"./plot-info.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"plot-info.vue\"\nexport default component.exports","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueNativeSock=t():e.VueNativeSock=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=1)}([function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n-1)&&(o.splice(r,1),this.listeners.set(e,o),!0)}},{key:\"emit\",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o2&&void 0!==arguments[2]?arguments[2]:{};if(!t)throw new Error(\"[vue-native-socket] cannot locate connection\");var o=null;n.$setInstance=function(t){e.prototype.$socket=t},n.connectManually?(e.prototype.$connect=function(){o=new i.default(t,n),e.prototype.$socket=o.WebSocket},e.prototype.$disconnect=function(){o&&o.reconnection&&(o.reconnection=!1),e.prototype.$socket&&(e.prototype.$socket.close(),delete e.prototype.$socket)}):(o=new i.default(t,n),e.prototype.$socket=o.WebSocket),e.mixin({created:function(){var e=this,t=this,n=this.$options.sockets;this.$options.sockets=new Proxy({},{set:function(e,n,o){return s.default.addListener(n,o,t),e[n]=o,!0},deleteProperty:function(e,n){return s.default.removeListener(n,t.$options.sockets[n],t),delete e.key,!0}}),n&&Object.keys(n).forEach(function(t){e.$options.sockets[t]=n[t]})},beforeDestroy:function(){var e=this,t=this.$options.sockets;t&&Object.keys(t).forEach(function(t){delete e.$options.sockets[t]})}})}}},function(e,t,n){\"use strict\";function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.format=n.format&&n.format.toLowerCase(),this.connectionUrl=t,this.opts=n,this.reconnection=this.opts.reconnection||!1,this.reconnectionAttempts=this.opts.reconnectionAttempts||1/0,this.reconnectionDelay=this.opts.reconnectionDelay||1e3,this.reconnectTimeoutId=0,this.reconnectionCount=0,this.passToStoreHandler=this.opts.passToStoreHandler||!1,this.connect(t,n),n.store&&(this.store=n.store),this.onEvent()}return r(e,[{key:\"connect\",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.protocol||\"\";return this.WebSocket=n.WebSocket||(\"\"===o?new WebSocket(e):new WebSocket(e,o)),\"json\"===this.format&&(\"sendObj\"in this.WebSocket||(this.WebSocket.sendObj=function(e){return t.WebSocket.send(JSON.stringify(e))})),this.WebSocket}},{key:\"reconnect\",value:function(){var e=this;this.reconnectionCount<=this.reconnectionAttempts?(this.reconnectionCount++,clearTimeout(this.reconnectTimeoutId),this.reconnectTimeoutId=setTimeout(function(){e.store&&e.passToStore(\"SOCKET_RECONNECT\",e.reconnectionCount),e.connect(e.connectionUrl,e.opts),e.onEvent()},this.reconnectionDelay)):this.store&&this.passToStore(\"SOCKET_RECONNECT_ERROR\",!0)}},{key:\"onEvent\",value:function(){var e=this;[\"onmessage\",\"onclose\",\"onerror\",\"onopen\"].forEach(function(t){e.WebSocket[t]=function(n){c.default.emit(t,n),e.store&&e.passToStore(\"SOCKET_\"+t,n),e.reconnection&&\"onopen\"===t&&(e.opts.$setInstance(n.currentTarget),e.reconnectionCount=0),e.reconnection&&\"onclose\"===t&&e.reconnect()}})}},{key:\"passToStore\",value:function(e,t){this.passToStoreHandler?this.passToStoreHandler(e,t,this.defaultPassToStore.bind(this)):this.defaultPassToStore(e,t)}},{key:\"defaultPassToStore\",value:function(e,t){if(e.startsWith(\"SOCKET_\")){var n=\"commit\",o=e.toUpperCase(),r=t;\"json\"===this.format&&t.data&&(r=JSON.parse(t.data),r.mutation?o=[r.namespace||\"\",r.mutation].filter(function(e){return!!e}).join(\"/\"):r.action&&(n=\"dispatch\",o=[r.namespace||\"\",r.action].filter(function(e){return!!e}).join(\"/\"))),this.store[n](o,r)}}}]),e}();t.default=s}])});","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (global, factory) {\n (typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.AsyncComputed = factory();\n})(this, function () {\n 'use strict';\n\n function isComputedLazy(item) {\n return item.hasOwnProperty('lazy') && item.lazy;\n }\n\n function isLazyActive(vm, key) {\n return vm[lazyActivePrefix + key];\n }\n\n var lazyActivePrefix = 'async_computed$lazy_active$',\n lazyDataPrefix = 'async_computed$lazy_data$';\n\n function initLazy(data, key) {\n data[lazyActivePrefix + key] = false;\n data[lazyDataPrefix + key] = null;\n }\n\n function makeLazyComputed(key) {\n return {\n get: function get() {\n this[lazyActivePrefix + key] = true;\n return this[lazyDataPrefix + key];\n },\n set: function set(value) {\n this[lazyDataPrefix + key] = value;\n }\n };\n }\n\n function silentSetLazy(vm, key, value) {\n vm[lazyDataPrefix + key] = value;\n }\n function silentGetLazy(vm, key) {\n return vm[lazyDataPrefix + key];\n }\n\n var prefix = '_async_computed$';\n var DidNotUpdate = typeof Symbol === 'function' ? Symbol('did-not-update') : {};\n\n var AsyncComputed = {\n install: function install(Vue, pluginOptions) {\n pluginOptions = pluginOptions || {};\n\n Vue.config.optionMergeStrategies.asyncComputed = Vue.config.optionMergeStrategies.computed;\n\n Vue.mixin({\n beforeCreate: function beforeCreate() {\n var optionData = this.$options.data;\n\n if (!this.$options.computed) this.$options.computed = {};\n\n for (var key in this.$options.asyncComputed || {}) {\n this.$options.computed[prefix + key] = getterFn(key, this.$options.asyncComputed[key]);\n }\n\n this.$options.data = function vueAsyncComputedInjectedDataFn() {\n var data = (typeof optionData === 'function' ? optionData.call(this) : optionData) || {};\n for (var _key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[_key];\n if (isComputedLazy(item)) {\n initLazy(data, _key);\n this.$options.computed[_key] = makeLazyComputed(_key);\n } else {\n data[_key] = null;\n }\n }\n return data;\n };\n },\n created: function created() {\n var _this = this;\n\n for (var key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[key],\n value = generateDefault.call(this, item, pluginOptions);\n if (isComputedLazy(item)) {\n silentSetLazy(this, key, value);\n } else {\n this[key] = value;\n }\n }\n\n var _loop = function _loop(_key2) {\n var promiseId = 0;\n _this.$watch(prefix + _key2, function (newPromise) {\n var thisPromise = ++promiseId;\n\n if (newPromise === DidNotUpdate) {\n return;\n }\n\n if (!newPromise || !newPromise.then) {\n newPromise = Promise.resolve(newPromise);\n }\n\n newPromise.then(function (value) {\n if (thisPromise !== promiseId) return;\n _this[_key2] = value;\n }).catch(function (err) {\n if (thisPromise !== promiseId) return;\n\n if (pluginOptions.errorHandler === false) return;\n\n var handler = pluginOptions.errorHandler === undefined ? console.error.bind(console, 'Error evaluating async computed property:') : pluginOptions.errorHandler;\n\n if (pluginOptions.useRawError) {\n handler(err);\n } else {\n handler(err.stack);\n }\n });\n }, { immediate: true });\n };\n\n for (var _key2 in this.$options.asyncComputed || {}) {\n _loop(_key2);\n }\n }\n });\n }\n };\n\n function getterFn(key, fn) {\n if (typeof fn === 'function') return fn;\n\n var getter = fn.get;\n\n if (fn.hasOwnProperty('watch')) {\n var previousGetter = getter;\n getter = function getter() {\n fn.watch.call(this);\n return previousGetter.call(this);\n };\n }\n\n if (fn.hasOwnProperty('shouldUpdate')) {\n var _previousGetter = getter;\n getter = function getter() {\n if (fn.shouldUpdate.call(this)) {\n return _previousGetter.call(this);\n }\n return DidNotUpdate;\n };\n }\n\n if (isComputedLazy(fn)) {\n var nonLazy = getter;\n getter = function lazyGetter() {\n if (isLazyActive(this, key)) {\n return nonLazy.call(this);\n } else {\n return silentGetLazy(this, key);\n }\n };\n }\n return getter;\n }\n\n function generateDefault(fn, pluginOptions) {\n var defaultValue = null;\n\n if ('default' in fn) {\n defaultValue = fn.default;\n } else if ('default' in pluginOptions) {\n defaultValue = pluginOptions.default;\n }\n\n if (typeof defaultValue === 'function') {\n return defaultValue.call(this);\n } else {\n return defaultValue;\n }\n }\n\n /* istanbul ignore if */\n if (typeof window !== 'undefined' && window.Vue) {\n // Auto install in dist mode\n window.Vue.use(AsyncComputed);\n }\n\n return AsyncComputed;\n});\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-js-toggle-button\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"vue-js-toggle-button\"] = factory(root[\"vue\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 81b0bbab2ea7705a026e","\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!sass-loader!../node_modules/vue-loader/lib/selector?type=styles&index=0!./Button.vue\")\n\nvar Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./Button.vue\"),\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25adc6c0\\\"}!../node_modules/vue-loader/lib/selector?type=template&index=0!./Button.vue\"),\n /* scopeId */\n \"data-v-25adc6c0\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Button.vue\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"vue\"\n// module id = 1\n// module chunks = 0","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// Button.vue?3b36fc63","import Vue from 'vue'\nimport Button from './Button.vue'\n\nconst plugin = {\n install(Vue, options) {\n \tVue.component('ToggleButton', Button)\n }\n}\n\nexport default plugin\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".vue-js-switch[data-v-25adc6c0]{display:inline-block;position:relative;overflow:hidden;vertical-align:middle;user-select:none;font-size:10px;cursor:pointer}.vue-js-switch .v-switch-input[data-v-25adc6c0]{display:none}.vue-js-switch .v-switch-label[data-v-25adc6c0]{position:absolute;top:0;font-weight:600;color:#fff}.vue-js-switch .v-switch-label.v-left[data-v-25adc6c0]{left:10px}.vue-js-switch .v-switch-label.v-right[data-v-25adc6c0]{right:10px}.vue-js-switch .v-switch-core[data-v-25adc6c0]{display:block;position:relative;box-sizing:border-box;outline:0;margin:0;transition:border-color .3s,background-color .3s;user-select:none}.vue-js-switch .v-switch-core .v-switch-button[data-v-25adc6c0]{display:block;position:absolute;overflow:hidden;top:0;left:0;transform:translate3d(3px,3px,0);border-radius:100%;background-color:#fff}.vue-js-switch.disabled[data-v-25adc6c0]{pointer-events:none;opacity:.6}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-compiler?{\"id\":\"data-v-25adc6c0\",\"scoped\":true,\"hasInlineConfig\":false}!./~/sass-loader/lib/loader.js!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Button.vue\n// module id = 4\n// module chunks = 0","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 5\n// module chunks = 0","// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 6\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('label', {\n class: _vm.className,\n attrs: {\n \"role\": \"checkbox\",\n \"aria-checked\": _vm.ariaChecked\n }\n }, [_c('input', {\n staticClass: \"v-switch-input\",\n attrs: {\n \"type\": \"checkbox\",\n \"name\": _vm.name\n },\n on: {\n \"change\": function($event) {\n $event.stopPropagation();\n return _vm.toggle($event)\n }\n }\n }), _vm._v(\" \"), _c('div', {\n staticClass: \"v-switch-core\",\n style: (_vm.coreStyle)\n }, [_c('div', {\n staticClass: \"v-switch-button\",\n style: (_vm.buttonStyle)\n })]), _vm._v(\" \"), (_vm.labels) ? [(_vm.toggled) ? _c('span', {\n staticClass: \"v-switch-label v-left\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelChecked)\n }\n }) : _c('span', {\n staticClass: \"v-switch-label v-right\",\n style: (_vm.labelStyle),\n domProps: {\n \"innerHTML\": _vm._s(_vm.labelUnchecked)\n }\n })] : _vm._e()], 2)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-25adc6c0\"}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Button.vue\n// module id = 7\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a