summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-08-28 18:37:16 +0200
committersuntala <suntala@hotmail.com>2018-08-28 20:55:58 +0200
commit1cac100942b30593bdcba14b77e5bb07afacdd88 (patch)
tree13a5440bba033639ddbfeae9a263acf21119c0a4 /js
parentec6ecc7863098198133379e240613e0253276ab5 (diff)
Rebase and compile fixes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'js')
-rw-r--r--js/contacts.js107
1 files changed, 88 insertions, 19 deletions
diff --git a/js/contacts.js b/js/contacts.js
index f2390b81..6536de35 100644
--- a/js/contacts.js
+++ b/js/contacts.js
@@ -445,6 +445,18 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ }),
+/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ImportScreen.vue?vue&type=script&lang=js&":
+/*!****************************************************************************************************************************************************!*\
+ !*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ImportScreen.vue?vue&type=script&lang=js& ***!
+ \****************************************************************************************************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\nexports.default = {\n\tname: 'ImportScreen',\n\tcomputed: {\n\t\timportState: function importState() {\n\t\t\treturn this.$store.getters.getImportState;\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvSW1wb3J0U2NyZWVuLnZ1ZT8xYmY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQWlDQTtBQUNBLHFCQURBO0FBRUE7QUFDQSxhQURBLHlCQUNBO0FBQ0E7QUFDQTtBQUhBO0FBRkEsQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPyEuL3NyYy9jb21wb25lbnRzL0ltcG9ydFNjcmVlbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPCEtLVxuICogQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggVGVhbSBQb3Bjb3JuIDx0ZWFtcG9wY29ybmJlcmxpbkBnbWFpbC5jb20+XG4gKlxuICogQGF1dGhvciBUZWFtIFBvcGNvcm4gPHRlYW1wb3Bjb3JuYmVybGluQGdtYWlsLmNvbT5cbiAqXG4gKiBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgY2xhc3M9XCJlbXB0eWNvbnRlbnQgaW1wb3J0LXNjcmVlblwiPlxuXHRcdDxwIGNsYXNzPVwiaWNvbi11cGxvYWRcIiAvPlxuXHRcdDxoMyBjbGFzcz1cImltcG9ydC1zY3JlZW5fX2hlYWRlclwiPnt7IHQoJ2NvbnRhY3RzJywgJ0ltcG9ydGluZyBpbnRvJykgfX0ge3sgYWRkcmVzc2Jvb2sgfX08L2gzPlxuXHRcdDxwcm9ncmVzcyA6bWF4PVwiaW1wb3J0U3RhdGUudG90YWxcIiA6dmFsdWU9XCJpbXBvcnRTdGF0ZS5hY2NlcHRlZFwiIGNsYXNzPVwiaW1wb3J0LXNjcmVlbl9fcHJvZ3Jlc3NcIiAvPlxuXHRcdDxwIGNsYXNzPVwiaW1wb3J0LXNjcmVlbl9fdHJhY2tlclwiPnt7IE1hdGguZmxvb3IoaW1wb3J0U3RhdGUuYWNjZXB0ZWQvKGltcG9ydFN0YXRlLnRvdGFsICsgMSkpICogMTAwIH19ICU8L3A+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnSW1wb3J0U2NyZWVuJyxcblx0Y29tcHV0ZWQ6IHtcblx0XHRpbXBvcnRTdGF0ZSgpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldEltcG9ydFN0YXRlXG5cdFx0fVxuXHR9XG59XG48L3NjcmlwdD5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/ImportScreen.vue?vue&type=script&lang=js&\n");
+
+/***/ }),
+
/***/ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Properties/PropertyDateTime.vue?vue&type=script&lang=js&":
/*!*******************************************************************************************************************************************************************!*\
!*** ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Properties/PropertyDateTime.vue?vue&type=script&lang=js& ***!
@@ -561,7 +573,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nvar _vueMultiselect = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n\nvar _vueMultiselect2 = _interopRequireDefault(_vueMultiselect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsImportContacts',\n\tcomponents: {\n\t\tclickOutside: _vueClickOutside2.default,\n\t\tMultiselect: _vueMultiselect2.default\n\t},\n\tdirectives: {\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\t// props: ['addressbooks'],\n\tprops: {\n\t\taddressbooks: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: undefined\n\t\t}\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t};\n\t},\n\n\tcomputed: {\n\t\toptions: function options() {\n\t\t\treturn [t('contacts', 'Contacts')].concat(this.addressbooks.map(function (x) {\n\t\t\t\treturn x.displayName;\n\t\t\t}));\n\t\t}\n\t},\n\tmethods: {}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NJbXBvcnRDb250YWN0cy52dWU/NTE1OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFxQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFFQTtBQUNBLCtCQURBO0FBRUE7QUFDQSx5Q0FEQTtBQUVBO0FBRkEsRUFGQTtBQU1BO0FBQ0E7QUFEQSxFQU5BO0FBU0E7QUFDQTtBQUNBO0FBQ0EsY0FEQTtBQUVBLGtCQUZBO0FBR0E7QUFIQTtBQURBLEVBVkE7QUFpQkEsS0FqQkEsa0JBaUJBO0FBQ0E7QUFDQTtBQURBO0FBR0EsRUFyQkE7O0FBc0JBO0FBQ0EsU0FEQSxxQkFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBSEEsRUF0QkE7QUEyQkE7QUEzQkEsQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPyEuL3NyYy9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzSW1wb3J0Q29udGFjdHMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cblx0LSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBUZWFtIFBvcGNvcm4gPHRlYW1wb3Bjb3JuYmVybGluQGdtYWlsLmNvbT5cblx0LVxuXHQtIEBhdXRob3IgVGVhbSBQb3Bjb3JuIDx0ZWFtcG9wY29ybmJlcmxpbkBnbWFpbC5jb20+XG5cdC1cblx0LSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cblx0LVxuXHQtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG5cdC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcblx0LSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcblx0LSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuXHQtXG5cdC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG5cdC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2Zcblx0LSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG5cdC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG5cdC1cblx0LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2Vcblx0LSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuXHQtXG4tLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiaW1wb3J0LWNvbnRhY3RcIj5cblx0XHQ8aW5wdXQgaWQ9XCJjb250YWN0LWltcG9ydFwiIHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJoaWRkZW4tdmlzdWFsbHlcIj5cblx0XHQ8bGFiZWwgaWQ9XCJ1cGxvYWRcIiBmb3I9XCJjb250YWN0LWltcG9ydFwiIGNsYXNzPVwiYnV0dG9uIG11bHRpc2VsZWN0LWxhYmVsIGljb24tdXBsb2FkIG5vLXNlbGVjdFwiPlxuXHRcdFx0e3sgdCgnY29udGFjdHMnLCAnSW1wb3J0IGludG8nKSB9fVxuXHRcdDwvbGFiZWw+XG5cdFx0PG11bHRpc2VsZWN0XG5cdFx0XHR2LW1vZGVsPVwidmFsdWVcIlxuXHRcdFx0Om9wdGlvbnM9XCJvcHRpb25zXCJcblx0XHRcdDpwbGFjZWhvbGRlcj1cInQoJ2NvbnRhY3RzJywgJ0NvbnRhY3RzJylcIlxuXHRcdFx0Y2xhc3M9XCJtdWx0aXNlbGVjdC12dWVcIiAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgY2xpY2tPdXRzaWRlIGZyb20gJ3Z1ZS1jbGljay1vdXRzaWRlJ1xuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJ3Z1ZS1tdWx0aXNlbGVjdCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnU2V0dGluZ3NJbXBvcnRDb250YWN0cycsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRjbGlja091dHNpZGUsXG5cdFx0TXVsdGlzZWxlY3Rcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdGNsaWNrT3V0c2lkZVxuXHR9LFxuXHQvLyBwcm9wczogWydhZGRyZXNzYm9va3MnXSxcblx0cHJvcHM6IHtcblx0XHRhZGRyZXNzYm9va3M6IHtcblx0XHRcdHR5cGU6IEFycmF5LFxuXHRcdFx0cmVxdWlyZWQ6IGZhbHNlLFxuXHRcdFx0ZGVmYXVsdDogdW5kZWZpbmVkXG5cdFx0fVxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR2YWx1ZTogJydcblx0XHR9XG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0b3B0aW9ucygpIHtcblx0XHRcdHJldHVybiBbdCgnY29udGFjdHMnLCAnQ29udGFjdHMnKV0uY29uY2F0KHRoaXMuYWRkcmVzc2Jvb2tzLm1hcCh4ID0+IHguZGlzcGxheU5hbWUpKVxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXG5cdH1cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Settings/SettingsImportContacts.vue?vue&type=script&lang=js&\n");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _vueClickOutside = __webpack_require__(/*! vue-click-outside */ \"./node_modules/vue-click-outside/index.js\");\n\nvar _vueClickOutside2 = _interopRequireDefault(_vueClickOutside);\n\nvar _vueMultiselect = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n\nvar _vueMultiselect2 = _interopRequireDefault(_vueMultiselect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsImportContacts',\n\tcomponents: {\n\t\tclickOutside: _vueClickOutside2.default,\n\t\tMultiselect: _vueMultiselect2.default\n\t},\n\tdirectives: {\n\t\tclickOutside: _vueClickOutside2.default\n\t},\n\tdata: function data() {\n\t\treturn {\n\t\t\timportDestination: ''\n\t\t};\n\t},\n\n\tcomputed: {\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t},\n\t\toptions: function options() {\n\t\t\treturn this.addressbooks.map(function (addressbook) {\n\t\t\t\treturn {\n\t\t\t\t\tid: addressbook.id,\n\t\t\t\t\tdisplayName: addressbook.displayName\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\timportState: function importState() {\n\t\t\treturn this.$store.getters.getImportState;\n\t\t},\n\n\t\tselectedAddressbook: {\n\t\t\tget: function get() {\n\t\t\t\tvar _this = this;\n\n\t\t\t\tif (this.importDestination) {\n\t\t\t\t\treturn this.addressbooks.find(function (addressbook) {\n\t\t\t\t\t\treturn addressbook.id === _this.importDestination.id;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// default is first address book of the list\n\t\t\t\treturn this.addressbooks[0];\n\t\t\t},\n\t\t\tset: function set(value) {\n\t\t\t\tthis.importDestination = value;\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tprocessFile: function processFile(event) {\n\t\t\tvar file = event.target.files[0];\n\t\t\tvar reader = new FileReader();\n\t\t\tvar selectedAddressbook = this.selectedAddressbook;\n\t\t\tthis.$emit('clicked', { importing: true });\n\t\t\tvar self = this;\n\t\t\treader.onload = function (e) {\n\t\t\t\tself.$store.dispatch('getContactsFromAddressBook', { vcf: reader.result, addressbook: selectedAddressbook, importState: this.importState });\n\t\t\t\tself.$emit('fileLoaded', false);\n\t\t\t};\n\t\t\treader.readAsText(file);\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NJbXBvcnRDb250YWN0cy52dWU/NTE1OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUF3Q0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFFQTtBQUNBLCtCQURBO0FBRUE7QUFDQSx5Q0FEQTtBQUVBO0FBRkEsRUFGQTtBQU1BO0FBQ0E7QUFEQSxFQU5BO0FBU0EsS0FUQSxrQkFTQTtBQUNBO0FBQ0E7QUFEQTtBQUdBLEVBYkE7O0FBY0E7QUFDQSxjQURBLDBCQUNBO0FBQ0E7QUFDQSxHQUhBO0FBSUEsU0FKQSxxQkFJQTtBQUNBO0FBQ0E7QUFDQSx1QkFEQTtBQUVBO0FBRkE7QUFJQSxJQUxBO0FBTUEsR0FYQTtBQVlBLGFBWkEseUJBWUE7QUFDQTtBQUNBLEdBZEE7O0FBZUE7QUFDQSxNQURBLGlCQUNBO0FBQUE7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQVBBO0FBUUEsTUFSQSxlQVFBLEtBUkEsRUFRQTtBQUNBO0FBQ0E7QUFWQTtBQWZBLEVBZEE7QUEwQ0E7QUFDQSxhQURBLHVCQUNBLEtBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUhBO0FBSUE7QUFDQTtBQVpBO0FBMUNBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9TZXR0aW5ncy9TZXR0aW5nc0ltcG9ydENvbnRhY3RzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbjwhLS1cblx0LSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBUZWFtIFBvcGNvcm4gPHRlYW1wb3Bjb3JuYmVybGluQGdtYWlsLmNvbT5cblx0LVxuXHQtIEBhdXRob3IgVGVhbSBQb3Bjb3JuIDx0ZWFtcG9wY29ybmJlcmxpbkBnbWFpbC5jb20+XG5cdC1cblx0LSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cblx0LVxuXHQtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG5cdC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcblx0LSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcblx0LSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuXHQtXG5cdC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG5cdC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2Zcblx0LSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG5cdC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG5cdC1cblx0LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2Vcblx0LSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuXHQtXG4tLT5cblxuPHRlbXBsYXRlPlxuXHQ8ZGl2IGNsYXNzPVwiaW1wb3J0LWNvbnRhY3RcIj5cblx0XHQ8aW5wdXQgaWQ9XCJjb250YWN0LWltcG9ydFwiIHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJoaWRkZW4tdmlzdWFsbHlcIlxuXHRcdFx0QGNoYW5nZT1cInByb2Nlc3NGaWxlXCI+XG5cdFx0PGxhYmVsIGlkPVwidXBsb2FkXCIgZm9yPVwiY29udGFjdC1pbXBvcnRcIiBjbGFzcz1cImJ1dHRvbiBtdWx0aXNlbGVjdC1sYWJlbCBpY29uLXVwbG9hZCBuby1zZWxlY3RcIj5cblx0XHRcdHt7IHQoJ2NvbnRhY3RzJywgJ0ltcG9ydCBpbnRvJykgfX1cblx0XHQ8L2xhYmVsPlxuXHRcdDxtdWx0aXNlbGVjdFxuXHRcdFx0di1tb2RlbD1cImltcG9ydERlc3RpbmF0aW9uXCJcblx0XHRcdDpvcHRpb25zPVwib3B0aW9uc1wiXG5cdFx0XHQ6cGxhY2Vob2xkZXI9XCJ0KCdjb250YWN0cycsICdDb250YWN0cycpXCJcblx0XHRcdGxhYmVsPVwiZGlzcGxheU5hbWVcIlxuXHRcdFx0Y2xhc3M9XCJtdWx0aXNlbGVjdC12dWVcIiAvPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5pbXBvcnQgY2xpY2tPdXRzaWRlIGZyb20gJ3Z1ZS1jbGljay1vdXRzaWRlJ1xuaW1wb3J0IE11bHRpc2VsZWN0IGZyb20gJ3Z1ZS1tdWx0aXNlbGVjdCdcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRuYW1lOiAnU2V0dGluZ3NJbXBvcnRDb250YWN0cycsXG5cdGNvbXBvbmVudHM6IHtcblx0XHRjbGlja091dHNpZGUsXG5cdFx0TXVsdGlzZWxlY3Rcblx0fSxcblx0ZGlyZWN0aXZlczoge1xuXHRcdGNsaWNrT3V0c2lkZVxuXHR9LFxuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRpbXBvcnREZXN0aW5hdGlvbjogJydcblx0XHR9XG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0YWRkcmVzc2Jvb2tzKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0QWRkcmVzc2Jvb2tzXG5cdFx0fSxcblx0XHRvcHRpb25zKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWRkcmVzc2Jvb2tzLm1hcChhZGRyZXNzYm9vayA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0aWQ6IGFkZHJlc3Nib29rLmlkLFxuXHRcdFx0XHRcdGRpc3BsYXlOYW1lOiBhZGRyZXNzYm9vay5kaXNwbGF5TmFtZVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0aW1wb3J0U3RhdGUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRJbXBvcnRTdGF0ZVxuXHRcdH0sXG5cdFx0c2VsZWN0ZWRBZGRyZXNzYm9vazoge1xuXHRcdFx0Z2V0KCkge1xuXHRcdFx0XHRpZiAodGhpcy5pbXBvcnREZXN0aW5hdGlvbikge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLmFkZHJlc3Nib29rcy5maW5kKGFkZHJlc3Nib29rID0+IGFkZHJlc3Nib29rLmlkID09PSB0aGlzLmltcG9ydERlc3RpbmF0aW9uLmlkKVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIGRlZmF1bHQgaXMgZmlyc3QgYWRkcmVzcyBib29rIG9mIHRoZSBsaXN0XG5cdFx0XHRcdHJldHVybiB0aGlzLmFkZHJlc3Nib29rc1swXVxuXHRcdFx0fSxcblx0XHRcdHNldCh2YWx1ZSkge1xuXHRcdFx0XHR0aGlzLmltcG9ydERlc3RpbmF0aW9uID0gdmFsdWVcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRwcm9jZXNzRmlsZShldmVudCkge1xuXHRcdFx0bGV0IGZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbMF1cblx0XHRcdGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXG5cdFx0XHRsZXQgc2VsZWN0ZWRBZGRyZXNzYm9vayA9IHRoaXMuc2VsZWN0ZWRBZGRyZXNzYm9va1xuXHRcdFx0dGhpcy4kZW1pdCgnY2xpY2tlZCcsIHsgaW1wb3J0aW5nOiB0cnVlIH0pXG5cdFx0XHRsZXQgc2VsZiA9IHRoaXNcblx0XHRcdHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbihlKSB7XG5cdFx0XHRcdHNlbGYuJHN0b3JlLmRpc3BhdGNoKCdnZXRDb250YWN0c0Zyb21BZGRyZXNzQm9vaycsIHsgdmNmOiByZWFkZXIucmVzdWx0LCBhZGRyZXNzYm9vazogc2VsZWN0ZWRBZGRyZXNzYm9vaywgaW1wb3J0U3RhdGU6IHRoaXMuaW1wb3J0U3RhdGUgfSlcblx0XHRcdFx0c2VsZi4kZW1pdCgnZmlsZUxvYWRlZCcsIGZhbHNlKVxuXHRcdFx0fVxuXHRcdFx0cmVhZGVyLnJlYWRBc1RleHQoZmlsZSlcblx0XHR9XG5cdH1cbn1cbjwvc2NyaXB0PlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/Settings/SettingsImportContacts.vue?vue&type=script&lang=js&\n");
/***/ }),
@@ -597,7 +609,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _SettingsAddressbook = __webpack_require__(/*! ../components/Settings/SettingsAddressbook */ \"./src/components/Settings/SettingsAddressbook.vue\");\n\nvar _SettingsAddressbook2 = _interopRequireDefault(_SettingsAddressbook);\n\nvar _SettingsNewAddressbook = __webpack_require__(/*! ../components/Settings/SettingsNewAddressbook */ \"./src/components/Settings/SettingsNewAddressbook.vue\");\n\nvar _SettingsNewAddressbook2 = _interopRequireDefault(_SettingsNewAddressbook);\n\nvar _SettingsImportContacts = __webpack_require__(/*! ../components/Settings/SettingsImportContacts */ \"./src/components/Settings/SettingsImportContacts.vue\");\n\nvar _SettingsImportContacts2 = _interopRequireDefault(_SettingsImportContacts);\n\nvar _SettingsSortContacts = __webpack_require__(/*! ../components/Settings/SettingsSortContacts */ \"./src/components/Settings/SettingsSortContacts.vue\");\n\nvar _SettingsSortContacts2 = _interopRequireDefault(_SettingsSortContacts);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsSection',\n\tcomponents: {\n\t\taddressBook: _SettingsAddressbook2.default,\n\t\taddAddressBook: _SettingsNewAddressbook2.default,\n\t\timportContacts: _SettingsImportContacts2.default,\n\t\tsortContacts: _SettingsSortContacts2.default\n\t},\n\tcomputed: {\n\t\t// store getters\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uLnZ1ZT84YmFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQW1DQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQSx3QkFEQTtBQUVBO0FBQ0EsNENBREE7QUFFQSxrREFGQTtBQUdBLGtEQUhBO0FBSUE7QUFKQSxFQUZBO0FBUUE7QUFDQTtBQUNBLGNBRkEsMEJBRUE7QUFDQTtBQUNBO0FBSkE7QUFSQSxDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXY+XG5cdFx0PHVsIGlkPVwiYWRkcmVzcy1ib29rLWxpc3RcIj5cblx0XHRcdDxhZGRyZXNzLWJvb2sgdi1mb3I9XCJhZGRyZXNzYm9vayBpbiBhZGRyZXNzYm9va3NcIiA6a2V5PVwiYWRkcmVzc2Jvb2suaWRcIiA6YWRkcmVzc2Jvb2s9XCJhZGRyZXNzYm9va1wiIC8+XG5cdFx0PC91bD5cblx0XHQ8YWRkLWFkZHJlc3MtYm9vayA6YWRkcmVzc2Jvb2tzPVwiYWRkcmVzc2Jvb2tzXCIgLz5cblxuXHRcdDxpbXBvcnQtY29udGFjdHMgOmFkZHJlc3Nib29rcz1cImFkZHJlc3Nib29rc1wiIGNsYXNzPVwic2V0dGluZ3Mtc2VjdGlvblwiIC8+XG5cdFx0PHNvcnQtY29udGFjdHMgY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCIgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IGFkZHJlc3NCb29rIGZyb20gJy4uL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NBZGRyZXNzYm9vaydcbmltcG9ydCBhZGRBZGRyZXNzQm9vayBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzTmV3QWRkcmVzc2Jvb2snXG5pbXBvcnQgaW1wb3J0Q29udGFjdHMgZnJvbSAnLi4vY29tcG9uZW50cy9TZXR0aW5ncy9TZXR0aW5nc0ltcG9ydENvbnRhY3RzJ1xuaW1wb3J0IHNvcnRDb250YWN0cyBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzU29ydENvbnRhY3RzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdTZXR0aW5nc1NlY3Rpb24nLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0YWRkcmVzc0Jvb2ssXG5cdFx0YWRkQWRkcmVzc0Jvb2ssXG5cdFx0aW1wb3J0Q29udGFjdHMsXG5cdFx0c29ydENvbnRhY3RzXG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0Ly8gc3RvcmUgZ2V0dGVyc1xuXHRcdGFkZHJlc3Nib29rcygpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldEFkZHJlc3Nib29rc1xuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection.vue?vue&type=script&lang=js&\n");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _SettingsAddressbook = __webpack_require__(/*! ../components/Settings/SettingsAddressbook */ \"./src/components/Settings/SettingsAddressbook.vue\");\n\nvar _SettingsAddressbook2 = _interopRequireDefault(_SettingsAddressbook);\n\nvar _SettingsNewAddressbook = __webpack_require__(/*! ../components/Settings/SettingsNewAddressbook */ \"./src/components/Settings/SettingsNewAddressbook.vue\");\n\nvar _SettingsNewAddressbook2 = _interopRequireDefault(_SettingsNewAddressbook);\n\nvar _SettingsImportContacts = __webpack_require__(/*! ../components/Settings/SettingsImportContacts */ \"./src/components/Settings/SettingsImportContacts.vue\");\n\nvar _SettingsImportContacts2 = _interopRequireDefault(_SettingsImportContacts);\n\nvar _SettingsSortContacts = __webpack_require__(/*! ../components/Settings/SettingsSortContacts */ \"./src/components/Settings/SettingsSortContacts.vue\");\n\nvar _SettingsSortContacts2 = _interopRequireDefault(_SettingsSortContacts);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexports.default = {\n\tname: 'SettingsSection',\n\tcomponents: {\n\t\taddressBook: _SettingsAddressbook2.default,\n\t\taddAddressBook: _SettingsNewAddressbook2.default,\n\t\timportContacts: _SettingsImportContacts2.default,\n\t\tsortContacts: _SettingsSortContacts2.default\n\t},\n\tcomputed: {\n\t\t// store getters\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t}\n\t},\n\tmethods: {\n\t\tonClickImport: function onClickImport(event) {\n\t\t\tthis.$emit('clicked', event);\n\t\t},\n\t\tonLoad: function onLoad(event) {\n\t\t\tthis.$emit('fileLoaded', false);\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL2NvbXBvbmVudHMvU2V0dGluZ3NTZWN0aW9uLnZ1ZT84YmFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQW1DQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBRUE7QUFDQSx3QkFEQTtBQUVBO0FBQ0EsNENBREE7QUFFQSxrREFGQTtBQUdBLGtEQUhBO0FBSUE7QUFKQSxFQUZBO0FBUUE7QUFDQTtBQUNBLGNBRkEsMEJBRUE7QUFDQTtBQUNBO0FBSkEsRUFSQTtBQWNBO0FBQ0EsZUFEQSx5QkFDQSxLQURBLEVBQ0E7QUFDQTtBQUNBLEdBSEE7QUFJQSxRQUpBLGtCQUlBLEtBSkEsRUFJQTtBQUNBO0FBQ0E7QUFOQTtBQWRBLEMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9zcmMvY29tcG9uZW50cy9TZXR0aW5nc1NlY3Rpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjwhLS1cbiAgLSBAY29weXJpZ2h0IENvcHlyaWdodCAoYykgMjAxOCBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAYXV0aG9yIEpvaG4gTW9sYWt2b8OmIDxza2pubGRzdkBwcm90b25tYWlsLmNvbT5cbiAgLVxuICAtIEBsaWNlbnNlIEdOVSBBR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvblxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAgLSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhc1xuICAtIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZVxuICAtIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gIC1cbiAgLSBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAgLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICAtIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAgLSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAgLVxuICAtIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICAtIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gIC1cbiAgLS0+XG5cbjx0ZW1wbGF0ZT5cblx0PGRpdj5cblx0XHQ8dWwgaWQ9XCJhZGRyZXNzLWJvb2stbGlzdFwiPlxuXHRcdFx0PGFkZHJlc3MtYm9vayB2LWZvcj1cImFkZHJlc3Nib29rIGluIGFkZHJlc3Nib29rc1wiIDprZXk9XCJhZGRyZXNzYm9vay5pZFwiIDphZGRyZXNzYm9vaz1cImFkZHJlc3Nib29rXCIgLz5cblx0XHQ8L3VsPlxuXHRcdDxhZGQtYWRkcmVzcy1ib29rIDphZGRyZXNzYm9va3M9XCJhZGRyZXNzYm9va3NcIiAvPlxuXHRcdDxpbXBvcnQtY29udGFjdHMgOmFkZHJlc3Nib29rcz1cImFkZHJlc3Nib29rc1wiIGNsYXNzPVwic2V0dGluZ3Mtc2VjdGlvblwiXG5cdFx0XHRAY2xpY2tlZD1cIm9uQ2xpY2tJbXBvcnRcIiBAZmlsZUxvYWRlZD1cIm9uTG9hZFwiIC8+XG5cdFx0PHNvcnQtY29udGFjdHMgY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCIgLz5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IGFkZHJlc3NCb29rIGZyb20gJy4uL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3NBZGRyZXNzYm9vaydcbmltcG9ydCBhZGRBZGRyZXNzQm9vayBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzTmV3QWRkcmVzc2Jvb2snXG5pbXBvcnQgaW1wb3J0Q29udGFjdHMgZnJvbSAnLi4vY29tcG9uZW50cy9TZXR0aW5ncy9TZXR0aW5nc0ltcG9ydENvbnRhY3RzJ1xuaW1wb3J0IHNvcnRDb250YWN0cyBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzL1NldHRpbmdzU29ydENvbnRhY3RzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdTZXR0aW5nc1NlY3Rpb24nLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0YWRkcmVzc0Jvb2ssXG5cdFx0YWRkQWRkcmVzc0Jvb2ssXG5cdFx0aW1wb3J0Q29udGFjdHMsXG5cdFx0c29ydENvbnRhY3RzXG5cdH0sXG5cdGNvbXB1dGVkOiB7XG5cdFx0Ly8gc3RvcmUgZ2V0dGVyc1xuXHRcdGFkZHJlc3Nib29rcygpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldEFkZHJlc3Nib29rc1xuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdG9uQ2xpY2tJbXBvcnQoZXZlbnQpIHtcblx0XHRcdHRoaXMuJGVtaXQoJ2NsaWNrZWQnLCBldmVudClcblx0XHR9LFxuXHRcdG9uTG9hZChldmVudCkge1xuXHRcdFx0dGhpcy4kZW1pdCgnZmlsZUxvYWRlZCcsIGZhbHNlKVxuXHRcdH1cblx0fVxufVxuPC9zY3JpcHQ+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js?!./src/components/SettingsSection.vue?vue&type=script&lang=js&\n");
/***/ }),
@@ -657,7 +669,11 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
+<<<<<<< HEAD
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _appNavigation = __webpack_require__(/*! ../components/core/appNavigation */ \"./src/components/core/appNavigation.vue\");\n\nvar _appNavigation2 = _interopRequireDefault(_appNavigation);\n\nvar _SettingsSection = __webpack_require__(/*! ../components/SettingsSection */ \"./src/components/SettingsSection.vue\");\n\nvar _SettingsSection2 = _interopRequireDefault(_SettingsSection);\n\nvar _ContentList = __webpack_require__(/*! ../components/ContentList */ \"./src/components/ContentList.vue\");\n\nvar _ContentList2 = _interopRequireDefault(_ContentList);\n\nvar _ContactDetails = __webpack_require__(/*! ../components/ContactDetails */ \"./src/components/ContactDetails.vue\");\n\nvar _ContactDetails2 = _interopRequireDefault(_ContactDetails);\n\nvar _contact = __webpack_require__(/*! ../models/contact */ \"./src/models/contact.js\");\n\nvar _contact2 = _interopRequireDefault(_contact);\n\nvar _rfcProps = __webpack_require__(/*! ../models/rfcProps.js */ \"./src/models/rfcProps.js\");\n\nvar _rfcProps2 = _interopRequireDefault(_rfcProps);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n// import client from '../services/cdav.js'\n\nexports.default = {\n\tcomponents: {\n\t\tappNavigation: _appNavigation2.default,\n\t\tsettingsSection: _SettingsSection2.default,\n\t\tcontentList: _ContentList2.default,\n\t\tcontactDetails: _ContactDetails2.default\n\t},\n\n\t// passed by the router\n\tprops: {\n\t\tselectedGroup: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t\trequired: true\n\t\t},\n\t\tselectedContact: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined\n\t\t}\n\t},\n\n\tdata: function data() {\n\t\treturn {\n\t\t\tloading: true\n\t\t};\n\t},\n\n\n\tcomputed: {\n\t\t// store getters\n\t\taddressbooks: function addressbooks() {\n\t\t\treturn this.$store.getters.getAddressbooks;\n\t\t},\n\t\tsortedContacts: function sortedContacts() {\n\t\t\treturn this.$store.getters.getSortedContacts;\n\t\t},\n\t\tcontacts: function contacts() {\n\t\t\treturn this.$store.getters.getContacts;\n\t\t},\n\t\tgroups: function groups() {\n\t\t\treturn this.$store.getters.getGroups;\n\t\t},\n\t\torderKey: function orderKey() {\n\t\t\treturn this.$store.getters.getOrderKey;\n\t\t},\n\n\n\t\t// first enabled addressbook of the list\n\t\tdefaultAddressbook: function defaultAddressbook() {\n\t\t\treturn this.addressbooks.find(function (addressbook) {\n\t\t\t\treturn addressbook.enabled;\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Contacts list based on the selected group.\n * Those filters are pretty fast, so let's only\n * intersect the groups contacts and the full\n * sorted contacts List.\n */\n\t\tcontactsList: function contactsList() {\n\t\t\tvar _this = this;\n\n\t\t\tif (this.selectedGroup === t('contacts', 'All contacts')) {\n\t\t\t\treturn this.sortedContacts;\n\t\t\t}\n\t\t\tvar group = this.groups.filter(function (group) {\n\t\t\t\treturn group.name === _this.selectedGroup;\n\t\t\t})[0];\n\t\t\tif (group) {\n\t\t\t\treturn this.sortedContacts.filter(function (contact) {\n\t\t\t\t\treturn group.contacts.indexOf(contact.key) >= 0;\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn [];\n\t\t},\n\n\n\t\t// generate groups menu from groups store\n\t\tgroupsMenu: function groupsMenu() {\n\t\t\treturn this.groups.map(function (group) {\n\t\t\t\treturn {\n\t\t\t\t\tid: group.name.replace(' ', '_'),\n\t\t\t\t\tkey: group.name.replace(' ', '_'),\n\t\t\t\t\trouter: {\n\t\t\t\t\t\tname: 'group',\n\t\t\t\t\t\tparams: { selectedGroup: group.name }\n\t\t\t\t\t},\n\t\t\t\t\ttext: group.name,\n\t\t\t\t\tutils: {\n\t\t\t\t\t\tcounter: group.contacts.length\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\n\n\t\t// building the main menu\n\t\tmenu: function menu() {\n\t\t\treturn {\n\t\t\t\tid: 'groups-list',\n\t\t\t\tnew: {\n\t\t\t\t\tid: 'new-contact-button',\n\t\t\t\t\ttext: t('contacts', 'New contact'),\n\t\t\t\t\ticon: 'icon-add',\n\t\t\t\t\taction: this.newContact\n\t\t\t\t},\n\t\t\t\titems: this.allGroup.concat(this.groupsMenu)\n\t\t\t};\n\t\t},\n\n\n\t\t// default group for every contacts\n\t\tallGroup: function allGroup() {\n\t\t\treturn [{\n\t\t\t\tid: 'everyone',\n\t\t\t\tkey: 'everyone',\n\t\t\t\ticon: 'icon-contacts-dark',\n\t\t\t\trouter: {\n\t\t\t\t\tname: 'group',\n\t\t\t\t\tparams: { selectedGroup: t('contacts', 'All contacts') }\n\t\t\t\t},\n\t\t\t\ttext: t('contacts', 'All contacts'),\n\t\t\t\tutils: {\n\t\t\t\t\tcounter: this.sortedContacts.length\n\t\t\t\t}\n\t\t\t}];\n\t\t}\n\t},\n\n\twatch: {\n\t\t// watch url change and group select\n\t\tselectedGroup: function selectedGroup() {\n\t\t\tthis.selectFirstContactIfNone();\n\t\t},\n\t\t// watch url change and contact select\n\t\tselectedContact: function selectedContact() {\n\t\t\tthis.selectFirstContactIfNone();\n\t\t}\n\t},\n\n\tbeforeMount: function beforeMount() {\n\t\tvar _this2 = this;\n\n\t\t// get addressbooks then get contacts\n\t\t// client.connect({ enableCardDAV: true }).then(() => {\n\t\tthis.$store.dispatch('getAddressbooks').then(function () {\n\t\t\tPromise.all(_this2.addressbooks.map(function () {\n\t\t\t\tvar _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(addressbook) {\n\t\t\t\t\treturn regeneratorRuntime.wrap(function _callee$(_context) {\n\t\t\t\t\t\twhile (1) {\n\t\t\t\t\t\t\tswitch (_context.prev = _context.next) {\n\t\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t\t_context.next = 2;\n\t\t\t\t\t\t\t\t\treturn _this2.$store.dispatch('getContactsFromAddressBook', addressbook);\n\n\t\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\tcase 'end':\n\t\t\t\t\t\t\t\t\treturn _context.stop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, _callee, _this2);\n\t\t\t\t}));\n\n\t\t\t\treturn function (_x) {\n\t\t\t\t\treturn _ref.apply(this, arguments);\n\t\t\t\t};\n\t\t\t}())).then(function () {\n\t\t\t\t_this2.loading = false;\n\t\t\t\t_this2.selectFirstContactIfNone();\n\t\t\t});\n\t\t});\n\t\t// check local storage for orderKey\n\t\tif (localStorage.getItem('orderKey')) {\n\t\t\t// run setOrder mutation with local storage key\n\t\t\tthis.$store.commit('setOrder', localStorage.getItem('orderKey'));\n\t\t}\n\t\t// })\n\t},\n\n\n\tmethods: {\n\t\tnewContact: function newContact() {\n\t\t\tvar contact = new _contact2.default('BEGIN:VCARD\\nVERSION:4.0\\nEND:VCARD', this.defaultAddressbook);\n\t\t\tcontact.fullName = 'New contact';\n\t\t\t// itterate over all properties (filter is not usable on objects and we need the key of the property)\n\t\t\tfor (var name in _rfcProps2.default.properties) {\n\t\t\t\tif (_rfcProps2.default.properties[name].default) {\n\t\t\t\t\tvar defaultData = _rfcProps2.default.properties[name].defaultValue;\n\t\t\t\t\t// add default field\n\t\t\t\t\tvar property = contact.vCard.addPropertyWithValue(name, defaultData.value);\n\t\t\t\t\t// add default type\n\t\t\t\t\tif (defaultData.type) {\n\t\t\t\t\t\tproperty.setParameter('type', defaultData.type);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.selectedGroup !== t('contacts', 'All contacts')) {\n\t\t\t\tcontact.vCard.addPropertyWithValue('categories', this.selectedGroup);\n\t\t\t}\n\t\t\tthis.$store.dispatch('addContact', contact);\n\t\t\tthis.$router.push({\n\t\t\t\tname: 'contact',\n\t\t\t\tparams: {\n\t\t\t\t\tselectedGroup: this.selectedGroup,\n\t\t\t\t\tselectedContact: contact.key\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\n\t\t/**\n * Dispatch sorting update request to the store\n *\n * @param {Object} state Default state\n * @param {Array} addressbooks Addressbooks\n */\n\t\tupdateSorting: function updateSorting() {\n\t\t\tvar orderKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'displayName';\n\n\t\t\tthis.$store.commit('setOrder', orderKey);\n\t\t\tthis.$store.commit('sortContacts');\n\t\t},\n\n\n\t\t/**\n * Select the first contact of the list\n * if none are selected already\n */\n\t\tselectFirstContactIfNone: function selectFirstContactIfNone() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar inList = this.contactsList.findIndex(function (contact) {\n\t\t\t\treturn contact.key === _this3.selectedContact;\n\t\t\t}) > -1;\n\t\t\tif (this.selectedContact === undefined || !inList) {\n\t\t\t\tif (this.selectedContact && !inList) {\n\t\t\t\t\tOC.Notification.showTemporary(t('contacts', 'Contact not found'));\n\t\t\t\t}\n\t\t\t\tif (Object.keys(this.contactsList).length) {\n\t\t\t\t\tthis.$router.push({\n\t\t\t\t\t\tname: 'contact',\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\tselectedGroup: this.selectedGroup,\n\t\t\t\t\t\t\tselectedContact: Object.values(this.contactsList)[0].key\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tdocument.querySelector('.app-content-list-item.active').scrollIntoView();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL3ZpZXdzL0NvbnRhY3RzLnZ1ZT9lZjY1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQTZDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztrQkFFQTtBQUNBO0FBQ0Esd0NBREE7QUFFQSw0Q0FGQTtBQUdBLG9DQUhBO0FBSUE7QUFKQSxFQURBOztBQVFBO0FBQ0E7QUFDQTtBQUNBLGVBREE7QUFFQSxxQkFGQTtBQUdBO0FBSEEsR0FEQTtBQU1BO0FBQ0EsZUFEQTtBQUVBO0FBRkE7QUFOQSxFQVRBOztBQXFCQSxLQXJCQSxrQkFxQkE7QUFDQTtBQUNBO0FBREE7QUFHQSxFQXpCQTs7O0FBMkJBO0FBQ0E7QUFDQSxjQUZBLDBCQUVBO0FBQ0E7QUFDQSxHQUpBO0FBS0EsZ0JBTEEsNEJBS0E7QUFDQTtBQUNBLEdBUEE7QUFRQSxVQVJBLHNCQVFBO0FBQ0E7QUFDQSxHQVZBO0FBV0EsUUFYQSxvQkFXQTtBQUNBO0FBQ0EsR0FiQTtBQWNBLFVBZEEsc0JBY0E7QUFDQTtBQUNBLEdBaEJBOzs7QUFrQkE7QUFDQSxvQkFuQkEsZ0NBbUJBO0FBQ0E7QUFBQTtBQUFBO0FBQ0EsR0FyQkE7OztBQXVCQTs7Ozs7O0FBTUEsY0E3QkEsMEJBNkJBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EsR0F0Q0E7OztBQXdDQTtBQUNBLFlBekNBLHdCQXlDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FEQTtBQUVBLHNDQUZBO0FBR0E7QUFDQSxtQkFEQTtBQUVBO0FBRkEsTUFIQTtBQU9BLHFCQVBBO0FBUUE7QUFDQTtBQURBO0FBUkE7QUFZQSxJQWJBO0FBY0EsR0F4REE7OztBQTBEQTtBQUNBLE1BM0RBLGtCQTJEQTtBQUNBO0FBQ0EscUJBREE7QUFFQTtBQUNBLDZCQURBO0FBRUEsdUNBRkE7QUFHQSxxQkFIQTtBQUlBO0FBSkEsS0FGQTtBQVFBO0FBUkE7QUFVQSxHQXRFQTs7O0FBd0VBO0FBQ0EsVUF6RUEsc0JBeUVBO0FBQ0E7QUFDQSxrQkFEQTtBQUVBLG1CQUZBO0FBR0EsOEJBSEE7QUFJQTtBQUNBLGtCQURBO0FBRUE7QUFGQSxLQUpBO0FBUUEsdUNBUkE7QUFTQTtBQUNBO0FBREE7QUFUQTtBQWFBO0FBdkZBLEVBM0JBOztBQXFIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBSkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQVJBLEVBckhBOztBQWdJQSxZQWhJQSx5QkFnSUE7QUFBQTs7QUFDQTtBQUNBO0FBQ0EsMENBQ0EsSUFEQSxDQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFDQSxpRUFEQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQSxTQUVBLElBRkEsQ0FFQTtBQUNBO0FBQ0E7QUFDQSxJQUxBO0FBTUEsR0FSQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBbEpBOzs7QUFvSkE7QUFDQSxZQURBLHdCQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFEQTtBQUVBO0FBQ0Esc0NBREE7QUFFQTtBQUZBO0FBRkE7QUFPQSxHQTVCQTs7O0FBOEJBOzs7Ozs7QUFNQSxlQXBDQSwyQkFvQ0E7QUFBQTs7QUFDQTtBQUNBO0FBQ0EsR0F2Q0E7OztBQXlDQTs7OztBQUlBLDBCQTdDQSxzQ0E2Q0E7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFEQTtBQUVBO0FBQ0Esd0NBREE7QUFFQTtBQUZBO0FBRkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQTlEQTtBQXBKQSxDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/IS4vc3JjL3ZpZXdzL0NvbnRhY3RzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8IS0tXG4gIC0gQGNvcHlyaWdodCBDb3B5cmlnaHQgKGMpIDIwMTggSm9obiBNb2xha3Zvw6YgPHNram5sZHN2QHByb3Rvbm1haWwuY29tPlxuICAtXG4gIC0gQGF1dGhvciBKb2huIE1vbGFrdm/DpiA8c2tqbmxkc3ZAcHJvdG9ubWFpbC5jb20+XG4gIC1cbiAgLSBAbGljZW5zZSBHTlUgQUdQTCB2ZXJzaW9uIDMgb3IgYW55IGxhdGVyIHZlcnNpb25cbiAgLVxuICAtIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gIC0gaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXNcbiAgLSBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGVcbiAgLSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICAtXG4gIC0gVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gIC0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAgLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gIC0gR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gIC1cbiAgLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAgLSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICAtXG4gIC0tPlxuXG48dGVtcGxhdGU+XG5cdDxkaXYgaWQ9XCJjb250ZW50XCIgY2xhc3M9XCJhcHAtY29udGFjdHNcIj5cblxuXHRcdDwhLS0gbmV3LWNvbnRhY3QtYnV0dG9uICsgbmF2aWdhdGlvbiArIHNldHRpbmdzIC0tPlxuXHRcdDxhcHAtbmF2aWdhdGlvbiA6bWVudT1cIm1lbnVcIj5cblx0XHRcdDwhLS0gc2V0dGluZ3MgLS0+XG5cdFx0XHQ8c2V0dGluZ3Mtc2VjdGlvbiBzbG90PVwic2V0dGluZ3MtY29udGVudFwiIC8+XG5cdFx0PC9hcHAtbmF2aWdhdGlvbj5cblxuXHRcdDwhLS0gbWFpbiBjb250ZW50IC0tPlxuXHRcdDxkaXYgaWQ9XCJhcHAtY29udGVudFwiPlxuXHRcdFx0PGRpdiBpZD1cImFwcC1jb250ZW50LXdyYXBwZXJcIj5cblx0XHRcdFx0PCEtLSBjb250YWN0cyBsaXN0IC0tPlxuXHRcdFx0XHQ8Y29udGVudC1saXN0IDpsaXN0PVwiY29udGFjdHNMaXN0XCIgOmNvbnRhY3RzPVwiY29udGFjdHNcIiA6bG9hZGluZz1cImxvYWRpbmdcIiAvPlxuXHRcdFx0XHQ8IS0tIG1haW4gY29udGFjdHMgZGV0YWlscyAtLT5cblx0XHRcdFx0PGNvbnRhY3QtZGV0YWlscyA6bG9hZGluZz1cImxvYWRpbmdcIiA6dWlkPVwic2VsZWN0ZWRDb250YWN0XCIgLz5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBhcHBOYXZpZ2F0aW9uIGZyb20gJy4uL2NvbXBvbmVudHMvY29yZS9hcHBOYXZpZ2F0aW9uJ1xuaW1wb3J0IHNldHRpbmdzU2VjdGlvbiBmcm9tICcuLi9jb21wb25lbnRzL1NldHRpbmdzU2VjdGlvbidcbmltcG9ydCBjb250ZW50TGlzdCBmcm9tICcuLi9jb21wb25lbnRzL0NvbnRlbnRMaXN0J1xuaW1wb3J0IGNvbnRhY3REZXRhaWxzIGZyb20gJy4uL2NvbXBvbmVudHMvQ29udGFjdERldGFpbHMnXG5cbmltcG9ydCBDb250YWN0IGZyb20gJy4uL21vZGVscy9jb250YWN0J1xuaW1wb3J0IHJmY1Byb3BzIGZyb20gJy4uL21vZGVscy9yZmNQcm9wcy5qcydcblxuLy8gaW1wb3J0IGNsaWVudCBmcm9tICcuLi9zZXJ2aWNlcy9jZGF2LmpzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdGNvbXBvbmVudHM6IHtcblx0XHRhcHBOYXZpZ2F0aW9uLFxuXHRcdHNldHRpbmdzU2VjdGlvbixcblx0XHRjb250ZW50TGlzdCxcblx0XHRjb250YWN0RGV0YWlsc1xuXHR9LFxuXG5cdC8vIHBhc3NlZCBieSB0aGUgcm91dGVyXG5cdHByb3BzOiB7XG5cdFx0c2VsZWN0ZWRHcm91cDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogdW5kZWZpbmVkLFxuXHRcdFx0cmVxdWlyZWQ6IHRydWVcblx0XHR9LFxuXHRcdHNlbGVjdGVkQ29udGFjdDoge1xuXHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0ZGVmYXVsdDogdW5kZWZpbmVkXG5cdFx0fVxuXHR9LFxuXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGxvYWRpbmc6IHRydWVcblx0XHR9XG5cdH0sXG5cblx0Y29tcHV0ZWQ6IHtcblx0XHQvLyBzdG9yZSBnZXR0ZXJzXG5cdFx0YWRkcmVzc2Jvb2tzKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0QWRkcmVzc2Jvb2tzXG5cdFx0fSxcblx0XHRzb3J0ZWRDb250YWN0cygpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldFNvcnRlZENvbnRhY3RzXG5cdFx0fSxcblx0XHRjb250YWN0cygpIHtcblx0XHRcdHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldENvbnRhY3RzXG5cdFx0fSxcblx0XHRncm91cHMoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRHcm91cHNcblx0XHR9LFxuXHRcdG9yZGVyS2V5KCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0T3JkZXJLZXlcblx0XHR9LFxuXG5cdFx0Ly8gZmlyc3QgZW5hYmxlZCBhZGRyZXNzYm9vayBvZiB0aGUgbGlzdFxuXHRcdGRlZmF1bHRBZGRyZXNzYm9vaygpIHtcblx0XHRcdHJldHVybiB0aGlzLmFkZHJlc3Nib29rcy5maW5kKGFkZHJlc3Nib29rID0+IGFkZHJlc3Nib29rLmVuYWJsZWQpXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIENvbnRhY3RzIGxpc3QgYmFzZWQgb24gdGhlIHNlbGVjdGVkIGdyb3VwLlxuXHRcdCAqIFRob3NlIGZpbHRlcnMgYXJlIHByZXR0eSBmYXN0LCBzbyBsZXQncyBvbmx5XG5cdFx0ICogaW50ZXJzZWN0IHRoZSBncm91cHMgY29udGFjdHMgYW5kIHRoZSBmdWxsXG5cdFx0ICogc29ydGVkIGNvbnRhY3RzIExpc3QuXG5cdFx0ICovXG5cdFx0Y29udGFjdHNMaXN0KCkge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRHcm91cCA9PT0gdCgnY29udGFjdHMnLCAnQWxsIGNvbnRhY3RzJykpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMuc29ydGVkQ29udGFjdHNcblx0XHRcdH1cblx0XHRcdGxldCBncm91cCA9IHRoaXMuZ3JvdXBzLmZpbHRlcihncm91cCA9PiBncm91cC5uYW1lID09PSB0aGlzLnNlbGVjdGVkR3JvdXApWzBdXG5cdFx0XHRpZiAoZ3JvdXApIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMuc29ydGVkQ29udGFjdHMuZmlsdGVyKGNvbnRhY3QgPT4gZ3JvdXAuY29udGFjdHMuaW5kZXhPZihjb250YWN0LmtleSkgPj0gMClcblx0XHRcdH1cblx0XHRcdHJldHVybiBbXVxuXHRcdH0sXG5cblx0XHQvLyBnZW5lcmF0ZSBncm91cHMgbWVudSBmcm9tIGdyb3VwcyBzdG9yZVxuXHRcdGdyb3Vwc01lbnUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5ncm91cHMubWFwKGdyb3VwID0+IHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRpZDogZ3JvdXAubmFtZS5yZXBsYWNlKCcgJywgJ18nKSxcblx0XHRcdFx0XHRrZXk6IGdyb3VwLm5hbWUucmVwbGFjZSgnICcsICdfJyksXG5cdFx0XHRcdFx0cm91dGVyOiB7XG5cdFx0XHRcdFx0XHRuYW1lOiAnZ3JvdXAnLFxuXHRcdFx0XHRcdFx0cGFyYW1zOiB7IHNlbGVjdGVkR3JvdXA6IGdyb3VwLm5hbWUgfVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0dGV4dDogZ3JvdXAubmFtZSxcblx0XHRcdFx0XHR1dGlsczoge1xuXHRcdFx0XHRcdFx0Y291bnRlcjogZ3JvdXAuY29udGFjdHMubGVuZ3RoXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cblx0XHQvLyBidWlsZGluZyB0aGUgbWFpbiBtZW51XG5cdFx0bWVudSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGlkOiAnZ3JvdXBzLWxpc3QnLFxuXHRcdFx0XHRuZXc6IHtcblx0XHRcdFx0XHRpZDogJ25ldy1jb250YWN0LWJ1dHRvbicsXG5cdFx0XHRcdFx0dGV4dDogdCgnY29udGFjdHMnLCAnTmV3IGNvbnRhY3QnKSxcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1hZGQnLFxuXHRcdFx0XHRcdGFjdGlvbjogdGhpcy5uZXdDb250YWN0XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGl0ZW1zOiB0aGlzLmFsbEdyb3VwLmNvbmNhdCh0aGlzLmdyb3Vwc01lbnUpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdC8vIGRlZmF1bHQgZ3JvdXAgZm9yIGV2ZXJ5IGNvbnRhY3RzXG5cdFx0YWxsR3JvdXAoKSB7XG5cdFx0XHRyZXR1cm4gW3tcblx0XHRcdFx0aWQ6ICdldmVyeW9uZScsXG5cdFx0XHRcdGtleTogJ2V2ZXJ5b25lJyxcblx0XHRcdFx0aWNvbjogJ2ljb24tY29udGFjdHMtZGFyaycsXG5cdFx0XHRcdHJvdXRlcjoge1xuXHRcdFx0XHRcdG5hbWU6ICdncm91cCcsXG5cdFx0XHRcdFx0cGFyYW1zOiB7IHNlbGVjdGVkR3JvdXA6IHQoJ2NvbnRhY3RzJywgJ0FsbCBjb250YWN0cycpIH1cblx0XHRcdFx0fSxcblx0XHRcdFx0dGV4dDogdCgnY29udGFjdHMnLCAnQWxsIGNvbnRhY3RzJyksXG5cdFx0XHRcdHV0aWxzOiB7XG5cdFx0XHRcdFx0Y291bnRlcjogdGhpcy5zb3J0ZWRDb250YWN0cy5sZW5ndGhcblx0XHRcdFx0fVxuXHRcdFx0fV1cblx0XHR9XG5cdH0sXG5cblx0d2F0Y2g6IHtcblx0XHQvLyB3YXRjaCB1cmwgY2hhbmdlIGFuZCBncm91cCBzZWxlY3Rcblx0XHRzZWxlY3RlZEdyb3VwOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMuc2VsZWN0Rmlyc3RDb250YWN0SWZOb25lKClcblx0XHR9LFxuXHRcdC8vIHdhdGNoIHVybCBjaGFuZ2UgYW5kIGNvbnRhY3Qgc2VsZWN0XG5cdFx0c2VsZWN0ZWRDb250YWN0OiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMuc2VsZWN0Rmlyc3RDb250YWN0SWZOb25lKClcblx0XHR9XG5cdH0sXG5cblx0YmVmb3JlTW91bnQoKSB7XG5cdFx0Ly8gZ2V0IGFkZHJlc3Nib29rcyB0aGVuIGdldCBjb250YWN0c1xuXHRcdC8vIGNsaWVudC5jb25uZWN0KHsgZW5hYmxlQ2FyZERBVjogdHJ1ZSB9KS50aGVuKCgpID0+IHtcblx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnZ2V0QWRkcmVzc2Jvb2tzJylcblx0XHRcdC50aGVuKCgpID0+IHtcblx0XHRcdFx0UHJvbWlzZS5hbGwodGhpcy5hZGRyZXNzYm9va3MubWFwKGFzeW5jIGFkZHJlc3Nib29rID0+IHtcblx0XHRcdFx0XHRhd2FpdCB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnZ2V0Q29udGFjdHNGcm9tQWRkcmVzc0Jvb2snLCBhZGRyZXNzYm9vaylcblx0XHRcdFx0fSkpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlXG5cdFx0XHRcdFx0dGhpcy5zZWxlY3RGaXJzdENvbnRhY3RJZk5vbmUoKVxuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0XHRcdC8vIGNoZWNrIGxvY2FsIHN0b3JhZ2UgZm9yIG9yZGVyS2V5XG5cdFx0aWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdvcmRlcktleScpKSB7XG5cdFx0XHQvLyBydW4gc2V0T3JkZXIgbXV0YXRpb24gd2l0aCBsb2NhbCBzdG9yYWdlIGtleVxuXHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRPcmRlcicsIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdvcmRlcktleScpKVxuXHRcdH1cblx0XHQvLyB9KVxuXHR9LFxuXG5cdG1ldGhvZHM6IHtcblx0XHRuZXdDb250YWN0KCkge1xuXHRcdFx0bGV0IGNvbnRhY3QgPSBuZXcgQ29udGFjdCgnQkVHSU46VkNBUkRcXG5WRVJTSU9OOjQuMFxcbkVORDpWQ0FSRCcsIHRoaXMuZGVmYXVsdEFkZHJlc3Nib29rKVxuXHRcdFx0Y29udGFjdC5mdWxsTmFtZSA9ICdOZXcgY29udGFjdCdcblx0XHRcdC8vIGl0dGVyYXRlIG92ZXIgYWxsIHByb3BlcnRpZXMgKGZpbHRlciBpcyBub3QgdXNhYmxlIG9uIG9iamVjdHMgYW5kIHdlIG5lZWQgdGhlIGtleSBvZiB0aGUgcHJvcGVydHkpXG5cdFx0XHRmb3IgKGxldCBuYW1lIGluIHJmY1Byb3BzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0aWYgKHJmY1Byb3BzLnByb3BlcnRpZXNbbmFtZV0uZGVmYXVsdCkge1xuXHRcdFx0XHRcdGxldCBkZWZhdWx0RGF0YSA9IHJmY1Byb3BzLnByb3BlcnRpZXNbbmFtZV0uZGVmYXVsdFZhbHVlXG5cdFx0XHRcdFx0Ly8gYWRkIGRlZmF1bHQgZmllbGRcblx0XHRcdFx0XHRsZXQgcHJvcGVydHkgPSBjb250YWN0LnZDYXJkLmFkZFByb3BlcnR5V2l0aFZhbHVlKG5hbWUsIGRlZmF1bHREYXRhLnZhbHVlKVxuXHRcdFx0XHRcdC8vIGFkZCBkZWZhdWx0IHR5cGVcblx0XHRcdFx0XHRpZiAoZGVmYXVsdERhdGEudHlwZSkge1xuXHRcdFx0XHRcdFx0cHJvcGVydHkuc2V0UGFyYW1ldGVyKCd0eXBlJywgZGVmYXVsdERhdGEudHlwZSlcblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRHcm91cCAhPT0gdCgnY29udGFjdHMnLCAnQWxsIGNvbnRhY3RzJykpIHtcblx0XHRcdFx0Y29udGFjdC52Q2FyZC5hZGRQcm9wZXJ0eVdpdGhWYWx1ZSgnY2F0ZWdvcmllcycsIHRoaXMuc2VsZWN0ZWRHcm91cClcblx0XHRcdH1cblx0XHRcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdhZGRDb250YWN0JywgY29udGFjdClcblx0XHRcdHRoaXMuJHJvdXRlci5wdXNoKHtcblx0XHRcdFx0bmFtZTogJ2NvbnRhY3QnLFxuXHRcdFx0XHRwYXJhbXM6IHtcblx0XHRcdFx0XHRzZWxlY3RlZEdyb3VwOiB0aGlzLnNlbGVjdGVkR3JvdXAsXG5cdFx0XHRcdFx0c2VsZWN0ZWRDb250YWN0OiBjb250YWN0LmtleVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cblx0XHQvKipcblx0XHQgKiBEaXNwYXRjaCBzb3J0aW5nIHVwZGF0ZSByZXF1ZXN0IHRvIHRoZSBzdG9yZVxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHN0YXRlIERlZmF1bHQgc3RhdGVcblx0XHQgKiBAcGFyYW0ge0FycmF5fSBhZGRyZXNzYm9va3MgQWRkcmVzc2Jvb2tzXG5cdFx0ICovXG5cdFx0dXBkYXRlU29ydGluZyhvcmRlcktleSA9ICdkaXNwbGF5TmFtZScpIHtcblx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnc2V0T3JkZXInLCBvcmRlcktleSlcblx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnc29ydENvbnRhY3RzJylcblx0XHR9LFxuXG5cdFx0LyoqXG5cdFx0ICogU2VsZWN0IHRoZSBmaXJzdCBjb250YWN0IG9mIHRoZSBsaXN0XG5cdFx0ICogaWYgbm9uZSBhcmU