File: /home/nepi/public_html/public/admin/js/install.93da3798.js.map
{"version":3,"sources":["webpack:///./src/components/install/requirements.vue?8f5f","webpack:///./src/routes/install.vue?9dd7","webpack:///./src/components/public/stepper.vue?32df","webpack:///src/components/public/stepper.vue","webpack:///./src/components/public/stepper.vue?757f","webpack:///./src/components/public/stepper.vue","webpack:///./src/components/install/requirements.vue?34e4","webpack:///src/components/install/requirements.vue","webpack:///./src/components/install/requirements.vue?e80b","webpack:///./src/components/install/requirements.vue","webpack:///src/routes/install.vue","webpack:///./src/routes/install.vue?c55c","webpack:///./src/routes/install.vue","webpack:///./node_modules/semver/semver.js","webpack:///./node_modules/core-js/modules/es.array.every.js","webpack:///./src/routes/install.vue?f352","webpack:///./src/components/public/stepper.vue?34a5"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","$t","staticClass","step","directives","name","rawName","value","expression","_v","_s","on","$event","domProps","target","composing","super_admin_token","_e","preventDefault","project_name","syncKey","project","setProjectKey","user_email","user_password","onSubmit","db_host","db_port","db_user","db_password","db_name","goToLogin","notice","color","icon","slot","text","staticRenderFns","style","_l","key","class","current","currentStep","done","component","error","server","phpVersion","phpExtensions","permissions","directusVersion","cat","success","debug","exports","process","NODE_DEBUG","test","args","Array","prototype","slice","call","arguments","unshift","console","log","apply","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_INTEGER","Number","MAX_SAFE_COMPONENT_LENGTH","re","src","R","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","MAINVERSION","MAINVERSIONLOOSE","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","PRERELEASE","PRERELEASELOOSE","BUILDIDENTIFIER","BUILD","FULL","FULLPLAIN","LOOSEPLAIN","LOOSE","GTLT","XRANGEIDENTIFIERLOOSE","XRANGEIDENTIFIER","XRANGEPLAIN","XRANGEPLAINLOOSE","XRANGE","XRANGELOOSE","COERCE","LONETILDE","TILDETRIM","RegExp","tildeTrimReplace","TILDE","TILDELOOSE","LONECARET","CARETTRIM","caretTrimReplace","CARET","CARETLOOSE","COMPARATORLOOSE","COMPARATOR","COMPARATORTRIM","comparatorTrimReplace","HYPHENRANGE","HYPHENRANGELOOSE","STAR","i","parse","version","options","loose","includePrerelease","SemVer","length","r","er","valid","v","clean","s","trim","replace","TypeError","m","match","raw","major","minor","patch","prerelease","split","map","id","num","build","format","inc","release","identifier","undefined","diff","version1","version2","eq","v1","v2","prefix","defaultResult","join","toString","compare","other","compareMain","comparePre","compareIdentifiers","a","b","push","isNaN","Error","numeric","anum","bnum","rcompareIdentifiers","compareLoose","rcompare","sort","list","rsort","gt","lt","neq","gte","lte","cmp","op","Comparator","comp","semver","ANY","operator","Range","range","set","parseRange","filter","c","toComparators","parseComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","toLowerCase","replaceTilde","_","M","p","pr","ret","replaceCaret","replaceXRange","gtlt","xM","xm","xp","anyX","hyphenReplace","$0","from","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","testSet","allowed","satisfies","maxSatisfying","versions","max","maxSV","rangeObj","forEach","minSatisfying","min","minSV","minVersion","minver","comparators","comparator","compver","validRange","ltr","outside","gtr","hilo","gtfn","ltefn","ltfn","ecomp","high","low","parsed","intersects","r1","r2","coerce","rangeTmp","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","comps","hr","compRe","some","thisComparators","every","thisComparator","rangeComparators","rangeComparator","$","$every","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","proto","forced","callbackfn"],"mappings":"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,0BAUA,OARA,QACA,GACA,KACA,+BACA,kEAIA,CACA,kBACA,qBACA,WAGA,gBAzEA,WA0EA,2EAGA,OACA,sBACA,oDACA,qEAIA,QArGA,WAsGA,0BAEA,SACA,kBADA,WACA,+KACA,0BACA,aAFA,kBAKA,qCACA,QACA,uCAPA,OAKA,EALA,OAUA,yBAVA,mDAYA,EAZA,UAYA,qBAZA,uBAYA,cAZA,uBAYA,eAZA,aAYA,OAGA,QADA,OACA,mCAEA,aAjBA,mCAsBA,QACA,uDAvBA,QAsBA,EAtBA,OAyBA,uBACA,+CACA,KA3BA,sDA6BA,sEA7BA,QAgCA,0BAhCA,sEC9IqW,ICQjW,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,olBCiMf,OACA,eACA,YACA,kBACA,oBACA,gBACA,uBAEA,KARA,WASA,OACA,OACA,gBACA,WACA,cACA,iBACA,oBACA,QACA,uCACA,sBACA,sBAEA,aACA,WACA,eACA,WACA,cACA,WACA,aACA,qBACA,mBACA,0BAGA,cACA,2CADA,CAEA,aAFA,WAGA,4BAGA,aACA,gCADA,CAEA,uBAFA,WAKA,IAFA,QACA,KACA,aACA,kBAEA,UAEA,SAVA,WAUA,6LAGA,WAHA,uBAIA,SAJA,iCAQA,SAKA,aACA,WACA,4BACA,cACA,mBAGA,UAGA,KACA,KAEA,uBACA,KAEA,YACA,KAGA,EASA,EATA,aACA,EAQA,EARA,QACA,EAOA,EAPA,WACA,EAMA,EANA,cACA,EAKA,EALA,QACA,EAIA,EAJA,QACA,EAGA,EAHA,QACA,EAEA,EAFA,YACA,EACA,EADA,QAzCA,UA6CA,qBACA,gDA9CA,UAiDA,0CACA,eACA,UACA,aACA,gBACA,UACA,UACA,UACA,cACA,UACA,wCA3DA,QA8DA,KAEA,MACA,IAjEA,qDAoEA,aAEA,oBAEA,wBACA,wIACA,aAGA,SA7EA,6DAgFA,QA1FA,YA2FA,qBACA,iDAGA,cA/FA,SA+FA,IACA,wCACA,qCACA,gBAEA,UApGA,WAoGA,wKACA,kBADA,OAGA,qDAHA,iDC/ViV,ICQ7U,G,UAAY,eACd,EACA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","file":"js/install.93da3798.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./requirements.vue?vue&type=style&index=0&id=8fa51286&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./requirements.vue?vue&type=style&index=0&id=8fa51286&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('PublicView',{attrs:{\"wide\":\"\",\"heading\":_vm.$t('create_project')}},[_c('public-stepper',{staticClass:\"stepper\",attrs:{\"steps\":5,\"current-step\":_vm.step}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step === 1),expression:\"step === 1\"}],staticClass:\"step-1\"},[(_vm.firstInstall)?[_c('div',{staticClass:\"field-grid\"},[_c('div',{staticClass:\"field\"},[_c('h2',{staticClass:\"type-title\"},[_vm._v(_vm._s(_vm.$t('welcome_to_directus')))]),_c('p',[_vm._v(_vm._s(_vm.$t('welcome_to_directus_copy')))])])]),_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.step = 2}}},[_vm._v(_vm._s(_vm.$t('next')))])]:[_c('div',{staticClass:\"field-grid\"},[_c('div',{staticClass:\"field\"},[_c('h2',{staticClass:\"type-title\"},[_vm._v(_vm._s(_vm.$t('create_new_project')))]),_c('p',[_vm._v(_vm._s(_vm.$t('create_new_project_copy')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.super_admin_token),expression:\"super_admin_token\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"placeholder\":\"Super-Admin Password...\",\"type\":\"text\"},domProps:{\"value\":(_vm.super_admin_token)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.super_admin_token=$event.target.value}}})])]),_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.step = 2}}},[_vm._v(_vm._s(_vm.$t('next')))])]],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step === 2),expression:\"step === 2\"}],staticClass:\"step-2\"},[(_vm.step === 2)?_c('install-requirements',{attrs:{\"super-admin-token\":_vm.super_admin_token}}):_vm._e(),_c('div',{staticClass:\"buttons\"},[_c('span',{staticClass:\"secondary\",on:{\"click\":function($event){_vm.step--}}},[_vm._v(_vm._s(_vm.$t('back')))]),_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":function($event){_vm.step = 3}}},[_vm._v(_vm._s(_vm.$t('next')))])])],1),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step === 3),expression:\"step === 3\"}],staticClass:\"step-3\",on:{\"submit\":function($event){$event.preventDefault();_vm.step = 4}}},[_c('fieldset',[_c('legend',{staticClass:\"type-title\"},[_vm._v(_vm._s(_vm.$t('project_info')))]),_c('div',{staticClass:\"field-grid\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"project_name\"}},[_vm._v(\" \"+_vm._s(_vm.$t('project_name'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.project_name),expression:\"project_name\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"project_name\",\"name\":\"project_name\",\"type\":\"text\",\"required\":\"\"},domProps:{\"value\":(_vm.project_name)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.project_name=$event.target.value},_vm.syncKey]}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"project\"}},[_vm._v(_vm._s(_vm.$t('project_key')))]),_c('input',{attrs:{\"id\":\"project\",\"name\":\"project\",\"type\":\"text\",\"required\":\"\",\"pattern\":\"^[0-9a-z_-]+$\"},domProps:{\"value\":_vm.project},on:{\"input\":_vm.setProjectKey}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"user_email\"}},[_vm._v(_vm._s(_vm.$t('admin_email')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user_email),expression:\"user_email\"}],attrs:{\"id\":\"user_email\",\"name\":\"user_email\",\"type\":\"email\",\"required\":\"\"},domProps:{\"value\":(_vm.user_email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.user_email=$event.target.value}}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"user_password\"}},[_vm._v(\" \"+_vm._s(_vm.$t('admin_password'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user_password),expression:\"user_password\"}],staticClass:\"password\",attrs:{\"id\":\"user_password\",\"name\":\"user_password\",\"type\":\"text\",\"required\":\"\"},domProps:{\"value\":(_vm.user_password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.user_password=$event.target.value}}})])]),_c('div',{staticClass:\"buttons\"},[_c('span',{staticClass:\"secondary\",on:{\"click\":function($event){_vm.step--}}},[_vm._v(_vm._s(_vm.$t('back')))]),_c('button',{attrs:{\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('next')))])])])]),_c('form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step === 4),expression:\"step === 4\"}],staticClass:\"step-4\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('fieldset',[_c('legend',{staticClass:\"type-title\"},[_vm._v(_vm._s(_vm.$t('database_connection')))]),_c('div',{staticClass:\"field-grid\"},[_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"db_host\"}},[_vm._v(_vm._s(_vm.$t('host')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.db_host),expression:\"db_host\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"id\":\"db_host\",\"name\":\"db_host\",\"type\":\"text\",\"required\":\"\"},domProps:{\"value\":(_vm.db_host)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.db_host=$event.target.value}}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"db_port\"}},[_vm._v(_vm._s(_vm.$t('port')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.db_port),expression:\"db_port\"}],attrs:{\"id\":\"db_port\",\"name\":\"db_port\",\"type\":\"number\",\"required\":\"\"},domProps:{\"value\":(_vm.db_port)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.db_port=$event.target.value}}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"db_user\"}},[_vm._v(_vm._s(_vm.$t('db_user')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.db_user),expression:\"db_user\"}],attrs:{\"id\":\"db_user\",\"name\":\"db_user\",\"type\":\"text\",\"required\":\"\"},domProps:{\"value\":(_vm.db_user)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.db_user=$event.target.value}}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"db_password\"}},[_vm._v(_vm._s(_vm.$t('db_password')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.db_password),expression:\"db_password\"}],staticClass:\"password\",attrs:{\"id\":\"db_password\",\"name\":\"db_password\",\"type\":\"password\"},domProps:{\"value\":(_vm.db_password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.db_password=$event.target.value}}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"db_name\"}},[_vm._v(_vm._s(_vm.$t('db_name')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.db_name),expression:\"db_name\"}],attrs:{\"id\":\"db_name\",\"name\":\"db_name\",\"type\":\"text\",\"required\":\"\"},domProps:{\"value\":(_vm.db_name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.db_name=$event.target.value}}})]),_c('div',{staticClass:\"field\"},[_c('label',{staticClass:\"type-label\",attrs:{\"for\":\"db_type\"}},[_vm._v(_vm._s(_vm.$t('db_type')))]),_c('div',{staticClass:\"select\"},[_c('input',{attrs:{\"id\":\"db_type\",\"name\":\"db_type\",\"type\":\"text\",\"value\":\"MySQL\",\"disabled\":\"\"}})])])]),_c('div',{staticClass:\"buttons\"},[_c('span',{staticClass:\"secondary\",on:{\"click\":function($event){_vm.step--}}},[_vm._v(_vm._s(_vm.$t('back')))]),_c('button',{attrs:{\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('install')))])])])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step === 5),expression:\"step === 5\"}],staticClass:\"step-5\"},[_c('h2',{staticClass:\"type-title\"},[_vm._v(_vm._s(_vm.$t('wrapping_up')))]),_c('div',{staticClass:\"field-grid\"},[_c('div',{staticClass:\"field\"},[_c('v-progress-linear',{staticClass:\"progress-bar\",attrs:{\"rounded\":\"\",\"indeterminate\":\"\"}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('install_busy_copy'))+\" \")])],1)])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.step === 6),expression:\"step === 6\"}],staticClass:\"step-6\"},[_c('h2',{staticClass:\"type-title\"},[_vm._v(_vm._s(_vm.$t('all_set')))]),_c('div',{staticClass:\"field-grid\"},[_c('div',{staticClass:\"field\"},[_c('v-progress-linear',{staticClass:\"progress-bar\",attrs:{\"value\":100,\"rounded\":\"\"}}),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('install_all_set_copy'))+\" \"),(_vm.firstInstall)?_c('span',{staticClass:\"warning\"},[_vm._v(\" \"+_vm._s(_vm.$t('install_all_set_super_admin_password'))+\" \")]):_vm._e()]),(_vm.firstInstall)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.super_admin_token),expression:\"super_admin_token\"}],attrs:{\"type\":\"text\",\"readonly\":\"\"},domProps:{\"value\":(_vm.super_admin_token)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.super_admin_token=$event.target.value}}}):_vm._e(),_c('button',{staticClass:\"button\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.goToLogin}},[_vm._v(\" \"+_vm._s(_vm.$t('sign_in'))+\" \")])],1)])]),(_vm.notice.text)?_c('public-notice',{attrs:{\"slot\":\"notice\",\"loading\":false,\"color\":_vm.notice.color,\"icon\":_vm.notice.icon},slot:\"notice\"},[_vm._v(\" \"+_vm._s(_vm.notice.text)+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"public-stepper\"},[_c('div',{staticClass:\"progress-line\",style:(_vm.lineStyles)}),_vm._l((_vm.steps),function(step){return _c('span',{key:step,staticClass:\"step\",class:{\n\t\t\tcurrent: step === _vm.currentStep,\n\t\t\tdone: _vm.currentStep > step\n\t\t}},[(_vm.currentStep > step)?_c('v-icon',{attrs:{\"color\":\"--white\",\"small\":\"\",\"name\":\"check\"}}):_vm._e()],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"public-stepper\">\n\t\t<div class=\"progress-line\" :style=\"lineStyles\"></div>\n\t\t<span\n\t\t\tv-for=\"step in steps\"\n\t\t\t:key=\"step\"\n\t\t\t:class=\"{\n\t\t\t\tcurrent: step === currentStep,\n\t\t\t\tdone: currentStep > step\n\t\t\t}\"\n\t\t\tclass=\"step\"\n\t\t>\n\t\t\t<v-icon v-if=\"currentStep > step\" color=\"--white\" small name=\"check\" />\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'PublicStepper',\n\tprops: {\n\t\tcurrentStep: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1\n\t\t},\n\t\tsteps: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1\n\t\t}\n\t},\n\tcomputed: {\n\t\tlineStyles() {\n\t\t\treturn {\n\t\t\t\ttransform: `scaleX(${(1 / (this.steps - 1)) *\n\t\t\t\t\t((this.currentStep > this.steps ? this.steps : this.currentStep) - 1)})`\n\t\t\t};\n\t\t}\n\t}\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.public-stepper {\n\twidth: 100%;\n\tdisplay: flex;\n\tposition: relative;\n\talign-items: center;\n\tjustify-content: space-between;\n\tmargin-left: 8px; // Compensate for box-shadow\n\tmargin-right: 8px;\n\n\t&::before,\n\t.progress-line {\n\t\t// line\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tdisplay: block;\n\t\theight: 2px;\n\t\twidth: 100%;\n\t\tleft: 0;\n\t\ttop: calc(50% - 1px);\n\t\tbackground-color: var(--blue-grey-100);\n\t\tz-index: 1;\n\t}\n\n\t.progress-line {\n\t\tbackground-color: var(--blue-grey-800);\n\t\ttransform-origin: left;\n\t}\n\n\t.step {\n\t\tdisplay: inline-block;\n\t\twidth: 8px;\n\t\theight: 8px;\n\t\tbox-shadow: 0 0 0 4px var(--white), 0 0 0 6px var(--blue-grey-100);\n\t\tbackground-color: var(--white);\n\t\tborder-radius: 50%;\n\t\tposition: relative;\n\t\tz-index: 2;\n\n\t\t&.current {\n\t\t\tbox-shadow: 0 0 0 4px var(--white), 0 0 0 6px var(--blue-grey-800);\n\t\t\tbackground-color: var(--blue-grey-800);\n\t\t}\n\n\t\t&.done {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tbox-shadow: none;\n\t\t\tbackground-color: var(--blue-grey-800);\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stepper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stepper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./stepper.vue?vue&type=template&id=eb39272a&scoped=true&\"\nimport script from \"./stepper.vue?vue&type=script&lang=js&\"\nexport * from \"./stepper.vue?vue&type=script&lang=js&\"\nimport style0 from \"./stepper.vue?vue&type=style&index=0&id=eb39272a&lang=scss&scoped=true&\"\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 \"eb39272a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"install-requirements\"},[(_vm.fetchingRequirements)?[_c('v-spinner',{staticClass:\"spinner\",attrs:{\"color\":\"#263238\"}})]:(_vm.error)?[_c('v-notice',{attrs:{\"color\":\"danger\",\"icon\":\"error\"}},[_vm._v(\" \"+_vm._s(_vm.error)+\" \")])]:_vm._l(([_vm.server, _vm.phpVersion, _vm.phpExtensions, _vm.permissions, _vm.directusVersion]),function(cat){return _c('v-notice',{key:cat.key,attrs:{\"color\":cat.success ? 'success' : 'warning',\"icon\":cat.success ? 'check' : 'warning'}},[_c('div',{staticClass:\"content\"},[_vm._v(\" \"+_vm._s(cat.value)+\" \"),(cat.success === false)?_c('a',{attrs:{\"href\":\"https://docs.directus.io/installation/git.html#step-1-make-sure-requirements-are-met\",\"target\":\"__blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('why'))+\" \")]):_vm._e()])])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"install-requirements\">\n\t\t<template v-if=\"fetchingRequirements\">\n\t\t\t<v-spinner class=\"spinner\" color=\"#263238\" />\n\t\t</template>\n\t\t<template v-else-if=\"error\">\n\t\t\t<v-notice color=\"danger\" icon=\"error\">\n\t\t\t\t{{ error }}\n\t\t\t</v-notice>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<v-notice\n\t\t\t\tv-for=\"cat in [server, phpVersion, phpExtensions, permissions, directusVersion]\"\n\t\t\t\t:key=\"cat.key\"\n\t\t\t\t:color=\"cat.success ? 'success' : 'warning'\"\n\t\t\t\t:icon=\"cat.success ? 'check' : 'warning'\"\n\t\t\t>\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\t{{ cat.value }}\n\t\t\t\t\t<a\n\t\t\t\t\t\tv-if=\"cat.success === false\"\n\t\t\t\t\t\thref=\"https://docs.directus.io/installation/git.html#step-1-make-sure-requirements-are-met\"\n\t\t\t\t\t\ttarget=\"__blank\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ $t('why') }}\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</v-notice>\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport { mapState } from 'vuex';\nimport axios from 'axios';\nimport { satisfies } from 'semver';\n\nexport default {\n\tname: 'InstallRequirements',\n\tprops: {\n\t\tsuperAdminToken: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: null\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfetchingRequirements: false,\n\t\t\tserverInfo: null,\n\t\t\terror: null,\n\t\t\tlastTag: null\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(['apiRootPath']),\n\t\tserver() {\n\t\t\tif (this.fetchingRequirements || this.serverInfo === null) return;\n\n\t\t\treturn {\n\t\t\t\tkey: 'server',\n\t\t\t\tsuccess: this.serverInfo.server.type.toLowerCase().includes('apache'),\n\t\t\t\tvalue: this.serverInfo.server.type\n\t\t\t};\n\t\t},\n\t\tphpVersion() {\n\t\t\tif (this.fetchingRequirements || this.serverInfo === null) return;\n\t\t\tconst version = this.serverInfo.php.version.split('-')[0];\n\t\t\tconst minimumVersion = '7.1.0';\n\n\t\t\treturn {\n\t\t\t\tkey: 'phpVersion',\n\t\t\t\tsuccess: satisfies(version, `>=${minimumVersion}`),\n\t\t\t\tvalue: `PHP ${version}`\n\t\t\t};\n\t\t},\n\t\tphpExtensions() {\n\t\t\tif (this.fetchingRequirements || this.serverInfo === null) return;\n\t\t\tconst extensions = Object.keys(this.serverInfo.php.extensions).map(key => ({\n\t\t\t\tkey,\n\t\t\t\tenabled: this.serverInfo.php.extensions[key]\n\t\t\t}));\n\n\t\t\tconst allEnabled = extensions.every(e => e.enabled);\n\n\t\t\tlet value = this.$t('php_extensions');\n\n\t\t\tif (allEnabled === false) {\n\t\t\t\tvalue +=\n\t\t\t\t\t': ' +\n\t\t\t\t\tthis.$t('missing_value', {\n\t\t\t\t\t\tvalue: extensions.filter(e => e.enabled === false).map(e => e.key)\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tkey: 'phpExtensions',\n\t\t\t\tsuccess: allEnabled,\n\t\t\t\tvalue: value\n\t\t\t};\n\t\t},\n\t\tpermissions() {\n\t\t\tif (this.fetchingRequirements || this.serverInfo === null) return;\n\t\t\tconst permissions = Object.keys(this.serverInfo.permissions).map(key => ({\n\t\t\t\tkey,\n\t\t\t\tpermission: this.serverInfo.permissions[key]\n\t\t\t}));\n\n\t\t\tconst failedFolders = permissions.filter(p => +p.permission[1] !== 7);\n\t\t\tconst success = failedFolders.length === 0;\n\n\t\t\tlet value = this.$t('write_access');\n\n\t\t\tif (success === false) {\n\t\t\t\tvalue +=\n\t\t\t\t\t': ' +\n\t\t\t\t\tthis.$t('value_not_writeable', {\n\t\t\t\t\t\tvalue: failedFolders.map(f => `/${f.key}`).join(', ')\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tkey: 'permissions',\n\t\t\t\tsuccess: failedFolders.length === 0,\n\t\t\t\tvalue: value\n\t\t\t};\n\t\t},\n\t\tdirectusVersion() {\n\t\t\tif (this.fetchingRequirements || this.serverInfo === null || this.lastTag === null)\n\t\t\t\treturn;\n\n\t\t\treturn {\n\t\t\t\tkey: 'directusVersion',\n\t\t\t\tsuccess: 'v' + this.serverInfo.directus === this.lastTag,\n\t\t\t\tvalue: this.$t('directus_version') + ': v' + this.serverInfo.directus\n\t\t\t};\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.fetchRequirements();\n\t},\n\tmethods: {\n\t\tasync fetchRequirements() {\n\t\t\tthis.fetchingRequirements = true;\n\t\t\tthis.error = null;\n\n\t\t\ttry {\n\t\t\t\tconst serverInfoResponse = await axios.get(this.apiRootPath + 'server/info', {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tsuper_admin_token: this.superAdminToken\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.serverInfo = serverInfoResponse.data.data;\n\t\t\t} catch (error) {\n\t\t\t\tconst code = error.response?.data?.error?.code;\n\n\t\t\t\tif (+code === 3) {\n\t\t\t\t\tthis.error = this.$t('wrong_super_admin_password');\n\t\t\t\t} else {\n\t\t\t\t\tthis.error = error.message;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst githubVersionResponse = await axios.get(\n\t\t\t\t\t'https://api.github.com/repos/directus/directus/tags'\n\t\t\t\t);\n\t\t\t\tthis.lastTag = githubVersionResponse.data.find(\n\t\t\t\t\ttag => tag.name.includes('-') === false\n\t\t\t\t).name;\n\t\t\t} catch {\n\t\t\t\tconsole.log(\"Couldn't fetch latests version of Directus from GitHub\");\n\t\t\t}\n\n\t\t\tthis.fetchingRequirements = false;\n\t\t}\n\t}\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.spinner {\n\twidth: 32px;\n\tmargin-bottom: 32px;\n}\n.notice {\n\theight: 60px;\n\tmargin-bottom: 8px;\n\tmax-width: none !important;\n}\n\n.content {\n\twidth: 100%;\n\ta {\n\t\tfloat: right;\n\t}\n}\n\n.install-requirements {\n\tmargin-bottom: 32px;\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./requirements.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./requirements.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./requirements.vue?vue&type=template&id=8fa51286&scoped=true&\"\nimport script from \"./requirements.vue?vue&type=script&lang=js&\"\nexport * from \"./requirements.vue?vue&type=script&lang=js&\"\nimport style0 from \"./requirements.vue?vue&type=style&index=0&id=8fa51286&lang=scss&scoped=true&\"\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 \"8fa51286\",\n null\n \n)\n\nexport default component.exports","<template>\n\t<PublicView wide :heading=\"$t('create_project')\">\n\t\t<public-stepper class=\"stepper\" :steps=\"5\" :current-step=\"step\" />\n\n\t\t<div v-show=\"step === 1\" class=\"step-1\">\n\t\t\t<template v-if=\"firstInstall\">\n\t\t\t\t<div class=\"field-grid\">\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<h2 class=\"type-title\">{{ $t('welcome_to_directus') }}</h2>\n\t\t\t\t\t\t<p>{{ $t('welcome_to_directus_copy') }}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<button type=\"button\" @click=\"step = 2\">{{ $t('next') }}</button>\n\t\t\t</template>\n\t\t\t<template v-else class=\"field-grid\">\n\t\t\t\t<div class=\"field-grid\">\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<h2 class=\"type-title\">{{ $t('create_new_project') }}</h2>\n\t\t\t\t\t\t<p>{{ $t('create_new_project_copy') }}</p>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tv-model=\"super_admin_token\"\n\t\t\t\t\t\t\tv-focus\n\t\t\t\t\t\t\tplaceholder=\"Super-Admin Password...\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<button type=\"button\" @click=\"step = 2\">{{ $t('next') }}</button>\n\t\t\t</template>\n\t\t</div>\n\n\t\t<div v-show=\"step === 2\" class=\"step-2\">\n\t\t\t<install-requirements v-if=\"step === 2\" :super-admin-token=\"super_admin_token\" />\n\t\t\t<div class=\"buttons\">\n\t\t\t\t<span class=\"secondary\" @click=\"step--\">{{ $t('back') }}</span>\n\t\t\t\t<button type=\"button\" @click=\"step = 3\">{{ $t('next') }}</button>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<form v-show=\"step === 3\" class=\"step-3\" @submit.prevent=\"step = 4\">\n\t\t\t<fieldset>\n\t\t\t\t<legend class=\"type-title\">{{ $t('project_info') }}</legend>\n\t\t\t\t<div class=\"field-grid\">\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"project_name\">\n\t\t\t\t\t\t\t{{ $t('project_name') }}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"project_name\"\n\t\t\t\t\t\t\tv-model=\"project_name\"\n\t\t\t\t\t\t\tv-focus\n\t\t\t\t\t\t\tname=\"project_name\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t@input=\"syncKey\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"project\">{{ $t('project_key') }}</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"project\"\n\t\t\t\t\t\t\t:value=\"project\"\n\t\t\t\t\t\t\tname=\"project\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tpattern=\"^[0-9a-z_-]+$\"\n\t\t\t\t\t\t\t@input=\"setProjectKey\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"user_email\">{{ $t('admin_email') }}</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"user_email\"\n\t\t\t\t\t\t\tv-model=\"user_email\"\n\t\t\t\t\t\t\tname=\"user_email\"\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"user_password\">\n\t\t\t\t\t\t\t{{ $t('admin_password') }}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"user_password\"\n\t\t\t\t\t\t\tv-model=\"user_password\"\n\t\t\t\t\t\t\tclass=\"password\"\n\t\t\t\t\t\t\tname=\"user_password\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"buttons\">\n\t\t\t\t\t<span class=\"secondary\" @click=\"step--\">{{ $t('back') }}</span>\n\t\t\t\t\t<button type=\"submit\">{{ $t('next') }}</button>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</form>\n\n\t\t<form v-show=\"step === 4\" class=\"step-4\" @submit.prevent=\"onSubmit\">\n\t\t\t<fieldset>\n\t\t\t\t<legend class=\"type-title\">{{ $t('database_connection') }}</legend>\n\t\t\t\t<div class=\"field-grid\">\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"db_host\">{{ $t('host') }}</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"db_host\"\n\t\t\t\t\t\t\tv-model=\"db_host\"\n\t\t\t\t\t\t\tv-focus\n\t\t\t\t\t\t\tname=\"db_host\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"db_port\">{{ $t('port') }}</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"db_port\"\n\t\t\t\t\t\t\tv-model=\"db_port\"\n\t\t\t\t\t\t\tname=\"db_port\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"db_user\">{{ $t('db_user') }}</label>\n\t\t\t\t\t\t<input id=\"db_user\" v-model=\"db_user\" name=\"db_user\" type=\"text\" required />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"db_password\">{{ $t('db_password') }}</label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid=\"db_password\"\n\t\t\t\t\t\t\tv-model=\"db_password\"\n\t\t\t\t\t\t\tclass=\"password\"\n\t\t\t\t\t\t\tname=\"db_password\"\n\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"db_name\">{{ $t('db_name') }}</label>\n\t\t\t\t\t\t<input id=\"db_name\" v-model=\"db_name\" name=\"db_name\" type=\"text\" required />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<label class=\"type-label\" for=\"db_type\">{{ $t('db_type') }}</label>\n\t\t\t\t\t\t<div class=\"select\">\n\t\t\t\t\t\t\t<input id=\"db_type\" name=\"db_type\" type=\"text\" value=\"MySQL\" disabled />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"buttons\">\n\t\t\t\t\t<span class=\"secondary\" @click=\"step--\">{{ $t('back') }}</span>\n\t\t\t\t\t<button type=\"submit\">{{ $t('install') }}</button>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</form>\n\n\t\t<div v-show=\"step === 5\" class=\"step-5\">\n\t\t\t<h2 class=\"type-title\">{{ $t('wrapping_up') }}</h2>\n\t\t\t<div class=\"field-grid\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<v-progress-linear class=\"progress-bar\" rounded indeterminate />\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{{ $t('install_busy_copy') }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-show=\"step === 6\" class=\"step-6\">\n\t\t\t<h2 class=\"type-title\">{{ $t('all_set') }}</h2>\n\t\t\t<div class=\"field-grid\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<v-progress-linear class=\"progress-bar\" :value=\"100\" rounded />\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{{ $t('install_all_set_copy') }}\n\t\t\t\t\t\t<span v-if=\"firstInstall\" class=\"warning\">\n\t\t\t\t\t\t\t{{ $t('install_all_set_super_admin_password') }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</p>\n\t\t\t\t\t<input v-if=\"firstInstall\" v-model=\"super_admin_token\" type=\"text\" readonly />\n\t\t\t\t\t<button type=\"button\" class=\"button\" @click=\"goToLogin\">\n\t\t\t\t\t\t{{ $t('sign_in') }}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<public-notice\n\t\t\tv-if=\"notice.text\"\n\t\t\tslot=\"notice\"\n\t\t\t:loading=\"false\"\n\t\t\t:color=\"notice.color\"\n\t\t\t:icon=\"notice.icon\"\n\t\t>\n\t\t\t{{ notice.text }}\n\t\t</public-notice>\n\t</PublicView>\n</template>\n\n<script>\nimport PublicView from '@/components/public-view';\nimport PublicNotice from '@/components/public/notice';\nimport axios from 'axios';\nimport { mapState, mapActions } from 'vuex';\nimport PublicStepper from '@/components/public/stepper';\nimport slug from 'slug';\nimport shortid from 'shortid';\nimport InstallRequirements from '@/components/install/requirements';\n\nexport default {\n\tname: 'Install',\n\tcomponents: {\n\t\tPublicView,\n\t\tPublicNotice,\n\t\tPublicStepper,\n\t\tInstallRequirements\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tstep: 1,\n\t\t\tproject_name: '',\n\t\t\tproject: '',\n\t\t\tuser_email: '',\n\t\t\tuser_password: '',\n\t\t\tdb_host: 'localhost',\n\t\t\tnotice: {\n\t\t\t\ttext: this.$t('project_not_configured'),\n\t\t\t\tcolor: 'blue-grey-100',\n\t\t\t\ticon: 'outlined_flag'\n\t\t\t},\n\t\t\tdb_port: 3306,\n\t\t\tdb_user: '',\n\t\t\tdb_password: '',\n\t\t\tdb_name: '',\n\t\t\tinstalling: false,\n\t\t\terror: null,\n\t\t\tmanualKey: false,\n\t\t\tsuper_admin_token: '',\n\t\t\tadminTokenValid: false,\n\t\t\tfetchingRequirements: false\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapState(['apiRootPath', 'projects']),\n\t\tfirstInstall() {\n\t\t\treturn this.projects === false;\n\t\t}\n\t},\n\tmethods: {\n\t\t...mapActions(['getProjects']),\n\t\tgenerateMasterPassword() {\n\t\t\tconst sections = 2;\n\t\t\tlet password = '';\n\t\t\tfor (let i = 0; i <= sections; i++) {\n\t\t\t\tpassword += shortid.generate();\n\t\t\t}\n\t\t\treturn password;\n\t\t},\n\t\tasync onSubmit() {\n\t\t\t// When you hit enter on the first page, we don't want to submit the install data, instead\n\t\t\t// we go to the second page\n\t\t\tif (this.step === 3) {\n\t\t\t\tthis.step = 4;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.step = 5;\n\n\t\t\t// We want the install to at least take 3 seconds before being done, to make the user feel like\n\t\t\t// the installer is actually doing things. This will make sure 3 seconds have passed before we\n\t\t\t// go to the confirmation of done.\n\t\t\tconst next = () => {\n\t\t\t\tthis.$notify({\n\t\t\t\t\ttitle: this.$t('api_installed'),\n\t\t\t\t\tcolor: 'green',\n\t\t\t\t\ticonMain: 'check'\n\t\t\t\t});\n\n\t\t\t\tthis.step = 6;\n\t\t\t};\n\n\t\t\tlet installReady = false;\n\t\t\tlet timeReady = false;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\ttimeReady = true;\n\n\t\t\t\tif (installReady && timeReady) next();\n\t\t\t}, 4000);\n\n\t\t\tconst {\n\t\t\t\tproject_name,\n\t\t\t\tproject,\n\t\t\t\tuser_email,\n\t\t\t\tuser_password,\n\t\t\t\tdb_host,\n\t\t\t\tdb_port,\n\t\t\t\tdb_user,\n\t\t\t\tdb_password,\n\t\t\t\tdb_name\n\t\t\t} = this;\n\n\t\t\ttry {\n\t\t\t\tif (this.firstInstall === true) {\n\t\t\t\t\tthis.super_admin_token = this.generateMasterPassword();\n\t\t\t\t}\n\n\t\t\t\tawait axios.post(this.apiRootPath + 'server/projects', {\n\t\t\t\t\tproject_name,\n\t\t\t\t\tproject,\n\t\t\t\t\tuser_email,\n\t\t\t\t\tuser_password,\n\t\t\t\t\tdb_host,\n\t\t\t\t\tdb_port,\n\t\t\t\t\tdb_user,\n\t\t\t\t\tdb_password,\n\t\t\t\t\tdb_name,\n\t\t\t\t\tsuper_admin_token: this.super_admin_token\n\t\t\t\t});\n\n\t\t\t\tinstallReady = true;\n\n\t\t\t\tif (installReady && timeReady) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tthis.error = error;\n\n\t\t\t\tconsole.error(error);\n\n\t\t\t\tthis.$events.emit('error', {\n\t\t\t\t\tnotify: error.response?.data?.error?.message,\n\t\t\t\t\terror\n\t\t\t\t});\n\n\t\t\t\tthis.step = 4;\n\t\t\t}\n\t\t},\n\t\tsyncKey() {\n\t\t\tif (this.manualKey === false) {\n\t\t\t\tthis.project = slug(this.project_name, { lower: true });\n\t\t\t}\n\t\t},\n\t\tsetProjectKey(event) {\n\t\t\tif (this.manualKey === false) this.manualKey = true;\n\t\t\tconst value = slug(event.target.value, { lower: true });\n\t\t\tthis.project = value;\n\t\t},\n\t\tasync goToLogin() {\n\t\t\tawait this.getProjects(true);\n\n\t\t\tthis.$router.push('/login', { query: { project: this.project } });\n\t\t}\n\t}\n};\n</script>\n\n<style lang=\"scss\" scoped>\n// NOTE: These button and input styles are copied from login.vue and should be extracted to a base component\n\n.button,\nbutton {\n\tposition: relative;\n\tbackground-color: var(--button-primary-background-color);\n\tborder: 2px solid var(--button-primary-background-color);\n\tborder-radius: var(--border-radius);\n\tcolor: var(--button-primary-text-color);\n\theight: 60px;\n\tpadding: 18px 20px;\n\twidth: 100%;\n\tmax-width: 154px;\n\tfont-size: 16px;\n\tfont-weight: 400;\n\ttransition: background-color var(--fast) var(--transition);\n\tdisplay: inline-block;\n\ttext-decoration: none;\n\ttext-align: center;\n\n\t&[disabled] {\n\t\tcursor: not-allowed;\n\t}\n\n\t&:not([disabled]) {\n\t\t&:hover {\n\t\t\tbackground-color: var(--darkest-gray);\n\t\t\tborder-color: var(--darkest-gray);\n\t\t}\n\t}\n\n\t&.outline {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--darkest-gray);\n\n\t\t&[disabled] {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t&:not([disabled]) {\n\t\t\t&:hover {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.select {\n\tposition: relative;\n\t&:after {\n\t\tcontent: 'arrow_drop_down';\n\t\tfont-family: var(--family-icon);\n\t\tposition: absolute;\n\t\tright: 12px;\n\t\ttop: 8px;\n\t\tcolor: var(--input-icon-color);\n\t}\n}\n\ninput {\n\tposition: relative;\n\twidth: 100%;\n\tmargin-bottom: 32px;\n\tborder: 0;\n\tfont-size: 16px;\n\tborder: var(--input-border-width) solid var(--input-border-color);\n\twidth: 100%;\n\theight: 64px;\n\tpadding: 20px 10px;\n\tbackground-color: var(--input-background-color);\n\tcolor: var(--darker-gray);\n\ttransition: border-color var(--fast) var(--transition);\n\tborder-radius: var(--border-radius);\n\tfont-family: var(--family-monospace);\n\n\t&::placeholder {\n\t\tcolor: var(--light-gray);\n\t}\n\n\t&:-webkit-autofill {\n\t\tcolor: var(--darker-gray) !important;\n\t\t-webkit-text-fill-color: var(--darker-gray);\n\t\t-webkit-box-shadow: 0 0 0px 1000px var(--white) inset;\n\t}\n\n\t&:hover:not([disabled]) {\n\t\ttransition: none;\n\t\tborder-color: var(--gray);\n\t\t&:focus {\n\t\t\tborder-color: var(--darker-gray);\n\t\t}\n\t}\n\n\t&[disabled] {\n\t\tcursor: not-allowed;\n\t\tbackground-color: var(--input-background-color-disabled);\n\t}\n\n\t&:focus {\n\t\toutline: 0;\n\t\tborder-color: var(--darker-gray);\n\n\t\t&:-webkit-autofill {\n\t\t\tcolor: var(--darker-gray) !important;\n\t\t\t-webkit-text-fill-color: var(--darker-gray);\n\t\t\t-webkit-box-shadow: 0 0 0px 1000px var(--white) inset;\n\t\t}\n\t}\n}\n\n///////////////////////////////////\n\n.buttons {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tmargin-top: 16px;\n\t.secondary {\n\t\ttransition: color var(--fast) var(--transition);\n\t\ttext-decoration: none;\n\t\tcolor: var(--input-placeholder-color);\n\t\tcursor: pointer;\n\t\tfont-size: 16px;\n\t\t&:hover {\n\t\t\tcolor: var(--page-text-color);\n\t\t}\n\t}\n}\n\np {\n\tfont-size: 16px;\n\tline-height: 26px;\n\tmargin-top: 32px;\n\tmargin-bottom: 32px;\n\tcolor: var(--blue-grey-300);\n}\n\n.stepper {\n\tmargin-top: 4px;\n\n\t@media (min-height: 800px) {\n\t\tmargin-top: 24px;\n\t}\n}\n\nlegend {\n\tmargin-bottom: 20px;\n}\n\n.stepper {\n\tmargin-bottom: 64px;\n\tmax-width: 320px;\n}\n\n.progress-bar {\n\tmargin-top: 32px;\n}\n\n.progress-bar-complete {\n\tmargin-top: 32px;\n\twidth: 100%;\n\tbackground-color: var(--progress-background-color-accent);\n\tposition: relative;\n\theight: 4px;\n\tborder-radius: var(--border-radius);\n}\n\n.warning {\n\tcolor: var(--warning);\n}\n\n.field-grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgrid-gap: 8px 32px;\n}\n\nlabel {\n\tmargin-bottom: 8px;\n}\n\n// There is no way to currently disable the browser from offering to save the password. We do not want the user to be\n// bothered by the browser asking to save the database password. This is the only way to hack around it. By using text\n// instead of password for type, we can trick the browser into thinking this is in fact not a password 🤦\n.password {\n\t-moz-text-security: disc;\n\t-webkit-text-security: disc;\n\ttext-security: disc;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./install.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./install.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./install.vue?vue&type=template&id=447ffee0&scoped=true&\"\nimport script from \"./install.vue?vue&type=script&lang=js&\"\nexport * from \"./install.vue?vue&type=script&lang=js&\"\nimport style0 from \"./install.vue?vue&type=style&index=0&id=447ffee0&lang=scss&scoped=true&\"\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 \"447ffee0\",\n null\n \n)\n\nexport default component.exports","exports = module.exports = SemVer\n\nvar debug\n/* istanbul ignore next */\nif (typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)) {\n debug = function () {\n var args = Array.prototype.slice.call(arguments, 0)\n args.unshift('SEMVER')\n console.log.apply(console, args)\n }\n} else {\n debug = function () {}\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0'\n\nvar MAX_LENGTH = 256\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16\n\n// The actual regexps go on exports.re\nvar re = exports.re = []\nvar src = exports.src = []\nvar R = 0\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*'\nvar NUMERICIDENTIFIERLOOSE = R++\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+'\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')'\n\nvar MAINVERSIONLOOSE = R++\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')'\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\nvar PRERELEASEIDENTIFIERLOOSE = R++\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')'\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))'\n\nvar PRERELEASELOOSE = R++\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))'\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?'\n\nsrc[FULL] = '^' + FULLPLAIN + '$'\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?'\n\nvar LOOSE = R++\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$'\n\nvar GTLT = R++\nsrc[GTLT] = '((?:<|>)?=?)'\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*'\nvar XRANGEIDENTIFIER = R++\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*'\n\nvar XRANGEPLAIN = R++\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGEPLAINLOOSE = R++\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?'\n\nvar XRANGE = R++\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$'\nvar XRANGELOOSE = R++\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$'\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])'\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++\nsrc[LONETILDE] = '(?:~>?)'\n\nvar TILDETRIM = R++\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+'\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')\nvar tildeTrimReplace = '$1~'\n\nvar TILDE = R++\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'\nvar TILDELOOSE = R++\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++\nsrc[LONECARET] = '(?:\\\\^)'\n\nvar CARETTRIM = R++\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+'\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')\nvar caretTrimReplace = '$1^'\n\nvar CARET = R++\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'\nvar CARETLOOSE = R++\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$'\nvar COMPARATOR = R++\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$'\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')\nvar comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$'\n\nvar HYPHENRANGELOOSE = R++\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$'\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*'\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i])\n if (!re[i]) {\n re[i] = new RegExp(src[i])\n }\n}\n\nexports.parse = parse\nfunction parse (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n var r = options.loose ? re[LOOSE] : re[FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nexports.valid = valid\nfunction valid (version, options) {\n var v = parse(version, options)\n return v ? v.version : null\n}\n\nexports.clean = clean\nfunction clean (version, options) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\n\nexports.SemVer = SemVer\n\nfunction SemVer (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === options.loose) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n }\n\n if (!(this instanceof SemVer)) {\n return new SemVer(version, options)\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n\n var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])\n\n if (!m) {\n throw new TypeError('Invalid Version: ' + version)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n}\n\nSemVer.prototype.format = function () {\n this.version = this.major + '.' + this.minor + '.' + this.patch\n if (this.prerelease.length) {\n this.version += '-' + this.prerelease.join('.')\n }\n return this.version\n}\n\nSemVer.prototype.toString = function () {\n return this.version\n}\n\nSemVer.prototype.compare = function (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return this.compareMain(other) || this.comparePre(other)\n}\n\nSemVer.prototype.compareMain = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n}\n\nSemVer.prototype.comparePre = function (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n var i = 0\n do {\n var a = this.prerelease[i]\n var b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n}\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n var i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error('invalid increment argument: ' + release)\n }\n this.format()\n this.raw = this.version\n return this\n}\n\nexports.inc = inc\nfunction inc (version, release, loose, identifier) {\n if (typeof (loose) === 'string') {\n identifier = loose\n loose = undefined\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\n\nexports.diff = diff\nfunction diff (version1, version2) {\n if (eq(version1, version2)) {\n return null\n } else {\n var v1 = parse(version1)\n var v2 = parse(version2)\n var prefix = ''\n if (v1.prerelease.length || v2.prerelease.length) {\n prefix = 'pre'\n var defaultResult = 'prerelease'\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers\n\nvar numeric = /^[0-9]+$/\nfunction compareIdentifiers (a, b) {\n var anum = numeric.test(a)\n var bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers\nfunction rcompareIdentifiers (a, b) {\n return compareIdentifiers(b, a)\n}\n\nexports.major = major\nfunction major (a, loose) {\n return new SemVer(a, loose).major\n}\n\nexports.minor = minor\nfunction minor (a, loose) {\n return new SemVer(a, loose).minor\n}\n\nexports.patch = patch\nfunction patch (a, loose) {\n return new SemVer(a, loose).patch\n}\n\nexports.compare = compare\nfunction compare (a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose))\n}\n\nexports.compareLoose = compareLoose\nfunction compareLoose (a, b) {\n return compare(a, b, true)\n}\n\nexports.rcompare = rcompare\nfunction rcompare (a, b, loose) {\n return compare(b, a, loose)\n}\n\nexports.sort = sort\nfunction sort (list, loose) {\n return list.sort(function (a, b) {\n return exports.compare(a, b, loose)\n })\n}\n\nexports.rsort = rsort\nfunction rsort (list, loose) {\n return list.sort(function (a, b) {\n return exports.rcompare(a, b, loose)\n })\n}\n\nexports.gt = gt\nfunction gt (a, b, loose) {\n return compare(a, b, loose) > 0\n}\n\nexports.lt = lt\nfunction lt (a, b, loose) {\n return compare(a, b, loose) < 0\n}\n\nexports.eq = eq\nfunction eq (a, b, loose) {\n return compare(a, b, loose) === 0\n}\n\nexports.neq = neq\nfunction neq (a, b, loose) {\n return compare(a, b, loose) !== 0\n}\n\nexports.gte = gte\nfunction gte (a, b, loose) {\n return compare(a, b, loose) >= 0\n}\n\nexports.lte = lte\nfunction lte (a, b, loose) {\n return compare(a, b, loose) <= 0\n}\n\nexports.cmp = cmp\nfunction cmp (a, op, b, loose) {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError('Invalid operator: ' + op)\n }\n}\n\nexports.Comparator = Comparator\nfunction Comparator (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n if (!(this instanceof Comparator)) {\n return new Comparator(comp, options)\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n}\n\nvar ANY = {}\nComparator.prototype.parse = function (comp) {\n var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var m = comp.match(r)\n\n if (!m) {\n throw new TypeError('Invalid comparator: ' + comp)\n }\n\n this.operator = m[1]\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n}\n\nComparator.prototype.toString = function () {\n return this.value\n}\n\nComparator.prototype.test = function (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n}\n\nComparator.prototype.intersects = function (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n var rangeTmp\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, options)\n return satisfies(this.value, rangeTmp, options)\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, options)\n return satisfies(comp.semver, rangeTmp, options)\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n var sameSemVer = this.semver.version === comp.semver.version\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'))\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'))\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan\n}\n\nexports.Range = Range\nfunction Range (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, options)\n }\n\n if (!(this instanceof Range)) {\n return new Range(range, options)\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function (range) {\n return this.parseRange(range.trim())\n }, this).filter(function (c) {\n // throw out any that are not relevant for whatever reason\n return c.length\n })\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range)\n }\n\n this.format()\n}\n\nRange.prototype.format = function () {\n this.range = this.set.map(function (comps) {\n return comps.join(' ').trim()\n }).join('||').trim()\n return this.range\n}\n\nRange.prototype.toString = function () {\n return this.range\n}\n\nRange.prototype.parseRange = function (range) {\n var loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]\n range = range.replace(hr, hyphenReplace)\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]\n var set = range.split(' ').map(function (comp) {\n return parseComparator(comp, this.options)\n }, this).join(' ').split(/\\s+/)\n if (this.options.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function (comp) {\n return !!comp.match(compRe)\n })\n }\n set = set.map(function (comp) {\n return new Comparator(comp, this.options)\n }, this)\n\n return set\n}\n\nRange.prototype.intersects = function (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some(function (thisComparators) {\n return thisComparators.every(function (thisComparator) {\n return range.set.some(function (rangeComparators) {\n return rangeComparators.every(function (rangeComparator) {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n })\n })\n}\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators\nfunction toComparators (range, options) {\n return new Range(range, options).set.map(function (comp) {\n return comp.map(function (c) {\n return c.value\n }).join(' ').trim().split(' ')\n })\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator (comp, options) {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nfunction isX (id) {\n return !id || id.toLowerCase() === 'x' || id === '*'\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceTilde(comp, options)\n }).join(' ')\n}\n\nfunction replaceTilde (comp, options) {\n var r = options.loose ? re[TILDELOOSE] : re[TILDE]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets (comp, options) {\n return comp.trim().split(/\\s+/).map(function (comp) {\n return replaceCaret(comp, options)\n }).join(' ')\n}\n\nfunction replaceCaret (comp, options) {\n debug('caret', comp, options)\n var r = options.loose ? re[CARETLOOSE] : re[CARET]\n return comp.replace(r, function (_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr)\n var ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (isX(p)) {\n if (M === '0') {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n } else {\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p + '-' + pr +\n ' <' + (+M + 1) + '.0.0'\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1)\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0'\n }\n } else {\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0'\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nfunction replaceXRanges (comp, options) {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map(function (comp) {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nfunction replaceXRange (comp, options) {\n comp = comp.trim()\n var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]\n return comp.replace(r, function (ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n var xM = isX(M)\n var xm = xM || isX(m)\n var xp = xm || isX(p)\n var anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n ret = gtlt + M + '.' + m + '.' + p\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars (comp, options) {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '')\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = '>=' + fM + '.0.0'\n } else if (isX(fp)) {\n from = '>=' + fM + '.' + fm + '.0'\n } else {\n from = '>=' + from\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = '<' + (+tM + 1) + '.0.0'\n } else if (isX(tp)) {\n to = '<' + tM + '.' + (+tm + 1) + '.0'\n } else if (tpr) {\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr\n } else {\n to = '<=' + to\n }\n\n return (from + ' ' + to).trim()\n}\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n version = new SemVer(version, this.options)\n }\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n}\n\nfunction testSet (set, version, options) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n\nexports.satisfies = satisfies\nfunction satisfies (version, range, options) {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\n\nexports.maxSatisfying = maxSatisfying\nfunction maxSatisfying (versions, range, options) {\n var max = null\n var maxSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\n\nexports.minSatisfying = minSatisfying\nfunction minSatisfying (versions, range, options) {\n var min = null\n var minSV = null\n try {\n var rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\n\nexports.minVersion = minVersion\nfunction minVersion (range, loose) {\n range = new Range(range, loose)\n\n var minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n comparators.forEach(function (comparator) {\n // Clone to avoid manipulating the comparator's semver object.\n var compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error('Unexpected operation: ' + comparator.operator)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\n\nexports.validRange = validRange\nfunction validRange (range, options) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr\nfunction ltr (version, range, options) {\n return outside(version, range, '<', options)\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr\nfunction gtr (version, range, options) {\n return outside(version, range, '>', options)\n}\n\nexports.outside = outside\nfunction outside (version, range, hilo, options) {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n var gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i]\n\n var high = null\n var low = null\n\n comparators.forEach(function (comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nexports.prerelease = prerelease\nfunction prerelease (version, options) {\n var parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\n\nexports.intersects = intersects\nfunction intersects (r1, r2, options) {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce\nfunction coerce (version) {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n var match = version.match(re[COERCE])\n\n if (match == null) {\n return null\n }\n\n return parse(match[1] +\n '.' + (match[2] || '0') +\n '.' + (match[3] || '0'))\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $every = require('../internals/array-iteration').every;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('every');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('every');\n\n// `Array.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./install.vue?vue&type=style&index=0&id=447ffee0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./install.vue?vue&type=style&index=0&id=447ffee0&lang=scss&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stepper.vue?vue&type=style&index=0&id=eb39272a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stepper.vue?vue&type=style&index=0&id=eb39272a&lang=scss&scoped=true&\""],"sourceRoot":""}