"use strict";
(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_a"],{
/***/ "./src/shared/assets/fonts/Bayon-Regular.ttf":
/*!***************************************************!*\
!*** ./src/shared/assets/fonts/Bayon-Regular.ttf ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__.p + "assets/images/Bayon-Regular.ttf";
/***/ }),
/***/ "./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf":
/*!*******************************************************************!*\
!*** ./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__.p + "assets/images/Roboto-VariableFont_wdth,wght.ttf";
/***/ }),
/***/ "./src/shared/assets/fonts/Siemreap-Regular.ttf":
/*!******************************************************!*\
!*** ./src/shared/assets/fonts/Siemreap-Regular.ttf ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__.p + "assets/images/Siemreap-Regular.ttf";
/***/ }),
/***/ "./src/shared/assets/images/team.png":
/*!*******************************************!*\
!*** ./src/shared/assets/images/team.png ***!
\*******************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__.p + "assets/images/team.png";
/***/ }),
/***/ "./src/shared/assets/logos/logo.png":
/*!******************************************!*\
!*** ./src/shared/assets/logos/logo.png ***!
\******************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
module.exports = __webpack_require__.p + "assets/images/logo.png";
/***/ }),
/***/ "./src/shared/components/footer/footer-component.tsx":
/*!***********************************************************!*\
!*** ./src/shared/components/footer/footer-component.tsx ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
var Footer = antd_es_layout__WEBPACK_IMPORTED_MODULE_2__["default"].Footer;
var FooterComponent = function FooterComponent() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(Footer, {
style: {
background: '#f5f5f5',
padding: '24px',
textAlign: 'center'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_0__["default"], {
gutter: [16, 16]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], {
xs: 24,
sm: 12,
md: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "About Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Learn more about our mission and values.")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], {
xs: 24,
sm: 12,
md: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "Contact"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Email: support@gmail.com"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Phone: +855 123 456 7890")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], {
xs: 24,
sm: 12,
md: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "Follow Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("a", {
href: "",
target: "_blank",
rel: "#"
}, "#")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("div", {
style: {
marginTop: '16px'
}
}, "\xA9 ", new Date().getFullYear(), " #"));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FooterComponent);
/***/ }),
/***/ "./src/shared/configs/config.ts":
/*!**************************************!*\
!*** ./src/shared/configs/config.ts ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
// env: process.env.NODE_ENV,
env: 'development',
// asset_url: process.env.S3IMAGESBUCKET,
asset_url: '',
api_url: "https://volunteerapi.joonaakhub.com",
upload_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.102.2","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.TcDXvxTXa2/Listeners","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.MEDIA_API,
socket_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.102.2","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.TcDXvxTXa2/Listeners","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.SOCKER_SERVER,
notification_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.102.2","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.TcDXvxTXa2/Listeners","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.NOTIFICATION,
AWS_ACCESS_KEY_ID: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.102.2","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.TcDXvxTXa2/Listeners","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.102.2","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.TcDXvxTXa2/Listeners","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_SECRET_ACCESS_KEY,
REACT_APP_API_TOKEN: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.102.2","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.TcDXvxTXa2/Listeners","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.REACT_APP_API_TOKEN,
S3_BUCKET: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","TERM_PROGRAM_VERSION":"1.102.2","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.TcDXvxTXa2/Listeners","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"80279D7D-738D-4FAD-91AF-8C7FEFDE4904","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"en_US.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","INFOPATH":"/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","SECURITYSESSIONID":"186a3","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"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"}.S3_BUCKET,
firebase_config_headers: {},
limit: 10,
wallet_limit: 10000,
websocketEvent: {
DRIVER_LIVE_LOCATION: 'DRIVER_LIVE_LOCATION',
UPDATE_JN_WALLET: 'UPDATE_JN_WALLET',
CASH_IN_SUCCESS: 'CASH_IN_SUCCESS',
CASH_OUT_SUCCESS: 'CASH_OUT_SUCCESS',
NO_DRIVER_AVAILABLE: 'NO_DRIVER_AVAILABLE',
PACKAGE_TRACKING: 'PACKAGE_TRACKING'
},
defaultAdminAccount: 'DEFAULT_ADMIN_ACCOUNT_ID',
telegramId: {
dev: '-1001136284557',
devLogger: '-1001495616386',
expressHub: '-1001136284557',
expressMerchant: '-1001136284557',
expressFinance: '-1001136284557',
expressDriver: '-1001136284557'
}
});
/***/ }),
/***/ "./src/shared/configs/constants.ts":
/*!*****************************************!*\
!*** ./src/shared/configs/constants.ts ***!
\*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ AUTH_LOGIN: () => (/* binding */ AUTH_LOGIN),
/* harmony export */ CURRENCY_TYPE: () => (/* binding */ CURRENCY_TYPE),
/* harmony export */ LOGIN_FAILED: () => (/* binding */ LOGIN_FAILED),
/* harmony export */ START_LOGIN: () => (/* binding */ START_LOGIN),
/* harmony export */ URL: () => (/* binding */ URL)
/* harmony export */ });
var START_LOGIN = 'START_LOGIN';
var AUTH_LOGIN = 'AUTH_LOGIN';
var LOGIN_FAILED = 'LOGIN_FAILED';
var URL = {
LOGIN: '/auth/login',
LOGIN_TELEGRAM: '/auth/login',
VERIFY_TOP: 'api/v1/verify',
SIGNUP: 'auth/register',
DISABILITY_TYPE: 'disability-types/',
PROVINCE: 'provinces/',
OCCUPATION: 'occupations/',
EDUCATION_INSTITUTION: 'education-institutions/',
FOODS: 'foods/',
FOOD: 'foods/',
FAMILIES: 'families/',
TRANSPORTATIONS: 'transportations/',
TEAM: 'interested-teams/',
EVENT: 'volunteer-events/',
SOURCE: 'opportunity-sources/',
TRAINING_SESSION: 'training-sessions/',
LANGUAGE: 'languages/',
SKILL: 'skills/',
TERMS_CONDITION: 'terms-conditions/',
VOLUNTEER_EVENT: 'volunteer-events/',
VOLUNTEERS: 'volunteers/',
DASHBOARD: 'dashboard/',
OFFER_PROGRAM: 'offer-programs/',
TRAVEL_DAY: 'travel-days/',
USER: 'users/',
PUBLIC: 'public/',
NOTIFY: 'notify/send/telegram',
NOTIFY_STATUS: 'notify/send/status',
USER_ATTENDANCE: '/user-attendances/'
};
var CURRENCY_TYPE = {
USD: 'USD',
KHR: 'KHR'
};
/***/ }),
/***/ "./src/shared/container/dialogs/loading-dialog.tsx":
/*!*********************************************************!*\
!*** ./src/shared/container/dialogs/loading-dialog.tsx ***!
\*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var antd_es_spin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/spin */ "../../../node_modules/antd/lib/spin/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
var LoadingDialog = /*#__PURE__*/function (_React$Component) {
function LoadingDialog() {
_classCallCheck(this, LoadingDialog);
return _callSuper(this, LoadingDialog, arguments);
}
_inherits(LoadingDialog, _React$Component);
return _createClass(LoadingDialog, [{
key: "render",
value: function render() {
var visible = this.props.visible;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_0__["default"], {
width: 200,
visible: visible,
centered: true,
footer: null,
closable: false
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
style: {
display: 'flex',
flexDirection: 'column',
justifyContent: 'center',
alignItems: 'center',
marginTop: 20
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_spin__WEBPACK_IMPORTED_MODULE_1__["default"], {
size: "large"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("p", {
style: {
textAlign: 'center',
marginTop: '1rem'
}
}, "Loading...")));
}
}]);
}((react__WEBPACK_IMPORTED_MODULE_2___default().Component));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoadingDialog);
/***/ }),
/***/ "./src/shared/core/base/services.ts":
/*!******************************************!*\
!*** ./src/shared/core/base/services.ts ***!
\******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ getWithConfig: () => (/* binding */ getWithConfig),
/* harmony export */ postUpload: () => (/* binding */ postUpload),
/* harmony export */ postWithConfig: () => (/* binding */ postWithConfig),
/* harmony export */ postWithConfigFormData: () => (/* binding */ postWithConfigFormData),
/* harmony export */ postWithConfigWhitelist: () => (/* binding */ postWithConfigWhitelist),
/* harmony export */ pushNotification: () => (/* binding */ pushNotification),
/* harmony export */ pushNotificationAllApp: () => (/* binding */ pushNotificationAllApp),
/* harmony export */ putWithConfig: () => (/* binding */ putWithConfig),
/* harmony export */ removeWithConfig: () => (/* binding */ removeWithConfig)
/* harmony export */ });
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "../../../node_modules/axios/lib/axios.js");
/* harmony import */ var _configs_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../configs/config */ "./src/shared/configs/config.ts");
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
/* eslint-disable no-console */
/**
* Helper function to make GET requests with token authorization and optional parameters.
*
* @param url - The API endpoint.
* @param params - Optional query parameters.
* @param success - Callback function to handle success response.
* @param failed - Callback function to handle error response.
*/
// Ensure axiosInstance is configured properly
var axiosInstance = axios__WEBPACK_IMPORTED_MODULE_0__["default"].create({
baseURL: _configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].api_url,
timeout: 100000 // Example timeout
});
var getWithConfig = /*#__PURE__*/function () {
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(url, params, success, failed) {
var token, configs, response, _err$response$data$me, _err$response, _err$response$data$er, _err$response2, message, error, _t;
return _regenerator().w(function (_context) {
while (1) switch (_context.p = _context.n) {
case 0:
_context.p = 0;
token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA";
configs = {
headers: {
Authorization: token ? "Bearer ".concat(token) : "",
// ✅ Fixed incorrect conditional
Accept: "application/json"
},
params: params
};
_context.n = 1;
return axiosInstance.get(url, configs);
case 1:
response = _context.v;
success === null || success === void 0 || success(response.data);
return _context.a(2, response.data);
case 2:
_context.p = 2;
_t = _context.v;
console.error("Axios GET request failed:", _t);
message = (_err$response$data$me = (_err$response = _t.response) === null || _err$response === void 0 || (_err$response = _err$response.data) === null || _err$response === void 0 ? void 0 : _err$response.message) !== null && _err$response$data$me !== void 0 ? _err$response$data$me : "Unknown error!";
error = (_err$response$data$er = (_err$response2 = _t.response) === null || _err$response2 === void 0 || (_err$response2 = _err$response2.data) === null || _err$response2 === void 0 ? void 0 : _err$response2.error) !== null && _err$response$data$er !== void 0 ? _err$response$data$er : "Unknown error!";
console.error({
error: error
});
failed === null || failed === void 0 || failed(message);
return _context.a(2, undefined);
}
}, _callee, null, [[0, 2]]);
}));
return function getWithConfig(_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
};
}();
/**
* Helper function to make POST requests with token authorization.
*
* @param url - The API endpoint.
* @param data - The request payload.
* @returns A promise with the response data.
*/
var postWithConfig = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(url, data) {
var _sessionStorage$getIt;
var token, headers, config, response, _t2;
return _regenerator().w(function (_context2) {
while (1) switch (_context2.p = _context2.n) {
case 0:
token = (_sessionStorage$getIt = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt !== void 0 ? _sessionStorage$getIt : '';
headers = {
'Content-Type': 'application/json',
Accept: 'application/json'
};
if (token) {
headers['Authorization'] = "Bearer ".concat(token);
}
config = {
headers: headers
};
_context2.p = 1;
console.log('posed========= : ', data);
_context2.n = 2;
return axiosInstance.post(url, data, config);
case 2:
response = _context2.v;
return _context2.a(2, response.data);
case 3:
_context2.p = 3;
_t2 = _context2.v;
console.error('POST request error:', _t2);
throw _t2;
case 4:
return _context2.a(2);
}
}, _callee2, null, [[1, 3]]);
}));
return function postWithConfig(_x5, _x6) {
return _ref2.apply(this, arguments);
};
}();
var postWithConfigFormData = /*#__PURE__*/function () {
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(url, data) {
var _sessionStorage$getIt2;
var token, headers, config, response, _t3;
return _regenerator().w(function (_context3) {
while (1) switch (_context3.p = _context3.n) {
case 0:
token = (_sessionStorage$getIt2 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt2 !== void 0 ? _sessionStorage$getIt2 : '';
console.log('formData ', data);
headers = {
'Content-Type': 'multipart/form-data',
Accept: 'application/json'
};
if (token) {
headers['Authorization'] = "Bearer ".concat(token);
}
config = {
headers: headers
};
_context3.p = 1;
_context3.n = 2;
return axiosInstance.post(url, data, config);
case 2:
response = _context3.v;
return _context3.a(2, response.data);
case 3:
_context3.p = 3;
_t3 = _context3.v;
console.error('POST request error:', _t3);
throw _t3;
case 4:
return _context3.a(2);
}
}, _callee3, null, [[1, 3]]);
}));
return function postWithConfigFormData(_x7, _x8) {
return _ref3.apply(this, arguments);
};
}();
/**
* Helper function to make POST requests with token authorization.
*
* @param url - The API endpoint.
* @param data - The request payload.
* @returns A promise with the response data.
*/
var postWithConfigWhitelist = /*#__PURE__*/function () {
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(url, data) {
var token, storedUser, user, headers, config, expertiseStr, response, _t4;
return _regenerator().w(function (_context4) {
while (1) switch (_context4.p = _context4.n) {
case 0:
token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA";
storedUser = sessionStorage.getItem('currentUser');
user = storedUser ? JSON.parse(storedUser) : null; // ✅ Prevents
headers = {
'Content-Type': 'application/json',
Accept: 'application/json'
};
if (token) {
headers['Authorization'] = "Bearer ".concat(token);
}
config = {
headers: headers
};
_context4.p = 1;
// Ensure required fields are included in the request payload
data.phone_number = data.phone_number ? "+".concat(data.phone_number.countryCode, " ").concat(data.phone_number.areaCode, " ").concat(data.phone_number.phoneNumber) : undefined;
data.terms_conditions_id = 2;
data.volunteer_status = "Register";
data.user_id = user.id;
expertiseStr = data.expertise.toString();
data.expertise = expertiseStr;
_context4.n = 2;
return axiosInstance.post(url, data, config);
case 2:
response = _context4.v;
return _context4.a(2, response.data);
case 3:
_context4.p = 3;
_t4 = _context4.v;
console.error('POST request error:', _t4);
throw _t4;
case 4:
return _context4.a(2);
}
}, _callee4, null, [[1, 3]]);
}));
return function postWithConfigWhitelist(_x9, _x0) {
return _ref4.apply(this, arguments);
};
}();
/**
* Helper function to make DELETE requests with token authorization and optional data.
*
* @param url - The API endpoint.
* @param data - Optional payload for the DELETE request.
* @param success - Callback function to handle success response.
* @param failed - Callback function to handle error response.
*/
var removeWithConfig = /*#__PURE__*/function () {
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(url, data, success, failed) {
var _sessionStorage$getIt3;
var token, configs, response, _err$response$data$me2, _err$response3, message, _t5;
return _regenerator().w(function (_context5) {
while (1) switch (_context5.p = _context5.n) {
case 0:
token = (_sessionStorage$getIt3 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt3 !== void 0 ? _sessionStorage$getIt3 : '';
if (!(token === '')) {
_context5.n = 1;
break;
}
failed === null || failed === void 0 || failed('Token is missing.');
return _context5.a(2);
case 1:
configs = {
headers: {
Authorization: "Bearer ".concat(token) ? "Bearer ".concat(token) : 0,
// Ensure correct Bearer format
'Content-Type': 'application/json',
Accept: 'application/json'
},
data: data !== null && data !== void 0 ? data : {}
};
_context5.p = 2;
_context5.n = 3;
return axiosInstance["delete"](url, configs);
case 3:
response = _context5.v;
success === null || success === void 0 || success(response.data);
_context5.n = 5;
break;
case 4:
_context5.p = 4;
_t5 = _context5.v;
message = (_err$response$data$me2 = (_err$response3 = _t5.response) === null || _err$response3 === void 0 || (_err$response3 = _err$response3.data) === null || _err$response3 === void 0 ? void 0 : _err$response3.message) !== null && _err$response$data$me2 !== void 0 ? _err$response$data$me2 : 'Unknown error!';
failed === null || failed === void 0 || failed(message);
case 5:
return _context5.a(2);
}
}, _callee5, null, [[2, 4]]);
}));
return function removeWithConfig(_x1, _x10, _x11, _x12) {
return _ref5.apply(this, arguments);
};
}();
/**
* Helper function to make PUT requests with token authorization.
*
* @param url - The API endpoint.
* @param data - The request payload.
* @param success - Callback function to handle success response.
* @param failed - Callback function to handle error response.
*/
var putWithConfig = /*#__PURE__*/function () {
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(url, data) {
var token, configs, response, _t6;
return _regenerator().w(function (_context6) {
while (1) switch (_context6.p = _context6.n) {
case 0:
token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA";
if (token) {
_context6.n = 1;
break;
}
throw new Error("Token is missing.");
case 1:
configs = {
headers: {
Authorization: "Bearer ".concat(token),
Accept: "application/json"
}
};
_context6.p = 2;
_context6.n = 3;
return axiosInstance.put(url, data, configs);
case 3:
response = _context6.v;
return _context6.a(2, response.data);
case 4:
_context6.p = 4;
_t6 = _context6.v;
throw _t6;
case 5:
return _context6.a(2);
}
}, _callee6, null, [[2, 4]]);
}));
return function putWithConfig(_x13, _x14) {
return _ref6.apply(this, arguments);
};
}();
/**
* Function to upload files.
*
* @param data - The file data to upload.
* @returns A promise with the response data.
*/
var postUpload = /*#__PURE__*/function () {
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(data) {
var url, configure, response, _t7;
return _regenerator().w(function (_context7) {
while (1) switch (_context7.p = _context7.n) {
case 0:
_context7.p = 0;
url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].upload_url, "/media/file");
configure = {
headers: {
token: '949b71ef-a5d2-4a3c-8a95-d77bb7fb2ff4',
'Content-Type': 'multipart/form-data'
}
};
_context7.n = 1;
return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure);
case 1:
response = _context7.v;
return _context7.a(2, response.data);
case 2:
_context7.p = 2;
_t7 = _context7.v;
console.log(_t7);
case 3:
return _context7.a(2);
}
}, _callee7, null, [[0, 2]]);
}));
return function postUpload(_x15) {
return _ref7.apply(this, arguments);
};
}();
/**
* Function to push notifications to a specific recipient.
*
* @param recipient - The topic or currentUser ID.
* @param title - The notification title.
* @param messageBody - The body of the notification.
* @param isDriver - Indicates whether the recipient is a driver.
* @param photo - Optional photo URL for the notification.
* @param failed - Callback function to handle error response.
*/
var pushNotification = /*#__PURE__*/function () {
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(recipient, title, messageBody, isDriver, photo, failed) {
var url, headers, configure, data, response, _err$response$data$me3, _err$response4, message, _t8;
return _regenerator().w(function (_context8) {
while (1) switch (_context8.p = _context8.n) {
case 0:
url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].notification_url, "notification/");
headers = isDriver ? {
'Driver-Header': 'true'
} : {};
configure = {
headers: headers
};
data = {
topic_name: recipient,
message_title: title,
message_body: messageBody,
photo: photo
};
_context8.p = 1;
_context8.n = 2;
return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure);
case 2:
response = _context8.v;
_context8.n = 4;
break;
case 3:
_context8.p = 3;
_t8 = _context8.v;
message = (_err$response$data$me3 = (_err$response4 = _t8.response) === null || _err$response4 === void 0 || (_err$response4 = _err$response4.data) === null || _err$response4 === void 0 ? void 0 : _err$response4.message) !== null && _err$response$data$me3 !== void 0 ? _err$response$data$me3 : 'Unknown error!';
failed === null || failed === void 0 || failed(message);
case 4:
return _context8.a(2);
}
}, _callee8, null, [[1, 3]]);
}));
return function pushNotification(_x16, _x17, _x18, _x19, _x20, _x21) {
return _ref8.apply(this, arguments);
};
}();
/**
* Function to push notifications to all users in the app.
*
* @param data - The notification payload.
* @returns A promise with the response data.
*/
var pushNotificationAllApp = /*#__PURE__*/function () {
var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(data) {
var url, configure, response, _t9;
return _regenerator().w(function (_context9) {
while (1) switch (_context9.p = _context9.n) {
case 0:
url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].notification_url, "notification/");
configure = {
headers: {}
};
_context9.p = 1;
_context9.n = 2;
return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure);
case 2:
response = _context9.v;
return _context9.a(2, response.data);
case 3:
_context9.p = 3;
_t9 = _context9.v;
throw new Error('Notification failed');
case 4:
return _context9.a(2);
}
}, _callee9, null, [[1, 3]]);
}));
return function pushNotificationAllApp(_x22) {
return _ref9.apply(this, arguments);
};
}();
/***/ }),
/***/ "./src/shared/redux/store.ts":
/*!***********************************!*\
!*** ./src/shared/redux/store.ts ***!
\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ store: () => (/* binding */ store)
/* harmony export */ });
/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs");
/* harmony import */ var _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../services/authentication/login/core/reducer */ "./src/services/authentication/login/core/reducer.ts");
/* harmony import */ var _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/volunteer/core/reducer */ "./src/services/volunteer/core/reducer.ts");
/* harmony import */ var _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/disability_type/core/reducer */ "./src/services/disability_type/core/reducer.ts");
/* harmony import */ var _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/education_institution/core/reducer */ "./src/services/education_institution/core/reducer.ts");
/* harmony import */ var _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/food/core/reducer */ "./src/services/food/core/reducer.ts");
/* harmony import */ var _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/interested_team/core/reducer */ "./src/services/interested_team/core/reducer.ts");
/* harmony import */ var _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/occupation/core/reducer */ "./src/services/occupation/core/reducer.ts");
/* harmony import */ var _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/opportunity_source/core/reducer */ "./src/services/opportunity_source/core/reducer.ts");
/* harmony import */ var _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/province/core/reducer */ "./src/services/province/core/reducer.ts");
/* harmony import */ var _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/skill/core/reducer */ "./src/services/skill/core/reducer.ts");
/* harmony import */ var _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/terms_condition/core/reducer */ "./src/services/terms_condition/core/reducer.ts");
/* harmony import */ var _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/training_session/core/reducer */ "./src/services/training_session/core/reducer.ts");
/* harmony import */ var _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/volunteer_event/core/reducer */ "./src/services/volunteer_event/core/reducer.ts");
/* harmony import */ var _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/language/core/reducer */ "./src/services/language/core/reducer.ts");
/* harmony import */ var _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../services/user/core/reducer */ "./src/services/user/core/reducer.ts");
/* harmony import */ var _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../services/offer_program/core/reducer */ "./src/services/offer_program/core/reducer.ts");
/* harmony import */ var _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../services/travel_day/core/reducer */ "./src/services/travel_day/core/reducer.ts");
/* harmony import */ var _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../services/user_attendance/core/reducer */ "./src/services/user_attendance/core/reducer.ts");
/* harmony import */ var _services_family_survey_core_reducer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../services/family_survey/core/reducer */ "./src/services/family_survey/core/reducer.ts");
var store = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.configureStore)({
reducer: {
auth: _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__["default"],
volunteer: _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_2__["default"],
disabilityType: _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_3__["default"],
educationInstitution: _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_4__["default"],
food: _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_5__["default"],
interestedTeam: _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_6__["default"],
occupation: _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_7__["default"],
opportunitySource: _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_8__["default"],
province: _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_9__["default"],
language: _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_14__["default"],
skill: _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_10__["default"],
termsCondition: _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_11__["default"],
trainingSession: _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_12__["default"],
volunteerEvent: _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_13__["default"],
user: _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_15__["default"],
offerProgram: _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_16__["default"],
travelDay: _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_17__["default"],
userAttendance: _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_18__["default"],
familiSurvey: _services_family_survey_core_reducer__WEBPACK_IMPORTED_MODULE_19__["default"]
},
devTools: "development" !== 'production'
});
/***/ }),
/***/ "./src/shared/routes/index.tsx":
/*!*************************************!*\
!*** ./src/shared/routes/index.tsx ***!
\*************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _views_main_home_main__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../views/main/home/main */ "./src/shared/views/main/home/main.tsx");
/* harmony import */ var _views_login_login__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../views/login/login */ "./src/shared/views/login/login.tsx");
/* harmony import */ var _views_not_found_not_found__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../views/not-found/not-found */ "./src/shared/views/not-found/not-found.tsx");
/* harmony import */ var _protected_route__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protected-route */ "./src/shared/routes/protected-route.tsx");
/* harmony import */ var _views_volunteer_volunteer_register__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../views/volunteer/volunteer-register */ "./src/shared/views/volunteer/volunteer-register.tsx");
/* harmony import */ var _views_login_auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../views/login/auth */ "./src/shared/views/login/auth.tsx");
/* harmony import */ var _views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../views/login/attendance_qr */ "./src/shared/views/login/attendance_qr.tsx");
/* harmony import */ var _services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/authentication/login/pages/attendance_verification */ "./src/services/authentication/login/pages/attendance_verification.tsx");
// Required for JSX
var AppRoutes = function AppRoutes() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Routes, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/login",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_login__WEBPACK_IMPORTED_MODULE_3__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/auth",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_auth__WEBPACK_IMPORTED_MODULE_7__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/attendance",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_9__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/qr",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_8__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/*",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_main_home_main__WEBPACK_IMPORTED_MODULE_2__["default"], null))
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/register",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_volunteer_volunteer_register__WEBPACK_IMPORTED_MODULE_6__["default"], null))
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "*",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_not_found_not_found__WEBPACK_IMPORTED_MODULE_4__["default"], null)
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AppRoutes);
/***/ }),
/***/ "./src/shared/routes/protected-route.tsx":
/*!***********************************************!*\
!*** ./src/shared/routes/protected-route.tsx ***!
\***********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
var ProtectedRoute = function ProtectedRoute(_ref) {
var children = _ref.children;
var accessToken = sessionStorage.getItem('token');
var storedUser = sessionStorage.getItem('currentUser');
var user = null;
if (storedUser) {
try {
user = JSON.parse(storedUser);
} catch (error) {
console.error('Error parsing currentUser from sessionStorage:', error);
}
}
console.log('Parsed user:', user);
// Check for a valid token and that the user's role is not "USER"
var isAuthenticated = Boolean(accessToken && accessToken.length > 0 && user);
return isAuthenticated ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Navigate, {
to: "/login"
});
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProtectedRoute);
/***/ }),
/***/ "./src/shared/views/family_survey/FamilySurveyForm.tsx":
/*!*************************************************************!*\
!*** ./src/shared/views/family_survey/FamilySurveyForm.tsx ***!
\*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/checkbox */ "../../../node_modules/antd/lib/checkbox/index.js");
/* harmony import */ var antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/index.js");
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_tag__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/tag */ "../../../node_modules/antd/lib/tag/index.js");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js");
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../services/family_survey/core/actions */ "./src/services/family_survey/core/actions.ts");
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var Option = antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"].Option;
// Add interfaces
// Update storage key
var STORAGE_KEY = {
LOCATION_CHAINS: 'family_survey_location_chains',
LAST_SELECTION: 'family_survey_last_selection'
};
var FamilySurveyForm = function FamilySurveyForm(_ref) {
var isViewMode = _ref.isViewMode,
initialValues = _ref.initialValues;
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_13__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_14__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
savedLocationChains = _useState2[0],
setSavedLocationChains = _useState2[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_13__.useSelector)(function (state) {
return state.familiSurvey || {};
}),
_useSelector$province = _useSelector.provinces,
provinces = _useSelector$province === void 0 ? [] : _useSelector$province,
_useSelector$district = _useSelector.districts,
districts = _useSelector$district === void 0 ? [] : _useSelector$district,
_useSelector$communes = _useSelector.communes,
communes = _useSelector$communes === void 0 ? [] : _useSelector$communes,
_useSelector$villages = _useSelector.villages,
villages = _useSelector$villages === void 0 ? [] : _useSelector$villages,
_useSelector$transpor = _useSelector.transportations,
transportations = _useSelector$transpor === void 0 ? [] : _useSelector$transpor,
familySurvey = _useSelector.familySurvey,
registerPending = _useSelector.registerPending,
registerErrorMessage = _useSelector.registerErrorMessage;
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(false),
_useState4 = _slicedToArray(_useState3, 2),
isClick = _useState4[0],
setIsClick = _useState4[1];
// 👉 Fetch data when editing or reset form when adding
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (id) {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.familyDetailAction)(Number(id)));
} else {
form.resetFields(); // Reset form fields when adding a new item
}
}, [dispatch, id, form]);
// 👉 Populate form with fetched data
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (id && familySurvey) {
form.setFieldsValue({
name: familySurvey.name || '',
phone: familySurvey.phone || '',
gender: familySurvey.gender || '',
age: familySurvey.age || 0,
province: familySurvey.province || '',
district: familySurvey.district || '',
commune: familySurvey.commune || '',
village: familySurvey.village || '',
total_member: familySurvey.total_member || 0,
member_male: familySurvey.member_male || 0,
member_female: familySurvey.member_female || 0,
total_pregnant: familySurvey.total_pregnant || 0,
total_baby: familySurvey.total_baby || 0,
baby_male: familySurvey.baby_male || 0,
baby_female: familySurvey.baby_female || 0,
total_child: familySurvey.total_child || 0,
child_male: familySurvey.child_male || 0,
child_female: familySurvey.child_female || 0,
is_disabled: familySurvey.is_disabled || false,
is_old_age: familySurvey.is_old_age || false,
transportation_id: familySurvey.transportation_id || null,
note: familySurvey.note || ''
});
}
}, [familySurvey, form, id]);
// 👉 Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (!registerPending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/family-survey');
}
}
}, [registerPending, registerErrorMessage, id, isClick, navigate]);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchProvince)());
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchTransportation)());
}, [dispatch]);
// Load saved location chains on mount
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
var savedChains = localStorage.getItem(STORAGE_KEY.LOCATION_CHAINS);
if (savedChains) {
var chains = JSON.parse(savedChains);
setSavedLocationChains(chains);
// Auto-select most recent location chain
var mostRecent = chains[0];
if (mostRecent) {
autoSelectLocationChain(mostRecent);
}
}
}, []);
var handleCountTotalChange = function handleCountTotalChange(type, value) {
if (type === 'member') {
if (!value) {
form.setFieldsValue({
member_male: 0,
member_female: 0
});
} else {
var male = form.getFieldValue('member_male') || 0;
var female = form.getFieldValue('member_female') || 0;
if (male > 0 && male <= value) {
form.setFieldsValue({
member_female: value - male
});
} else if (female > 0 && female <= value) {
form.setFieldsValue({
member_male: value - female
});
}
}
}
if (type === 'baby') {
if (!value) {
form.setFieldsValue({
baby_male: 0,
baby_female: 0
});
} else {
var _male = form.getFieldValue('baby_male') || 0;
var _female = form.getFieldValue('baby_female') || 0;
if (_male > 0 && _male <= value) {
form.setFieldsValue({
baby_female: value - _male
});
} else if (_female > 0 && _female <= value) {
form.setFieldsValue({
baby_male: value - _female
});
}
}
}
if (type === 'child') {
if (!value) {
form.setFieldsValue({
child_male: 0,
child_female: 0
});
} else {
var _male2 = form.getFieldValue('child_male') || 0;
var _female2 = form.getFieldValue('child_female') || 0;
if (_male2 > 0 && _male2 <= value) {
form.setFieldsValue({
child_female: value - _male2
});
} else if (_female2 > 0 && _female2 <= value) {
form.setFieldsValue({
child_male: value - _female2
});
}
}
}
};
var handleCountGenderChange = function handleCountGenderChange(type, gender, value) {
var totalField = {
member: 'total_member',
baby: 'total_baby',
child: 'total_child'
}[type];
var total = form.getFieldValue(totalField) || 0;
if (total === 0) {
form.setFieldsValue(_defineProperty(_defineProperty({}, "".concat(type, "_male"), 0), "".concat(type, "_female"), 0));
return;
}
if (value > total) {
antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].warning("Gender count cannot exceed total.");
form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender), total));
form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender === 'male' ? 'female' : 'male'), 0));
return;
}
form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender === 'male' ? 'female' : 'male'), total - value));
};
// 👉 Handle form submit
var handleSubmit = function handleSubmit(values) {
if (id) {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.updateFamilyAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.createFamilyAction)({
data: values
}));
form.resetFields();
}
setIsClick(true);
};
var autoSelectLocationChain = function autoSelectLocationChain(locationChain) {
// Set province and fetch districts
if (locationChain.province) {
var provinceValue = "".concat(locationChain.province.id, ",").concat(locationChain.province.name);
form.setFieldsValue({
province: provinceValue
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchDistrict)({
id: Number(locationChain.province.id)
}));
// Set district and fetch communes
if (locationChain.district) {
var districtValue = "".concat(locationChain.district.id, ",").concat(locationChain.district.name);
form.setFieldsValue({
district: districtValue
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchCommune)({
id: Number(locationChain.district.id)
}));
// Set commune and fetch villages
if (locationChain.commune) {
var communeValue = "".concat(locationChain.commune.id, ",").concat(locationChain.commune.name);
form.setFieldsValue({
commune: communeValue
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchVillageService)({
id: Number(locationChain.commune.id)
}));
// Set village if exists
if (locationChain.village) {
var villageValue = "".concat(locationChain.village.id, ",").concat(locationChain.village.name);
form.setFieldsValue({
village: villageValue
});
}
}
}
}
};
var saveLocationChain = function saveLocationChain(newChain) {
var updatedChain = _objectSpread(_objectSpread({}, newChain), {}, {
timestamp: new Date().toISOString()
});
// Keep only unique chains, limited to 5 most recent
var existingChains = savedLocationChains.filter(function (chain) {
var _updatedChain$provinc, _chain$district, _updatedChain$distric, _chain$commune, _updatedChain$commune;
return chain.province.id !== ((_updatedChain$provinc = updatedChain.province) === null || _updatedChain$provinc === void 0 ? void 0 : _updatedChain$provinc.id) || ((_chain$district = chain.district) === null || _chain$district === void 0 ? void 0 : _chain$district.id) !== ((_updatedChain$distric = updatedChain.district) === null || _updatedChain$distric === void 0 ? void 0 : _updatedChain$distric.id) || ((_chain$commune = chain.commune) === null || _chain$commune === void 0 ? void 0 : _chain$commune.id) !== ((_updatedChain$commune = updatedChain.commune) === null || _updatedChain$commune === void 0 ? void 0 : _updatedChain$commune.id);
});
var newChains = [updatedChain].concat(_toConsumableArray(existingChains)).slice(0, 5);
setSavedLocationChains(newChains);
localStorage.setItem(STORAGE_KEY.LOCATION_CHAINS, JSON.stringify(newChains));
};
var handleProvinceChange = function handleProvinceChange(value) {
if (!value) return;
var _value$split = value.split(","),
_value$split2 = _slicedToArray(_value$split, 2),
provinceId = _value$split2[0],
provinceName = _value$split2[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchDistrict)({
id: Number(provinceId.trim())
}));
form.setFieldsValue({
district: undefined,
commune: undefined,
village: undefined
});
saveLocationChain({
province: {
id: provinceId.trim(),
name: provinceName.trim()
}
});
};
var handleDistrictChange = function handleDistrictChange(value) {
var _form$getFieldValue;
if (!value) return;
var _value$split3 = value.split(","),
_value$split4 = _slicedToArray(_value$split3, 2),
districtId = _value$split4[0],
districtName = _value$split4[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchCommune)({
id: Number(districtId.trim())
}));
form.setFieldsValue({
commune: undefined,
village: undefined
});
var currentProvince = (_form$getFieldValue = form.getFieldValue('province')) === null || _form$getFieldValue === void 0 ? void 0 : _form$getFieldValue.split(',');
if (currentProvince) {
saveLocationChain({
province: {
id: currentProvince[0].trim(),
name: currentProvince[1].trim()
},
district: {
id: districtId.trim(),
name: districtName.trim()
}
});
}
};
var handleCommuneChange = function handleCommuneChange(value) {
var _form$getFieldValue2, _form$getFieldValue3;
if (!value) return;
var _value$split5 = value.split(","),
_value$split6 = _slicedToArray(_value$split5, 2),
communeId = _value$split6[0],
communeName = _value$split6[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchVillageService)({
id: Number(communeId.trim())
}));
form.setFieldsValue({
village: undefined
});
var currentProvince = (_form$getFieldValue2 = form.getFieldValue('province')) === null || _form$getFieldValue2 === void 0 ? void 0 : _form$getFieldValue2.split(',');
var currentDistrict = (_form$getFieldValue3 = form.getFieldValue('district')) === null || _form$getFieldValue3 === void 0 ? void 0 : _form$getFieldValue3.split(',');
if (currentProvince && currentDistrict) {
saveLocationChain({
province: {
id: currentProvince[0].trim(),
name: currentProvince[1].trim()
},
district: {
id: currentDistrict[0].trim(),
name: currentDistrict[1].trim()
},
commune: {
id: communeId.trim(),
name: communeName.trim()
}
});
}
};
var handleCancel = function handleCancel() {
form.resetFields();
localStorage.removeItem(STORAGE_KEY.LAST_SELECTION);
navigate('/family-survey');
};
var QuickFill = function QuickFill() {
var mostRecent = savedLocationChains[0];
if (!mostRecent) return null;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
marginBottom: 16
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
align: "center"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1791\u17B8\u178F\u17B6\u17C6\u1784\u1790\u17D2\u1798\u17B8\u17D7 / Recent location:"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_tag__WEBPACK_IMPORTED_MODULE_8__["default"], {
color: "blue"
}, mostRecent.province.name, mostRecent.district && " > ".concat(mostRecent.district.name), mostRecent.commune && " > ".concat(mostRecent.commune.name))));
};
// Auto-select location on mount
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
var savedChains = localStorage.getItem(STORAGE_KEY.LOCATION_CHAINS);
if (savedChains) {
var chains = JSON.parse(savedChains);
setSavedLocationChains(chains);
// Auto-select most recent location chain without user interaction
var mostRecent = chains[0];
if (mostRecent) {
autoSelectLocationChain(mostRecent);
}
}
}, []);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (initialValues && isViewMode) {
form.setFieldsValue(initialValues);
}
}, [initialValues, form, isViewMode]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"], {
form: form,
layout: "vertical",
onFinish: handleSubmit,
disabled: isViewMode,
initialValues: initialValues
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(QuickFill, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7\u1782\u17D2\u179A\u17BD\u179F\u17B6\u179A / Family Name",
name: "name",
rules: [{
required: true,
message: "Please enter family name"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], {
placeholder: "Enter family name"
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179B\u17C1\u1781\u1791\u17BC\u179A\u179F\u17D0\u1796\u17D2\u1791 / Phone",
name: "phone",
rules: [{
required: true,
message: "Please enter phone number"
}, {
pattern: /^[0-9]+$/,
message: "Phone must be numbers only"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], {
placeholder: "Enter phone number"
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1797\u17C1\u1791 / Gender",
name: "gender",
rules: [{
required: true,
message: "Please select gender"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select gender"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
value: "Male"
}, "\u1794\u17D2\u179A\u17BB\u179F / Male"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
value: "Female"
}, "\u179F\u17D2\u179A\u17B8 / Female")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u17A2\u17B6\u1799\u17BB / Age",
name: "age",
rules: [{
required: true,
message: "Please enter age"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "province",
label: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 / Province/City",
rules: [{
required: true
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select Province",
onChange: handleProvinceChange
}, provinces.length ? provinces.filter(function (p) {
return ALLOWED_PROVINCE_IDS.includes(p.id.toString().padStart(2, '0'));
}).map(function (p) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: p.id,
value: "".concat(p.id, ", ").concat(p.name.km, " / ").concat(p.name.latin)
}, "".concat(p.name.km, " / ").concat(p.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No provinces available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "district",
label: "\u179F\u17D2\u179A\u17BB\u1780/\u1781\u178E\u17D2\u178C / District/Khan",
rules: [{
required: true
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select District",
onChange: handleDistrictChange
}, districts.length ? districts.map(function (d) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: d.id,
value: "".concat(d.id, ", ").concat(d.name.km, " / ").concat(d.name.latin)
}, "".concat(d.name.km, " / ").concat(d.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No districts available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "commune",
label: "\u1783\u17BB\u17C6/\u179F\u1784\u17D2\u1780\u17B6\u178F\u17CB / Commune/Sangkat",
rules: [{
required: true
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select Commune",
onChange: handleCommuneChange
}, communes.length ? communes.map(function (c) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: c.id,
value: "".concat(c.id, ", ").concat(c.name.km, " / ").concat(c.name.latin)
}, "".concat(c.name.km, " / ").concat(c.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No communes available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "village",
label: "\u1797\u17BC\u1798\u17B7 / Village"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select Village"
}, villages.length ? villages.map(function (v) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: v.id,
value: "".concat(v.name.km, " / ").concat(v.name.latin)
}, "".concat(v.name.km, " / ").concat(v.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No villages available"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u179A\u17BB\u1794 / Total Members",
name: "total_member",
rules: [{
required: true,
message: "Please enter total member"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountTotalChange('member', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u1794\u17D2\u179A\u17BB\u179F / Male Members",
name: "member_male",
rules: [{
required: true,
message: "Please enter male member"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('member', 'male', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u17D2\u179A\u17B8 / Female Members",
name: "member_female",
rules: [{
required: true,
message: "Please enter female member"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('member', 'female', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u17D2\u179A\u17D2\u178F\u17B8\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7 / Total Pregnant",
name: "total_pregnant"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1791\u17B6\u179A\u1780\u179F\u179A\u17BB\u1794 (< \u17E2\u1786\u17D2\u1793\u17B6\u17C6) / Total Babies (< 2 years)",
name: "total_baby"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountTotalChange('baby', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1791\u17B6\u179A\u1780\u1794\u17D2\u179A\u17BB\u179F / Baby Male",
name: "baby_male"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('baby', 'male', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1791\u17B6\u179A\u1780\u179F\u17D2\u179A\u17B8 / Baby Female",
name: "baby_female"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('baby', 'female', value);
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17BB\u1798\u17B6\u179A\u179F\u179A\u17BB\u1794 (\u17E2-\u17E1\u17E3\u1786\u17D2\u1793\u17B6\u17C6) / Total Children (2-13 years)",
name: "total_child"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountTotalChange('child', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17BB\u1798\u17B6\u179A\u1794\u17D2\u179A\u17BB\u179F / Child Male",
name: "child_male"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('child', 'male', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17BB\u1798\u17B6\u179A\u17B8\u179F\u17D2\u179A\u17B8 / Child Female",
name: "child_female"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('child', 'female', value);
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "is_disabled",
valuePropName: "checked",
initialValue: false
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "\u1798\u17B6\u1793\u1796\u17B7\u1780\u17B6\u179A\u1797\u17B6\u1796 / Disabled"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "is_old_age",
valuePropName: "checked",
initialValue: false
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "\u1798\u17B6\u1793\u1798\u1793\u17BB\u179F\u17D2\u179F\u1785\u17B6\u179F\u17CB / Old Age (> \u17E6\u17E5)")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "transportation_id",
label: "\u1798\u1792\u17D2\u1799\u17C4\u1794\u17B6\u1799\u1792\u17D2\u179C\u17BE\u178A\u17C6\u178E\u17BE\u179A / Transportation"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F\u1798\u1792\u17D2\u1799\u17C4\u1794\u17B6\u1799\u1792\u17D2\u179C\u17BE\u178A\u17C6\u178E\u17BE\u179A / Select transportation",
allowClear: true
}, transportations.map(function (option) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: option.id,
value: option.id
}, option.name);
}))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17C6\u178E\u178F\u17CB\u1785\u17C6\u178E\u17B6\u17C6 / Notes",
name: "note"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"].TextArea, {
rows: 3,
placeholder: "\u1794\u1789\u17D2\u1785\u17BC\u179B\u1780\u17C6\u178E\u178F\u17CB\u1785\u17C6\u178E\u17B6\u17C6\u1794\u1793\u17D2\u1790\u17C2\u1798 / Enter additional notes"
})), !isViewMode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), {
type: "primary",
htmlType: "submit",
loading: registerPending
}, "បញ្ជូន / Submit"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), {
onClick: handleCancel
}, "\u1794\u17C4\u17C7\u1794\u1784\u17CB / Cancel")))));
};
var ALLOWED_PROVINCE_IDS = ['22', '01', '15', '13']; // Kompong Speu, Banteay Mean Chey, Pursat, Preah Vihear
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FamilySurveyForm);
/***/ }),
/***/ "./src/shared/views/family_survey/index.tsx":
/*!**************************************************!*\
!*** ./src/shared/views/family_survey/index.tsx ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EyeOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../services/family_survey/core/actions */ "./src/services/family_survey/core/actions.ts");
/* harmony import */ var _FamilySurveyForm__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./FamilySurveyForm */ "./src/shared/views/family_survey/FamilySurveyForm.tsx");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_19__);
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var FamilyApprovedList = function FamilyApprovedList(_ref) {
var status = _ref.status;
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_16__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_11__.useNavigate)();
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_9__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(1),
_useState2 = _slicedToArray(_useState, 2),
currentPage = _useState2[0],
setCurrentPage = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(20),
_useState4 = _slicedToArray(_useState3, 2),
pageSize = _useState4[0],
setPageSize = _useState4[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_16__.useSelector)(function (state) {
return state.familiSurvey || {};
}),
families = _useSelector.families,
provinces = _useSelector.provinces,
districts = _useSelector.districts,
registerPending = _useSelector.registerPending;
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(false),
_useState6 = _slicedToArray(_useState5, 2),
isModalVisible = _useState6[0],
setIsModalVisible = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""),
_useState8 = _slicedToArray(_useState7, 2),
searchText = _useState8[0],
setSearchText = _useState8[1];
var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(false),
_useState0 = _slicedToArray(_useState9, 2),
isViewMode = _useState0[0],
setIsViewMode = _useState0[1];
var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null),
_useState10 = _slicedToArray(_useState1, 2),
selectedRecord = _useState10[0],
setSelectedRecord = _useState10[1];
var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""),
_useState12 = _slicedToArray(_useState11, 2),
province = _useState12[0],
setProvince = _useState12[1];
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""),
_useState14 = _slicedToArray(_useState13, 2),
district = _useState14[0],
setDistrict = _useState14[1];
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null),
_useState16 = _slicedToArray(_useState15, 2),
totalMember = _useState16[0],
setTotalMember = _useState16[1];
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null),
_useState18 = _slicedToArray(_useState17, 2),
age = _useState18[0],
setAge = _useState18[1];
// extract safely
var dataSource = (families === null || families === void 0 ? void 0 : families.data) || [];
var meta = (families === null || families === void 0 ? void 0 : families.meta) || {
total: 0,
page: 1,
pageSize: 20
};
(0,react__WEBPACK_IMPORTED_MODULE_10__.useEffect)(function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchProvince)());
}, [dispatch]);
// Fetch data with pagination
(0,react__WEBPACK_IMPORTED_MODULE_10__.useEffect)(function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: searchText,
province: province,
district: district,
total_member: totalMember,
age: age,
page: currentPage,
pageSize: pageSize
}));
}, [dispatch, searchText, province, district, totalMember, age, currentPage, pageSize]);
var handleTableChange = function handleTableChange(pagination) {
setCurrentPage(pagination.current);
setPageSize(pagination.pageSize);
};
var handleSearch = function handleSearch() {
setCurrentPage(1); // Reset to first page when searching
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: searchText,
page: 1,
pageSize: pageSize
}));
};
var handleProvinceChange = function handleProvinceChange(value) {
if (!value) return;
setProvince(value);
var _value$split = value.split(","),
_value$split2 = _slicedToArray(_value$split, 2),
provinceId = _value$split2[0],
provinceName = _value$split2[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchDistrict)({
id: Number(provinceId.trim())
}));
};
var handleReset = function handleReset() {
setSearchText("");
setCurrentPage(1);
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: "",
page: 1,
pageSize: pageSize
}));
};
var handleView = function handleView(record) {
setSelectedRecord(record);
setIsModalVisible(true);
setIsViewMode(true);
form.setFieldsValue(record);
};
var handleEdit = function handleEdit(id) {
navigate("/family-survey/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({
title: 'តើអ្នកប្រាកដទេ? / Are you sure?',
text: 'You won\'t be able to revert this!',
icon: 'warning',
showConfirmButton: false,
showCancelButton: false,
html: "\n
\n \n \n
\n ",
didOpen: function didOpen() {
var _Swal$getPopup, _Swal$getPopup2;
var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete');
confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.deleteFamilyAction)(id)).unwrap().then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({
title: 'បានលុប! / Deleted!',
text: 'The family has been deleted.',
icon: 'success'
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: searchText,
page: currentPage,
pageSize: pageSize
}));
})["catch"](function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({
title: 'Error!',
text: 'Failed to delete family.',
icon: 'error'
});
});
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().close();
});
}
});
};
var columns = [{
title: "ល.រ",
key: "no",
width: 60,
render: function render(_, __, index) {
return (currentPage - 1) * pageSize + index + 1;
}
}, {
title: "ឈ្មោះគ្រួសារ",
dataIndex: "name",
key: "name",
width: 120,
ellipsis: true
}, {
title: "លេខទូរស័ព្ទ",
dataIndex: "phone",
key: "phone",
width: 120,
ellipsis: true
}, {
title: "អាសយដ្ឋាន",
key: "address",
width: 200,
render: function render(record) {
return "".concat(record.commune || '', ", ").concat(record.district || '', ", ").concat(record.province || '');
}
}, {
title: "អាយុ",
dataIndex: "age",
key: "age",
width: 60
}, {
title: "សមាជិកសរុប",
dataIndex: "total_member",
key: "total_member",
width: 105
}, {
title: "សមាជិកប្រុស",
dataIndex: "member_male",
key: "member_male",
width: 105
}, {
title: "សមាជិកស្រី",
dataIndex: "member_female",
key: "member_female",
width: 100
}, {
title: "ស្ត្រីមានផ្ទៃពោះ",
dataIndex: "total_pregnant",
key: "total_pregnant",
width: 115
}, {
title: "មានពិការភាព",
dataIndex: "is_disabled",
key: "is_disabled",
width: 105,
render: function render(value) {
return value ? "✓" : "✗";
}
}, {
title: "មានមនុស្សចាស់",
dataIndex: "is_old_age",
key: "is_old_age",
width: 118,
render: function render(value) {
return value ? "✓" : "✗";
}
}, {
title: "សកម្មភាព",
key: "action",
fixed: "right",
width: 150,
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["default"], null),
onClick: function onClick() {
return handleView(record);
},
title: "\u1798\u17BE\u179B / View"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
type: "primary",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null),
onClick: function onClick() {
return handleEdit(record.id);
},
title: "\u1780\u17C2\u1794\u17D2\u179A\u17C2 / Edit"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
danger: true,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null),
onClick: function onClick() {
return handleDelete(record.id);
},
title: "\u179B\u17BB\u1794 / Delete"
}));
}
}];
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("div", {
style: {
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_5__["default"], {
gutter: [16, 16],
justify: "space-between",
align: "middle",
style: {
margin: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u179A\u17BB\u1794 / Total: ", (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780 / Search...",
style: {
width: 200
},
value: searchText,
onChange: function onChange(e) {
return setSearchText(e.target.value);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7 / Filter"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789 / Reset")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/family-survey/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8 / Add New"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_5__["default"], {
gutter: [16, 16],
style: {
margin: '5px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u1781\u17C1\u178F\u17D2\u178F\u200B \u17AC \u1780\u17D2\u179A\u17BB\u1784"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
width: '100%'
},
allowClear: true,
placeholder: "Select a Province or City",
onChange: handleProvinceChange,
showSearch: true
}, Array.isArray(provinces) && provinces.length > 0 ? provinces.filter(function (p) {
return ALLOWED_PROVINCE_IDS.includes(p.id.toString().padStart(2, '0'));
}).map(function (province) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"].Option, {
key: province.id,
value: "".concat(province.id, ", ").concat(province.name.km, " / ").concat(province.name.latin)
}, "".concat(province.name.km, " / ").concat(province.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"].Option, {
disabled: true
}, "No provinces available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u17D2\u179A\u17BB\u1780 \u17AC\u200B \u1781\u178E\u17D2\u178C"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
width: '100%'
},
allowClear: true,
placeholder: "Select a District or Khan",
onChange: function onChange(value) {
return setDistrict(value);
},
showSearch: true
}, districts.length ? districts.map(function (d) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(Option, {
key: d.id,
value: "".concat(d.id, ", ").concat(d.name.km, " / ").concat(d.name.latin)
}, "".concat(d.name.km, " / ").concat(d.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(Option, {
disabled: true
}, "No districts available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u179A\u17BB\u1794"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__["default"], {
style: {
width: '100%'
},
placeholder: "Total member",
min: 0,
value: totalMember,
onChange: setTotalMember
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u17A2\u17B6\u1799\u17BB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__["default"], {
style: {
width: '100%'
},
placeholder: "Age",
min: 0,
value: age,
onChange: setAge
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_1__["default"], {
dataSource: dataSource,
columns: columns,
loading: registerPending,
rowKey: "id",
scroll: {
x: 1200
},
pagination: {
current: currentPage,
pageSize: pageSize,
total: meta.total,
showSizeChanger: true,
showTotal: function showTotal(total, range) {
return "".concat(range[0], "-").concat(range[1], " of ").concat(total, " items");
}
},
onChange: handleTableChange
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_0__["default"], {
title: "មើលព័ត៌មានគ្រួសារ / View Family Details",
open: isModalVisible,
onCancel: function onCancel() {
setIsModalVisible(false);
setIsViewMode(false);
setSelectedRecord(null);
form.resetFields();
},
footer: null,
width: 900
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_FamilySurveyForm__WEBPACK_IMPORTED_MODULE_18__["default"], {
isViewMode: isViewMode,
initialValues: selectedRecord
})));
};
var ALLOWED_PROVINCE_IDS = ['22', '01', '15', '13']; // Kompong Speu, Banteay Mean Chey, Pursat, Preah Vihear
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FamilyApprovedList);
/***/ }),
/***/ "./src/shared/views/login/attendance_qr.tsx":
/*!**************************************************!*\
!*** ./src/shared/views/login/attendance_qr.tsx ***!
\**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/qrcode */ "./src/services/authentication/login/pages/qrcode.tsx");
var AttendanceQR = function AttendanceQR() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__["default"], null);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AttendanceQR);
/***/ }),
/***/ "./src/shared/views/login/auth.tsx":
/*!*****************************************!*\
!*** ./src/shared/views/login/auth.tsx ***!
\*****************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login */ "./src/services/authentication/login/pages/login.tsx");
var Auth = function Auth() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__["default"], null);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Auth);
/***/ }),
/***/ "./src/shared/views/login/login.tsx":
/*!******************************************!*\
!*** ./src/shared/views/login/login.tsx ***!
\******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login */ "./src/services/authentication/login/pages/login.tsx");
var Login = function Login() {
return (
/*#__PURE__*/
//
react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__["default"], null)
);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Login);
/***/ })
}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX2Eudm9sdW50ZWVyYXBpLmMyNzRhNmNmZTE3NWNhNTJiNTUxLmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEwQjtBQUcxQixJQUFRQyxNQUFNLEdBQUFDLHNEQUFBLENBQU5ELE1BQU07QUFFZCxJQUFNRSxlQUF5QixHQUFHLFNBQTVCQSxlQUF5QkEsQ0FBQTtFQUFBLG9CQUM3QkgsMERBQUEsQ0FBQ0MsTUFBTTtJQUNMSSxLQUFLLEVBQUU7TUFBRUMsVUFBVSxFQUFFLFNBQVM7TUFBRUMsT0FBTyxFQUFFLE1BQU07TUFBRUMsU0FBUyxFQUFFO0lBQVM7RUFBRSxnQkFFdkVSLDBEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO0VBQUUsZ0JBQ3BCViwwREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDBEQUFBLGFBQUksVUFBWSxDQUFDLGVBQ2pCQSwwREFBQSxZQUFHLDBDQUEyQyxDQUMzQyxDQUFDLGVBQ05BLDBEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN6QmQsMERBQUEsYUFBSSxTQUFXLENBQUMsZUFDaEJBLDBEQUFBLFlBQUcsMEJBQTJCLENBQUMsZUFDL0JBLDBEQUFBLFlBQUcsMEJBQTJCLENBQzNCLENBQUMsZUFDTkEsMERBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwwREFBQSxhQUFJLFdBQWEsQ0FBQyxlQUNsQkEs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QyxVQUFVLEVBQUVBLFVBQVc7SUFDdkJDLGFBQWEsRUFBRWtNO0VBQWUsQ0FDL0IsQ0FDSSxDQUNKLENBQUM7QUFFVixDQUFDO0FBRUQsSUFBTTVDLG9CQUFvQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBRTs7QUFFeEQsaUVBQWV3QixrQkFBa0IsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNqWlA7QUFFZ0U7QUFFMUYsSUFBTTlNLFlBQXNCLEdBQUcsU0FBekJBLFlBQXNCQSxDQUFBLEVBQVM7RUFDbkMsb0JBQ0U3ViwwREFBQSxDQUFDa29CLG1GQUF1QixNQUFFLENBQUM7QUFDL0IsQ0FBQztBQUVELGlFQUFlclMsWUFBWSxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1REO0FBRWlEO0FBRTNFLElBQU1ELElBQWMsR0FBRyxTQUFqQkEsSUFBY0EsQ0FBQSxFQUFTO0VBQzNCLG9CQUNFNVYsMERBQUEsQ0FBQ21vQixrRkFBUyxNQUFFLENBQUM7QUFDakIsQ0FBQztBQUVELGlFQUFldlMsSUFBSSxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1RPO0FBR2lEO0FBRTNFLElBQU1KLEtBQWUsR0FBRyxTQUFsQkEsS0FBZUEsQ0FBQSxFQUFTO0VBQzVCO0lBQUE7SUFDRTtJQUNBeFYsMERBQUEsQ0FBQ21vQixrRkFBUyxNQUFFO0VBQUM7QUFFakIsQ0FBQztBQUVELGlFQUFlM1MsS0FBSyxFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLWNvbXBvbmVudC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25maWcudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yZWR1eC9zdG9yZS50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yb3V0ZXMvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3JvdXRlcy9wcm90ZWN0ZWQtcm91dGUudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvZmFtaWx5X3N1cnZleS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXR0ZW5kYW5jZV9xci50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXV0aC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vbG9naW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMYXlvdXQsIFJvdywgQ29sIH0gZnJvbSAnYW50ZCc7XG5cbmNvbnN0IHsgRm9vdGVyIH0gPSBMYXlvdXQ7XG5cbmNvbnN0IEZvb3RlckNvbXBvbmVudDogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxGb290ZXJcbiAgICBzdHlsZT17eyBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsIHBhZGRpbmc6ICcyNHB4JywgdGV4dEFsaWduOiAnY2VudGVyJyB9fVxuICA+XG4gICAgPFJvdyBndXR0ZXI9e1sxNiwgMTZdfT5cbiAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fT5cbiAgICAgICAgPGg0PkFib3V0IFVzPC9oND5cbiAgICAgICAgPHA+TGVhcm4gbW9yZSBhYm91dCBvdXIgbWlzc2lvbiBhbmQgdmFsdWVzLjwvcD5cbiAgICAgIDwvQ29sPlxuICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9PlxuICAgICAgICA8aDQ+Q29udGFjdDwvaDQ+XG4gICAgICAgIDxwPkVtYWlsOiBzdXBwb3J0QGdtYWlsLmNvbTwvcD5cbiAgICAgICAgPHA+UGhvbmU6ICs4NTUgMTIzIDQ1NiA3ODkwPC9wPlxuICAgICAgPC9Db2w+XG4gICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0+XG4gICAgICAgIDxoND5Gb2xsb3cgVXM8L2g0PlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSBocmVmPScnIHRhcmdldD0nX2JsYW5rJyByZWw9JyMnPlxuICAgICAgICAgICAgI1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9Db2w+XG4gICAgPC9Sb3c+XG4gICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Ub3A6ICcxNnB4JyB9fT7CqSB7bmV3IERhdGUoKS5nZXRGdWxsWWVhcigpfSAjPC9kaXY+XG4gIDwvRm9vdGVyPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgRm9vdGVyQ29tcG9uZW50O1xuIiwiZXhwb3J0IGRlZmF1bHQge1xuICAvLyBlbnY6IHByb2Nlc3MuZW52Lk5PREVfRU5WLFxuICBlbnY6ICdkZXZlbG9wbWVudCcsXG4gIC8vIGFzc2V0X3VybDogcHJvY2Vzcy5lbnYuUzNJTUFHRVNCVUNLRVQsXG4gIGFzc2V0X3VybDogJycsXG4gIGFwaV91cmw6IHByb2Nlc3MuZW52LkJBU0VfVVJMLFxuICB1cGxvYWRfdXJsOiBwcm9jZXNzLmVudi5NRURJQV9BUEksXG4gIHNvY2tldF91cmw6IHByb2Nlc3MuZW52LlNPQ0tFUl9TRVJWRVIsXG4gIG5vdGlmaWNhdGlvbl91cmw6IHByb2Nlc3MuZW52Lk5PVElGSUNBVElPTixcbiAgQVdTX0FDQ0VTU19LRVlfSUQ6IHByb2Nlc3MuZW52LkFXU19BQ0NFU1NfS0VZX0lELFxuICBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6IHByb2Nlc3MuZW52LkFXU19TRUNSRVRfQUNDRVNTX0tFWSxcbiAgUkVBQ1RfQVBQX0FQSV9UT0tFTjogcHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX0FQSV9UT0tFTixcbiAgUzNfQlVDS0VUOiBwcm9jZXNzLmVudi5TM19CVUNLRVQsXG4gIGZpcmViYXNlX2NvbmZpZ19oZWFkZXJzOiB7XG4gIH0sXG4gIGxpbWl0OiAxMCxcbiAgd2FsbGV0X2xpbWl0OiAxMDAwMCxcbiAgd2Vic29ja2V0RXZlbnQ6IHtcbiAgICBEUklWRVJfTElWRV9MT0NBVElPTjogJ0RSSVZFUl9MSVZFX0xPQ0FUSU9OJyxcbiAgICBVUERBVEVfSk5fV0FMTEVUOiAnVVBEQVRFX0pOX1dBTExFVCcsXG4gICAgQ0FTSF9JTl9TVUNDRVNTOiAnQ0FTSF9JTl9TVUNDRVNTJyxcbiAgICBDQVNIX09VVF9TVUNDRVNTOiAnQ0FTSF9PVVRfU1VDQ0VTUycsXG4gICAgTk9fRFJJVkVSX0FWQUlMQUJMRTogJ05PX0RSSVZFUl9BVkFJTEFCTEUnLFxuICAgIFBBQ0tBR0VfVFJBQ0tJTkc6ICdQQUNLQUdFX1RSQUNLSU5HJyxcbiAgfSxcbiAgZGVmYXVsdEFkbWluQWNjb3VudDogJ0RFRkFVTFRfQURNSU5fQUNDT1VOVF9JRCcsXG4gIHRlbGVncmFtSWQ6IHtcbiAgICBkZXY6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZGV2TG9nZ2VyOiAnLTEwMDE0OTU2MTYzODYnLFxuICAgIGV4cHJlc3NIdWI6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZXhwcmVzc01lcmNoYW50OiAnLTEwMDExMzYyODQ1NTcnLFxuICAgIGV4cHJlc3NGaW5hbmNlOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3JyxcbiAgICBleHByZXNzRHJpdmVyOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3J1xuICAgICxcbiAgfSxcbn07XG4iLCJpbXBvcnQgeyBVU0VSX0FUVEVOREFOQ0UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9jb25zdGFudHNcIjtcblxuZXhwb3J0IGNvbnN0IFNUQVJUX0xPR0lOID0gJ1NUQVJUX0xPR0lOJztcbmV4cG9ydCBjb25zdCBBVVRIX0xPR0lOID0gJ0FVVEhfTE9HSU4nO1xuZXhwb3J0IGNvbnN0IExPR0lOX0ZBSUxFRCA9ICdMT0dJTl9GQUlMRUQnO1xuZXhwb3J0IGNvbnN0IFVSTCA9IHtcbiAgTE9HSU46ICcvYXV0aC9sb2dpbicsXG4gIExPR0lOX1RFTEVHUkFNOiAnL2F1dGgvbG9naW4nLFxuICBWRVJJRllfVE9QOiAnYXBpL3YxL3ZlcmlmeScsXG4gIFNJR05VUDogJ2F1dGgvcmVnaXN0ZXInLFxuICBESVNBQklMSVRZX1RZUEU6ICdkaXNhYmlsaXR5LXR5cGVzLycsXG4gIFBST1ZJTkNFOiAncHJvdmluY2VzLycsXG4gIE9DQ1VQQVRJT046ICdvY2N1cGF0aW9ucy8nLFxuICBFRFVDQVRJT05fSU5TVElUVVRJT046ICdlZHVjYXRpb24taW5zdGl0dXRpb25zLycsXG4gIEZPT0RTOiAnZm9vZHMvJyxcbiAgRk9PRDogJ2Zvb2RzLycsXG4gIEZBTUlMSUVTOiAnZmFtaWxpZXMvJyxcbiAgVFJBTlNQT1JUQVRJT05TOiAndHJhbnNwb3J0YXRpb25zLycsXG4gIFRFQU06ICdpbnRlcmVzdGVkLXRlYW1zLycsXG4gIEVWRU5UOiAndm9sdW50ZWVyLWV2ZW50cy8nLFxuICBTT1VSQ0U6ICdvcHBvcnR1bml0eS1zb3VyY2VzLycsXG4gIFRSQUlOSU5HX1NFU1NJT046ICd0cmFpbmluZy1zZXNzaW9ucy8nLFxuICBMQU5HVUFHRTogJ2xhbmd1YWdlcy8nLFxuICBTS0lMTDogJ3NraWxscy8nLFxuICBURVJNU19DT05ESVRJT046ICd0ZXJtcy1jb25kaXRpb25zLycsXG4gIFZPTFVOVEVFUl9FVkVOVDogJ3ZvbHVudGVlci1ldmVudHMvJyxcbiAgVk9MVU5URUVSUzogJ3ZvbHVudGVlcnMvJyxcbiAgREFTSEJPQVJEOiAnZGFzaGJvYXJkLycsXG4gIE9GRkVSX1BST0dSQU06ICdvZmZlci1wcm9ncmFtcy8nLFxuICBUUkFWRUxfREFZOiAndHJhdmVsLWRheXMvJyxcbiAgVVNFUjogJ3VzZXJzLycsXG4gIFBVQkxJQzogJ3B1YmxpYy8nLFxuICBOT1RJRlk6ICdub3RpZnkvc2VuZC90ZWxlZ3JhbScsXG4gIE5PVElGWV9TVEFUVVM6ICdub3RpZnkvc2VuZC9zdGF0dXMnLFxuICBVU0VSX0FUVEVOREFOQ0U6ICcvdXNlci1hdHRlbmRhbmNlcy8nXG59O1xuXG5leHBvcnQgY29uc3QgQ1VSUkVOQ1lfVFlQRSA9IHtcbiAgVVNEOiAnVVNEJyxcbiAgS0hSOiAnS0hSJyxcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTW9kYWwsIFNwaW4gfSBmcm9tICdhbnRkJztcblxuaW50ZXJmYWNlIExvYWRpbmdEaWFsb2dQcm9wcyB7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbmNsYXNzIExvYWRpbmdEaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8TG9hZGluZ0RpYWxvZ1Byb3BzPiB7XG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgdmlzaWJsZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgd2lkdGg9ezIwMH1cbiAgICAgICAgdmlzaWJsZT17dmlzaWJsZX1cbiAgICAgICAgY2VudGVyZWRcbiAgICAgICAgZm9vdGVyPXtudWxsfVxuICAgICAgICBjbG9zYWJsZT17ZmFsc2V9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG1hcmdpblRvcDogMjAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxTcGluIHNpemU9J2xhcmdlJyAvPlxuICAgICAgICAgIDxwIHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicsIG1hcmdpblRvcDogJzFyZW0nIH19PkxvYWRpbmcuLi48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRpbmdEaWFsb2c7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXF1ZXN0Q29uZmlnLCBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi8uLi9jb25maWdzL2NvbmZpZyc7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgR0VUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbiBhbmQgb3B0aW9uYWwgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cblxuLy8gRW5zdXJlIGF4aW9zSW5zdGFuY2UgaXMgY29uZmlndXJlZCBwcm9wZXJseVxuY29uc3QgYXhpb3NJbnN0YW5jZSA9IGF4aW9zLmNyZWF0ZSh7XG4gIGJhc2VVUkw6IGNvbmZpZy5hcGlfdXJsLFxuICB0aW1lb3V0OiAxMDAwMDAsIC8vIEV4YW1wbGUgdGltZW91dFxufSlcblxuXG5leHBvcnQgY29uc3QgZ2V0V2l0aENvbmZpZyA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHN1Y2Nlc3M/OiAoZGF0YTogVCkgPT4gdm9pZCxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZFxuKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPiA9PiB7ICAvLyDinIUgTm93IHJldHVybnMgZGF0YVxuICB0cnkge1xuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpIHx8IFwiZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lKcVlYbEFaMjFoYVd3dVkyOXRJaXdpWlhod0lqb3hOems0TlRnM05URTJmUS44ZHJnbm9RN2Y0ZFlRWWIzMUZjQnZCYTJCZGdBR2p1UkpYY2hpUG1TN2RBXCI7XG5cbiAgICBjb25zdCBjb25maWdzID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiB0b2tlbiA/IGBCZWFyZXIgJHt0b2tlbn1gIDogXCJcIiwgLy8g4pyFIEZpeGVkIGluY29ycmVjdCBjb25kaXRpb25hbFxuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIHBhcmFtcyxcbiAgICB9O1xuXG5cbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UuZ2V0KHVybCwgY29uZmlncyk7XG5cblxuICAgIHN1Y2Nlc3M/LihyZXNwb25zZS5kYXRhKTtcblxuICAgIHJldHVybiByZXNwb25zZS5kYXRhOyAvLyDinIUgRW5zdXJlcyBjYWxsaW5nIGZ1bmN0aW9ucyByZWNlaXZlIGRhdGFcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiQXhpb3MgR0VUIHJlcXVlc3QgZmFpbGVkOlwiLCBlcnIpO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSA/PyBcIlVua25vd24gZXJyb3IhXCI7XG4gICAgY29uc3QgZXJyb3IgPSBlcnIucmVzcG9uc2U/LmRhdGE/LmVycm9yID8/IFwiVW5rbm93biBlcnJvciFcIjtcblxuICAgIGNvbnNvbGUuZXJyb3IoeyBlcnJvciB9KTtcblxuICAgIGZhaWxlZD8uKG1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDsgLy8g4pyFIFByZXZlbnQgdW5kZWZpbmVkIGlzc3VlcyBpbiBSZWR1eFxuICB9XG59O1xuXG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgUE9TVCByZXF1ZXN0cyB3aXRoIHRva2VuIGF1dGhvcml6YXRpb24uXG4gKlxuICogQHBhcmFtIHVybCAtIFRoZSBBUEkgZW5kcG9pbnQuXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSByZXF1ZXN0IHBheWxvYWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzcG9uc2UgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc3RXaXRoQ29uZmlnID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSA/PyAnJztcblxuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gIH07XG5cbiAgaWYgKHRva2VuKSB7XG4gICAgaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gYEJlYXJlciAke3Rva2VufWA7XG4gIH1cblxuICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVycyB9O1xuXG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coJ3Bvc2VkPT09PT09PT09IDogJyxkYXRhKVxuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wb3N0KHVybCwgZGF0YSwgY29uZmlnKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdQT1NUIHJlcXVlc3QgZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5cbmV4cG9ydCBjb25zdCBwb3N0V2l0aENvbmZpZ0Zvcm1EYXRhID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YTogRm9ybURhdGFcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJykgPz8gJyc7XG5cbiAgY29uc29sZS5sb2coJ2Zvcm1EYXRhICcsIGRhdGEpO1xuXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyxcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UucG9zdCh1cmwsIGRhdGEsIGNvbmZpZyk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignUE9TVCByZXF1ZXN0IGVycm9yOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBQT1NUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbi5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcG9zdFdpdGhDb25maWdXaGl0ZWxpc3QgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwidG9rZW5cIikgfHwgXCJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKemRXSWlPaUpxWVhsQVoyMWhhV3d1WTI5dElpd2laWGh3SWpveE56azROVGczTlRFMmZRLjhkcmdub1E3ZjRkWVFZYjMxRmNCdkJhMkJkZ0FHanVSSlhjaGlQbVM3ZEFcIjtcblxuICBjb25zdCBzdG9yZWRVc2VyID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKTtcbiAgY29uc3QgdXNlciA9IHN0b3JlZFVzZXIgPyBKU09OLnBhcnNlKHN0b3JlZFVzZXIpIDogbnVsbDsgIC8vIOKchSBQcmV2ZW50c1xuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gIH07XG5cbiAgaWYgKHRva2VuKSB7XG4gICAgaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gYEJlYXJlciAke3Rva2VufWA7XG4gIH1cblxuICBjb25zdCBjb25maWc6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVycyB9O1xuXG4gIHRyeSB7XG4gICAgLy8gRW5zdXJlIHJlcXVpcmVkIGZpZWxkcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgcGF5bG9hZFxuICAgIGRhdGEucGhvbmVfbnVtYmVyID0gZGF0YS5waG9uZV9udW1iZXIgPyBgKyR7ZGF0YS5waG9uZV9udW1iZXIuY291bnRyeUNvZGV9ICR7ZGF0YS5waG9uZV9udW1iZXIuYXJlYUNvZGV9ICR7ZGF0YS5waG9uZV9udW1iZXIucGhvbmVOdW1iZXJ9YCA6IHVuZGVmaW5lZDtcbiAgICBkYXRhLnRlcm1zX2NvbmRpdGlvbnNfaWQgPSAyO1xuICAgIGRhdGEudm9sdW50ZWVyX3N0YXR1cyA9IFwiUmVnaXN0ZXJcIjtcbiAgICBkYXRhLnVzZXJfaWQgPSB1c2VyLmlkO1xuICAgIGNvbnN0IGV4cGVydGlzZVN0ciA9ICBkYXRhLmV4cGVydGlzZS50b1N0cmluZygpO1xuICAgIGRhdGEuZXhwZXJ0aXNlID0gZXhwZXJ0aXNlU3RyO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wb3N0KHVybCwgZGF0YSwgY29uZmlnKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdQT1NUIHJlcXVlc3QgZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgREVMRVRFIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbiBhbmQgb3B0aW9uYWwgZGF0YS5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gT3B0aW9uYWwgcGF5bG9hZCBmb3IgdGhlIERFTEVURSByZXF1ZXN0LlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVXaXRoQ29uZmlnID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHN1Y2Nlc3M/OiAoZGF0YTogVCkgPT4gdm9pZCxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJykgPz8gJyc7XG4gIGlmICh0b2tlbiA9PT0gJycpIHtcbiAgICBmYWlsZWQ/LignVG9rZW4gaXMgbWlzc2luZy4nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjb25maWdzOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgaGVhZGVyczoge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgPyBgQmVhcmVyICR7dG9rZW59YCA6ICcnLCAvLyBFbnN1cmUgY29ycmVjdCBCZWFyZXIgZm9ybWF0XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfSxcbiAgICBkYXRhOiBkYXRhID8/IHt9LFxuICB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLmRlbGV0ZSh1cmwsIGNvbmZpZ3MpO1xuICAgIHN1Y2Nlc3M/LihyZXNwb25zZS5kYXRhKTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlID8/ICdVbmtub3duIGVycm9yISc7XG4gICAgZmFpbGVkPy4obWVzc2FnZSk7XG4gIH1cbn07XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgUFVUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbi5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqIEBwYXJhbSBzdWNjZXNzIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHN1Y2Nlc3MgcmVzcG9uc2UuXG4gKiBAcGFyYW0gZmFpbGVkIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIGVycm9yIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY29uc3QgcHV0V2l0aENvbmZpZyA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKSB8fCBcImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUp6ZFdJaU9pSnFZWGxBWjIxaGFXd3VZMjl0SWl3aVpYaHdJam94TnprNE5UZzNOVEUyZlEuOGRyZ25vUTdmNGRZUVliMzFGY0J2QmEyQmRnQUdqdVJKWGNoaVBtUzdkQVwiO1xuXG4gIGlmICghdG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUb2tlbiBpcyBtaXNzaW5nLlwiKTtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ3M6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgfSxcbiAgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wdXQodXJsLCBkYXRhLCBjb25maWdzKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHVwbG9hZCBmaWxlcy5cbiAqXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBmaWxlIGRhdGEgdG8gdXBsb2FkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggdGhlIHJlc3BvbnNlIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3N0VXBsb2FkID0gYXN5bmMgPFQgPSBhbnk+KGRhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUPiA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdXJsID0gYCR7Y29uZmlnLnVwbG9hZF91cmx9L21lZGlhL2ZpbGVgO1xuICAgIGNvbnN0IGNvbmZpZ3VyZTogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICB0b2tlbjogJzk0OWI3MWVmLWE1ZDItNGEzYy04YTk1LWQ3N2JiN2ZiMmZmNCcsXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvcy5wb3N0KHVybCwgZGF0YSwgY29uZmlndXJlKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhlcnIpO1xuICB9XG5cbn07XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gcHVzaCBub3RpZmljYXRpb25zIHRvIGEgc3BlY2lmaWMgcmVjaXBpZW50LlxuICpcbiAqIEBwYXJhbSByZWNpcGllbnQgLSBUaGUgdG9waWMgb3IgY3VycmVudFVzZXIgSUQuXG4gKiBAcGFyYW0gdGl0bGUgLSBUaGUgbm90aWZpY2F0aW9uIHRpdGxlLlxuICogQHBhcmFtIG1lc3NhZ2VCb2R5IC0gVGhlIGJvZHkgb2YgdGhlIG5vdGlmaWNhdGlvbi5cbiAqIEBwYXJhbSBpc0RyaXZlciAtIEluZGljYXRlcyB3aGV0aGVyIHRoZSByZWNpcGllbnQgaXMgYSBkcml2ZXIuXG4gKiBAcGFyYW0gcGhvdG8gLSBPcHRpb25hbCBwaG90byBVUkwgZm9yIHRoZSBub3RpZmljYXRpb24uXG4gKiBAcGFyYW0gZmFpbGVkIC0gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIGVycm9yIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY29uc3QgcHVzaE5vdGlmaWNhdGlvbiA9IGFzeW5jIChcbiAgcmVjaXBpZW50OiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIG1lc3NhZ2VCb2R5OiBzdHJpbmcsXG4gIGlzRHJpdmVyOiBib29sZWFuLFxuICBwaG90bz86IHN0cmluZyxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCB1cmwgPSBgJHtjb25maWcubm90aWZpY2F0aW9uX3VybH1ub3RpZmljYXRpb24vYDtcbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IGlzRHJpdmVyXG4gICAgPyB7ICdEcml2ZXItSGVhZGVyJzogJ3RydWUnIH1cbiAgICA6IHt9O1xuICBjb25zdCBjb25maWd1cmU6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHsgaGVhZGVycyB9O1xuXG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgdG9waWNfbmFtZTogcmVjaXBpZW50LFxuICAgIG1lc3NhZ2VfdGl0bGU6IHRpdGxlLFxuICAgIG1lc3NhZ2VfYm9keTogbWVzc2FnZUJvZHksXG4gICAgcGhvdG8sXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3QodXJsLCBkYXRhLCBjb25maWd1cmUpO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgPz8gJ1Vua25vd24gZXJyb3IhJztcbiAgICBmYWlsZWQ/LihtZXNzYWdlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBGdW5jdGlvbiB0byBwdXNoIG5vdGlmaWNhdGlvbnMgdG8gYWxsIHVzZXJzIGluIHRoZSBhcHAuXG4gKlxuICogQHBhcmFtIGRhdGEgLSBUaGUgbm90aWZpY2F0aW9uIHBheWxvYWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzcG9uc2UgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IHB1c2hOb3RpZmljYXRpb25BbGxBcHAgPSBhc3luYyA8VCA9IGFueT4oXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdXJsID0gYCR7Y29uZmlnLm5vdGlmaWNhdGlvbl91cmx9bm90aWZpY2F0aW9uL2A7XG4gIGNvbnN0IGNvbmZpZ3VyZTogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzOiB7fSB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvcy5wb3N0KHVybCwgZGF0YSwgY29uZmlndXJlKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdGlmaWNhdGlvbiBmYWlsZWQnKTtcbiAgfVxufTtcbiIsImltcG9ydCB7IGNvbmZpZ3VyZVN0b3JlLCBUaHVua0FjdGlvbiwgQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5cbmltcG9ydCBhdXRoU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9yZWR1Y2VyJztcbmltcG9ydCB2b2x1bnRlZXJTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92b2x1bnRlZXIvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBkaXNhYmlsaXR5VHlwZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgZm9vZFNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvb2QvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBpbnRlcmVzdGVkVGVhbVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVyZXN0ZWRfdGVhbS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IG9jY3VwYXRpb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vY2N1cGF0aW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgb3Bwb3J0dW5pdHlTb3VyY2VTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcHBvcnR1bml0eV9zb3VyY2UvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBwcm92aW5jZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb3ZpbmNlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgc2tpbGxTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9za2lsbC9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHRlcm1zQ29uZGl0aW9uU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdGVybXNfY29uZGl0aW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdHJhaW5pbmdTZXNzaW9uU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhaW5pbmdfc2Vzc2lvbi9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHZvbHVudGVlckV2ZW50U2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyX2V2ZW50L2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgbGFuZ3VhZ2VTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYW5ndWFnZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHVzZXJTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgb2ZmZXJQcm9ncmFtU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvb2ZmZXJfcHJvZ3JhbS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHRyYXZlbERheVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYXZlbF9kYXkvY29yZS9yZWR1Y2VyJztcbmltcG9ydCB1c2VyQXR0ZW5kYW5jZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXJfYXR0ZW5kYW5jZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGZhbWlsaVN1cnZleVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9yZWR1Y2VyJztcblxuZXhwb3J0IGNvbnN0IHN0b3JlID0gY29uZmlndXJlU3RvcmUoe1xuICByZWR1Y2VyOiB7XG4gICAgYXV0aDogYXV0aFNsaWNlLFxuICAgIHZvbHVudGVlcjogdm9sdW50ZWVyU2xpY2UsXG4gICAgZGlzYWJpbGl0eVR5cGU6IGRpc2FiaWxpdHlUeXBlU2xpY2UsXG4gICAgZWR1Y2F0aW9uSW5zdGl0dXRpb246IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UsXG4gICAgZm9vZDogZm9vZFNsaWNlLFxuICAgIGludGVyZXN0ZWRUZWFtOiBpbnRlcmVzdGVkVGVhbVNsaWNlLFxuICAgIG9jY3VwYXRpb246IG9jY3VwYXRpb25TbGljZSxcbiAgICBvcHBvcnR1bml0eVNvdXJjZTogb3Bwb3J0dW5pdHlTb3VyY2VTbGljZSxcbiAgICBwcm92aW5jZTogcHJvdmluY2VTbGljZSxcbiAgICBsYW5ndWFnZTogbGFuZ3VhZ2VTbGljZSxcbiAgICBza2lsbDogc2tpbGxTbGljZSxcbiAgICB0ZXJtc0NvbmRpdGlvbjogdGVybXNDb25kaXRpb25TbGljZSxcbiAgICB0cmFpbmluZ1Nlc3Npb246IHRyYWluaW5nU2Vzc2lvblNsaWNlLFxuICAgIHZvbHVudGVlckV2ZW50OiB2b2x1bnRlZXJFdmVudFNsaWNlLFxuICAgIHVzZXI6IHVzZXJTbGljZSxcbiAgICBvZmZlclByb2dyYW06IG9mZmVyUHJvZ3JhbVNsaWNlLFxuICAgIHRyYXZlbERheTogdHJhdmVsRGF5U2xpY2UsXG4gICAgdXNlckF0dGVuZGFuY2U6IHVzZXJBdHRlbmRhbmNlU2xpY2UsXG4gICAgZmFtaWxpU3VydmV5OiBmYW1pbGlTdXJ2ZXlTbGljZVxuICB9LFxuICBkZXZUb29sczogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcbn0pO1xuXG5leHBvcnQgdHlwZSBBcHBEaXNwYXRjaCA9IHR5cGVvZiBzdG9yZS5kaXNwYXRjaDtcbmV4cG9ydCB0eXBlIFJvb3RTdGF0ZSA9IFJldHVyblR5cGU8dHlwZW9mIHN0b3JlLmdldFN0YXRlPjtcbmV4cG9ydCB0eXBlIEFwcFRodW5rPFJldHVyblR5cGUgPSB2b2lkPiA9IFRodW5rQWN0aW9uPFxuICBSZXR1cm5UeXBlLFxuICBSb290U3RhdGUsXG4gIHVua25vd24sXG4gIEFjdGlvbjxzdHJpbmc+XG4+O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JzsgLy8gUmVxdWlyZWQgZm9yIEpTWFxuaW1wb3J0IHsgUm91dGVzIGFzIFJvdXRlclJvdXRlcywgUm91dGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuaW1wb3J0IE1haW4gZnJvbSAnLi4vdmlld3MvbWFpbi9ob21lL21haW4nO1xuaW1wb3J0IExvZ2luIGZyb20gJy4uL3ZpZXdzL2xvZ2luL2xvZ2luJztcbmltcG9ydCBOb3RGb3VuZCBmcm9tICcuLi92aWV3cy9ub3QtZm91bmQvbm90LWZvdW5kJztcbmltcG9ydCBQcm90ZWN0ZWRSb3V0ZSBmcm9tICcuL3Byb3RlY3RlZC1yb3V0ZSc7XG5pbXBvcnQgVm9sdW50ZWVyUmVnaXN0ZXJGb3JtIGZyb20gJy4uL3ZpZXdzL3ZvbHVudGVlci92b2x1bnRlZXItcmVnaXN0ZXInO1xuaW1wb3J0IEF1dGggZnJvbSAnLi4vdmlld3MvbG9naW4vYXV0aCc7XG5pbXBvcnQgQXR0ZW5kYW5jZVFSIGZyb20gJy4uL3ZpZXdzL2xvZ2luL2F0dGVuZGFuY2VfcXInO1xuaW1wb3J0IFRlbGVncmFtTG9naW5BdHRlbmRhbmNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2F0dGVuZGFuY2VfdmVyaWZpY2F0aW9uJztcbmltcG9ydCBGYW1pbHlTdXJ2ZXlGb3JtIGZyb20gJy4uL3ZpZXdzL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybSc7XG5cbmNvbnN0IEFwcFJvdXRlczogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxSb3V0ZXJSb3V0ZXM+XG4gICAgey8qIFB1YmxpYyBSb3V0ZXMgKi99XG4gICAgPFJvdXRlIHBhdGg9Jy9sb2dpbicgZWxlbWVudD17PExvZ2luIC8+fSAvPlxuICAgIDxSb3V0ZSBwYXRoPScvYXV0aCcgZWxlbWVudD17PEF1dGggLz59IC8+XG4gICAgPFJvdXRlIHBhdGg9Jy9hdHRlbmRhbmNlJyBlbGVtZW50PXs8VGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2UgLz59IC8+XG4gICAgPFJvdXRlIHBhdGg9Jy9xcicgZWxlbWVudD17PEF0dGVuZGFuY2VRUiAvPn0gLz5cbiAgICBcblxuICAgIHsvKiBQcm90ZWN0ZWQgUm91dGVzIC0gV3JhcHBpbmcgZXZlcnl0aGluZyBpbnNpZGUgTWFpbiAqL31cbiAgICA8Um91dGVcbiAgICAgIHBhdGg9Jy8qJ1xuICAgICAgZWxlbWVudD17XG4gICAgICAgIDxQcm90ZWN0ZWRSb3V0ZT5cbiAgICAgICAgICA8TWFpbiAvPlxuICAgICAgICA8L1Byb3RlY3RlZFJvdXRlPlxuICAgICAgfVxuICAgIC8+XG4gICAgey8qIFByb3RlY3RlZCBSb3V0ZXMgLSBXcmFwcGluZyBldmVyeXRoaW5nIGluc2lkZSBNYWluICovfVxuICAgIDxSb3V0ZVxuICAgICAgcGF0aD0nL3JlZ2lzdGVyJ1xuICAgICAgZWxlbWVudD17XG4gICAgICAgIDxQcm90ZWN0ZWRSb3V0ZT5cbiAgICAgICAgICA8Vm9sdW50ZWVyUmVnaXN0ZXJGb3JtIC8+XG4gICAgICAgIDwvUHJvdGVjdGVkUm91dGU+XG4gICAgICB9XG4gICAgLz5cbiAgICBcbiAgICB7LyogQ2F0Y2gtQWxsIFJvdXRlICovfVxuICAgIDxSb3V0ZSBwYXRoPScqJyBlbGVtZW50PXs8Tm90Rm91bmQgLz59IC8+XG4gIDwvUm91dGVyUm91dGVzPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwUm91dGVzO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBQcm90ZWN0ZWRSb3V0ZVByb3BzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFByb3RlY3RlZFJvdXRlOiBSZWFjdC5GQzxQcm90ZWN0ZWRSb3V0ZVByb3BzPiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgYWNjZXNzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpO1xuICBjb25zdCBzdG9yZWRVc2VyID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY3VycmVudFVzZXInKTtcbiAgbGV0IHVzZXIgPSBudWxsO1xuXG4gIGlmIChzdG9yZWRVc2VyKSB7XG4gICAgdHJ5IHtcbiAgICAgIHVzZXIgPSBKU09OLnBhcnNlKHN0b3JlZFVzZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIGN1cnJlbnRVc2VyIGZyb20gc2Vzc2lvblN0b3JhZ2U6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKCdQYXJzZWQgdXNlcjonLCB1c2VyKTtcblxuICAvLyBDaGVjayBmb3IgYSB2YWxpZCB0b2tlbiBhbmQgdGhhdCB0aGUgdXNlcidzIHJvbGUgaXMgbm90IFwiVVNFUlwiXG4gIGNvbnN0IGlzQXV0aGVudGljYXRlZCA9XG4gICAgQm9vbGVhbihhY2Nlc3NUb2tlbiAmJiBhY2Nlc3NUb2tlbi5sZW5ndGggPiAwICYmIHVzZXIpO1xuXG4gIHJldHVybiBpc0F1dGhlbnRpY2F0ZWQgPyA8PntjaGlsZHJlbn08Lz4gOiA8TmF2aWdhdGUgdG89XCIvbG9naW5cIiAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFByb3RlY3RlZFJvdXRlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIEZvcm0sXG4gIElucHV0LFxuICBCdXR0b24sXG4gIENoZWNrYm94LFxuICBSb3csXG4gIENvbCxcbiAgSW5wdXROdW1iZXIsXG4gIFNlbGVjdCxcbiAgQ2FyZCxcbiAgbWVzc2FnZSxcbiAgU3BhY2UsXG4gIFRhZ1xufSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHtcbiAgZmV0Y2hQcm92aW5jZSxcbiAgZmV0Y2hEaXN0cmljdCxcbiAgZmV0Y2hDb21tdW5lLFxuICBmZXRjaFZpbGxhZ2VTZXJ2aWNlLFxuICBmZXRjaFRyYW5zcG9ydGF0aW9uLFxuICBjcmVhdGVGYW1pbHlBY3Rpb24sXG4gIHVwZGF0ZUZhbWlseUFjdGlvbixcbiAgZmFtaWx5RGV0YWlsQWN0aW9uXG59IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9mYW1pbHlfc3VydmV5L2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgQ3JlYXRlRmFtaWx5TWVtYmVyIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2luZGV4XCI7XG5cbmNvbnN0IHsgT3B0aW9uIH0gPSBTZWxlY3Q7XG5cbi8vIEFkZCBpbnRlcmZhY2VzXG5pbnRlcmZhY2UgTG9jYXRpb25DaGFpbiB7XG4gIHByb3ZpbmNlOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICBkaXN0cmljdD86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH07XG4gIGNvbW11bmU/OiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICB2aWxsYWdlPzogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG59XG5cbi8vIFVwZGF0ZSBzdG9yYWdlIGtleVxuY29uc3QgU1RPUkFHRV9LRVkgPSB7XG4gIExPQ0FUSU9OX0NIQUlOUzogJ2ZhbWlseV9zdXJ2ZXlfbG9jYXRpb25fY2hhaW5zJyxcbiAgTEFTVF9TRUxFQ1RJT046ICdmYW1pbHlfc3VydmV5X2xhc3Rfc2VsZWN0aW9uJ1xufTtcblxuaW50ZXJmYWNlIEZhbWlseVN1cnZleUZvcm1Qcm9wcyB7XG4gIGlzVmlld01vZGU/OiBib29sZWFuO1xuICBpbml0aWFsVmFsdWVzPzogYW55O1xufVxuXG5jb25zdCBGYW1pbHlTdXJ2ZXlGb3JtOiBSZWFjdC5GQzxGYW1pbHlTdXJ2ZXlGb3JtUHJvcHM+ID0gKHtcbiAgaXNWaWV3TW9kZSxcbiAgaW5pdGlhbFZhbHVlc1xufSkgPT4ge1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IFtzYXZlZExvY2F0aW9uQ2hhaW5zLCBzZXRTYXZlZExvY2F0aW9uQ2hhaW5zXSA9IHVzZVN0YXRlPExvY2F0aW9uQ2hhaW5bXT4oW10pO1xuICBjb25zdCB7XG4gICAgcHJvdmluY2VzID0gW10sXG4gICAgZGlzdHJpY3RzID0gW10sXG4gICAgY29tbXVuZXMgPSBbXSxcbiAgICB2aWxsYWdlcyA9IFtdLFxuICAgIHRyYW5zcG9ydGF0aW9ucyA9IFtdLFxuICAgIGZhbWlseVN1cnZleSxcbiAgICByZWdpc3RlclBlbmRpbmcsXG4gICAgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsXG4gIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZmFtaWxpU3VydmV5IHx8IHt9KTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaChmYW1pbHlEZXRhaWxBY3Rpb24oTnVtYmVyKGlkKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gYWRkaW5nIGEgbmV3IGl0ZW1cbiAgICB9XG4gIH0sIFtkaXNwYXRjaCwgaWQsIGZvcm1dKTtcblxuICAvLyDwn5GJIFBvcHVsYXRlIGZvcm0gd2l0aCBmZXRjaGVkIGRhdGFcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQgJiYgZmFtaWx5U3VydmV5KSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgbmFtZTogZmFtaWx5U3VydmV5Lm5hbWUgfHwgJycsXG4gICAgICAgIHBob25lOiBmYW1pbHlTdXJ2ZXkucGhvbmUgfHwgJycsXG4gICAgICAgIGdlbmRlcjogZmFtaWx5U3VydmV5LmdlbmRlciB8fCAnJyxcbiAgICAgICAgYWdlOiBmYW1pbHlTdXJ2ZXkuYWdlIHx8IDAsXG4gICAgICAgIHByb3ZpbmNlOiBmYW1pbHlTdXJ2ZXkucHJvdmluY2UgfHwgJycsXG4gICAgICAgIGRpc3RyaWN0OiBmYW1pbHlTdXJ2ZXkuZGlzdHJpY3QgfHwgJycsXG4gICAgICAgIGNvbW11bmU6IGZhbWlseVN1cnZleS5jb21tdW5lIHx8ICcnLFxuICAgICAgICB2aWxsYWdlOiBmYW1pbHlTdXJ2ZXkudmlsbGFnZSB8fCAnJyxcbiAgICAgICAgdG90YWxfbWVtYmVyOiBmYW1pbHlTdXJ2ZXkudG90YWxfbWVtYmVyIHx8IDAsXG4gICAgICAgIG1lbWJlcl9tYWxlOiBmYW1pbHlTdXJ2ZXkubWVtYmVyX21hbGUgfHwgMCxcbiAgICAgICAgbWVtYmVyX2ZlbWFsZTogZmFtaWx5U3VydmV5Lm1lbWJlcl9mZW1hbGUgfHwgMCxcbiAgICAgICAgdG90YWxfcHJlZ25hbnQ6IGZhbWlseVN1cnZleS50b3RhbF9wcmVnbmFudCB8fCAwLFxuICAgICAgICB0b3RhbF9iYWJ5OiBmYW1pbHlTdXJ2ZXkudG90YWxfYmFieSB8fCAwLFxuICAgICAgICBiYWJ5X21hbGU6IGZhbWlseVN1cnZleS5iYWJ5X21hbGUgfHwgMCxcbiAgICAgICAgYmFieV9mZW1hbGU6IGZhbWlseVN1cnZleS5iYWJ5X2ZlbWFsZSB8fCAwLFxuICAgICAgICB0b3RhbF9jaGlsZDogZmFtaWx5U3VydmV5LnRvdGFsX2NoaWxkIHx8IDAsXG4gICAgICAgIGNoaWxkX21hbGU6IGZhbWlseVN1cnZleS5jaGlsZF9tYWxlIHx8IDAsXG4gICAgICAgIGNoaWxkX2ZlbWFsZTogZmFtaWx5U3VydmV5LmNoaWxkX2ZlbWFsZSB8fCAwLFxuICAgICAgICBpc19kaXNhYmxlZDogZmFtaWx5U3VydmV5LmlzX2Rpc2FibGVkIHx8IGZhbHNlLFxuICAgICAgICBpc19vbGRfYWdlOiBmYW1pbHlTdXJ2ZXkuaXNfb2xkX2FnZSB8fCBmYWxzZSxcbiAgICAgICAgdHJhbnNwb3J0YXRpb25faWQ6IGZhbWlseVN1cnZleS50cmFuc3BvcnRhdGlvbl9pZCB8fCBudWxsLFxuICAgICAgICBub3RlOiBmYW1pbHlTdXJ2ZXkubm90ZSB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2ZhbWlseVN1cnZleSwgZm9ybSwgaWRdKTtcblxuICAvLyDwn5GJIFNob3cgc3VjY2VzcyBvciBlcnJvciBhbGVydHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXJlZ2lzdGVyUGVuZGluZyAmJiBpc0NsaWNrKSB7XG4gICAgICBpZiAocmVnaXN0ZXJFcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgbWVzc2FnZS5lcnJvcihyZWdpc3RlckVycm9yTWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoaWQgPyAnVXBkYXRlZCBzdWNjZXNzZnVsbHkhJyA6ICdDcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICAgICAgbmF2aWdhdGUoJy9mYW1pbHktc3VydmV5Jyk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbcmVnaXN0ZXJQZW5kaW5nLCByZWdpc3RlckVycm9yTWVzc2FnZSwgaWQsIGlzQ2xpY2ssIG5hdmlnYXRlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFByb3ZpbmNlKCkpO1xuICAgIGRpc3BhdGNoKGZldGNoVHJhbnNwb3J0YXRpb24oKSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIC8vIExvYWQgc2F2ZWQgbG9jYXRpb24gY2hhaW5zIG9uIG1vdW50XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRDaGFpbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTVE9SQUdFX0tFWS5MT0NBVElPTl9DSEFJTlMpO1xuICAgIGlmIChzYXZlZENoYWlucykge1xuICAgICAgY29uc3QgY2hhaW5zID0gSlNPTi5wYXJzZShzYXZlZENoYWlucyk7XG4gICAgICBzZXRTYXZlZExvY2F0aW9uQ2hhaW5zKGNoYWlucyk7XG5cbiAgICAgIC8vIEF1dG8tc2VsZWN0IG1vc3QgcmVjZW50IGxvY2F0aW9uIGNoYWluXG4gICAgICBjb25zdCBtb3N0UmVjZW50ID0gY2hhaW5zWzBdO1xuICAgICAgaWYgKG1vc3RSZWNlbnQpIHtcbiAgICAgICAgYXV0b1NlbGVjdExvY2F0aW9uQ2hhaW4obW9zdFJlY2VudCk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlQ291bnRUb3RhbENoYW5nZSA9ICh0eXBlOiAnbWVtYmVyJyB8ICdiYWJ5JyB8ICdjaGlsZCcsIHZhbHVlOiBudW1iZXIgfCBudWxsKSA9PiB7XG4gICAgaWYgKHR5cGUgPT09ICdtZW1iZXInKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBtZW1iZXJfbWFsZTogMCwgbWVtYmVyX2ZlbWFsZTogMCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ21lbWJlcl9tYWxlJykgfHwgMDtcbiAgICAgICAgY29uc3QgZmVtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdtZW1iZXJfZmVtYWxlJykgfHwgMDtcblxuICAgICAgICBpZiAobWFsZSA+IDAgJiYgbWFsZSA8PSB2YWx1ZSkge1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBtZW1iZXJfZmVtYWxlOiB2YWx1ZSAtIG1hbGUgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmVtYWxlID4gMCAmJiBmZW1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgbWVtYmVyX21hbGU6IHZhbHVlIC0gZmVtYWxlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdiYWJ5Jykge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgYmFieV9tYWxlOiAwLCBiYWJ5X2ZlbWFsZTogMCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ2JhYnlfbWFsZScpIHx8IDA7XG4gICAgICAgIGNvbnN0IGZlbWFsZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnYmFieV9mZW1hbGUnKSB8fCAwO1xuXG4gICAgICAgIGlmIChtYWxlID4gMCAmJiBtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGJhYnlfZmVtYWxlOiB2YWx1ZSAtIG1hbGUgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZmVtYWxlID4gMCAmJiBmZW1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgYmFieV9tYWxlOiB2YWx1ZSAtIGZlbWFsZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnY2hpbGQnKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBjaGlsZF9tYWxlOiAwLCBjaGlsZF9mZW1hbGU6IDAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdjaGlsZF9tYWxlJykgfHwgMDtcbiAgICAgICAgY29uc3QgZmVtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdjaGlsZF9mZW1hbGUnKSB8fCAwO1xuXG4gICAgICAgIGlmIChtYWxlID4gMCAmJiBtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGNoaWxkX2ZlbWFsZTogdmFsdWUgLSBtYWxlIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGZlbWFsZSA+IDAgJiYgZmVtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGNoaWxkX21hbGU6IHZhbHVlIC0gZmVtYWxlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlID0gKHR5cGU6ICdtZW1iZXInIHwgJ2JhYnknIHwgJ2NoaWxkJywgZ2VuZGVyOiAnbWFsZScgfCAnZmVtYWxlJywgdmFsdWU6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICBjb25zdCB0b3RhbEZpZWxkID0ge1xuICAgICAgbWVtYmVyOiAndG90YWxfbWVtYmVyJyxcbiAgICAgIGJhYnk6ICd0b3RhbF9iYWJ5JyxcbiAgICAgIGNoaWxkOiAndG90YWxfY2hpbGQnLFxuICAgIH1bdHlwZV07XG5cbiAgICBjb25zdCB0b3RhbCA9IGZvcm0uZ2V0RmllbGRWYWx1ZSh0b3RhbEZpZWxkKSB8fCAwO1xuXG4gICAgaWYgKHRvdGFsID09PSAwKSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHtcbiAgICAgICAgW2Ake3R5cGV9X21hbGVgXTogMCxcbiAgICAgICAgW2Ake3R5cGV9X2ZlbWFsZWBdOiAwLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZSA+IHRvdGFsKSB7XG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCJHZW5kZXIgY291bnQgY2Fubm90IGV4Y2VlZCB0b3RhbC5cIik7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgW2Ake3R5cGV9XyR7Z2VuZGVyfWBdOiB0b3RhbCB9KTtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBbYCR7dHlwZX1fJHtnZW5kZXIgPT09ICdtYWxlJyA/ICdmZW1hbGUnIDogJ21hbGUnfWBdOiAwIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgW2Ake3R5cGV9XyR7Z2VuZGVyID09PSAnbWFsZScgPyAnZmVtYWxlJyA6ICdtYWxlJ31gXTogdG90YWwgLSB2YWx1ZSB9KTtcbiAgfTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAodmFsdWVzOiBDcmVhdGVGYW1pbHlNZW1iZXIpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHVwZGF0ZUZhbWlseUFjdGlvbih7IGlkOiBOdW1iZXIoaWQpLCBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChjcmVhdGVGYW1pbHlBY3Rpb24oeyBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGF1dG9TZWxlY3RMb2NhdGlvbkNoYWluID0gKGxvY2F0aW9uQ2hhaW46IExvY2F0aW9uQ2hhaW4pID0+IHtcbiAgICAvLyBTZXQgcHJvdmluY2UgYW5kIGZldGNoIGRpc3RyaWN0c1xuICAgIGlmIChsb2NhdGlvbkNoYWluLnByb3ZpbmNlKSB7XG4gICAgICBjb25zdCBwcm92aW5jZVZhbHVlID0gYCR7bG9jYXRpb25DaGFpbi5wcm92aW5jZS5pZH0sJHtsb2NhdGlvbkNoYWluLnByb3ZpbmNlLm5hbWV9YDtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBwcm92aW5jZTogcHJvdmluY2VWYWx1ZSB9KTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRGlzdHJpY3QoeyBpZDogTnVtYmVyKGxvY2F0aW9uQ2hhaW4ucHJvdmluY2UuaWQpIH0pKTtcblxuICAgICAgLy8gU2V0IGRpc3RyaWN0IGFuZCBmZXRjaCBjb21tdW5lc1xuICAgICAgaWYgKGxvY2F0aW9uQ2hhaW4uZGlzdHJpY3QpIHtcbiAgICAgICAgY29uc3QgZGlzdHJpY3RWYWx1ZSA9IGAke2xvY2F0aW9uQ2hhaW4uZGlzdHJpY3QuaWR9LCR7bG9jYXRpb25DaGFpbi5kaXN0cmljdC5uYW1lfWA7XG4gICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBkaXN0cmljdDogZGlzdHJpY3RWYWx1ZSB9KTtcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hDb21tdW5lKHsgaWQ6IE51bWJlcihsb2NhdGlvbkNoYWluLmRpc3RyaWN0LmlkKSB9KSk7XG5cbiAgICAgICAgLy8gU2V0IGNvbW11bmUgYW5kIGZldGNoIHZpbGxhZ2VzXG4gICAgICAgIGlmIChsb2NhdGlvbkNoYWluLmNvbW11bmUpIHtcbiAgICAgICAgICBjb25zdCBjb21tdW5lVmFsdWUgPSBgJHtsb2NhdGlvbkNoYWluLmNvbW11bmUuaWR9LCR7bG9jYXRpb25DaGFpbi5jb21tdW5lLm5hbWV9YDtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgY29tbXVuZTogY29tbXVuZVZhbHVlIH0pO1xuICAgICAgICAgIGRpc3BhdGNoKGZldGNoVmlsbGFnZVNlcnZpY2UoeyBpZDogTnVtYmVyKGxvY2F0aW9uQ2hhaW4uY29tbXVuZS5pZCkgfSkpO1xuXG4gICAgICAgICAgLy8gU2V0IHZpbGxhZ2UgaWYgZXhpc3RzXG4gICAgICAgICAgaWYgKGxvY2F0aW9uQ2hhaW4udmlsbGFnZSkge1xuICAgICAgICAgICAgY29uc3QgdmlsbGFnZVZhbHVlID0gYCR7bG9jYXRpb25DaGFpbi52aWxsYWdlLmlkfSwke2xvY2F0aW9uQ2hhaW4udmlsbGFnZS5uYW1lfWA7XG4gICAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgdmlsbGFnZTogdmlsbGFnZVZhbHVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBzYXZlTG9jYXRpb25DaGFpbiA9IChuZXdDaGFpbjogUGFydGlhbDxMb2NhdGlvbkNoYWluPikgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZWRDaGFpbiA9IHtcbiAgICAgIC4uLm5ld0NoYWluLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICB9O1xuXG4gICAgLy8gS2VlcCBvbmx5IHVuaXF1ZSBjaGFpbnMsIGxpbWl0ZWQgdG8gNSBtb3N0IHJlY2VudFxuICAgIGNvbnN0IGV4aXN0aW5nQ2hhaW5zID0gc2F2ZWRMb2NhdGlvbkNoYWlucy5maWx0ZXIoY2hhaW4gPT5cbiAgICAgIGNoYWluLnByb3ZpbmNlLmlkICE9PSB1cGRhdGVkQ2hhaW4ucHJvdmluY2U/LmlkIHx8XG4gICAgICBjaGFpbi5kaXN0cmljdD8uaWQgIT09IHVwZGF0ZWRDaGFpbi5kaXN0cmljdD8uaWQgfHxcbiAgICAgIGNoYWluLmNvbW11bmU/LmlkICE9PSB1cGRhdGVkQ2hhaW4uY29tbXVuZT8uaWRcbiAgICApO1xuXG4gICAgY29uc3QgbmV3Q2hhaW5zID0gW3VwZGF0ZWRDaGFpbiwgLi4uZXhpc3RpbmdDaGFpbnNdLnNsaWNlKDAsIDUpO1xuICAgIHNldFNhdmVkTG9jYXRpb25DaGFpbnMobmV3Q2hhaW5zKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWS5MT0NBVElPTl9DSEFJTlMsIEpTT04uc3RyaW5naWZ5KG5ld0NoYWlucykpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVByb3ZpbmNlQ2hhbmdlID0gKHZhbHVlPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGNvbnN0IFtwcm92aW5jZUlkLCBwcm92aW5jZU5hbWVdID0gdmFsdWUuc3BsaXQoXCIsXCIpO1xuICAgIGRpc3BhdGNoKGZldGNoRGlzdHJpY3QoeyBpZDogTnVtYmVyKHByb3ZpbmNlSWQudHJpbSgpKSB9KSk7XG4gICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGRpc3RyaWN0OiB1bmRlZmluZWQsIGNvbW11bmU6IHVuZGVmaW5lZCwgdmlsbGFnZTogdW5kZWZpbmVkIH0pO1xuXG4gICAgc2F2ZUxvY2F0aW9uQ2hhaW4oe1xuICAgICAgcHJvdmluY2U6IHtcbiAgICAgICAgaWQ6IHByb3ZpbmNlSWQudHJpbSgpLFxuICAgICAgICBuYW1lOiBwcm92aW5jZU5hbWUudHJpbSgpXG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGlzdHJpY3RDaGFuZ2UgPSAodmFsdWU/OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgY29uc3QgW2Rpc3RyaWN0SWQsIGRpc3RyaWN0TmFtZV0gPSB2YWx1ZS5zcGxpdChcIixcIik7XG4gICAgZGlzcGF0Y2goZmV0Y2hDb21tdW5lKHsgaWQ6IE51bWJlcihkaXN0cmljdElkLnRyaW0oKSkgfSkpO1xuICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBjb21tdW5lOiB1bmRlZmluZWQsIHZpbGxhZ2U6IHVuZGVmaW5lZCB9KTtcblxuICAgIGNvbnN0IGN1cnJlbnRQcm92aW5jZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgncHJvdmluY2UnKT8uc3BsaXQoJywnKTtcbiAgICBpZiAoY3VycmVudFByb3ZpbmNlKSB7XG4gICAgICBzYXZlTG9jYXRpb25DaGFpbih7XG4gICAgICAgIHByb3ZpbmNlOiB7XG4gICAgICAgICAgaWQ6IGN1cnJlbnRQcm92aW5jZVswXS50cmltKCksXG4gICAgICAgICAgbmFtZTogY3VycmVudFByb3ZpbmNlWzFdLnRyaW0oKVxuICAgICAgICB9LFxuICAgICAgICBkaXN0cmljdDoge1xuICAgICAgICAgIGlkOiBkaXN0cmljdElkLnRyaW0oKSxcbiAgICAgICAgICBuYW1lOiBkaXN0cmljdE5hbWUudHJpbSgpXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDb21tdW5lQ2hhbmdlID0gKHZhbHVlPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGNvbnN0IFtjb21tdW5lSWQsIGNvbW11bmVOYW1lXSA9IHZhbHVlLnNwbGl0KFwiLFwiKTtcbiAgICBkaXNwYXRjaChmZXRjaFZpbGxhZ2VTZXJ2aWNlKHsgaWQ6IE51bWJlcihjb21tdW5lSWQudHJpbSgpKSB9KSk7XG4gICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IHZpbGxhZ2U6IHVuZGVmaW5lZCB9KTtcblxuICAgIGNvbnN0IGN1cnJlbnRQcm92aW5jZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgncHJvdmluY2UnKT8uc3BsaXQoJywnKTtcbiAgICBjb25zdCBjdXJyZW50RGlzdHJpY3QgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ2Rpc3RyaWN0Jyk/LnNwbGl0KCcsJyk7XG4gICAgaWYgKGN1cnJlbnRQcm92aW5jZSAmJiBjdXJyZW50RGlzdHJpY3QpIHtcbiAgICAgIHNhdmVMb2NhdGlvbkNoYWluKHtcbiAgICAgICAgcHJvdmluY2U6IHtcbiAgICAgICAgICBpZDogY3VycmVudFByb3ZpbmNlWzBdLnRyaW0oKSxcbiAgICAgICAgICBuYW1lOiBjdXJyZW50UHJvdmluY2VbMV0udHJpbSgpXG4gICAgICAgIH0sXG4gICAgICAgIGRpc3RyaWN0OiB7XG4gICAgICAgICAgaWQ6IGN1cnJlbnREaXN0cmljdFswXS50cmltKCksXG4gICAgICAgICAgbmFtZTogY3VycmVudERpc3RyaWN0WzFdLnRyaW0oKVxuICAgICAgICB9LFxuICAgICAgICBjb21tdW5lOiB7XG4gICAgICAgICAgaWQ6IGNvbW11bmVJZC50cmltKCksXG4gICAgICAgICAgbmFtZTogY29tbXVuZU5hbWUudHJpbSgpXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNhbmNlbCA9ICgpID0+IHtcbiAgICBmb3JtLnJlc2V0RmllbGRzKCk7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oU1RPUkFHRV9LRVkuTEFTVF9TRUxFQ1RJT04pO1xuICAgIG5hdmlnYXRlKCcvZmFtaWx5LXN1cnZleScpXG4gIH07XG5cbiAgY29uc3QgUXVpY2tGaWxsID0gKCkgPT4ge1xuICAgIGNvbnN0IG1vc3RSZWNlbnQgPSBzYXZlZExvY2F0aW9uQ2hhaW5zWzBdO1xuXG4gICAgaWYgKCFtb3N0UmVjZW50KSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogMTYgfX0+XG4gICAgICAgIDxTcGFjZSBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgIDxzcGFuPuGekeGeuOGej+GetuGfhuGehOGekOGfkuGemOGeuOGflyAvIFJlY2VudCBsb2NhdGlvbjo8L3NwYW4+XG4gICAgICAgICAgPFRhZyBjb2xvcj1cImJsdWVcIj5cbiAgICAgICAgICAgIHttb3N0UmVjZW50LnByb3ZpbmNlLm5hbWV9XG4gICAgICAgICAgICB7bW9zdFJlY2VudC5kaXN0cmljdCAmJiBgID4gJHttb3N0UmVjZW50LmRpc3RyaWN0Lm5hbWV9YH1cbiAgICAgICAgICAgIHttb3N0UmVjZW50LmNvbW11bmUgJiYgYCA+ICR7bW9zdFJlY2VudC5jb21tdW5lLm5hbWV9YH1cbiAgICAgICAgICA8L1RhZz5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgLy8gQXV0by1zZWxlY3QgbG9jYXRpb24gb24gbW91bnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzYXZlZENoYWlucyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZLkxPQ0FUSU9OX0NIQUlOUyk7XG4gICAgaWYgKHNhdmVkQ2hhaW5zKSB7XG4gICAgICBjb25zdCBjaGFpbnMgPSBKU09OLnBhcnNlKHNhdmVkQ2hhaW5zKTtcbiAgICAgIHNldFNhdmVkTG9jYXRpb25DaGFpbnMoY2hhaW5zKTtcblxuICAgICAgLy8gQXV0by1zZWxlY3QgbW9zdCByZWNlbnQgbG9jYXRpb24gY2hhaW4gd2l0aG91dCB1c2VyIGludGVyYWN0aW9uXG4gICAgICBjb25zdCBtb3N0UmVjZW50ID0gY2hhaW5zWzBdO1xuICAgICAgaWYgKG1vc3RSZWNlbnQpIHtcbiAgICAgICAgYXV0b1NlbGVjdExvY2F0aW9uQ2hhaW4obW9zdFJlY2VudCk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaW5pdGlhbFZhbHVlcyAmJiAoaXNWaWV3TW9kZSkpIHtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoaW5pdGlhbFZhbHVlcyk7XG4gICAgfVxuICB9LCBbaW5pdGlhbFZhbHVlcywgZm9ybSwgaXNWaWV3TW9kZV0pO1xuXG4gIHJldHVybiAoXG4gICAgPENhcmQ+XG4gICAgICA8Rm9ybVxuICAgICAgICBmb3JtPXtmb3JtfVxuICAgICAgICBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiXG4gICAgICAgIG9uRmluaXNoPXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIGRpc2FibGVkPXtpc1ZpZXdNb2RlfVxuICAgICAgICBpbml0aWFsVmFsdWVzPXtpbml0aWFsVmFsdWVzfVxuICAgICAgPlxuICAgICAgICA8UXVpY2tGaWxsIC8+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4fhnoLhn5Lhnprhnr3hnp/hnrbhnpogLyBGYW1pbHkgTmFtZVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBmYW1pbHkgbmFtZVwiIH1dfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SW5wdXQgcGxhY2Vob2xkZXI9XCJFbnRlciBmYW1pbHkgbmFtZVwiIC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBsYWJlbD1cIuGem+GfgeGegeGekeGevOGemuGen+GfkOGeluGfkuGekSAvIFBob25lXCJcbiAgICAgICAgICAgICAgbmFtZT1cInBob25lXCJcbiAgICAgICAgICAgICAgcnVsZXM9e1tcbiAgICAgICAgICAgICAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBwaG9uZSBudW1iZXJcIiB9LFxuICAgICAgICAgICAgICAgIHsgcGF0dGVybjogL15bMC05XSskLywgbWVzc2FnZTogXCJQaG9uZSBtdXN0IGJlIG51bWJlcnMgb25seVwiIH0sXG4gICAgICAgICAgICAgIF19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJbnB1dCBwbGFjZWhvbGRlcj1cIkVudGVyIHBob25lIG51bWJlclwiIC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIEdlbmRlciAmIEFnZSAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBsYWJlbD1cIuGel+GfgeGekSAvIEdlbmRlclwiXG4gICAgICAgICAgICAgIG5hbWU9XCJnZW5kZXJcIlxuICAgICAgICAgICAgICBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIHNlbGVjdCBnZW5kZXJcIiB9XX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBnZW5kZXJcIj5cbiAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwiTWFsZVwiPuGelOGfkuGemuGeu+GenyAvIE1hbGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPVwiRmVtYWxlXCI+4Z6f4Z+S4Z6a4Z64IC8gRmVtYWxlPC9PcHRpb24+XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9XCLhnqLhnrbhnpnhnrsgLyBBZ2VcIlxuICAgICAgICAgICAgICBuYW1lPVwiYWdlXCJcbiAgICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBhZ2VcIiB9XX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIFByb3ZpbmNlLCBEaXN0cmljdCwgQ29tbXVuZSwgVmlsbGFnZSAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIG5hbWU9XCJwcm92aW5jZVwiIGxhYmVsPVwi4Z6B4Z+B4Z6P4Z+S4Z6PL+GegOGfkuGemuGeu+GehCAvIFByb3ZpbmNlL0NpdHlcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUgfV19PlxuICAgICAgICAgICAgICA8U2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IFByb3ZpbmNlXCIgb25DaGFuZ2U9e2hhbmRsZVByb3ZpbmNlQ2hhbmdlfT5cbiAgICAgICAgICAgICAgICB7cHJvdmluY2VzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgIHByb3ZpbmNlc1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHAgPT4gQUxMT1dFRF9QUk9WSU5DRV9JRFMuaW5jbHVkZXMocC5pZC50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJykpKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChwKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e3AuaWR9IHZhbHVlPXtgJHtwLmlkfSwgJHtwLm5hbWUua219IC8gJHtwLm5hbWUubGF0aW59YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7YCR7cC5uYW1lLmttfSAvICR7cC5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24gZGlzYWJsZWQ+Tm8gcHJvdmluY2VzIGF2YWlsYWJsZTwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBuYW1lPVwiZGlzdHJpY3RcIiBsYWJlbD1cIuGen+GfkuGemuGeu+GegC/hnoHhno7hn5LhnowgLyBEaXN0cmljdC9LaGFuXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlIH1dfT5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBEaXN0cmljdFwiIG9uQ2hhbmdlPXtoYW5kbGVEaXN0cmljdENoYW5nZX0+XG4gICAgICAgICAgICAgICAge2Rpc3RyaWN0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICBkaXN0cmljdHMubWFwKChkKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtkLmlkfSB2YWx1ZT17YCR7ZC5pZH0sICR7ZC5uYW1lLmttfSAvICR7ZC5uYW1lLmxhdGlufWB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtgJHtkLm5hbWUua219IC8gJHtkLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGRpc2FibGVkPk5vIGRpc3RyaWN0cyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbmFtZT1cImNvbW11bmVcIiBsYWJlbD1cIuGeg+Geu+Gfhi/hnp/hnoThn5LhnoDhnrbhno/hn4sgLyBDb21tdW5lL1NhbmdrYXRcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUgfV19PlxuICAgICAgICAgICAgICA8U2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IENvbW11bmVcIiBvbkNoYW5nZT17aGFuZGxlQ29tbXVuZUNoYW5nZX0+XG4gICAgICAgICAgICAgICAge2NvbW11bmVzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgIGNvbW11bmVzLm1hcCgoYykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17Yy5pZH0gdmFsdWU9e2Ake2MuaWR9LCAke2MubmFtZS5rbX0gLyAke2MubmFtZS5sYXRpbn1gfT5cbiAgICAgICAgICAgICAgICAgICAgICB7YCR7Yy5uYW1lLmttfSAvICR7Yy5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyBjb21tdW5lcyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbmFtZT1cInZpbGxhZ2VcIiBsYWJlbD1cIuGel+GevOGemOGetyAvIFZpbGxhZ2VcIj5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBWaWxsYWdlXCI+XG4gICAgICAgICAgICAgICAge3ZpbGxhZ2VzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgIHZpbGxhZ2VzLm1hcCgodikgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17di5pZH0gdmFsdWU9e2Ake3YubmFtZS5rbX0gLyAke3YubmFtZS5sYXRpbn1gfT5cbiAgICAgICAgICAgICAgICAgICAgICB7YCR7di5uYW1lLmttfSAvICR7di5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyB2aWxsYWdlcyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogRmFtaWx5IE1lbWJlciBDb3VudHMgKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnp/hnpjhnrbhnofhnrfhnoDhnp/hnprhnrvhnpQgLyBUb3RhbCBNZW1iZXJzXCIgbmFtZT1cInRvdGFsX21lbWJlclwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2UgZW50ZXIgdG90YWwgbWVtYmVyXCIgfV19PlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRUb3RhbENoYW5nZSgnbWVtYmVyJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnp/hnpjhnrbhnofhnrfhnoDhnpThn5Lhnprhnrvhnp8gLyBNYWxlIE1lbWJlcnNcIiBuYW1lPVwibWVtYmVyX21hbGVcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIGVudGVyIG1hbGUgbWVtYmVyXCIgfV19PlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ21lbWJlcicsICdtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnp/hnpjhnrbhnofhnrfhnoDhnp/hn5LhnprhnrggLyBGZW1hbGUgTWVtYmVyc1wiIG5hbWU9XCJtZW1iZXJfZmVtYWxlXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBmZW1hbGUgbWVtYmVyXCIgfV19PlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ21lbWJlcicsICdmZW1hbGUnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGen+GfkuGemuGfkuGej+GeuOGemOGetuGek+GeleGfkuGekeGfg+GeluGfhOGfhyAvIFRvdGFsIFByZWduYW50XCIgbmFtZT1cInRvdGFsX3ByZWduYW50XCI+PElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIEJhYmllcyAmIENoaWxkcmVuICovfVxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6R4Z624Z6a4Z6A4Z6f4Z6a4Z674Z6UICg8IOGfouGehuGfkuGek+GetuGfhikgLyBUb3RhbCBCYWJpZXMgKDwgMiB5ZWFycylcIiBuYW1lPVwidG90YWxfYmFieVwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRUb3RhbENoYW5nZSgnYmFieScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6R4Z624Z6a4Z6A4Z6U4Z+S4Z6a4Z674Z6fIC8gQmFieSBNYWxlXCIgbmFtZT1cImJhYnlfbWFsZVwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ2JhYnknLCAnbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6R4Z624Z6a4Z6A4Z6f4Z+S4Z6a4Z64IC8gQmFieSBGZW1hbGVcIiBuYW1lPVwiYmFieV9mZW1hbGVcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdiYWJ5JywgJ2ZlbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGegOGeu+GemOGetuGemuGen+GemuGeu+GelCAo4Z+iLeGfoeGfo+GehuGfkuGek+GetuGfhikgLyBUb3RhbCBDaGlsZHJlbiAoMi0xMyB5ZWFycylcIiBuYW1lPVwidG90YWxfY2hpbGRcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50VG90YWxDaGFuZ2UoJ2NoaWxkJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnoDhnrvhnpjhnrbhnprhnpThn5Lhnprhnrvhnp8gLyBDaGlsZCBNYWxlXCIgbmFtZT1cImNoaWxkX21hbGVcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdjaGlsZCcsICdtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnoDhnrvhnpjhnrbhnprhnrjhnp/hn5LhnprhnrggLyBDaGlsZCBGZW1hbGVcIiBuYW1lPVwiY2hpbGRfZmVtYWxlXCI+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSgnY2hpbGQnLCAnZmVtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBEaXNhYmlsaXR5ICYgT2xkIEFnZSAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PjxGb3JtLkl0ZW0gbmFtZT1cImlzX2Rpc2FibGVkXCIgdmFsdWVQcm9wTmFtZT1cImNoZWNrZWRcIiBpbml0aWFsVmFsdWU9e2ZhbHNlfT48Q2hlY2tib3g+4Z6Y4Z624Z6T4Z6W4Z634Z6A4Z624Z6a4Z6X4Z624Z6WIC8gRGlzYWJsZWQ8L0NoZWNrYm94PjwvRm9ybS5JdGVtPjwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+PEZvcm0uSXRlbSBuYW1lPVwiaXNfb2xkX2FnZVwiIHZhbHVlUHJvcE5hbWU9XCJjaGVja2VkXCIgaW5pdGlhbFZhbHVlPXtmYWxzZX0+PENoZWNrYm94PuGemOGetuGek+GemOGek+Geu+Gen+GfkuGen+GeheGetuGen+GfiyAvIE9sZCBBZ2UgKCZndDsg4Z+m4Z+lKTwvQ2hlY2tib3g+PC9Gb3JtLkl0ZW0+PC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBUcmFuc3BvcnRhdGlvbiAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezh9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbVxuICAgICAgICAgICAgICBuYW1lPVwidHJhbnNwb3J0YXRpb25faWRcIlxuICAgICAgICAgICAgICBsYWJlbD1cIuGemOGekuGfkuGemeGfhOGelOGetuGemeGekuGfkuGenOGevuGeiuGfhuGejuGevuGemiAvIFRyYW5zcG9ydGF0aW9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6H4Z+S4Z6a4Z6+4Z6f4Z6a4Z6+4Z6f4Z6Y4Z6S4Z+S4Z6Z4Z+E4Z6U4Z624Z6Z4Z6S4Z+S4Z6c4Z6+4Z6K4Z+G4Z6O4Z6+4Z6aIC8gU2VsZWN0IHRyYW5zcG9ydGF0aW9uXCJcbiAgICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dHJhbnNwb3J0YXRpb25zLm1hcChvcHRpb24gPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e29wdGlvbi5pZH0gdmFsdWU9e29wdGlvbi5pZH0+XG4gICAgICAgICAgICAgICAgICAgIHtvcHRpb24ubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogTm90ZXMgKi99XG4gICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnoDhn4bhno7hno/hn4vhnoXhn4bhno7hnrbhn4YgLyBOb3Rlc1wiIG5hbWU9XCJub3RlXCI+XG4gICAgICAgICAgPElucHV0LlRleHRBcmVhIHJvd3M9ezN9IHBsYWNlaG9sZGVyPVwi4Z6U4Z6J4Z+S4Z6F4Z684Z6b4Z6A4Z+G4Z6O4Z6P4Z+L4Z6F4Z+G4Z6O4Z624Z+G4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6YIC8gRW50ZXIgYWRkaXRpb25hbCBub3Rlc1wiIC8+XG4gICAgICAgIDwvRm9ybS5JdGVtPlxuXG4gICAgICAgIHshaXNWaWV3TW9kZSAmJiAoXG4gICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgIDxTcGFjZT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIGh0bWxUeXBlPVwic3VibWl0XCIgbG9hZGluZz17cmVnaXN0ZXJQZW5kaW5nfT5cbiAgICAgICAgICAgICAgICB7XCLhnpThnonhn5LhnofhnrzhnpMgLyBTdWJtaXRcIn1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlQ2FuY2VsfT5cbiAgICAgICAgICAgICAgICDhnpThn4Thn4fhnpThnoThn4sgLyBDYW5jZWxcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L1NwYWNlPlxuICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICApfVxuICAgICAgPC9Gb3JtPlxuICAgIDwvQ2FyZD5cbiAgKTtcbn07XG5cbmNvbnN0IEFMTE9XRURfUFJPVklOQ0VfSURTID0gWycyMicsICcwMScsICcxNScsICcxMyddOyAgLy8gS29tcG9uZyBTcGV1LCBCYW50ZWF5IE1lYW4gQ2hleSwgUHVyc2F0LCBQcmVhaCBWaWhlYXJcblxuZXhwb3J0IGRlZmF1bHQgRmFtaWx5U3VydmV5Rm9ybTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVGFibGUsIEJ1dHRvbiwgTW9kYWwsIElucHV0LCBTcGFjZSwgRm9ybSwgUm93LCBDb2wsIFNlbGVjdCwgSW5wdXROdW1iZXIgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgUGx1c091dGxpbmVkLCBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBFeWVPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3JlZHV4L3N0b3JlXCI7XG5pbXBvcnQgeyBGYW1pbHlNZW1iZXIgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7XG4gIGZldGNoRmFtaWx5U3VydmV5LFxuICBkZWxldGVGYW1pbHlBY3Rpb24sXG4gIGZldGNoUHJvdmluY2UsXG4gIGZldGNoRGlzdHJpY3QsXG59IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9mYW1pbHlfc3VydmV5L2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IEZhbWlseVN1cnZleUZvcm0gZnJvbSBcIi4vRmFtaWx5U3VydmV5Rm9ybVwiO1xuaW1wb3J0IFN3YWwgZnJvbSBcInN3ZWV0YWxlcnQyXCI7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHN0YXR1czogc3RyaW5nO1xufVxuXG5jb25zdCBGYW1pbHlBcHByb3ZlZExpc3Q6IFJlYWN0LkZDPFByb3BzPiA9ICh7IHN0YXR1cyB9KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcbiAgY29uc3QgW2N1cnJlbnRQYWdlLCBzZXRDdXJyZW50UGFnZV0gPSB1c2VTdGF0ZSgxKTtcbiAgY29uc3QgW3BhZ2VTaXplLCBzZXRQYWdlU2l6ZV0gPSB1c2VTdGF0ZSgyMCk7XG5cbiAgY29uc3QgeyBmYW1pbGllcywgcHJvdmluY2VzLCBkaXN0cmljdHMsIHJlZ2lzdGVyUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmZhbWlsaVN1cnZleSB8fCB7fVxuICApO1xuXG4gIGNvbnN0IFtpc01vZGFsVmlzaWJsZSwgc2V0SXNNb2RhbFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VhcmNoVGV4dCwgc2V0U2VhcmNoVGV4dF0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW2lzVmlld01vZGUsIHNldElzVmlld01vZGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2VsZWN0ZWRSZWNvcmQsIHNldFNlbGVjdGVkUmVjb3JkXSA9IHVzZVN0YXRlPEZhbWlseU1lbWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcHJvdmluY2UsIHNldFByb3ZpbmNlXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbZGlzdHJpY3QsIHNldERpc3RyaWN0XSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbdG90YWxNZW1iZXIsIHNldFRvdGFsTWVtYmVyXSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYWdlLCBzZXRBZ2VdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gZXh0cmFjdCBzYWZlbHlcbiAgY29uc3QgZGF0YVNvdXJjZSA9IGZhbWlsaWVzPy5kYXRhIHx8IFtdO1xuICBjb25zdCBtZXRhID0gZmFtaWxpZXM/Lm1ldGEgfHwgeyB0b3RhbDogMCwgcGFnZTogMSwgcGFnZVNpemU6IDIwIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFByb3ZpbmNlKCkpO1xuICB9LCBbZGlzcGF0Y2hdKTtcblxuICAvLyBGZXRjaCBkYXRhIHdpdGggcGFnaW5hdGlvblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoRmFtaWx5U3VydmV5KHtcbiAgICAgIHNlYXJjaDogc2VhcmNoVGV4dCxcbiAgICAgIHByb3ZpbmNlOiBwcm92aW5jZSxcbiAgICAgIGRpc3RyaWN0OiBkaXN0cmljdCxcbiAgICAgIHRvdGFsX21lbWJlcjogdG90YWxNZW1iZXIsXG4gICAgICBhZ2U6IGFnZSxcbiAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgcGFnZVNpemVcbiAgICB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgc2VhcmNoVGV4dCwgcHJvdmluY2UsIGRpc3RyaWN0LCB0b3RhbE1lbWJlciwgYWdlLCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKTtcblxuICBjb25zdCBoYW5kbGVUYWJsZUNoYW5nZSA9IChwYWdpbmF0aW9uOiBhbnkpID0+IHtcbiAgICBzZXRDdXJyZW50UGFnZShwYWdpbmF0aW9uLmN1cnJlbnQpO1xuICAgIHNldFBhZ2VTaXplKHBhZ2luYXRpb24ucGFnZVNpemUpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9ICgpID0+IHtcbiAgICBzZXRDdXJyZW50UGFnZSgxKTsgLy8gUmVzZXQgdG8gZmlyc3QgcGFnZSB3aGVuIHNlYXJjaGluZ1xuICAgIGRpc3BhdGNoKGZldGNoRmFtaWx5U3VydmV5KHtcbiAgICAgIHNlYXJjaDogc2VhcmNoVGV4dCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBwYWdlU2l6ZVxuICAgIH0pKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQcm92aW5jZUNoYW5nZSA9ICh2YWx1ZT86IHN0cmluZykgPT4ge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICBzZXRQcm92aW5jZSh2YWx1ZSk7XG4gICAgY29uc3QgW3Byb3ZpbmNlSWQsIHByb3ZpbmNlTmFtZV0gPSB2YWx1ZS5zcGxpdChcIixcIik7XG4gICAgZGlzcGF0Y2goZmV0Y2hEaXN0cmljdCh7IGlkOiBOdW1iZXIocHJvdmluY2VJZC50cmltKCkpIH0pKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVSZXNldCA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KFwiXCIpO1xuICAgIHNldEN1cnJlbnRQYWdlKDEpO1xuICAgIGRpc3BhdGNoKGZldGNoRmFtaWx5U3VydmV5KHtcbiAgICAgIHNlYXJjaDogXCJcIixcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBwYWdlU2l6ZVxuICAgIH0pKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVWaWV3ID0gKHJlY29yZDogRmFtaWx5TWVtYmVyKSA9PiB7XG4gICAgc2V0U2VsZWN0ZWRSZWNvcmQocmVjb3JkKTtcbiAgICBzZXRJc01vZGFsVmlzaWJsZSh0cnVlKTtcbiAgICBzZXRJc1ZpZXdNb2RlKHRydWUpO1xuICAgIGZvcm0uc2V0RmllbGRzVmFsdWUocmVjb3JkKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFZGl0ID0gKGlkOiBhbnkpID0+IHtcbiAgICBuYXZpZ2F0ZShgL2ZhbWlseS1zdXJ2ZXkvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogbnVtYmVyKSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAn4Z6P4Z6+4Z6i4Z+S4Z6T4Z6A4Z6U4Z+S4Z6a4Z624Z6A4Z6K4Z6R4Z+BPyAvIEFyZSB5b3Ugc3VyZT8nLFxuICAgICAgdGV4dDogJ1lvdSB3b25cXCd0IGJlIGFibGUgdG8gcmV2ZXJ0IHRoaXMhJyxcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgaHRtbDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY29uZmlybS1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNvbmZpcm0gc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzO1wiPuGem+Geu+GelCAvIERlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjYW5jZWwtZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jYW5jZWwgc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMzA4NWQ2O1wiPuGelOGfhOGfh+GelOGehOGfiyAvIENhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGAsXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjb25maXJtLWRlbGV0ZScpO1xuICAgICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjYW5jZWwtZGVsZXRlJyk7XG5cbiAgICAgICAgY29uZmlybUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlRmFtaWx5QWN0aW9uKGlkKSlcbiAgICAgICAgICAgIC51bndyYXAoKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn4Z6U4Z624Z6T4Z6b4Z674Z6UISAvIERlbGV0ZWQhJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnVGhlIGZhbWlseSBoYXMgYmVlbiBkZWxldGVkLicsXG4gICAgICAgICAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBkaXNwYXRjaChmZXRjaEZhbWlseVN1cnZleSh7XG4gICAgICAgICAgICAgICAgc2VhcmNoOiBzZWFyY2hUZXh0LFxuICAgICAgICAgICAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplXG4gICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRXJyb3IhJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnRmFpbGVkIHRvIGRlbGV0ZSBmYW1pbHkuJyxcbiAgICAgICAgICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjYW5jZWxCdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6bLuGemlwiLFxuICAgICAga2V5OiBcIm5vXCIsXG4gICAgICB3aWR0aDogNjAsXG4gICAgICByZW5kZXI6IChfOiBhbnksIF9fOiBhbnksIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgIChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemUgKyBpbmRleCArIDEsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnojhn5Lhnpjhn4Thn4fhnoLhn5Lhnprhnr3hnp/hnrbhnppcIixcbiAgICAgIGRhdGFJbmRleDogXCJuYW1lXCIsXG4gICAgICBrZXk6IFwibmFtZVwiLFxuICAgICAgd2lkdGg6IDEyMCxcbiAgICAgIGVsbGlwc2lzOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RXCIsXG4gICAgICBkYXRhSW5kZXg6IFwicGhvbmVcIixcbiAgICAgIGtleTogXCJwaG9uZVwiLFxuICAgICAgd2lkdGg6IDEyMCxcbiAgICAgIGVsbGlwc2lzOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6i4Z624Z6f4Z6Z4Z6K4Z+S4Z6L4Z624Z6TXCIsXG4gICAgICBrZXk6IFwiYWRkcmVzc1wiLFxuICAgICAgd2lkdGg6IDIwMCxcbiAgICAgIHJlbmRlcjogKHJlY29yZDogYW55KSA9PlxuICAgICAgICBgJHtyZWNvcmQuY29tbXVuZSB8fCAnJ30sICR7cmVjb3JkLmRpc3RyaWN0IHx8ICcnfSwgJHtyZWNvcmQucHJvdmluY2UgfHwgJyd9YCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIuGeouGetuGemeGeu1wiLFxuICAgICAgZGF0YUluZGV4OiBcImFnZVwiLFxuICAgICAga2V5OiBcImFnZVwiLFxuICAgICAgd2lkdGg6IDYwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6f4Z6a4Z674Z6UXCIsXG4gICAgICBkYXRhSW5kZXg6IFwidG90YWxfbWVtYmVyXCIsXG4gICAgICBrZXk6IFwidG90YWxfbWVtYmVyXCIsXG4gICAgICB3aWR0aDogMTA1LFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6U4Z+S4Z6a4Z674Z6fXCIsXG4gICAgICBkYXRhSW5kZXg6IFwibWVtYmVyX21hbGVcIixcbiAgICAgIGtleTogXCJtZW1iZXJfbWFsZVwiLFxuICAgICAgd2lkdGg6IDEwNSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIuGen+GemOGetuGeh+Get+GegOGen+GfkuGemuGeuFwiLFxuICAgICAgZGF0YUluZGV4OiBcIm1lbWJlcl9mZW1hbGVcIixcbiAgICAgIGtleTogXCJtZW1iZXJfZmVtYWxlXCIsXG4gICAgICB3aWR0aDogMTAwLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z+S4Z6P4Z+S4Z6a4Z644Z6Y4Z624Z6T4Z6V4Z+S4Z6R4Z+D4Z6W4Z+E4Z+HXCIsXG4gICAgICBkYXRhSW5kZXg6IFwidG90YWxfcHJlZ25hbnRcIixcbiAgICAgIGtleTogXCJ0b3RhbF9wcmVnbmFudFwiLFxuICAgICAgd2lkdGg6IDExNSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIuGemOGetuGek+GeluGet+GegOGetuGemuGel+GetuGellwiLFxuICAgICAgZGF0YUluZGV4OiBcImlzX2Rpc2FibGVkXCIsXG4gICAgICBrZXk6IFwiaXNfZGlzYWJsZWRcIixcbiAgICAgIHdpZHRoOiAxMDUsXG4gICAgICByZW5kZXI6ICh2YWx1ZTogYm9vbGVhbikgPT4gKHZhbHVlID8gXCLinJNcIiA6IFwi4pyXXCIpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6Y4Z624Z6T4Z6Y4Z6T4Z674Z6f4Z+S4Z6f4Z6F4Z624Z6f4Z+LXCIsXG4gICAgICBkYXRhSW5kZXg6IFwiaXNfb2xkX2FnZVwiLFxuICAgICAga2V5OiBcImlzX29sZF9hZ2VcIixcbiAgICAgIHdpZHRoOiAxMTgsXG4gICAgICByZW5kZXI6ICh2YWx1ZTogYm9vbGVhbikgPT4gKHZhbHVlID8gXCLinJNcIiA6IFwi4pyXXCIpLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z6A4Z6Y4Z+S4Z6Y4Z6X4Z624Z6WXCIsXG4gICAgICBrZXk6IFwiYWN0aW9uXCIsXG4gICAgICBmaXhlZDogXCJyaWdodFwiLFxuICAgICAgd2lkdGg6IDE1MCxcbiAgICAgIHJlbmRlcjogKF86IGFueSwgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBpY29uPXs8RXllT3V0bGluZWQgLz59XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVWaWV3KHJlY29yZCl9XG4gICAgICAgICAgICB0aXRsZT1cIuGemOGevuGemyAvIFZpZXdcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgaWNvbj17PEVkaXRPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX1cbiAgICAgICAgICAgIHRpdGxlPVwi4Z6A4Z+C4Z6U4Z+S4Z6a4Z+CIC8gRWRpdFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBkYW5nZXJcbiAgICAgICAgICAgIGljb249ezxEZWxldGVPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfVxuICAgICAgICAgICAgdGl0bGU9XCLhnpvhnrvhnpQgLyBEZWxldGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgey8qIEhlYWRlciB3aXRoIENyZWF0ZSAmIFNlYXJjaCAqL31cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogSGVhZGVyIENvbnRyb2xzICovfVxuICAgICAgICA8Um93IGd1dHRlcj17WzE2LCAxNl19IGp1c3RpZnk9XCJzcGFjZS1iZXR3ZWVuXCIgYWxpZ249XCJtaWRkbGVcIiBzdHlsZT17eyBtYXJnaW46ICcxMHB4JyB9fT5cbiAgICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelCAvIFRvdGFsOiB7ZGF0YVNvdXJjZT8ubGVuZ3RoIHx8IDB9PC9zcGFuPlxuICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi4Z6f4Z+S4Z6c4Z+C4Z6E4Z6a4Z6AIC8gU2VhcmNoLi4uXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IDIwMCB9fVxuICAgICAgICAgICAgICB2YWx1ZT17c2VhcmNoVGV4dH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2hUZXh0KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVNlYXJjaH0gdHlwZT1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAg4Z6F4Z6Y4Z+S4Z6a4Z+E4Z+HIC8gRmlsdGVyXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PlxuICAgICAgICAgICAgICDhnoDhn4bhno7hno/hn4vhnqHhnr7hnoThnpzhnrfhnokgLyBSZXNldFxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9TcGFjZT5cbiAgICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgaWNvbj17PFBsdXNPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZShgL2ZhbWlseS1zdXJ2ZXkvZm9ybWApfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICDhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5LhnpjhnrggLyBBZGQgTmV3XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogRmlsdGVycyAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxNiwgMTZdfSBzdHlsZT17eyBtYXJnaW46ICc1cHgnIH19PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fSBsZz17Nn0+XG4gICAgICAgICAgICA8c3Bhbj7hnoHhn4Hhno/hn5Lhno/igIsg4Z6sIOGegOGfkuGemuGeu+GehDwvc3Bhbj5cbiAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgUHJvdmluY2Ugb3IgQ2l0eVwiXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVQcm92aW5jZUNoYW5nZX1cbiAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7QXJyYXkuaXNBcnJheShwcm92aW5jZXMpICYmIHByb3ZpbmNlcy5sZW5ndGggPiAwID8gKFxuICAgICAgICAgICAgICAgIHByb3ZpbmNlcy5maWx0ZXIocCA9PiBBTExPV0VEX1BST1ZJTkNFX0lEUy5pbmNsdWRlcyhwLmlkLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSkpLm1hcCgocHJvdmluY2UpID0+IChcbiAgICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uXG4gICAgICAgICAgICAgICAgICAgIGtleT17cHJvdmluY2UuaWR9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtgJHtwcm92aW5jZS5pZH0sICR7cHJvdmluY2UubmFtZS5rbX0gLyAke3Byb3ZpbmNlLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2Ake3Byb3ZpbmNlLm5hbWUua219IC8gJHtwcm92aW5jZS5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICA8L1NlbGVjdC5PcHRpb24+XG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8U2VsZWN0Lk9wdGlvbiBkaXNhYmxlZD5ObyBwcm92aW5jZXMgYXZhaWxhYmxlPC9TZWxlY3QuT3B0aW9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9IGxnPXs2fT5cbiAgICAgICAgICAgIDxzcGFuPuGen+GfkuGemuGeu+GegCDhnqzigIsg4Z6B4Z6O4Z+S4Z6MPC9zcGFuPlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBEaXN0cmljdCBvciBLaGFuXCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogYW55KSA9PiBzZXREaXN0cmljdCh2YWx1ZSl9XG4gICAgICAgICAgICAgIHNob3dTZWFyY2hcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2Rpc3RyaWN0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgZGlzdHJpY3RzLm1hcCgoZCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e2QuaWR9IHZhbHVlPXtgJHtkLmlkfSwgJHtkLm5hbWUua219IC8gJHtkLm5hbWUubGF0aW59YH0+XG4gICAgICAgICAgICAgICAgICAgIHtgJHtkLm5hbWUua219IC8gJHtkLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyBkaXN0cmljdHMgYXZhaWxhYmxlPC9PcHRpb24+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgPHNwYW4+4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6f4Z6a4Z674Z6UPC9zcGFuPlxuICAgICAgICAgICAgPElucHV0TnVtYmVyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUb3RhbCBtZW1iZXJcIlxuICAgICAgICAgICAgICBtaW49ezB9XG4gICAgICAgICAgICAgIHZhbHVlPXt0b3RhbE1lbWJlcn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3NldFRvdGFsTWVtYmVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgPHNwYW4+4Z6i4Z624Z6Z4Z67PC9zcGFuPlxuICAgICAgICAgICAgPElucHV0TnVtYmVyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZ2VcIlxuICAgICAgICAgICAgICBtaW49ezB9XG4gICAgICAgICAgICAgIHZhbHVlPXthZ2V9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtzZXRBZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogRmFtaWx5IFRhYmxlICovfVxuICAgICAgPFRhYmxlXG4gICAgICAgIGRhdGFTb3VyY2U9e2RhdGFTb3VyY2V9XG4gICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgIGxvYWRpbmc9e3JlZ2lzdGVyUGVuZGluZ31cbiAgICAgICAgcm93S2V5PVwiaWRcIlxuICAgICAgICBzY3JvbGw9e3sgeDogMTIwMCB9fVxuICAgICAgICBwYWdpbmF0aW9uPXt7XG4gICAgICAgICAgY3VycmVudDogY3VycmVudFBhZ2UsXG4gICAgICAgICAgcGFnZVNpemU6IHBhZ2VTaXplLFxuICAgICAgICAgIHRvdGFsOiBtZXRhLnRvdGFsLFxuICAgICAgICAgIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSxcbiAgICAgICAgICBzaG93VG90YWw6ICh0b3RhbCwgcmFuZ2UpID0+IGAke3JhbmdlWzBdfS0ke3JhbmdlWzFdfSBvZiAke3RvdGFsfSBpdGVtc2BcbiAgICAgICAgfX1cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRhYmxlQ2hhbmdlfVxuICAgICAgLz5cblxuICAgICAgey8qIENyZWF0ZSBGb3JtIE1vZGFsICovfVxuICAgICAgPE1vZGFsXG4gICAgICAgIHRpdGxlPXtcIuGemOGevuGem+GeluGfkOGej+GfjOGemOGetuGek+GeguGfkuGemuGeveGen+GetuGemiAvIFZpZXcgRmFtaWx5IERldGFpbHNcIn1cbiAgICAgICAgb3Blbj17aXNNb2RhbFZpc2libGV9XG4gICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XG4gICAgICAgICAgc2V0SXNNb2RhbFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgIHNldElzVmlld01vZGUoZmFsc2UpO1xuICAgICAgICAgIHNldFNlbGVjdGVkUmVjb3JkKG51bGwpO1xuICAgICAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICAgICAgfX1cbiAgICAgICAgZm9vdGVyPXtudWxsfVxuICAgICAgICB3aWR0aD17OTAwfVxuICAgICAgPlxuICAgICAgICA8RmFtaWx5U3VydmV5Rm9ybVxuICAgICAgICAgIGlzVmlld01vZGU9e2lzVmlld01vZGV9XG4gICAgICAgICAgaW5pdGlhbFZhbHVlcz17c2VsZWN0ZWRSZWNvcmR9XG4gICAgICAgIC8+XG4gICAgICA8L01vZGFsPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQUxMT1dFRF9QUk9WSU5DRV9JRFMgPSBbJzIyJywgJzAxJywgJzE1JywgJzEzJ107ICAvLyBLb21wb25nIFNwZXUsIEJhbnRlYXkgTWVhbiBDaGV5LCBQdXJzYXQsIFByZWFoIFZpaGVhclxuXG5leHBvcnQgZGVmYXVsdCBGYW1pbHlBcHByb3ZlZExpc3Q7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgVm9sdW50ZWVyQXR0ZW5kYW5jZVBhZ2UgZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vcGFnZXMvcXJjb2RlJztcblxuY29uc3QgQXR0ZW5kYW5jZVFSOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8Vm9sdW50ZWVyQXR0ZW5kYW5jZVBhZ2UgLz4pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXR0ZW5kYW5jZVFSO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IExvZ2luRm9ybSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9sb2dpbic7XG5cbmNvbnN0IEF1dGg6IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxMb2dpbkZvcm0gLz4pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXV0aDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBUZWxlZ3JhbUxvZ2luRm9ybSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9sb2dpbl90ZWxlZ3JhbSc7XG5pbXBvcnQgTG9naW5Gb3JtIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2xvZ2luJztcblxuY29uc3QgTG9naW46IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIC8vIDxUZWxlZ3JhbUxvZ2luRm9ybS8+XG4gICAgPExvZ2luRm9ybSAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9naW47XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJGb290ZXIiLCJfTGF5b3V0IiwiRm9vdGVyQ29tcG9uZW50IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiYmFja2dyb3VuZCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJfUm93IiwiZ3V0dGVyIiwiX0NvbCIsInhzIiwic20iLCJtZCIsImhyZWYiLCJ0YXJnZXQiLCJyZWwiLCJtYXJnaW5Ub3AiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJlbnYiLCJhc3NldF91cmwiLCJhcGlfdXJsIiwicHJvY2VzcyIsIkJBU0VfVVJMIiwidXBsb2FkX3VybCIsIk1FRElBX0FQSSIsInNvY2tldF91cmwiLCJTT0NLRVJfU0VSVkVSIiwibm90aWZpY2F0aW9uX3VybCIsIk5PVElGSUNBVElPTiIsIkFXU19BQ0NFU1NfS0VZX0lEIiwiQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIiwiUkVBQ1RfQVBQX0FQSV9UT0tFTiIsIlMzX0JVQ0tFVCIsImZpcmViYXNlX2NvbmZpZ19oZWFkZXJzIiwibGltaXQiLCJ3YWxsZXRfbGltaXQiLCJ3ZWJzb2NrZXRFdmVudCIsIkRSSVZFUl9MSVZFX0xPQ0FUSU9OIiwiVVBEQVRFX0pOX1dBTExFVCIsIkNBU0hfSU5fU1VDQ0VTUyIsIkNBU0hfT1VUX1NVQ0NFU1MiLCJOT19EUklWRVJfQVZBSUxBQkxFIiwiUEFDS0FHRV9UUkFDS0lORyIsImRlZmF1bHRBZG1pbkFjY291bnQiLCJ0ZWxlZ3JhbUlkIiwiZGV2IiwiZGV2TG9nZ2VyIiwiZXhwcmVzc0h1YiIsImV4cHJlc3NNZXJjaGFudCIsImV4cHJlc3NGaW5hbmNlIiwiZXhwcmVzc0RyaXZlciIsIlNUQVJUX0xPR0lOIiwiQVVUSF9MT0dJTiIsIkxPR0lOX0ZBSUxFRCIsIlVSTCIsIkxPR0lOIiwiTE9HSU5fVEVMRUdSQU0iLCJWRVJJRllfVE9QIiwiU0lHTlVQIiwiRElTQUJJTElUWV9UWVBFIiwiUFJPVklOQ0UiLCJPQ0NVUEFUSU9OIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OIiwiRk9PRFMiLCJGT09EIiwiRkFNSUxJRVMiLCJUUkFOU1BPUlRBVElPTlMiLCJURUFNIiwiRVZFTlQiLCJTT1VSQ0UiLCJUUkFJTklOR19TRVNTSU9OIiwiTEFOR1VBR0UiLCJTS0lMTCIsIlRFUk1TX0NPTkRJVElPTiIsIlZPTFVOVEVFUl9FVkVOVCIsIlZPTFVOVEVFUlMiLCJEQVNIQk9BUkQiLCJPRkZFUl9QUk9HUkFNIiwiVFJBVkVMX0RBWSIsIlVTRVIiLCJQVUJMSUMiLCJOT1RJRlkiLCJOT1RJRllfU1RBVFVTIiwiVVNFUl9BVFRFTkRBTkNFIiwiQ1VSUkVOQ1lfVFlQRSIsIlVTRCIsIktIUiIsIkxvYWRpbmdEaWFsb2ciLCJfUmVhY3QkQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsImFyZ3VtZW50cyIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwicmVuZGVyIiwidmlzaWJsZSIsInByb3BzIiwiX01vZGFsIiwid2lkdGgiLCJjZW50ZXJlZCIsImZvb3RlciIsImNsb3NhYmxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJfU3BpbiIsInNpemUiLCJDb21wb25lbnQiLCJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwiX3JlZ2VuZXJhdG9yIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJheGlvcyIsImNvbmZpZyIsImF4aW9zSW5zdGFuY2UiLCJiYXNlVVJMIiwidGltZW91dCIsImdldFdpdGhDb25maWciLCJfcmVmIiwiX2NhbGxlZSIsInVybCIsInBhcmFtcyIsInN1Y2Nlc3MiLCJmYWlsZWQiLCJ0b2tlbiIsImNvbmZpZ3MiLCJyZXNwb25zZSIsIl9lcnIkcmVzcG9uc2UkZGF0YSRtZSIsIl9lcnIkcmVzcG9uc2UiLCJfZXJyJHJlc3BvbnNlJGRhdGEkZXIiLCJfZXJyJHJlc3BvbnNlMiIsIm1lc3NhZ2UiLCJlcnJvciIsIl90IiwiX2NvbnRleHQiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJoZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsImNvbmNhdCIsIkFjY2VwdCIsImdldCIsImRhdGEiLCJjb25zb2xlIiwidW5kZWZpbmVkIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJwb3N0V2l0aENvbmZpZyIsIl9yZWYyIiwiX2NhbGxlZTIiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQiLCJfdDIiLCJfY29udGV4dDIiLCJsb2ciLCJwb3N0IiwiX3g1IiwiX3g2IiwicG9zdFdpdGhDb25maWdGb3JtRGF0YSIsIl9yZWYzIiwiX2NhbGxlZTMiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQyIiwiX3QzIiwiX2NvbnRleHQzIiwiX3g3IiwiX3g4IiwicG9zdFdpdGhDb25maWdXaGl0ZWxpc3QiLCJfcmVmNCIsIl9jYWxsZWU0Iiwic3RvcmVkVXNlciIsInVzZXIiLCJleHBlcnRpc2VTdHIiLCJfdDQiLCJfY29udGV4dDQiLCJKU09OIiwicGFyc2UiLCJwaG9uZV9udW1iZXIiLCJjb3VudHJ5Q29kZSIsImFyZWFDb2RlIiwicGhvbmVOdW1iZXIiLCJ0ZXJtc19jb25kaXRpb25zX2lkIiwidm9sdW50ZWVyX3N0YXR1cyIsInVzZXJfaWQiLCJpZCIsImV4cGVydGlzZSIsInRvU3RyaW5nIiwiX3g5IiwiX3gwIiwicmVtb3ZlV2l0aENvbmZpZyIsIl9yZWY1IiwiX2NhbGxlZTUiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQzIiwiX2VyciRyZXNwb25zZSRkYXRhJG1lMiIsIl9lcnIkcmVzcG9uc2UzIiwiX3Q1IiwiX2NvbnRleHQ1IiwiX3gxIiwiX3gxMCIsIl94MTEiLCJfeDEyIiwicHV0V2l0aENvbmZpZyIsIl9yZWY2IiwiX2NhbGxlZTYiLCJfdDYiLCJfY29udGV4dDYiLCJFcnJvciIsInB1dCIsIl94MTMiLCJfeDE0IiwicG9zdFVwbG9hZCIsIl9yZWY3IiwiX2NhbGxlZTciLCJjb25maWd1cmUiLCJfdDciLCJfY29udGV4dDciLCJfeDE1IiwicHVzaE5vdGlmaWNhdGlvbiIsIl9yZWY4IiwiX2NhbGxlZTgiLCJyZWNpcGllbnQiLCJ0aXRsZSIsIm1lc3NhZ2VCb2R5IiwiaXNEcml2ZXIiLCJwaG90byIsIl9lcnIkcmVzcG9uc2UkZGF0YSRtZTMiLCJfZXJyJHJlc3BvbnNlNCIsIl90OCIsIl9jb250ZXh0OCIsInRvcGljX25hbWUiLCJtZXNzYWdlX3RpdGxlIiwibWVzc2FnZV9ib2R5IiwiX3gxNiIsIl94MTciLCJfeDE4IiwiX3gxOSIsIl94MjAiLCJfeDIxIiwicHVzaE5vdGlmaWNhdGlvbkFsbEFwcCIsIl9yZWY5IiwiX2NhbGxlZTkiLCJfdDkiLCJfY29udGV4dDkiLCJfeDIyIiwiY29uZmlndXJlU3RvcmUiLCJhdXRoU2xpY2UiLCJ2b2x1bnRlZXJTbGljZSIsImRpc2FiaWxpdHlUeXBlU2xpY2UiLCJlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlIiwiZm9vZFNsaWNlIiwiaW50ZXJlc3RlZFRlYW1TbGljZSIsIm9jY3VwYXRpb25TbGljZSIsIm9wcG9ydHVuaXR5U291cmNlU2xpY2UiLCJwcm92aW5jZVNsaWNlIiwic2tpbGxTbGljZSIsInRlcm1zQ29uZGl0aW9uU2xpY2UiLCJ0cmFpbmluZ1Nlc3Npb25TbGljZSIsInZvbHVudGVlckV2ZW50U2xpY2UiLCJsYW5ndWFnZVNsaWNlIiwidXNlclNsaWNlIiwib2ZmZXJQcm9ncmFtU2xpY2UiLCJ0cmF2ZWxEYXlTbGljZSIsInVzZXJBdHRlbmRhbmNlU2xpY2UiLCJmYW1pbGlTdXJ2ZXlTbGljZSIsInN0b3JlIiwicmVkdWNlciIsImF1dGgiLCJ2b2x1bnRlZXIiLCJkaXNhYmlsaXR5VHlwZSIsImVkdWNhdGlvbkluc3RpdHV0aW9uIiwiZm9vZCIsImludGVyZXN0ZWRUZWFtIiwib2NjdXBhdGlvbiIsIm9wcG9ydHVuaXR5U291cmNlIiwicHJvdmluY2UiLCJsYW5ndWFnZSIsInNraWxsIiwidGVybXNDb25kaXRpb24iLCJ0cmFpbmluZ1Nlc3Npb24iLCJ2b2x1bnRlZXJFdmVudCIsIm9mZmVyUHJvZ3JhbSIsInRyYXZlbERheSIsInVzZXJBdHRlbmRhbmNlIiwiZmFtaWxpU3VydmV5IiwiZGV2VG9vbHMiLCJOT0RFX0VOViIsIlJvdXRlcyIsIlJvdXRlclJvdXRlcyIsIlJvdXRlIiwiTWFpbiIsIkxvZ2luIiwiTm90Rm91bmQiLCJQcm90ZWN0ZWRSb3V0ZSIsIlZvbHVudGVlclJlZ2lzdGVyRm9ybSIsIkF1dGgiLCJBdHRlbmRhbmNlUVIiLCJUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZSIsIkFwcFJvdXRlcyIsInBhdGgiLCJlbGVtZW50IiwiTmF2aWdhdGUiLCJjaGlsZHJlbiIsImFjY2Vzc1Rva2VuIiwiaXNBdXRoZW50aWNhdGVkIiwiQm9vbGVhbiIsIkZyYWdtZW50IiwidG8iLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJ1c2VOYXZpZ2F0ZSIsImZldGNoUHJvdmluY2UiLCJmZXRjaERpc3RyaWN0IiwiZmV0Y2hDb21tdW5lIiwiZmV0Y2hWaWxsYWdlU2VydmljZSIsImZldGNoVHJhbnNwb3J0YXRpb24iLCJjcmVhdGVGYW1pbHlBY3Rpb24iLCJ1cGRhdGVGYW1pbHlBY3Rpb24iLCJmYW1pbHlEZXRhaWxBY3Rpb24iLCJPcHRpb24iLCJfU2VsZWN0IiwiU1RPUkFHRV9LRVkiLCJMT0NBVElPTl9DSEFJTlMiLCJMQVNUX1NFTEVDVElPTiIsIkZhbWlseVN1cnZleUZvcm0iLCJpc1ZpZXdNb2RlIiwiaW5pdGlhbFZhbHVlcyIsIl9Gb3JtJHVzZUZvcm0iLCJfRm9ybSIsInVzZUZvcm0iLCJfRm9ybSR1c2VGb3JtMiIsIl9zbGljZWRUb0FycmF5IiwiZm9ybSIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwic2F2ZWRMb2NhdGlvbkNoYWlucyIsInNldFNhdmVkTG9jYXRpb25DaGFpbnMiLCJfdXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTZWxlY3RvciRwcm92aW5jZSIsInByb3ZpbmNlcyIsIl91c2VTZWxlY3RvciRkaXN0cmljdCIsImRpc3RyaWN0cyIsIl91c2VTZWxlY3RvciRjb21tdW5lcyIsImNvbW11bmVzIiwiX3VzZVNlbGVjdG9yJHZpbGxhZ2VzIiwidmlsbGFnZXMiLCJfdXNlU2VsZWN0b3IkdHJhbnNwb3IiLCJ0cmFuc3BvcnRhdGlvbnMiLCJmYW1pbHlTdXJ2ZXkiLCJyZWdpc3RlclBlbmRpbmciLCJyZWdpc3RlckVycm9yTWVzc2FnZSIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0NsaWNrIiwic2V0SXNDbGljayIsIk51bWJlciIsInJlc2V0RmllbGRzIiwic2V0RmllbGRzVmFsdWUiLCJuYW1lIiwicGhvbmUiLCJnZW5kZXIiLCJhZ2UiLCJkaXN0cmljdCIsImNvbW11bmUiLCJ2aWxsYWdlIiwidG90YWxfbWVtYmVyIiwibWVtYmVyX21hbGUiLCJtZW1iZXJfZmVtYWxlIiwidG90YWxfcHJlZ25hbnQiLCJ0b3RhbF9iYWJ5IiwiYmFieV9tYWxlIiwiYmFieV9mZW1hbGUiLCJ0b3RhbF9jaGlsZCIsImNoaWxkX21hbGUiLCJjaGlsZF9mZW1hbGUiLCJpc19kaXNhYmxlZCIsImlzX29sZF9hZ2UiLCJ0cmFuc3BvcnRhdGlvbl9pZCIsIm5vdGUiLCJfbWVzc2FnZSIsInNhdmVkQ2hhaW5zIiwibG9jYWxTdG9yYWdlIiwiY2hhaW5zIiwibW9zdFJlY2VudCIsImF1dG9TZWxlY3RMb2NhdGlvbkNoYWluIiwiaGFuZGxlQ291bnRUb3RhbENoYW5nZSIsInR5cGUiLCJtYWxlIiwiZ2V0RmllbGRWYWx1ZSIsImZlbWFsZSIsImhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlIiwidG90YWxGaWVsZCIsIm1lbWJlciIsImJhYnkiLCJjaGlsZCIsInRvdGFsIiwiX2RlZmluZVByb3BlcnR5Iiwid2FybmluZyIsImhhbmRsZVN1Ym1pdCIsInZhbHVlcyIsImxvY2F0aW9uQ2hhaW4iLCJwcm92aW5jZVZhbHVlIiwiZGlzdHJpY3RWYWx1ZSIsImNvbW11bmVWYWx1ZSIsInZpbGxhZ2VWYWx1ZSIsInNhdmVMb2NhdGlvbkNoYWluIiwibmV3Q2hhaW4iLCJ1cGRhdGVkQ2hhaW4iLCJfb2JqZWN0U3ByZWFkIiwidGltZXN0YW1wIiwidG9JU09TdHJpbmciLCJleGlzdGluZ0NoYWlucyIsImZpbHRlciIsImNoYWluIiwiX3VwZGF0ZWRDaGFpbiRwcm92aW5jIiwiX2NoYWluJGRpc3RyaWN0IiwiX3VwZGF0ZWRDaGFpbiRkaXN0cmljIiwiX2NoYWluJGNvbW11bmUiLCJfdXBkYXRlZENoYWluJGNvbW11bmUiLCJuZXdDaGFpbnMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzbGljZSIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJoYW5kbGVQcm92aW5jZUNoYW5nZSIsIl92YWx1ZSRzcGxpdCIsInNwbGl0IiwiX3ZhbHVlJHNwbGl0MiIsInByb3ZpbmNlSWQiLCJwcm92aW5jZU5hbWUiLCJ0cmltIiwiaGFuZGxlRGlzdHJpY3RDaGFuZ2UiLCJfZm9ybSRnZXRGaWVsZFZhbHVlIiwiX3ZhbHVlJHNwbGl0MyIsIl92YWx1ZSRzcGxpdDQiLCJkaXN0cmljdElkIiwiZGlzdHJpY3ROYW1lIiwiY3VycmVudFByb3ZpbmNlIiwiaGFuZGxlQ29tbXVuZUNoYW5nZSIsIl9mb3JtJGdldEZpZWxkVmFsdWUyIiwiX2Zvcm0kZ2V0RmllbGRWYWx1ZTMiLCJfdmFsdWUkc3BsaXQ1IiwiX3ZhbHVlJHNwbGl0NiIsImNvbW11bmVJZCIsImNvbW11bmVOYW1lIiwiY3VycmVudERpc3RyaWN0IiwiaGFuZGxlQ2FuY2VsIiwicmVtb3ZlSXRlbSIsIlF1aWNrRmlsbCIsIm1hcmdpbkJvdHRvbSIsIl9TcGFjZSIsImFsaWduIiwiX1RhZyIsImNvbG9yIiwiX0NhcmQiLCJsYXlvdXQiLCJvbkZpbmlzaCIsImRpc2FibGVkIiwic3BhbiIsIkl0ZW0iLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJfSW5wdXQiLCJwbGFjZWhvbGRlciIsInBhdHRlcm4iLCJfSW5wdXROdW1iZXIiLCJtaW4iLCJvbkNoYW5nZSIsIkFMTE9XRURfUFJPVklOQ0VfSURTIiwiaW5jbHVkZXMiLCJwYWRTdGFydCIsIm1hcCIsImttIiwibGF0aW4iLCJ2YWx1ZVByb3BOYW1lIiwiaW5pdGlhbFZhbHVlIiwiX0NoZWNrYm94IiwiYWxsb3dDbGVhciIsIm9wdGlvbiIsIlRleHRBcmVhIiwicm93cyIsIl9CdXR0b24iLCJodG1sVHlwZSIsImxvYWRpbmciLCJvbkNsaWNrIiwiUGx1c091dGxpbmVkIiwiRGVsZXRlT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsImZldGNoRmFtaWx5U3VydmV5IiwiZGVsZXRlRmFtaWx5QWN0aW9uIiwiU3dhbCIsIkZhbWlseUFwcHJvdmVkTGlzdCIsInN0YXR1cyIsImN1cnJlbnRQYWdlIiwic2V0Q3VycmVudFBhZ2UiLCJwYWdlU2l6ZSIsInNldFBhZ2VTaXplIiwiZmFtaWxpZXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzTW9kYWxWaXNpYmxlIiwic2V0SXNNb2RhbFZpc2libGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlYXJjaFRleHQiLCJzZXRTZWFyY2hUZXh0IiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzZXRJc1ZpZXdNb2RlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2VsZWN0ZWRSZWNvcmQiLCJzZXRTZWxlY3RlZFJlY29yZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRQcm92aW5jZSIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXREaXN0cmljdCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJ0b3RhbE1lbWJlciIsInNldFRvdGFsTWVtYmVyIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsInNldEFnZSIsImRhdGFTb3VyY2UiLCJtZXRhIiwicGFnZSIsImhhbmRsZVRhYmxlQ2hhbmdlIiwicGFnaW5hdGlvbiIsImN1cnJlbnQiLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZXNldCIsImhhbmRsZVZpZXciLCJyZWNvcmQiLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRleHQiLCJpY29uIiwic2hvd0NvbmZpcm1CdXR0b24iLCJzaG93Q2FuY2VsQnV0dG9uIiwiaHRtbCIsImRpZE9wZW4iLCJfU3dhbCRnZXRQb3B1cCIsIl9Td2FsJGdldFBvcHVwMiIsImNvbmZpcm1CdXR0b24iLCJnZXRQb3B1cCIsInF1ZXJ5U2VsZWN0b3IiLCJjYW5jZWxCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwidW53cmFwIiwiY2xvc2UiLCJjb2x1bW5zIiwiXyIsIl9fIiwiaW5kZXgiLCJkYXRhSW5kZXgiLCJlbGxpcHNpcyIsImZpeGVkIiwiZGFuZ2VyIiwianVzdGlmeSIsIm1hcmdpbiIsIndyYXAiLCJsZyIsInNob3dTZWFyY2giLCJBcnJheSIsImlzQXJyYXkiLCJfVGFibGUiLCJyb3dLZXkiLCJzY3JvbGwiLCJ4Iiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1RvdGFsIiwicmFuZ2UiLCJvcGVuIiwib25DYW5jZWwiLCJWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSIsIkxvZ2luRm9ybSJdLCJzb3VyY2VSb290IjoiIn0=