{"version":3,"sources":["vendor/ember-cli/app-prefix.js","web-map/adapters/application.js","web-map/app.js","web-map/authenticators/authy.js","web-map/authenticators/oauth2.js","web-map/authorizers/application.js","web-map/breakpoints.js","web-map/components/-dynamic-element-alt.js","web-map/components/-dynamic-element.js","web-map/components/as-scrollable.js","web-map/components/basic-dropdown-content.js","web-map/components/basic-dropdown-trigger.js","web-map/components/basic-dropdown.js","web-map/components/carousel.js","web-map/components/cell-fid.js","web-map/components/cell-geom.js","web-map/components/ember-scrollable.js","web-map/components/ember-scrollbar.js","web-map/components/ember-wormhole.js","web-map/components/fa-icon.js","web-map/components/feature-table.js","web-map/components/function-panel-button.js","web-map/components/light-table.js","web-map/components/light-table/cells/base.js","web-map/components/light-table/columns/base.js","web-map/components/loading-cover.js","web-map/components/login-modal.js","web-map/components/lt-body.js","web-map/components/lt-column-resizer.js","web-map/components/lt-foot.js","web-map/components/lt-head.js","web-map/components/lt-infinity.js","web-map/components/lt-row.js","web-map/components/lt-scrollable.js","web-map/components/lt-spanned-row.js","web-map/components/map-feature-export.js","web-map/components/map-geodetic.js","web-map/components/map-imagery-export.js","web-map/components/map-info-bar.js","web-map/components/map-layers.js","web-map/components/map-mininfo-bar.js","web-map/components/map-rso-digital.js","web-map/components/map-search.js","web-map/components/nlump-hover-table.js","web-map/components/ol-layer-tree-group.js","web-map/components/ol-layer-tree-item-check.js","web-map/components/ol-layer-tree-item.js","web-map/components/ol-layer-tree.js","web-map/components/ol-map-panel.js","web-map/components/ol-map-point.js","web-map/components/ol-radio.js","web-map/components/owl-carousel2.js","web-map/components/power-select-multiple.js","web-map/components/power-select-multiple/trigger.js","web-map/components/power-select.js","web-map/components/power-select/before-options.js","web-map/components/power-select/options.js","web-map/components/power-select/placeholder.js","web-map/components/power-select/power-select-group.js","web-map/components/power-select/search-message.js","web-map/components/power-select/trigger.js","web-map/components/resize-detector.js","web-map/components/scroll-content-element.js","web-map/components/vertical-collection.js","web-map/components/x-option.js","web-map/components/x-select.js","web-map/controllers/map.js","web-map/controllers/momap.js","web-map/controllers/stmap.js","web-map/helpers/-element.js","web-map/helpers/and.js","web-map/helpers/app-version.js","web-map/helpers/append.js","web-map/helpers/array.js","web-map/helpers/camelize.js","web-map/helpers/cancel-all.js","web-map/helpers/capitalize.js","web-map/helpers/chunk.js","web-map/helpers/classify.js","web-map/helpers/compact.js","web-map/helpers/compute.js","web-map/helpers/contains.js","web-map/helpers/dasherize.js","web-map/helpers/dec.js","web-map/helpers/drop.js","web-map/helpers/ember-power-select-is-group.js","web-map/helpers/ember-power-select-is-selected.js","web-map/helpers/eq.js","web-map/helpers/filter-by.js","web-map/helpers/filter.js","web-map/helpers/find-by.js","web-map/helpers/flatten.js","web-map/helpers/group-by.js","web-map/helpers/gt.js","web-map/helpers/gte.js","web-map/helpers/has-next.js","web-map/helpers/has-previous.js","web-map/helpers/html-safe.js","web-map/helpers/humanize.js","web-map/helpers/inc.js","web-map/helpers/intersect.js","web-map/helpers/invoke.js","web-map/helpers/is-array.js","web-map/helpers/is-empty.js","web-map/helpers/is-equal.js","web-map/helpers/join.js","web-map/helpers/lowercase.js","web-map/helpers/lt.js","web-map/helpers/lte.js","web-map/helpers/map-by.js","web-map/helpers/map.js","web-map/helpers/media.js","web-map/helpers/next.js","web-map/helpers/not-eq.js","web-map/helpers/not.js","web-map/helpers/object-at.js","web-map/helpers/optional.js","web-map/helpers/or.js","web-map/helpers/perform.js","web-map/helpers/pipe-action.js","web-map/helpers/pipe.js","web-map/helpers/pluralize.js","web-map/helpers/plus-one.js","web-map/helpers/previous.js","web-map/helpers/queue.js","web-map/helpers/range.js","web-map/helpers/reduce.js","web-map/helpers/reject-by.js","web-map/helpers/repeat.js","web-map/helpers/reverse.js","web-map/helpers/send.js","web-map/helpers/shuffle.js","web-map/helpers/singularize.js","web-map/helpers/slice.js","web-map/helpers/sort-by.js","web-map/helpers/take.js","web-map/helpers/task.js","web-map/helpers/titleize.js","web-map/helpers/toggle-action.js","web-map/helpers/toggle.js","web-map/helpers/trim.js","web-map/helpers/truncate.js","web-map/helpers/underscore.js","web-map/helpers/union.js","web-map/helpers/uppercase.js","web-map/helpers/w.js","web-map/helpers/without.js","web-map/helpers/xor.js","web-map/initializers/app-version.js","web-map/initializers/container-debug-adapter.js","web-map/initializers/debug.js","web-map/initializers/ember-concurrency.js","web-map/initializers/ember-data.js","web-map/initializers/ember-responsive-breakpoints.js","web-map/initializers/ember-simple-auth.js","web-map/initializers/export-application-global.js","web-map/initializers/optmm-global.js","web-map/initializers/viewport-config.js","web-map/instance-initializers/ember-data.js","web-map/instance-initializers/ember-simple-auth.js","web-map/mixins/checkout/checkout-list.js","web-map/mixins/table-common.js","web-map/mixins/w3o-users-roles/check-session-activity.js","web-map/mixins/w3o-users-roles/check-user-role.js","web-map/mixins/w3o-users-roles/create-edit-appaccess.js","web-map/mixins/w3o-users-roles/create-edit-application.js","web-map/mixins/w3o-users-roles/create-edit-route.js","web-map/mixins/w3o-users-roles/create-edit-user.js","web-map/mixins/w3o-users-roles/focus-for-keypress.js","web-map/mixins/w3o-users-roles/invalidate-session.js","web-map/mixins/w3o-users-roles/modal-actions.js","web-map/mixins/w3o-users-roles/role-manager-app.js","web-map/mixins/w3o-users-roles/set-session-user.js","web-map/models/company.js","web-map/models/country.js","web-map/models/employee.js","web-map/models/euser.js","web-map/models/featureexport.js","web-map/models/formuser.js","web-map/models/geodeticexport.js","web-map/models/group.js","web-map/models/imageexport.js","web-map/models/ol-feature.js","web-map/models/ol-layer.js","web-map/models/ol-map.js","web-map/models/ol-source-vector.js","web-map/models/order.js","web-map/models/organization.js","web-map/models/processmemo.js","web-map/models/rsoexport.js","web-map/models/secretquestion.js","web-map/models/user.js","web-map/models/usergroup.js","web-map/models/userprocesstask.js","web-map/modifiers/did-insert.js","web-map/modifiers/did-update.js","web-map/modifiers/will-destroy.js","web-map/resolver.js","web-map/router.js","web-map/routes/application.js","web-map/routes/cashpayment.js","web-map/routes/change-password.js","web-map/routes/checkout.js","web-map/routes/conditions-of-use.js","web-map/routes/disclaimer.js","web-map/routes/disclaimermap-mobile.js","web-map/routes/disclaimermap.js","web-map/routes/disclaimerstmap.js","web-map/routes/foc.js","web-map/routes/index.js","web-map/routes/login.js","web-map/routes/map.js","web-map/routes/momap.js","web-map/routes/payment-success.js","web-map/routes/privacy-policy.js","web-map/routes/shopping-cart.js","web-map/routes/start-gp.js","web-map/routes/start.js","web-map/routes/stmap.js","web-map/routes/under-construction.js","web-map/services/ajax.js","web-map/services/cookies.js","web-map/services/in-viewport.js","web-map/services/media.js","web-map/services/ol-geopservice.js","web-map/services/ol-mapservice.js","web-map/services/resize-detector.js","web-map/services/scrollbar-thickness.js","web-map/services/session.js","web-map/services/text-measurer.js","web-map/session-stores/application.js","web-map/templates/application.js","web-map/templates/backup/27102021/start-gp.js","web-map/templates/backup/start-gp.js","web-map/templates/cashpayment.js","web-map/templates/change-password.js","web-map/templates/checkout.js","web-map/templates/components/backup/carousel.js","web-map/templates/components/carousel.js","web-map/templates/components/cell-fid.js","web-map/templates/components/cell-geom.js","web-map/templates/components/feature-table.js","web-map/templates/components/function-panel-button.js","web-map/templates/components/loading-cover.js","web-map/templates/components/login-modal.js","web-map/templates/components/map-feature-export.js","web-map/templates/components/map-geodetic.js","web-map/templates/components/map-imagery-export.js","web-map/templates/components/map-info-bar.js","web-map/templates/components/map-layers.js","web-map/templates/components/map-mininfo-bar.js","web-map/templates/components/map-rso-digital.js","web-map/templates/components/map-search.js","web-map/templates/components/nlump-hover-table.js","web-map/templates/components/ol-layer-tree-group.js","web-map/templates/components/ol-layer-tree-item-check.js","web-map/templates/components/ol-layer-tree-item.js","web-map/templates/components/ol-layer-tree.js","web-map/templates/components/ol-map-panel.js","web-map/templates/components/ol-map-point.js","web-map/templates/components/ol-radio.js","web-map/templates/components/x-select.js","web-map/templates/conditions-of-use.js","web-map/templates/disclaimer.js","web-map/templates/disclaimermap-mobile.js","web-map/templates/disclaimermap.js","web-map/templates/disclaimerstmap.js","web-map/templates/foc.js","web-map/templates/index.js","web-map/templates/loading.js","web-map/templates/login.js","web-map/templates/map.js","web-map/templates/momap.js","web-map/templates/payment-success.js","web-map/templates/privacy-policy.js","web-map/templates/shopping-cart.js","web-map/templates/start-gp.js","web-map/templates/start.js","web-map/templates/stmap.js","web-map/templates/unauthorized.js","web-map/templates/under-construction.js","web-map/transforms/array.js","web-map/transforms/ol-geometry.js","web-map/utils/calculate-position.js","web-map/utils/get-cookie.js","web-map/utils/titleize.js","web-map/validators/alias.js","web-map/validators/belongs-to.js","web-map/validators/collection.js","web-map/validators/confirmation.js","web-map/validators/date.js","web-map/validators/dependent.js","web-map/validators/ds-error.js","web-map/validators/exclusion.js","web-map/validators/format.js","web-map/validators/has-many.js","web-map/validators/inclusion.js","web-map/validators/inline.js","web-map/validators/length.js","web-map/validators/messages.js","web-map/validators/number.js","web-map/validators/presence.js","web-map/validators/unique-gdtsearchvalue.js","web-map/validators/unique-rsosearchvalue.js","web-map/validators/unique-searchvalue.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["'use strict';\n\n\n","define(\"web-map/adapters/application\", [\"exports\", \"ember-data\", \"ember-simple-auth/mixins/data-adapter-mixin\", \"axios\"], function (_exports, _emberData, _dataAdapterMixin, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n // import Inflector from 'ember-inflector';\n var _default = _emberData.default.RESTAdapter.extend(_dataAdapterMixin.default, {\n // buildURL: function(root, suffix, record) {\n // console.log('buildURL');\n // var url = this._super();\n // console.log(url);\n // console.log(root);\n // console.log(suffix);\n // console.log(record);\n // if (url.toString().indexOf('/api/v1') === -1) {\n // alert('NO /api/v1');\n // }\n // let modelName = Inflector.inflector.pluralize(root);\n // // return `${url}/${modelName}`;\n // // },\n // urlForFindHasMany(id, modelName, snapshot) {\n // console.log('urlForFindHasMany');\n // let baseUrl = this.buildURL(id, modelName);\n // console.log(baseUrl);\n // console.log(id);\n // console.log(modelName);\n // console.log(snapshot);\n // console.log(`${baseUrl}/relationships`);\n // return `${baseUrl}`;\n // },\n\n /*\n temporary-fix because sails-ember-rest doesn't provide the namespace in the link\n */\n findHasMany(store, snapshot, link) {\n return this.ajax(this.get('namespace') + link, 'GET');\n },\n\n /*\n Override the updateRecord(), so can change the default HTTP's Method, from \"PUT\" to \"PATCH\"\n https://stackoverflow.com/a/31300911\n https://github.com/emberjs/data/blob/e89732a5aefb6a81b46927da1c6f048f4aede85e/packages/ember-data/lib/adapters/rest-adapter.js#L621\n */\n updateRecord(store, type, snapshot) {\n var data = {};\n var serializer = store.serializerFor(type.modelName);\n serializer.serializeIntoHash(data, type, snapshot);\n var id = snapshot.id;\n var url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n return this.ajax(url, \"PATCH\", {\n data: data\n });\n },\n\n coalesceFindRequests: true,\n namespace: '/api/v1',\n session: Ember.inject.service('session'),\n headers: Ember.computed('session.data.authenticated.access_token', function () {\n let headers = {};\n\n if (this.session.isAuthenticated) {\n // OAuth 2\n headers['Authorization'] = \"Bearer \".concat(this.session.data.authenticated.access_token);\n }\n\n return headers;\n }),\n\n authorizeToken(xhr) {\n let {\n Authorization\n } = this.get('headers');\n\n if (xhr) {\n xhr.setRequestHeader('Authorization', Authorization);\n } else {\n $.ajaxSetup({\n beforeSend: function (xhr) {\n xhr.setRequestHeader('Authorization', Authorization);\n }\n });\n _axios.default.defaults.headers.common['Authorization'] = Authorization;\n }\n },\n\n //this is dependent on production/development environment\n //It is configured in config/environment.js\n //host: ClientENV.hostUrl\n //add IP from $DOCKER_HOST if --docker flag is set\n\n /*\n change host to your IP Address if you want to make it available on LAN\n */\n hostSurvey: 'https://survey.gov.bn',\n host: 'https://geoportal.survey.gov.bn',\n serverHost: 'https://geoportal.survey.gov.bn',\n mainHost: 'https://geoportal.survey.gov.bn',\n gpserverHost: 'https://geoportal.survey.gov.bn',\n erdasHostAtBackend: 'https://geoportal.survey.gov.bn',\n erdasHost: 'https://geoportal.survey.gov.bn',\n ecomHost: 'https://geoportal.survey.gov.bn',\n ecomWeb: 'https://maps.survey.gov.bn',\n ecomWebsite: 'https://maps.survey.gov.bn',\n recaptchaSiteKey: '6Lck5B0UAAAAALQMYJwzAWLQW7ryfwoZAYXdJsBO',\n recaptchaSecretKey: '6Lck5B0UAAAAAFRiZERSs4t4KXvhZTtbQG7_8HuB',\n inactivityDuration: 20 // in minutes\n\n /*host: 'http://192.168.1.115:4200',\n serverHost: 'http://192.168.1.115:1337'*/\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/app\", [\"exports\", \"web-map/resolver\", \"ember-load-initializers\", \"web-map/config/environment\"], function (_exports, _resolver, _emberLoadInitializers, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const App = Ember.Application.extend({\n modulePrefix: _environment.default.modulePrefix,\n podModulePrefix: _environment.default.podModulePrefix,\n Resolver: _resolver.default\n });\n (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n var _default = App;\n _exports.default = _default;\n});","define(\"web-map/authenticators/authy\", [\"exports\", \"ember-simple-auth/authenticators/oauth2-password-grant\"], function (_exports, _oauth2PasswordGrant) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _oauth2PasswordGrant.default.extend({\n refreshAccessTokens: true,\n serverTokenEndpoint: '/api/v1/auths/login2',\n // serverTokenRevocationEndpoint: '/revoke'\n routing: Ember.inject.service('-routing'),\n authObject: Ember.inject.service('session'),\n\n authenticate(identification, password, authCode, scope) {\n return new Ember.RSVP.Promise((resolve, reject) => {\n const data = {\n 'grant_type': 'password',\n username: identification,\n password,\n authCode\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n const scopesString = Ember.makeArray(scope).join(' ');\n\n if (!Ember.isEmpty(scopesString)) {\n data.scope = scopesString;\n }\n\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n const expiresAt = this._absolutizeExpirationTime(response['expires_in']);\n\n this._scheduleAccessTokenRefresh(response['expires_in'], expiresAt, response['refresh_token']);\n\n if (!Ember.isEmpty(expiresAt)) {\n response = Ember.merge(response, {\n 'expires_at': expiresAt\n });\n }\n\n resolve(response);\n });\n }, xhr => {\n Ember.run(null, reject, xhr.responseJSON || xhr.responseText);\n });\n });\n },\n\n _refreshAccessToken(expiresIn, refreshToken) {\n var self = this;\n const data = {\n 'grant_type': 'refresh_token',\n 'refresh_token': refreshToken\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n return new Ember.RSVP.Promise((resolve, reject) => {\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n expiresIn = response['expires_in'] || expiresIn;\n refreshToken = response['refresh_token'] || refreshToken;\n\n const expiresAt = this._absolutizeExpirationTime(expiresIn);\n\n const data = Ember.merge(response, {\n 'expires_in': expiresIn,\n 'expires_at': expiresAt,\n 'refresh_token': refreshToken\n });\n\n this._scheduleAccessTokenRefresh(expiresIn, null, refreshToken);\n\n this.trigger('sessionDataUpdated', data);\n resolve(data);\n });\n }, (xhr, status, error) => {\n Ember.Logger.warn(\"Access token could not be refreshed - server responded with \".concat(error, \".\"));\n reject(self.get('routing').transitionTo('users-roles.session-expired'));\n });\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/authenticators/oauth2\", [\"exports\", \"ember-simple-auth/authenticators/oauth2-password-grant\"], function (_exports, _oauth2PasswordGrant) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _oauth2PasswordGrant.default.extend({\n refreshAccessTokens: true,\n serverTokenEndpoint: '/api/v1/auths/login',\n // serverTokenRevocationEndpoint: '/revoke'\n routing: Ember.inject.service('-routing'),\n authObject: Ember.inject.service('session'),\n\n authenticate(identification, password, authentication, scope) {\n let self = this;\n return new Ember.RSVP.Promise((resolve, reject) => {\n const data = {\n 'grant_type': 'password',\n username: identification,\n password,\n authentication\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n const scopesString = Ember.makeArray(scope).join(' ');\n\n if (!Ember.isEmpty(scopesString)) {\n data.scope = scopesString;\n }\n\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n const expiresAt = this._absolutizeExpirationTime(response['expires_in']);\n\n this._scheduleAccessTokenRefresh(response['expires_in'], expiresAt, response['refresh_token']);\n\n if (!Ember.isEmpty(expiresAt)) {\n response = Ember.assign(response, {\n 'expires_at': expiresAt\n });\n } // if(response.user.authEnable){\n // self.get('routing').transitionTo('authenticate');\n // }\n\n\n resolve(response);\n });\n }, xhr => {\n Ember.run(null, reject, xhr.responseJSON || xhr.responseText);\n });\n });\n },\n\n _refreshAccessToken(expiresIn, refreshToken) {\n let self = this;\n const data = {\n 'grant_type': 'refresh_token',\n 'refresh_token': refreshToken\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n\n function deleteAllCookies() {\n let cookies = document.cookie.split(\";\");\n\n for (let i = 0; i < cookies.length; i++) {\n let cookie = cookies[i];\n let eqPos = cookie.indexOf(\"=\");\n let name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\n document.cookie = name + \"=;expires=Thu, 01 Jan 1970 00:00:00 GMT\";\n }\n }\n\n return new Ember.RSVP.Promise((resolve, reject) => {\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n expiresIn = response['expires_in'] || expiresIn;\n refreshToken = response['refresh_token'] || refreshToken;\n\n const expiresAt = this._absolutizeExpirationTime(expiresIn);\n\n const data = Ember.assign(response, {\n 'expires_in': expiresIn,\n 'expires_at': expiresAt,\n 'refresh_token': refreshToken\n });\n\n this._scheduleAccessTokenRefresh(expiresIn, null, refreshToken);\n\n this.trigger('sessionDataUpdated', data);\n resolve(data);\n });\n }, (xhr, status, error) => {\n Ember.Logger.warn(\"Access token could not be refreshed - server responded with \".concat(error, \".\"));\n deleteAllCookies();\n\n if (Object.keys(self.get('authObject.data.authenticated')).length > 0) {\n /*self.get('authObject').set('data.locale', null);\n self.get('authObject').set('data.firstName', null);\n self.get('authObject').set('data.lastName', null);\n self.get('authObject').set('data.profilePicture', null);*/\n self.get('authObject').set('data.user', null);\n self.get('authObject').set('data.lastActivity', null);\n\n if (self.get('authObject.data.blobURL')) {\n window.URL = window.URL || window.webkitURL;\n window.URL.revokeObjectURL(self.get('authObject.data.blobURL'));\n self.get('authObject').set('data.blobURL', null);\n }\n\n self.get('authObject').invalidate();\n }\n\n reject();\n });\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/authorizers/application\", [\"exports\", \"ember-simple-auth/authorizers/oauth2-bearer\"], function (_exports, _oauth2Bearer) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _oauth2Bearer.default.extend();\n\n _exports.default = _default;\n});","define(\"web-map/breakpoints\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n mobile: '(max-width: 767px)',\n tablet: '(min-width: 768px) and (max-width: 991px)',\n desktop: '(min-width: 992px) and (max-width: 1200px)'\n };\n _exports.default = _default;\n});","define(\"web-map/components/-dynamic-element-alt\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = Ember.Component;\n _exports.default = _default;\n});","define(\"web-map/components/-dynamic-element\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = Ember.Component;\n _exports.default = _default;\n});","define(\"web-map/components/as-scrollable\", [\"exports\", \"ember-scrollable/components/ember-scrollable\"], function (_exports, _emberScrollable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberScrollable.default.extend({\n classNames: 'as-scrollable'\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/basic-dropdown-content\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown-content\"], function (_exports, _basicDropdownContent) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _basicDropdownContent.default;\n }\n });\n});","define(\"web-map/components/basic-dropdown-trigger\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown-trigger\"], function (_exports, _basicDropdownTrigger) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _basicDropdownTrigger.default;\n }\n });\n});","define(\"web-map/components/basic-dropdown\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown\"], function (_exports, _basicDropdown) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _basicDropdown.default;\n }\n });\n});","define(\"web-map/components/carousel\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({});\n\n _exports.default = _default;\n});","define(\"web-map/components/cell-fid\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n shortFid: Ember.computed('value', function () {\n const fid = this.get('value');\n const shortFid = fid ? fid.substr(0, 6) : 'n/a';\n return shortFid;\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/cell-geom\", [\"exports\", \"ol/format/WKT.js\"], function (_exports, _WKT) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n wkt: Ember.computed('value', function () {\n const geometry = this.get('value');\n const format = new _WKT.default();\n const wkt = format.writeGeometry(geometry);\n return wkt;\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ember-scrollable\", [\"exports\", \"ember-scrollable/components/ember-scrollable\"], function (_exports, _emberScrollable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberScrollable.default;\n }\n });\n});","define(\"web-map/components/ember-scrollbar\", [\"exports\", \"ember-scrollable/components/ember-scrollbar\"], function (_exports, _emberScrollbar) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberScrollbar.default;\n }\n });\n});","define(\"web-map/components/ember-wormhole\", [\"exports\", \"ember-wormhole/components/ember-wormhole\"], function (_exports, _emberWormhole) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberWormhole.default;\n }\n });\n});","define(\"web-map/components/fa-icon\", [\"exports\", \"@fortawesome/ember-fontawesome/components/fa-icon\"], function (_exports, _faIcon) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _faIcon.default;\n }\n });\n});","define(\"web-map/components/feature-table\", [\"exports\", \"ember-light-table\"], function (_exports, _emberLightTable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n model: null,\n classNames: 'feature-table',\n columns: Ember.computed(function () {\n return [{\n label: 'FID',\n valuePath: 'fid',\n sortable: false,\n cellComponent: 'cell-fid',\n width: '30px'\n }, {\n label: 'Geometry',\n valuePath: 'geometry',\n cellComponent: 'cell-geom'\n }];\n }),\n table: Ember.computed('model', function () {\n return new _emberLightTable.default(this.get('columns'), this.get('model'), {\n enableSync: true\n });\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/function-panel-button\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n actions: {\n logText(event) {\n // Only when assigning the action to an inline handler, the event object\n // is passed to the action as the first parameter.\n console.log('Single Click was recorded!');\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/light-table\", [\"exports\", \"ember-light-table/components/light-table\"], function (_exports, _lightTable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _lightTable.default;\n }\n });\n});","define(\"web-map/components/light-table/cells/base\", [\"exports\", \"ember-light-table/components/cells/base\"], function (_exports, _base) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _base.default;\n }\n });\n});","define(\"web-map/components/light-table/columns/base\", [\"exports\", \"ember-light-table/components/columns/base\"], function (_exports, _base) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _base.default;\n }\n });\n});","define(\"web-map/components/loading-cover\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({});\n\n _exports.default = _default;\n});","define(\"web-map/components/login-modal\", [\"exports\", \"axios\"], function (_exports, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n store: Ember.inject.service(),\n actions: {\n login: async function () {\n const {\n identification,\n password\n } = this.getProperties('identification', 'password');\n (0, _axios.default)({\n method: 'POST',\n url: this.get('checkUserUrl'),\n data: {\n identification,\n password\n }\n }).then(async checkUserResult => {\n this.get('authObject').set('isAuthenticated', true);\n let user = checkUserResult.data.user.id;\n this.get('authObject').authenticate('authenticator:oauth2', identification.toLowerCase().trim(), password).then(async () => {\n await this.authorize();\n this.exportAction(user);\n });\n }).catch(err => {\n console.log(err);\n this.set('errorMessage', err.response.data);\n });\n },\n cancel: function () {\n this.set('errorMessage', null);\n $(\".modal-backdrop\").remove();\n },\n signUp: function () {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('ecomWebsite'), \"/register\"));\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/lt-body\", [\"exports\", \"ember-light-table/components/lt-body\"], function (_exports, _ltBody) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltBody.default;\n }\n });\n});","define(\"web-map/components/lt-column-resizer\", [\"exports\", \"ember-light-table/components/lt-column-resizer\"], function (_exports, _ltColumnResizer) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltColumnResizer.default;\n }\n });\n});","define(\"web-map/components/lt-foot\", [\"exports\", \"ember-light-table/components/lt-foot\"], function (_exports, _ltFoot) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltFoot.default;\n }\n });\n});","define(\"web-map/components/lt-head\", [\"exports\", \"ember-light-table/components/lt-head\"], function (_exports, _ltHead) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltHead.default;\n }\n });\n});","define(\"web-map/components/lt-infinity\", [\"exports\", \"ember-light-table/components/lt-infinity\"], function (_exports, _ltInfinity) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltInfinity.default;\n }\n });\n});","define(\"web-map/components/lt-row\", [\"exports\", \"ember-light-table/components/lt-row\"], function (_exports, _ltRow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltRow.default;\n }\n });\n});","define(\"web-map/components/lt-scrollable\", [\"exports\", \"ember-light-table/components/lt-scrollable\"], function (_exports, _ltScrollable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltScrollable.default;\n }\n });\n});","define(\"web-map/components/lt-spanned-row\", [\"exports\", \"ember-light-table/components/lt-spanned-row\"], function (_exports, _ltSpannedRow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltSpannedRow.default;\n }\n });\n});","define(\"web-map/components/map-feature-export\", [\"exports\", \"ember-cp-validations\", \"ember-light-table\", \"ol/style.js\", \"ol/format/GeoJSON.js\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/Feature\", \"ol/geom/Polygon\", \"ol/geom/Point\", \"ol/geom/LinearRing\", \"ol/interaction/Draw\", \"ol/proj.js\", \"axios\"], function (_exports, _emberCpValidations, _emberLightTable, _style, _GeoJSON, _Vector, _Vector2, _Feature, _Polygon, _Point, _LinearRing, _Draw, proj, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n //import TableCommon from '../mixins/table-common';\n const Validations = (0, _emberCpValidations.buildValidations)({\n searchvalue: [(0, _emberCpValidations.validator)('presence', true), (0, _emberCpValidations.validator)('unique-searchvalue', {\n showSuggestions: true\n })]\n });\n\n var _default = Ember.Component.extend(Validations, {\n authObject: Ember.inject.service('session'),\n store: Ember.inject.service(),\n columns: Ember.computed('searchtype', function () {\n let col1 = '';\n let col2 = '';\n\n switch (this.get('searchtype.name')) {\n case 'Lots':\n col1 = 'LOT Num';\n col2 = 'RSO';\n break;\n\n case 'TOL':\n col1 = 'TOL Num';\n col2 = 'RSO';\n break;\n\n case 'Gazette':\n col1 = 'Gazette Num';\n col2 = 'Owner';\n break;\n // case 'Place':\n // col1 = '';\n // col2 = 'Name';\n // break;\n\n case 'Kampung':\n col1 = 'Kg Name';\n col2 = 'Mukim';\n break;\n\n case 'GeoCoordinates':\n col1 = '';\n col2 = '';\n break;\n\n default:\n console.log('Error Encountered in Search Case Switch');\n }\n\n ;\n return [{\n label: col1,\n valuePath: 'objectnum',\n responsiveHidden: false,\n //must be false\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.3) + 'px'\n\n }, {\n label: col2,\n valuePath: 'objectfield1',\n responsiveHidden: false,\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.7) + 'px'\n\n }];\n }),\n table: Ember.computed('model1', function () {\n return _emberLightTable.default.create({\n columns: this.get('columns'),\n rows: this.get('model1')\n });\n }),\n olMapservice: Ember.inject.service('ol-mapservice'),\n // stoptions: ['Lots', 'TOL', 'Gazette', 'Place', 'Kampung'],\n stoptions: [{\n name: 'Lots',\n label: 'Lot'\n }, {\n name: 'TOL',\n label: 'TOL'\n }, {\n name: 'Gazette',\n label: 'Gazette'\n }, // {\n // name: 'Place',\n // label: 'Place'\n // },\n {\n name: 'Kampung',\n label: 'Kampung'\n }, {\n name: 'None',\n label: 'None'\n }],\n btoptions: [{\n name: 'Polygon',\n label: 'Polygon'\n }, // {\n // name: 'Circle',\n // label: 'Circle'\n // },\n {\n name: 'None',\n label: 'None'\n }],\n epoptions: [{\n name: 'GML',\n label: 'GML file'\n }, {\n name: 'Shapefile',\n label: 'Shapefile'\n }, {\n name: 'None',\n label: 'None'\n }],\n // searchtype: 'Lots',\n searchtype: {\n name: 'None',\n label: 'None'\n },\n searchvalue: '',\n boxtype: {\n name: 'None',\n label: 'None'\n },\n boxvalue: '',\n exporttype: {\n name: 'None',\n label: 'None'\n },\n exportvalue: '',\n drawToolObject: null,\n ffeatures: [],\n model1: [],\n drawVectorSource: null,\n usedVectorSource: null,\n usedVectorLayer: null,\n usedMarkerVectorLayer: null,\n\n /* model1: [{\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }], */\n isResizeCapture: false,\n canClearResults: false,\n doClearResults: Ember.computed(function () {\n const olMapservice = this.get('olMapservice');\n olMapservice.clearSearchResults(); //console.log('Doing Clear Results');\n\n return 1;\n }),\n\n init() {\n this._super(...arguments);\n },\n\n didInsertElement() {},\n\n observer: Ember.observer('canClearResults', function () {\n //console.log('trying to clear search results after srs change');\n if (this.canClearResults) {\n //console.log('can clear search results after srs change');\n this.set('model1', []); //this.set('canClearResults', false);\n // this.resetClearResults();\n } //console.log(this.get('canClearResults'));\n\n }),\n\n async doFeatureExport(layer, boxpoly, boxgeom, srs, user, exportType) {\n const map = this.get('olMapservice').get('map');\n let wfs1 = '';\n let layer1 = '';\n let scoord1 = '';\n const dpi = 96;\n const inchesPerMetre = 39.37;\n let unit = map.getView().getProjection().getUnits();\n let resolution = map.getView().getResolution();\n let currentScale = resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi; //let boxArea = Math.floor(Math.random() * 100); // to be replace with a function that calculate area\n\n let boxArea = boxpoly.getArea(); // should be sqm\n\n let self = this;\n\n switch (layer) {\n case 'Lots':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/LOTS3\");\n layer1 = 'MV_LOTS3';\n break;\n\n case 'TOL':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GDBD\");\n layer1 = 'TOL';\n break;\n\n case 'Gazette':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = 'MV_GAZETTE1';\n break;\n\n case 'Kampung':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GDBD_BR10\");\n layer1 = 'ADMINBNDY_P_AGREEMENT';\n break;\n\n default:\n console.log('Error Encountered in Fetch Feature Case Switch');\n }\n /** \n * SHAPE\n * 581697,546458 583916,546217 583783,545265 581526,545174 581697,546458\n * \n */\n\n /**\n * http://survey.gov.bn/erdas-apollo/vector/LOTS3?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&SRS=EPSG%3A5247&typename=MV_LOTS3&Filter=\n * %3Cogc%3AFilter%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%20xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22\n * %3E%3Cogc%3AWithin%3E%3Cogc%3APropertyName%20xmlns%3Aprp%3D%22http%3A%2F%2Fwww.erdas.com%2Fwfs%22%3ESHAPE%3C%2Fogc%3APropertyName%3E%3Cgml%3APolygon%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22\n * %3E%3Cgml%3AouterBoundaryIs%3E%3Cgml%3ALinearRing%3E%3Cgml%3Acoordinates%3E581697%2C546458%20583916%2C546217%20583783%2C545265%20581526%2C545174%20581697%2C546458%3C%2Fgml%3Acoordinates%3E%3C%2Fgml%3ALinearRing%3E%3C%2Fgml%3AouterBoundaryIs\n * %3E%3C%2Fgml%3APolygon%3E%3C%2Fogc%3AWithin%3E%3C%2Fogc%3AFilter%3E\n */\n\n\n let ogcxml1a = 'SHAPE';\n let ogcxml2a = '';\n let ogcxml3 = ''; // where polygon coordinates fit in\n\n let ogcxml2b = '';\n let ogcxml1b = ''; //boxgeom is an array of polygon coordinates\n\n let tempstr = '';\n\n for (let i = 0; i < boxgeom.length; i++) {\n if (i % 2 == 0) {\n if (tempstr === '') tempstr = tempstr + boxgeom[i];else tempstr = tempstr + ' ' + boxgeom[i];\n } else {\n tempstr = tempstr + ',' + boxgeom[i];\n } //console.log(boxgeom[i]);\n\n }\n\n ogcxml3 = tempstr; //console.log(ogcxml3);\n\n let completexml = ogcxml1a + ogcxml2a + ogcxml3 + ogcxml2b + ogcxml1b; //console.log('ol-mapservice doFeatureExport completexml : ' + completexml);\n\n /*** \n 45.67 88.56\n ***/\n //submit feature export to backend\n\n let response = null;\n let url_featureexport = this.store.adapterFor('application').get('serverHost') + this.store.adapterFor('application').get('namespace') + '/feature/doFeatureExport';\n let area_size = (boxArea / 1000000).toFixed(3);\n response = await _axios.default.post(url_featureexport, {\n \"wfs\": wfs1,\n \"layer\": layer1,\n \"fetchxml\": completexml,\n \"srs\": srs,\n \"scala\": Math.round(currentScale),\n \"area_size\": area_size,\n \"user\": user,\n \"exportType\": exportType\n }).catch(error => {\n console.log(\"An error occured while exporting features, \".concat(error.response.data));\n alert(\"An error occured while exporting features, \".concat(error.response.data));\n return null;\n });\n return response;\n },\n\n async fetchBoxWfsObjects(swfs1, slayer1, scoord1, stype) {},\n\n actions: {\n setDrawBoxType(value) {\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n this.set('boxtype', value); //console.log('map box type : ' + value);\n\n if (value.name === 'None') {\n //console.log('Going to clear boxshape as choosing None type...');\n let source1 = this.get('drawVectorSource');\n if (source1 !== null) source1.clear();\n }\n\n let source = new _Vector2.default({\n wrapX: false\n });\n this.set('drawVectorSource', source);\n let vector = new _Vector.default({\n source: source,\n title: 'Features Selection',\n visible: true,\n zIndex: 100,\n style: new _style.Style({\n stroke: new _style.Stroke({\n color: '#0000ff',\n width: 2\n }),\n fill: new _style.Fill({\n color: 'rgba(0, 0, 255, 0.2)'\n })\n })\n });\n map.addLayer(vector);\n let boxvalue = value.name;\n this.set('boxvalue', boxvalue); //console.log('map box type : ' + boxvalue);\n //console.log(source);\n //console.log(vector);\n //console.log(map.getLayers());\n //let typeSelect = document.getElementById('boxtypeselect');\n\n if (boxvalue !== 'None') {\n let draw = new _Draw.default({\n source: source,\n type: boxvalue\n });\n map.addInteraction(draw);\n this.set('drawToolObject', draw);\n draw.on('drawend', function (event) {\n let feature = event.feature; //console.log('Draw Polygon, END, feature is..');\n //console.log(feature);\n\n if (feature !== null && feature !== undefined) {\n map.removeInteraction(draw); //console.log('Already Removed Draw interaction...');\n }\n });\n }\n\n source.refresh(); //Automatic close the left panel if user is in mobile mode\n\n if (value.name === 'Polygon' && this.get('isMobile') === 'Yes') {\n this.toggleFunctionPanel();\n }\n },\n\n exitDrawBox() {\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map'); //console.log(map.getLayers());\n\n map.removeInteraction(this.get('drawToolObject'));\n let reset1 = {\n name: 'None',\n label: 'None'\n };\n this.set('boxtype', reset1);\n },\n\n clearBoxShape() {\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n let source1 = this.get('drawVectorSource');\n source1.clear();\n },\n\n setLayerType(value) {\n this.set('searchtype', value); //console.log('map feature type : ' + value);\n\n let searchvalue = value.name;\n this.set('searchvalue', searchvalue);\n },\n\n setFeatureExportType(value) {\n this.set('exporttype', value); //console.log('feature export type : ' + value);\n\n let exportvalue = value.name;\n this.set('exportvalue', exportvalue);\n },\n\n async doFeatureExport(user) {\n if (!this.get('searchvalue')) {\n alert('Please fill the Export Feature Type');\n return;\n }\n\n if (!this.get('drawVectorSource')) {\n alert('Please fill the Feature Selection Type');\n return;\n }\n\n if (user === undefined || user === null) {\n user = this.get(\"authObject.data.user.id\");\n }\n\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n let s_srs = map.getView().getProjection().getCode();\n let layer1 = this.get('searchvalue');\n let box1 = this.get('boxvalue');\n let export1 = this.get('exportvalue');\n let source1 = this.get('drawVectorSource');\n let featureArray = source1.getFeatures();\n let feature0 = featureArray[0];\n\n if (!feature0) {\n alert('Please draw an area first');\n return;\n }\n\n let box_poly = feature0.getGeometry();\n let boxArea = box_poly.getArea();\n let area_size = (boxArea / 1000000).toFixed(3);\n\n if (area_size >= 4) {\n alert('Sorry, the polygon area that you draw is too big, please draw a smaller area');\n return;\n }\n\n let exportType = this.get('exporttype');\n\n try {\n var geom1 = feature0.getGeometry().flatCoordinates;\n } catch (err) {\n alert('Export failed. Please make sure you have selected the correct area on the map.');\n return;\n } //let epsgcode = srs.substring(5); \n // if (!this.get('authObject').get('isAuthenticated')) {\n // this.set('checkUserUrl', `${this.store.adapterFor('application').get('serverHost')}/api/v1/auths/checkUser`)\n // $(\"#feature-login\").appendTo('body').modal({backdrop: 'static'});\n // return;\n // }\n // $(\"#feature-export\").attr(\"disabled\", true);\n\n\n if (!this.get('authObject').get('isAuthenticated')) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\"));\n return;\n } //console.log('doFeatureExport source1 export1 layer1...');\n //console.log(source1);\n //console.log(featureArray);\n //console.log(geom1);\n //console.log(export1);\n //console.log(layer1);\n\n\n let response = await this.doFeatureExport(layer1, box_poly, geom1, s_srs, user, exportType); //layer, boxgeom, srs\n //redirect to shopping-cart\n\n if (response) {\n $(\".login-modal\").modal(\"hide\");\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/shopping-cart\"));\n } else if (window.location.href === \"\".concat(this.store.adapterFor('application').get('host'), \"/start\")) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/stmap\"));\n } else {\n $(\"#feature-export\").attr(\"disabled\", false);\n }\n },\n\n async extractFeatureInLayer(st1) {\n const olMapservice = this.get('olMapservice');\n wfs1 = st1.wms_url;\n layer1 = st1.target_layer;\n scoord1 = tcoordinate; //console.log({wfs1, layer1, scoord1});\n\n let fetchRes1 = await this.fetchBoxWfsObjects(wfs1, layer1, scoord1, st1);\n /* try {\n fetchRes1 = await self.fetchNearbyWfsObjects(wfs1, layer1, scoord1, st1);\n } catch(err) {\n console.error(err); \n } */\n //console.log('Fetch results from fetchBoxWfsObjects');\n //console.log(fetchRes1);\n\n return fetchRes1;\n },\n\n authorize() {\n this.authorize();\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/map-geodetic\", [\"exports\", \"ember-cp-validations\", \"ember-light-table\", \"ol/style.js\", \"ol/format/GeoJSON.js\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/Feature\", \"ol/geom/Polygon\", \"ol/geom/Point\", \"ol/geom/LinearRing\"], function (_exports, _emberCpValidations, _emberLightTable, _style, _GeoJSON, _Vector, _Vector2, _Feature, _Polygon, _Point, _LinearRing) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n //import TableCommon from '../mixins/table-common';\n const Validations = (0, _emberCpValidations.buildValidations)({\n gdtsearchvalue: [(0, _emberCpValidations.validator)(\"presence\", true), (0, _emberCpValidations.validator)(\"unique-gdtsearchvalue\", {\n showSuggestions: true\n })]\n });\n\n var _default = Ember.Component.extend(Validations, {\n authObject: Ember.inject.service('session'),\n store: Ember.inject.service(),\n columns: Ember.computed(\"gdtsearchtype\", function () {\n let col1 = \"\";\n let col2 = \"\";\n\n switch (this.get(\"gdtsearchtype.name\")) {\n case \"Geodetic\":\n case \"Geodetic_exact\":\n col1 = \"Station Number\";\n col2 = \"Details\";\n break;\n\n case \"Lots\":\n case \"Lots_exact\":\n col1 = \"LOT Num\";\n col2 = \"RSO\";\n break;\n\n case \"TOL\":\n col1 = \"TOL Num\";\n col2 = \"RSO\";\n break;\n\n case \"Gazette\":\n case \"Gazette_exact\":\n col1 = \"Gazette Num\";\n col2 = \"Owner\";\n break;\n\n default:\n console.log(\"Error Encountered in Search Case Switch\");\n }\n\n return [{\n label: col1,\n valuePath: \"objectnum\",\n responsiveHidden: false,\n //must be false\n breakpoints: [\"mobile\", \"tablet\", \"desktop\"] //width: ($(window).width() * 0.23 * 0.3) + 'px'\n\n }, {\n label: col2,\n valuePath: \"objectfield1\",\n responsiveHidden: false,\n breakpoints: [\"mobile\", \"tablet\", \"desktop\"] //width: ($(window).width() * 0.23 * 0.7) + 'px'\n\n }];\n }),\n table: Ember.computed(\"modelrso\", function () {\n return _emberLightTable.default.create({\n columns: this.get(\"columns\"),\n rows: this.get(\"modelrso\")\n });\n }),\n // rso_searchoption: computed(\"rsosize\", function() {\n // if(this.rsosize){\n // let size_index = this.rso_sizeoption.findIndex(item => item.name === this.rsosize.name);\n // return this.get('rso_sizeoption')[size_index].search_item;\n // }\n // }),\n // rsosearchtype: computed(\"rsosize\", function() {\n // if (this.rsosize){\n // let size_index = this.rso_sizeoption.findIndex(item => item.name === this.rsosize.name);\n // return this.rso_sizeoption[size_index].search_item[0];\n // }\n // }),\n gdtsearchtype: {\n name: 'Geodetic',\n label: 'Geodetic Station (Partial Search)'\n },\n gdt_searchoption: [{\n name: 'Geodetic',\n label: 'Geodetic Station (Partial Search)'\n }, {\n name: 'Geodetic_exact',\n label: 'Geodetic Station'\n }, {\n name: 'Lots',\n label: 'Lot (Partial Search)'\n }, {\n name: 'Lots_exact',\n label: 'Lot'\n }, {\n name: 'Gazette',\n label: 'Gazette (Partial Search)'\n }, {\n name: 'Gazette_exact',\n label: 'Gazette'\n }, {\n name: 'TOL',\n label: 'TOL'\n }],\n rsosize: null,\n olMapservice: Ember.inject.service(\"ol-mapservice\"),\n // rso_sizeoption: [\n // {\n // name: 'A1',\n // label: 'A1',\n // search_item: [\n // {\n // name: 'RSO',\n // label: 'RSO Reference'\n // }\n // ]\n // },\n // {\n // name: 'A3',\n // label: 'A3',\n // search_item: [\n // {\n // name: \"Lots\",\n // label: \"Lot (Partial Search)\",\n // },\n // {\n // name: \"Lots_exact\",\n // label: \"Lot\",\n // },\n // {\n // name: \"Lots_EDR\",\n // label: \"EDR (Partial Search)\",\n // },\n // {\n // name: \"Gazette\",\n // label: \"Gazette (Partial Search)\",\n // },\n // {\n // name: \"Gazette_exact\",\n // label: \"Gazette\",\n // },\n // {\n // name: \"TOL\",\n // label: \"TOL\",\n // }\n // ]\n // }\n // ],\n gdtsearchvalue: \"\",\n ffeatures: [],\n modelrso: [],\n usedVectorSource: null,\n usedVectorLayer: null,\n usedMarkerVectorLayer: null,\n\n /* modelrso: [{\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }], */\n isResizeCapture: false,\n canClearGeodeticResults: false,\n layersLoaded: false,\n doClearResults: Ember.computed(function () {\n const olMapservice = this.get(\"olMapservice\");\n olMapservice.clearSearchResults(); //console.log(\"Doing Clear Results\");\n\n return 1;\n }),\n\n init() {\n this._super(...arguments);\n },\n\n didInsertElement() {// if (this.rso_type){\n // let size_index = this.rso_sizeoption.findIndex(item => item.name === this.rso_type);\n // this.set(\"rsosize\", this.get('rso_sizeoption')[size_index]);\n // } else {\n // this.set('rsosize', this.rso_sizeoption[1]);\n // }\n },\n\n observer: Ember.observer(\"canClearGeodeticResults\", function () {\n //console.log(\"trying to clear geodetic search results after srs change\");\n if (this.canClearGeodeticResults) {\n //console.log(\"can clear geodetic search results after srs change\");\n this.set(\"modelrso\", []); //this.set('canClearRSOResults', false);\n // this.resetClearRSOResults();\n } //console.log(this.get(\"canClearGeodeticResults\"));\n\n }),\n actions: {\n onRowClick(row) {\n const olMapservice = this.get(\"olMapservice\");\n let vs1 = olMapservice.get(\"featureVectorSource\");\n let vla1 = olMapservice.get(\"featureVectorLayer\");\n let map = olMapservice.get(\"map\"); //console.log(\"onRowClick\");\n //console.log(row);\n //console.log(row.get(\"content\"));\n //console.log(row.get(\"objectnum\"));\n //console.log(row.get('geom'));\n\n let pol1 = row.get(\"geom\");\n\n let _c_srs = map.getView().getProjection().getCode(); // let posStr = pol1.Point._content_.pos;\n // console.log(posStr);\n // let lrr2 = posStr.trim().split(\" \");\n // console.log(lrr2);\n // //olMapservice.plotOnePoint(map, lrr2);\n // map.getView().setCenter(lrr2);\n // if (_c_srs == \"EPSG:4326\") {\n // map.getView().setResolution(0.000005948652404239215);\n // } else {\n // map.getView().setResolution(0.6614596562526458386250105833545);\n // }\n // //Automatic close the left panel if user is in mobile mode\n // if (this.get('isMobile') === 'Yes'){\n // this.toggleFunctionPanel();\n // }\n\n\n if (row.get(\"objectfield2\") == \"Place\") {\n let posStr = pol1.Point._content_.pos; //console.log(posStr);\n\n let lrr2 = posStr.trim().split(\" \"); //console.log(lrr2);\n //olMapservice.plotOnePoint(map, lrr2);\n\n let lrarr1 = lrr2.map(pos => {\n let coordfloat = parseFloat(pos);\n return coordfloat;\n });\n map.getView().setCenter(lrarr1);\n\n if (_c_srs == \"EPSG:4326\") {\n map.getView().setResolution(0.000005948652404239215);\n } else {\n map.getView().setResolution(0.6614596562526458386250105833545);\n }\n } else {\n //console.log(\"Navigating the Surface object\");\n // check for multipolygons eg: mukim search sengkurong\n // pol1 is geom \n let lrr1 = null;\n\n if (pol1.hasOwnProperty('MultiSurface')) {\n let tmarr1 = pol1.MultiSurface._content_.surfaceMember;\n lrr1 = tmarr1[0].Surface._content_.patches.PolygonPatch.exterior.LinearRing;\n } else {\n lrr1 = pol1.Surface._content_.patches.PolygonPatch.exterior.LinearRing;\n } //console.log(lrr1);\n\n\n let poss1 = lrr1._content_.pos; //console.log(poss1);\n\n let lrarr1 = poss1.map(function (pos) {\n let posarr = pos.split(\" \"); //console.log(posarr);\n\n let posarrfloat = posarr.map(function (coord) {\n let coordfloat = parseFloat(coord);\n return coordfloat;\n }); //console.log(posarrfloat);\n // damn , got to be very careful in how to process the arrays and arrays structure\n\n let val1 = posarrfloat;\n return val1;\n }); //console.log(lrarr1);\n //lrarr1.pop();\n\n let lrrobj1 = new _LinearRing.default(lrarr1); //console.log(lrrobj1);\n\n let poly1 = new _Polygon.default([lrarr1]); //console.log(poly1);\n //poly1.appendLinearRing(lrrobj1);\n\n const targetFeature = new _Feature.default({\n geometry: poly1\n });\n targetFeature.setStyle(new _style.Style({\n stroke: new _style.Stroke({\n color: \"#0000ff\",\n width: 3\n }),\n fill: new _style.Fill({\n color: \"rgba(0, 0, 255, 0.2)\"\n })\n }));\n var geojsonObject = {\n type: \"FeatureCollection\",\n crs: {\n type: \"name\",\n properties: {\n name: \"EPSG:29873\"\n }\n },\n features: [{\n type: \"Feature\",\n geometry: {\n type: \"Polygon\",\n coordinates: [lrarr1]\n }\n }]\n }; //console.log(geojsonObject);\n //'coordinates': [[[-5e6, -1e6], [-4e6, 1e6], [-3e6, -1e6]]]\n //console.log('polygon linear ring count: ' + pol1.getLinearRingCount());\n //console.log(pol1.getLinearRing(0));\n //console.log(pol1.getLinearRing(0).getType());\n\n let feGeoJson = new _GeoJSON.default({\n dataProjection: \"EPSG:29873\",\n featureProjection: \"EPSG:29873\"\n }); //console.log(feGeoJson);\n //console.log(feGeoJson.readProjection(geojsonObject));\n\n if (Boolean(this.get(\"usedVectorSource\"))) {\n let uvs = this.get(\"usedVectorSource\");\n uvs.clear();\n this.set(\"usedVectorSource\", null);\n }\n\n let feVectorSource = new _Vector2.default({\n features: feGeoJson.readFeatures(geojsonObject),\n useSpatialIndex: false\n }); //console.log(feVectorSource);\n\n this.set(\"usedVectorSource\", feVectorSource); //feVectorSource.addFeature(targetFeature);\n //vla1.setSource(vs1);\n //console.log(vla1.getStyle());\n\n if (Boolean(this.get(\"usedVectorLayer\"))) {\n map.removeLayer(this.get(\"usedVectorLayer\"));\n }\n\n var layer22 = new _Vector.default({\n title: \"SearchLayer\",\n source: feVectorSource,\n zIndex: 200,\n style: new _style.Style({\n stroke: new _style.Stroke({\n color: \"red\",\n width: 3\n }),\n fill: new _style.Fill({\n color: \"rgba(0, 0, 255, 0.2)\"\n })\n })\n });\n map.addLayer(layer22);\n this.set(\"usedVectorLayer\", layer22);\n feVectorSource.refresh();\n let polycoord1 = poly1.getFirstCoordinate(); //console.log(\"testing..........\");\n //console.log(polycoord1);\n\n map.getView().setCenter(polycoord1);\n\n if (_c_srs == \"EPSG:4326\") {\n map.getView().setResolution(0.000005948652404239215);\n } else {\n map.getView().setResolution(0.6614596562526458386250105833545); // if (this.get('rsosize').name === 'A3') {\n // map.getView().setResolution(0.6614596562526458386250105833545);\n // } else {\n // map.getView().setResolution(1.4614596562526458386250105833545);\n // }\n }\n } //Automatic close the left panel if user is in mobile mode\n\n\n if (this.get('isMobile') === 'Yes') {\n this.toggleFunctionPanel();\n }\n },\n\n // setRSOSize(value) {\n // this.set(\"modelrso\", []);\n // let size_index = this.rso_sizeoption.findIndex(item => item.name === value.name);\n // this.set(\"rsosize\", this.get('rso_sizeoption')[size_index]);\n // this.set('rsosearchtype', this.rso_sizeoption[size_index].search_item[0]);\n // console.log(\"map search type : \" + value);\n // /* window.addEventListener(\"resize\", function () {\n // console.log('Window Resize Triggered via addEventListener');\n // }); */ // captured by jquery above\n // },\n setSearchType(value) {\n this.set(\"modelrso\", []);\n this.set(\"gdtsearchtype\", value); //console.log(\"map search type : \");\n //console.log(value);\n },\n\n async doSearch() {\n // if (!this.get('authObject').get('isAuthenticated')) {\n // this.set('checkUserUrl', `${this.store.adapterFor('application').get('serverHost')}/api/v1/auths/checkUser`)\n // $(\"#rso-login\").appendTo('body').modal({backdrop: 'static'});\n // return;\n // } \n //this.set('canClearResults', true);\n const olMapservice = this.get(\"olMapservice\");\n let map = olMapservice.get(\"map\");\n\n let _c_srs = map.getView().getProjection().getCode();\n\n let srs_split = _c_srs.split(\":\");\n\n if (this.layersLoaded === false) {\n this.loadAppLayers(srs_split[1], 'geodetic'); // TODO change hardcode to param\n }\n\n this.set('layersLoaded', true);\n let self = this;\n this.set(\"modelrso\", []);\n let sv1 = this.get(\"gdtsearchvalue\");\n let st1 = this.get(\"gdtsearchtype\");\n let wfs1 = \"\";\n let layer1 = \"\";\n let attr1 = \"\";\n let str1 = \"\"; //console.log(\"map search value : \" + sv1 + \" search type \" + st1.name);\n\n switch (st1.name) {\n case \"Geodetic\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/POINTS_GDBD\");\n layer1 = \"TBL_PT_CTL_TRANS_SHAPE_GDBD\";\n attr1 = \"VC_STN_NAME_PK\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"Geodetic_exact\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/POINTS_GDBD\");\n layer1 = \"TBL_PT_CTL_TRANS_SHAPE_GDBD\";\n attr1 = \"VC_STN_NAME_PK\";\n str1 = sv1;\n break;\n\n case \"Lots\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/LOTS3\");\n layer1 = \"MV_LOTS3\";\n attr1 = \"VC_LOTNUM\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"Lots_exact\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/LOTS3\");\n layer1 = \"MV_LOTS3\";\n attr1 = \"VC_LOTNUM\";\n str1 = sv1;\n break;\n\n case \"TOL\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/GDBD\");\n layer1 = \"TOL\";\n attr1 = \"TOLNUM\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"Gazette\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = \"MV_GAZETTE1\";\n attr1 = \"VC_GR_NUM\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"Gazette_exact\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = \"MV_GAZETTE1\";\n attr1 = \"VC_GR_NUM\";\n str1 = sv1;\n break;\n\n default:\n console.log(\"Error Encountered in Search Case Switch\");\n }\n\n let markerVectorLayer = olMapservice.get(\"vectorLayer\"); // olMapservice.setRSOSize(this.get(\"rsosize\").name);\n\n let ff1 = await olMapservice.findWfsObjects(olMapservice, wfs1, layer1, attr1, str1, st1.name); //console.log(\"map-search component found ...\");\n //console.log(ff1);\n\n this.set(\"modelrso\", ff1);\n let redf1 = ff1.map(function (fea1) {\n let mt1 = {\n objectnum: fea1.objectnum\n };\n return mt1;\n });\n this.set(\"ffeatures\", redf1);\n\n if (this.isResizeCapture == false) {\n (function (self) {\n $(window).bind(\"resize\", function () {\n //console.log(\"Window Resize Triggered\");\n //console.log(value);\n //console.log(self.get(\"modelrso\"));\n let wid1 = $(window).width(); //console.log(wid1);\n\n if (420 < wid1 && wid1 < 1025) {\n //console.log(\"Trying to resize 1\");\n // self.get(\"table\").columns.objectAt(0).set(\"width\", wid1 * 0.3 * 0.3 + \"px\");\n // self.get(\"table\").columns.objectAt(1).set(\"width\", wid1 * 0.3 * 0.6 + \"px\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"30%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"70%\"); //self.get('table').columns.objectAt(1).set('width', '0px');\n //self.get('table').columns.objectAt(1).set('hidden', true);\n //self.get('table').set('rows', self.get('ffeatures'));\n } else if (wid1 < 420) {\n //console.log(\"Trying to resize 3\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"40%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"60%\");\n self.get(\"table\").columns.objectAt(1).set(\"hidden\", false);\n } else {\n //console.log(\"Trying to resize 2\");\n // self.get(\"table\").columns.objectAt(0).set(\"width\", wid1 * 0.23 * 0.3 + \"px\");\n // self.get(\"table\").columns.objectAt(1).set(\"width\", wid1 * 0.23 * 0.6 + \"px\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"20%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"80%\");\n self.get(\"table\").columns.objectAt(1).set(\"hidden\", false);\n }\n }).trigger(\"resize\");\n })(this); // this.set(\"isResizeCapture\", true);\n\n } //this.updateModel(ff1);\n // rerender component\n //this.rerender();\n\n },\n\n refreshPage() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map?rso_type=\").concat(this.get(\"rsosize\").name));\n },\n\n authorize() {\n this.authorize();\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/map-imagery-export\", [\"exports\", \"ember-cp-validations\", \"ember-light-table\", \"ol/style.js\", \"ol/format/GeoJSON.js\", \"ol/format/GML3\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/Feature\", \"ol/geom/Polygon\", \"ol/geom/Point\", \"ol/geom/LinearRing\", \"ol/interaction/Draw\", \"ol/proj.js\", \"axios\"], function (_exports, _emberCpValidations, _emberLightTable, _style, _GeoJSON, _GML, _Vector, _Vector2, _Feature, _Polygon, _Point, _LinearRing, _Draw, proj, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n //import TableCommon from '../mixins/table-common';\n const Validations = (0, _emberCpValidations.buildValidations)({\n searchvalue: [(0, _emberCpValidations.validator)('presence', true), (0, _emberCpValidations.validator)('unique-searchvalue', {\n showSuggestions: true\n })]\n });\n\n var _default = Ember.Component.extend(Validations, {\n authObject: Ember.inject.service('session'),\n store: Ember.inject.service(),\n columns: Ember.computed('searchtype', function () {\n let col1 = '';\n let col2 = '';\n\n switch (this.get('searchtype.name')) {\n case 'Lots':\n col1 = 'LOT Num';\n col2 = 'RSO';\n break;\n\n case 'TOL':\n col1 = 'TOL Num';\n col2 = 'RSO';\n break;\n\n case 'Gazette':\n col1 = 'Gazette Num';\n col2 = 'Owner';\n break;\n\n case 'Place':\n col1 = '';\n col2 = 'Name';\n break;\n\n case 'Kampung':\n col1 = 'Kg Name';\n col2 = 'Mukim';\n break;\n\n case 'GeoCoordinates':\n col1 = '';\n col2 = '';\n break;\n\n default:\n console.log('Error Encountered in Search Case Switch');\n }\n\n ;\n return [{\n label: col1,\n valuePath: 'objectnum',\n responsiveHidden: false,\n //must be false\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.3) + 'px'\n\n }, {\n label: col2,\n valuePath: 'objectfield1',\n responsiveHidden: false,\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.7) + 'px'\n\n }];\n }),\n table: Ember.computed('model1', function () {\n return _emberLightTable.default.create({\n columns: this.get('columns'),\n rows: this.get('model1')\n });\n }),\n olMapservice: Ember.inject.service('ol-mapservice'),\n // stoptions: ['Lots', 'TOL', 'Gazette', 'Place', 'Kampung'],\n stoptions: [{\n name: 'Orthophotos2009',\n label: 'Orthophotos 2009'\n }, {\n name: 'BruneiWorldView',\n label: 'Brunei WorldView'\n }, {\n name: 'BruneiMuara',\n label: 'Brunei Muara'\n }, {\n name: 'None',\n label: 'None'\n }],\n btoptions: [{\n name: 'Polygon',\n label: 'Polygon'\n }, // {\n // name: 'Circle',\n // label: 'Circle'\n // },\n {\n name: 'None',\n label: 'None'\n }],\n epoptions: [{\n name: 'GeoTIFF',\n label: 'GeoTIFF'\n }, {\n name: 'JPEG2000',\n label: 'JPEG2000'\n }, {\n name: 'None',\n label: 'None'\n }],\n searchtype: {\n name: 'None',\n label: 'None'\n },\n searchvalue: '',\n boxtype: {\n name: 'None',\n label: 'None'\n },\n boxvalue: '',\n exporttype: {\n name: 'None',\n label: 'None'\n },\n exportvalue: '',\n drawToolObject: null,\n ffeatures: [],\n model1: [],\n drawVectorSource: null,\n usedVectorSource: null,\n usedVectorLayer: null,\n usedMarkerVectorLayer: null,\n\n /* model1: [{\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }], */\n isResizeCapture: false,\n canClearResults: false,\n doClearResults: Ember.computed(function () {\n const olMapservice = this.get('olMapservice');\n olMapservice.clearSearchResults(); //console.log('Doing Clear Results');\n\n return 1;\n }),\n\n init() {\n this._super(...arguments);\n },\n\n didInsertElement() {},\n\n observer: Ember.observer('canClearResults', function () {\n //console.log('trying to clear search results after srs change');\n if (this.canClearResults) {\n //console.log('can clear search results after srs change');\n this.set('model1', []); //this.set('canClearResults', false);\n // this.resetClearResults();\n } //console.log(this.get('canClearResults'));\n\n }),\n\n async doImageExport(layer, gjsonstr, boxpoly, boxgeom, srs, user) {\n const map = this.get('olMapservice').get('map');\n let imgStore = '';\n let layer1 = '';\n let scoord1 = '';\n const dpi = 96;\n const inchesPerMetre = 39.37;\n let unit = map.getView().getProjection().getUnits();\n let resolution = map.getView().getResolution();\n let currentScale = resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi; //let boxArea = Math.floor(Math.random() * 100); // to be replace with a function that calculate area\n\n let boxArea = boxpoly.getArea(); // should be in sqm\n\n let self = this;\n\n switch (layer) {\n case 'Orthophotos2009':\n imgStore = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/LOTS3\");\n layer1 = 'XYZ';\n break;\n\n case 'BruneiWorldView':\n imgStore = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GDBD\");\n layer1 = 'XYZ';\n break;\n\n case 'BruneiMuara':\n imgStore = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = 'XYZ';\n break;\n\n default:\n console.log('Error Encountered in Fetch Imagery Case Switch');\n } //submit feature export to backend\n\n\n let response = null;\n let url_imageexport = this.store.adapterFor('application').get('serverHost') + this.store.adapterFor('application').get('namespace') + '/feature/doImageExport';\n let area_size = (boxArea / 1000000).toFixed(3);\n response = await _axios.default.post(url_imageexport, {\n \"raster\": imgStore,\n \"layer\": layer1,\n \"geojson\": gjsonstr,\n \"srs\": srs,\n \"scala\": Math.round(currentScale),\n \"area_size\": area_size,\n \"user\": user\n }).catch(error => {\n console.log(\"An error occured while exporting image, \".concat(error.response.data));\n alert(\"An error occured while exporting image, \".concat(error.response.data));\n return null;\n });\n return response;\n },\n\n actions: {\n setDrawBoxType(value) {\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n this.set('boxtype', value); //console.log('map box type : ' + value);\n\n if (value.name === 'None') {\n //console.log('Going to clear boxshape as choosing None type...');\n let source1 = this.get('drawVectorSource');\n if (source1 !== null) source1.clear();\n }\n\n let source = new _Vector2.default({\n wrapX: false\n });\n this.set('drawVectorSource', source);\n let vector = new _Vector.default({\n source: source,\n title: 'Features Selection',\n visible: true,\n zIndex: 100,\n style: new _style.Style({\n stroke: new _style.Stroke({\n color: '#0000ff',\n width: 2\n }),\n fill: new _style.Fill({\n color: 'rgba(0, 0, 255, 0.2)'\n })\n })\n });\n map.addLayer(vector);\n let boxvalue = value.name;\n this.set('boxvalue', boxvalue); //console.log('map box type : ' + boxvalue);\n //console.log(source);\n //console.log(vector);\n //console.log(map.getLayers());\n //let typeSelect = document.getElementById('boxtypeselect');\n\n if (boxvalue !== 'None') {\n let draw = new _Draw.default({\n source: source,\n type: boxvalue\n });\n map.addInteraction(draw);\n this.set('drawToolObject', draw);\n draw.on('drawend', function (event) {\n let feature = event.feature; //console.log('Draw Polygon, END, feature is..');\n //console.log(feature);\n\n if (feature !== null && feature !== undefined) {\n map.removeInteraction(draw); //console.log('Already Removed Draw interaction...');\n }\n });\n }\n\n source.refresh(); //Automatic close the left panel if user is in mobile mode\n\n if (value.name === 'Polygon' && this.get('isMobile') === 'Yes') {\n this.toggleFunctionPanel();\n }\n },\n\n exitDrawBox() {\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map'); //console.log(map.getLayers());\n\n map.removeInteraction(this.get('drawToolObject'));\n let reset1 = {\n name: 'None',\n label: 'None'\n };\n this.set('boxtype', reset1);\n },\n\n clearBoxShape() {\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n let source1 = this.get('drawVectorSource');\n source1.clear();\n },\n\n setImgLayerType(value) {\n this.set('searchtype', value); //console.log('map image type : ' + value);\n\n let searchvalue = value.name;\n this.set('searchvalue', searchvalue);\n },\n\n setImageExportType(value) {\n this.set('exporttype', value); //console.log('image export type : ' + value);\n\n let exportvalue = value.name;\n this.set('exportvalue', exportvalue);\n },\n\n async doImageExport(user) {\n if (!this.get('searchvalue')) {\n alert('Please fill the Export Feature Type');\n return;\n }\n\n if (!this.get('drawVectorSource')) {\n alert('Please fill the Feature Selection Type');\n return;\n }\n\n if (user === undefined || user === null) {\n user = this.get(\"authObject.data.user.id\");\n }\n\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n let s_srs = map.getView().getProjection().getCode();\n let layer1 = this.get('searchvalue');\n let box1 = this.get('boxvalue');\n let export1 = this.get('exportvalue');\n let source1 = this.get('drawVectorSource');\n let featureArray = source1.getFeatures();\n let feature0 = featureArray[0];\n\n if (!feature0) {\n alert('Please draw an area first');\n return;\n } //console.log('Check the geometry from drawn polygon');\n //console.log(feature0.getGeometry());\n\n\n let box_poly = feature0.getGeometry();\n let boxArea = box_poly.getArea();\n let area_size = (boxArea / 1000000).toFixed(3);\n\n if (area_size >= 4) {\n alert('Sorry, the polygon area that you draw is too big, please draw a smaller area');\n return;\n } //console.log(featureArray);\n\n\n let gmlObjOptions = {\n srsName: s_srs,\n surface: true,\n curve: true\n };\n let gmlObj = new _GML.default(gmlObjOptions); //console.log('GML object');\n //console.log(gmlObj);\n\n let writeOptions = {\n decimals: 4\n }; //let gmlstr = gmlObj.writeFeatures(featureArray, writeOptions);\n //console.log(gmlstr);\n\n let gjsonOptions = {\n dataProjection: s_srs,\n featureProjection: s_srs,\n geometryName: 'clip'\n };\n let gjsonObj = new _GeoJSON.default(gjsonOptions);\n let gjsonWriteOptions = {\n dataProjection: s_srs,\n featureProjection: s_srs,\n decimals: 4\n };\n let gjsonstr = gjsonObj.writeFeatures(featureArray, gjsonWriteOptions); //console.log('GeoJSON string for box polygon');\n //console.log(gjsonstr);\n\n try {\n var geom1 = feature0.getGeometry().flatCoordinates;\n } catch (err) {\n alert('Export failed. Please make sure you have selected the correct area on the map.');\n return;\n } //let epsgcode = srs.substring(5); \n // if (!this.get('authObject').get('isAuthenticated')) {\n // this.set('checkUserUrl', `${this.store.adapterFor('application').get('serverHost')}/api/v1/auths/checkUser`)\n // $(\"#imagery-login\").appendTo('body').modal({backdrop: 'static'});\n // return;\n // }\n // $(\"#imagery-export\").attr(\"disabled\", true);\n\n\n if (!this.get('authObject').get('isAuthenticated')) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\"));\n return;\n } //console.log('doImageExport source1 export1 layer1...');\n //console.log(source1);\n //console.log(featureArray);\n //console.log(geom1);\n //console.log(export1);\n //console.log(layer1);\n\n\n let response = await this.doImageExport(layer1, gjsonstr, box_poly, geom1, s_srs, user); //layer, boxgeom, srs\n //redirect to shopping-cart\n\n if (response) {\n $(\".login-modal\").modal(\"hide\");\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/shopping-cart\"));\n } else if (window.location.href === \"\".concat(this.store.adapterFor('application').get('host'), \"/start\")) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/stmap\"));\n } else {\n $(\"#imagery-export\").attr(\"disabled\", false);\n }\n },\n\n authorize() {\n this.authorize();\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/map-info-bar\", [\"exports\", \"axios\", \"web-map/config/environment\"], function (_exports, _axios, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n classNames: ['w-100'],\n olMapservice: Ember.inject.service('ol-mapservice'),\n store: Ember.inject.service(),\n tagName: 'div',\n srs_value: 0,\n map_scale: 1000000,\n // need to calculate this\n x_pos: 400000,\n y_pos: 600000,\n // fp_status: true,\n guideLink: null,\n srsFieldValue: '5247',\n showLegendContent: false,\n activeRowStyle: Ember.String.htmlSafe(\"background-color: #d3d7dc;\"),\n currentNlumpDesc: null,\n\n init() {\n this._super(...arguments);\n\n if (_environment.default.W3O_openlayers.deployment == 'GEOPORTAL') {\n this.setProperties({\n form_color: 'white',\n input_scale: 'inputScale11',\n srs_disabled: false,\n is_geoportal: true\n });\n this.guideLink = \"\".concat(this.store.adapterFor('application').get('host'), \"/pdf/GeoportalUserGuide.pdf\");\n (0, _axios.default)({\n method: \"GET\",\n url: \"/assets/map-legends.json\"\n }).then(response => {\n if (response.data) {\n //console.log('nlump response');\n //console.log(response);\n this.set(\"legends\", response.data); // let legendArray = [];\n // Object.keys(this.get(\"legend\")).forEach(keyLegend => {\n // legendArray.push( EmberObject.create(this.get(\"legend\")[keyLegend]) );\n // });\n // this.set(\"legendArray\", legendArray);\n }\n });\n } else {\n this.setProperties({\n form_color: 'green',\n input_scale: 'inputScale',\n srs_disabled: true,\n is_geoportal: false\n });\n this.set('srsFieldValue', this.get('srsSwitch'));\n }\n },\n\n didInsertElement() {\n /* const olmap2svc = this.get('olmap2svc');\n const map = olmap2svc.getOmap();\n const initialExtent = olmap2svc.getOinitialextent(map); \n const layers = olmap2svc.getOlayers(map);\n this.setProperties({\n map: map,\n initialExtent: initialExtent,\n layers: layers\n }); */\n this.initMap(); // action closure\n\n if (_environment.default.W3O_openlayers.deployment == 'RAD') {\n this.set('srsFieldValue', this.get('srsSwitch'));\n } //console.log('hoichong stmap map-info-bar sendaction done'); \n\n },\n\n actions: {\n updateMapScale() {\n const olMapservice = this.get('olMapservice');\n olMapservice.changeMapScale(olMapservice, this.map_scale);\n },\n\n selectSRS(value, event) {\n const olMapservice = this.get('olMapservice'); //console.log('map-info-bar trying to clear layers and search results');\n\n olMapservice.clearSearchResults();\n this.reloadMapLayers(value);\n olMapservice.searchEPSG(olMapservice, value);\n },\n\n setInfoMousePointer() {\n const olMapservice = this.get('olMapservice'); //console.log('map-info-bar trying to set info mouse pointer');\n\n let map_panel_arr = document.getElementsByClassName(\"ol-map-panel\");\n map_panel_arr[0].style.cursor = \"pointer\";\n },\n\n toggleFunctionPanel() {\n this.toggleFunctionPanel();\n /*\n let fp_status1 = this.get('fp_status');\n const elementA = document.querySelector('#functionPanel21'); \n const olMapservice = this.get('olMapservice');\n console.log('hoichong stmap map-info-bar YOU just CLICK on ATOM fp_status1: ' +fp_status1);\n if (Boolean(fp_status1)) {\n console.log('Hide FP..');\n fp_status1 = !fp_status1;\n olMapservice.animateCSS('#functionPanel21', 'bounceOutLeft', function() {\n elementA.style.display = \"none\";\n //fp_status1 = fp_status1 ? false : true; \n });\n } else {\n console.log('Show FP..');\n fp_status1 = !fp_status1;\n elementA.style.display = \"block\";\n olMapservice.animateCSS('#functionPanel21', 'bounceInLeft', function() {\n elementA.style.display = \"block\";\n }); \n }\n console.log('final change to ' +fp_status1);\n this.set('fp_status',fp_status1);\n */\n },\n\n invalidateSession() {\n this.invalidateSession();\n },\n\n gotoHome() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n },\n\n gotoShopping() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/shopping-cart\"));\n },\n\n toggleShowLegendContent() {\n this.set(\"showLegendContent\", !this.get(\"showLegendContent\"));\n },\n\n toogleTooltip(legend) {\n if (this.get(\"selectedLegend\")) {\n if (legend.name === this.get(\"selectedLegend.name\")) {\n legend.set(\"activeRow\", null);\n this.set(\"selectedLegend\", null);\n } else {\n this.get(\"selectedLegend\").set(\"activeRow\", null);\n legend.set(\"activeRow\", this.get(\"activeRowStyle\"));\n this.set(\"selectedLegend\", legend);\n }\n } else {\n legend.set(\"activeRow\", this.get(\"activeRowStyle\"));\n this.set(\"selectedLegend\", legend);\n }\n },\n\n closeLegend() {\n this.get(\"selectedLegend\").set(\"activeRow\", null);\n this.set(\"selectedLegend\", null);\n },\n\n changeNlumpDesc(selectedNlumpDesc) {\n this.set('currentNlumpDesc', selectedNlumpDesc);\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/map-layers\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({});\n\n _exports.default = _default;\n});","define(\"web-map/components/map-mininfo-bar\", [\"exports\", \"axios\", \"web-map/config/environment\"], function (_exports, _axios, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n authObject: Ember.inject.service('session'),\n classNames: ['w-100'],\n olMapservice: Ember.inject.service('ol-mapservice'),\n store: Ember.inject.service(),\n tagName: 'div',\n srs_value: 1,\n map_scale: 1000000,\n // need to calculate this\n x_pos: 400000,\n y_pos: 600000,\n // fp_status: true,\n guideLink: null,\n srsFieldValue: '5247',\n showLegendContent: false,\n activeRowStyle: Ember.String.htmlSafe(\"background-color: #d3d7dc;\"),\n currentNlumpDesc: null,\n sliderConfig: {\n min: 2500,\n max: 100000,\n value: 2500,\n step: 2500\n },\n\n init() {\n this._super(...arguments);\n\n if (_environment.default.W3O_openlayers.deployment == 'GEOPORTAL') {\n this.setProperties({\n form_color: 'white',\n input_scale: 'inputScale11',\n srs_disabled: false,\n is_geoportal: true\n });\n this.guideLink = \"\".concat(this.store.adapterFor('application').get('host'), \"/pdf/GeoportalUserGuide.pdf\");\n (0, _axios.default)({\n method: \"GET\",\n url: \"/assets/map-legends.json\"\n }).then(response => {\n if (response.data) {\n //console.log('nlump response');\n //console.log(response);\n this.set(\"legends\", response.data); // let legendArray = [];\n // Object.keys(this.get(\"legend\")).forEach(keyLegend => {\n // legendArray.push( EmberObject.create(this.get(\"legend\")[keyLegend]) );\n // });\n // this.set(\"legendArray\", legendArray);\n }\n });\n } else {\n this.setProperties({\n form_color: 'green',\n input_scale: 'inputScale',\n srs_disabled: true,\n is_geoportal: false\n });\n this.set('srsFieldValue', this.get('srsSwitch'));\n }\n },\n\n didInsertElement() {\n /* const olmap2svc = this.get('olmap2svc');\n const map = olmap2svc.getOmap();\n const initialExtent = olmap2svc.getOinitialextent(map); \n const layers = olmap2svc.getOlayers(map);\n this.setProperties({\n map: map,\n initialExtent: initialExtent,\n layers: layers\n }); */\n this.initMap(); // action closure\n\n if (_environment.default.W3O_openlayers.deployment == 'RAD') {\n this.set('srsFieldValue', this.get('srsSwitch'));\n } //console.log('hoichong stmap map-info-bar sendaction done'); \n\n },\n\n zoomBySlider(value) {\n const olMapservice = this.get('olMapservice');\n olMapservice.changeMapScale(olMapservice, value);\n },\n\n actions: {\n updateMapScale(value) {\n // const olMapservice = this.get('olMapservice');\n // olMapservice.changeMapScale(olMapservice,value);\n this.set('sliderConfig.value', value);\n this.zoomBySlider(value);\n },\n\n selectSRS(value, event) {\n const olMapservice = this.get('olMapservice'); //console.log('map-info-bar trying to clear layers and search results');\n\n olMapservice.clearSearchResults();\n this.reloadMapLayers(value);\n olMapservice.searchEPSG(olMapservice, value);\n },\n\n setInfoMousePointer() {\n const olMapservice = this.get('olMapservice'); //console.log('map-info-bar trying to set info mouse pointer');\n\n let map_panel_arr = document.getElementsByClassName(\"ol-map-panel\");\n map_panel_arr[0].style.cursor = \"pointer\";\n },\n\n toggleFunctionPanel() {\n this.toggleFunctionPanel();\n /*\n let fp_status1 = this.get('fp_status');\n const elementA = document.querySelector('#functionPanel21'); \n const olMapservice = this.get('olMapservice');\n console.log('hoichong stmap map-info-bar YOU just CLICK on ATOM fp_status1: ' +fp_status1);\n if (Boolean(fp_status1)) {\n console.log('Hide FP..');\n fp_status1 = !fp_status1;\n olMapservice.animateCSS('#functionPanel21', 'bounceOutLeft', function() {\n elementA.style.display = \"none\"; \n });\n } else {\n console.log('Show FP..');\n fp_status1 = !fp_status1;\n elementA.style.display = \"block\";\n olMapservice.animateCSS('#functionPanel21', 'bounceInLeft', function() {\n elementA.style.display = \"block\";\n }); \n }\n console.log('final change to ' +fp_status1);\n this.set('fp_status',fp_status1);\n */\n },\n\n invalidateSession() {\n this.invalidateSession();\n },\n\n gotoHome() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n },\n\n gotoShopping() {\n if (!this.get('authObject').get('isAuthenticated')) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/shopping-cart\"));\n }\n },\n\n toggleShowLegendContent() {\n this.set(\"showLegendContent\", !this.get(\"showLegendContent\"));\n },\n\n toogleTooltip(legend) {\n if (this.get(\"selectedLegend\")) {\n if (legend.name === this.get(\"selectedLegend.name\")) {\n legend.set(\"activeRow\", null);\n this.set(\"selectedLegend\", null);\n } else {\n this.get(\"selectedLegend\").set(\"activeRow\", null);\n legend.set(\"activeRow\", this.get(\"activeRowStyle\"));\n this.set(\"selectedLegend\", legend);\n }\n } else {\n legend.set(\"activeRow\", this.get(\"activeRowStyle\"));\n this.set(\"selectedLegend\", legend);\n }\n },\n\n closeLegend() {\n this.get(\"selectedLegend\").set(\"activeRow\", null);\n this.set(\"selectedLegend\", null);\n },\n\n changeNlumpDesc(selectedNlumpDesc) {\n this.set('currentNlumpDesc', selectedNlumpDesc);\n },\n\n sliderMoved(value) {\n this.set('sliderConfig.value', value);\n this.zoomBySlider(value); // const olMapservice = this.get('olMapservice');\n // olMapservice.changeMapScale(olMapservice,value);\n },\n\n login_logout() {\n if (!this.get('authObject').get('isAuthenticated')) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\"));\n } else {\n this.invalidateSession();\n }\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/map-rso-digital\", [\"exports\", \"ember-cp-validations\", \"ember-light-table\", \"ol/style.js\", \"ol/format/GeoJSON.js\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/Feature\", \"ol/geom/Polygon\", \"ol/geom/Point\", \"ol/geom/LinearRing\"], function (_exports, _emberCpValidations, _emberLightTable, _style, _GeoJSON, _Vector, _Vector2, _Feature, _Polygon, _Point, _LinearRing) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n //import TableCommon from '../mixins/table-common';\n const Validations = (0, _emberCpValidations.buildValidations)({\n rsosearchvalue: [(0, _emberCpValidations.validator)(\"presence\", true), (0, _emberCpValidations.validator)(\"unique-rsosearchvalue\", {\n showSuggestions: true\n })]\n });\n\n var _default = Ember.Component.extend(Validations, {\n authObject: Ember.inject.service('session'),\n store: Ember.inject.service(),\n columns: Ember.computed(\"rsosearchtype\", function () {\n let col1 = \"\";\n let col2 = \"\";\n\n switch (this.get(\"rsosearchtype.name\")) {\n case \"Lots\":\n case \"Lots_exact\":\n col1 = \"LOT Num\";\n col2 = \"RSO\";\n break;\n\n case \"Lots_EDR\":\n col1 = \"EDR\";\n col2 = \"RSO\";\n break;\n\n case \"TOL\":\n col1 = \"TOL Num\";\n col2 = \"RSO\";\n break;\n\n case \"Gazette\":\n case \"Gazette_exact\":\n col1 = \"Gazette Num\";\n col2 = \"Owner\";\n break;\n\n default:\n console.log(\"Error Encountered in Search Case Switch\");\n }\n\n return [{\n label: col1,\n valuePath: \"objectnum\",\n responsiveHidden: false,\n //must be false\n breakpoints: [\"mobile\", \"tablet\", \"desktop\"] //width: ($(window).width() * 0.23 * 0.3) + 'px'\n\n }, {\n label: col2,\n valuePath: \"objectfield1\",\n responsiveHidden: false,\n breakpoints: [\"mobile\", \"tablet\", \"desktop\"] //width: ($(window).width() * 0.23 * 0.7) + 'px'\n\n }];\n }),\n table: Ember.computed(\"modelrso\", function () {\n return _emberLightTable.default.create({\n columns: this.get(\"columns\"),\n rows: this.get(\"modelrso\")\n });\n }),\n rso_searchoption: Ember.computed(\"rsosize\", function () {\n if (this.rsosize) {\n let size_index = this.rso_sizeoption.findIndex(item => item.name === this.rsosize.name);\n return this.get('rso_sizeoption')[size_index].search_item;\n }\n }),\n rsosearchtype: Ember.computed(\"rsosize\", function () {\n if (this.rsosize) {\n let size_index = this.rso_sizeoption.findIndex(item => item.name === this.rsosize.name);\n return this.rso_sizeoption[size_index].search_item[0];\n }\n }),\n rsosize: null,\n olMapservice: Ember.inject.service(\"ol-mapservice\"),\n rso_sizeoption: [{\n name: 'A1',\n label: 'A1',\n search_item: [{\n name: 'RSO',\n label: 'RSO Reference'\n }]\n }, {\n name: 'A3',\n label: 'A3',\n search_item: [{\n name: \"Lots\",\n label: \"Lot (Partial Search)\"\n }, {\n name: \"Lots_exact\",\n label: \"Lot\"\n }, {\n name: \"Lots_EDR\",\n label: \"EDR (Partial Search)\"\n }, {\n name: \"Gazette\",\n label: \"Gazette (Partial Search)\"\n }, {\n name: \"Gazette_exact\",\n label: \"Gazette\"\n }, {\n name: \"TOL\",\n label: \"TOL\"\n }]\n }],\n rsosearchvalue: \"\",\n ffeatures: [],\n modelrso: [],\n usedVectorSource: null,\n usedVectorLayer: null,\n usedMarkerVectorLayer: null,\n\n /* modelrso: [{\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }], */\n isResizeCapture: false,\n canClearRSOResults: false,\n layersLoaded: false,\n doClearResults: Ember.computed(function () {\n const olMapservice = this.get(\"olMapservice\");\n olMapservice.clearSearchResults(); //console.log(\"Doing Clear Results\");\n\n return 1;\n }),\n\n init() {\n this._super(...arguments);\n },\n\n didInsertElement() {\n if (this.rso_type) {\n let size_index = this.rso_sizeoption.findIndex(item => item.name === this.rso_type);\n this.set(\"rsosize\", this.get('rso_sizeoption')[size_index]);\n } else {\n this.set('rsosize', this.rso_sizeoption[1]);\n }\n },\n\n observer: Ember.observer(\"canClearRSOResults\", function () {\n //console.log(\"trying to clear rso search results after srs change\");\n if (this.canClearRSOResults) {\n //console.log(\"can clear rso search results after srs change\");\n this.set(\"modelrso\", []); //this.set('canClearRSOResults', false);\n // this.resetClearRSOResults();\n } //console.log(this.get(\"canClearRSOResults\"));\n\n }),\n actions: {\n onRowClick(row) {\n const olMapservice = this.get(\"olMapservice\");\n let vs1 = olMapservice.get(\"featureVectorSource\");\n let vla1 = olMapservice.get(\"featureVectorLayer\");\n let map = olMapservice.get(\"map\"); //console.log(\"onRowClick\");\n //console.log(row);\n //console.log(row.get(\"content\"));\n //console.log(row.get(\"objectnum\"));\n //console.log(row.get('geom'));\n\n let pol1 = row.get(\"geom\");\n\n let _c_srs = map.getView().getProjection().getCode();\n\n if (row.get(\"objectfield2\") == \"Place\") {\n let posStr = pol1.Point._content_.pos; //console.log(posStr);\n\n let lrr2 = posStr.trim().split(\" \"); //console.log(lrr2);\n //olMapservice.plotOnePoint(map, lrr2);\n\n let lrarr1 = lrr2.map(pos => {\n let coordfloat = parseFloat(pos);\n return coordfloat;\n });\n map.getView().setCenter(lrarr1);\n\n if (_c_srs == \"EPSG:4326\") {\n map.getView().setResolution(0.000005948652404239215);\n } else {\n if (this.get('rsosize').name === 'A3') {\n map.getView().setResolution(0.6614596562526458386250105833545);\n } else {\n map.getView().setResolution(1.4614596562526458386250105833545);\n }\n }\n } else {\n //console.log(\"Navigating the Surface object\");\n // check for multipolygons eg: mukim search sengkurong\n // pol1 is geom \n let lrr1 = null;\n\n if (pol1.hasOwnProperty('MultiSurface')) {\n let tmarr1 = pol1.MultiSurface._content_.surfaceMember;\n lrr1 = tmarr1[0].Surface._content_.patches.PolygonPatch.exterior.LinearRing;\n } else {\n lrr1 = pol1.Surface._content_.patches.PolygonPatch.exterior.LinearRing;\n } //console.log(lrr1);\n\n\n let poss1 = lrr1._content_.pos; //console.log(poss1);\n\n let lrarr1 = poss1.map(function (pos) {\n let posarr = pos.split(\" \"); //console.log(posarr);\n\n let posarrfloat = posarr.map(function (coord) {\n let coordfloat = parseFloat(coord);\n return coordfloat;\n }); //console.log(posarrfloat);\n // damn , got to be very careful in how to process the arrays and arrays structure\n\n let val1 = posarrfloat;\n return val1;\n }); //console.log(lrarr1);\n //lrarr1.pop();\n\n let lrrobj1 = new _LinearRing.default(lrarr1); //console.log(lrrobj1);\n\n let poly1 = new _Polygon.default([lrarr1]); //console.log(poly1);\n //poly1.appendLinearRing(lrrobj1);\n\n const targetFeature = new _Feature.default({\n geometry: poly1\n });\n targetFeature.setStyle(new _style.Style({\n stroke: new _style.Stroke({\n color: \"#0000ff\",\n width: 3\n }),\n fill: new _style.Fill({\n color: \"rgba(0, 0, 255, 0.2)\"\n })\n }));\n var geojsonObject = {\n type: \"FeatureCollection\",\n crs: {\n type: \"name\",\n properties: {\n name: \"EPSG:29873\"\n }\n },\n features: [{\n type: \"Feature\",\n geometry: {\n type: \"Polygon\",\n coordinates: [lrarr1]\n }\n }]\n }; //console.log(geojsonObject);\n //'coordinates': [[[-5e6, -1e6], [-4e6, 1e6], [-3e6, -1e6]]]\n //console.log('polygon linear ring count: ' + pol1.getLinearRingCount());\n //console.log(pol1.getLinearRing(0));\n //console.log(pol1.getLinearRing(0).getType());\n\n let feGeoJson = new _GeoJSON.default({\n dataProjection: \"EPSG:29873\",\n featureProjection: \"EPSG:29873\"\n }); //console.log(feGeoJson);\n //console.log(feGeoJson.readProjection(geojsonObject));\n\n if (Boolean(this.get(\"usedVectorSource\"))) {\n let uvs = this.get(\"usedVectorSource\");\n uvs.clear();\n this.set(\"usedVectorSource\", null);\n }\n\n let feVectorSource = new _Vector2.default({\n features: feGeoJson.readFeatures(geojsonObject),\n useSpatialIndex: false\n }); //console.log(feVectorSource);\n\n this.set(\"usedVectorSource\", feVectorSource); //feVectorSource.addFeature(targetFeature);\n //vla1.setSource(vs1);\n //console.log(vla1.getStyle());\n\n if (Boolean(this.get(\"usedVectorLayer\"))) {\n map.removeLayer(this.get(\"usedVectorLayer\"));\n }\n\n var layer22 = new _Vector.default({\n title: \"SearchLayer\",\n source: feVectorSource,\n zIndex: 200,\n style: new _style.Style({\n stroke: new _style.Stroke({\n color: \"red\",\n width: 3\n }),\n fill: new _style.Fill({\n color: \"rgba(0, 0, 255, 0.2)\"\n })\n })\n });\n map.addLayer(layer22);\n this.set(\"usedVectorLayer\", layer22);\n feVectorSource.refresh();\n let polycoord1 = poly1.getFirstCoordinate(); //console.log(\"testing..........\");\n //console.log(polycoord1);\n\n map.getView().setCenter(polycoord1);\n\n if (_c_srs == \"EPSG:4326\") {\n map.getView().setResolution(0.000005948652404239215);\n } else {\n if (this.get('rsosize').name === 'A3') {\n map.getView().setResolution(0.6614596562526458386250105833545);\n } else {\n map.getView().setResolution(1.4614596562526458386250105833545);\n }\n }\n } //Automatic close the left panel if user is in mobile mode\n\n\n if (this.get('isMobile') === 'Yes') {\n this.toggleFunctionPanel();\n }\n },\n\n setRSOSize(value) {\n this.set(\"modelrso\", []);\n let size_index = this.rso_sizeoption.findIndex(item => item.name === value.name);\n this.set(\"rsosize\", this.get('rso_sizeoption')[size_index]);\n this.set('rsosearchtype', this.rso_sizeoption[size_index].search_item[0]); //console.log(\"map search type : \" + value);\n\n /* window.addEventListener(\"resize\", function () {\n console.log('Window Resize Triggered via addEventListener');\n }); */\n // captured by jquery above\n },\n\n setSearchType(value) {\n //const olMapservice = this.get('olMapservice');\n //this.set('canClearResults', true);\n this.set(\"modelrso\", []);\n this.set(\"rsosearchtype\", value); //console.log(\"map search type : \" + value);\n\n /* window.addEventListener(\"resize\", function () {\n console.log('Window Resize Triggered via addEventListener');\n }); */\n // captured by jquery above\n },\n\n async doSearch() {\n // if (!this.get('authObject').get('isAuthenticated')) {\n // this.set('checkUserUrl', `${this.store.adapterFor('application').get('serverHost')}/api/v1/auths/checkUser`)\n // $(\"#rso-login\").appendTo('body').modal({backdrop: 'static'});\n // return;\n // } \n //this.set('canClearResults', true);\n const olMapservice = this.get(\"olMapservice\");\n let map = olMapservice.get(\"map\");\n\n let _c_srs = map.getView().getProjection().getCode();\n\n let srs_split = _c_srs.split(\":\");\n\n if (this.layersLoaded === false) {\n this.loadAppLayers(srs_split[1], 'rso_digital'); // TODO change hardcode to param\n }\n\n this.set('layersLoaded', true);\n let self = this;\n this.set(\"modelrso\", []);\n let sv1 = this.get(\"rsosearchvalue\");\n let st1 = this.get(\"rsosearchtype\");\n let wfs1 = \"\";\n let layer1 = \"\";\n let attr1 = \"\";\n let str1 = \"\"; //console.log(\"map search value : \" + sv1 + \" search type \" + st1.name);\n\n switch (st1.name) {\n case \"Lots\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/LOTS3\");\n layer1 = \"MV_LOTS3\";\n attr1 = \"VC_LOTNUM\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"Lots_exact\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/LOTS3\");\n layer1 = \"MV_LOTS3\";\n attr1 = \"VC_LOTNUM\";\n str1 = sv1;\n break;\n\n case \"Lots_EDR\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/LOTS3\");\n layer1 = \"MV_LOTS3\";\n attr1 = \"VC_EDRNUM\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"TOL\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/GDBD\");\n layer1 = \"TOL\";\n attr1 = \"TOLNUM\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"Gazette\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = \"MV_GAZETTE1\";\n attr1 = \"VC_GR_NUM\";\n str1 = \"%\" + sv1 + \"%\";\n break;\n\n case \"Gazette_exact\":\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = \"MV_GAZETTE1\";\n attr1 = \"VC_GR_NUM\";\n str1 = sv1;\n break;\n\n case \"RSO\":\n wfs1 = \"\".concat(self.store.adapterFor(\"application\").get(\"erdasHost\"), \"/erdas-apollo/vector/GDBD\");\n layer1 = \"KEYSHEET2\";\n attr1 = \"RSOREF\";\n str1 = sv1;\n break;\n\n default:\n console.log(\"Error Encountered in Search Case Switch\");\n }\n\n let markerVectorLayer = olMapservice.get(\"vectorLayer\"); // olMapservice.setRSOSize(this.get(\"rsosize\").name);\n\n let ff1 = await olMapservice.findWfsObjects(olMapservice, wfs1, layer1, attr1, str1, st1.name); //console.log(\"map-search component found ...\");\n //console.log(ff1);\n\n this.set(\"modelrso\", ff1);\n let redf1 = ff1.map(function (fea1) {\n let mt1 = {\n objectnum: fea1.objectnum\n };\n return mt1;\n });\n this.set(\"ffeatures\", redf1);\n\n if (this.isResizeCapture == false) {\n (function (self) {\n $(window).bind(\"resize\", function () {\n //console.log(\"Window Resize Triggered\");\n //console.log(value);\n //console.log(self.get(\"modelrso\"));\n let wid1 = $(window).width(); //console.log(wid1);\n\n if (420 < wid1 && wid1 < 1025) {\n //console.log(\"Trying to resize 1\");\n // self.get(\"table\").columns.objectAt(0).set(\"width\", wid1 * 0.3 * 0.3 + \"px\");\n // self.get(\"table\").columns.objectAt(1).set(\"width\", wid1 * 0.3 * 0.6 + \"px\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"30%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"70%\"); //self.get('table').columns.objectAt(1).set('width', '0px');\n //self.get('table').columns.objectAt(1).set('hidden', true);\n //self.get('table').set('rows', self.get('ffeatures'));\n } else if (wid1 < 420) {\n //console.log(\"Trying to resize 3\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"40%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"60%\");\n self.get(\"table\").columns.objectAt(1).set(\"hidden\", false);\n } else {\n //console.log(\"Trying to resize 2\");\n // self.get(\"table\").columns.objectAt(0).set(\"width\", wid1 * 0.23 * 0.3 + \"px\");\n // self.get(\"table\").columns.objectAt(1).set(\"width\", wid1 * 0.23 * 0.6 + \"px\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"20%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"80%\");\n self.get(\"table\").columns.objectAt(1).set(\"hidden\", false);\n }\n }).trigger(\"resize\");\n })(this); // this.set(\"isResizeCapture\", true);\n\n } //this.updateModel(ff1);\n // rerender component\n //this.rerender();\n\n },\n\n refreshPage() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map?rso_type=\").concat(this.get(\"rsosize\").name));\n },\n\n authorize() {\n this.authorize();\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/map-search\", [\"exports\", \"ember-cp-validations\", \"ember-light-table\", \"ol/style.js\", \"ol/format/GeoJSON.js\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/Feature\", \"ol/geom/Polygon\", \"ol/geom/Point\", \"ol/geom/LinearRing\"], function (_exports, _emberCpValidations, _emberLightTable, _style, _GeoJSON, _Vector, _Vector2, _Feature, _Polygon, _Point, _LinearRing) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n //import TableCommon from '../mixins/table-common';\n const Validations = (0, _emberCpValidations.buildValidations)({\n searchvalue: [(0, _emberCpValidations.validator)('presence', true), (0, _emberCpValidations.validator)('unique-searchvalue', {\n showSuggestions: true\n })]\n });\n\n var _default = Ember.Component.extend(Validations, {\n store: Ember.inject.service(),\n columns: Ember.computed('searchtype', function () {\n let col1 = '';\n let col2 = '';\n\n switch (this.get('searchtype.name')) {\n case 'Lots':\n case 'Lots_exact':\n col1 = 'LOT Num';\n col2 = 'RSO';\n break;\n\n case 'Lots_EDR':\n col1 = 'EDR';\n col2 = 'RSO';\n break;\n\n case 'TOL':\n col1 = 'TOL Num';\n col2 = 'RSO';\n break;\n\n case 'Gazette':\n case 'Gazette_exact':\n col1 = 'Gazette Num';\n col2 = 'Owner';\n break;\n\n case 'Place':\n col1 = '';\n col2 = 'Name';\n break;\n\n case 'Kampung':\n col1 = 'Kg Name';\n col2 = 'Mukim';\n break;\n\n case 'Mukim':\n col1 = 'Mukim';\n col2 = 'District Code';\n break;\n\n case 'GeoCoordinates':\n col1 = '';\n col2 = '';\n break;\n\n default:\n console.log('Error Encountered in Search Case Switch');\n }\n\n ;\n return [{\n label: col1,\n valuePath: 'objectnum',\n responsiveHidden: false,\n //must be false\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.3) + 'px'\n\n }, {\n label: col2,\n valuePath: 'objectfield1',\n responsiveHidden: false,\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.7) + 'px'\n\n }];\n }),\n table: Ember.computed('model1', function () {\n return _emberLightTable.default.create({\n columns: this.get('columns'),\n rows: this.get('model1')\n });\n }),\n olMapservice: Ember.inject.service('ol-mapservice'),\n // stoptions: ['Lots', 'TOL', 'Gazette', 'Place', 'Kampung'],\n stoptions: [{\n name: 'Lots',\n label: 'Lot (Partial Search)'\n }, {\n name: 'Lots_exact',\n label: 'Lot'\n }, {\n name: 'Lots_EDR',\n label: 'EDR (Partial Search)'\n }, {\n name: 'Gazette',\n label: 'Gazette (Partial Search)'\n }, {\n name: 'Gazette_exact',\n label: 'Gazette'\n }, {\n name: 'TOL',\n label: 'TOL'\n }, {\n name: 'Place',\n label: 'Place'\n }, {\n name: 'Kampung',\n label: 'Kampung'\n }, {\n name: 'Mukim',\n label: 'Mukim'\n }, {\n name: 'GeoCoordinates',\n label: 'Geo Coordinates'\n }],\n // searchtype: 'Lots',\n searchtype: {\n name: 'Lots',\n label: 'Lot (Partial Search)'\n },\n searchvalue: '',\n ffeatures: [],\n model1: [],\n usedVectorSource: null,\n usedVectorLayer: null,\n usedMarkerVectorLayer: null,\n\n /* model1: [{\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }], */\n isResizeCapture: false,\n canClearResults: false,\n doClearResults: Ember.computed(function () {\n const olMapservice = this.get('olMapservice');\n olMapservice.clearSearchResults(); //console.log('Doing Clear Results');\n\n return 1;\n }),\n\n init() {\n this._super(...arguments);\n },\n\n didInsertElement() {},\n\n observer: Ember.observer('canClearResults', function () {\n //console.log('trying to clear search results after srs change');\n if (this.canClearResults) {\n //console.log('can clear search results after srs change');\n this.set('model1', []); //this.set('canClearResults', false);\n // this.resetClearResults();\n } //console.log(this.get('canClearResults'));\n\n }),\n actions: {\n onRowClick(row) {\n const olMapservice = this.get('olMapservice');\n let vs1 = olMapservice.get('featureVectorSource');\n let vla1 = olMapservice.get('featureVectorLayer');\n let map = olMapservice.get('map'); //console.log('onRowClick');\n //console.log(row);\n //console.log(row.get('content'));\n //console.log(row.get('objectnum'));\n //console.log(row.get('geom'));\n\n let pol1 = row.get('geom');\n\n let _c_srs = map.getView().getProjection().getCode();\n\n if (row.get('objectfield2') == 'Place') {\n let posStr = pol1.Point._content_.pos; //console.log(posStr);\n\n let lrr2 = posStr.trim().split(\" \"); //console.log(lrr2);\n //olMapservice.plotOnePoint(map, lrr2);\n\n let lrarr1 = lrr2.map(pos => {\n let coordfloat = parseFloat(pos);\n return coordfloat;\n }); // lrarr1 must be in number format, using string will trigger error about finite number\n\n map.getView().setCenter(lrarr1);\n\n if (_c_srs == 'EPSG:4326') {\n map.getView().setResolution(0.000005948652404239215);\n } else {\n map.getView().setResolution(0.6614596562526458386250105833545);\n }\n } else {\n //console.log(\"Navigating the Surface object\");\n // check for multipolygons eg: mukim search sengkurong\n // pol1 is geom \n let lrr1 = null;\n\n if (pol1.hasOwnProperty('MultiSurface')) {\n let tmarr1 = pol1.MultiSurface._content_.surfaceMember;\n lrr1 = tmarr1[0].Surface._content_.patches.PolygonPatch.exterior.LinearRing;\n } else {\n lrr1 = pol1.Surface._content_.patches.PolygonPatch.exterior.LinearRing;\n } //console.log(lrr1);\n\n\n let poss1 = lrr1._content_.pos; //console.log(poss1);\n\n let lrarr1 = poss1.map(function (pos) {\n let posarr = pos.split(' '); //console.log(posarr);\n\n let posarrfloat = posarr.map(function (coord) {\n let coordfloat = parseFloat(coord);\n return coordfloat;\n }); //console.log(posarrfloat);\n // damn , got to be very careful in how to process the arrays and arrays structure\n\n let val1 = posarrfloat;\n return val1;\n }); //console.log(lrarr1);\n //lrarr1.pop();\n\n let lrrobj1 = new _LinearRing.default(lrarr1); //console.log(lrrobj1);\n\n let poly1 = new _Polygon.default([lrarr1]); //console.log(poly1);\n //poly1.appendLinearRing(lrrobj1);\n\n const targetFeature = new _Feature.default({\n geometry: poly1\n });\n targetFeature.setStyle(new _style.Style({\n stroke: new _style.Stroke({\n color: '#0000ff',\n width: 3\n }),\n fill: new _style.Fill({\n color: 'rgba(0, 0, 255, 0.2)'\n })\n }));\n var geojsonObject = {\n 'type': 'FeatureCollection',\n 'crs': {\n 'type': 'name',\n 'properties': {\n 'name': 'EPSG:29873'\n }\n },\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Polygon',\n 'coordinates': [lrarr1]\n }\n }]\n }; //console.log(geojsonObject);\n //'coordinates': [[[-5e6, -1e6], [-4e6, 1e6], [-3e6, -1e6]]]\n //console.log('polygon linear ring count: ' + pol1.getLinearRingCount());\n //console.log(pol1.getLinearRing(0));\n //console.log(pol1.getLinearRing(0).getType());\n\n let feGeoJson = new _GeoJSON.default({\n dataProjection: 'EPSG:29873',\n featureProjection: 'EPSG:29873'\n }); //console.log(feGeoJson);\n //console.log(feGeoJson.readProjection(geojsonObject));\n\n if (Boolean(this.get('usedVectorSource'))) {\n let uvs = this.get('usedVectorSource');\n uvs.clear();\n this.set('usedVectorSource', null);\n }\n\n let feVectorSource = new _Vector2.default({\n features: feGeoJson.readFeatures(geojsonObject),\n useSpatialIndex: false\n }); //console.log(feVectorSource);\n\n this.set('usedVectorSource', feVectorSource); //feVectorSource.addFeature(targetFeature);\n //vla1.setSource(vs1);\n //console.log(vla1.getStyle());\n\n if (Boolean(this.get('usedVectorLayer'))) {\n map.removeLayer(this.get('usedVectorLayer'));\n }\n\n ;\n var layer22 = new _Vector.default({\n title: 'SearchLayer',\n source: feVectorSource,\n zIndex: 200,\n style: new _style.Style({\n stroke: new _style.Stroke({\n color: 'red',\n width: 3\n }),\n fill: new _style.Fill({\n color: 'rgba(0, 0, 255, 0.2)'\n })\n })\n });\n map.addLayer(layer22);\n this.set('usedVectorLayer', layer22);\n feVectorSource.refresh();\n let polycoord1 = poly1.getFirstCoordinate(); //console.log('testing..........');\n //console.log(polycoord1);\n\n map.getView().setCenter(polycoord1);\n\n if (row.get('objectfield2') == 'Kampung') {\n if (_c_srs == 'EPSG:4326') {\n map.getView().setResolution(0.00002379460961695686 * 4);\n } else {\n map.getView().setResolution(2.645838625 * 4);\n }\n } else if (row.get('objectfield2') == 'Mukim') {\n if (_c_srs == 'EPSG:4326') {\n map.getView().setResolution(0.00002379460961695686 * 10);\n } else {\n map.getView().setResolution(2.645838625 * 10);\n }\n } else {\n if (_c_srs == 'EPSG:4326') {\n map.getView().setResolution(0.000005948652404239215);\n } else {\n map.getView().setResolution(0.6614596562526458386250105833545);\n }\n } //map.getView().setResolution(0.6614596562526458386250105833545);\n //map.getView().changed();\n //console.log(map.getLayers());\n //console.log(layer22.getSource().getFeatures());\n //console.log(layer22.getSource().getProjection());\n //console.log(poly1.getLinearRing(0));\n\n } //Automatic close the left panel if user is in mobile mode\n\n\n if (this.get('isMobile') === 'Yes') {\n this.toggleFunctionPanel();\n }\n },\n\n setSearchType(value) {\n //const olMapservice = this.get('olMapservice');\n //this.set('canClearResults', true);\n this.set('model1', []);\n this.set('searchtype', value); //console.log('map search type : ' + value);\n\n /* window.addEventListener(\"resize\", function () {\n console.log('Window Resize Triggered via addEventListener');\n }); */\n // captured by jquery above\n },\n\n async doSearch() {\n //this.set('canClearResults', true);\n let self = this;\n this.set('model1', []);\n let sv1 = this.get('searchvalue');\n let st1 = this.get('searchtype');\n let wfs1 = '';\n let layer1 = '';\n let attr1 = '';\n let str1 = '';\n const olMapservice = this.get('olMapservice'); //console.log('map search value : ' + sv1 + ' search type ' + st1.name);\n\n switch (st1.name) {\n case 'Lots':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/LOTS3\");\n layer1 = 'MV_LOTS3';\n attr1 = 'VC_LOTNUM';\n str1 = '%' + sv1 + '%';\n break;\n\n case 'Lots_exact':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/LOTS3\");\n layer1 = 'MV_LOTS3';\n attr1 = 'VC_LOTNUM';\n str1 = sv1;\n break;\n\n case 'Lots_EDR':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/LOTS3\");\n layer1 = 'MV_LOTS3';\n attr1 = 'VC_EDRNUM';\n str1 = '%' + sv1 + '%';\n break;\n\n case 'TOL':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/GDBD\");\n layer1 = 'TOL';\n attr1 = 'TOLNUM';\n str1 = '%' + sv1 + '%';\n break;\n\n case 'Gazette':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = 'MV_GAZETTE1';\n attr1 = 'VC_GR_NUM';\n str1 = '%' + sv1 + '%';\n break;\n\n case 'Gazette_exact':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = 'MV_GAZETTE1';\n attr1 = 'VC_GR_NUM';\n str1 = sv1;\n break;\n\n case 'Place':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/SSDI\");\n layer1 = 'POI';\n attr1 = 'PLACENAME';\n str1 = '%' + sv1 + '%';\n break;\n\n case 'Kampung':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/GDBD_BR10\");\n layer1 = 'ADMINBNDY_P_AGREEMENT';\n attr1 = 'KG_NAME';\n str1 = '%' + sv1 + '%';\n break;\n\n case 'Mukim':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHost'), \"/erdas-apollo/vector/GDBD_BR10\");\n layer1 = 'MUKIM_P';\n attr1 = 'MUKIM_NAME';\n str1 = '%' + sv1 + '%';\n break;\n\n case 'GeoCoordinates':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = '';\n layer1 = '';\n attr1 = '';\n str1 = '';\n break;\n\n default:\n console.log('Error Encountered in Search Case Switch');\n }\n /* olMapservice.findWfsObjects(olMapservice, wfs1, layer1, attr1, str1).then(\n function (self,features1) {\n console.log('map-search component found ...');\n console.log(features1);\n this.set('ffeatures',features1);\n }\n ); */\n\n\n let map = olMapservice.get('map');\n let markerVectorLayer = olMapservice.get('vectorLayer');\n\n if (st1.name == 'GeoCoordinates') {\n const dummy = await 20; // to resolve promise error at console\n\n if (Boolean(this.get('usedVectorLayer'))) {\n map.removeLayer(this.get('usedVectorLayer')); //console.log('REMOVE USED LAYER...');\n }\n\n ;\n let mvs = olMapservice.get('vectorSource');\n mvs.clear();\n let carray = sv1.split(\",\");\n\n let _c_srs = map.getView().getProjection().getCode();\n\n if (Boolean(this.get('usedMarkerVectorLayer'))) {} else {\n map.addLayer(markerVectorLayer);\n this.set('usedMarkerVectorLayer', markerVectorLayer);\n }\n\n ; //olMapservice.plotOnePoint(map,carray);\n\n let [lon, lat] = carray.reverse(); // marker permanently change by reverse\n\n let point2 = new _Feature.default({\n geometry: new _Point.default(carray)\n });\n point2.setStyle(new _style.Style({\n image: new _style.Circle({\n radius: 7,\n //fill: new Fill({color: '#666666'}),\n stroke: new _style.Stroke({\n color: '#ff0000',\n width: 3\n })\n })\n }));\n const vectorSource = olMapservice.get('vectorSource');\n vectorSource.addFeature(point2);\n vectorSource.refresh();\n map.getView().setCenter(carray);\n\n if (_c_srs == 'EPSG:4326') {\n map.getView().setResolution(0.000005948652404239215);\n } else {\n map.getView().setResolution(0.6614596562526458386250105833545);\n }\n } else {\n let ff1 = await olMapservice.findWfsObjects(olMapservice, wfs1, layer1, attr1, str1, st1.name); //console.log('map-search component found ...');\n //console.log(ff1);\n\n this.set('model1', ff1);\n let redf1 = ff1.map(function (fea1) {\n let mt1 = {\n objectnum: fea1.objectnum\n };\n return mt1;\n });\n this.set('ffeatures', redf1);\n\n if (this.isResizeCapture == false) {\n (function (self) {\n $(window).bind('resize', function () {\n //console.log('Window Resize Triggered');\n //console.log(value);\n //console.log(self.get('model1'));\n let wid1 = $(window).width(); //console.log('wid1');\n //console.log(wid1);\n\n if (420 < wid1 && wid1 < 1025) {\n //console.log(\"Trying to resize 1\");\n // self.get(\"table\").columns.objectAt(0).set(\"width\", wid1 * 0.3 * 0.3 + \"px\");\n // self.get(\"table\").columns.objectAt(1).set(\"width\", wid1 * 0.3 * 0.6 + \"px\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"30%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"70%\"); //self.get('table').columns.objectAt(1).set('width', '0px');\n //self.get('table').columns.objectAt(1).set('hidden', true);\n //self.get('table').set('rows', self.get('ffeatures'));\n } else if (wid1 < 420) {\n //console.log(\"Trying to resize 3\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"40%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"60%\");\n self.get(\"table\").columns.objectAt(1).set(\"hidden\", false);\n } else {\n //console.log(\"Trying to resize 2\");\n // self.get(\"table\").columns.objectAt(0).set(\"width\", wid1 * 0.23 * 0.3 + \"px\");\n // self.get(\"table\").columns.objectAt(1).set(\"width\", wid1 * 0.23 * 0.6 + \"px\");\n self.get(\"table\").columns.objectAt(0).set(\"width\", \"20%\");\n self.get(\"table\").columns.objectAt(1).set(\"width\", \"80%\");\n self.get(\"table\").columns.objectAt(1).set(\"hidden\", false);\n }\n }).trigger('resize');\n })(this); // this.set('isResizeCapture', true);\n\n }\n } //this.updateModel(ff1);\n // rerender component\n //this.rerender();\n\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/nlump-hover-table\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n classNames: ['table', 'mb-0'],\n tagName: \"table\",\n\n click() {\n this.closeLegend();\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ol-layer-tree-group\", [\"exports\", \"web-map/templates/components/ol-layer-tree-group\"], function (_exports, _olLayerTreeGroup) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n layout: _olLayerTreeGroup.default,\n tagName: 'div',\n canInitLayers: false,\n canPropagateInitLayers: Ember.computed('canInitLayers', function () {\n return this.get('canInitLayers');\n }),\n isInitLayerGroup: '',\n setup: Ember.on('init', function () {\n /* const layers = this.get('layers')\n console.log(\"layers in ol-layer-tree-group component: \"+layers)\n const exclusiveLayers = layers.filter(layer => layer.get('exclusive'))\n console.log(\"exclusive layer: \"+exclusiveLayers)\n const onExlusiveLayerVisibilityChange = layer => {\n const visible = layer.get('visible')\n if (visible) {\n exclusiveLayers.filter(e => layer !== e)\n .forEach(e => e.set('visible', false))\n }\n }\n console.log(\"Inside ol layer tree group component\")\n exclusiveLayers.forEach(layer => layer.addObserver('visible', onExlusiveLayerVisibilityChange)) */\n }),\n\n initLayers() {\n /* const layers = this.get('layers')\n console.log(\"layers in ol-layer-tree-group component: \"+layers)\n const exclusiveLayers = layers.filter(layer => layer.get('exclusive'))\n console.log(\"exclusive layer: \"+exclusiveLayers)\n const onExlusiveLayerVisibilityChange = layer => {\n const visible = layer.get('visible')\n if (visible) {\n exclusiveLayers.filter(e => layer !== e)\n .forEach(e => e.set('visible', false))\n }\n }\n console.log(\"Inside ol layer tree group component\")\n exclusiveLayers.forEach(layer => layer.addObserver('visible', onExlusiveLayerVisibilityChange)) */\n },\n\n observer: Ember.observer('canInitLayers', function () {\n if (this.canInitLayers) {\n const layers = this.get('layers'); //console.log(\"Inside ol-layer-tree-group component layers (obsrv canInitLayers) : \"+layers)\n //console.log(layers)\n\n const exclusiveLayers = layers.filter(layer => layer.get('exclusive')); //console.log(\"exclusive layer: \"+exclusiveLayers)\n\n const onExlusiveLayerVisibilityChange = layer => {\n const visible = layer.get('visible');\n\n if (visible) {\n exclusiveLayers.filter(e => layer !== e).forEach(e => e.set('visible', false));\n }\n }; //console.log(\"Inside ol layer tree group component before iterate exclusiveLayers...\")\n\n\n exclusiveLayers.forEach(layer => layer.addObserver('visible', onExlusiveLayerVisibilityChange));\n }\n }),\n observer: Ember.observer('layers', function () {\n //console.log('Inside ol-layer-tree-group component layers (obsrv layers) isInitLayerGroup: ' +this.get('isInitLayerGroup'));\n if (this.canInitLayers) {\n const layers = this.get('layers'); //console.log(\"Inside ol-layer-tree-group component layers (obsrv layers): \")\n //console.log(layers)\n //need to fix here exclusive layer\n\n let subExclusiveLayers = null;\n const exclusiveLayers = layers.filter(layer => {\n if ('group_array' in layer) {\n // do not process exclusive for layer group, but must process exclusive for layers in the group\n let layers22 = layer.group_array; //console.log(layers22)\n\n const exclusiveInnerLayers = layers22.filter(layer => layer.get('exclusive')); //console.log('exclusiveInnerLayers')\n //console.log(exclusiveInnerLayers)\n\n subExclusiveLayers = exclusiveInnerLayers;\n return layer.get('exclusive');\n } else {\n return layer.get('exclusive');\n }\n }); //console.log(\"exclusive layers are: \")\n //console.log(exclusiveLayers)\n //console.log(subExclusiveLayers)\n\n let theExclusiveLayers = exclusiveLayers.concat(subExclusiveLayers);\n\n const onExclusiveLayerVisibilityChange = layer => {\n //console.log(\"Inside ol layer tree group component handler for onExclusiveLayerVisibilityChange ...\")\n const visible = layer.get('visible'); //console.log(layer)\n\n if (visible) {\n theExclusiveLayers.filter(e => layer !== e).forEach(e => e.set('visible', false));\n }\n }; //console.log(\"Inside ol layer tree group component before iterate exclusiveLayers...\")\n\n\n theExclusiveLayers.forEach(layer => layer.addObserver('visible', onExclusiveLayerVisibilityChange));\n }\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ol-layer-tree-item-check\", [\"exports\", \"web-map/templates/components/ol-layer-tree-item-check\", \"ol/proj.js\"], function (_exports, _olLayerTreeItemCheck, proj) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n olMapservice: Ember.inject.service('ol-mapservice'),\n layout: _olLayerTreeItemCheck.default,\n tagName: 'i',\n classNameBindings: ['isChecked:right-icon:right-icon-inactive', 'isLocked:right-icon-lock'],\n isChecked: true,\n isLocked: false,\n previousChkValue: '',\n isLayerFirstLoaded: true,\n properTitle: '',\n layer_control_value: Ember.computed('isChecked', function () {\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n let firstLoadedGlobal = olMapservice.get('firstLoaded');\n let clayer = this.get('layer'); //console.log('ol-layer-tree-item-check layer_control_value ...')\n //console.log('compute layer_control_value ' + this.get('isChecked') + ' ' + firstLoadedGlobal)\n //this.set('isLayerFirstLoaded',true) \n\n if (firstLoadedGlobal == true && this.get('isLayerFirstLoaded') == true) {\n this.set('previousChkValue', '');\n this.set('isLayerFirstLoaded', false);\n } else {\n // potential bug here, where zoom in and out will cause isChecked to be change and this will cause this code to run\n // and then layer vistype is change to Manual override wrongly \n olMapservice.setLayerVisType(clayer, this.get('isChecked'));\n this.set('previousChkValue', !this.get('isChecked'));\n }\n\n let mctlObj = {\n id: this.get('elementId'),\n currVal: this.get('isChecked'),\n prevVal: this.get('previousChkValue')\n };\n return mctlObj;\n }),\n\n init() {\n this._super(...arguments);\n\n let clayer = this.get('layer');\n let imgLayer = null;\n\n if ('group_array' in clayer) {\n //imgLayer = clayer.group_class.get('layer');\n imgLayer = clayer.get('layer');\n } else {\n imgLayer = clayer.get('layer');\n } //console.log('INIT ol-layer-tree-item-check');\n\n\n let ltitle = imgLayer.values_.title.replace(/\\s+/g, ''); //console.log(ltitle);\n\n this.set('elementId', \"layer-item-eye-id-\".concat(ltitle)); //layer-item-eye-id-xxxx is the id of the eye icon, layer-item-id-xxxx is the id of the input element\n },\n\n didRender() {\n this._super(...arguments);\n\n const olMapservice = this.get('olMapservice');\n let map = olMapservice.get('map');\n let unit = map.getView().getProjection().getUnits();\n let resolution = map.getView().getResolution();\n let inchesPerMetre = 39.37;\n let dpi = 96;\n let clayer = this.get('layer');\n let imgLayer = null;\n\n if ('group_array' in clayer) {\n //imgLayer = clayer.group_class.get('layer');\n imgLayer = clayer.get('layer');\n this.set('properTitle', imgLayer.values_.title);\n } else {\n imgLayer = clayer.get('layer');\n this.set('properTitle', imgLayer.values_.title);\n }\n\n let currentScale = resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi; //console.log('ol-layer-tree-item-check component didRender...'); \n //console.log('layer tree item check ' + this.get('layer.visible'));\n //console.log('>> elementId is: ' + this.get('elementId'));\n\n let elementId = this.get('elementId'); //console.log(imgLayer);\n //console.log(this.get('layer').title);\n //console.log('currentScale: ' + currentScale);\n //console.log('layer.minScale : ' + clayer.minScale);\n //console.log('layer.maxScale : ' + clayer.maxScale);\n\n if (imgLayer.values_.minScale !== undefined && imgLayer.values_.minScale >= 0) {\n if (currentScale > imgLayer.values_.maxScale || currentScale < imgLayer.values_.minScale) {\n document.getElementById(elementId).disabled = true;\n this.set('isLocked', true); //console.log('just disable this checkbox');\n } else {\n document.getElementById(elementId).disabled = false;\n this.set('isLocked', false); //console.log('just enable this checkbox');\n }\n } //Need this console.log() to hide/unhide layers\n\n\n console.log(this.get('layer_control_value')); //let itrun1 = this.get('layer_control_value');\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ol-layer-tree-item\", [\"exports\", \"web-map/templates/components/ol-layer-tree-item\"], function (_exports, _olLayerTreeItem) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n layout: _olLayerTreeItem.default,\n tagName: 'div',\n id: Ember.computed('layer', function () {\n //console.log(\"Inside ol layer tree item component\")\n //console.log(\"layer id is: \"+this.get('layer.id'))\n return 'ol-layer-item-' + this.get('layer.id');\n }),\n id2: Ember.computed('layer', function () {\n let clayer = this.get('layer');\n let imgLayer = null;\n\n if ('group_array' in clayer) {\n //imgLayer = clayer.group_class.get('layer');\n imgLayer = clayer.get('layer');\n } else {\n imgLayer = clayer.get('layer');\n } //console.log('ID2 ol-layer-tree-item');\n //console.log(clayer);\n //console.log(imgLayer);\n //console.log(this.get('layer'));\n\n\n let ltitle = imgLayer.values_.title.replace(/\\s+/g, ''); //console.log(ltitle);\n\n return \"layer-item-id-\".concat(ltitle);\n }),\n properTitle: '',\n group_layers: null,\n isGroup: false,\n isGroupVisible: false,\n isShowSubLayers: false,\n actions: {\n toggleSubLayers() {\n //console.log('Toggle Sub Layers...');\n let currv = this.get('isShowSubLayers');\n this.set('isShowSubLayers', !currv);\n }\n\n },\n\n init() {\n this._super(...arguments);\n\n let clayer = this.get('layer');\n let imgLayer = null;\n\n if ('group_array' in clayer) {\n //imgLayer = clayer.group_class.get('layer');\n imgLayer = clayer.get('layer');\n this.set('properTitle', imgLayer.values_.title);\n this.set('group_layers', clayer.group_array);\n this.set('isGroup', true);\n this.set('isGroupVisible', true);\n this.set('isShowSubLayers', true); //console.log('ol-layer-tree-item component init()...');\n //console.log(clayer.group_array);\n } else {\n imgLayer = clayer.get('layer');\n this.set('properTitle', imgLayer.values_.title);\n }\n },\n\n layer_active_value: Ember.computed('layer', function () {\n //console.log('ol-layer-tree-item component ...')\n //console.log('compute layer_active_value ' + this.get('layer.visible'))\n //console.log('layer.minScale : ' + this.get('layer.minScale'))\n //console.log('layer.maxScale : ' + this.get('layer.maxScale'))\n return this.get('layer.visible') ? 'right-icon' : 'right-icon-inactive';\n }),\n isBaseLayer: Ember.computed('layer', function () {\n //console.log('ol-layer-tree-item component compute isBaseLayer ...');\n //console.log(this.get('layer'));\n let clayer = this.get('layer');\n let imgLayer = null;\n\n if ('group_array' in clayer) {\n //imgLayer = clayer.group_class.get('layer');\n imgLayer = clayer.get('layer');\n } else {\n imgLayer = clayer.get('layer');\n }\n\n if (imgLayer.values_.group_name == 'Basemap') {\n return true;\n } else {\n return false;\n }\n /* if (this.get('layer.isGroup')) {\n return true;\n } else {\n return false;\n } */\n\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ol-layer-tree\", [\"exports\", \"web-map/templates/components/ol-layer-tree\"], function (_exports, _olLayerTree) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n layout: _olLayerTree.default,\n //classNames: ['ol-layer-tree']\n classNames: ['d-block tab-pane'],\n canInitLayers: false,\n canReInitLayers: false,\n canPropagateInitLayers: Ember.computed('canInitLayers', function () {\n return this.get('canInitLayers');\n }),\n\n didRender() {\n this._super(...arguments); //console.log('OL-LAYER-TREE component layers ...');\n //console.log(this.get('layers'));\n\n },\n\n observer: Ember.observer('canReInitLayers', function () {\n if (this.canReInitLayers) {\n console.log(\"Inside ol-layer-tree component canReInitLayers : \" + this.canReInitLayers);\n } else {\n console.log(\"Inside ol-layer-tree component canReInitLayers : \" + this.canReInitLayers);\n }\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ol-map-panel\", [\"exports\", \"web-map/templates/components/ol-map-panel\", \"web-map/config/environment\"], function (_exports, _olMapPanel, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n olmap2svc: Ember.inject.service('ol-mapservice'),\n data_coordinates: null,\n layout: _olMapPanel.default,\n isInitialized: false,\n classNameBindings: ['mapCss'],\n mapCss: Ember.computed('cssClass', function () {\n return _environment.default.W3O_openlayers.ol_map_panel;\n }),\n\n completeMapSetup() {\n const olmap2svc = this.get('olmap2svc');\n const marker = this.get('marker');\n const map = this.get('map'); //console.log(\"Inside ol map panel component, completeMapSetup map is: \"+map)\n //console.log(\"Inside ol map panel component, marker is: \"+marker)\n\n map.setTarget(this.element);\n const initialExtent = this.get('initialExtent');\n if (initialExtent) map.getView().fit(initialExtent, map.getSize()); //if (marker) olmap2svc.plotOnePoint(map, marker)\n },\n\n didInsertElement() {\n //this.get('registerComponent')(this);\n //this.get('finishMapSetup')(this.element);\n if (_environment.default.W3O_openlayers.deployment == 'RAD') {\n const olmap2svc = this.get('olmap2svc');\n const marker = this.get('marker');\n const map = this.get('map'); //const map = olmap2svc.get('map')\n //console.log(\"Inside ol map panel component, didInsertElement map is: \"+map)\n //console.log('Model providing map marker coordinates...')\n //console.log(this.get('positionList'))\n //console.log(marker)\n\n const markerCent = this.get('markerCenter'); //console.log(markerCent); \n\n if (map !== undefined && markerCent !== undefined) {\n //console.log('Zoom to Marker Center');\n let yx = markerCent.map(ele => parseFloat(ele));\n\n if (isNaN(yx[0]) || isNaN(yx[1])) {\n console.log('NaN doublecheck again...');\n } else {\n let yx1 = yx.slice();\n olmap2svc.plotOnePoint(map, yx);\n olmap2svc.zoomToCenter(yx1);\n }\n }\n }\n },\n\n observer: Ember.observer('isInitialized', function () {\n if (this.isInitialized) {\n this.get('registerComponent')(this);\n this.get('finishMapSetup')(this.element);\n\n if (_environment.default.W3O_openlayers.deployment == 'RAD') {\n const olmap2svc = this.get('olmap2svc');\n const marker = this.get('marker');\n const map = this.get('map'); //console.log(\"Inside ol map panel component, observer isInitialized map is: \"+map);\n //console.log('MarkerCenter coordinates...'); \n\n const markerCent = this.get('markerCenter'); //console.log(markerCent); \n\n if (map !== undefined && markerCent !== undefined) {\n //console.log('Zoom to Marker Center');\n let yx = markerCent.map(ele => parseFloat(ele));\n\n if (isNaN(yx[0]) || isNaN(yx[1])) {\n console.log('NaN doublecheck again...');\n } else {\n let yx1 = yx.slice();\n olmap2svc.plotOnePoint(map, yx);\n olmap2svc.zoomToCenter(yx1);\n }\n }\n }\n }\n }),\n\n willDestroyElement() {\n this.get('deregisterComponent')(); // this._super(...argument); //remove because error when click home button\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ol-map-point\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n olmap2svc: Ember.inject.service('ol-mapservice'),\n\n didInsertElement() {\n const olmap2svc = this.get('olmap2svc');\n const coordinates = this.get('coordinates'); //console.log(\"Inside ol map point component, coordinates : \");\n //console.log(coordinates);\n\n const map = this.get('map'); //console.log(\"Inside ol map point component, map is: \"+map)\n //const initialExtent = this.get('initialExtent')\n //if (initialExtent) map.getView().fit(initialExtent, map.getSize())\n\n if (coordinates) {\n // check further whether set points array still needed\n olmap2svc.setPointsArrayDab(coordinates);\n olmap2svc.plotOnePoint(map, coordinates);\n }\n /* if (coordinates) {\n console.log(\"typeof coordinates \" + typeof coordinates);\n console.log(\"is coordinates an array \" + Array.isArray(coordinates));\n console.log(coordinates);\n olmap2svc.plotManyPoints(map,coordinates);\n \n } */\n\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ol-radio\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Checkbox.extend({\n instrumentDisplay: '{{input type=\"radio\"}}',\n classNames: ['ol-radio special_check_box'],\n classNameBindings: ['isChecked:right-icon:right-icon-inactive'],\n type: 'radio'\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/owl-carousel2\", [\"exports\", \"ember-cli-owl-carousel2/components/owl-carousel2\"], function (_exports, _owlCarousel) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _owlCarousel.default;\n }\n });\n});","define(\"web-map/components/power-select-multiple\", [\"exports\", \"ember-power-select/components/power-select-multiple\"], function (_exports, _powerSelectMultiple) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _powerSelectMultiple.default;\n }\n });\n});","define(\"web-map/components/power-select-multiple/trigger\", [\"exports\", \"ember-power-select/components/power-select-multiple/trigger\"], function (_exports, _trigger) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _trigger.default;\n }\n });\n});","define(\"web-map/components/power-select\", [\"exports\", \"ember-power-select/components/power-select\"], function (_exports, _powerSelect) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _powerSelect.default;\n }\n });\n});","define(\"web-map/components/power-select/before-options\", [\"exports\", \"ember-power-select/components/power-select/before-options\"], function (_exports, _beforeOptions) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _beforeOptions.default;\n }\n });\n});","define(\"web-map/components/power-select/options\", [\"exports\", \"ember-power-select/components/power-select/options\"], function (_exports, _options) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _options.default;\n }\n });\n});","define(\"web-map/components/power-select/placeholder\", [\"exports\", \"ember-power-select/components/power-select/placeholder\"], function (_exports, _placeholder) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _placeholder.default;\n }\n });\n});","define(\"web-map/components/power-select/power-select-group\", [\"exports\", \"ember-power-select/components/power-select/power-select-group\"], function (_exports, _powerSelectGroup) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _powerSelectGroup.default;\n }\n });\n});","define(\"web-map/components/power-select/search-message\", [\"exports\", \"ember-power-select/components/power-select/search-message\"], function (_exports, _searchMessage) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _searchMessage.default;\n }\n });\n});","define(\"web-map/components/power-select/trigger\", [\"exports\", \"ember-power-select/components/power-select/trigger\"], function (_exports, _trigger) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _trigger.default;\n }\n });\n});","define(\"web-map/components/resize-detector\", [\"exports\", \"ember-element-resize-detector/components/resize-detector\"], function (_exports, _resizeDetector) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _resizeDetector.default;\n }\n });\n});","define(\"web-map/components/scroll-content-element\", [\"exports\", \"ember-scrollable/components/scroll-content-element\"], function (_exports, _scrollContentElement) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _scrollContentElement.default;\n }\n });\n});","define(\"web-map/components/vertical-collection\", [\"exports\", \"@html-next/vertical-collection/components/vertical-collection/component\"], function (_exports, _component) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _component.default;\n }\n });\n});","define(\"web-map/components/x-option\", [\"exports\", \"emberx-select/components/x-option\"], function (_exports, _xOption) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _xOption.default;\n _exports.default = _default;\n});","define(\"web-map/components/x-select\", [\"exports\", \"emberx-select/components/x-select\"], function (_exports, _xSelect) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _xSelect.default;\n _exports.default = _default;\n});","define(\"web-map/controllers/map\", [\"exports\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"axios\"], function (_exports, _invalidateSession, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend(_invalidateSession.default, {\n olmap2svc: Ember.inject.service('ol-mapservice'),\n olgp2svc: Ember.inject.service('ol-geopservice'),\n authObject: Ember.inject.service('session'),\n componentRef: null,\n canInitLayers: false,\n canReInitLayers: false,\n // not being used now\n canClearResults: false,\n canClearRSOResults: false,\n canClearGeodeticResults: false,\n canLoadAppLayers: false,\n queryParams: ['rso_type'],\n rso_type: null,\n geoRoleId: 1,\n is_internal: false,\n fp_status: true,\n\n async init() {\n this._super(...arguments); //getting the user role from API if the user logged in\n\n\n let userid = this.get('authObject.data.user.id');\n\n if (this.get('authObject.isAuthenticated')) {\n this.set('is_internal', this.get('authObject.data.user.is_internal'));\n let url_userrole = this.store.adapterFor('application').get('serverHost') + this.store.adapterFor('application').get('namespace') + '/layersetups/getUserRole';\n let response = await _axios.default.post(url_userrole, {\n userid\n }).catch(error => {\n console.log(\"An error occured while getting user role, \".concat(error));\n alert(\"An error occured while getting user role, \".concat(error));\n }); //the login user is not part of registered user of Geoportal\n\n if (response.data.registered === false) {\n this.set('geoRoleId', 1);\n } else {\n this.set('geoRoleId', response.data.roleid);\n }\n }\n },\n\n actions: {\n async initMap() {\n const olmap2svc = this.get('olmap2svc');\n const olgp2svc = this.get('olgp2svc');\n await olmap2svc.promiseInit(this.get('geoRoleId'));\n const map = olmap2svc.getOmap();\n const initialExtent = olmap2svc.getOinitialextent(map);\n const layers = olmap2svc.getOlayers(map);\n this.setProperties({\n map: map,\n initialExtent: initialExtent,\n layers: layers,\n isInitialized: true\n }); // await olgp2svc.promiseInitRSODigital(this.get('is_internal'));\n //console.log('hoichong map controller initMap done');\n },\n\n closePopOver() {\n let elem = document.getElementById('popup');\n $(elem).popover('dispose');\n },\n\n finishMapSetup(element) {\n const map = this.get('map'); //console.log(\"Inside map controller, map is: \"+map)\n\n map.setTarget(element); //const initialExtent = this.get('initialExtent')\n //if (initialExtent) map.getView().fit(initialExtent, map.getSize())\n\n this.set('canInitLayers', true);\n },\n\n reloadMapLayers(code) {\n const map = this.get('map');\n const olmap2svc = this.get('olmap2svc'); //console.log(\"Inside map controller, doing a reloadMapLayers\"); \n\n this.set('canReInitLayers', true); // correct way to remove all layers from map\n\n let clayers1 = [...map.getLayers().getArray()];\n clayers1.forEach(layer => map.removeLayer(layer));\n let alayer1 = olmap2svc.getInitLayers(code);\n alayer1.forEach(layer => {\n //console.log(layer);\n map.addLayer(layer);\n });\n const layers = olmap2svc.getOlayers(map);\n this.set('layers', layers);\n this.set('canClearResults', true);\n this.set('canClearRSOResults', true);\n this.set('canClearGeodeticResults', true); //console.log(\"Inside map controller, canClearResults: \" + this.get('canClearResults')); \n },\n\n async loadAppLayers(code, type) {\n this.set('canLoadAppLayers', true); //console.log(\"Inside map controller, doing a loadAppLayers\");\n\n const map = this.get('map');\n const olgp2svc = this.get('olgp2svc');\n await olgp2svc.promiseInitRSODigital(this.get('is_internal'), '5247', type);\n this.set('canReInitLayers', true); // correct way to remove all layers from map\n\n let clayers1 = [...map.getLayers().getArray()];\n clayers1.forEach(layer => map.removeLayer(layer));\n let alayer1 = olgp2svc.getInitLayers(code);\n alayer1.forEach(layer => {\n //console.log(layer);\n map.addLayer(layer);\n });\n const layers = olgp2svc.getOlayers(map);\n this.set('layers', layers);\n\n if (type === 'rso_digital') {\n this.set('canClearRSOResults', true);\n } else {\n this.set('canClearGeodeticResults', true);\n } //console.log(\"Inside map controller, canClearResults: \" + this.get('canClearResults')); \n\n },\n\n resetClearResults() {\n this.set('canClearResults', false);\n },\n\n resetClearRSOResults() {\n this.set('canClearRSOResults', false);\n },\n\n resetClearGeodeticResults() {\n this.set('canClearGeodeticResults', false);\n },\n\n registerComponent(componentRef) {\n this.set('componentRef', componentRef);\n },\n\n deregisterComponent() {\n this.set('componentRef', null);\n },\n\n callCompleteMapSetup() {\n this.get('componentRef').completeMapSetup();\n },\n\n /* Above code finishMapSetup is to fix the problem of synching the Map object to be available for setTarget to element of the ol-map-panel, \n in a simplistic scenario, where all map visual elements are within the map then ol-map-panel can setTarget, but because we need to set the \n X, Y coordinates to outside of the map, the code to trigger the initMap has to be in the map-info-bar component, and therefore a timing issue arise, \n so this finishMapSetup method (map.setTarget) is here, so that this controller can do initMap and finishMapSetup in correct sequence. \n All this in order to make OpenLayers and Emberjs work well together. */\n\n /* registerComponent and deregisterComponent is an attempt to setup something where One component can call Another component */\n invalidateSession() {\n this.invalidateSession();\n },\n\n authorize() {\n this.store.adapterFor('application').authorizeToken();\n },\n\n toggleFunctionPanel() {\n let fp_status1 = this.get('fp_status');\n const elementA = document.querySelector('#functionPanel21');\n const olMapservice = this.get('olmap2svc'); //console.log('hoichong stmap map-info-bar YOU just CLICK on ATOM fp_status1: ' +fp_status1);\n\n if (Boolean(fp_status1)) {\n //console.log('Hide FP..');\n fp_status1 = !fp_status1;\n olMapservice.animateCSS('#functionPanel21', 'bounceOutLeft', function () {\n elementA.style.display = \"none\";\n });\n } else {\n //console.log('Show FP..');\n fp_status1 = !fp_status1;\n elementA.style.display = \"block\";\n olMapservice.animateCSS('#functionPanel21', 'bounceInLeft', function () {\n elementA.style.display = \"block\";\n });\n } //console.log('final change to ' +fp_status1);\n\n\n this.set('fp_status', fp_status1);\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/controllers/momap\", [\"exports\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"web-map/utils/get-cookie\", \"axios\"], function (_exports, _invalidateSession, _getCookie, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend(_invalidateSession.default, {\n olmap2svc: Ember.inject.service('ol-mapservice'),\n olgp2svc: Ember.inject.service('ol-geopservice'),\n authObject: Ember.inject.service('session'),\n componentRef: null,\n canInitLayers: false,\n canReInitLayers: false,\n // not being used now\n canClearResults: false,\n canClearRSOResults: false,\n canClearGeodeticResults: false,\n canLoadAppLayers: false,\n queryParams: ['rso_type'],\n rso_type: null,\n geoRoleId: 1,\n is_internal: false,\n fp_status: false,\n\n async init() {\n this._super(...arguments); //create cookies for mobile use\n\n\n document.cookie = \"isMobile=Yes\";\n\n if ((0, _getCookie.default)('public_disclaimer') === \"\") {\n document.cookie = \"public_disclaimer=No\";\n }\n\n if ((0, _getCookie.default)('public_disclaimer') === \"No\") {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/disclaimermap-mobile\"));\n } // document.cookie = \"registered_disclaimer=No\"; \n\n\n let cookies = document.cookie;\n console.log((0, _getCookie.default)('isMobile'));\n console.log((0, _getCookie.default)('public_disclaimer')); // console.log(getCookie('registered_disclaimer'));\n //getting the user role from API if the user logged in\n\n let userid = this.get('authObject.data.user.id');\n\n if (this.get('authObject.isAuthenticated')) {\n this.set('is_internal', this.get('authObject.data.user.is_internal'));\n let url_userrole = this.store.adapterFor('application').get('serverHost') + this.store.adapterFor('application').get('namespace') + '/layersetups/getUserRole';\n let response = await _axios.default.post(url_userrole, {\n userid\n }).catch(error => {\n console.log(\"An error occured while getting user role, \".concat(error));\n alert(\"An error occured while getting user role, \".concat(error));\n }); //the login user is not part of registered user of Geoportal\n\n if (response.data.registered === false) {\n this.set('geoRoleId', 1);\n } else {\n this.set('geoRoleId', response.data.roleid);\n }\n }\n },\n\n actions: {\n async initMap() {\n if ((0, _getCookie.default)('public_disclaimer') === \"Yes\") {\n const olmap2svc = this.get('olmap2svc');\n const olgp2svc = this.get('olgp2svc');\n await olmap2svc.promiseInit(this.get('geoRoleId'));\n olmap2svc.setMobileMode('Yes');\n const map = olmap2svc.getOmap();\n const initialExtent = olmap2svc.getOinitialextent(map);\n const layers = olmap2svc.getOlayers(map);\n this.setProperties({\n map: map,\n initialExtent: initialExtent,\n layers: layers,\n isInitialized: true\n });\n await olgp2svc.promiseInitRSODigital(this.get('is_internal'));\n console.log('hoichong map controller initMap done');\n }\n },\n\n closePopOver() {\n let elem = document.getElementById('popup');\n $(elem).popover('dispose');\n },\n\n finishMapSetup(element) {\n const map = this.get('map');\n console.log(\"Inside map controller, map is: \" + map);\n map.setTarget(element); //const initialExtent = this.get('initialExtent')\n //if (initialExtent) map.getView().fit(initialExtent, map.getSize())\n\n this.set('canInitLayers', true);\n },\n\n reloadMapLayers(code) {\n const map = this.get('map');\n const olmap2svc = this.get('olmap2svc');\n console.log(\"Inside map controller, doing a reloadMapLayers\");\n this.set('canReInitLayers', true); // correct way to remove all layers from map\n\n let clayers1 = [...map.getLayers().getArray()];\n clayers1.forEach(layer => map.removeLayer(layer));\n let alayer1 = olmap2svc.getInitLayers(code);\n alayer1.forEach(layer => {\n //console.log(layer);\n map.addLayer(layer);\n });\n const layers = olmap2svc.getOlayers(map);\n this.set('layers', layers);\n this.set('canClearResults', true);\n this.set('canClearRSOResults', true); //console.log(\"Inside map controller, canClearResults: \" + this.get('canClearResults')); \n },\n\n async loadAppLayers(code, type) {\n this.set('canLoadAppLayers', true);\n console.log(\"Inside map controller, doing a loadAppLayers\");\n const map = this.get('map');\n const olgp2svc = this.get('olgp2svc');\n await olgp2svc.promiseInitRSODigital(this.get('is_internal'), '5247', type);\n this.set('canReInitLayers', true); // correct way to remove all layers from map\n\n let clayers1 = [...map.getLayers().getArray()];\n clayers1.forEach(layer => map.removeLayer(layer));\n let alayer1 = olgp2svc.getInitLayers(code);\n alayer1.forEach(layer => {\n //console.log(layer);\n map.addLayer(layer);\n });\n const layers = olgp2svc.getOlayers(map);\n this.set('layers', layers);\n this.set('canClearResults', true); //console.log(\"Inside map controller, canClearResults: \" + this.get('canClearResults')); \n },\n\n resetClearResults() {\n this.set('canClearResults', false);\n },\n\n resetClearRSOResults() {\n this.set('canClearRSOResults', false);\n },\n\n resetClearGeodeticResults() {\n this.set('canClearGeodeticResults', false);\n },\n\n registerComponent(componentRef) {\n this.set('componentRef', componentRef);\n },\n\n deregisterComponent() {\n this.set('componentRef', null);\n },\n\n callCompleteMapSetup() {\n this.get('componentRef').completeMapSetup();\n },\n\n /* Above code finishMapSetup is to fix the problem of synching the Map object to be available for setTarget to element of the ol-map-panel, \n in a simplistic scenario, where all map visual elements are within the map then ol-map-panel can setTarget, but because we need to set the \n X, Y coordinates to outside of the map, the code to trigger the initMap has to be in the map-info-bar component, and therefore a timing issue arise, \n so this finishMapSetup method (map.setTarget) is here, so that this controller can do initMap and finishMapSetup in correct sequence. \n All this in order to make OpenLayers and Emberjs work well together. */\n\n /* registerComponent and deregisterComponent is an attempt to setup something where One component can call Another component */\n invalidateSession() {\n this.invalidateSession();\n },\n\n authorize() {\n this.store.adapterFor('application').authorizeToken();\n },\n\n toggleFunctionPanel() {\n let fp_status1 = this.get('fp_status');\n const elementA = document.querySelector('#functionPanel21');\n const olMapservice = this.get('olmap2svc');\n console.log('hoichong stmap map-info-bar YOU just CLICK on ATOM fp_status1: ' + fp_status1);\n\n if (Boolean(fp_status1)) {\n console.log('Hide FP..');\n fp_status1 = !fp_status1;\n olMapservice.animateCSS('#functionPanel21', 'bounceOutLeft', function () {\n elementA.style.display = \"none\";\n });\n } else {\n console.log('Show FP..');\n fp_status1 = !fp_status1;\n elementA.style.display = \"block\";\n olMapservice.animateCSS('#functionPanel21', 'bounceInLeft', function () {\n elementA.style.display = \"block\";\n });\n }\n\n console.log('final change to ' + fp_status1);\n this.set('fp_status', fp_status1);\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/controllers/stmap\", [\"exports\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"axios\"], function (_exports, _invalidateSession, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Controller.extend(_invalidateSession.default, {\n olmap2svc: Ember.inject.service('ol-mapservice'),\n authObject: Ember.inject.service('session'),\n componentRef: null,\n canInitLayers: false,\n canReInitLayers: false,\n // not being used now\n canClearResults: false,\n geoRoleId: null,\n\n async init() {\n this._super(...arguments);\n\n console.log('authObject');\n console.log(this.get('authObject'));\n let userid = this.get('authObject.data.user.id');\n console.log(userid); //getting the user role from API\n\n if (this.get('authObject.isAuthenticated')) {\n let url_userrole = this.store.adapterFor('application').get('serverHost') + this.store.adapterFor('application').get('namespace') + '/layersetups/getUserRole';\n let response = await _axios.default.post(url_userrole, {\n userid\n }).catch(error => {\n console.log(\"An error occured while getting user role, \".concat(error));\n alert(\"An error occured while getting user role, \".concat(error));\n }); // console.log('user role');\n // console.log(response);\n //the login user is not part of registered user of Geoportal\n\n if (response.data.registered === false) {\n alert('Sorry, you are not allowed to view Registered User contents');\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n } else {\n this.set('geoRoleId', response.data.roleid);\n } // console.log('end init');\n\n }\n },\n\n actions: {\n async initMap() {\n // console.log('start init map');\n const olmap2svc = this.get('olmap2svc');\n await olmap2svc.promiseInit(this.get('geoRoleId'));\n const map = olmap2svc.getOmap();\n const initialExtent = olmap2svc.getOinitialextent(map);\n const layers = olmap2svc.getOlayers(map);\n this.setProperties({\n map: map,\n initialExtent: initialExtent,\n layers: layers,\n isInitialized: true\n });\n console.log('hoichong stmap controller initMap done');\n },\n\n closePopOver() {\n let elem = document.getElementById('popup');\n $(elem).popover('dispose');\n },\n\n finishMapSetup(element) {\n const map = this.get('map');\n console.log(\"Inside stmap controller, map is: \" + map);\n map.setTarget(element); //const initialExtent = this.get('initialExtent')\n //if (initialExtent) map.getView().fit(initialExtent, map.getSize())\n\n this.set('canInitLayers', true);\n },\n\n reloadMapLayers(code) {\n const map = this.get('map');\n const olmap2svc = this.get('olmap2svc');\n console.log(\"Inside stmap controller, doing a reloadMapLayers\");\n this.set('canReInitLayers', true); // correct way to remove all layers from map\n\n let clayers1 = [...map.getLayers().getArray()];\n clayers1.forEach(layer => map.removeLayer(layer));\n let alayer1 = olmap2svc.getInitLayers(code);\n alayer1.forEach(layer => {\n //console.log(layer);\n map.addLayer(layer);\n });\n const layers = olmap2svc.getOlayers(map);\n this.set('layers', layers);\n this.set('canClearResults', true); //console.log(\"Inside stmap controller, canClearResults: \" + this.get('canClearResults')); \n },\n\n resetClearResults() {\n this.set('canClearResults', false);\n },\n\n registerComponent(componentRef) {\n this.set('componentRef', componentRef);\n },\n\n deregisterComponent() {\n this.set('componentRef', null);\n },\n\n callCompleteMapSetup() {\n this.get('componentRef').completeMapSetup();\n },\n\n /* Above code finishMapSetup is to fix the problem of synching the Map object to be available for setTarget to element of the ol-map-panel, \n in a simplistic scenario, where all map visual elements are within the map then ol-map-panel can setTarget, but because we need to set the \n X, Y coordinates to outside of the map, the code to trigger the initMap has to be in the map-info-bar component, and therefore a timing issue arise, \n so this finishMapSetup method (map.setTarget) is here, so that this controller can do initMap and finishMapSetup in correct sequence. \n All this in order to make OpenLayers and Emberjs work well together. */\n\n /* registerComponent and deregisterComponent is an attempt to setup something where One component can call Another component */\n invalidateSession() {\n this.invalidateSession();\n },\n\n authorize() {\n this.store.adapterFor('application').authorizeToken();\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/helpers/-element\", [\"exports\", \"ember-element-helper/helpers/-element\"], function (_exports, _element) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _element.default;\n }\n });\n});","define(\"web-map/helpers/and\", [\"exports\", \"ember-truth-helpers/helpers/and\"], function (_exports, _and) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _and.default;\n }\n });\n Object.defineProperty(_exports, \"and\", {\n enumerable: true,\n get: function () {\n return _and.and;\n }\n });\n});","define(\"web-map/helpers/app-version\", [\"exports\", \"web-map/config/environment\", \"ember-cli-app-version/utils/regexp\"], function (_exports, _environment, _regexp) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.appVersion = appVersion;\n _exports.default = void 0;\n\n function appVersion(_, hash = {}) {\n const version = _environment.default.APP.version; // e.g. 1.0.0-alpha.1+4jds75hf\n // Allow use of 'hideSha' and 'hideVersion' For backwards compatibility\n\n let versionOnly = hash.versionOnly || hash.hideSha;\n let shaOnly = hash.shaOnly || hash.hideVersion;\n let match = null;\n\n if (versionOnly) {\n if (hash.showExtended) {\n match = version.match(_regexp.versionExtendedRegExp); // 1.0.0-alpha.1\n } // Fallback to just version\n\n\n if (!match) {\n match = version.match(_regexp.versionRegExp); // 1.0.0\n }\n }\n\n if (shaOnly) {\n match = version.match(_regexp.shaRegExp); // 4jds75hf\n }\n\n return match ? match[0] : version;\n }\n\n var _default = Ember.Helper.helper(appVersion);\n\n _exports.default = _default;\n});","define(\"web-map/helpers/append\", [\"exports\", \"ember-composable-helpers/helpers/append\"], function (_exports, _append) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _append.default;\n }\n });\n Object.defineProperty(_exports, \"append\", {\n enumerable: true,\n get: function () {\n return _append.append;\n }\n });\n});","define(\"web-map/helpers/array\", [\"exports\", \"ember-composable-helpers/helpers/array\"], function (_exports, _array) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _array.default;\n }\n });\n Object.defineProperty(_exports, \"array\", {\n enumerable: true,\n get: function () {\n return _array.array;\n }\n });\n});","define(\"web-map/helpers/camelize\", [\"exports\", \"ember-cli-string-helpers/helpers/camelize\"], function (_exports, _camelize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _camelize.default;\n }\n });\n Object.defineProperty(_exports, \"camelize\", {\n enumerable: true,\n get: function () {\n return _camelize.camelize;\n }\n });\n});","define(\"web-map/helpers/cancel-all\", [\"exports\", \"ember-concurrency/helpers/cancel-all\"], function (_exports, _cancelAll) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _cancelAll.default;\n }\n });\n});","define(\"web-map/helpers/capitalize\", [\"exports\", \"ember-cli-string-helpers/helpers/capitalize\"], function (_exports, _capitalize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _capitalize.default;\n }\n });\n Object.defineProperty(_exports, \"capitalize\", {\n enumerable: true,\n get: function () {\n return _capitalize.capitalize;\n }\n });\n});","define(\"web-map/helpers/chunk\", [\"exports\", \"ember-composable-helpers/helpers/chunk\"], function (_exports, _chunk) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _chunk.default;\n }\n });\n Object.defineProperty(_exports, \"chunk\", {\n enumerable: true,\n get: function () {\n return _chunk.chunk;\n }\n });\n});","define(\"web-map/helpers/classify\", [\"exports\", \"ember-cli-string-helpers/helpers/classify\"], function (_exports, _classify) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _classify.default;\n }\n });\n Object.defineProperty(_exports, \"classify\", {\n enumerable: true,\n get: function () {\n return _classify.classify;\n }\n });\n});","define(\"web-map/helpers/compact\", [\"exports\", \"ember-composable-helpers/helpers/compact\"], function (_exports, _compact) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _compact.default;\n }\n });\n});","define(\"web-map/helpers/compute\", [\"exports\", \"ember-composable-helpers/helpers/compute\"], function (_exports, _compute) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _compute.default;\n }\n });\n Object.defineProperty(_exports, \"compute\", {\n enumerable: true,\n get: function () {\n return _compute.compute;\n }\n });\n});","define(\"web-map/helpers/contains\", [\"exports\", \"ember-composable-helpers/helpers/contains\"], function (_exports, _contains) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _contains.default;\n }\n });\n Object.defineProperty(_exports, \"contains\", {\n enumerable: true,\n get: function () {\n return _contains.contains;\n }\n });\n});","define(\"web-map/helpers/dasherize\", [\"exports\", \"ember-cli-string-helpers/helpers/dasherize\"], function (_exports, _dasherize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _dasherize.default;\n }\n });\n Object.defineProperty(_exports, \"dasherize\", {\n enumerable: true,\n get: function () {\n return _dasherize.dasherize;\n }\n });\n});","define(\"web-map/helpers/dec\", [\"exports\", \"ember-composable-helpers/helpers/dec\"], function (_exports, _dec) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _dec.default;\n }\n });\n Object.defineProperty(_exports, \"dec\", {\n enumerable: true,\n get: function () {\n return _dec.dec;\n }\n });\n});","define(\"web-map/helpers/drop\", [\"exports\", \"ember-composable-helpers/helpers/drop\"], function (_exports, _drop) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _drop.default;\n }\n });\n});","define(\"web-map/helpers/ember-power-select-is-group\", [\"exports\", \"ember-power-select/helpers/ember-power-select-is-group\"], function (_exports, _emberPowerSelectIsGroup) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberPowerSelectIsGroup.default;\n }\n });\n Object.defineProperty(_exports, \"emberPowerSelectIsGroup\", {\n enumerable: true,\n get: function () {\n return _emberPowerSelectIsGroup.emberPowerSelectIsGroup;\n }\n });\n});","define(\"web-map/helpers/ember-power-select-is-selected\", [\"exports\", \"ember-power-select/helpers/ember-power-select-is-selected\"], function (_exports, _emberPowerSelectIsSelected) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberPowerSelectIsSelected.default;\n }\n });\n Object.defineProperty(_exports, \"emberPowerSelectIsSelected\", {\n enumerable: true,\n get: function () {\n return _emberPowerSelectIsSelected.emberPowerSelectIsSelected;\n }\n });\n});","define(\"web-map/helpers/eq\", [\"exports\", \"ember-truth-helpers/helpers/equal\"], function (_exports, _equal) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _equal.default;\n }\n });\n Object.defineProperty(_exports, \"equal\", {\n enumerable: true,\n get: function () {\n return _equal.equal;\n }\n });\n});","define(\"web-map/helpers/filter-by\", [\"exports\", \"ember-composable-helpers/helpers/filter-by\"], function (_exports, _filterBy) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _filterBy.default;\n }\n });\n});","define(\"web-map/helpers/filter\", [\"exports\", \"ember-composable-helpers/helpers/filter\"], function (_exports, _filter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _filter.default;\n }\n });\n});","define(\"web-map/helpers/find-by\", [\"exports\", \"ember-composable-helpers/helpers/find-by\"], function (_exports, _findBy) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _findBy.default;\n }\n });\n});","define(\"web-map/helpers/flatten\", [\"exports\", \"ember-composable-helpers/helpers/flatten\"], function (_exports, _flatten) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _flatten.default;\n }\n });\n Object.defineProperty(_exports, \"flatten\", {\n enumerable: true,\n get: function () {\n return _flatten.flatten;\n }\n });\n});","define(\"web-map/helpers/group-by\", [\"exports\", \"ember-composable-helpers/helpers/group-by\"], function (_exports, _groupBy) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _groupBy.default;\n }\n });\n});","define(\"web-map/helpers/gt\", [\"exports\", \"ember-truth-helpers/helpers/gt\"], function (_exports, _gt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _gt.default;\n }\n });\n Object.defineProperty(_exports, \"gt\", {\n enumerable: true,\n get: function () {\n return _gt.gt;\n }\n });\n});","define(\"web-map/helpers/gte\", [\"exports\", \"ember-truth-helpers/helpers/gte\"], function (_exports, _gte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _gte.default;\n }\n });\n Object.defineProperty(_exports, \"gte\", {\n enumerable: true,\n get: function () {\n return _gte.gte;\n }\n });\n});","define(\"web-map/helpers/has-next\", [\"exports\", \"ember-composable-helpers/helpers/has-next\"], function (_exports, _hasNext) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _hasNext.default;\n }\n });\n Object.defineProperty(_exports, \"hasNext\", {\n enumerable: true,\n get: function () {\n return _hasNext.hasNext;\n }\n });\n});","define(\"web-map/helpers/has-previous\", [\"exports\", \"ember-composable-helpers/helpers/has-previous\"], function (_exports, _hasPrevious) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _hasPrevious.default;\n }\n });\n Object.defineProperty(_exports, \"hasPrevious\", {\n enumerable: true,\n get: function () {\n return _hasPrevious.hasPrevious;\n }\n });\n});","define(\"web-map/helpers/html-safe\", [\"exports\", \"ember-cli-string-helpers/helpers/html-safe\"], function (_exports, _htmlSafe) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _htmlSafe.default;\n }\n });\n Object.defineProperty(_exports, \"htmlSafe\", {\n enumerable: true,\n get: function () {\n return _htmlSafe.htmlSafe;\n }\n });\n});","define(\"web-map/helpers/humanize\", [\"exports\", \"ember-cli-string-helpers/helpers/humanize\"], function (_exports, _humanize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _humanize.default;\n }\n });\n Object.defineProperty(_exports, \"humanize\", {\n enumerable: true,\n get: function () {\n return _humanize.humanize;\n }\n });\n});","define(\"web-map/helpers/inc\", [\"exports\", \"ember-composable-helpers/helpers/inc\"], function (_exports, _inc) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _inc.default;\n }\n });\n Object.defineProperty(_exports, \"inc\", {\n enumerable: true,\n get: function () {\n return _inc.inc;\n }\n });\n});","define(\"web-map/helpers/intersect\", [\"exports\", \"ember-composable-helpers/helpers/intersect\"], function (_exports, _intersect) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _intersect.default;\n }\n });\n});","define(\"web-map/helpers/invoke\", [\"exports\", \"ember-composable-helpers/helpers/invoke\"], function (_exports, _invoke) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _invoke.default;\n }\n });\n Object.defineProperty(_exports, \"invoke\", {\n enumerable: true,\n get: function () {\n return _invoke.invoke;\n }\n });\n});","define(\"web-map/helpers/is-array\", [\"exports\", \"ember-truth-helpers/helpers/is-array\"], function (_exports, _isArray) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _isArray.default;\n }\n });\n Object.defineProperty(_exports, \"isArray\", {\n enumerable: true,\n get: function () {\n return _isArray.isArray;\n }\n });\n});","define(\"web-map/helpers/is-empty\", [\"exports\", \"ember-truth-helpers/helpers/is-empty\"], function (_exports, _isEmpty) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _isEmpty.default;\n }\n });\n});","define(\"web-map/helpers/is-equal\", [\"exports\", \"ember-truth-helpers/helpers/is-equal\"], function (_exports, _isEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _isEqual.default;\n }\n });\n Object.defineProperty(_exports, \"isEqual\", {\n enumerable: true,\n get: function () {\n return _isEqual.isEqual;\n }\n });\n});","define(\"web-map/helpers/join\", [\"exports\", \"ember-composable-helpers/helpers/join\"], function (_exports, _join) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _join.default;\n }\n });\n});","define(\"web-map/helpers/lowercase\", [\"exports\", \"ember-cli-string-helpers/helpers/lowercase\"], function (_exports, _lowercase) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _lowercase.default;\n }\n });\n Object.defineProperty(_exports, \"lowercase\", {\n enumerable: true,\n get: function () {\n return _lowercase.lowercase;\n }\n });\n});","define(\"web-map/helpers/lt\", [\"exports\", \"ember-truth-helpers/helpers/lt\"], function (_exports, _lt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _lt.default;\n }\n });\n Object.defineProperty(_exports, \"lt\", {\n enumerable: true,\n get: function () {\n return _lt.lt;\n }\n });\n});","define(\"web-map/helpers/lte\", [\"exports\", \"ember-truth-helpers/helpers/lte\"], function (_exports, _lte) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _lte.default;\n }\n });\n Object.defineProperty(_exports, \"lte\", {\n enumerable: true,\n get: function () {\n return _lte.lte;\n }\n });\n});","define(\"web-map/helpers/map-by\", [\"exports\", \"ember-composable-helpers/helpers/map-by\"], function (_exports, _mapBy) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _mapBy.default;\n }\n });\n});","define(\"web-map/helpers/map\", [\"exports\", \"ember-composable-helpers/helpers/map\"], function (_exports, _map) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _map.default;\n }\n });\n});","define(\"web-map/helpers/media\", [\"exports\", \"ember-responsive/helpers/media\"], function (_exports, _media) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _media.default;\n }\n });\n Object.defineProperty(_exports, \"media\", {\n enumerable: true,\n get: function () {\n return _media.media;\n }\n });\n});","define(\"web-map/helpers/next\", [\"exports\", \"ember-composable-helpers/helpers/next\"], function (_exports, _next) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _next.default;\n }\n });\n Object.defineProperty(_exports, \"next\", {\n enumerable: true,\n get: function () {\n return _next.next;\n }\n });\n});","define(\"web-map/helpers/not-eq\", [\"exports\", \"ember-truth-helpers/helpers/not-equal\"], function (_exports, _notEqual) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _notEqual.default;\n }\n });\n Object.defineProperty(_exports, \"notEq\", {\n enumerable: true,\n get: function () {\n return _notEqual.notEq;\n }\n });\n});","define(\"web-map/helpers/not\", [\"exports\", \"ember-truth-helpers/helpers/not\"], function (_exports, _not) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _not.default;\n }\n });\n Object.defineProperty(_exports, \"not\", {\n enumerable: true,\n get: function () {\n return _not.not;\n }\n });\n});","define(\"web-map/helpers/object-at\", [\"exports\", \"ember-composable-helpers/helpers/object-at\"], function (_exports, _objectAt) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _objectAt.default;\n }\n });\n Object.defineProperty(_exports, \"objectAt\", {\n enumerable: true,\n get: function () {\n return _objectAt.objectAt;\n }\n });\n});","define(\"web-map/helpers/optional\", [\"exports\", \"ember-composable-helpers/helpers/optional\"], function (_exports, _optional) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _optional.default;\n }\n });\n Object.defineProperty(_exports, \"optional\", {\n enumerable: true,\n get: function () {\n return _optional.optional;\n }\n });\n});","define(\"web-map/helpers/or\", [\"exports\", \"ember-truth-helpers/helpers/or\"], function (_exports, _or) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _or.default;\n }\n });\n Object.defineProperty(_exports, \"or\", {\n enumerable: true,\n get: function () {\n return _or.or;\n }\n });\n});","define(\"web-map/helpers/perform\", [\"exports\", \"ember-concurrency/helpers/perform\"], function (_exports, _perform) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _perform.default;\n }\n });\n});","define(\"web-map/helpers/pipe-action\", [\"exports\", \"ember-composable-helpers/helpers/pipe-action\"], function (_exports, _pipeAction) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _pipeAction.default;\n }\n });\n});","define(\"web-map/helpers/pipe\", [\"exports\", \"ember-composable-helpers/helpers/pipe\"], function (_exports, _pipe) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _pipe.default;\n }\n });\n Object.defineProperty(_exports, \"pipe\", {\n enumerable: true,\n get: function () {\n return _pipe.pipe;\n }\n });\n});","define(\"web-map/helpers/pluralize\", [\"exports\", \"ember-inflector/lib/helpers/pluralize\"], function (_exports, _pluralize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _pluralize.default;\n _exports.default = _default;\n});","define(\"web-map/helpers/plus-one\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Helper.helper(function plusOne(params\n /*, hash*/\n ) {\n if (isNaN(params[0])) {\n return params;\n }\n\n return parseInt(params[0] + 1);\n });\n\n _exports.default = _default;\n});","define(\"web-map/helpers/previous\", [\"exports\", \"ember-composable-helpers/helpers/previous\"], function (_exports, _previous) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _previous.default;\n }\n });\n Object.defineProperty(_exports, \"previous\", {\n enumerable: true,\n get: function () {\n return _previous.previous;\n }\n });\n});","define(\"web-map/helpers/queue\", [\"exports\", \"ember-composable-helpers/helpers/queue\"], function (_exports, _queue) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _queue.default;\n }\n });\n Object.defineProperty(_exports, \"queue\", {\n enumerable: true,\n get: function () {\n return _queue.queue;\n }\n });\n});","define(\"web-map/helpers/range\", [\"exports\", \"ember-composable-helpers/helpers/range\"], function (_exports, _range) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _range.default;\n }\n });\n Object.defineProperty(_exports, \"range\", {\n enumerable: true,\n get: function () {\n return _range.range;\n }\n });\n});","define(\"web-map/helpers/reduce\", [\"exports\", \"ember-composable-helpers/helpers/reduce\"], function (_exports, _reduce) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _reduce.default;\n }\n });\n});","define(\"web-map/helpers/reject-by\", [\"exports\", \"ember-composable-helpers/helpers/reject-by\"], function (_exports, _rejectBy) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _rejectBy.default;\n }\n });\n});","define(\"web-map/helpers/repeat\", [\"exports\", \"ember-composable-helpers/helpers/repeat\"], function (_exports, _repeat) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _repeat.default;\n }\n });\n Object.defineProperty(_exports, \"repeat\", {\n enumerable: true,\n get: function () {\n return _repeat.repeat;\n }\n });\n});","define(\"web-map/helpers/reverse\", [\"exports\", \"ember-composable-helpers/helpers/reverse\"], function (_exports, _reverse) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _reverse.default;\n }\n });\n});","define(\"web-map/helpers/send\", [\"exports\", \"ember-component-inbound-actions/helpers/send\"], function (_exports, _send) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _send.default;\n }\n });\n});","define(\"web-map/helpers/shuffle\", [\"exports\", \"ember-composable-helpers/helpers/shuffle\"], function (_exports, _shuffle) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _shuffle.default;\n }\n });\n Object.defineProperty(_exports, \"shuffle\", {\n enumerable: true,\n get: function () {\n return _shuffle.shuffle;\n }\n });\n});","define(\"web-map/helpers/singularize\", [\"exports\", \"ember-inflector/lib/helpers/singularize\"], function (_exports, _singularize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _singularize.default;\n _exports.default = _default;\n});","define(\"web-map/helpers/slice\", [\"exports\", \"ember-composable-helpers/helpers/slice\"], function (_exports, _slice) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _slice.default;\n }\n });\n});","define(\"web-map/helpers/sort-by\", [\"exports\", \"ember-composable-helpers/helpers/sort-by\"], function (_exports, _sortBy) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _sortBy.default;\n }\n });\n});","define(\"web-map/helpers/take\", [\"exports\", \"ember-composable-helpers/helpers/take\"], function (_exports, _take) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _take.default;\n }\n });\n});","define(\"web-map/helpers/task\", [\"exports\", \"ember-concurrency/helpers/task\"], function (_exports, _task) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _task.default;\n }\n });\n});","define(\"web-map/helpers/titleize\", [\"exports\", \"ember-cli-string-helpers/helpers/titleize\"], function (_exports, _titleize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _titleize.default;\n }\n });\n Object.defineProperty(_exports, \"titleize\", {\n enumerable: true,\n get: function () {\n return _titleize.titleize;\n }\n });\n});","define(\"web-map/helpers/toggle-action\", [\"exports\", \"ember-composable-helpers/helpers/toggle-action\"], function (_exports, _toggleAction) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _toggleAction.default;\n }\n });\n});","define(\"web-map/helpers/toggle\", [\"exports\", \"ember-composable-helpers/helpers/toggle\"], function (_exports, _toggle) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _toggle.default;\n }\n });\n Object.defineProperty(_exports, \"toggle\", {\n enumerable: true,\n get: function () {\n return _toggle.toggle;\n }\n });\n});","define(\"web-map/helpers/trim\", [\"exports\", \"ember-cli-string-helpers/helpers/trim\"], function (_exports, _trim) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _trim.default;\n }\n });\n Object.defineProperty(_exports, \"trim\", {\n enumerable: true,\n get: function () {\n return _trim.trim;\n }\n });\n});","define(\"web-map/helpers/truncate\", [\"exports\", \"ember-cli-string-helpers/helpers/truncate\"], function (_exports, _truncate) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _truncate.default;\n }\n });\n Object.defineProperty(_exports, \"truncate\", {\n enumerable: true,\n get: function () {\n return _truncate.truncate;\n }\n });\n});","define(\"web-map/helpers/underscore\", [\"exports\", \"ember-cli-string-helpers/helpers/underscore\"], function (_exports, _underscore) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _underscore.default;\n }\n });\n Object.defineProperty(_exports, \"underscore\", {\n enumerable: true,\n get: function () {\n return _underscore.underscore;\n }\n });\n});","define(\"web-map/helpers/union\", [\"exports\", \"ember-composable-helpers/helpers/union\"], function (_exports, _union) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _union.default;\n }\n });\n});","define(\"web-map/helpers/uppercase\", [\"exports\", \"ember-cli-string-helpers/helpers/uppercase\"], function (_exports, _uppercase) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _uppercase.default;\n }\n });\n Object.defineProperty(_exports, \"uppercase\", {\n enumerable: true,\n get: function () {\n return _uppercase.uppercase;\n }\n });\n});","define(\"web-map/helpers/w\", [\"exports\", \"ember-cli-string-helpers/helpers/w\"], function (_exports, _w) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _w.default;\n }\n });\n Object.defineProperty(_exports, \"w\", {\n enumerable: true,\n get: function () {\n return _w.w;\n }\n });\n});","define(\"web-map/helpers/without\", [\"exports\", \"ember-composable-helpers/helpers/without\"], function (_exports, _without) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _without.default;\n }\n });\n Object.defineProperty(_exports, \"without\", {\n enumerable: true,\n get: function () {\n return _without.without;\n }\n });\n});","define(\"web-map/helpers/xor\", [\"exports\", \"ember-truth-helpers/helpers/xor\"], function (_exports, _xor) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _xor.default;\n }\n });\n Object.defineProperty(_exports, \"xor\", {\n enumerable: true,\n get: function () {\n return _xor.xor;\n }\n });\n});","define(\"web-map/initializers/app-version\", [\"exports\", \"ember-cli-app-version/initializer-factory\", \"web-map/config/environment\"], function (_exports, _initializerFactory, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n let name, version;\n\n if (_environment.default.APP) {\n name = _environment.default.APP.name;\n version = _environment.default.APP.version;\n }\n\n var _default = {\n name: 'App Version',\n initialize: (0, _initializerFactory.default)(name, version)\n };\n _exports.default = _default;\n});","define(\"web-map/initializers/container-debug-adapter\", [\"exports\", \"ember-resolver/resolvers/classic/container-debug-adapter\"], function (_exports, _containerDebugAdapter) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n name: 'container-debug-adapter',\n\n initialize() {\n let app = arguments[1] || arguments[0];\n app.register('container-debug-adapter:main', _containerDebugAdapter.default);\n app.inject('container-debug-adapter:main', 'namespace', 'application:main');\n }\n\n };\n _exports.default = _default;\n});","define(\"web-map/initializers/debug\", [\"exports\", \"@html-next/vertical-collection/-debug\"], function (_exports, _debug) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n name: 'vertical-collection-debug',\n\n initialize() {}\n\n };\n _exports.default = _default;\n});","define(\"web-map/initializers/ember-concurrency\", [\"exports\", \"ember-concurrency/initializers/ember-concurrency\"], function (_exports, _emberConcurrency) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberConcurrency.default;\n }\n });\n});","define(\"web-map/initializers/ember-data\", [\"exports\", \"ember-data/setup-container\", \"ember-data\"], function (_exports, _setupContainer, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n /*\n \n This code initializes Ember-Data onto an Ember application.\n \n If an Ember.js developer defines a subclass of DS.Store on their application,\n as `App.StoreService` (or via a module system that resolves to `service:store`)\n this code will automatically instantiate it and make it available on the\n router.\n \n Additionally, after an application's controllers have been injected, they will\n each have the store made available to them.\n \n For example, imagine an Ember.js application with the following classes:\n \n ```app/services/store.js\n import DS from 'ember-data';\n \n export default DS.Store.extend({\n adapter: 'custom'\n });\n ```\n \n ```app/controllers/posts.js\n import { Controller } from '@ember/controller';\n \n export default Controller.extend({\n // ...\n });\n \n When the application is initialized, `ApplicationStore` will automatically be\n instantiated, and the instance of `PostsController` will have its `store`\n property set to that instance.\n \n Note that this code will only be run if the `ember-application` package is\n loaded. If Ember Data is being used in an environment other than a\n typical application (e.g., node.js where only `ember-runtime` is available),\n this code will be ignored.\n */\n var _default = {\n name: 'ember-data',\n initialize: _setupContainer.default\n };\n _exports.default = _default;\n});","define(\"web-map/initializers/ember-responsive-breakpoints\", [\"exports\", \"ember-responsive/initializers/responsive\"], function (_exports, _responsive) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _responsive.default;\n _exports.default = _default;\n});","define(\"web-map/initializers/ember-simple-auth\", [\"exports\", \"web-map/config/environment\", \"ember-simple-auth/configuration\", \"ember-simple-auth/initializers/setup-session\", \"ember-simple-auth/initializers/setup-session-service\", \"ember-simple-auth/initializers/setup-session-restoration\"], function (_exports, _environment, _configuration, _setupSession, _setupSessionService, _setupSessionRestoration) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n name: 'ember-simple-auth',\n\n initialize(registry) {\n const config = _environment.default['ember-simple-auth'] || {};\n config.rootURL = _environment.default.rootURL || _environment.default.baseURL;\n\n _configuration.default.load(config);\n\n (0, _setupSession.default)(registry);\n (0, _setupSessionService.default)(registry);\n (0, _setupSessionRestoration.default)(registry);\n }\n\n };\n _exports.default = _default;\n});","define(\"web-map/initializers/export-application-global\", [\"exports\", \"web-map/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.initialize = initialize;\n _exports.default = void 0;\n\n function initialize() {\n var application = arguments[1] || arguments[0];\n\n if (_environment.default.exportApplicationGlobal !== false) {\n var theGlobal;\n\n if (typeof window !== 'undefined') {\n theGlobal = window;\n } else if (typeof global !== 'undefined') {\n theGlobal = global;\n } else if (typeof self !== 'undefined') {\n theGlobal = self;\n } else {\n // no reasonable global, just bail\n return;\n }\n\n var value = _environment.default.exportApplicationGlobal;\n var globalName;\n\n if (typeof value === 'string') {\n globalName = value;\n } else {\n globalName = Ember.String.classify(_environment.default.modulePrefix);\n }\n\n if (!theGlobal[globalName]) {\n theGlobal[globalName] = application;\n application.reopen({\n willDestroy: function () {\n this._super.apply(this, arguments);\n\n delete theGlobal[globalName];\n }\n });\n }\n }\n }\n\n var _default = {\n name: 'export-application-global',\n initialize: initialize\n };\n _exports.default = _default;\n});","define(\"web-map/initializers/optmm-global\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.initialize = initialize;\n _exports.default = void 0;\n\n function initialize(application) {\n var optmmSetting = {\n euserInfo: null,\n companynum: null,\n sitenum: null,\n employeenum: null\n };\n application.register('optmmSetting:main', optmmSetting, {\n instantiate: false\n });\n application.inject('route', 'optmmSetting', 'optmmSetting:main');\n application.inject('component', 'optmmSetting', 'optmmSetting:main');\n application.inject('template', 'optmmSetting', 'optmmSetting:main');\n }\n\n var _default = {\n name: 'optmm-global',\n initialize: initialize\n };\n _exports.default = _default;\n});","define(\"web-map/initializers/viewport-config\", [\"exports\", \"ember-in-viewport/initializers/viewport-config\"], function (_exports, _viewportConfig) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _viewportConfig.default;\n }\n });\n Object.defineProperty(_exports, \"initialize\", {\n enumerable: true,\n get: function () {\n return _viewportConfig.initialize;\n }\n });\n});","define(\"web-map/instance-initializers/ember-data\", [\"exports\", \"ember-data/initialize-store-service\"], function (_exports, _initializeStoreService) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n name: 'ember-data',\n initialize: _initializeStoreService.default\n };\n _exports.default = _default;\n});","define(\"web-map/instance-initializers/ember-simple-auth\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n // This is only needed for backwards compatibility and will be removed in the\n // next major release of ember-simple-auth. Unfortunately, there is no way to\n // deprecate this without hooking into Ember's internals…\n var _default = {\n name: 'ember-simple-auth',\n\n initialize() {}\n\n };\n _exports.default = _default;\n});","define(\"web-map/mixins/checkout/checkout-list\", [\"exports\", \"jquery\", \"axios\", \"crypto-js\", \"web-map/config/environment\"], function (_exports, _jquery, _axios, _cryptoJs, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n authObject: Ember.inject.service('session'),\n\n async getItemList() {\n return new Promise(async (resolve, reject) => {\n let self = this,\n controller = self.get('controller'),\n temp = Ember.A(),\n temptrans = Ember.A(),\n totalprice = 0,\n url,\n flag = 0;\n let Variable = Ember.Object.extend({\n id: null,\n item_name: null,\n itemnum: null,\n variantnotes: null,\n notes: null,\n price: null,\n qty: null,\n subtotal: null,\n filepath: null\n }),\n Transaction = Ember.Object.extend({\n id: null,\n address_1: null,\n postal_code: null,\n country: null,\n subtotal: null,\n discount: null,\n paidtotal: null,\n pricediscount: null,\n status: null\n });\n\n if (controller.get('model').product && controller.get('model').qty) {\n url = self.store.adapterFor('application').get('namespace') + '/cart/getCartlistinProduct';\n } else if (controller.get('model').tr) {\n flag = 1;\n url = self.store.adapterFor('application').get('namespace') + '/cart/getTransactionlistinProduct';\n } else {\n controller.set('model', null);\n url = self.store.adapterFor('application').get('namespace') + '/cart/getCartlistinCheckout';\n }\n\n await (0, _axios.default)({\n method: \"POST\",\n data: {\n isdelete: false,\n user: this.get('authObject.data.authenticated.user').id,\n model: controller.get('model')\n },\n url\n }).then(function (response) {\n if (flag === 1) {\n let item = response.data.data.item,\n transactions = response.data.data.transaction;\n item.forEach(items => {\n let itemcontent = Variable.create({\n id: items.id,\n item_name: items.item_name,\n itemnum: items.itemnum,\n variantnotes: items.variantnotes,\n notes: items.notes,\n qty: items.item_qty,\n filepath: items.filepath,\n price: items.price,\n subtotal: parseInt(items.price) * parseInt(items.qty)\n });\n temp.pushObject(itemcontent);\n controller.set('item', temp);\n });\n transactions.forEach(trans => {\n let transcontent = Transaction.create({\n id: trans.id,\n address_1: trans.address_1,\n postal_code: trans.postal_code,\n country: trans.country,\n subtotal: trans.subtotal,\n discount: trans.discount,\n paidtotal: trans.paidtotal,\n pricediscount: parseFloat(trans.subtotal * parseFloat(trans.discount / 100).toFixed(1)).toFixed(1),\n status: trans.status\n });\n temptrans.pushObject(transcontent);\n controller.set('transaction', temptrans[0]);\n });\n } else {\n let item = response.data.carts;\n item.forEach(items => {\n let itemcontent = Variable.create({\n id: items.id,\n item_name: items.item_name,\n itemnum: items.itemnum,\n variantnotes: items.variantnotes,\n notes: items.notes,\n qty: items.qty,\n filepath: items.filepath,\n price: items.price,\n subtotal: parseFloat(items.price) * parseFloat(items.qty)\n });\n temp.pushObject(itemcontent);\n controller.set('item', temp);\n });\n controller.get('item').forEach(items => {\n totalprice += items.subtotal;\n });\n controller.set('totalprice', totalprice);\n }\n }).catch(function (error) {\n console.log('Error ' + error);\n reject();\n });\n await (0, _axios.default)({\n method: \"POST\",\n data: {\n status: 'New',\n isdelete: false,\n user: this.get('authObject.data.authenticated.user').id\n },\n url: self.store.adapterFor('application').get('namespace') + '/transaction/destroyTransaction'\n }).then(function (response) {// console.log('Erase transaction');\n }).catch(function (error) {\n console.log('Error ' + error);\n reject();\n });\n controller.set('loadingPage', false);\n resolve(true);\n });\n },\n\n getInfo: function () {\n let self = this,\n controller = self.get('controller'),\n temp = Ember.A(),\n tempaddress = Ember.A();\n let Address = Ember.Object.extend({\n id: null,\n name: null,\n address_1: null,\n address_2: null,\n city: null,\n state: null,\n country: null,\n postal_code: null,\n isactive: null\n });\n (0, _axios.default)({\n method: \"POST\",\n data: {\n isdelete: false,\n user: this.get('authObject.data.authenticated.user').id\n },\n url: self.store.adapterFor('application').get('namespace') + '/customer/getInfo'\n }).then(function (response) {\n let customer = response.data.customer;\n customer.forEach(cus => {\n controller.set('user', cus);\n });\n }).catch(function (error) {\n console.log('Error ' + error);\n });\n (0, _axios.default)({\n method: \"POST\",\n data: {\n isdelete: false,\n user: this.get('authObject.data.authenticated.user').id\n },\n url: self.store.adapterFor('application').get('namespace') + '/useraddress/getAddress'\n }).then(function (response) {\n let activeaddress = response.data.address.firstaddress;\n\n if (activeaddress.length === 0) {\n controller.set('choosenaddress', null);\n } else {\n activeaddress.forEach(first => {\n controller.set('choosenaddress', first);\n });\n }\n\n let addresses = response.data.address.updateaddress;\n\n if (addresses.length === 0) {\n controller.set('address', null);\n } else {\n addresses.forEach(add => {\n let contentaddress = Address.create({\n id: add.id,\n name: add.address_name,\n address_1: add.address_1,\n address_2: add.address_2,\n city: add.city,\n state: add.state,\n country: add.country,\n postal_code: add.postal_code,\n isactive: add.isactive\n });\n tempaddress.pushObject(contentaddress);\n controller.set('address', tempaddress);\n });\n }\n }).catch(function (error) {\n console.log('Error ' + error);\n });\n },\n createTransaction: function (paymentData) {\n let self = this,\n // controller = self.get('controller'),\n totalprice = paymentData.total_price,\n discount = 0,\n grandtotal = paymentData.total_price; // if (controller.get('grandtotal')) {\n // grandtotal = parseFloat(controller.get('grandtotal'));\n // discount = controller.get('discountpercentage');\n // }\n\n return new Promise(async (resolve, reject) => {\n //if (controller.get('choosenaddress') && controller.get('user').phone)\n //why need phone number to create transaction?\n // if (controller.get('user').phone) {\n (0, _axios.default)({\n method: \"POST\",\n data: {\n totalprice,\n grandtotal,\n discount,\n item: paymentData.application_id,\n\n /*\n useraddress: controller.get('choosenaddress'),\n */\n user: self.get('authObject.data.authenticated.user').id\n },\n url: self.store.adapterFor('application').get('ecomHost') + self.store.adapterFor('application').get('namespace') + '/transaction/createTransactionFromCheckout'\n }).then(function (response) {\n console.log(response);\n resolve(response.data.transaction);\n }).catch(function (error) {\n console.log('Error ' + error);\n reject();\n }); // } else {\n // controller.set('indicator', 'novariant');\n // //console.log('Please Choose Your Address and Phone');\n // reject();\n // }\n });\n },\n readypay: async function (paymentData) {\n // console.log('start payment process');\n // return;\n let self = this,\n controller = self.get('controller'),\n totalprice = paymentData.total_price,\n baseUrl = this.store.adapterFor('application').get('host'),\n ecomUrl = this.store.adapterFor('application').get('ecomWeb'),\n // let transaction = await self.createTransaction(paymentData),\n paymentDescription = \"\".concat(self.get('authObject.data.authenticated.user').id, \" pay for application id \").concat(paymentData.order_number),\n paymentID = \"TP\".concat(self.get('authObject.data.authenticated.user').id, \"00\").concat(paymentData.order_number, \"00\"),\n transID = \"SSDI:\".concat(moment().format('YYYY-MM-DD'), \":\").concat(Math.floor(Math.random() * 89999 + 10000), \":HK\"); // console.log('Ready to Pay');\n // console.log({paymentDescription, paymentID, transID});\n // Encrypt the JSON string using AES encryption with the key\n\n const encryptData = \"transID=\".concat(paymentData.order_number, \",paymentID=\").concat(paymentID, \",moduleID=\").concat(paymentData.order_number, \",currency=BND,amount=\").concat(totalprice, \",totalAmount=\").concat(totalprice); // console.log(encryptData);\n\n const key = _environment.default.checkout.security_key;\n\n const ciphertext = _cryptoJs.default.AES.encrypt(encryptData, key).toString(); // console.log('Encrypted data:', ciphertext);\n\n\n (0, _axios.default)({\n method: \"POST\",\n data: {\n transID: paymentData.order_number,\n moduleID: paymentData.order_number,\n paymentDescription,\n returnURL: \"\".concat(baseUrl, \"/payment\"),\n successURL: baseUrl,\n postPaymentAPI: \"\".concat(ecomUrl, \"/api/v1/transaction/getPostPaymentAPI_GP\"),\n paymentgateway: 2,\n paymentgatewaydetail: 4,\n currency: 'BND',\n paymentID,\n amount: totalprice,\n subscriptionFee: 0,\n totalAmount: totalprice,\n paymentType: 'Credit Card',\n user: self.get('authObject.data.authenticated.user').id,\n decrypt_param: ciphertext\n },\n url: self.store.adapterFor('application').get('ecomWeb') + self.store.adapterFor('application').get('namespace') + '/formpayment/extractPaymentInformation'\n }).then(function (response) {\n console.log('Success !'); // for stripe only\n // window.location.replace(`${ baseUrl }${response.data}`);\n // for baiduri payment\n\n window.location.replace(\"\".concat(response.data));\n }).catch(function (error) {\n console.log('Error ' + error);\n });\n },\n\n promoCode(code) {\n let self = this,\n controller = self.get('controller');\n (0, _axios.default)({\n method: \"POST\",\n data: {\n isdelete: false,\n code\n },\n url: self.store.adapterFor('application').get('namespace') + '/promocode/getPromocode'\n }).then(function (response) {\n let promocode = response.data.promocode,\n totalprice = controller.get('totalprice'),\n grandtotal = 0,\n disc = 0;\n\n if (promocode) {\n disc = parseFloat(promocode.discountpercentage / 100).toFixed(2);\n grandtotal = parseFloat(totalprice).toFixed(2) - parseFloat(totalprice * disc).toFixed(2);\n controller.setProperties({\n promocode: promocode,\n nopromo: true,\n disablebutton: true,\n disc: totalprice * disc,\n discountpercentage: promocode.discountpercentage,\n grandtotal: grandtotal\n });\n } else {\n controller.setProperties({\n nopromo: false,\n disablebutton: false\n });\n }\n }).catch(function (error) {\n console.log('Error ' + error);\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/table-common\", [\"exports\", \"ember-light-table\"], function (_exports, _emberLightTable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n store: Ember.inject.service(),\n page: 0,\n limit: 10,\n dir: 'asc',\n sort: 'firstName',\n //isLoading: computed.oneWay('fetchRecords.isRunning'),\n canLoadMore: true,\n enableSync: true,\n\n /* model1: [{\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }], */\n meta: null,\n columns: null,\n table: null,\n\n init() {\n this._super(...arguments);\n\n console.log('table-common doing init');\n\n let table = _emberLightTable.default.create({\n columns: this.get('columns'),\n rows: this.get('model1')\n }, {\n enableSync: this.get('enableSync')\n });\n\n let sortColumn = table.get('allColumns').findBy('valuePath', this.get('sort')); // Setup initial sort column\n\n if (sortColumn) {\n sortColumn.set('sorted', true);\n }\n\n this.set('table', table);\n },\n\n /* fetchRecords: task(function*() {\n let records = yield this.get('store').query('user', this.getProperties(['page', 'limit', 'sort', 'dir']));\n this.get('model').pushObjects(records.toArray());\n this.set('meta', records.get('meta'));\n this.set('canLoadMore', !isEmpty(records));\n }).restartable(), */\n fetchRecords() {},\n\n updateModel(newm) {\n console.log('table-common mixin update model');\n console.log(newm);\n this.set('model1', newm);\n },\n\n actions: {\n onScrolledToBottom() {\n if (this.get('canLoadMore')) {\n this.incrementProperty('page'); //this.get('fetchRecords').perform();\n }\n },\n\n onColumnClick(column) {\n if (column.sorted) {\n this.setProperties({\n dir: column.ascending ? 'asc' : 'desc',\n sort: column.get('valuePath'),\n canLoadMore: true,\n page: 0\n }); //this.get('model1').clear();\n }\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/check-session-activity\", [\"exports\", \"jquery\", \"web-map/mixins/w3o-users-roles/invalidate-session\"], function (_exports, _jquery, _invalidateSession) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create(_invalidateSession.default, {\n authObject: Ember.inject.service('session'),\n\n checkSessionActivity() {\n let t;\n let self = this;\n let duration = this.store.adapterFor('application').get('inactivityDuration') * 60 * 1000; // minutes * seconds * miliseconds\n // let prevKey = \"\";\n // let validNavigation = false;\n\n window.onload = () => {\n let now = Date.now();\n\n if (now - self.get('authObject').get('data.lastActivity') > duration) {\n return checkSession();\n }\n\n return resetTimer;\n };\n\n window.onmousemove = resetTimer;\n window.onmousedown = resetTimer; // catches touchscreen presses as well \n\n window.ontouchstart = resetTimer; // catches touchscreen swipes as well \n\n window.onclick = resetTimer; // catches touchpad clicks as well\n\n window.onkeypress = resetTimer;\n window.onfocus = resetTimer;\n window.addEventListener('scroll', resetTimer, true); // improved; see comments\n\n window.onbeforeunload = () => {\n if (self.get('authObject.data.user')) {\n self.get('authObject').set('data.lastActivity', Date.now());\n }\n }; // Attach the event click for all links in the page\n\n\n (0, _jquery.default)(document).on(\"click\", \"a\", function () {\n // validNavigation = true;\n // window.onbeforeunload = null;\n setLastActivity();\n }); // Attach the event submit for all forms in the page\n\n (0, _jquery.default)(document).on(\"submit\", \"form\", function () {\n // validNavigation = true;\n // window.onbeforeunload = null;\n setLastActivity();\n }); // Attach the event click for all inputs in the page\n\n (0, _jquery.default)(document).bind(\"click\", \"input[type=submit]\", function () {\n // validNavigation = true;\n // window.onbeforeunload = null;\n setLastActivity();\n });\n (0, _jquery.default)(document).bind(\"click\", \"button[type=submit]\", function () {\n // validNavigation = true;\n // window.onbeforeunload = null;\n setLastActivity();\n }); // window.onbeforeunload = function() {\n // \tif (!validNavigation){\n // \t\t// return checkSession();\n // \t\tif (self.get('authObject.data.user')) {\n // \t\t\tself.get('authObject').set('data.lastActivity', Date.now());\n // \t\t}\n // \t}\n // }\n // $(window).on('mouseover', function () {\n // \twindow.onbeforeunload = null;\n // });\n // $(window).on('mouseout', function () {\n // \twindow.onbeforeunload = checkSession;\n // });\n\n /*$(document).keydown(function (e) {\n \tif (e.key.toUpperCase() === \"W\" && prevKey === \"CONTROL\") {\n \t\twindow.onbeforeunload = checkSession;\n \t}\n \telse if (e.key.toUpperCase() === \"F4\" && (prevKey === \"ALT\" || prevKey === \"CONTROL\")) {\n \t\twindow.onbeforeunload = checkSession;\n \t}\n \telse if (e.key.toUpperCase() === 'CONTROL') {\n \t\twindow.onbeforeunload = checkSession;\n \t}\n \telse if (e.key === \"F5\") {\n \t\twindow.onbeforeunload = checkSession;\n \t}\n \telse if (e.key.toUpperCase() === \"R\" && prevKey === \"CONTROL\") {\n \t\twindow.onbeforeunload = checkSession;\n \t}\n \telse {\n \t\twindow.onbeforeunload = null;\n \t}\n \tprevKey = e.key.toUpperCase();\n });*/\n\n function setLastActivity() {\n if (self.get('authObject.data.user')) {\n self.get('authObject').set('data.lastActivity', Date.now());\n }\n }\n\n function checkSession() {\n // your function for too long inactivity goes here\n if (self.get('authObject.data.user')) {\n return self.invalidateSession();\n }\n }\n\n function resetTimer() {\n clearTimeout(t);\n t = setTimeout(checkSession, duration); // time is in milliseconds\n\n setLastActivity();\n }\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/check-user-role\", [\"exports\", \"jquery\", \"ember-simple-auth/mixins/application-route-mixin\"], function (_exports, _jquery, _applicationRouteMixin) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create(_applicationRouteMixin.default, {\n renderFlag: false,\n setActions: Ember.A(),\n\n /*\n \tInject session service as authObject\n */\n authObject: Ember.inject.service('session'),\n\n /*\n \tCheck whether the current route access is allowed or not\n */\n beforeModel() {\n this._super(...arguments);\n /*\n \tInitialize variables\n */\n\n\n let app = this.get('routeName').split('.');\n let dynamicValue = 'none';\n /*\n \tSet dynamic param if the current route has dynamic param\n \telse, set as 'none'\n */\n\n if (this.get('dynamicParam')) {\n dynamicValue = this.get('dynamicParam')[this.get('routeName')][this.get('dynamicKey')];\n\n if (!dynamicValue) {\n if (this.get('paramContainer')) {\n dynamicValue = this.get('dynamicParam')[this.get('paramContainer')][this.get('dynamicKey')];\n } else {\n dynamicValue = 'none';\n }\n }\n }\n /*\n \tCheck whether the route access is allowed via API call to server\n */\n\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n userId: this.get('authObject.data.user.id'),\n routeName: this.get('routeName'),\n dynamicValue: dynamicValue,\n actionList: JSON.stringify(this.get('actionList'))\n },\n url: this.store.adapterFor('application').get('namespace') + '/allowedroutes/checkAccess',\n success: response => {\n this.setAllowedActions(response, dynamicValue, app);\n },\n error: (xhr, status, error) => {\n console.log('Error ' + error);\n this.transitionTo('login');\n }\n });\n },\n\n /*\n \tWhile waiting for data, the template will render loading page\n \tAfter data has been loaded, the template will render the route\n */\n renderTemplate() {\n if (this.get('renderFlag')) {\n try {\n this.render(this.get('routeName'));\n } catch (err) {// Ignore render controller error.\n }\n } else {\n this.render('loading');\n }\n },\n\n /*\n \tSet allowed actions and send it back to route\n \tIf the status is false, redirect to unauthorized page\n */\n setAllowedActions: function (response, dynamicValue, app) {\n let getResponse = response;\n let temp = [];\n\n if (getResponse.status) {\n if (getResponse.setActions.length > 0) {\n let Variable = Ember.Object.extend({\n action: null,\n varName: null,\n status: false\n });\n response.setActions.forEach((action, index) => {\n temp.push(Variable.create({\n action: action.action,\n varName: action.varName,\n status: action.status,\n varValue: action.varValue\n }));\n });\n this.set('setActions', temp);\n }\n\n this.set('renderFlag', true);\n this.renderTemplate();\n } else {\n this.transitionTo('unauthorized');\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/create-edit-appaccess\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n appId: '',\n authObject: Ember.inject.service('session'),\n edit: false,\n setupController: function () {\n var controller = this.get('controller');\n var model = this.get('currentModel');\n controller.set('model', model);\n controller.set('appId', this.get('appId'));\n this.store.query('role', {\n application: this.get('appId')\n }).then(function (roles) {\n controller.set('roleList', roles);\n });\n this.store.findRecord('application', this.get('appId')).then(function (app) {\n controller.set('model.application', app);\n });\n Ember.run.scheduleOnce('afterRender', this, function () {\n (0, _jquery.default)('#access').removeClass('active');\n (0, _jquery.default)('#assign').removeClass('active');\n (0, _jquery.default)('#role').removeClass('active');\n (0, _jquery.default)('#route').removeClass('active');\n (0, _jquery.default)('#app-access').addClass('active');\n });\n },\n saveAppAccess: function (model) {\n var flag = 0;\n var self = this;\n var controller = this.get('controller');\n\n if (Ember.isEmpty(model.get('role.content'))) {\n (0, _jquery.default)(\"#roleForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#roleIsEmpty\").removeClass(\"d-none\");\n flag++;\n }\n\n if (flag === 0) {\n controller.set('disableSubmit', true);\n model.save().then(function () {\n self.transitionTo('users-roles.role-manager.app.app-access', self.get('appId'));\n });\n }\n },\n goTo: function (param) {\n this.transitionTo('users-roles.role-manager.app.' + param, this.get('appId'));\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/create-edit-application\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n icon: '',\n authObject: Ember.inject.service('session'),\n setupController: function () {\n var controller = this.get('controller');\n var model = this.get('currentModel');\n controller.set('model', model);\n controller.set('dataURI', '');\n controller.set('isUploading', '');\n },\n\n queuePhoto(file) {\n var self = this;\n this.set('controller.isUploading', true);\n this.set('icon', file);\n file.read().then(function setPreviewUrl(dataURI) {\n self.set('controller.dataURI', dataURI);\n });\n },\n\n saveApp(model) {\n var flag = 0;\n var self = this;\n\n if (!/\\S/.test(model.get('appName')) || !model.get('appName')) {\n (0, _jquery.default)(\"#appForm\").addClass(\"has-error\");\n (0, _jquery.default)('#glyphApp').removeClass('d-none');\n (0, _jquery.default)('#appError').removeClass('d-none');\n model.set('appName', '');\n flag++;\n }\n\n if (!/\\S/.test(model.get('routeName')) || !model.get('routeName')) {\n (0, _jquery.default)(\"#routeForm\").addClass(\"has-error\");\n (0, _jquery.default)('#glyphRoute').removeClass('d-none');\n (0, _jquery.default)('#routeError').removeClass('d-none');\n model.set('routeName', '');\n flag++;\n }\n\n if (model.get('routeName') === 'd' && (!/\\S/.test(model.get('appId')) || !model.get('appId'))) {\n (0, _jquery.default)(\"#appIdForm\").addClass(\"has-error\");\n (0, _jquery.default)('#glyphAppId').removeClass('d-none');\n (0, _jquery.default)('#appIdError').removeClass('d-none');\n model.set('appId', '');\n flag++;\n }\n\n if (flag === 0) {\n var file = this.get('icon');\n\n if (this.get('controller.isUploading')) {\n const headers = {};\n headers['Authorization'] = \"Bearer \".concat(this.get('authObject.data.authenticated.access_token'));\n file.upload('/api/v1/uploads/icon', {\n headers: headers\n }).then(function (response) {\n model.set('icon', response.body.path);\n return model.save().then(() => {\n if (self.get('appSetting.appId') === model.get('id')) {\n self.set('appSetting.resourceAccessEnabled', model.get('resourceAccessEnabled'));\n }\n\n self.transitionTo('users-roles.role-manager.index');\n });\n });\n } else {\n return model.save().then(() => {\n if (self.get('appSetting.appId') === model.get('id')) {\n self.set('appSetting.resourceAccessEnabled', model.get('resourceAccessEnabled'));\n }\n\n self.transitionTo('users-roles.role-manager.index');\n });\n }\n }\n\n (0, _jquery.default)('#appForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#appForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphApp').addClass('hidden');\n (0, _jquery.default)('#appError').addClass('hidden');\n }\n });\n (0, _jquery.default)('#routeForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#routeForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphRoute').addClass('hidden');\n (0, _jquery.default)('#routeError').addClass('hidden');\n }\n });\n (0, _jquery.default)('#appIdForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#appIdForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphAppId').addClass('hidden');\n (0, _jquery.default)('#appIdError').addClass('hidden');\n }\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/create-edit-route\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n appId: '',\n authObject: Ember.inject.service('session'),\n edit: false,\n setupController: function () {\n var self = this;\n var controller = this.get('controller');\n var model = this.get('currentModel');\n controller.set('model', model);\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n application: self.get('appId')\n },\n url: self.store.adapterFor('application').get('namespace') + '/allowedroutes/getRouteModel',\n success: function (response) {\n controller.set('routeModel', response);\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n console.log(xhr);\n console.log(status);\n }\n });\n\n controller.set('appId', this.get('appId'));\n Ember.run.scheduleOnce('afterRender', this, function () {\n (0, _jquery.default)('#access').removeClass('active');\n (0, _jquery.default)('#assign').removeClass('active');\n (0, _jquery.default)('#role').removeClass('active');\n (0, _jquery.default)('#route').addClass('active');\n });\n },\n selectType: function (param) {\n var controller = this.get('controller');\n\n if (param) {\n if (param === 'group') {\n controller.set('parent', null);\n controller.set('model.routeName', null);\n controller.set('model.pageName', null);\n } else if (param === 'action') {\n controller.set('model.routeName', 'Action');\n } else {\n controller.set('model.routeName', null);\n }\n\n controller.setProperties({\n typeSelected: true,\n type: param\n });\n }\n },\n\n changeParent(param) {\n this.controller.set('parent', param);\n },\n\n saveRoute: function (model) {\n var flag = 0;\n var self = this;\n var controller = this.get('controller');\n var url;\n\n if (controller.get('type') !== 'group' && controller.get('type') !== 'form' && (!/\\S/.test(model.get('routeName')) || !model.get('routeName'))) {\n // alert('You must enter album name!');\n (0, _jquery.default)(\"#routeForm\").addClass(\"has-error\");\n (0, _jquery.default)('#glyphRoute').removeClass('d-none');\n (0, _jquery.default)('#routeError').removeClass('d-none');\n flag++; // model.set('routeName', '');\n }\n\n if (!/\\S/.test(model.get('pageName')) || !model.get('pageName')) {\n (0, _jquery.default)(\"#pageForm\").addClass(\"has-error\");\n (0, _jquery.default)('#glyphPage').removeClass('d-none');\n (0, _jquery.default)('#pageError').removeClass('d-none');\n flag++; // model.set('pageName', '');\n }\n\n if (controller.get('type') !== 'group' && controller.get('type') !== 'form' && (!/\\S/.test(controller.get('parent')) || !controller.get('parent'))) {\n (0, _jquery.default)(\"#parentForm\").addClass(\"has-error\");\n (0, _jquery.default)('#glyphParent').removeClass('d-none');\n (0, _jquery.default)('#parentError').removeClass('d-none');\n flag++;\n }\n\n if (controller.get('type') === 'form' && (!/\\S/.test(model.get('dynamicValue')) || !model.get('dynamicValue'))) {\n (0, _jquery.default)(\"#valueForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#glyphValue\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#valueError\").removeClass(\"d-none\");\n flag++;\n }\n\n if (flag === 0) {\n controller.set('disableSubmit', true);\n\n if (Ember.isEmpty(model.get('dynamicValue'))) {\n model.set('dynamicValue', 'none');\n }\n\n if (this.get('edit')) {\n url = self.store.adapterFor('application').get('namespace') + '/allowedroutes/editRoute';\n } else {\n url = self.store.adapterFor('application').get('namespace') + '/allowedroutes/createRoute';\n }\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n id: model.id,\n pageName: model.get('pageName'),\n routeName: model.get('routeName'),\n dynamicValue: model.get('dynamicValue'),\n parentName: controller.get('parent'),\n application: self.get('appId'),\n type: controller.get('type')\n },\n url: url,\n success: function (response) {\n controller.set('disableSubmit', false);\n\n if (self.get('edit')) {\n if (response.parent) {\n self.store.findRecord('allowedroute', response.parent).then(function (parent) {\n model.set('parent', parent);\n model.save().then(() => {\n self.transitionTo('users-roles.role-manager.app.route', self.get('appId'));\n });\n });\n } else {\n model.set('parent', response.parent);\n model.save().then(() => {\n self.transitionTo('users-roles.role-manager.app.route', self.get('appId'));\n });\n }\n } else {\n self.transitionTo('users-roles.role-manager.app.route', self.get('appId'));\n }\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n console.log(xhr);\n console.log(status);\n }\n });\n }\n },\n goTo: function (param) {\n this.transitionTo('users-roles.role-manager.app.' + param, this.get('appId'));\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/create-edit-user\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n authObject: Ember.inject.service('session'),\n create: false,\n setupController: function () {\n var controller = this.get('controller');\n var model = this.get('currentModel');\n controller.set('model', model);\n controller.set('groupModel', this.store.findAll('group'));\n controller.set('applicationModel', this.store.findAll('application'));\n controller.set('secretQuestionModel', this.store.findAll('secretquestion'));\n controller.set('hasSelect', false);\n controller.set('countryList', this.store.query('country', {\n sort: 'nicename ASC'\n }));\n },\n getInfo: function (param) {\n var self = this;\n var controller = this.get('controller');\n controller.set('model.state', '-');\n (0, _jquery.default)(\"#stateForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphState').addClass(\"d-none\");\n (0, _jquery.default)('#stateIsEmpty').addClass(\"d-none\");\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n sourceId: param\n },\n url: this.store.adapterFor('application').get('namespace') + '/additionals/getAddressByPostalCodeFromGoThere',\n success: function (response) {\n controller.set('model.address', response.value);\n\n if (response.value) {\n (0, _jquery.default)(\"#addressForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphAddress').addClass(\"d-none\");\n (0, _jquery.default)('#addressIsEmpty').addClass(\"d-none\");\n }\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n }\n });\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n sourceId: param\n },\n url: this.store.adapterFor('application').get('namespace') + '/additionals/getAddressLineByPostalCodeFromGoThere',\n success: function (response) {\n controller.set('model.address1', response.value);\n\n if (response.value) {\n (0, _jquery.default)(\"#address1Form\").removeClass('has-error');\n (0, _jquery.default)('#glyphAddress1').addClass(\"d-none\");\n (0, _jquery.default)('#address1IsEmpty').addClass(\"d-none\");\n }\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n }\n });\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n sourceId: param\n },\n url: this.store.adapterFor('application').get('namespace') + '/additionals/getCountryNameByPostalCodeFromGoThere',\n success: function (response) {\n controller.set('model.city', response.value);\n\n if (response.value) {\n (0, _jquery.default)(\"#cityForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphCity').addClass(\"d-none\");\n (0, _jquery.default)('#cityIsEmpty').addClass(\"d-none\");\n }\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n }\n });\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n sourceId: param\n },\n url: this.store.adapterFor('application').get('namespace') + '/additionals/getCountryNameCodeByPostalCodeFromGoThere',\n success: function (response) {\n self.store.queryRecord('country', {\n iso: response.value\n }).then(function (country) {\n controller.set('model.country', country);\n\n if (response.value) {\n (0, _jquery.default)(\"#countryForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphCountry').addClass(\"d-none\");\n (0, _jquery.default)('#countryIsEmpty').addClass(\"d-none\");\n }\n });\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n }\n });\n },\n saveUser: function (model) {\n let self = this;\n let flag = 0;\n let regexEmail = /^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$/i;\n /*\n Regex for password\n at least 8 characters\n at least contains 1 uppercase, 1 lowercase, 1 number, and 1 special character( !\"#$%&'()*+,-.:;<=>/?@\\^[]_`{}|~ no space currently) \n */\n\n let regexPass = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!\"#$%&'()*+,-.:;<=>/?@\\\\^[\\]_`{}|~])[a-zA-Z\\d!\"#$%&'()*+,-.:;<=>/?@\\\\^[\\]_`{}|~]{8,}$/;\n let controller = this.get('controller');\n let scrolled = false;\n\n if (Ember.isEmpty(model.get('firstName'))) {\n (0, _jquery.default)(\"#firstNameForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#firstNameIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphFirstName\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#firstNameForm\").offset().top - ((0, _jquery.default)(\"#firstNameForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('lastName'))) {\n (0, _jquery.default)(\"#lastNameForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#lastNameIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphLastName\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#lastNameForm\").offset().top - ((0, _jquery.default)(\"#lastNameForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('username'))) {\n (0, _jquery.default)(\"#usernameForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#usernameIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphUsername\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#usernameForm\").offset().top - ((0, _jquery.default)(\"#usernameForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('email'))) {\n (0, _jquery.default)(\"#emailForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#emailIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphEmail\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#emailForm\").offset().top - ((0, _jquery.default)(\"#emailForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n } else if (!regexEmail.test(model.get('email'))) {\n (0, _jquery.default)(\"#emailForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#emailRegexError\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphEmail\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#emailForm\").offset().top - ((0, _jquery.default)(\"#emailForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('phone'))) {\n (0, _jquery.default)(\"#phoneForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#phoneIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphPhone\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#phoneForm\").offset().top - ((0, _jquery.default)(\"#phoneForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('postalCode'))) {\n (0, _jquery.default)(\"#postalCodeForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#postalCodeIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphPostalCode\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#phoneForm\").offset().top - ((0, _jquery.default)(\"#phoneForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('address'))) {\n (0, _jquery.default)(\"#addressForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#addressIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphAddress\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#addressForm\").offset().top - ((0, _jquery.default)(\"#addressForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('address1'))) {\n (0, _jquery.default)(\"#address1Form\").addClass(\"has-error\");\n (0, _jquery.default)(\"#address1IsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphAddress1\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#address1Form\").offset().top - ((0, _jquery.default)(\"#address1Form\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('city'))) {\n (0, _jquery.default)(\"#cityForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#cityIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphCity\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#cityForm\").offset().top - ((0, _jquery.default)(\"#cityForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('state'))) {\n (0, _jquery.default)(\"#stateForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#stateIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphState\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#stateForm\").offset().top - ((0, _jquery.default)(\"#stateForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('country.content'))) {\n (0, _jquery.default)(\"#countryForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#countryIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphCountry\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#countryForm\").offset().top - ((0, _jquery.default)(\"#countryForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (this.get('create')) {\n if (Ember.isEmpty(model.get('password'))) {\n (0, _jquery.default)(\"#passwordForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#passwordIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphPassword\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#passwordForm\").offset().top - ((0, _jquery.default)(\"#passwordForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n } else if (!regexPass.test(model.get('password'))) {\n (0, _jquery.default)(\"#passwordForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#passwordValidation\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphPassword\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#passwordForm\").offset().top - ((0, _jquery.default)(\"#passwordForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('passwordRepeat'))) {\n (0, _jquery.default)(\"#passwordRepeatForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#passwordRepeatIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphPasswordRepeat\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#passwordRepeatForm\").offset().top - ((0, _jquery.default)(\"#passwordRepeatForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n } else if (model.get('password') !== model.get('passwordRepeat')) {\n (0, _jquery.default)(\"#passwordRepeat\").addClass(\"has-error\");\n (0, _jquery.default)(\"#passwordIsNotSame\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphPasswordRepeat\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#passwordRepeat\").offset().top - ((0, _jquery.default)(\"#passwordRepeat\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('answer'))) {\n (0, _jquery.default)(\"#answerForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#answerIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphAnswer\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#answerForm\").offset().top - ((0, _jquery.default)(\"#answerForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('answerRepeat'))) {\n (0, _jquery.default)(\"#answerRepeatForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#answerRepeatIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphAnswerRepeat\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#answerRepeatForm\").offset().top - ((0, _jquery.default)(\"#answerRepeatForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n } else if (model.get('answer') !== model.get('answerRepeat')) {\n (0, _jquery.default)(\"#answerRepeatForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#answerIsNotSame\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphAnswerRepeat\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#answerRepeatForm\").offset().top - ((0, _jquery.default)(\"#answerRepeatForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n }\n\n if (Ember.isEmpty(model.get('secretquestion.content'))) {\n (0, _jquery.default)(\"#questionForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#questionIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphQuestion\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#questionForm\").offset().top - ((0, _jquery.default)(\"#questionForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n } else {\n (0, _jquery.default)(\"#questionForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphQuestion').addClass('d-none');\n (0, _jquery.default)('#questionIsEmpty').addClass('d-none');\n }\n }\n\n if (this.get('create') && Ember.isEmpty(controller.get('groupCon'))) {\n (0, _jquery.default)(\"#groupForm\").addClass(\"has-error\");\n (0, _jquery.default)(\"#groupIsEmpty\").removeClass(\"d-none\");\n (0, _jquery.default)(\"#glyphGroup\").removeClass(\"d-none\");\n flag++;\n\n if (!scrolled) {\n (0, _jquery.default)('html, body').animate({\n scrollTop: (0, _jquery.default)(\"#groupForm\").offset().top - ((0, _jquery.default)(\"#groupForm\").height() + 80)\n }, 1000);\n scrolled = true;\n }\n } else {\n (0, _jquery.default)(\"#groupForm\").removeClass(\"has-error\");\n (0, _jquery.default)(\"#glyphGroup\").addClass(\"d-none\");\n (0, _jquery.default)(\"#groupIsEmpty\").addClass(\"d-none\");\n }\n\n (0, _jquery.default)('#firstNameForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#firstNameForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphFirstName').addClass('d-none');\n (0, _jquery.default)('#firstNameIsEmpty').addClass('d-none');\n }\n });\n (0, _jquery.default)('#lastNameForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#lastNameForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphLastName').addClass('d-none');\n (0, _jquery.default)('#lastNameIsEmpty').addClass('d-none');\n }\n });\n /*Ember.$('#countryCodeForm input').blur(function()\n {\n if( this.value !== '') {\n Ember.$(\"#countryCodeForm\").removeClass('has-error');\n Ember.$('#glyphCountryCode').addClass('d-none');\n Ember.$('#countryCodeIsEmpty').addClass('d-none');\n Ember.$('#countryCodeIsNaN').addClass('d-none');\n }\n });*/\n\n (0, _jquery.default)('#postalCodeForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#postalCodeForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphPostalCode').addClass(\"d-none\");\n (0, _jquery.default)('#postalCodeIsEmpty').addClass(\"d-none\");\n }\n });\n (0, _jquery.default)('#addressForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#addressForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphAddress').addClass(\"d-none\");\n (0, _jquery.default)('#addressIsEmpty').addClass(\"d-none\");\n }\n });\n (0, _jquery.default)('#address1Form input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#address1Form\").removeClass('has-error');\n (0, _jquery.default)('#glyphAddress1').addClass(\"d-none\");\n (0, _jquery.default)('#address1IsEmpty').addClass(\"d-none\");\n }\n });\n (0, _jquery.default)('#cityForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#cityForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphCity').addClass(\"d-none\");\n (0, _jquery.default)('#cityIsEmpty').addClass(\"d-none\");\n }\n });\n (0, _jquery.default)('#stateForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#stateForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphState').addClass(\"d-none\");\n (0, _jquery.default)('#stateIsEmpty').addClass(\"d-none\");\n }\n });\n (0, _jquery.default)('#countryForm select').change(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#countryForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphCountry').addClass(\"d-none\");\n (0, _jquery.default)('#countryIsEmpty').addClass(\"d-none\");\n }\n });\n (0, _jquery.default)('#phoneForm input').blur(function () {\n if (!isNaN(this.value)) {\n (0, _jquery.default)(\"#phoneForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphPhone').addClass('d-none');\n (0, _jquery.default)('#phoneIsEmpty').addClass('d-none');\n (0, _jquery.default)('#phoneIsNaN').addClass('d-none');\n }\n });\n (0, _jquery.default)('#emailForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#emailForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphEmail').addClass('d-none');\n (0, _jquery.default)('#emailIsEmpty').addClass('d-none');\n (0, _jquery.default)('#emailRegexError').addClass('d-none');\n }\n });\n (0, _jquery.default)('#passwordForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#passwordForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphPassword').addClass(\"d-none\");\n (0, _jquery.default)('#passwordIsEmpty').addClass(\"d-none\");\n }\n\n if (regexPass.test(this.value)) {\n (0, _jquery.default)(\"#passwordForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphPassword').addClass(\"d-none\");\n (0, _jquery.default)('#passwordValidation').addClass(\"d-none\");\n } else {\n (0, _jquery.default)(\"#passwordForm\").addClass('has-error');\n (0, _jquery.default)('#glyphPassword').removeClass(\"d-none\");\n (0, _jquery.default)('#passwordValidation').removeClass(\"d-none\");\n }\n });\n (0, _jquery.default)('#passwordRepeatForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#passwordRepeatForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphPasswordRepeat').addClass('d-none');\n (0, _jquery.default)('#passwordRepeatIsEmpty').addClass('d-none');\n (0, _jquery.default)('#passwordIsNotSame').addClass('d-none');\n }\n });\n (0, _jquery.default)('#questionForm select').change(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#questionForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphQuestion').addClass('d-none');\n (0, _jquery.default)('#questionIsEmpty').addClass('d-none');\n }\n });\n (0, _jquery.default)('#answerForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#answerForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphAnswer').addClass('d-none');\n (0, _jquery.default)('#answerIsEmpty').addClass('d-none');\n }\n });\n (0, _jquery.default)('#answerRepeatForm input').blur(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#answerRepeatForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphAnswerRepeat').addClass('d-none');\n (0, _jquery.default)('#answerRepeatIsEmpty').addClass('d-none');\n (0, _jquery.default)('#answerIsNotSame').addClass('d-none');\n }\n });\n (0, _jquery.default)('#groupForm select').change(function () {\n if (this.value !== '') {\n (0, _jquery.default)(\"#groupForm\").removeClass('has-error');\n (0, _jquery.default)('#glyphGroup').addClass('d-none');\n (0, _jquery.default)('#groupIsEmpty').addClass('d-none');\n }\n });\n\n if (flag === 0) {\n if (this.get('create')) {\n _jquery.default.ajax({\n url: '/api/v1/users',\n type: 'POST',\n data: JSON.stringify({\n user: {\n password: model.get('password'),\n firstName: model.get('firstName'),\n lastName: model.get('lastName'),\n username: model.get('username'),\n tagline: model.get('tagline'),\n email: model.get('email').toLowerCase(),\n website: model.get('website'),\n postalCode: model.get('postalCode'),\n address: model.get('address'),\n address1: model.get('address1'),\n city: model.get('city'),\n state: model.get('state'),\n country: model.get('country.content.id'),\n phone: model.get('phone'),\n answer: model.get('answer'),\n secretquestion: model.get('secretquestion.content.id'),\n authEnable: model.get('authEnable'),\n status: 'Active'\n }\n }),\n contentType: 'application/json'\n }).then(response => {\n self.store.findRecord('user', response.user.id).then(user => {\n var usergroup = self.store.createRecord('usergroup', {\n user: user,\n group: controller.get('groupCon')\n });\n usergroup.save().then(usergroup => {\n self.transitionTo('users-roles.users');\n });\n }); // _this.get('session').authenticate('authenticator:signup', response);\n }, (xhr, status, error) => {\n alert(\"Error: \".concat(xhr.responseText));\n });\n } else {\n model.save(); // .then(function(user){ \n // $.ajax({\n // url: '/api/v1/users/reset/',\n // type: 'POST',\n // data: {\n // id: model.id,\n // siteAdmin: true, \n // email: model.get('email').toLowerCase(),\n // sendPassToEmail: true,\n // password: model.get('password'),\n // },\n // dataType: 'json',\n // contentType: 'application/x-www-form-urlencoded',\n // }).then((response) => {\n // $.ajax({\n // url: '/api/v1/users/resetans',\n // type: 'POST',\n // headers: requestHeaders,\n // data: {\n // id: model.id,\n // siteAdmin: true, \n // email: model.get('email').toLowerCase(),\n // sendAnswerToEmail: true,\n // newanswer: model.get('answer')\n // },\n // dataType: 'json',\n // contentType: 'application/x-www-form-urlencoded',\n // }).then((response) => {\n // $.ajax({\n // url: '/api/v1/users/changequestion',\n // type: 'POST',\n // headers: requestHeaders,\n // data: {\n // id: model.id,\n // secretquestion: model.get('secretquestion.content.id')\n // },\n // dataType: 'json',\n // contentType: 'application/x-www-form-urlencoded',\n // }).then((response) => {\n // self.transitionTo('users-roles.users');\n // },(xhr, status, error) => {\n // });\n // });\n // },(xhr, status, error) => {\n // alert(status);\n // alert(error);\n // alert(`Error: ${xhr.responseText}`);\n // });\n // });\n\n self.transitionTo('users-roles.users');\n }\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/focus-for-keypress\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n focusForKeypress: Ember.on('didInsertElement', function () {\n //fix for catching key events\n this.$().attr('tabindex', 0);\n this.$().focus();\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/invalidate-session\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n authObject: Ember.inject.service('session'),\n\n invalidateSession() {\n //record logout \n _jquery.default.ajax({\n type: \"POST\",\n data: {\n userId: this.get('authObject.data.user.id')\n },\n url: this.store.adapterFor('application').get('namespace') + '/auths/trackLogout',\n success: function (response) {\n console.log(response);\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n }\n });\n /*this.get('authObject').set('data.authenticated.user.locale', null);\n this.get('authObject').set('data.authenticated.user.firstName', null);\n this.get('authObject').set('data.authenticated.user.lastName', null);\n this.get('authObject').set('data.authenticated.user.profilePicture', null);*/\n\n\n this.get('authObject').set('data.user', null);\n this.get('authObject').set('data.lastActivity', null);\n\n if (this.get('authObject.data.blobURL')) {\n window.URL = window.URL || window.webkitURL;\n window.URL.revokeObjectURL(this.get('authObject.data.blobURL'));\n this.get('authObject').set('data.blobURL', null);\n }\n\n this.get('authObject').invalidate();\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/modal-actions\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n actions: {\n openModal(modalName, currentController) {\n this.render(modalName, {\n into: 'application',\n outlet: 'modal',\n controller: currentController\n });\n },\n\n closeModal() {\n this.disconnectOutlet({\n outlet: 'modal',\n parentView: 'application'\n });\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/role-manager-app\", [\"exports\", \"jquery\"], function (_exports, _jquery) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create({\n roleName: '',\n appId: '',\n roleId: '',\n appRoleModel: '',\n actionModel: '',\n // actionList: [],\n authObject: Ember.inject.service('session'),\n\n model() {\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n app: this.get('appId')\n },\n url: this.store.adapterFor('application').get('namespace') + '/allowedroutes/getParentRoutes',\n success: response => {\n return this.controller.setProperties({\n model: response,\n loading: false\n });\n },\n error: (xhr, status, error) => {\n console.log('Error ' + error);\n }\n });\n },\n\n setupController: function () {\n var controller = this.get('controller');\n controller.set('loading', true);\n controller.set('userRoleModel', '');\n controller.set('appId', this.get('appId'));\n controller.set('role', '');\n controller.set('roleName', '');\n controller.set('roleSelected', false);\n controller.set('groupSelected', false);\n controller.set('routeChecker', Ember.A());\n controller.set('routes', '');\n controller.set('childRoutes', '');\n controller.set('headerRoute', '');\n controller.set('listPage', 1);\n controller.set('listPageChild', 1);\n controller.set('listPageModal', 1);\n controller.set('totalPage', 1);\n controller.set('totalPageChild', 1);\n controller.set('routeContainer', '');\n controller.set('routeContainerChild', '');\n controller.set('limit', 10);\n this.store.findRecord('application', this.get('appId')).then(app => {\n controller.set('appName', app.get('appName'));\n });\n this.store.query('role', {\n application: this.get('appId')\n }).then(function (roles) {\n controller.set('roleModel', roles);\n controller.set('loading', false);\n });\n },\n setRole: function (params) {\n var routeIdCon = Ember.A();\n var controller = this.get('controller');\n controller.set('headerRoute', '');\n controller.set('groupSelected', false);\n controller.set('routeChecker', Ember.A());\n controller.set('roleSelected', true);\n this.set('roleId', params.id);\n controller.set('createRole', false);\n controller.set('roleId', params.id);\n controller.set('roleName', params.get('roleName')); // KODINGAN PAKE DB BARU\n // ROUTE CHECKER\n\n this.store.query('roleroute', {\n role: params.id\n }).then(function (roleroutes) {\n roleroutes.forEach(function (roleroute) {\n routeIdCon.pushObject(roleroute.get('allowedroute.content.id'));\n });\n controller.set('routeChecker', routeIdCon);\n });\n },\n getRoutes: function (params) {\n var controller = this.get('controller');\n var temp = Ember.A();\n var checked = false;\n controller.set('routeContainer', params);\n controller.set('groupSelected', false);\n\n if (params) {\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n parent: params.id,\n page: controller.get('listPage'),\n limit: controller.get('limit')\n },\n url: this.store.adapterFor('application').get('namespace') + '/allowedroutes/getChildRoutes',\n success: function (response) {\n var Variable = Ember.Object.extend({\n id: null,\n application: null,\n parent: null,\n children: null,\n routeName: null,\n pageName: null,\n dynamicValue: 'none',\n checked: false\n });\n response.routes.forEach(route => {\n checked = false;\n\n if (controller.get('routeChecker').indexOf(route.id.toString()) > -1) {\n checked = true;\n }\n\n temp.pushObject(Variable.create({\n id: route.id,\n application: route.application,\n parent: route.parent,\n children: route.children,\n routeName: route.routeName,\n pageName: route.pageName,\n dynamicValue: route.dynamicValue,\n checked: checked\n }));\n });\n\n if (response.exceedTotal) {\n controller.set('listPage', 1);\n }\n\n controller.set('totalPage', response.totalPage);\n controller.set('routes', temp);\n controller.set('groupSelected', true);\n (0, _jquery.default)('.collapse').on('show.bs.collapse', function () {\n (0, _jquery.default)('.collapse.in').collapse('hide');\n });\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n }\n });\n }\n },\n getChildRoutes: function (params) {\n var controller = this.get('controller');\n var temp = Ember.A();\n var checked = false;\n var notEqual = false;\n\n if (controller.get('routeContainerChild') !== params) {\n notEqual = true;\n controller.set('listPageChild', 1);\n }\n\n controller.set('routeContainerChild', params);\n /*if(controller.get('childRoutes')){\n \tcontroller.set('childRoutes', '');\n }\n else{*/\n\n _jquery.default.ajax({\n type: \"POST\",\n data: {\n parent: params.id,\n page: controller.get('listPageChild'),\n limit: controller.get('limit')\n },\n url: this.store.adapterFor('application').get('namespace') + '/allowedroutes/getChildRoutes',\n success: function (response) {\n var Variable = Ember.Object.extend({\n id: null,\n application: null,\n parent: null,\n routeName: null,\n pageName: null,\n dynamicValue: 'none',\n checked: false\n });\n response.routes.forEach(route => {\n checked = false;\n\n if (controller.get('routeChecker').indexOf(route.id.toString()) > -1) {\n checked = true;\n }\n\n temp.pushObject(Variable.create({\n id: route.id,\n application: route.application,\n parent: route.parent,\n routeName: route.routeName,\n pageName: route.pageName,\n dynamicValue: route.dynamicValue,\n checked: checked\n }));\n });\n\n if (response.exceedTotal) {\n controller.set('listPage', 1);\n }\n\n controller.set('childRoutes', temp);\n controller.set('totalPageChild', response.totalPage);\n\n if (controller.get('listPageChild') > controller.get('totalPageChild') || notEqual) {\n controller.set('listPageChild', 1);\n }\n\n (0, _jquery.default)('.collapse').on('show.bs.collapse', function () {\n (0, _jquery.default)('.collapse.in').collapse('hide');\n });\n },\n error: function (xhr, status, error) {\n console.log('Error ' + error);\n }\n }); // }\n\n },\n changeLimit: function () {\n var controller = this.get('controller');\n this.send('getRoutes', controller.get('routeContainer'));\n },\n prevList: function (type) {\n var controller = this.get('controller');\n\n if (type === 'route') {\n controller.set('listPage', controller.get('listPage') - 1);\n this.send('getRoutes', controller.get('routeContainer'));\n } else if (type === 'child') {\n controller.set('listPageChild', controller.get('listPageChild') - 1);\n this.send('getChildRoutes', controller.get('routeContainerChild'));\n }\n },\n nextList: function (type) {\n var controller = this.get('controller');\n\n if (type === 'route') {\n controller.set('listPage', controller.get('listPage') + 1);\n this.send('getRoutes', controller.get('routeContainer'));\n } else if (type === 'child') {\n controller.set('listPageChild', controller.get('listPageChild') + 1);\n this.send('getChildRoutes', controller.get('routeContainerChild'));\n }\n },\n goTo: function (param) {\n this.transitionTo('users-roles.role-manager.app.' + param, this.get('appId'));\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/mixins/w3o-users-roles/set-session-user\", [\"exports\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"axios\", \"web-map/utils/get-cookie\"], function (_exports, _invalidateSession, _axios, _getCookie) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Mixin.create(_invalidateSession.default, {\n authObject: Ember.inject.service('session'),\n\n setSessionUser() {\n return new Promise(async (resolve, reject) => {\n let user;\n let host = this.store.adapterFor(\"application\").get(\"serverHost\");\n let namespace = this.store.adapterFor(\"application\").get(\"namespace\"); //let new_user_url = `${host}${namespace}/users?email=${this.get('authObject.data.authenticated.user.email')}&status=Active`;\n\n let new_user_url = \"\".concat(host).concat(namespace, \"/users/\").concat(this.get('authObject.data.authenticated.user.id'));\n let response_new_user = await _axios.default.get(new_user_url).catch(error => {\n console.error(\"ERROR while fetch new_user\");\n console.error(error);\n });\n\n if (response_new_user.status === 200) {\n user = response_new_user.data.users[0];\n }\n\n if (user && this.get('authObject.data.authenticated.user')) {\n const is_registereduser = async () => {\n let url_geo_userrole = \"\".concat(this.store.adapterFor('application').get('serverHost')).concat(this.store.adapterFor('application').get('namespace'), \"/geoportalusergroups/checkUserRole\");\n let geo_user = await _axios.default.post(url_geo_userrole, {\n userid: user.id\n }).catch(error => {\n console.log(\"An error occured while getting geoportal user role, \".concat(error));\n alert(\"An error occured while getting geoportal user role, \".concat(error));\n });\n\n if (geo_user.data.is_registered === false) {\n return {\n registered: false,\n isfoc: false,\n receivecashpayment: false,\n isInternal: false\n };\n } else {\n return {\n registered: true,\n isfoc: geo_user.data.is_foc,\n receivecashpayment: geo_user.data.is_cashpayment,\n isInternal: geo_user.data.is_internal\n };\n }\n };\n\n let userrole;\n\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n userrole = {\n registered: false,\n isfoc: false,\n receivecashpayment: false,\n isInternal: false\n };\n } else {\n userrole = await is_registereduser();\n }\n\n user.is_registered = userrole.registered;\n user.is_foc = userrole.isfoc;\n user.receive_cash_payment = userrole.receivecashpayment;\n user.is_internal = userrole.isInternal;\n this.get('authObject').set('data.user', user);\n\n if (Ember.isEmpty(this.get('authObject.data.locale'))) {\n this.set('authObject.data.locale', 'EN');\n }\n\n resolve(user);\n } else {\n this.invalidateSession();\n reject();\n }\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/company\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n companyid: _emberData.default.attr('string'),\n companyname: _emberData.default.attr('string'),\n companylegalname: _emberData.default.attr('string'),\n companycontact: _emberData.default.attr('string'),\n companyphone: _emberData.default.attr('string'),\n companylogopath: _emberData.default.attr('string'),\n companylogotype: _emberData.default.attr('string'),\n\n /*cmpyfax: DS.attr('string'),*/\n\n /*addressnum: DS.attr('number'),*/\n currencydecimalplace: _emberData.default.attr('number'),\n isseparatoruse: _emberData.default.attr('boolean'),\n dateformat: _emberData.default.attr('string'),\n companylogo: _emberData.default.attr('string'),\n isdelete: _emberData.default.attr('boolean'),\n filladdress: _emberData.default.attr('string'),\n co_registration: _emberData.default.attr('string'),\n companyregistrationnumber: _emberData.default.attr('string'),\n co_bank_name: _emberData.default.attr('string'),\n co_bank_acc: _emberData.default.attr('string'),\n co_bank_acc_name: _emberData.default.attr('string'),\n BIC_code: _emberData.default.attr('string'),\n dbs_organizationid: _emberData.default.attr('string'),\n company_director_name: _emberData.default.attr('string'),\n company_director_file: _emberData.default.attr('string'),\n\n /*Computed Property*/\n companynum: Ember.computed('id', function () {\n return {\n id: this.get('id'),\n isCompany: true\n };\n }),\n //relation\n // addressnum: DS.belongsTo('address', {async: true}),\n organizationnum: _emberData.default.belongsTo('organization', {\n async: true\n }),\n // addresses: DS.hasMany('address', {async: true, inverse: 'companynum'}),\n // basecurrencynum: DS.belongsTo('currency', {async: true}),\n // divisions: DS.hasMany(\"division\",{async: true}),\n // kpis: DS.hasMany(\"kpi\",{async: true}),\n createdBy: _emberData.default.belongsTo('user', {\n async: true\n }),\n updatedBy: _emberData.default.belongsTo('user', {\n async: true\n })\n /*plantnums: DS.hasMany('base0plant')*/\n\n /*basecurrnum:\n currdecplace:\n issepartoruse:\n dateformat*/\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/country\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n iso: _emberData.default.attr('string'),\n name: _emberData.default.attr('string'),\n nicename: _emberData.default.attr('string'),\n iso3: _emberData.default.attr('string'),\n numcode: _emberData.default.attr('string'),\n phonecode: _emberData.default.attr('string')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/employee\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n employeeid: _emberData.default.attr('string'),\n employeename: _emberData.default.attr('string'),\n employeedescription1: _emberData.default.attr('string'),\n employeedescription2: _emberData.default.attr('string'),\n occupation: _emberData.default.attr('string'),\n resourceaccess: _emberData.default.attr('string'),\n //relations\n organizationnum: _emberData.default.belongsTo('organization', {\n async: true\n }),\n companynum: _emberData.default.belongsTo('company'),\n\n /*parent: DS.belongsTo('employee', {\n \t\tinverse: 'children'\n }),*/\n //if have parent, it means the employee has supervisor\n supervisornum: _emberData.default.belongsTo('employee', {\n inverse: 'children',\n async: true\n }),\n children: _emberData.default.hasMany('employee', {\n inverse: 'supervisornum',\n async: true\n }),\n\n /*occupationnum: DS.belongsTo('occupation'),*/\n // divisionnum: DS.belongsTo('division',{async: true}),\n // sitenum: DS.belongsTo('site', {async: true}),\n eusernum: _emberData.default.belongsTo('euser', {\n async: true\n }),\n isdelete: _emberData.default.attr('boolean'),\n createdBy: _emberData.default.belongsTo('user', {\n async: true\n }),\n updatedBy: _emberData.default.belongsTo('user', {\n async: true\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/euser\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n vectype: _emberData.default.attr('string'),\n isactive: _emberData.default.attr('boolean'),\n isdelete: _emberData.default.attr('boolean'),\n createdBy: _emberData.default.attr('number'),\n updatedBy: _emberData.default.attr('number'),\n //relation\n organizationnum: _emberData.default.belongsTo('organization', {\n async: true\n }),\n companynum: _emberData.default.belongsTo('company', {\n async: true\n }),\n employeenum: _emberData.default.belongsTo('employee', {\n async: true\n }),\n user: _emberData.default.belongsTo('user', {\n async: true\n })\n /*vendornum: DS.belongsTo('vendorf'),\n customernum: DS.belongsTo('customer')*/\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/featureexport\", [\"exports\", \"ember-data\", \"ember-data/relationships\"], function (_exports, _emberData, _relationships) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n isdelete: _emberData.default.attr('boolean'),\n wfs: _emberData.default.attr('string'),\n layer: _emberData.default.attr('string'),\n fetchxml: _emberData.default.attr('string'),\n srs: _emberData.default.attr('string'),\n order_number: _emberData.default.attr('string'),\n job_number: _emberData.default.attr('string'),\n scala: _emberData.default.attr('string'),\n price: _emberData.default.attr('number'),\n info: _emberData.default.attr('string'),\n area_size: _emberData.default.attr('number'),\n data_size: _emberData.default.attr('number'),\n file_location: _emberData.default.attr('string')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/formuser\", [\"exports\", \"ember-data/model\", \"ember-data/relationships\"], function (_exports, _model, _relationships) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _model.default.extend({\n user: (0, _relationships.belongsTo)('user', {\n async: true\n }),\n forms: (0, _relationships.hasMany)('form', {\n async: true\n }) //entries: hasMany('entry', {async: true})\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/geodeticexport\", [\"exports\", \"ember-data\", \"ember-data/relationships\"], function (_exports, _emberData, _relationships) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n isdelete: _emberData.default.attr('boolean'),\n ctl_pnt: _emberData.default.attr('string'),\n order_number: _emberData.default.attr('string'),\n job_number: _emberData.default.attr('string'),\n scala: _emberData.default.attr('string'),\n price: _emberData.default.attr('number'),\n preview_name: _emberData.default.attr('string'),\n image_name: _emberData.default.attr('string'),\n pdf_name: _emberData.default.attr('string'),\n area_size: _emberData.default.attr('number'),\n data_size: _emberData.default.attr('number'),\n file_location: _emberData.default.attr('string'),\n with_height: _emberData.default.attr('boolean'),\n is_public: _emberData.default.attr('string')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/group\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n // relationships\n rolegroups: _emberData.default.hasMany('rolegroup', {\n async: true\n }),\n // attributes\n groupName: _emberData.default.attr('string')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/imageexport\", [\"exports\", \"ember-data\", \"ember-data/relationships\"], function (_exports, _emberData, _relationships) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n isdelete: _emberData.default.attr('boolean'),\n raster: _emberData.default.attr('string'),\n layer: _emberData.default.attr('string'),\n fetchxml: _emberData.default.attr('string'),\n srs: _emberData.default.attr('string'),\n transaction_id: _emberData.default.attr('string'),\n order_number: _emberData.default.attr('string'),\n job_number: _emberData.default.attr('string'),\n scala: _emberData.default.attr('string'),\n price: _emberData.default.attr('number'),\n info: _emberData.default.attr('string'),\n area_size: _emberData.default.attr('number'),\n data_size: _emberData.default.attr('number'),\n file_location: _emberData.default.attr('string')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/ol-feature\", [\"exports\", \"ember-data\", \"ol/Feature\"], function (_exports, _emberData, _Feature) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n ready() {\n const feature = this.get('feature');\n\n if (!feature) {\n const newFeature = new _Feature.default({\n geometry: this.get('geometry')\n });\n newFeature._emberRecord = this;\n this.set('feature', newFeature);\n }\n },\n\n geometry: _emberData.default.attr('ol-geometry')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/ol-layer\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const {\n Model,\n attr,\n hasMany\n } = _emberData.default;\n\n var _default = Model.extend({\n ready() {\n if (!this.get('id')) {\n this.set('id', Ember.guidFor(this));\n }\n\n let layer = this.get('layer'); //console.log(\"hoichong ol-layer model layer is...\")\n //console.log(layer)\n\n layer._modelRecord = this;\n this.set('title', layer.get('title'));\n this.set('font_char', layer.get('font_char'));\n this.set('font_color', layer.get('font_color'));\n this.set('minScale', layer.get('minScale'));\n this.set('maxScale', layer.get('maxScale'));\n this.set('visiType', layer.get('visiType'));\n this.set('visible', layer.get('visible'));\n this.set('exclusive', layer.get('exclusive'));\n this.addObserver('visible', function () {\n //console.log('CHANGE0 LAYER VISIBILITY')\n layer.set('visible', this.get('visible'));\n });\n layer.on('change:visible', () => {\n //console.log('CHANGE LAYER VISIBILITY')\n this.set('visible', layer.get('visible'));\n });\n\n if (layer.getLayers) {\n //console.log('hoichong ol-layer model looks like LAYERGROUP...')\n //console.log(layer.getLayers())\n this.set('isGroup', true);\n const layersArray = layer.getLayers().getArray(); //console.log(layersArray)\n //FIX here\n\n /*const layers = layersArray.map(layer => { \n console.log('Trying to process layers in group layers')\n console.log(layer)\n return this.store.createRecord('ol-layer', { layer }) \n }) */\n //this.set('layers', layers)\n }\n },\n\n isGroup: attr('boolean', {\n defaultValue: false\n }),\n title: attr('string'),\n font_char: attr('string'),\n font_color: attr('string'),\n minScale: attr('number'),\n maxScale: attr('number'),\n visiType: attr('string'),\n visible: attr('boolean'),\n exclusive: attr('exclusive'),\n layers: hasMany('ol-layer', {\n inverse: null\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/ol-map\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({});\n\n _exports.default = _default;\n});","define(\"web-map/models/ol-source-vector\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const {\n Model,\n hasMany\n } = _emberData.default;\n\n var _default = Model.extend({\n ready() {\n // console.debug('ol-source-vector:ready:call');\n this.__updating = false;\n const source = this.get('source');\n\n if (!source) {\n return;\n }\n\n source.getFeatures().forEach(f => this.addFeature(f));\n source.on('addfeature', e => {\n if (!this.__updating) {\n const feature = e.feature;\n this.addFeature(feature);\n }\n });\n source.on('removefeature', e => {\n if (!this.__updating) {\n const feature = e.feature;\n this.get('features').removeObject(feature._emberRecord);\n }\n });\n this.get('features').addArrayObserver({\n arrayWillChange: (observedObj, start, removeCount) => {\n if (removeCount === 1) {\n this.__updating = true;\n const feature = this.get('features').objectAt(start).get('feature');\n\n if (source.getFeatures().indexOf(feature) !== -1) {\n source.removeFeature(feature);\n }\n\n this.__updating = false;\n }\n },\n arrayDidChange: (observedObj, start, removeCount, addCount) => {\n if (addCount === 1) {\n this.__updating = true;\n const feature = this.get('features').objectAt(start).get('feature');\n\n if (source.getFeatures().indexOf(feature) === -1) {\n source.addFeature(feature);\n }\n\n this.__updating = false;\n }\n }\n }); // console.debug('ol-source-vector:ready:return');\n },\n\n addFeature(feature) {\n // console.debug('ol-source-vector:addFeature:call');\n const r = this.store.createRecord('ol-feature', {\n feature,\n geometry: feature.getGeometry()\n });\n feature._emberRecord = r;\n this.get('features').pushObject(r); // f.on('ready', () => this.get('features').pushObject(f))\n // console.debug('ol-source-vector:addFeature:return');\n\n return r;\n },\n\n features: hasMany('ol-feature')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/order\", [\"exports\", \"ember-data\", \"ember-data/attr\"], function (_exports, _emberData, _attr) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n createdAt: (0, _attr.default)('date', {\n defaultValue() {\n return new Date();\n }\n\n }),\n isdelete: _emberData.default.attr('boolean'),\n order_number: _emberData.default.attr('string'),\n order_description: _emberData.default.attr('string'),\n total_price: _emberData.default.attr('number'),\n total_data_size: _emberData.default.attr('number'),\n type: _emberData.default.attr('string'),\n status: _emberData.default.attr('string'),\n foc_name: _emberData.default.attr('string'),\n foc_department: _emberData.default.attr('string'),\n foc_purpose: _emberData.default.attr('string'),\n foc_remark: _emberData.default.attr('string'),\n user: _emberData.default.belongsTo('user')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/organization\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n organizationid: _emberData.default.attr('string'),\n organizationname: _emberData.default.attr('string'),\n isdelete: _emberData.default.attr('boolean'),\n\n /*Computed Property*/\n organizationnum: Ember.computed('id', function () {\n return {\n id: this.get('id'),\n isOrganization: true\n };\n }),\n //relation\n companies: _emberData.default.hasMany('company', {\n async: true\n }),\n createdBy: _emberData.default.belongsTo('user', {\n async: true\n }),\n updatedBy: _emberData.default.belongsTo('user', {\n async: true\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/processmemo\", [\"exports\", \"ember-data/model\", \"ember-data/attr\", \"ember-data/relationships\"], function (_exports, _model, _attr, _relationships) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _model.default.extend({\n processType: (0, _attr.default)('string'),\n title: (0, _attr.default)('string'),\n memo: (0, _attr.default)('string'),\n systemMemo: (0, _attr.default)('string'),\n type: (0, _attr.default)('string'),\n user: (0, _relationships.belongsTo)('user', {\n async: true\n }),\n processtask: (0, _relationships.belongsTo)('processtask', {\n async: true\n }),\n processinstance: (0, _relationships.belongsTo)('processinstance', {\n async: true\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/rsoexport\", [\"exports\", \"ember-data\", \"ember-data/relationships\"], function (_exports, _emberData, _relationships) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n isdelete: _emberData.default.attr('boolean'),\n rso_type: _emberData.default.attr('string'),\n rso_ref: _emberData.default.attr('string'),\n order_number: _emberData.default.attr('string'),\n job_number: _emberData.default.attr('string'),\n scala: _emberData.default.attr('string'),\n price: _emberData.default.attr('number'),\n preview_name: _emberData.default.attr('string'),\n image_name: _emberData.default.attr('string'),\n pdf_name: _emberData.default.attr('string'),\n area_size: _emberData.default.attr('number'),\n data_size: _emberData.default.attr('number'),\n file_location: _emberData.default.attr('string'),\n lot_type: _emberData.default.attr('string'),\n lot_num: _emberData.default.attr('string'),\n book_code: _emberData.default.attr('string'),\n with_orthophoto: _emberData.default.attr('boolean'),\n is_public: _emberData.default.attr('string')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/secretquestion\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n //relationship\n users: _emberData.default.hasMany('user', {\n async: true\n }),\n //attr\n question: _emberData.default.attr('string')\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/user\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n //relationships\n //usergroups: DS.hasMany('usergroup', { async: true }),\n //secretquestion: DS.belongsTo('secretquestion', { async: true }),\n // w3cmsuser: DS.belongsTo('w3cmsuser', { async: true }),\n //formuser: DS.belongsTo('formuser', { async: true }),\n //euser: DS.belongsTo('euser'),\n // processes: DS.hasMany('process', { async: true, inverse: 'supervisor' }),\n //userprocesstasks: DS.hasMany('userprocesstask', { async: true }),\n //processmemos: DS.hasMany('processmemo', { async: true }),\n //country: DS.belongsTo('country', { async: true}),\n // organizationnum: DS.belongsTo('organization', { async: true, inverse: 'users' }),\n // companynum: DS.belongsTo('company', { async: true, inverse: 'users' }),\n // createdBy: DS.belongsTo('user', { async: true }),\n // updatedBy: DS.belongsTo('user', { async: true }),\n // attributes\n firstName: _emberData.default.attr('string'),\n lastName: _emberData.default.attr('string'),\n username: _emberData.default.attr('string'),\n tagline: _emberData.default.attr('string'),\n email: _emberData.default.attr('string'),\n website: _emberData.default.attr('string'),\n profilePicture: _emberData.default.attr('string'),\n // userType: DS.attr('string'),\n notification: _emberData.default.attr('array'),\n newNotification: _emberData.default.attr('boolean'),\n phone: _emberData.default.attr('string'),\n authEnable: _emberData.default.attr('boolean'),\n status: _emberData.default.attr('string'),\n postalCode: _emberData.default.attr('string'),\n address: _emberData.default.attr('string'),\n address1: _emberData.default.attr('string'),\n city: _emberData.default.attr('string'),\n state: _emberData.default.attr('string'),\n activeStatus: _emberData.default.attr('boolean'),\n noOfLoginAttempt: _emberData.default.attr('number'),\n forceChangePassword: _emberData.default.attr('boolean'),\n customattributes: _emberData.default.attr('string'),\n createdAt: _emberData.default.attr('date', {\n defaultValue() {\n return new Date();\n }\n\n }),\n updatedAt: _emberData.default.attr('date', {\n defaultValue() {\n return new Date();\n }\n\n }),\n // computed\n fullName: Ember.computed('firstName', 'lastName', function () {\n return this.get('firstName') + ' ' + this.get('lastName');\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/usergroup\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Model.extend({\n // relationships\n user: _emberData.default.belongsTo('user', {\n async: true\n }),\n group: _emberData.default.belongsTo('group', {\n async: true\n }) // attributes\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/models/userprocesstask\", [\"exports\", \"ember-data/model\", \"ember-data/attr\", \"ember-data/relationships\"], function (_exports, _model, _attr, _relationships) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _model.default.extend({\n inbox: (0, _attr.default)('boolean', {\n defaultValue: false\n }),\n mytask: (0, _attr.default)('boolean', {\n defaultValue: false\n }),\n queued: (0, _attr.default)('boolean', {\n defaultValue: false\n }),\n involved: (0, _attr.default)('boolean', {\n defaultValue: false\n }),\n archived: (0, _attr.default)('boolean', {\n defaultValue: false\n }),\n role: (0, _attr.default)('string'),\n user: (0, _relationships.belongsTo)('user', {\n async: true\n }),\n processtask: (0, _relationships.belongsTo)('processtask', {\n async: true\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/modifiers/did-insert\", [\"exports\", \"@ember/render-modifiers/modifiers/did-insert\"], function (_exports, _didInsert) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _didInsert.default;\n }\n });\n});","define(\"web-map/modifiers/did-update\", [\"exports\", \"@ember/render-modifiers/modifiers/did-update\"], function (_exports, _didUpdate) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _didUpdate.default;\n }\n });\n});","define(\"web-map/modifiers/will-destroy\", [\"exports\", \"@ember/render-modifiers/modifiers/will-destroy\"], function (_exports, _willDestroy) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _willDestroy.default;\n }\n });\n});","define(\"web-map/resolver\", [\"exports\", \"ember-resolver\"], function (_exports, _emberResolver) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _emberResolver.default;\n _exports.default = _default;\n});","define(\"web-map/router\", [\"exports\", \"web-map/config/environment\"], function (_exports, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const Router = Ember.Router.extend({\n location: _environment.default.locationType,\n rootURL: _environment.default.rootURL\n });\n Router.map(function () {\n this.route('momap');\n this.route('map');\n this.route('stmap');\n this.route('start');\n this.route('start-gp');\n this.route('unauthorized');\n this.route('disclaimermap');\n this.route('disclaimermap-mobile');\n this.route('disclaimerstmap');\n this.route('login');\n this.route('shopping-cart');\n this.route('under-construction');\n this.route('checkout');\n this.route('foc');\n this.route('payment-success');\n this.route('conditions-of-use');\n this.route('privacy-policy');\n this.route('disclaimer');\n this.route('change-password');\n this.route('cashpayment');\n });\n var _default = Router;\n _exports.default = _default;\n});","define(\"web-map/routes/application\", [\"exports\", \"ember-simple-auth/mixins/application-route-mixin\", \"web-map/mixins/w3o-users-roles/check-session-activity\", \"web-map/mixins/w3o-users-roles/set-session-user\"], function (_exports, _applicationRouteMixin, _checkSessionActivity, _setSessionUser) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend(_applicationRouteMixin.default, _checkSessionActivity.default, _setSessionUser.default, {\n sumApp: 0,\n authObject: Ember.inject.service('session'),\n sessionFull: 0,\n sessionCurrent: 0,\n isSessionEmpty: 0,\n promise: Ember.RSVP.Promise,\n model: async function () {\n // Call function on adapters/application to set authorization headers (access token)\n this.store.adapterFor('application').authorizeToken();\n\n if (!$.isEmptyObject(this.get('authObject.data.authenticated'))) {\n // Set user data that can be modified (not immutable)\n let response = await this.setSessionUser();\n\n if (response && response.forceChangePassword) {\n this.transitionTo(\"change-password\");\n return null;\n }\n\n if (response) {\n this.generateAppSession();\n return this.get('promise');\n }\n\n return false;\n } else {\n console.log('here, reset authObject.data');\n this.get('authObject').set('data.user', null);\n }\n\n return false;\n },\n\n setupController(controller, model) {\n Ember.run.schedule('afterRender', () => {\n this.checkSessionActivity();\n });\n\n if (model) {\n controller.set('authorizationCompleted', true);\n } // fetch localization here\n\n\n controller.set(\"showAppLoading\", false);\n },\n\n generateAppSession() {\n if (this.get('authObject.data.user')) {\n $.ajax({\n url: '/api/v1/applications/getAppSession',\n type: 'GET',\n data: {\n userId: this.get('authObject.data.user').id\n }\n }).then(response => {\n response.appsessions.forEach(appsession => {\n if (appsession.id) {\n this.store.findRecord(appsession.modelName, appsession.id).then(result => {\n this.set(appsession.initializerName, result);\n });\n }\n });\n });\n }\n },\n\n actions: {\n invalidateSession() {\n this.invalidateSession();\n },\n\n changeLanguage(value) {\n console.log(\"CHANGE LANGUAGE ROUTE\");\n console.log(value);\n this.set('authObject.data.locale', value); // this.controller.set('currentLanguage', value);\n\n window.location.reload(true);\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/cashpayment\", [\"exports\", \"ember-simple-auth/mixins/authenticated-route-mixin\", \"axios\", \"jquery\"], function (_exports, _authenticatedRouteMixin, _axios, _jquery) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n authObject: Ember.inject.service('session'),\n\n beforeModel() {\n if (!this.get('authObject.data.user.receive_cash_payment')) {\n this.transitionTo(\"checkout\");\n }\n },\n\n model() {\n return this.store.query('order', {\n where: {\n user: this.get('authObject.data.user.id'),\n isdelete: false,\n status: 'Process'\n }\n });\n },\n\n async setupController(controller, model) {\n model = model.objectAt(0);\n controller.set('model', model);\n controller.set('user', this.get('authObject.data.user'));\n console.log(model);\n let orderDetails = [];\n\n if (model.get('type') === 'RSO') {\n orderDetails = await this.store.query('rsoexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n controller.set('btnLabel', 'Download RSO Sheet');\n } else if (model.get('type') === 'Geodetic') {\n orderDetails = await this.store.query('geodeticexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n controller.set('btnLabel', 'Download Geodetic');\n }\n\n console.log(orderDetails);\n controller.setProperties({\n showReceiptNumberError: false,\n disableFOCfields: false,\n receipt_number: null,\n paymentSuccess: false,\n orderDetails\n });\n },\n\n actions: {\n showCancelOrder() {\n (0, _jquery.default)(\"#cancel-order-modal-cashpayment\").modal(\"show\");\n },\n\n cancelOrder() {\n let controller = this.get('controller');\n let model = controller.get('model');\n model.set('status', 'Cancelled');\n model.save().then(() => {\n (0, _jquery.default)(\"#cancel-order-modal-cashpayment\").modal(\"hide\");\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n });\n },\n\n submitCashPayment() {\n let controller = this.controller;\n\n if (controller.get(\"receipt_number\") === null || controller.get(\"receipt_number\") === '') {\n controller.set(\"showReceiptNumberError\", true);\n return;\n } else {\n controller.set(\"showReceiptNumberError\", false);\n }\n\n controller.set(\"disableFOCfields\", true);\n (0, _axios.default)({\n method: \"POST\",\n data: {\n order_number: controller.get(\"model.order_number\"),\n receipt_number: controller.get(\"receipt_number\")\n },\n url: this.store.adapterFor('application').get('host') + this.store.adapterFor('application').get('namespace') + '/orders/submitCashPayment'\n }).then(function (response) {\n if (response && response.status === 200) {\n controller.set(\"paymentSuccess\", true);\n controller.set(\"paymentSuccessMessage\", response.data.message);\n }\n }).catch(function (error) {\n console.log('Error ' + error);\n });\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n },\n\n async downloadRSO(model) {\n let controller = this.get('controller');\n controller.set('start_loading', true);\n let pdf_name;\n controller.get('orderDetails').forEach((order, index) => {\n console.log(order);\n\n if (index === 0) {\n pdf_name = order.pdf_name;\n }\n });\n let response = null;\n let url_rso_geodetic = model.get('type') === 'RSO' ? '/rsosheets/downloadRSOSheet' : '/geodetics/downloadGeodeticSheet';\n let url_featureexport = \"\".concat(this.store.adapterFor('application').get('serverHost')).concat(this.store.adapterFor('application').get('namespace')).concat(url_rso_geodetic);\n response = await _axios.default.post(url_featureexport, {\n order_number: model.get('order_number'),\n pdf_name\n }).catch(error => {\n console.log(\"An error occured while downloading \".concat(model.get('type'), \" Sheet, \").concat(error.response.data));\n alert(\"An error occured while downloading \".concat(model.get('type'), \" Sheet, \").concat(error.response.data));\n return null;\n });\n\n if (response.data) {\n let {\n base64,\n fileName,\n type\n } = response.data;\n let blob;\n\n try {\n blob = this.dataURItoBlob(base64);\n } catch (e) {\n // source: https://stackoverflow.com/a/21797381\n let binary_string = window.atob(base64);\n let len = binary_string.length;\n let bytes = new Uint8Array(len);\n\n for (let i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n\n let arrayBuffer = bytes.buffer;\n blob = new Blob([arrayBuffer], {\n type\n });\n }\n\n let blobUrl = URL.createObjectURL(blob);\n let a = document.createElement('a');\n a.href = blobUrl;\n a.download = fileName || blobUrl.split('/').pop();\n a.click();\n controller.set('start_loading', false);\n }\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/change-password\", [\"exports\", \"ember-simple-auth/mixins/application-route-mixin\", \"ember-simple-auth/mixins/authenticated-route-mixin\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"web-map/mixins/w3o-users-roles/set-session-user\", \"axios\"], function (_exports, _applicationRouteMixin, _authenticatedRouteMixin, _invalidateSession, _setSessionUser, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend(_applicationRouteMixin.default, _authenticatedRouteMixin.default, _invalidateSession.default, _setSessionUser.default, {\n authObject: Ember.inject.service('session'),\n\n async beforeModel() {\n this._super();\n\n if (this.get('authObject.data.user')) {\n let user = await this.store.findRecord('user', this.get('authObject.data.user.id'));\n\n if (!user.get('forceChangePassword')) {\n this.transitionTo('start');\n }\n } else {\n this.transitionTo('start');\n }\n },\n\n model() {\n return this.store.findRecord('user', this.get('authObject.data.user.id'));\n },\n\n setupController(controller, model) {\n controller.setProperties({\n authObject: this.get(\"authObject\"),\n model,\n newPassword: null,\n repeatNewPassword: null\n });\n },\n\n actions: {\n changePassword() {\n let controller = this.get('controller');\n let model = controller.get('model');\n let flag = 0;\n\n if (Ember.isEmpty(controller.get(\"newPassword\"))) {\n controller.set(\"errorMessage\", 'Please input password!');\n flag++;\n return;\n } else {\n /*\n \tRegex for password\n \tat least 8 characters\n \tat least contains 1 uppercase, 1 lowercase, 1 number, and 1 special character( !\"#$%&'()*+,-.:;<=>/?@\\^[]_`{}|~ no space currently) \n */\n let regexPass = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!\"#$%&'()*+,-.:;<=>/?@\\\\^[\\]_`{}|~])[a-zA-Z\\d!\"#$%&'()*+,-.:;<=>/?@\\\\^[\\]_`{}|~]{8,}$/;\n\n if (!regexPass.test(controller.get(\"newPassword\"))) {\n controller.set(\"errorMessage\", 'Password must be at least 8 characters and contains 1 uppercase, 1 lowercase, 1 number, and 1 special character!');\n flag++;\n return;\n }\n }\n\n if (controller.get(\"newPassword\") !== controller.get(\"repeatNewPassword\")) {\n controller.set(\"errorMessage\", 'Password is not same!');\n flag++;\n return;\n }\n\n if (flag === 0) {\n controller.set(\"errorMessage\", null);\n this.controllerFor(\"application\").set(\"showAppLoading\", true);\n (0, _axios.default)({\n url: '/api/v1/users/reset/',\n method: 'POST',\n data: {\n id: model.get('id'),\n siteAdmin: true,\n password: controller.get(\"newPassword\"),\n forceChangePassword: true\n }\n }).then(async () => {\n let response = await this.setSessionUser();\n\n if (response) {\n controller.set('success', true);\n this.controllerFor(\"application\").set(\"showAppLoading\", false);\n this.transitionTo('start');\n }\n }).catch(err => {\n controller.set('message', err.response.data);\n });\n }\n },\n\n invalidateSession() {\n this.invalidateSession();\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/checkout\", [\"exports\", \"web-map/utils/get-cookie\", \"ember-simple-auth/mixins/authenticated-route-mixin\", \"web-map/mixins/w3o-users-roles/check-user-role\", \"web-map/mixins/checkout/checkout-list\", \"axios\"], function (_exports, _getCookie, _authenticatedRouteMixin, _checkUserRole, _checkoutList, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend(_authenticatedRouteMixin.default, _checkUserRole.default, _checkoutList.default, {\n authObject: Ember.inject.service('session'),\n registered: true,\n btn_confirmPayment: false,\n\n model() {\n return this.store.query('order', {\n where: {\n user: this.get('authObject.data.user.id'),\n isdelete: false,\n status: 'Process'\n }\n });\n },\n\n async afterModel() {\n let url_userrole = this.store.adapterFor('application').get('serverHost') + this.store.adapterFor('application').get('namespace') + '/layersetups/getUserRole';\n let response = await _axios.default.post(url_userrole, {\n userid: this.get(\"authObject.data.user.id\")\n }).catch(error => {\n console.log(\"An error occured while getting user role, \".concat(error));\n });\n\n if (response.data.registered) {\n this.set(\"registered\", true);\n } else {\n this.set(\"registered\", false);\n }\n },\n\n async setupController(controller, model) {\n model = model.objectAt(0);\n controller.set('user', this.get('authObject.data.user'));\n\n if (this.get(\"registered\") && this.get('authObject.data.user.is_foc')) {\n controller.set(\"paymentMethodOption\", [{\n value: \"foc\",\n label: \"Free of Charge\"\n }]);\n controller.set(\"paymentMethod\", \"foc\");\n } else {\n controller.set(\"paymentMethodOption\", [{\n value: \"baiduri\",\n label: \"Credit/Debit Card\"\n }]);\n controller.set(\"paymentMethod\", \"baiduri\");\n }\n\n if (this.get('authObject.data.user.receive_cash_payment')) {\n controller.get(\"paymentMethodOption\").pushObject({\n value: \"cashpayment\",\n label: \"Cash Payment\"\n });\n } //console.log('createdAt');\n\n\n let orderDetails = [];\n\n if (model.get('type') === 'Feature') {\n orderDetails = await this.store.query('featureexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (model.get('type') === 'Imagery') {\n orderDetails = await this.store.query('imageexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (model.get('type') === 'RSO') {\n orderDetails = await this.store.query('rsoexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (model.get('type') === 'Geodetic') {\n orderDetails = await this.store.query('geodeticexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n }\n\n if (controller.get('orderType') === 'RSO' || controller.get('orderType') === 'Geodetic') {\n controller.set('show_dataarea', false);\n } else {\n controller.set('show_dataarea', false);\n }\n\n let totalPrice = 0;\n orderDetails.forEach(record => {\n //console.log(record.price);\n totalPrice += parseFloat(record.price);\n record.set(\"formatted_data_size\", (parseFloat(record.data_size) / 1048576).toFixed(5));\n });\n model.set(\"total_price\", totalPrice);\n model.save().then(result => {\n console.log(\"Order saved\"); //console.log(result);\n });\n\n let _country,\n country_nicename = '-';\n\n if (controller.get(\"user.country\")) {\n _country = await this.store.query(\"country\", {\n id: controller.get(\"user.country\")\n });\n country_nicename = _country.get(\"firstObject\").get(\"nicename\");\n }\n\n controller.setProperties({\n \"country_nicename\": country_nicename,\n \"ordercreatedat\": model.createdAt.toDateString(),\n \"model\": model,\n \"orderDetails\": orderDetails,\n \"totalPrice\": totalPrice.toLocaleString(),\n \"totalPrice_num\": totalPrice\n });\n },\n\n actions: {\n showCancelOrder() {\n $(\"#cancel-order-modal-checkout\").modal(\"show\");\n },\n\n cancelOrder() {\n let controller = this.get('controller');\n let model = controller.get('model');\n model.set('status', 'Cancelled');\n model.save().then(() => {\n $(\"#cancel-order-modal-checkout\").modal(\"hide\"); //cannot use transitionTo because it wont load the map\n //Go back to /momap if using mobile app\n\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/momap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n });\n },\n\n confirmPayment(model) {\n let controller = this.controller;\n\n if (controller.get(\"paymentMethod\")) {\n controller.set(\"errorPaymentMethod\", false);\n\n if (controller.get(\"paymentMethod\") === \"foc\") {\n this.transitionTo(\"foc\");\n } else if (controller.get(\"paymentMethod\") === \"cashpayment\") {\n this.transitionTo(\"cashpayment\");\n } else {\n // to prevent double click by accident\n if (!this.get(\"btn_confirmPayment\")) {\n this.set(\"btn_confirmPayment\", true);\n this.readypay(model);\n }\n }\n } else {\n controller.set(\"errorPaymentMethod\", true);\n }\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n //Go back to /momap if using mobile app\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/momap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/conditions-of-use\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n actions: {\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"https://\".concat(window.location.hostname));\n },\n\n conditionsOfUse() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/conditions-of-use\"));\n },\n\n privacyPolicy() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/privacy-policy\"));\n },\n\n disclaimer() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/disclaimer\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/disclaimer\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n actions: {\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"https://\".concat(window.location.hostname));\n },\n\n conditionsOfUse() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/conditions-of-use\"));\n },\n\n privacyPolicy() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/privacy-policy\"));\n },\n\n disclaimer() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/disclaimer\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/disclaimermap-mobile\", [\"exports\", \"web-map/utils/get-cookie\"], function (_exports, _getCookie) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n actions: {\n gotoHome() {\n //do not transition if user choose to not accept the conditions on mobile\n if ((0, _getCookie.default)('isMobile') === \"No\") {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n }\n },\n\n gotoPublic() {\n if ((0, _getCookie.default)('isMobile') === \"No\") {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n } else {\n //set to yes so it won't display the disclaimer again\n document.cookie = \"public_disclaimer=Yes\";\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/momap\"));\n }\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/disclaimermap\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n actions: {\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n },\n\n gotoPublic() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/disclaimerstmap\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n actions: {\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n },\n\n gotoRegistered() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/foc\", [\"exports\", \"ember-simple-auth/mixins/authenticated-route-mixin\", \"axios\"], function (_exports, _authenticatedRouteMixin, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n authObject: Ember.inject.service('session'),\n\n beforeModel() {\n if (!this.get('authObject.data.user.is_foc')) {\n this.transitionTo(\"checkout\");\n }\n },\n\n model() {\n return this.store.query('order', {\n where: {\n user: this.get('authObject.data.user.id'),\n isdelete: false,\n status: 'Process'\n }\n });\n },\n\n async setupController(controller, model) {\n model = model.objectAt(0);\n controller.set('model', model);\n controller.set('user', this.get('authObject.data.user'));\n\n let _country = await this.store.query(\"country\", {\n id: controller.get(\"user.country\")\n });\n\n controller.set(\"country_nicename\", _country.get(\"firstObject\").get(\"nicename\"));\n controller.setProperties({\n disableFOCfields: false,\n foc_name: null,\n foc_department: null,\n foc_purpose: null,\n foc_remark: null,\n paymentSuccess: false\n });\n },\n\n actions: {\n showCancelOrder() {\n $(\"#cancel-order-modal-foc\").modal(\"show\");\n },\n\n cancelOrder() {\n let controller = this.get('controller');\n let model = controller.get('model');\n model.set('status', 'Cancelled');\n model.save().then(() => {\n $(\"#cancel-order-modal-foc\").modal(\"hide\");\n\n if (this.get('authObject.data.user.is_registered') === false) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/stmap\"));\n }\n });\n },\n\n submitFOC() {\n let controller = this.controller;\n controller.set(\"disableFOCfields\", true);\n controller.get(\"model\").setProperties({\n foc_name: controller.get(\"foc_name\"),\n foc_department: controller.get(\"foc_department\"),\n foc_purpose: controller.get(\"foc_purpose\"),\n foc_remark: controller.get(\"foc_remark\")\n });\n controller.get(\"model\").save().then(result => {\n console.log(\"update order foc success\");\n console.log(result);\n (0, _axios.default)({\n method: \"POST\",\n data: {\n order_number: controller.get(\"model.order_number\"),\n order_type: controller.get(\"model.type\"),\n total_price: controller.get(\"model.total_price\"),\n user: controller.get(\"user\")\n },\n url: this.store.adapterFor('application').get('host') + this.store.adapterFor('application').get('namespace') + '/orders/preparePdfAndSendEmail_GP_FOC'\n }).then(function (response) {\n controller.set(\"paymentSuccess\", true);\n }).catch(function (error) {\n console.log('Error ' + error);\n });\n });\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host')));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/index\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n beforeModel: function () {\n // this.transitionTo('start-gp');\n if (window.location.hostname === 'geoportal.survey.gov.bn') {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('hostSurvey'), \"/start\"));\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/login\", [\"exports\", \"jquery\", \"ember-simple-auth/mixins/application-route-mixin\", \"ember-simple-auth/mixins/unauthenticated-route-mixin\", \"web-map/mixins/w3o-users-roles/check-user-role\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"web-map/mixins/w3o-users-roles/check-session-activity\", \"web-map/mixins/w3o-users-roles/set-session-user\", \"axios\", \"web-map/utils/get-cookie\"], function (_exports, _jquery, _applicationRouteMixin, _unauthenticatedRouteMixin, _checkUserRole, _invalidateSession, _checkSessionActivity, _setSessionUser, _axios, _getCookie) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n // importing 3 3rd party libraries\n var _default = Ember.Route.extend(_applicationRouteMixin.default, _unauthenticatedRouteMixin.default, _checkUserRole.default, _invalidateSession.default, _checkSessionActivity.default, _setSessionUser.default, {\n authObject: Ember.inject.service('session'),\n // actionList: null,\n renderFlag: true,\n\n //session ganti nama jadi authObject\n async beforeModel() {\n if ((0, _getCookie.default)('isMobile') === \"Yes\") {\n //window.location.replace(`${this.store.adapterFor('application').get('host')}/momap`);\n this.transitionTo('momap');\n }\n\n if (this.get('authObject.data.user')) {\n if (this.get('authObject.data.user.status') !== 'Active') {\n return this.get('authObject').invalidate();\n } // if (this.get('authObject.data.user.authEnable') && !this.get('authObject.data.isAuth')) {\n // \tthis.transitionTo('authenticate');\n // }\n\n } // if (this.session.get('isAuthenticated')) {\n // \tthis.transitionTo('start');\n // }\n\n\n if (this.get('authObject.data.authenticated.user')) {\n this._super();\n\n let user = await this.store.findRecord('user', this.get('authObject.data.authenticated.user.id'));\n\n if (user.get('forceChangePassword')) {\n this.transitionTo('change-password');\n }\n }\n },\n\n async model() {\n if (this.get('authObject.data.user')) {\n let response = await this.setSessionUser();\n\n if (response) {\n let euser = await this.store.query('euser', {\n user: this.get('authObject.data.user.id')\n });\n let companyId = euser.get(\"firstObject\") ? euser.get(\"firstObject\").get('companynum.content.id') : null;\n\n _jquery.default.ajax({\n url: '/api/v1/applications/getApplications',\n type: 'POST',\n data: {\n userId: this.get('authObject.data.user.id'),\n companyId\n }\n }).then(response => {\n this.controller.set('loading', false);\n return this.controller.set('model', response.applications);\n });\n }\n }\n },\n\n setupController: function (controller) {\n controller.set('session', this.get('authObject.session'));\n controller.set('loading', true); // console.log(this.get('authObject'));\n\n if (this.get('authObject.isAuthenticated')) {\n controller.set('authObject', this.get('authObject'));\n controller.set('geolink', '/stmap');\n } else {\n controller.set('geolink', '/map');\n } //Set variables for nav bar\n\n\n this.controllerFor('application').set('appID', null);\n this.controllerFor('application').set('menus', null);\n Ember.run.schedule('afterRender', () => {\n (0, _jquery.default)('.owl-carousel').owlCarousel({\n loop: true,\n margin: 10,\n nav: true,\n navText: [\"\", \"\"],\n responsive: {\n 0: {\n items: 1\n },\n 768: {\n items: 4\n }\n }\n });\n });\n },\n\n renderTemplate() {\n this._super();\n },\n\n generateAppSession() {\n let controller = this.get('controller');\n\n if (this.get('authObject.data.user')) {\n controller.set('authObject', this.get('authObject'));\n\n _jquery.default.ajax({\n url: '/api/v1/applications/getAppSession',\n type: 'GET',\n data: {\n userId: this.get('authObject.data.user').id\n }\n }).then(response => {\n response.appsessions.forEach(appsession => {\n if (appsession.id) {\n this.store.findRecord(appsession.modelName, appsession.id).then(result => {\n this.set(appsession.initializerName, result);\n });\n }\n });\n });\n }\n },\n\n async setSession() {\n let response = await this.setSessionUser();\n\n if (response) {\n if (response.forceChangePassword) {\n this.transitionTo(\"change-password\");\n return;\n }\n\n this.controllerFor('application').set('authorizationCompleted', true);\n this.beforeModel();\n this.model();\n this.generateAppSession();\n this.checkSessionActivity();\n }\n },\n\n auth2fa: function (user, identification, password) {\n this.controllerFor('application').setProperties({\n user,\n identification,\n password\n });\n this.transitionTo('authenticate');\n },\n login: function () {\n let controller = this.get('controller');\n controller.set('errorMessage', null);\n const {\n identification,\n password\n } = controller.getProperties('identification', 'password');\n this.get('authObject').authenticate('authenticator:oauth2', identification.toLowerCase().trim(), password).then(async result => {\n this.store.adapterFor(\"application\").authorizeToken();\n await this.setSession();\n this.controllerFor(\"application\").set(\"showAppLoading\", false); //redirect to /start-gp\n\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start-gp\"));\n }).catch(reason => {\n if (this.get('authObject.session.isAuthenticated')) {\n this.setSession();\n this.controllerFor(\"application\").set(\"showAppLoading\", false); //redirect to /stmap\n // window.location.replace(`${this.store.adapterFor('application').get('host')}/disclaimerstmap`);\n } else {\n controller.set('errorMessage', reason.error || reason);\n this.controllerFor(\"application\").set(\"showAppLoading\", false);\n }\n });\n },\n checkUser: async function (identification, password) {\n let controller = this.get('controller');\n let url = \"\".concat(this.store.adapterFor('application').get('serverHost'), \"/api/v1/auths/checkUser\");\n let response = await _axios.default.post(url, {\n identification,\n password\n }).catch(error => {\n this.controllerFor(\"application\").set(\"showAppLoading\", false);\n controller.set('errorMessage', error.response.data);\n });\n\n if (response) {\n let {\n user\n } = response.data;\n user.authEnable ? this.auth2fa(user.id, identification, password) : this.login();\n }\n },\n actions: {\n /*\n \tTransition to route\n */\n goTo(app) {\n if (app.isExternalLink) {\n if (app.routeName.indexOf('http') > -1) {\n window.location.assign(app.routeName);\n } else {\n window.location.assign('http://' + app.routeName);\n }\n } else if (app.appId) {\n this.transitionTo(app.routeName, app.appId);\n } else {\n this.transitionTo(app.routeName);\n }\n },\n\n setSession() {\n this.setSession();\n },\n\n /*\n \tinvalidate current session and after that, redirect to start page to login\n */\n invalidateSession() {\n this.invalidateSession();\n },\n\n authenticate: function () {\n let self = this;\n let flag = 0;\n let controller = this.get('controller'); // this.set('errorMessage', null);\n\n if (Ember.isEmpty(controller.get('identification'))) {\n controller.set('errorMessage', 'Email must be filled');\n flag++;\n return;\n }\n\n if (Ember.isEmpty(controller.get('password'))) {\n controller.set('errorMessage', 'Password must be filled');\n flag++;\n return;\n }\n\n if (flag === 0) {\n controller.set('errorMessage', null);\n this.controllerFor(\"application\").set(\"showAppLoading\", true);\n this.checkUser(controller.get('identification'), controller.get('password'));\n }\n },\n\n gotoRegistered() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/stmap\"));\n },\n\n gotoPublic() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/disclaimermap\"));\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start\"));\n },\n\n register() {\n //cannot use transitionTo because it wont load the map\n window.open(\"\".concat(this.store.adapterFor('application').get('ecomWebsite'), \"/register\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/map\", [\"exports\", \"ol\", \"ol/layer/Tile\", \"ol/source/OSM\"], function (_exports, _ol, _Tile, _OSM) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n /* import 'ol/ol.css'; */\n var _default = Ember.Route.extend({\n queryParam: null,\n\n init() {\n this._super(...arguments);\n },\n\n beforeModel: async function (transition) {\n this._super(...arguments);\n\n let queryParam = transition.to.queryParams;\n this.set('queryParam', queryParam);\n },\n\n setupController() {\n this._super(...arguments);\n\n Ember.run.schedule('afterRender', () => {\n if (this.get('queryParam')['rso_type']) {\n $('#layers-tab').removeClass('active');\n $('#layers').removeClass('show').removeClass('active');\n $('#rsodigital-tab').addClass('active');\n $('#rsodigital').addClass('show').addClass('active');\n }\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/momap\", [\"exports\", \"ol\", \"ol/layer/Tile\", \"ol/source/OSM\"], function (_exports, _ol, _Tile, _OSM) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n /* import 'ol/ol.css'; */\n var _default = Ember.Route.extend({\n queryParam: null,\n\n init() {\n this._super(...arguments);\n },\n\n beforeModel: async function (transition) {\n this._super(...arguments);\n\n let queryParam = transition.to.queryParams;\n this.set('queryParam', queryParam);\n },\n\n setupController() {\n this._super(...arguments);\n\n Ember.run.schedule('afterRender', () => {\n if (this.get('queryParam')['rso_type']) {\n $('#layers-tab').removeClass('active');\n $('#layers').removeClass('show').removeClass('active');\n $('#rsodigital-tab').addClass('active');\n $('#rsodigital').addClass('show').addClass('active');\n }\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/payment-success\", [\"exports\", \"jquery\", \"axios\", \"web-map/utils/get-cookie\", \"ember-simple-auth/mixins/authenticated-route-mixin\", \"moment\"], function (_exports, _jquery, _axios, _getCookie, _authenticatedRouteMixin, _moment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend(_authenticatedRouteMixin.default, {\n authObject: Ember.inject.service('session'),\n queryParameters: null,\n hasValidHash: false,\n continueProcessing: true,\n allOrders: null,\n responseDescription: function (vResponseCode) {\n let result = \"\"; // check if a single digit response code\n\n if (vResponseCode.length === 1) {\n switch (vResponseCode) {\n case '0':\n result = \"Transaction Successful\";\n break;\n\n case '1':\n result = \"Transaction Declined\";\n break;\n\n case '2':\n result = \"Bank Declined Transaction\";\n break;\n\n case '3':\n result = \"No Reply from Bank\";\n break;\n\n case '4':\n result = \"Expired Card\";\n break;\n\n case '5':\n result = \"Insufficient Funds\";\n break;\n\n case '6':\n result = \"Error Communicating with Bank\";\n break;\n\n case '7':\n result = \"Payment Server detected an error\";\n break;\n\n case '8':\n result = \"Transaction Type Not Supported\";\n break;\n\n case '9':\n result = \"Bank declined transaction (Do not contact Bank)\";\n break;\n\n case 'A':\n result = \"Transaction Aborted\";\n break;\n\n case 'B':\n result = \"Transaction Declined - Contact the Bank\";\n break;\n\n case 'C':\n result = \"Transaction Cancelled\";\n break;\n\n case 'D':\n result = \"Deferred transaction has been received and is awaiting processing\";\n break;\n\n case 'E':\n result = \"Transaction Declined - Refer to card issuer\";\n break;\n\n case 'F':\n result = \"3-D Secure Authentication failed\";\n break;\n\n case 'I':\n result = \"Card Security Code verification failed\";\n break;\n\n case 'L':\n result = \"Shopping Transaction Locked (Please try the transaction again later)\";\n break;\n\n case 'M':\n result = \"Transaction Submitted (No response from acquirer)\";\n break;\n\n case 'N':\n result = \"Cardholder is not enrolled in Authentication scheme\";\n break;\n\n case 'P':\n result = \"Transaction has been received by the Payment Adaptor and is being processed\";\n break;\n\n case 'R':\n result = \"Transaction was not processed - Reached limit of retry attempts allowed\";\n break;\n\n case 'S':\n result = \"Duplicate SessionID\";\n break;\n\n case 'T':\n result = \"Address Verification Failed\";\n break;\n\n case 'U':\n result = \"Card Security Code Failed\";\n break;\n\n case 'V':\n result = \"Address Verification and Card Security Code Failed\";\n break;\n\n case '?':\n result = \"Transaction status is unknown\";\n break;\n\n default:\n result = \"Unable to be determined\";\n break;\n }\n\n return result;\n } else {\n return \"No Value Returned\";\n }\n },\n beforeModel: async function (transition) {\n // console.log('query params');\n // console.log(transition.queryParams);\n let queryParam = transition.to.queryParams;\n queryParam['responseDescription'] = this.responseDescription(queryParam['vpc_TxnResponseCode']);\n queryParam['formatted_amount'] = parseFloat(queryParam['vpc_Amount']) / 100;\n this.set('queryParameters', queryParam); //verify hash first\n\n if (queryParam.vpc_SecureHash.length > 0 && queryParam.vpc_TxnResponseCode.length > 0) {\n let url_verify_hash = this.store.adapterFor('application').get('ecomWeb') + this.store.adapterFor('application').get('namespace') + '/baiduribanks/checkReturnHash';\n let verify_hash = await _axios.default.post(url_verify_hash, {\n paymentgateway: 2,\n paymentgatewaydetail: 4,\n parameters: queryParam\n }).catch(error => {\n console.log(error);\n alert(error);\n });\n\n if (verify_hash.data.hasValidHash === true) {\n //for testing, cancel will assume as paid payment\n //processing post payment\n let url_baiduri_charge = this.store.adapterFor('application').get('ecomWeb') + this.store.adapterFor('application').get('namespace') + '/baiduribanks/baiduriCharge';\n let baiduri_charge = await _axios.default.post(url_baiduri_charge, {\n formTransactionID: queryParam.vpc_OrderInfo,\n paymentRefNumber: queryParam.vpc_ReceiptNo,\n responseCode: queryParam.vpc_TxnResponseCode,\n responseMessage: queryParam.responseDescription,\n ipgNumber: queryParam.vpc_TransactionNo\n }).catch(error => {\n console.log(error);\n alert(error);\n });\n } // console.log('is hash valid?');\n // console.log(verify_hash.data.hasValidHash);\n\n\n this.set('hasValidHash', verify_hash.data.hasValidHash);\n } else {\n this.set('continueProcessing', false);\n }\n },\n\n model() {\n return this.store.query('order', {\n where: {\n user: this.get('authObject.data.user.id'),\n isdelete: false,\n // status: 'Done',\n order_number: this.get('queryParameters').vpc_OrderInfo\n }\n });\n },\n\n afterModel(resolvedModel) {\n console.log(\"afterModel\"); //console.log(resolvedModel);\n },\n\n async setupController(controller, model) {\n model = model.objectAt(0);\n controller.set('model', model);\n controller.set('user', this.get('authObject.data.user'));\n controller.set('responseDescription', this.get('queryParameters.responseDescription'));\n let orderDetails = [];\n\n if (model.get('type') === 'Feature') {\n orderDetails = await this.store.query('featureexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (model.get('type') === 'Imagery') {\n orderDetails = await this.store.query('imageexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (model.get('type') === 'RSO') {\n orderDetails = await this.store.query('rsoexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (model.get('type') === 'Geodetic') {\n orderDetails = await this.store.query('geodeticexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n }\n\n let totalPrice = 0;\n orderDetails.forEach(record => {\n totalPrice += record.price;\n record.set(\"data_size\", (record.data_size / 1048576).toFixed(5));\n });\n controller.set('orderDetails', orderDetails);\n this.set('allOrders', orderDetails);\n controller.set('totalPrice', totalPrice.toLocaleString());\n let host = this.store.adapterFor(\"application\").get(\"ecomHost\");\n let namespace = this.store.adapterFor(\"application\").get(\"namespace\");\n let endpoint = \"/Formtransactions/?uniqueID=\" + this.get('queryParameters.vpc_OrderInfo');\n let transaction = await (0, _axios.default)({\n method: \"GET\",\n url: host + namespace + endpoint\n }).then(response => {\n return response.data.formtransactions[0];\n }); //console.log('transaction');\n //console.log(transaction);\n\n controller.set('transaction', transaction);\n\n if (controller.get('orderType') === 'RSO' || controller.get('orderType') === 'Geodetic') {\n controller.set('show_dataarea', false);\n } else {\n controller.set('show_dataarea', false);\n }\n\n if ((model.get('type') === 'RSO' || model.get('type') === 'Geodetic') && transaction.status === 'SUCCESS') {\n controller.set('generateRSO', true);\n } else {\n controller.set('generateRSO', false);\n } //Mobile not allow to download PDF\n\n\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n controller.set('generateRSO', false);\n }\n },\n\n actions: {\n /**\n * Back to the Merchant Caller URL\n * @author Paskalouis Patressi\n */\n backToCaller: function () {\n window.location.href = this.controller.get('model.successURL');\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n //Go back to /momap if using mobile app\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/momap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n },\n\n async downloadRSO(model) {\n let controller = this.get('controller');\n controller.set('start_loading', true);\n let pdf_name;\n controller.get('orderDetails').forEach((order, index) => {\n //console.log(order);\n if (index === 0) {\n pdf_name = order.pdf_name;\n }\n });\n let url_download = model.get('type') === 'RSO' ? '/rsosheets/downloadRSOSheet' : '/geodetics/downloadGeodeticSheet';\n let response = null;\n let url_featureexport = \"\".concat(this.store.adapterFor('application').get('serverHost')).concat(this.store.adapterFor('application').get('namespace')).concat(url_download);\n response = await _axios.default.post(url_featureexport, {\n order_number: model.get('order_number'),\n pdf_name\n }).catch(error => {\n console.log(\"An error occured while downloading \".concat(model.get('type'), \" Sheet, \").concat(error.response.data));\n alert(\"An error occured while downloading \".concat(model.get('type'), \" Sheet, \").concat(error.response.data));\n return null;\n });\n\n if (response.data) {\n let {\n base64,\n fileName,\n type\n } = response.data;\n let blob;\n\n try {\n blob = this.dataURItoBlob(base64);\n } catch (e) {\n // source: https://stackoverflow.com/a/21797381\n let binary_string = window.atob(base64);\n let len = binary_string.length;\n let bytes = new Uint8Array(len);\n\n for (let i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n\n let arrayBuffer = bytes.buffer;\n blob = new Blob([arrayBuffer], {\n type\n });\n }\n\n let blobUrl = URL.createObjectURL(blob);\n let a = document.createElement('a');\n a.href = blobUrl;\n a.download = fileName || blobUrl.split('/').pop();\n a.click();\n controller.set('start_loading', false);\n }\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/privacy-policy\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({\n actions: {\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"https://\".concat(window.location.hostname));\n },\n\n conditionsOfUse() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/conditions-of-use\"));\n },\n\n privacyPolicy() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/privacy-policy\"));\n },\n\n disclaimer() {\n window.location.replace(\"https://\".concat(window.location.hostname, \"/disclaimer\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/shopping-cart\", [\"exports\", \"axios\", \"web-map/utils/get-cookie\", \"ember-simple-auth/mixins/authenticated-route-mixin\", \"web-map/mixins/w3o-users-roles/check-user-role\", \"ol/proj\"], function (_exports, _axios, _getCookie, _authenticatedRouteMixin, _checkUserRole, _proj) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend(_authenticatedRouteMixin.default, _checkUserRole.default, {\n authObject: Ember.inject.service('session'),\n\n model() {\n return this.store.query('order', {\n where: {\n user: this.get('authObject.data.user.id'),\n isdelete: false,\n status: 'Process'\n }\n });\n },\n\n async setupController(controller, model) {\n model = model.objectAt(0);\n controller.set('model', model);\n controller.set('user', this.get('authObject.data.user.email'));\n\n if (model) {\n this.updateShoppingCart();\n this.generatePreview();\n }\n\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n controller.set('imageh', '500');\n } else {\n controller.set('imageh', '768');\n }\n },\n\n async generatePreview() {\n let self = this;\n let controller = this.get('controller');\n let model = controller.get('model');\n\n if (model.get('type') === 'RSO' || model.get('type') === 'Geodetic') {\n controller.set('rso_preview_ready', false);\n controller.set('preview_image', '/images/preview-loading.png');\n let export_type = model.get('type') === 'RSO' ? 'rsoexport' : 'geodeticexport';\n let orderDetails = await this.store.query(export_type, {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n let image_name, preview_name, with_orthophoto, with_height, is_public;\n let rso_ref, rso_type, lot_type, lot_num, book_code;\n let ctl_pnt;\n orderDetails.forEach((order, index) => {\n if (index === 0) {\n if (model.get('type') === 'RSO') {\n rso_ref = order.rso_ref;\n rso_type = order.rso_type;\n image_name = order.image_name;\n preview_name = order.preview_name;\n lot_type = order.lot_type;\n lot_num = order.lot_num;\n book_code = order.book_code;\n with_orthophoto = order.with_orthophoto;\n is_public = order.is_public;\n } else {\n ctl_pnt = order.ctl_pnt;\n image_name = order.image_name;\n preview_name = order.preview_name;\n with_height = order.with_height;\n is_public = order.is_public;\n }\n }\n });\n let end_url = model.get('type') === 'RSO' ? '/rsosheets/generateRSOSheet' : '/geodetics/generateGeodeticSheet';\n let response = null;\n let url_featureexport = \"\".concat(this.store.adapterFor('application').get('serverHost')).concat(this.store.adapterFor('application').get('namespace')).concat(end_url);\n let generate_param;\n\n if (model.get('type') === 'RSO') {\n generate_param = {\n rso_ref,\n rso_type,\n lot_type,\n lot_num,\n book_code\n };\n } else {\n generate_param = {\n ctl_pnt\n };\n }\n\n response = await _axios.default.post(url_featureexport, { ...generate_param,\n with_orthophoto,\n with_height,\n order_number: model.get('order_number'),\n image_name,\n preview_name,\n generate_type: 'pdf',\n erdashost_url: self.store.adapterFor('application').get('erdasHost'),\n is_public\n }).catch(error => {\n console.log(\"An error occured while generating \".concat(model.get('type'), \" Sheet Preview, \").concat(error.response.data));\n alert(\"An error occured while generating \".concat(model.get('type'), \" Sheet Preview, \").concat(error.response.data));\n return null;\n });\n\n if (response) {\n controller.set('rso_preview_ready', true);\n controller.set('preview_image', \"\".concat(this.store.adapterFor('application').get('serverHost'), \"/RSO_Digital/\").concat(model.get('order_number'), \"/preview/\").concat(preview_name, \".png\"));\n }\n }\n },\n\n async updateShoppingCart() {\n let controller = this.get('controller');\n let model = controller.get('model');\n controller.set('orderType', model.get('type'));\n let totalPrice = 0;\n let totalSize = 0;\n let records;\n\n if (controller.get('orderType') === 'Feature') {\n controller.set('showPreview', false);\n records = await this.store.query('featureexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (controller.get('orderType') === 'Imagery') {\n controller.set('showPreview', false);\n records = await this.store.query('imageexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (controller.get('orderType') === 'RSO') {\n controller.set('showPreview', true);\n records = await this.store.query('rsoexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n });\n } else if (controller.get('orderType') === 'Geodetic') {\n controller.set('showPreview', true);\n records = await this.store.query('geodeticexport', {\n where: {\n order_number: model.get('order_number'),\n isdelete: false\n },\n sort: \"id ASC\"\n }); //console.log(records);\n }\n\n if (controller.get('orderType') === 'RSO' || controller.get('orderType') === 'Geodetic') {\n controller.set('show_addmoreitem', false);\n controller.set('show_dataarea', false);\n } else {\n controller.set('show_addmoreitem', true);\n controller.set('show_dataarea', false);\n } // source: https://stackoverflow.com/a/18650828\n\n\n const formatBytes = (bytes, decimals = 2) => {\n if (bytes === 0) return '0 Bytes';\n let k = 1024;\n let dm = decimals < 0 ? 0 : decimals;\n let sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let i = Math.floor(Math.log(bytes) / Math.log(k)); //console.log('i'); console.log(i);\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n };\n\n records.forEach(record => {\n if (typeof record.get(\"price\") === 'string') record.set(\"price\", parseFloat(record.get(\"price\")));\n if (typeof record.get(\"area_size\") === 'string') record.set(\"area_size\", parseFloat(record.get(\"area_size\")));\n if (typeof record.get(\"data_size\") === 'string') record.set(\"data_size\", parseFloat(record.get(\"data_size\")));\n totalPrice += record.price;\n totalSize += record.data_size;\n record.set(\"formatted_data_size\", formatBytes(record.data_size));\n record.set(\"formatted_price\", parseFloat(record.get('price').toFixed(2)).toLocaleString());\n record.set(\"area_size\", parseFloat(record.area_size.toFixed(4)).toLocaleString());\n record.set(\"scala\", Math.round(record.scala));\n });\n controller.set('records', records);\n controller.set('totalPrice', parseFloat(totalPrice.toFixed(2)).toLocaleString());\n controller.set('totalSize', formatBytes(totalSize));\n model.set(\"total_price\", parseFloat(totalPrice.toFixed(2)).toLocaleString());\n model.save().then(result => {\n console.log(\"Order saved\"); //console.log(result);\n });\n },\n\n actions: {\n async deleteSingle(id) {\n let records = this.get('controller').get('records');\n let updatedRecords = records.filter(record => {\n return record.id !== id;\n });\n this.get('controller').set('records', updatedRecords);\n let type;\n\n if (this.get('controller').get('orderType') === 'Feature') {\n type = 'featureexport';\n } else if (this.get('controller').get('orderType') === 'Imagery') {\n type = 'imageexport';\n }\n\n let selectedRecord = await this.store.findRecord(type, id);\n selectedRecord.set('isdelete', true);\n selectedRecord.save().then(() => {\n this.updateShoppingCart();\n });\n },\n\n addMoreItem() {\n //cannot use transitionTo because it wont load the map\n //Go back to /momap if using mobile app\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/momap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n },\n\n showCancelOrder() {\n $(\"#cancel-order-modal\").modal(\"show\");\n },\n\n cancelOrder() {\n let controller = this.get('controller');\n let model = controller.get('model');\n model.set('status', 'Cancelled');\n model.save().then(() => {\n $(\"#cancel-order-modal\").modal(\"hide\"); //cannot use transitionTo because it wont load the map\n //Go back to /momap if using mobile app\n\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/momap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n });\n },\n\n checkoutAndPay() {\n if (!this.get('authObject.data.user.receive_cash_payment')) {\n this.transitionTo('checkout');\n } else {\n this.transitionTo('cashpayment');\n }\n },\n\n warningPreview() {\n alert('Please wait while we generating the preview.');\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n //Go back to /momap if using mobile app\n if ((0, _getCookie.default)('isMobile') === 'Yes') {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/momap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/map\"));\n }\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/start-gp\", [\"exports\", \"jquery\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"axios\", \"web-map/utils/get-cookie\"], function (_exports, _jquery, _invalidateSession, _axios, _getCookie) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n // import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin';\n // import CheckUserRole from '../mixins/w3o-users-roles/check-user-role';\n // import CheckSessionActivity from '../mixins/w3o-users-roles/check-session-activity';\n // import SetSessionUser from '../mixins/w3o-users-roles/set-session-user';\n // importing 3 3rd party libraries\n //export default Route.extend(ApplicationRouteMixin, CheckUserRole, InvalidateSession, CheckSessionActivity, SetSessionUser, {\n var _default = Ember.Route.extend(_invalidateSession.default, {\n authObject: Ember.inject.service('session'),\n // actionList: null,\n renderFlag: true,\n\n //session ganti nama jadi authObject\n async beforeModel() {\n if ((0, _getCookie.default)('isMobile') === \"Yes\") {\n //window.location.replace(`${this.store.adapterFor('application').get('host')}/momap`);\n this.transitionTo('momap');\n }\n\n if (this.get('authObject.data.user')) {\n if (this.get('authObject.data.user.status') !== 'Active') {\n return this.get('authObject').invalidate();\n } // if (this.get('authObject.data.user.authEnable') && !this.get('authObject.data.isAuth')) {\n // \tthis.transitionTo('authenticate');\n // }\n\n } // if (this.session.get('isAuthenticated')) {\n // \tthis.transitionTo('start');\n // }\n\n\n if (this.get('authObject.data.authenticated.user')) {\n this._super(...arguments);\n }\n },\n\n async model() {// if (this.get('authObject.data.user')) {\n // \tlet response = await this.setSessionUser();\n // \tif (response) {\n // \t\tlet euser = await this.store.queryRecord('euser', { user: this.get('authObject.data.user.id') });\n // \t\tlet companyId = euser ? euser.get('companynum.content.id') : null;\n // \t\t$.ajax({\n // \t\t\turl: '/api/v1/applications/getApplications',\n // \t\t\ttype: 'POST',\n // \t\t\tdata: {\n // \t\t\t\tuserId: this.get('authObject.data.user.id'),\n // \t\t\t\tcompanyId\n // \t\t\t}\n // \t\t}).then((response) => {\n // \t\t\tthis.controller.set('loading', false);\n // \t\t\treturn this.controller.set('model', response.applications);\n // \t\t});\n // \t}\n // }\n },\n\n setupController: function (controller) {\n controller.set('session', this.get('authObject.session'));\n controller.set('loading', true); // console.log(this.get('authObject'));\n\n if (this.get('authObject.isAuthenticated')) {\n controller.set('authObject', this.get('authObject'));\n controller.set('geolink', '/stmap');\n } else {\n controller.set('geolink', '/map');\n }\n\n controller.set('mapLink', this.store.adapterFor('application').get('ecomHost')); //Set variables for nav bar\n\n this.controllerFor('application').set('appID', null);\n this.controllerFor('application').set('menus', null);\n Ember.run.schedule('afterRender', () => {\n (0, _jquery.default)('.owl-carousel').owlCarousel({\n loop: true,\n margin: 10,\n nav: true,\n navText: [\"\", \"\"],\n responsive: {\n 0: {\n items: 1\n },\n 768: {\n items: 4\n }\n }\n });\n });\n },\n\n renderTemplate() {\n this._super();\n },\n\n actions: {\n /*\n Transition to route\n */\n goTo(app) {\n if (app.isExternalLink) {\n if (app.routeName.indexOf('http') > -1) {\n window.location.assign(app.routeName);\n } else {\n window.location.assign('http://' + app.routeName);\n }\n } else if (app.appId) {\n this.transitionTo(app.routeName, app.appId);\n } else {\n this.transitionTo(app.routeName);\n }\n },\n\n // setSession() {\n // \tthis.setSession();\n // },\n\n /*\n invalidate current session and after that, redirect to start page to login\n */\n invalidateSession() {\n this.invalidateSession();\n },\n\n authenticate: function () {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\")); // let self = this;\n // let flag = 0;\n // let controller = this.get('controller');\n // // this.set('errorMessage', null);\n // if(isEmpty(controller.get('identification'))) {\n // \tcontroller.set('errorMessage', 'Email must be filled');\n // \tflag++;\n // \treturn;\n // }\n // if(isEmpty(controller.get('password'))) {\n // \tcontroller.set('errorMessage', 'Password must be filled');\n // \tflag++;\n // \treturn;\n // }\n // if(flag === 0) {\n // \t// controller.set('errorMessage', null);\n // \t// const { identification, password } = controller.getProperties('identification', 'password');\n // \t// this.get('authObject').authenticate('authenticator:oauth2', identification.toLowerCase().trim(), password).then((result) => {\n // \t// \tself.setSession();\n // \t// }).catch((reason) => {\n // \t// \tif (self.get('authObject.session.isAuthenticated')) {\n // \t// \t\tself.setSession();\n // \t// \t}\n // \t// \telse {\n // \t// \tcontroller.set('errorMessage', reason.error || reason);\n // \t// \t}\n // \t// });\n // \t$('#loading-login').show();\n // \tthis.checkUser(controller.get('identification'), controller.get('password'));\n // }\n },\n\n gotoRegistered() {\n //cannot use transitionTo because it wont load the map\n if (this.get('authObject.data.user')) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/disclaimerstmap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\"));\n }\n },\n\n gotoPublic() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/disclaimermap\"));\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start\"));\n },\n\n conditionsOfUse() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/conditions-of-use\"));\n },\n\n privacyPolicy() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/privacy-policy\"));\n },\n\n disclaimer() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/disclaimer\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/start\", [\"exports\", \"jquery\", \"web-map/mixins/w3o-users-roles/invalidate-session\", \"axios\", \"web-map/utils/get-cookie\"], function (_exports, _jquery, _invalidateSession, _axios, _getCookie) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n // import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin';\n // import CheckUserRole from '../mixins/w3o-users-roles/check-user-role';\n // import CheckSessionActivity from '../mixins/w3o-users-roles/check-session-activity';\n // import SetSessionUser from '../mixins/w3o-users-roles/set-session-user';\n // importing 3 3rd party libraries\n //export default Route.extend(ApplicationRouteMixin, CheckUserRole, InvalidateSession, CheckSessionActivity, SetSessionUser, {\n var _default = Ember.Route.extend(_invalidateSession.default, {\n authObject: Ember.inject.service('session'),\n // actionList: null,\n renderFlag: true,\n\n //session ganti nama jadi authObject\n async beforeModel() {\n if ((0, _getCookie.default)('isMobile') === \"Yes\") {\n //window.location.replace(`${this.store.adapterFor('application').get('host')}/momap`);\n this.transitionTo('momap');\n }\n\n if (this.get('authObject.data.user')) {\n if (this.get('authObject.data.user.status') !== 'Active') {\n return this.get('authObject').invalidate();\n } // if (this.get('authObject.data.user.authEnable') && !this.get('authObject.data.isAuth')) {\n // \tthis.transitionTo('authenticate');\n // }\n\n } // if (this.session.get('isAuthenticated')) {\n // \tthis.transitionTo('start');\n // }\n\n\n if (this.get('authObject.data.authenticated.user')) {\n this._super(...arguments);\n }\n },\n\n async model() {// if (this.get('authObject.data.user')) {\n // \tlet response = await this.setSessionUser();\n // \tif (response) {\n // \t\tlet euser = await this.store.queryRecord('euser', { user: this.get('authObject.data.user.id') });\n // \t\tlet companyId = euser ? euser.get('companynum.content.id') : null;\n // \t\t$.ajax({\n // \t\t\turl: '/api/v1/applications/getApplications',\n // \t\t\ttype: 'POST',\n // \t\t\tdata: {\n // \t\t\t\tuserId: this.get('authObject.data.user.id'),\n // \t\t\t\tcompanyId\n // \t\t\t}\n // \t\t}).then((response) => {\n // \t\t\tthis.controller.set('loading', false);\n // \t\t\treturn this.controller.set('model', response.applications);\n // \t\t});\n // \t}\n // }\n },\n\n setupController: function (controller) {\n controller.set('session', this.get('authObject.session'));\n controller.set('loading', true); // console.log(this.get('authObject'));\n\n if (this.get('authObject.isAuthenticated')) {\n controller.set('authObject', this.get('authObject'));\n controller.set('geolink', '/stmap');\n } else {\n controller.set('geolink', '/map');\n }\n\n controller.set('mapLink', this.store.adapterFor('application').get('ecomHost')); //Set variables for nav bar\n\n this.controllerFor('application').set('appID', null);\n this.controllerFor('application').set('menus', null);\n Ember.run.schedule('afterRender', () => {\n (0, _jquery.default)('.owl-carousel').owlCarousel({\n loop: true,\n margin: 10,\n nav: true,\n navText: [\"\", \"\"],\n responsive: {\n 0: {\n items: 1\n },\n 768: {\n items: 4\n }\n }\n });\n });\n },\n\n renderTemplate() {\n this._super();\n },\n\n actions: {\n /*\n Transition to route\n */\n goTo(app) {\n if (app.isExternalLink) {\n if (app.routeName.indexOf('http') > -1) {\n window.location.assign(app.routeName);\n } else {\n window.location.assign('http://' + app.routeName);\n }\n } else if (app.appId) {\n this.transitionTo(app.routeName, app.appId);\n } else {\n this.transitionTo(app.routeName);\n }\n },\n\n // setSession() {\n // \tthis.setSession();\n // },\n\n /*\n invalidate current session and after that, redirect to start page to login\n */\n invalidateSession() {\n this.invalidateSession();\n },\n\n authenticate: function () {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\")); // let self = this;\n // let flag = 0;\n // let controller = this.get('controller');\n // // this.set('errorMessage', null);\n // if(isEmpty(controller.get('identification'))) {\n // \tcontroller.set('errorMessage', 'Email must be filled');\n // \tflag++;\n // \treturn;\n // }\n // if(isEmpty(controller.get('password'))) {\n // \tcontroller.set('errorMessage', 'Password must be filled');\n // \tflag++;\n // \treturn;\n // }\n // if(flag === 0) {\n // \t// controller.set('errorMessage', null);\n // \t// const { identification, password } = controller.getProperties('identification', 'password');\n // \t// this.get('authObject').authenticate('authenticator:oauth2', identification.toLowerCase().trim(), password).then((result) => {\n // \t// \tself.setSession();\n // \t// }).catch((reason) => {\n // \t// \tif (self.get('authObject.session.isAuthenticated')) {\n // \t// \t\tself.setSession();\n // \t// \t}\n // \t// \telse {\n // \t// \tcontroller.set('errorMessage', reason.error || reason);\n // \t// \t}\n // \t// });\n // \t$('#loading-login').show();\n // \tthis.checkUser(controller.get('identification'), controller.get('password'));\n // }\n },\n\n gotoRegistered() {\n //cannot use transitionTo because it wont load the map\n if (this.get('authObject.data.user')) {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/disclaimerstmap\"));\n } else {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/login\"));\n }\n },\n\n gotoPublic() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/disclaimermap\"));\n },\n\n gotoHome() {\n //cannot use transitionTo because it wont load the map\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('host'), \"/start\"));\n },\n\n conditionsOfUse() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('hostSurvey'), \"/conditions-of-use\"));\n },\n\n privacyPolicy() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('hostSurvey'), \"/privacy-policy\"));\n },\n\n disclaimer() {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('hostSurvey'), \"/disclaimer\"));\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/stmap\", [\"exports\", \"ember-simple-auth/mixins/authenticated-route-mixin\", \"web-map/mixins/w3o-users-roles/check-user-role\", \"ol\", \"ol/layer/Tile\", \"ol/source/OSM\"], function (_exports, _authenticatedRouteMixin, _checkUserRole, _ol, _Tile, _OSM) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n /* import 'ol/ol.css'; */\n var _default = Ember.Route.extend(_authenticatedRouteMixin.default, _checkUserRole.default, {\n init() {\n this._super(...arguments);\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/routes/under-construction\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Route.extend({});\n\n _exports.default = _default;\n});","define(\"web-map/services/ajax\", [\"exports\", \"ember-ajax/services/ajax\"], function (_exports, _ajax) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ajax.default;\n }\n });\n});","define(\"web-map/services/cookies\", [\"exports\", \"ember-cookies/services/cookies\"], function (_exports, _cookies) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _cookies.default;\n _exports.default = _default;\n});","define(\"web-map/services/in-viewport\", [\"exports\", \"ember-in-viewport/services/in-viewport\"], function (_exports, _inViewport) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _inViewport.default;\n }\n });\n});","define(\"web-map/services/media\", [\"exports\", \"ember-responsive/services/media\"], function (_exports, _media) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _media.default;\n _exports.default = _default;\n});","define(\"web-map/services/ol-geopservice\", [\"exports\", \"axios\", \"ol/Observable\", \"ol/Overlay.js\", \"ol\", \"ol/layer/Tile\", \"ol/source/OSM\", \"ol/Feature\", \"ol/geom/Point\", \"ol/geom\", \"ol/sphere\", \"ol/source\", \"ol/format\", \"ol/format/GML2\", \"ol/format/GML3\", \"ol/format/GML32\", \"ol/loadingstrategy\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/style.js\", \"ol/source/Stamen.js\", \"ol/layer.js\", \"ol/source/TileJSON.js\", \"ol/control.js\", \"ol/interaction.js\", \"ol/format/WKT.js\", \"ol/control/MousePosition.js\", \"ol/coordinate.js\", \"ol/proj.js\", \"proj4\", \"ol/proj/proj4.js\", \"ol/extent.js\", \"ol/source/Image\", \"ol/layer/Image\", \"ol/source/ImageWMS\", \"ol/tilegrid/WMTS\", \"ol/format/WMTSCapabilities\", \"ol/source/WMTS\", \"ol/size\", \"jquery\", \"web-map/config/environment\"], function (_exports, _axios, _Observable, _Overlay, _ol, _Tile, _OSM, _Feature, _Point, _geom, _sphere, _source, _format, _GML, _GML2, _GML3, _loadingstrategy, _Vector, _Vector2, _style, _Stamen, _layer, _TileJSON, _control, _interaction, _WKT, _MousePosition, _coordinate, proj, _proj2, _proj3, _extent, _Image, _Image2, _ImageWMS, _WMTS, _WMTSCapabilities, _WMTS2, olSize, _jquery, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n //import Polygon from 'ol/geom/Polygon';\n var _default = Ember.Service.extend({\n store: Ember.inject.service(),\n map: null,\n layers: null,\n initialExtent: null,\n initActiveLayers: null,\n defaultProjection: null,\n defaultCenter: null,\n rsoCenter: null,\n wgs84Center: null,\n initLayersG: null,\n initLayersTRSO: null,\n initLayersWRSO: null,\n initLayersRSODigital: null,\n vectorSource: null,\n featureVectorSource: null,\n vectorLayer: null,\n featureVectorLayer: null,\n testCoordinates: null,\n firstLoaded: false,\n // flag to indicate first time loaded by browser\n isLoading: false,\n // flag to indicate service is loading data for popup\n measureSource: null,\n // measuring tool array to store measuresource\n measureVectorLayer: null,\n // measuring tool array to store measurevectorlayer\n measureOutOverlay: null,\n\n // measuring tool array to store measureoutputoverlay\n\n /**\n * init() now basically doing nothing\n */\n init() {\n //console.log('ol geop service initialized');\n this._super(...arguments);\n },\n\n /**\n * moved the code from init to promiseInit, because need to wait the returned data from API\n * default to Public (roleid = 1) if no parameter pass in\n */\n async promiseInitRSODigital(is_internal = false, srs_init = '5247', layer_appid = \"rso_digital\") {\n //console.log('ol geop service init RSO Digital layers');\n if (!this.cachedMaps) {\n Ember.set(this, 'cachedMaps', {});\n }\n\n this._super(...arguments);\n\n _proj2.default.defs(\"EPSG:29873\", \"+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +units=m +no_defs\");\n\n _proj2.default.defs(\"EPSG:5247\", \"+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_off +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs\");\n\n _proj2.default.defs(\"EPSG:32650\", \"+proj=utm +zone=50 +datum=WGS84 +units=m +no_defs\");\n\n _proj2.default.defs('EPSG:4326', \"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\");\n\n (0, _proj3.register)(_proj2.default);\n const wgs84Projection = (0, proj.get)('EPSG:4326');\n const gdbd2009Projection = (0, proj.get)('EPSG:5247');\n const gdbd2009Center = (0, proj.transform)([114.7277, 4.5353], 'EPSG:4326', 'EPSG:5247'); //console.log('Projection test gdbd2009 114.7277, 4.5353 : ' + gdbd2009Center);\n //console.log('Projection test gdbd2009 115, 4 : ' + projTransform([115, 4], 'EPSG:4326', 'EPSG:5247'));\n\n const rsotimbalaiProjection = (0, proj.get)('EPSG:29873');\n const rsotimbalaiCenter = (0, proj.transform)([114.7277, 4.5353], 'EPSG:4326', 'EPSG:29873'); //console.log('Projection test rso timbalai 114.7277, 4.5353 : ' + rsotimbalaiCenter);\n //console.log('Projection test rso timbalai 115, 4 : ' + projTransform([115, 4], 'EPSG:4326', 'EPSG:29873'));\n\n this.set('defaultProjection', gdbd2009Projection);\n this.set('defaultCenter', gdbd2009Center);\n this.set('wgs84Center', [114.7277, 4.5353]);\n this.set('rsoCenter', rsotimbalaiCenter); //to deep clean up javascript object\n\n function emptyObject(objRef) {\n for (var key in objRef) {\n if (objRef.hasOwnProperty(key)) {\n delete objRef[key];\n }\n }\n }\n\n let api_endpoint = layer_appid === 'rso_digital' ? 'layersetuprsos' : 'layersetupgdts'; //getting all the layers from database \n\n let url_layersetup = this.store.adapterFor('application').get('gpserverHost') + this.store.adapterFor('application').get('namespace') + \"/\".concat(api_endpoint, \"/getLayerSetup\");\n let response = await _axios.default.post(url_layersetup, {\n \"appid\": layer_appid\n }).catch(error => {\n console.log(\"An error occured while loading map layers, \".concat(error)); //alert(`An error occured while loading map layers, ${error}`);\n }); // console.log(response);\n //to deep clone the javascript object (jquery)\n\n let results = _jquery.default.extend(true, {}, response); //console.log(results);\n\n\n let layers1 = [];\n let projections = ['EPSG:5247', 'EPSG:29873', 'EPSG:4326'];\n let layer_arr = [];\n let layergroup_arr = [];\n let layergroup_objarr = {};\n /**\n * to loop by projections, and create 3 sets of layers with different projection\n */\n\n projections.forEach((proj, i) => {\n results.data.layers_result.forEach(layer => {\n let layer_obj = _jquery.default.extend(true, {}, layer);\n\n let layer_source_obj = _jquery.default.extend(true, {}, layer.source);\n\n if (layer_obj.layer_type === 'image') {\n // delete layer_obj.layer_type;\n delete layer_obj.source; // console.log(proj);\n\n let meter_per_unit;\n layer_source_obj.projection = {};\n\n if (proj === 'EPSG:5247') {\n layer_source_obj.projection = gdbd2009Projection; // unit = gdbd2009Projection.getUnits();\n\n meter_per_unit = gdbd2009Projection.getMetersPerUnit(); // console.log('gdbd unit');\n // console.log(unit);\n // console.log(meter_per_unit);\n } else if (proj === 'EPSG:29873') {\n layer_source_obj.projection = rsotimbalaiProjection; // unit = rsotimbalaiProjection.getUnits();\n\n meter_per_unit = rsotimbalaiProjection.getMetersPerUnit(); // console.log('rso unit');\n // console.log(unit);\n // console.log(meter_per_unit);\n } else if (proj === 'EPSG:4326') {\n layer_source_obj.projection = wgs84Projection; // unit = wgs84Projection.getUnits();\n\n meter_per_unit = wgs84Projection.getMetersPerUnit(); // console.log('wgs unit');\n // console.log(unit);\n // console.log(meter_per_unit);\n }\n\n const inchesPerMetre = 39.37;\n const dpi = 96;\n\n if (layer_obj.minScale && layer_obj.maxScale) {\n layer_obj.minResolution = layer_obj.minScale / (meter_per_unit * inchesPerMetre * dpi);\n layer_obj.maxResolution = layer_obj.maxScale / (meter_per_unit * inchesPerMetre * dpi);\n }\n\n layer_obj.visiType = ''; //console.log('layer_obj.group_name: ' +layer_obj.group_name);\n\n if (typeof layer_obj.group_name == 'undefined' || layer_obj.group_name == null || layer_obj.group_name === '') {\n layer_obj.source = new _ImageWMS.default(layer_source_obj);\n layer_arr.push(new _Image2.default(layer_obj)); //console.log('Not inside a layer group'); \n } else {\n if (Boolean(layergroup_objarr[layer_obj.group_name])) {} else {\n layergroup_objarr[layer_obj.group_name] = [];\n }\n\n layer_obj.source = new _ImageWMS.default(layer_source_obj);\n layergroup_objarr[layer_obj.group_name].push(new _Image2.default(layer_obj)); //console.log('Debug iterating layer group');\n //console.log(layergroup_objarr[layer_obj.group_name]);\n\n if (layer_obj.group_seq === 'end') {\n let lg11 = new _layer.Group({\n title: layer_obj.group_name,\n visible: true,\n visiType: '',\n layers: layergroup_objarr[layer_obj.group_name]\n });\n layer_arr.push(lg11);\n layergroup_objarr[layer_obj.group_name] = [];\n }\n }\n /* new LayerGroup({\n title: 'Layer group',\n layers: [\n vector\n ]\n }) */\n\n\n emptyObject(layer_source_obj);\n emptyObject(layer_obj);\n } else if (layer_obj.layer_type === 'tile') {\n delete layer_obj.source; //console.log('layer_obj.group_name: ' +layer_obj.group_name);\n //console.log(layer.source);\n\n if (typeof layer_obj.group_name == 'undefined' || layer_obj.group_name == null || layer_obj.group_name === '') {\n layer_obj.source = new _OSM.default(layer.source); //new TileLayer(layer_obj);\n\n layer_arr.push(new _Tile.default(layer_obj)); //console.log('Not inside a layer group');\n } else {\n if (Boolean(layergroup_objarr[layer_obj.group_name])) {} else {\n layergroup_objarr[layer_obj.group_name] = [];\n } //console.log('Check layer_obj');\n //console.log(layer_obj); \n\n\n let osm_source = '';\n\n if (layer_obj.title == 'Google Map (GDBD2009)') {\n let extent11 = [298469.22, 443468.67, 630678.53, 698468.74];\n gdbd2009Projection.setExtent(extent11); //console.log('projection');\n //console.log(gdbd2009Projection);\n\n let projectionExtent = gdbd2009Projection.getExtent(); //console.log(projectionExtent);\n\n let size = 5700; // size here is actually start resolution\n //console.log(getWidth(projectionExtent));\n //console.log(size);\n\n let resolutions = new Array(20);\n let matrixIds = new Array(20);\n\n for (let z = 0; z < 20; ++z) {\n // generate resolutions and matrixIds arrays for this WMTS\n resolutions[z] = size / Math.pow(2, z);\n matrixIds[z] = z;\n } //console.log(resolutions);\n //console.log(matrixIds);\n // NOTE: dynamic config of WMTS require the URL to the WMTS service, the starting resolution \"5700\", \n // the number of zoom levels \"20\", the projection extent, the SRS\n // tileSize is not important, \n\n\n layer_obj.source = new _WMTS2.default({\n url: \"http://gp2gmap.w3o.io/wmts/gm/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\",\n layer: 'gm',\n matrixSet: 'gdbd',\n format: 'image/png',\n //projection: gdbd2009Projection,\n tileGrid: new _WMTS.default({\n origin: (0, _extent.getTopLeft)(projectionExtent),\n resolutions: resolutions,\n matrixIds: matrixIds\n }),\n style: 'default',\n wrapX: false,\n requestEncoding: \"REST\"\n });\n layergroup_objarr[layer_obj.group_name].push(new _Tile.default(layer_obj));\n } else if (layer_obj.title == 'OpenStreetMap (GDBD2009)') {\n let extent11 = [298469.22, 443468.67, 630678.53, 698468.74];\n gdbd2009Projection.setExtent(extent11); //console.log('projection');\n //console.log(gdbd2009Projection);\n\n let projectionExtent = gdbd2009Projection.getExtent(); //console.log(projectionExtent);\n //looks like this size formula to get resolutions is not correct\n //let size = getWidth(projectionExtent) / 256;\n\n let size = 5700; // size here is actually start resolution\n //console.log(getWidth(projectionExtent));\n //console.log(size);\n\n let resolutions = new Array(20);\n let matrixIds = new Array(20);\n\n for (let z = 0; z < 20; ++z) {\n // generate resolutions and matrixIds arrays for this WMTS\n resolutions[z] = size / Math.pow(2, z);\n matrixIds[z] = z;\n } //console.log(resolutions);\n //console.log(matrixIds);\n // NOTE: dynamic config of WMTS require the URL to the WMTS service, the starting resolution \"5700\", \n // the number of zoom levels \"20\", the projection extent, the SRS\n // tileSize is not important, \n\n\n layer_obj.source = new _WMTS2.default({\n url: \"http://gp2mp2.w3o.io/wmts/osm/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\",\n layer: 'osm',\n matrixSet: 'gdbd',\n format: 'image/png',\n //projection: gdbd2009Projection,\n tileGrid: new _WMTS.default({\n origin: (0, _extent.getTopLeft)(projectionExtent),\n resolutions: resolutions,\n matrixIds: matrixIds\n }),\n style: 'default',\n wrapX: false,\n requestEncoding: \"REST\"\n });\n layergroup_objarr[layer_obj.group_name].push(new _Tile.default(layer_obj));\n } else {\n osm_source = layer.source;\n layer_obj.source = new _OSM.default(osm_source);\n layergroup_objarr[layer_obj.group_name].push(new _Tile.default(layer_obj));\n } //console.log('Debug iterating layer group');\n\n\n if (layer_obj.group_seq === 'end') {\n let lg11 = new _layer.Group({\n title: layer_obj.group_name,\n layers: layergroup_objarr[layer_obj.group_name]\n });\n layer_arr.push(lg11);\n layergroup_objarr[layer_obj.group_name] = [];\n }\n }\n\n emptyObject(layer_obj);\n }\n });\n\n if (proj === 'EPSG:5247') {\n this.set('initLayersRSODigital', layer_arr);\n } else if (proj === 'EPSG:29873') {\n this.set('initLayersTRSO', layer_arr);\n } else if (proj === 'EPSG:4326') {\n this.set('initLayersWRSO', layer_arr);\n }\n\n layer_arr = [];\n layergroup_objarr = {};\n }); //console.log(this.get('initLayersG'));\n //console.log(this.get('initLayersTRSO'));\n //console.log(this.get('initLayersRSODigital'));\n //console.log('finally!!!!!!');\n //TODO\n\n if (srs_init === '5247') {\n this.set('defaultProjection', gdbd2009Projection);\n this.set('defaultCenter', gdbd2009Center);\n this.set('initActiveLayers', this.get('initLayersRSODigital'));\n } else if (srs_init === '29873') {\n this.set('defaultProjection', rsotimbalaiProjection);\n this.set('defaultCenter', rsotimbalaiCenter);\n this.set('initActiveLayers', this.get('initLayersTRSO'));\n } else if (srs_init === '4326') {\n this.set('defaultProjection', wgs84Projection);\n this.set('defaultCenter', [114.7277, 4.5353]);\n this.set('initActiveLayers', this.get('initLayersWRSO'));\n }\n },\n\n _setProjection(code, name, proj4def, bbox) {\n //console.log(\"Inside ol-geopservice set projection = \" + code);\n //console.log(\"Inside ol-geopservice set projection = \" + name);\n //console.log(proj4def);\n //console.log(bbox);\n let map = this.get('map');\n\n if (code === null || name === null || proj4def === null || bbox === null) {\n map.setView(new _ol.View({\n projection: 'EPSG:3857',\n center: [0, 0],\n zoom: 1\n }));\n return 0;\n }\n\n var newProjCode = 'EPSG:' + code;\n\n _proj2.default.defs(newProjCode, proj4def);\n\n (0, _proj3.register)(_proj2.default);\n var newProj = (0, proj.get)(newProjCode);\n var fromLonLat = (0, proj.getTransform)('EPSG:4326', newProj); // very approximate calculation of projection extent\n\n var extent = (0, _extent.applyTransform)([bbox[1], bbox[2], bbox[3], bbox[0]], fromLonLat); //console.log(extent);\n\n newProj.setExtent(extent); //console.log(newProj);\n\n let newView = new _ol.View({\n projection: newProj\n }); //console.log(map.getView().getProjection());\n\n /* let clayer1 = map.getLayers();\n clayer1.forEach(layer => {\n console.log(layer);\n map.removeLayer(layer);\n });*/\n // wrong way as map rebuild layer index after each removal\n\n map.setView(newView); //newView.fit(extent);\n // if (code == '29873') {\n // newView.setCenter(this.get('rsoCenter'));\n // newView.setZoom(5);\n // } else if (code == '5247') {\n // newView.setCenter(this.get('defaultCenter'));\n // newView.setZoom(3);\n // }\n\n if (code == '4326') {\n newView.setCenter(this.get('wgs84Center'));\n newView.setZoom(10);\n } else if (code == '29873') {\n newView.setCenter(this.get('rsoCenter'));\n newView.setZoom(5);\n } else if (code == '5247') {\n newView.setCenter(this.get('defaultCenter'));\n newView.setZoom(3);\n }\n /* newView.fit(extent, map.getSize(), {\n constrainResolution: false\n }); */\n\n\n return 1;\n },\n\n searchEPSG(self, query) {\n //console.log(\"Inside ol-geopservice srs query = \" + query);\n fetch('https://epsg.io/?format=json&q=' + query).then(function (response) {\n return response.json();\n }).then(function (json) {\n var results = json['results']; //console.log(\"Inside ol-geopservice srs query result = \" + results);\n\n if (results && results.length > 0) {\n for (var i = 0, ii = results.length; i < ii; i++) {\n var result = results[i];\n\n if (result) {\n var code = result['code'];\n var name = result['name'];\n var proj4def = result['proj4'];\n var bbox = result['bbox'];\n\n if (code && code.length > 0 && proj4def && proj4def.length > 0 && bbox && bbox.length == 4) {\n let abc = self._setProjection(code, name, proj4def, bbox);\n\n return;\n }\n }\n }\n }\n\n let abc = this._setProjection(null, null, null, null);\n });\n },\n\n calcMapScale(map, dpi) {\n var unit = map.getView().getProjection().getUnits();\n var resolution = map.getView().getResolution();\n var inchesPerMetre = 39.37;\n return resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi;\n },\n\n debugMapScale() {\n let map = this.get('map');\n var extent = map.getView().calculateExtent(map.getSize());\n var bottomLeft = (0, proj.toLonLat)((0, _extent.getBottomLeft)(extent));\n var topRight = (0, proj.toLonLat)((0, _extent.getTopRight)(extent));\n var res1 = map.getView().getResolution();\n var zoom = map.getView().getZoom(); //var dpi = 25.4 / 0.28;\n\n var dpi = 96;\n var cScale = this.calcMapScale(map, dpi);\n var units = map.getView().getProjection().getUnits();\n var mpu = proj.METERS_PER_UNIT[units];\n var res = cScale / (mpu * 39.37 * dpi); //console.log(\"Map resolution = \" + res1);\n //console.log(\"Map zoom = \" + zoom);\n //console.log(\"Map units = \" + units);\n //console.log(\"Map mpu = \" + mpu);\n //console.log(\"Map calc res = \" + res);\n //console.log(\"Map calc scale = \" + cScale);\n },\n\n _calcMapResolution(map, scaleVal, dpiVal) {\n var units = map.getView().getProjection().getUnits();\n var mpu = proj.METERS_PER_UNIT[units];\n var res = scaleVal / (mpu * 39.37 * dpiVal);\n return res;\n },\n\n changeMapScale(self, scvalue) {\n let map = this.get('map');\n\n let res1 = self._calcMapResolution(map, scvalue, 96); //console.log(\"Scale Input the resolution = \" + res1);\n\n\n let view1 = map.getView();\n view1.setResolution(res1);\n },\n\n getInitLayers(code) {\n let res1 = null;\n\n if (code == '5247') {\n res1 = this.get('initLayersRSODigital');\n } else if (code == '29873') {\n res1 = this.get('initLayersTRSO');\n } else {\n res1 = this.get('initLayersWRSO');\n }\n\n return res1;\n },\n\n getOlayers(map) {\n const store = this.get('store'); //console.log('ol-geopservice getOlayers...'); \n // this is likely the cause of the error - cannot fetch layers inside LG\n //console.log(map.getLayers().getArray().concat());\n\n const layers = map.getLayers().getArray().concat().reverse().map(function (layer) {\n if (layer.getLayers) {\n let layerC = store.createRecord('ol-layer', {\n layer\n });\n const layersArray = layer.getLayers().getArray();\n const layersCArr = layersArray.map(layer => store.createRecord('ol-layer', {\n layer\n })); //const layersCArr = [];\n\n let compositeLayer = layerC;\n compositeLayer.group_array = layersCArr; //compositeLayer.group_class = layerC;\n //return {group_class: layerC, group_array: layersCArr};\n\n return compositeLayer;\n } else {\n return store.createRecord('ol-layer', {\n layer\n });\n }\n }); //console.log('ol-geopservice getOlayers... after process by...');\n //console.log(layers);\n\n this.set('layers', layers);\n return layers;\n },\n\n clearSearchResults() {\n //console.log('Clear Search Results');\n const map = this.get('map');\n let layers1 = map.getLayers();\n layers1.forEach(element => {//console.log(element);\n //console.log(element.getProperties());\n //console.log(element.get('title'));\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/services/ol-mapservice\", [\"exports\", \"axios\", \"ol/Observable\", \"ol/Overlay.js\", \"ol\", \"ol/layer/Tile\", \"ol/source/OSM\", \"ol/Feature\", \"ol/geom/Point\", \"ol/geom\", \"ol/sphere\", \"ol/source\", \"ol/format\", \"ol/format/GML2\", \"ol/format/GML3\", \"ol/format/GML32\", \"ol/loadingstrategy\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/style.js\", \"ol/source/Stamen.js\", \"ol/layer.js\", \"ol/source/TileJSON.js\", \"ol/control.js\", \"ol/interaction.js\", \"ol/format/WKT.js\", \"ol/control/MousePosition.js\", \"ol/coordinate.js\", \"ol/proj.js\", \"proj4\", \"ol/proj/proj4.js\", \"ol/extent.js\", \"ol/source/Image\", \"ol/layer/Image\", \"ol/source/ImageWMS\", \"ol/tilegrid/WMTS\", \"ol/format/WMTSCapabilities\", \"ol/source/WMTS\", \"ol/size\", \"jquery\", \"web-map/config/environment\"], function (_exports, _axios, _Observable, _Overlay, _ol, _Tile, _OSM, _Feature, _Point, _geom, _sphere, _source, _format, _GML, _GML2, _GML3, _loadingstrategy, _Vector, _Vector2, _style, _Stamen, _layer, _TileJSON, _control, _interaction, _WKT, _MousePosition, _coordinate, proj, _proj2, _proj3, _extent, _Image, _Image2, _ImageWMS, _WMTS, _WMTSCapabilities, _WMTS2, olSize, _jquery, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n //import Polygon from 'ol/geom/Polygon';\n var _default = Ember.Service.extend({\n authObject: Ember.inject.service('session'),\n store: Ember.inject.service(),\n map: null,\n layers: null,\n initialExtent: null,\n initActiveLayers: null,\n defaultProjection: null,\n defaultCenter: null,\n wgs84Center: null,\n rsoCenter: null,\n initLayersG: null,\n initLayersT: null,\n initLayersW: null,\n vectorSource: null,\n featureVectorSource: null,\n vectorLayer: null,\n featureVectorLayer: null,\n testCoordinates: null,\n firstLoaded: false,\n // flag to indicate first time loaded by browser\n isLoading: false,\n // flag to indicate service is loading data for popup\n pointsArrayDab: null,\n // for app builder dashboard\n measureSource: null,\n // measuring tool array to store measuresource\n measureVectorLayer: null,\n // measuring tool array to store measurevectorlayer\n measureOutOverlay: null,\n // measuring tool array to store measureoutputoverlay\n isMobile: 'No',\n\n /**\n * init() now basically doing nothing\n */\n init() {\n // console.log('ol map service initialized');\n this._super(...arguments);\n },\n\n /**\n * moved the code from init to promiseInit, because need to wait the returned data from API\n * default to Public (roleid = 1) if no parameter pass in\n */\n async promiseInit(roleid = 1, srs_init = '5247', layer_appid = \"geoportal\") {\n // console.log('ol map service initialized');\n if (!this.cachedMaps) {\n Ember.set(this, 'cachedMaps', {});\n }\n\n this._super(...arguments); //// console.log(proj4);\n // setup projections, register the short form with proj4\n // GDBD2009 proj4 definition has an error +no_uoff should be change to +no_off\n //proj4.defs(\"EPSG:5247\",\"+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_uoff +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs\"); \n\n\n _proj2.default.defs(\"EPSG:29873\", \"+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +units=m +no_defs\");\n\n _proj2.default.defs(\"EPSG:5247\", \"+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_off +gamma=53.13010236111111 +ellps=GRS80 +units=m +no_defs\");\n\n _proj2.default.defs(\"EPSG:32650\", \"+proj=utm +zone=50 +datum=WGS84 +units=m +no_defs\");\n\n _proj2.default.defs('EPSG:4326', \"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\");\n\n (0, _proj3.register)(_proj2.default);\n const wgs84Projection = (0, proj.get)('EPSG:4326');\n const gdbd2009Projection = (0, proj.get)('EPSG:5247');\n const gdbd2009Center = (0, proj.transform)([114.7277, 4.5353], 'EPSG:4326', 'EPSG:5247'); // console.log('Projection test gdbd2009 114.7277, 4.5353 : ' + gdbd2009Center);\n // console.log('Projection test gdbd2009 115, 4 : ' + projTransform([115, 4], 'EPSG:4326', 'EPSG:5247'));\n\n const rsotimbalaiProjection = (0, proj.get)('EPSG:29873');\n const rsotimbalaiCenter = (0, proj.transform)([114.7277, 4.5353], 'EPSG:4326', 'EPSG:29873'); // console.log('Projection test rso timbalai 114.7277, 4.5353 : ' + rsotimbalaiCenter);\n // console.log('Projection test rso timbalai 115, 4 : ' + projTransform([115, 4], 'EPSG:4326', 'EPSG:29873'));\n\n this.set('defaultProjection', gdbd2009Projection);\n this.set('defaultCenter', gdbd2009Center);\n this.set('wgs84Center', [114.7277, 4.5353]);\n this.set('rsoCenter', rsotimbalaiCenter); //this.set('defaultProjection', rsotimbalaiProjection);\n //this.set('defaultCenter', rsotimbalaiCenter); \n\n /* const layers = [\n new TileLayer({\n title: 'OpenStreetMap',\n exclusive: true,\n source: new OSM({\n projection: rsotimbalaiProjection,\n ration: 1\n })\n }),\n new TileLayer({\n title: 'Stamen',\n exclusive: true,\n visible: false,\n source: new Stamen({\n layer: 'watercolor'\n })\n })\n ]; */\n //to deep clean up javascript object\n\n function emptyObject(objRef) {\n for (var key in objRef) {\n if (objRef.hasOwnProperty(key)) {\n delete objRef[key];\n }\n }\n } //getting all the layers from database \n\n\n let url_layersetup = this.store.adapterFor('application').get('gpserverHost') + this.store.adapterFor('application').get('namespace') + '/layersetupgroups/getLayerSetup';\n let response = await _axios.default.post(url_layersetup, {\n \"roleid\": roleid,\n \"appid\": layer_appid\n }).catch(error => {// console.log(`An error occured while loading map layers, ${error}`);\n //alert(`An error occured while loading map layers, ${error}`);\n }); // // console.log(response);\n //to deep clone the javascript object (jquery)\n\n let results = _jquery.default.extend(true, {}, response); //// console.log(results);\n\n\n let layers1 = [];\n let projections = ['EPSG:5247', 'EPSG:29873', 'EPSG:4326'];\n let layer_arr = [];\n let layergroup_arr = [];\n let layergroup_objarr = {};\n /**\n * to loop by projections, and create 3 sets of layers with different projection\n */\n\n projections.forEach((proj, i) => {\n results.data.layers_result.forEach(layer => {\n let layer_obj = _jquery.default.extend(true, {}, layer);\n\n let layer_source_obj = _jquery.default.extend(true, {}, layer.source);\n\n if (layer_obj.layer_type === 'image') {\n // delete layer_obj.layer_type;\n delete layer_obj.source; // // console.log(proj);\n\n let meter_per_unit;\n layer_source_obj.projection = {};\n\n if (proj === 'EPSG:5247') {\n layer_source_obj.projection = gdbd2009Projection; // unit = gdbd2009Projection.getUnits();\n\n meter_per_unit = gdbd2009Projection.getMetersPerUnit(); // // console.log('gdbd unit');\n // // console.log(unit);\n // // console.log(meter_per_unit);\n } else if (proj === 'EPSG:29873') {\n layer_source_obj.projection = rsotimbalaiProjection; // unit = rsotimbalaiProjection.getUnits();\n\n meter_per_unit = rsotimbalaiProjection.getMetersPerUnit(); // // console.log('rso unit');\n // // console.log(unit);\n // // console.log(meter_per_unit);\n } else if (proj === 'EPSG:4326') {\n layer_source_obj.projection = wgs84Projection; // unit = wgs84Projection.getUnits();\n\n meter_per_unit = wgs84Projection.getMetersPerUnit(); // // console.log('wgs unit');\n // // console.log(unit);\n // // console.log(meter_per_unit);\n }\n\n const inchesPerMetre = 39.37;\n const dpi = 96;\n\n if (layer_obj.minScale && layer_obj.maxScale) {\n layer_obj.minResolution = layer_obj.minScale / (meter_per_unit * inchesPerMetre * dpi);\n layer_obj.maxResolution = layer_obj.maxScale / (meter_per_unit * inchesPerMetre * dpi);\n }\n\n layer_obj.visiType = ''; //// console.log('layer_obj.group_name: ' +layer_obj.group_name);\n\n if (typeof layer_obj.group_name == 'undefined' || layer_obj.group_name == null || layer_obj.group_name === '') {\n layer_obj.source = new _ImageWMS.default(layer_source_obj);\n layer_arr.push(new _Image2.default(layer_obj)); //// console.log('Not inside a layer group'); \n } else {\n if (Boolean(layergroup_objarr[layer_obj.group_name])) {} else {\n layergroup_objarr[layer_obj.group_name] = [];\n }\n\n layer_obj.source = new _ImageWMS.default(layer_source_obj);\n layergroup_objarr[layer_obj.group_name].push(new _Image2.default(layer_obj)); //// console.log('Debug iterating layer group');\n //// console.log(layergroup_objarr[layer_obj.group_name]);\n\n if (layer_obj.group_seq === 'end') {\n let lg11 = new _layer.Group({\n title: layer_obj.group_name,\n visible: true,\n visiType: '',\n layers: layergroup_objarr[layer_obj.group_name]\n });\n layer_arr.push(lg11);\n layergroup_objarr[layer_obj.group_name] = [];\n }\n }\n /* new LayerGroup({\n title: 'Layer group',\n layers: [\n vector\n ]\n }) */\n\n\n emptyObject(layer_source_obj);\n emptyObject(layer_obj);\n } else if (layer_obj.layer_type === 'tile') {\n delete layer_obj.source; // console.log('layer_obj.group_name: ' +layer_obj.group_name);\n // console.log(layer.source);\n\n if (typeof layer_obj.group_name == 'undefined' || layer_obj.group_name == null || layer_obj.group_name === '') {\n layer_obj.source = new _OSM.default(layer.source); //new TileLayer(layer_obj);\n\n layer_arr.push(new _Tile.default(layer_obj)); //// console.log('Not inside a layer group');\n } else {\n if (Boolean(layergroup_objarr[layer_obj.group_name])) {} else {\n layergroup_objarr[layer_obj.group_name] = [];\n } // console.log('Check layer_obj');\n // console.log(layer_obj); \n\n\n let osm_source = '';\n\n if (layer_obj.title == 'Google Map (WGS84)') {\n osm_source = {\n url: 'https://mt{0-3}.google.com/vt/lyrs=y&x={x}&y={y}&z={z}'\n };\n layer_obj.source = new _OSM.default(osm_source);\n layergroup_objarr[layer_obj.group_name].push(new _Tile.default(layer_obj));\n } else if (layer_obj.title == 'Google Map (GDBD2009)') {\n let extent11 = [298469.22, 443468.67, 630678.53, 698468.74];\n gdbd2009Projection.setExtent(extent11); // console.log('projection');\n // console.log(gdbd2009Projection);\n\n let projectionExtent = gdbd2009Projection.getExtent(); // console.log(projectionExtent);\n\n let size = 5700; // size here is actually start resolution\n // console.log(getWidth(projectionExtent));\n // console.log(size);\n\n let resolutions = new Array(20);\n let matrixIds = new Array(20);\n\n for (let z = 0; z < 20; ++z) {\n // generate resolutions and matrixIds arrays for this WMTS\n resolutions[z] = size / Math.pow(2, z);\n matrixIds[z] = z;\n } // console.log(resolutions);\n // console.log(matrixIds);\n // NOTE: dynamic config of WMTS require the URL to the WMTS service, the starting resolution \"5700\", \n // the number of zoom levels \"20\", the projection extent, the SRS\n // tileSize is not important, \n\n\n layer_obj.source = new _WMTS2.default({\n url: \"https://gp2gmap.w3o.io/wmts/gm/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\",\n layer: 'gm',\n matrixSet: 'gdbd',\n format: 'image/png',\n //projection: gdbd2009Projection,\n tileGrid: new _WMTS.default({\n origin: (0, _extent.getTopLeft)(projectionExtent),\n resolutions: resolutions,\n matrixIds: matrixIds\n }),\n style: 'default',\n wrapX: false,\n requestEncoding: \"REST\"\n });\n layergroup_objarr[layer_obj.group_name].push(new _Tile.default(layer_obj));\n } else if (layer_obj.title == 'OpenStreetMap (GDBD2009)') {\n let extent11 = [298469.22, 443468.67, 630678.53, 698468.74];\n gdbd2009Projection.setExtent(extent11); // console.log('projection');\n // console.log(gdbd2009Projection);\n\n let projectionExtent = gdbd2009Projection.getExtent(); // console.log(projectionExtent);\n //looks like this size formula to get resolutions is not correct\n //let size = getWidth(projectionExtent) / 256;\n\n let size = 5700; // size here is actually start resolution\n // console.log(getWidth(projectionExtent));\n // console.log(size);\n\n let resolutions = new Array(20);\n let matrixIds = new Array(20);\n\n for (let z = 0; z < 20; ++z) {\n // generate resolutions and matrixIds arrays for this WMTS\n resolutions[z] = size / Math.pow(2, z);\n matrixIds[z] = z;\n } // console.log(resolutions);\n // console.log(matrixIds);\n // NOTE: dynamic config of WMTS require the URL to the WMTS service, the starting resolution \"5700\", \n // the number of zoom levels \"20\", the projection extent, the SRS\n // tileSize is not important, \n\n\n layer_obj.source = new _WMTS2.default({\n url: \"https://gp2mp2.w3o.io/wmts/osm/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png\",\n layer: 'osm',\n matrixSet: 'gdbd',\n format: 'image/png',\n //projection: gdbd2009Projection,\n tileGrid: new _WMTS.default({\n origin: (0, _extent.getTopLeft)(projectionExtent),\n resolutions: resolutions,\n matrixIds: matrixIds\n }),\n style: 'default',\n wrapX: false,\n requestEncoding: \"REST\"\n });\n /** This method of setting up WMTS layer by querying the WMTSCapabilities.xml is not suitable here \n * as the WMTS setup happened in a promise, that execute after certain objects (layer_obj) are emptied. \n * \n let parser = new WMTSCapabilities();\n fetch('http://gp2mp2.w3o.io/wmts/1.0.0/WMTSCapabilities.xml',{mode: 'cors'}).then(function(response) {\n return response.text();\n }).then(function(text) {\n let result = parser.read(text);\n // console.log('WMTS options from getcapabilities...');\n // console.log(text);\n // console.log(result);\n let options = optionsFromCapabilities(result, {\n layer: 'osm',\n matrixSet: 'gdbd'\n });\n // console.log(options);\n //delete options.projection;\n //delete options.tileGrid.tileSizes_;\n //options.tileGrid.resolutions = options.tileGrid.resolutions_;\n //options.tileGrid.matrixIds = options.tileGrid.matrixIds_;\n //options.tileGrid.origins = options.tileGrid.origins_;\n //options.url = options.urls[0];\n layer_obj.source = new WMTS(options);\n //layergroup_objarr[layer_obj.group_name].push(new TileLayer(layer_obj)); \n });\n */\n\n layergroup_objarr[layer_obj.group_name].push(new _Tile.default(layer_obj));\n } else {\n osm_source = layer.source;\n layer_obj.source = new _OSM.default(osm_source);\n layergroup_objarr[layer_obj.group_name].push(new _Tile.default(layer_obj));\n } //// console.log('Debug iterating layer group');\n\n\n if (layer_obj.group_seq === 'end') {\n let lg11 = new _layer.Group({\n title: layer_obj.group_name,\n layers: layergroup_objarr[layer_obj.group_name]\n });\n layer_arr.push(lg11);\n layergroup_objarr[layer_obj.group_name] = [];\n }\n }\n\n emptyObject(layer_obj);\n }\n });\n\n if (proj === 'EPSG:5247') {\n this.set('initLayersG', layer_arr);\n } else if (proj === 'EPSG:29873') {\n this.set('initLayersT', layer_arr);\n } else if (proj === 'EPSG:4326') {\n this.set('initLayersW', layer_arr);\n }\n\n layer_arr = [];\n layergroup_objarr = {};\n }); //// console.log(this.get('initLayersG'));\n //// console.log(this.get('initLayersT'));\n //// console.log(this.get('initLayersW'));\n //// console.log('finally!!!!!!');\n //TODO\n\n if (srs_init === '5247') {\n this.set('defaultProjection', gdbd2009Projection);\n this.set('defaultCenter', gdbd2009Center);\n this.set('initActiveLayers', this.get('initLayersG'));\n } else if (srs_init === '29873') {\n this.set('defaultProjection', rsotimbalaiProjection);\n this.set('defaultCenter', rsotimbalaiCenter);\n this.set('initActiveLayers', this.get('initLayersT'));\n } else if (srs_init === '4326') {\n this.set('defaultProjection', wgs84Projection);\n this.set('defaultCenter', [114.7277, 4.5353]);\n this.set('initActiveLayers', this.get('initLayersW'));\n }\n },\n\n _setProjection(code, name, proj4def, bbox) {\n // console.log(\"Inside ol-mapservice set projection = \" + code);\n // console.log(\"Inside ol-mapservice set projection = \" + name);\n // console.log(proj4def);\n // console.log(bbox);\n let map = this.get('map');\n\n if (code === null || name === null || proj4def === null || bbox === null) {\n map.setView(new _ol.View({\n projection: 'EPSG:3857',\n center: [0, 0],\n zoom: 1\n }));\n return 0;\n }\n\n var newProjCode = 'EPSG:' + code;\n\n _proj2.default.defs(newProjCode, proj4def);\n\n (0, _proj3.register)(_proj2.default);\n var newProj = (0, proj.get)(newProjCode);\n var fromLonLat = (0, proj.getTransform)('EPSG:4326', newProj); // very approximate calculation of projection extent\n\n var extent = (0, _extent.applyTransform)([bbox[1], bbox[2], bbox[3], bbox[0]], fromLonLat); // console.log(extent);\n\n newProj.setExtent(extent); // console.log(newProj);\n\n let newView = new _ol.View({\n projection: newProj\n }); // console.log(map.getView().getProjection());\n\n /* let clayer1 = map.getLayers();\n clayer1.forEach(layer => {\n console.log(layer);\n map.removeLayer(layer);\n });*/\n // wrong way as map rebuild layer index after each removal\n\n map.setView(newView); //newView.fit(extent);\n\n if (code == '4326') {\n newView.setCenter(this.get('wgs84Center'));\n newView.setZoom(10);\n } else if (code == '29873') {\n newView.setCenter(this.get('rsoCenter'));\n newView.setZoom(5);\n } else if (code == '5247') {\n newView.setCenter(this.get('defaultCenter'));\n newView.setZoom(3);\n }\n /* newView.fit(extent, map.getSize(), {\n constrainResolution: false\n }); */\n\n\n return 1;\n },\n\n searchEPSG(self, query) {\n // console.log(\"Inside ol-mapservice srs query = \" + query);\n fetch('https://epsg.io/?format=json&q=' + query).then(function (response) {\n return response.json();\n }).then(function (json) {\n var results = json['results']; // console.log(\"Inside ol-mapservice srs query result = \" + results);\n\n if (results && results.length > 0) {\n for (var i = 0, ii = results.length; i < ii; i++) {\n var result = results[i];\n\n if (result) {\n var code = result['code'];\n var name = result['name'];\n var proj4def = result['proj4'];\n var bbox = result['bbox'];\n\n if (code && code.length > 0 && proj4def && proj4def.length > 0 && bbox && bbox.length == 4) {\n let abc = self._setProjection(code, name, proj4def, bbox);\n\n return;\n }\n }\n }\n }\n\n let abc = this._setProjection(null, null, null, null);\n });\n },\n\n // 1 inch = 2.54 cm, 1 cm = 0.39 inch\n // according to css3 and css 2.1, browsers fix to 96 dpi\n // need to write detail comments on how we get scale from resolutions and dpi\n // need to code the scale and resolutions conversion values \n // base on the testing code below, the getResolution value and calc resolution value are the same, \n // it show that dpi value not relevant as calcScale dpi net off against calc res dpi and net off meters_per_unit , net off inches per meter\n // The resolution is the size of 1 pixel in map units. Let's say your map projection is EPSG:3857 whose unit is meters. \n // For example if the current resolution is 20000 m/px, this means that 1 px represents 20000m.\n // convert scale to resolution \n // scale = 10000 \n // res = 10000 / ( 1 * 39.37 * 96) = 2.645838625010583354500042333418\n // scale = 5000 \n // res = 5000 / ( 1 * 39.37 * 96) = 1.322919312505291677250021166709\n // scale = 2500 \n // res = 2500 / ( 1 * 39.37 * 96) = 0.6614596562526458386250105833545\n calcMapScale(map, dpi) {\n var unit = map.getView().getProjection().getUnits();\n var resolution = map.getView().getResolution();\n var inchesPerMetre = 39.37;\n return resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi;\n },\n\n debugMapScale() {\n let map = this.get('map');\n var extent = map.getView().calculateExtent(map.getSize());\n var bottomLeft = (0, proj.toLonLat)((0, _extent.getBottomLeft)(extent));\n var topRight = (0, proj.toLonLat)((0, _extent.getTopRight)(extent));\n var res1 = map.getView().getResolution();\n var zoom = map.getView().getZoom(); //var dpi = 25.4 / 0.28;\n\n var dpi = 96;\n var cScale = this.calcMapScale(map, dpi);\n var units = map.getView().getProjection().getUnits();\n var mpu = proj.METERS_PER_UNIT[units];\n var res = cScale / (mpu * 39.37 * dpi); // console.log(\"Map resolution = \" + res1);\n // console.log(\"Map zoom = \" + zoom);\n // console.log(\"Map units = \" + units);\n // console.log(\"Map mpu = \" + mpu);\n // console.log(\"Map calc res = \" + res);\n // console.log(\"Map calc scale = \" + cScale);\n },\n\n _calcMapResolution(map, scaleVal, dpiVal) {\n var units = map.getView().getProjection().getUnits();\n var mpu = proj.METERS_PER_UNIT[units];\n var res = scaleVal / (mpu * 39.37 * dpiVal);\n return res;\n },\n\n changeMapScale(self, scvalue) {\n let map = this.get('map');\n\n let res1 = self._calcMapResolution(map, scvalue, 96); // console.log(\"Scale Input the resolution = \" + res1);\n\n\n let view1 = map.getView();\n view1.setResolution(res1);\n },\n\n resetPointsArrayDab() {\n this.set('pointsArrayDab', null);\n },\n\n setPointsArrayDab(coord) {\n let parrdab = this.get('pointsArrayDab');\n\n if (parrdab == null) {\n parrdab = [];\n } else {\n parrdab.push(coord);\n }\n\n this.set('pointsArrayDab', parrdab); // console.log('hoichong setPointsArrayDab...');\n // console.log(this.get('pointsArrayDab'));\n },\n\n getPointsArrayDab() {\n return this.get('pointsArrayDab');\n },\n\n rePlotPointsDab(self) {\n let map = this.get('map'); // console.log('ol-map-panel call rePlotPointsDab...');\n // console.log('ol-map-panel' + map);\n\n let markerVectorLayer = this.get('vectorLayer'); // console.log('ol-map-panel' + markerVectorLayer);\n\n map.addLayer(markerVectorLayer);\n const vectorSource = this.get('vectorSource'); // console.log('ol-map-panel' + vectorSource);\n\n vectorSource.refresh();\n /* let parrdab = this.getPointsArrayDab();\n if (parrdab != null && typeof parrdab != 'undefined') {\n parrdab.map(coord => {\n this.plotOnePoint(map, coord);\n }); \n } */\n },\n\n zoomToCenter(marker) {\n let map = this.get('map');\n let currproj = map.getView().getProjection();\n let [lon, lat] = marker.reverse(); // console.log('ol-map-panel call zoomToCenter...');\n // console.log('ol-map-panel' + map);\n // console.log('ol-map-panel' + currproj);\n // console.log('ol-map-panel' + marker);\n\n map.setView(new _ol.View({\n projection: currproj,\n center: marker,\n zoom: 17\n }));\n },\n\n initVectorSource(map) {\n // coordinate is just an array of lon, lat\n const testMarker = (0, proj.transform)([114.867325, 4.901469], 'EPSG:4326', 'EPSG:29873'); //const testMarker = projTransform([114.912709, 4.959161], 'EPSG:4326', 'EPSG:29873');\n //// console.log('hoichong testMarker is : ' + testMarker);\n\n const marker = new _Feature.default({\n geometry: new _Point.default(testMarker) // Coordinates of a point in 0,0 or at Rimba\n\n }); //// console.log('hoichong marker is at: '+marker);\n\n var vectorSource = new _Vector2.default({\n features: [marker]\n });\n this.set('vectorSource', vectorSource);\n /*\n vectorSource.addFeature(moremarker); \n */\n\n let geojsonObject = {\n 'type': 'FeatureCollection',\n 'crs': {\n 'type': 'name',\n 'properties': {\n 'name': 'EPSG:29873'\n }\n },\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Polygon',\n 'coordinates': [[[579408.7605180747, 548938.8769024849], [579370.854808159, 548938.899177656], [579368.050886337, 548937.2240620262], [579368.3047903304, 548934.3189382957], [579367.4148947786, 548916.5328913837], [579370.7069234853, 548913.8207712442], [579406.4270153721, 548914.0410966236], [579408.7605180747, 548938.8769024849]]]\n }\n }]\n }; //// console.log(geojsonObject);\n\n /*let feGeoJson = new GeoJSON({\n dataProjection: 'EPSG:29873',\n featureProjection: 'EPSG:29873'\n }); */\n //// console.log(feGeoJson);\n //// console.log(feGeoJson.readProjection(geojsonObject));\n\n /* \n let feVectorSource = new VectorSource({\n features: feGeoJson.readFeatures(geojsonObject),\n useSpatialIndex: false\n });\n // console.log(feVectorSource); \n */\n\n var markerVectorLayer = new _Vector.default({\n title: 'Points',\n visible: false,\n zIndex: 100,\n source: vectorSource,\n style: new _style.Style({\n stroke: new _style.Stroke({\n color: 'rgba(255, 0, 0, 1.0)',\n width: 2\n })\n })\n });\n\n if (_environment.default.W3O_openlayers.deployment == 'RAD') {\n map.addLayer(markerVectorLayer); // add this vectorlayer so can plot points for gis app builder, comment this out for GP\n }\n\n this.set('vectorLayer', markerVectorLayer);\n var feVectorLayer = new _Vector.default({\n title: 'Features',\n visible: false,\n //source: feVectorSource,\n zIndex: 100,\n style: new _style.Style({\n stroke: new _style.Stroke({\n color: '#0000ff',\n width: 3\n }),\n fill: new _style.Fill({\n color: 'rgba(0, 0, 255, 0.2)'\n })\n })\n }); //map.addLayer(feVectorLayer);\n\n this.set('featureVectorLayer', feVectorLayer);\n },\n\n processGMLFromFeature(arrayFeatures) {\n // console.log(\"processGMLFromFeature Starting\");\n const map = this.get('map');\n let current_srs = map.getView().getProjection().getCode();\n let initOptions = {\n featureNS: \"http://www.opengis.net/gml\",\n featureType: \"featureMember\",\n srsName: current_srs\n };\n let gml3Object = new _GML3.default(initOptions); //let gml3Object = new GML3(initOptions); \n\n let gmlOptions = {\n dataProjection: current_srs,\n featureProjection: current_srs\n }; //// console.log(map);\n // console.log(current_srs);\n // console.log(gml3Object);\n // console.log(gmlOptions);\n\n let gmlString = gml3Object.writeFeatures(arrayFeatures, gmlOptions);\n return gmlString;\n },\n\n sort_by_key(array, key) {\n return array.sort(function (a, b) {\n var x = a[key];\n var y = b[key];\n return x < y ? -1 : x > y ? 1 : 0;\n });\n },\n\n drawPolygonByIndex(polyPoints) {\n // to be fixed and enhance further\n // polyPoints will be an array of objects, each object has 2 key value\n // index key is to indicate sequence of vertice/point in the polygon \n // coordinate key is the actual coordinate of the vertice/point, coordinate is X, Y\n const sortedPoints = this.sort_by_key(polyPoints, 'index');\n let pointsArray = []; // outer poly ring\n\n for (let i = 0; i < sortedPoints.length; i++) {\n pointsArray.push(sortedPoints[i].coordinate);\n }\n\n ;\n pointsArray.push(sortedPoints[0].coordinate); // final push to close the outer polygon (ring) \n // console.log('drawPolygonByIndex prepared pointsArray');\n // console.log(pointsArray);\n // prepare additional attributes for Feature object\n // the first point of the polygon will be used\n\n const lotnum = sortedPoints[0].attributes.lot_number;\n const bookcode = sortedPoints[0].attributes.book_code;\n const distcode = sortedPoints[0].attributes.distcode; // array of an array of polygon linear rings of an array of coordinate array, complete definition of polygon \n // most outer array is Polygon, first inner array is Outer poly ring, subsequent inner arrays are holes in the outer polygon\n // the most inner arrays are the coordinate array x,y \n\n let properPolyArray = [pointsArray];\n let poly1 = new _geom.Polygon(properPolyArray);\n let feature1 = new _Feature.default({\n geometry: poly1,\n LOTNUM: lotnum,\n BOOKCODE: bookcode,\n DISTCODE: distcode\n });\n let style1 = new _style.Style({\n //fill: new Fill({color: '#666666'}),\n stroke: new _style.Stroke({\n color: '#ffffff',\n width: 3\n })\n }); // console.log(poly1);\n // console.log(feature1);\n\n feature1.setStyle(style1);\n let vs1 = this.get('vectorSource');\n vs1.addFeature(feature1);\n vs1.refresh();\n return feature1;\n },\n\n drawPolygon(map, poly1) {// to be fixed and enhance further\n\n /* const f1 = new Feature({\n geometry: new Polygon([\n [\n [2, 2],\n [98, 2],\n [2, 98],\n [2, 2]\n ]\n ])\n })\n const source = new VectorSource({\n features: [\n f1\n ]\n })\n const sourceRecord = this.get('store').createRecord('ol-source-vector', {\n source\n })\n this.set('sourceRecord', sourceRecord)\n const vector = new VectorLayer({\n title: 'Vector',\n source: source\n }) */\n //map.getView().fit(vectorSource.getExtent());\n\n /* const draw = new Draw({ vectorSource, type: 'Point' });\n map.addInteraction(draw); */\n },\n\n plotManyPoints(map, markers) {\n // console.log('hoichong plotmanypoints markers param: ');\n // console.log(markers);\n const vectorSource = this.get('vectorSource'); // console.log(markers.popObject());\n // console.log(markers.popObject());\n\n markers.forEach(function (marker) {// console.log(\"Yeah\")\n });\n /*\n markers.forEach(function(marker) {\n // console.log(marker);\n let [lon, lat] = marker.reverse(); // marker permanently change by reverse\n //// console.log('hoichong lat is: '+lat);\n //// console.log('hoichong lon is: '+lon);\n const point3 = new Feature({\n geometry: new Point(marker),\n }); \n vectorSource.addFeature(point3);\n //// console.log('hoichong point3: ' + point3);\n vectorSource.refresh(); \n }); */\n },\n\n clearVectorSource() {\n const vectorSource = this.get('vectorSource');\n vectorSource.clear();\n },\n\n plotOnePoint(map, marker) {\n // console.log('hoichong marker param: ' + marker);\n let [lon, lat] = marker.reverse(); // marker permanently change by reverse\n // console.log('hoichong plotonepoint lat is: '+lat);\n // console.log('hoichong plotonepoint lon is: '+lon);\n // console.log('hoichong plotonepoint map param: ' + map);\n // console.log(marker);\n\n const point2 = new _Feature.default({\n geometry: new _Point.default(marker)\n });\n point2.setStyle(new _style.Style({\n image: new _style.Circle({\n radius: 7,\n //fill: new Fill({color: '#666666'}),\n stroke: new _style.Stroke({\n color: '#ff0000',\n width: 3\n })\n })\n }));\n const vectorSource = this.get('vectorSource');\n vectorSource.addFeature(point2); // console.log('hoichong plotonepoint point2: ' + point2);\n //this.set('initialExtent', this.get('vectorLayer').getSource().getExtent())\n\n vectorSource.refresh();\n /*\n const vectorSource2 = new VectorSource({\n features: [point2]\n });\n // console.log('hoichong vectorSource2: '+vectorSource2); \n const markerVectorLayer2 = new VectorLayer({\n title: 'Points2',\n source: vectorSource2,\n });\n // console.log('hoichong markerVectorLayer2: '+markerVectorLayer2);\n let map2 = this.get('map');\n map2.addLayer(markerVectorLayer2); \n */\n },\n\n plotMultiPoint(markers) {\n let features = [];\n markers.forEach(marker => {\n let newmarker = [parseFloat(marker.lat), parseFloat(marker.lon)];\n newmarker.reverse();\n let point2 = new _Feature.default({\n geometry: new _Point.default(newmarker),\n ...marker.attributes // STNNUM: marker.attributes.stnnum\n\n });\n point2.setStyle(new _style.Style({\n image: new _style.Circle({\n radius: 7,\n stroke: new _style.Stroke({\n color: '#ff0000',\n width: 3\n })\n })\n }));\n let vectorSource = this.get('vectorSource');\n vectorSource.addFeature(point2);\n vectorSource.refresh();\n features.push(point2);\n });\n return features;\n },\n\n getOmap() {\n // console.log('hoichong ol-mapservice getOmap');\n const store = this.get('store');\n let self = this;\n /* let pos = fromLonLat([16.3725, 48.208889]);\n const mapOverlay1 = new Overlay({\n stopEvent: false,\n position: pos,\n }); */\n\n let PointerControl = function (Control) {\n function PointerControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Use Pointer');\n var element = document.createElement('div');\n element.className = 'change-pointer ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handlePointerControl.bind(this), false);\n }\n\n if (Control) PointerControl.__proto__ = Control;\n PointerControl.prototype = Object.create(Control && Control.prototype);\n PointerControl.prototype.constructor = PointerControl;\n\n PointerControl.prototype.handlePointerControl = function handlePointerControl() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"default\"; // console.log('Just change the mouse cursor to default...');\n };\n\n return PointerControl;\n }(_control.Control);\n\n let LayersInfoControl = function (Control) {\n function LayersInfoControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'View Feature Info');\n var element = document.createElement('div');\n element.className = 'change-infop ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleLayersInfo.bind(this), false);\n }\n\n if (Control) LayersInfoControl.__proto__ = Control;\n LayersInfoControl.prototype = Object.create(Control && Control.prototype);\n LayersInfoControl.prototype.constructor = LayersInfoControl;\n\n LayersInfoControl.prototype.handleLayersInfo = function handleLayersInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"pointer\"; // console.log('Just change the mouse cursor to info...');\n };\n\n return LayersInfoControl;\n }(_control.Control);\n\n let PurchaseControl = function (Control) {\n function PurchaseControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Purchase');\n var element = document.createElement('div');\n element.className = 'change-purchasep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleLayersInfo.bind(this), false);\n }\n\n if (Control) PurchaseControl.__proto__ = Control;\n PurchaseControl.prototype = Object.create(Control && Control.prototype);\n PurchaseControl.prototype.constructor = PurchaseControl;\n\n PurchaseControl.prototype.handleLayersInfo = function handleLayersInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"grab\"; // console.log('Just change the mouse cursor to purchase...');\n };\n\n return PurchaseControl;\n }(_control.Control);\n\n let MeasureInfoControl = function (Control) {\n function MeasureInfoControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Length Measure');\n var element = document.createElement('div');\n element.className = 'change-measurep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleMeasureInfo.bind(this), false);\n }\n\n if (Control) MeasureInfoControl.__proto__ = Control;\n MeasureInfoControl.prototype = Object.create(Control && Control.prototype);\n MeasureInfoControl.prototype.constructor = MeasureInfoControl;\n\n MeasureInfoControl.prototype.handleMeasureInfo = function handleMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"crosshair\"; // console.log('Just change the mouse cursor to Measure...');\n };\n\n return MeasureInfoControl;\n }(_control.Control);\n\n let ClearMeasureInfoControl = function (Control) {\n function ClearMeasureInfoControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Erase All Measures');\n var element = document.createElement('div');\n element.className = 'change-erasemeasurep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) ClearMeasureInfoControl.__proto__ = Control;\n ClearMeasureInfoControl.prototype = Object.create(Control && Control.prototype);\n ClearMeasureInfoControl.prototype.constructor = ClearMeasureInfoControl;\n\n ClearMeasureInfoControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"not-allowed\"; // console.log('Just change the mouse cursor to Not Allowed...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n };\n\n return ClearMeasureInfoControl;\n }(_control.Control);\n\n let OpenNLUMPLegendControl = function (Control) {\n function OpenNLUMPLegendControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Master Plan Legends');\n var element = document.createElement('div');\n element.className = 'change-nlumplegendp ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) OpenNLUMPLegendControl.__proto__ = Control;\n OpenNLUMPLegendControl.prototype = Object.create(Control && Control.prototype);\n OpenNLUMPLegendControl.prototype.constructor = OpenNLUMPLegendControl;\n\n OpenNLUMPLegendControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"help\"; // console.log('Just change the mouse cursor to help...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n map_panel_arr[0].style.cursor = \"default\";\n };\n\n return OpenNLUMPLegendControl;\n }(_control.Control);\n\n let OpenScaleControl = function (Control) {\n function OpenScaleControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Select scale');\n var element = document.createElement('div');\n element.className = 'change-scalep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) OpenScaleControl.__proto__ = Control;\n OpenScaleControl.prototype = Object.create(Control && Control.prototype);\n OpenScaleControl.prototype.constructor = OpenScaleControl;\n\n OpenScaleControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"text\"; // console.log('Just change the mouse cursor to text...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n map_panel_arr[0].style.cursor = \"default\";\n };\n\n return OpenScaleControl;\n }(_control.Control);\n\n let MobileGuideControl = function (Control) {\n function MobileGuideControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Open Mobile Guide');\n var element = document.createElement('div');\n element.className = 'change-guidep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) MobileGuideControl.__proto__ = Control;\n MobileGuideControl.prototype = Object.create(Control && Control.prototype);\n MobileGuideControl.prototype.constructor = MobileGuideControl;\n\n MobileGuideControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"wait\"; // console.log('Just change the mouse cursor to wait...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n map_panel_arr[0].style.cursor = \"default\";\n };\n\n return MobileGuideControl;\n }(_control.Control);\n\n let defaultMapZoom;\n\n if (_environment.default.W3O_openlayers.deployment == 'RAD') {\n defaultMapZoom = 10;\n } else {\n defaultMapZoom = 3; // Change default map zoom when it open from mobile device\n\n if (this.get('isMobile') === 'Yes') {\n defaultMapZoom = 1.5;\n }\n }\n\n let pointerControls = [new LayersInfoControl(), new MeasureInfoControl(), //new PurchaseControl(),\n new PointerControl(), new ClearMeasureInfoControl() // new OpenNLUMPLegendControl() //NLUMP legend disabled (request by Survey)\n ];\n\n if (this.get('isMobile') === 'Yes') {\n pointerControls.push(new OpenScaleControl());\n pointerControls.push(new MobileGuideControl());\n pointerControls.push(new PurchaseControl());\n } else {\n if (_environment.default.W3O_openlayers.deployment === 'GEOPORTAL') {\n pointerControls.push(new OpenNLUMPLegendControl());\n pointerControls.push(new PurchaseControl());\n }\n }\n\n const map = new _ol.Map({\n controls: (0, _control.defaults)().extend(pointerControls),\n target: 'map',\n layers: this.get('initActiveLayers'),\n view: new _ol.View({\n projection: this.get('defaultProjection'),\n center: this.get('defaultCenter'),\n zoom: defaultMapZoom,\n // need to have different zoom for Geoportal or RAD TODO\n rotation: 0,\n enableRotation: false\n })\n }); //map.addOverlay(mapOverlay1);\n\n map.addControl(new _control.ScaleLine({\n units: 'metric'\n }));\n /* map.addControl(new MousePosition({\n coordinateFormat: c => parseInt(c[0], 10) + ', ' + parseInt(c[1], 10),\n undefinedHTML: ''\n })); */\n\n map.addControl(new _MousePosition.default({\n coordinateFormat: (0, _coordinate.createStringXY)(4),\n undefinedHTML: ''\n }));\n const mousePositionControl = new _MousePosition.default({\n coordinateFormat: (0, _coordinate.createStringXY)(4),\n // projection: 'EPSG:4326',\n // comment the following two lines to have the mouse position\n // be placed within the map.\n className: 'custom-mouse-position',\n target: document.getElementById('mouse-position'),\n undefinedHTML: ' '\n }); //map.addControl(mousePositionControl);\n\n this.set('map', map);\n const initialExtent = null;\n this.set('initialExtent', initialExtent); // console.log('hoichong ol-mapservice getOmap map initialextent done');\n\n this.initVectorSource(map); // console.log('hoichong ol-mapservice getOmap map initVectorSource done');\n\n var currZoom = map.getView().getZoom(); // console.log('hoichong ol-mapservice getOmap map currZoom: ' +currZoom);\n\n map.on('moveend', function (e) {\n var newZoom = map.getView().getZoom();\n\n if (currZoom != newZoom) {\n // console.log('Inside ol-mapservice moveend event, zoom end, new zoom: ' + newZoom);\n currZoom = newZoom; //var dpi = 25.4 / 0.28;\n\n const dpi = 96; // var cScale = this.calcMapScale(map,dpi); // calcMapScale is not a function (maybe because in an event callback)\n\n let unit = map.getView().getProjection().getUnits();\n let resolution = map.getView().getResolution();\n const inchesPerMetre = 39.37;\n let cScale = resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi; // console.log('Inside ol-mapservice moveend event, zoom end, new scale & resolution : ' + cScale + ' ' + resolution);\n // console.log(proj.METERS_PER_UNIT[unit] + ' ' + inchesPerMetre);\n //let zoom1 = map.getView().getZoom();\n //// console.log(zoom1);\n //// console.log(map.getView().getResolutionForZoom(zoom1));\n\n let scaleRoundVal = Math.ceil(cScale); // scaleElement = document.getElementById('inputScale');\n\n document.getElementById('inputScale').value = scaleRoundVal.toString();\n\n let _c_srs = map.getView().getProjection().getCode(); // console.log('Get SRS ' + _c_srs);\n\n\n function controlLayerEye(layer, currentScale) {\n let ltitle = 'Canvas';\n\n if (layer.values_.title !== undefined) {\n ltitle = layer.values_.title.replace(/\\s+/g, '');\n }\n\n let elementId = \"layer-item-id-\".concat(ltitle); // id of the layer input element (not the eye icon) \n\n let eyeId = \"layer-item-eye-id-\".concat(ltitle); // id of the layer eye icon \n // console.log('elementId ' + elementId); \n\n if (layer.values_.minScale !== undefined && layer.values_.minScale >= 0) {\n if (currentScale > layer.values_.maxScale || currentScale < layer.values_.minScale) {\n document.getElementById(elementId).disabled = true;\n document.getElementById(eyeId).classList.add(\"right-icon-lock\"); // console.log('just disable this checkbox');\n } else {\n document.getElementById(elementId).disabled = false;\n document.getElementById(eyeId).classList.remove(\"right-icon-lock\"); // console.log('just enable this checkbox');\n }\n }\n }\n\n if (_c_srs == 'EPSG:4326') {\n const layers1 = map.getLayers().getArray().concat().reverse().map(layer => {\n //// console.log(layer);\n controlLayerEye(layer, cScale);\n\n if (layer.get('exclusive') == true) {// console.log('Inside ol-mapservice moveend event, EXCLUSIVE OVERRIDE');\n } else {\n if (layer.get('visiType') == 'Manual') {// console.log('Inside ol-mapservice moveend event, MANUAL OVERRIDE');\n // console.log(layer.values_.title);\n } else {\n let maxScale = layer.get('maxScale');\n let minScale = layer.get('minScale'); // console.log('Inside ol-mapservice moveend event, zoom end, layer visibility for 4326 : ' + layer.getVisible() + ' ' + minScale + ' ' + maxScale);\n\n if (Boolean(maxScale)) {\n if (minScale <= cScale && cScale < maxScale) {\n layer.setVisible(true);\n } else {\n layer.setVisible(false);\n }\n } else {\n layer.setVisible(true);\n }\n }\n }\n });\n } else {\n const layers = map.getLayers().getArray().concat().reverse().map(layer => {\n controlLayerEye(layer, cScale);\n\n if (layer.get('exclusive') == true) {// console.log('Inside ol-mapservice moveend event, EXCLUSIVE OVERRIDE');\n } else {\n if (layer.get('visiType') == 'Manual') {// console.log('Inside ol-mapservice moveend event, MANUAL OVERRIDE');\n // console.log(layer.values_.title);\n } else {\n let maxRes = layer.getMaxResolution();\n let minRes = layer.getMinResolution(); // console.log('Inside ol-mapservice moveend event, zoom end, layer visibility : ' + layer.getVisible() + ' ' + minRes + ' ' + maxRes);\n // console.log(layer);\n\n if (minRes <= resolution && resolution < maxRes) {\n layer.setVisible(true);\n } else {\n layer.setVisible(false);\n }\n }\n }\n });\n }\n }\n });\n _jquery.default.fn.popover.Constructor.Default.whiteList.table = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.tr = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.td = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.th = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.div = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.tbody = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.thead = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.h2 = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.h3 = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.button = ['data-toggle', 'data-target'];\n _jquery.default.fn.popover.Constructor.Default.whiteList.ul = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.li = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.div = ['data-parent'];\n _jquery.default.fn.popover.Constructor.Default.whiteList.a = ['target', 'href', 'title', 'rel', 'data-toggle']; // console.log('hoichong ol-mapservice getOmap map popover setup done');\n // Popup showing the position the user clicked\n\n let popup = new _Overlay.default({\n element: document.getElementById('popup'),\n stopEvent: false\n });\n map.addOverlay(popup); // console.log('hoichong ol-mapservice getOmap map addOverlay popup done');\n\n map.getViewport().addEventListener('contextmenu', async function (evt) {\n evt.preventDefault(); // console.log('Captured RIGHT CLICK ...');\n // console.log(map.getEventCoordinate(evt));\n // console.log(evt.coordinate); // work only for left single click or left dbl click\n\n let tcoordinate = map.getEventCoordinate(evt); // Remove code that are duplicate in the \"left single click\" event method.\n // See below.\n });\n let MEASURE_ACTIVE_FLAG = false;\n let measureSrcArray = [];\n let measureVLayerArray = [];\n let measureOutOverlayArray = [];\n map.on('singleclick', async function (evt) {\n evt.preventDefault(); // console.log('Captured SINGLE CLICK TOP LINE ...');\n\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel); // console.log(map_panel_arr[0].style.cursor);\n\n let mouse_pointer_type = map_panel_arr[0].style.cursor; // console.log(mouse_pointer_type);\n\n if (mouse_pointer_type === 'grab' && !self.isLoading) {\n // console.log('Captured SINGLE CLICK for POINTER...');\n // console.log(map.getEventCoordinate(evt));\n // console.log(evt.coordinate); // work only for left single click or left dbl click\n let tcoordinate = evt.coordinate;\n let view1 = map.getView();\n var viewResolution = view1.getResolution();\n let layers1 = map.getLayers();\n let layerfilterArr = [];\n let geodetic_layer = [];\n layers1.forEach(layer => {\n // console.log('ol-mapservice map single click');\n // console.log(layer.get('title'));\n // console.log(layer);\n let layerkeys = {};\n\n if (layer.get('layer_info')) {\n let wms_url = layer.get('source').url_;\n let wms_arr = wms_url.split(\"/\");\n let wfs_url = \"/\".concat(wms_arr[3], \"/\").concat(wms_arr[4], \"/\").concat(wms_arr[5]);\n layerfilterArr.push({\n type: layer.get('layer_info').type,\n fields: layer.get('layer_info').fields,\n layer_info: layer.get('layer_info'),\n wms_url: \"\".concat(self.store.adapterFor('application').get('erdasHost')).concat(wfs_url),\n target_layer: layer.get('source').params_.LAYERS\n });\n }\n\n if (layer.get('title') === 'Control Point') {\n let wms_url = layer.get('source').url_;\n let wms_arr = wms_url.split(\"/\");\n let wfs_url = \"/\".concat(wms_arr[3], \"/\").concat(wms_arr[4], \"/\").concat(wms_arr[5]);\n geodetic_layer.push({\n title: layer.get('title'),\n type: layer.get('layer_info').type,\n fields: layer.get('layer_info').fields,\n layer_info: layer.get('layer_info'),\n wms_url: \"\".concat(self.store.adapterFor('application').get('erdasHost')).concat(wfs_url),\n target_layer: layer.get('source').params_.LAYERS\n });\n }\n });\n let wfs1 = '';\n let layer1 = '';\n let scoord1 = ''; // console.log('Coordinate of click: ' + tcoordinate);\n\n let arr = [\"one\", \"two\", \"three\", \"four\", \"five\"];\n arr.includes(\"two\"); //returns true \n\n let st1 = 'Lots'; // let fetchfeatureArr = [\"Lots\", \"TOL\", \"Gazette\", \"Kampung\"];\n\n let fetchResultArr = [];\n\n async function fetchFeatureInLayer(st1) {\n wfs1 = st1.wms_url;\n layer1 = st1.target_layer;\n scoord1 = tcoordinate; // console.log({wfs1, layer1, scoord1});\n //Show popover with loading\n\n self.isLoading = true;\n let element = popup.getElement();\n (0, _jquery.default)(element).popover('dispose');\n popup.setPosition(tcoordinate);\n (0, _jquery.default)(element).popover({\n placement: 'top',\n animation: false,\n html: true,\n title: 'Purchase Info',\n content: \"Loading Data...\"\n });\n (0, _jquery.default)(element).popover('show');\n let fetchRes1 = await self.fetchNearbyWfsObjects(wfs1, layer1, scoord1, st1);\n self.isLoading = false; // console.log('Fetch results from fetchNearbyWfsObjects');\n // console.log(fetchRes1);\n\n return fetchRes1;\n } // console.log('---layerfilterArr---');\n // console.log(layerfilterArr);\n\n\n for (const st1 of layerfilterArr) {\n let ffr1 = await fetchFeatureInLayer(st1);\n fetchResultArr.push(ffr1);\n }\n\n ; // console.log('All Layers feature that need to fetch...');\n // console.log(fetchResultArr);\n //Fetch geodetic layer info selected\n\n let wfs1_geodetic = geodetic_layer[0].wms_url;\n let layer1_geodetic = geodetic_layer[0].target_layer;\n let st1_geodetic = geodetic_layer[0];\n let fetchRes1_within = await self.fetchWithinWfsObjects(wfs1_geodetic, layer1_geodetic, tcoordinate, st1_geodetic); // console.log('fetchRes1_within');\n // console.log(fetchRes1_within);\n // console.log('fetchRes1_within length');\n // console.log(fetchRes1_within.length);\n\n let tablebodystart1 = '';\n let tablebodyend1 = '';\n let tablebody1 = '';\n let tablebody2 = '';\n let tablebody3 = '';\n let navstart1 = '
';\n let navbody1 = '';\n let nav11 = '';\n nav11 += '
  • RSO Digital (A3)
  • ';\n nav11 += '
  • RSO Digital (A1)
  • ';\n nav11 += '
  • Certified Plan
  • ';\n nav11 += '
  • Geodetic Station
  • ';\n navbody1 = navbody1 + nav11;\n let tabstart1 = '
    ';\n let tabend1 = '
    ';\n let tabbody1 = '';\n let lot_info = [],\n rso_info = [],\n gdt_info = [];\n fetchResultArr.forEach(async function (arr1) {\n let result = arr1[0]; // console.log('CHECK RESULTS FROM FETCH NEARBY...');\n // console.log(result);\n\n if (result === undefined || result.length == 0) {// array empty or does not exist\n } else {\n let navh1 = result.objectfield0;\n let targetLayerFields = layerfilterArr.find(x => x.type === navh1).fields; // console.log('--targetLayerFields--');\n // console.log(targetLayerFields);\n\n if (navh1 === \"Lots\" || navh1 === 'Gazette' || navh1 === 'TOL') {\n lot_info.push({\n key: 'type',\n value: navh1\n });\n Object.keys(result.objectfield1).forEach(function (key, index) {\n if (targetLayerFields.includes(key)) {\n lot_info.push({\n key: key,\n value: result.objectfield1[key]\n });\n }\n });\n } else if (navh1 === 'Keysheet') {\n Object.keys(result.objectfield1).forEach(function (key, index) {\n if (targetLayerFields.includes(key)) {\n rso_info.push({\n key: key,\n value: result.objectfield1[key]\n });\n }\n });\n }\n }\n });\n\n if (fetchRes1_within.length !== 0) {\n let result = fetchRes1_within[0];\n let targetLayerFields = geodetic_layer.find(x => x.type === 'Geodetic').fields;\n Object.keys(result.objectfield1).forEach(function (key, index) {\n if (targetLayerFields.includes(key)) {\n gdt_info.push({\n key: key,\n value: result.objectfield1[key]\n });\n }\n });\n }\n\n let str1 = '';\n let lot_type,\n lot_num,\n book_code,\n lot_exist = true;\n lot_info.forEach(lot => {\n str1 += '' + '' + lot.key + '' + '' + lot.value + '' + '';\n\n if (lot.key === 'type') {\n lot_type = lot.value;\n } else if (lot.key === 'LOTNUM' || lot.key === 'TOLNUM' || lot.key === 'GR_NUM') {\n lot_num = lot.value;\n } else if (lot.key === 'BOOKCODE') {\n book_code = lot.value;\n }\n });\n\n if (lot_info.length === 0) {\n lot_exist = false;\n str1 += 'Nothing Selected';\n }\n\n tablebody1 = tablebody1 + str1;\n let str2 = '';\n let rso_ref,\n rso_exist = true;\n rso_info.forEach(rso => {\n str2 += '' + '' + rso.key + '' + '' + rso.value + '' + '';\n\n if (rso.key === 'RSOREF') {\n rso_ref = rso.value;\n }\n });\n\n if (rso_info.length === 0) {\n rso_exist = false;\n str1 += 'Nothing Selected';\n }\n\n tablebody2 = tablebody2 + str2;\n let str3 = '';\n let ctl_pnt,\n gdt_exist = true; // console.log('gdt info');\n // console.log(gdt_info);\n\n gdt_info.forEach(gdt => {\n str3 += '' + '' + gdt.key + '' + '' + gdt.value + '' + '';\n\n if (gdt.key === 'VC_STN_NAME_PK') {\n ctl_pnt = gdt.value;\n }\n });\n\n if (fetchRes1_within.length === 0) {\n gdt_exist = false;\n str3 += 'Nothing Selected';\n }\n\n tablebody3 = tablebody3 + str3;\n let table11 = tablebodystart1 + tablebody1 + tablebodyend1;\n let table12 = tablebodystart1 + tablebody2 + tablebodyend1;\n let table13 = tablebodystart1 + tablebody3 + tablebodyend1;\n let completethead = 'KeyValue';\n let completeTableLOT = '
    ' + '' + completethead + table11 + '
    ' + '
    ';\n let completeTableRSOA1 = '
    ' + '' + completethead + table12 + '
    ' + '
    ';\n let completeTableRSOA3 = '
    ' + '' + completethead + table11 + '
    ' + '
    ';\n let completeTableGDT = '
    ' + '' + completethead + table13 + '
    ' + '
    '; //Purchase CP button logic\n\n const cpButton = async (lot_exist, lot_num, book_code) => {\n let url, result;\n\n if (lot_exist) {\n url = \"\".concat(self.store.adapterFor('application').get('ecomWeb')).concat(self.store.adapterFor('application').get('namespace'), \"/items/getCPItem?\");\n\n switch (lot_type) {\n case \"Lots\":\n url += \"cp_type=Lot&cp_lot_number=\".concat(lot_num, \"&cp_book_code=\").concat(book_code);\n break;\n\n case \"Gazette\":\n url += \"cp_type=Gazette&cp_lot_number=\".concat(lot_num);\n break;\n\n case \"TOL\":\n url += \"cp_type=Tol&cp_lot_number=\".concat(lot_num, \"&cp_book_code=\").concat(book_code);\n break;\n }\n\n result = await (0, _axios.default)({\n method: 'GET',\n url\n });\n }\n\n let buy_cp = '
    CP unavailable
    ';\n\n if (result) {\n if (result.data.id !== null) {\n let product_id = result.data.id;\n buy_cp = \"
    Buy CP
    \");\n }\n }\n\n return buy_cp;\n };\n\n const getRSOPrice = async () => {\n let url, result;\n url = \"\".concat(self.store.adapterFor('application').get('serverHost')).concat(self.store.adapterFor('application').get('namespace'), \"/geoportalprices\");\n result = await (0, _axios.default)({\n method: 'GET',\n url\n });\n let result_a1 = result.data.geoportalprices.filter(obj => {\n return obj.price_name === 'RSO Sheet (A1)';\n });\n let result_a3 = result.data.geoportalprices.filter(obj => {\n return obj.price_name === 'RSO Sheet (A3)';\n });\n result = {\n a1_with_rso: result_a1[0].price_total_with,\n a1_without_rso: result_a1[0].price_total,\n a3_with_rso: result_a3[0].price_total_with,\n a3_without_rso: result_a3[0].price_total\n };\n return result;\n };\n\n const getGDTPrice = async () => {\n let url, result;\n url = \"\".concat(self.store.adapterFor('application').get('serverHost')).concat(self.store.adapterFor('application').get('namespace'), \"/geoportalgeodeticprices\");\n result = await (0, _axios.default)({\n method: 'GET',\n url\n });\n let result_gdt = result.data.geoportalgeodeticprices.filter(obj => {\n return obj.price_name === 'Geodetic Sheet (A4)';\n });\n result = {\n a4_with_gdt: result_gdt[0].price_total_with,\n a4_without_gdt: result_gdt[0].price_total\n };\n return result;\n };\n\n let buy_cp = await cpButton(lot_exist, lot_num, book_code);\n let rso_price = await getRSOPrice();\n let gdt_price = await getGDTPrice();\n let buy_a1 = '
    ';\n let buy_a3 = '
    ';\n let buy_gdt = '
    ';\n let tab11 = '';\n tab11 += '

    ' + completeTableRSOA3 + '
    ' + buy_a3 + '
    ';\n tab11 += '

    ' + completeTableRSOA1 + '
    ' + buy_a1 + '
    ';\n tab11 += '

    ' + completeTableLOT + '
    ' + buy_cp + '
    ';\n tab11 += '

    ' + completeTableGDT + '
    ' + buy_gdt + '
    ';\n tabbody1 = tabbody1 + tab11;\n let completenav = navstart1 + navbody1 + navend1;\n let completetabcontent = tabstart1 + tabbody1 + tabend1;\n let completepopcontent = completenav + completetabcontent;\n let element = popup.getElement();\n (0, _jquery.default)(element).popover('dispose');\n popup.setPosition(tcoordinate);\n (0, _jquery.default)(element).popover({\n placement: 'top',\n animation: false,\n template: '

    ',\n html: true,\n title: 'Purchase Info ×',\n content: completepopcontent\n });\n (0, _jquery.default)(element).popover('show');\n\n const rsoButtonLogic = async (rso_type, rso_params, rso_button, rsoButtonName) => {\n //Disable button (to prevent accident multiple clicks)\n (0, _jquery.default)(rso_button).off('click');\n (0, _jquery.default)(rso_button).addClass(\"disabled\");\n (0, _jquery.default)(rso_button).prepend('\"Loading\"');\n\n if (!self.get('authObject').get('isAuthenticated')) {\n window.location.replace(\"\".concat(self.store.adapterFor('application').get('host'), \"/login\"));\n return;\n }\n\n let is_public = \"No\";\n let is_internal = self.get('authObject.data.user.is_internal');\n let is_cash = self.get('authObject.data.user.receive_cash_payment');\n let is_mobile = this.get('isMobile') === 'Yes' ? true : false;\n\n if (is_internal === false && is_cash === false) {\n is_public = \"Yes\";\n }\n\n if (is_mobile === true) {\n is_public = \"Yes\";\n }\n /*\n If not internal user, then just proceed to the shopping card page for payment process\n If internal user, generate RSO directly without going through payment\n */\n\n\n if (!is_internal) {\n let url_rsoexport = \"\".concat(self.store.adapterFor('application').get('serverHost')).concat(self.store.adapterFor('application').get('namespace'), \"/rsosheets/doRSOExport\");\n let response = await _axios.default.post(url_rsoexport, {\n rso_type,\n ...rso_params,\n user: self.get(\"authObject.data.user.id\"),\n is_public\n }).catch(error => {\n alert(\"An error occured while preparing RSO Sheet's order, \".concat(error.response.data));\n return null;\n });\n\n if (response) {\n window.location.replace(\"\".concat(self.store.adapterFor('application').get('host'), \"/shopping-cart\"));\n }\n } else {\n let randomDigit = Math.random().toString().substring(2, 7);\n let order_number = \"SSDI-STAFF-\".concat(moment().format(\"YYYY-MM-DD\"), \"-\").concat(randomDigit, \"-RSO\");\n let image_name = Math.random().toString().substring(2, 12);\n let generate_type = \"pdf\";\n let is_internal = true;\n let url_rsogenerate = \"\".concat(self.store.adapterFor('application').get('serverHost')).concat(self.store.adapterFor('application').get('namespace'), \"/rsosheets/generateRSOSheet\");\n let response = await _axios.default.post(url_rsogenerate, {\n rso_type,\n ...rso_params,\n order_number,\n image_name,\n generate_type,\n is_internal,\n erdashost_url: self.store.adapterFor('application').get('erdasHost'),\n is_public\n }).catch(error => {\n alert(\"An error occured while generating RSO Sheet, \".concat(error.response.data));\n return null;\n });\n\n if (response.data) {\n let {\n base64,\n fileName,\n type\n } = response.data;\n let blob;\n\n try {\n blob = this.dataURItoBlob(base64);\n } catch (e) {\n // source: https://stackoverflow.com/a/21797381\n let binary_string = window.atob(base64);\n let len = binary_string.length;\n let bytes = new Uint8Array(len);\n\n for (let i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n\n let arrayBuffer = bytes.buffer;\n blob = new Blob([arrayBuffer], {\n type\n });\n }\n\n let blobUrl = URL.createObjectURL(blob);\n let a = document.createElement('a');\n a.href = blobUrl;\n a.download = fileName || blobUrl.split('/').pop();\n a.click();\n } //Enable button\n\n\n (0, _jquery.default)(rso_button).html(\"\".concat(rsoButtonName));\n }\n };\n\n const gdtButtonLogic = async (gdt_type, gdt_params, gdt_button, gdtButtonName) => {\n //Disable button (to prevent accident multiple clicks)\n (0, _jquery.default)(gdt_button).off('click');\n (0, _jquery.default)(gdt_button).addClass(\"disabled\");\n (0, _jquery.default)(gdt_button).prepend('\"Loading\"');\n\n if (!self.get('authObject').get('isAuthenticated')) {\n window.location.replace(\"\".concat(self.store.adapterFor('application').get('host'), \"/login\"));\n return;\n }\n\n let is_public = \"No\";\n let is_internal = self.get('authObject.data.user.is_internal');\n let is_cash = self.get('authObject.data.user.receive_cash_payment');\n let is_mobile = this.get('isMobile') === 'Yes' ? true : false;\n\n if (is_internal === false && is_cash === false) {\n is_public = \"Yes\";\n }\n\n if (is_mobile === true) {\n is_public = \"Yes\";\n }\n /*\n If not internal user, then just proceed to the shopping card page for payment process\n If internal user, generate RSO directly without going through payment\n */\n\n\n if (!is_internal) {\n let url_gdtexport = \"\".concat(self.store.adapterFor('application').get('serverHost')).concat(self.store.adapterFor('application').get('namespace'), \"/geodetics/doGeodeticExport\");\n let response = await _axios.default.post(url_gdtexport, { ...gdt_params,\n user: self.get(\"authObject.data.user.id\"),\n is_public\n }).catch(error => {\n alert(\"An error occured while preparing Geodetic Sheet's order, \".concat(error.response.data));\n return null;\n });\n\n if (response) {\n window.location.replace(\"\".concat(self.store.adapterFor('application').get('host'), \"/shopping-cart\"));\n }\n } else {\n let randomDigit = Math.random().toString().substring(2, 7);\n let order_number = \"SSDI-STAFF-\".concat(moment().format(\"YYYY-MM-DD\"), \"-\").concat(randomDigit, \"-GDT\");\n let image_name = Math.random().toString().substring(2, 12);\n let generate_type = \"pdf\";\n let is_internal = true;\n let url_gdtgenerate = \"\".concat(self.store.adapterFor('application').get('serverHost')).concat(self.store.adapterFor('application').get('namespace'), \"/geodetics/generateGeodeticSheet\");\n let response = await _axios.default.post(url_gdtgenerate, { ...gdt_params,\n order_number,\n image_name,\n generate_type,\n is_internal,\n erdashost_url: self.store.adapterFor('application').get('erdasHost'),\n is_public\n }).catch(error => {\n alert(\"An error occured while generating Geodetic Sheet, \".concat(error.response.data));\n return null;\n });\n\n if (response.data) {\n let {\n base64,\n fileName,\n type\n } = response.data;\n let blob;\n\n try {\n blob = this.dataURItoBlob(base64);\n } catch (e) {\n // source: https://stackoverflow.com/a/21797381\n let binary_string = window.atob(base64);\n let len = binary_string.length;\n let bytes = new Uint8Array(len);\n\n for (let i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n\n let arrayBuffer = bytes.buffer;\n blob = new Blob([arrayBuffer], {\n type\n });\n }\n\n let blobUrl = URL.createObjectURL(blob);\n let a = document.createElement('a');\n a.href = blobUrl;\n a.download = fileName || blobUrl.split('/').pop();\n a.click();\n } //Enable button\n\n\n (0, _jquery.default)(gdt_button).html(\"\".concat(gdtButtonName));\n }\n }; // Adding click action logic to RSO buttons (only can be run after the button rendered)\n\n\n if (_environment.default.W3O_openlayers.deployment == 'GEOPORTAL') {\n const rsoButtonDivLogic = async () => {\n let rso_button_a1 = document.createElement('div');\n let rso_button_a1_ophoto = document.createElement('div');\n let rso_button_a1_internal = document.createElement('div');\n let rso_button_na = document.createElement('div');\n let rsoButtonName;\n (0, _jquery.default)(rso_button_na).addClass(\"text-center mt-2\").html(\"RSO unavailable\");\n (0, _jquery.default)(rso_button_a1).addClass(\"col-11 col-sm-8 col-lg-5 mb-1 btn mx-lg-1 btn-sm btn-secondary\").html(\"Without Orthophoto (A1) B$\".concat(rso_price.a1_without_rso)).on(\"click\", async function () {\n let rso_params = {\n rso_ref\n };\n rso_params.with_orthophoto = false;\n rsoButtonName = \"Without Orthophoto (A1) B$\".concat(rso_price.a1_without_rso);\n await rsoButtonLogic('A1', rso_params, rso_button_a1, rsoButtonName);\n });\n (0, _jquery.default)(rso_button_a1_ophoto).addClass(\"col-11 col-sm-8 col-lg-5 btn btn-sm mb-1 mx-lg-1 btn-primary\").html(\"With Orthophoto (A1) B$\".concat(rso_price.a1_with_rso)).on(\"click\", async function () {\n let rso_params = {\n rso_ref\n };\n rso_params.with_orthophoto = true;\n rsoButtonName = \"With Orthophoto (A1) B$\".concat(rso_price.a1_with_rso);\n await rsoButtonLogic('A1', rso_params, rso_button_a1_ophoto, rsoButtonName);\n });\n (0, _jquery.default)(rso_button_a1_internal).addClass(\"col-11 col-sm-8 col-lg-5 btn btn-sm mb-1 mx-lg-1 btn-primary\").html(\"Generate RSO (A1)\").on(\"click\", async function () {\n let rso_params = {\n rso_ref\n };\n rso_params.with_orthophoto = false;\n rsoButtonName = 'Generate RSO (A1)';\n await rsoButtonLogic('A1', rso_params, rso_button_a1_internal, rsoButtonName);\n });\n\n if (rso_exist) {\n (0, _jquery.default)(rso_button_a1).appendTo((0, _jquery.default)(\"#purchase_rso_a1\"));\n (0, _jquery.default)(rso_button_a1_ophoto).appendTo((0, _jquery.default)(\"#purchase_rso_a1\"));\n } else {\n (0, _jquery.default)(rso_button_na).appendTo((0, _jquery.default)(\"#purchase_rso_a1\"));\n }\n\n let rso_button_a3 = document.createElement('div');\n let rso_button_a3_ophoto = document.createElement('div');\n let rso_button_a3_internal = document.createElement('div');\n (0, _jquery.default)(rso_button_a3).addClass(\"col-11 col-sm-8 col-lg-5 mb-1 btn mx-lg-1 btn-sm btn-secondary\").html(\"Without Orthophoto (A3) B$\".concat(rso_price.a3_without_rso)).on(\"click\", async function () {\n let rso_params = {\n lot_type,\n lot_num,\n book_code\n };\n rso_params.with_orthophoto = false;\n rsoButtonName = \"Without Orthophoto (A3) B$\".concat(rso_price.a3_without_rso);\n await rsoButtonLogic('A3', rso_params, rso_button_a3, rsoButtonName);\n });\n (0, _jquery.default)(rso_button_a3_ophoto).addClass(\"col-11 col-sm-8 col-lg-5 mb-1 btn mx-lg-1 btn-sm btn-primary\").html(\"With Orthophoto (A3) B$\".concat(rso_price.a3_with_rso)).on(\"click\", async function () {\n let rso_params = {\n lot_type,\n lot_num,\n book_code\n };\n rso_params.with_orthophoto = true;\n rsoButtonName = \"With Orthophoto (A3) B$\".concat(rso_price.a3_with_rso);\n await rsoButtonLogic('A3', rso_params, rso_button_a3_ophoto, rsoButtonName);\n });\n (0, _jquery.default)(rso_button_a3_internal).addClass(\"col-11 col-sm-8 col-lg-5 mb-1 btn mx-lg-1 btn-sm btn-primary\").html(\"Generate RSO (A3)\").on(\"click\", async function () {\n let rso_params = {\n lot_type,\n lot_num,\n book_code\n };\n rso_params.with_orthophoto = false;\n rsoButtonName = 'Generate RSO (A3)';\n await rsoButtonLogic('A3', rso_params, rso_button_a3_internal, rsoButtonName);\n });\n\n if (lot_exist) {\n (0, _jquery.default)(rso_button_a3).appendTo((0, _jquery.default)(\"#purchase_rso_a3\"));\n (0, _jquery.default)(rso_button_a3_ophoto).appendTo((0, _jquery.default)(\"#purchase_rso_a3\"));\n } else {\n (0, _jquery.default)(rso_button_na).appendTo((0, _jquery.default)(\"#purchase_rso_a3\"));\n }\n };\n\n const gdtButtonDivLogic = async () => {\n let gdt_button = document.createElement('div');\n let gdt_button_ophoto = document.createElement('div');\n let gdt_button_internal = document.createElement('div');\n let gdt_button_na = document.createElement('div');\n let gdtButtonName;\n (0, _jquery.default)(gdt_button_na).addClass(\"text-center mt-2\").html(\"Geodetic unavailable\");\n (0, _jquery.default)(gdt_button).addClass(\"col-11 col-sm-8 col-lg-5 mb-1 btn mx-lg-1 btn-sm btn-secondary\").html(\"Coordinates with height B$\".concat(gdt_price.a4_with_gdt)).on(\"click\", async function () {\n let gdt_params = {\n ctl_pnt\n };\n gdt_params.with_height = true;\n gdtButtonName = \"Coordinates with height B$\".concat(gdt_price.a4_with_gdt);\n await gdtButtonLogic('A4', gdt_params, gdt_button, gdtButtonName);\n });\n (0, _jquery.default)(gdt_button_ophoto).addClass(\"col-11 col-sm-8 col-lg-5 btn btn-sm mb-1 mx-lg-1 btn-primary\").html(\"Coordinates only B$\".concat(gdt_price.a4_without_gdt)).on(\"click\", async function () {\n let gdt_params = {\n ctl_pnt\n };\n gdt_params.with_height = false;\n gdtButtonName = \"Coordinates only B$\".concat(gdt_price.a4_without_gdt);\n await gdtButtonLogic('A4', gdt_params, gdt_button_ophoto, gdtButtonName);\n }); // $(gdt_button_internal).addClass(\"col-11 col-sm-8 col-lg-5 btn btn-sm mb-1 mx-lg-1 btn-primary\")\n // .html(`Generate Geodetic (A4)`)\n // .on(\"click\", async function(){\n // let gdt_params = {ctl_pnt}\n // gdt_params.with_height = false;\n // gdtButtonName = 'Generate Geodetic (A4)';\n // await gdtButtonLogic('A4', gdt_params, gdt_button_internal, gdtButtonName);\n // });\n\n if (gdt_exist) {\n (0, _jquery.default)(gdt_button).appendTo((0, _jquery.default)(\"#purchase_gdt\"));\n (0, _jquery.default)(gdt_button_ophoto).appendTo((0, _jquery.default)(\"#purchase_gdt\"));\n } else {\n (0, _jquery.default)(gdt_button_na).appendTo((0, _jquery.default)(\"#purchase_gdt\"));\n }\n };\n\n await rsoButtonDivLogic();\n await gdtButtonDivLogic();\n }\n }\n\n if (mouse_pointer_type === 'pointer' && !self.isLoading) {\n // console.log('Captured SINGLE CLICK for POINTER...');\n // console.log(map.getEventCoordinate(evt));\n // console.log(evt.coordinate); // work only for left single click or left dbl click\n let tcoordinate = evt.coordinate;\n let view1 = map.getView();\n var viewResolution = view1.getResolution();\n let layers1 = map.getLayers();\n let layerfilterArr = [];\n layers1.forEach(layer => {\n // console.log('ol-mapservice map single click');\n // console.log(layer.get('title'));\n // console.log(layer);\n //let layerkeys = layer.values_.info;\n let layerkeys = {}; //match the type and names, then push the layer array into layerfilterArr\n // if (layer.get('title') === 'Lots'){\n // layerfilterArr.push({type: 'Lots', fields: layer.get('layer_info')});\n // } else if (layer.get('title') === 'Kampung Names'){\n // layerfilterArr.push({type: 'Kampung', fields: layer.get('layer_info')});\n // }\n //just push layer_info into the array\n\n if (layer.get('layer_info')) {\n let wms_url = layer.get('source').url_;\n let wms_arr = wms_url.split(\"/\");\n let wfs_url = \"/\".concat(wms_arr[3], \"/\").concat(wms_arr[4], \"/\").concat(wms_arr[5]);\n layerfilterArr.push({\n type: layer.get('layer_info').type,\n fields: layer.get('layer_info').fields,\n layer_info: layer.get('layer_info'),\n wms_url: \"\".concat(self.store.adapterFor('application').get('erdasHost')).concat(wfs_url),\n target_layer: layer.get('source').params_.LAYERS\n });\n } // layerfilterArr.push(layerkeys);\n\n /* if (layer.get('title') == 'Lots') {\n let wmsSource1 = layer.get('source');\n // console.log(wmsSource1);\n let url = wmsSource1.getGetFeatureInfoUrl(\n tcoordinate, viewResolution, 'EPSG:5247', {\n 'INFO_FORMAT': 'text/xml'\n });\n // console.log(url);\n } */\n\n }); // layerfilterArr = [\n // {type: 'Lots', fields: ['OBJECTID','LOTNUM','BOOKCODE','DISTCODE','VC_RSO_NUM']}, \n // {type: 'Kampung', fields: ['OBJECTID','DISTCODE','KGCODE','KG_NAME','MUKIM_NAME']}\n // ];\n // // console.log('debug layerfilterArr');\n // // console.log(layerfilterArr);\n\n let wfs1 = '';\n let layer1 = '';\n let scoord1 = ''; // console.log('Coordinate of click: ' + tcoordinate);\n\n let arr = [\"one\", \"two\", \"three\", \"four\", \"five\"];\n arr.includes(\"two\"); //returns true \n\n let st1 = 'Lots'; // let fetchfeatureArr = [\"Lots\", \"TOL\", \"Gazette\", \"Kampung\"];\n\n let fetchResultArr = [];\n\n async function fetchFeatureInLayer(st1) {\n // switch (st1) {\n // case 'Lots': //swfs1,slayer1,ssrs1,sattr1,sstr1\n // wfs1 = `${self.store.adapterFor('application').get('erdasHost')}/erdas-apollo/vector/LOTS3`;\n // layer1 = 'MV_LOTS3';\n // scoord1 = tcoordinate;\n // break;\n // case 'TOL': //swfs1,slayer1,ssrs1,sattr1,sstr1\n // wfs1 = `${self.store.adapterFor('application').get('erdasHost')}/erdas-apollo/vector/GDBD`;\n // layer1 = 'TOL';\n // scoord1 = tcoordinate;\n // break;\n // case 'Gazette': //swfs1,slayer1,ssrs1,sattr1,sstr1\n // wfs1 = `${self.store.adapterFor('application').get('erdasHost')}/erdas-apollo/vector/GAZETTE3`;\n // layer1 = 'MV_GAZETTE1';\n // scoord1 = tcoordinate;\n // break;\n // case 'Kampung': //swfs1,slayer1,ssrs1,sattr1,sstr1\n // wfs1 = `${self.store.adapterFor('application').get('erdasHost')}/erdas-apollo/vector/GDBD_BR10`;\n // layer1 = 'KAMPUNG_P';\n // scoord1 = tcoordinate;\n // break;\n // default:\n // // console.log('Error Encountered in Fetch Feature Case Switch');\n // }\n wfs1 = st1.wms_url;\n layer1 = st1.target_layer;\n scoord1 = tcoordinate; // console.log({wfs1, layer1, scoord1});\n //Show popover with loading\n\n self.isLoading = true;\n let element = popup.getElement();\n (0, _jquery.default)(element).popover('dispose');\n popup.setPosition(tcoordinate);\n (0, _jquery.default)(element).popover({\n placement: 'top',\n animation: false,\n html: true,\n title: 'Geo Info',\n content: \"Loading Data...\"\n });\n (0, _jquery.default)(element).popover('show');\n let fetchRes1 = await self.fetchNearbyWfsObjects(wfs1, layer1, scoord1, st1);\n self.isLoading = false;\n /* try {\n fetchRes1 = await self.fetchNearbyWfsObjects(wfs1, layer1, scoord1, st1);\n } catch(err) {\n console.error(err); \n } */\n // console.log('Fetch results from fetchNearbyWfsObjects');\n // console.log(fetchRes1);\n\n return fetchRes1;\n } // console.log('---layerfilterArr---');\n // console.log(layerfilterArr);\n\n\n for (const st1 of layerfilterArr) {\n let ffr1 = await fetchFeatureInLayer(st1);\n fetchResultArr.push(ffr1);\n }\n\n ; // console.log('All Layers feature that need to fetch...');\n // console.log(fetchResultArr);\n\n let tablebodystart1 = '';\n let tablebodyend1 = '';\n let tablebody1 = '';\n let navstart1 = '
    ';\n let navbody1 = '';\n let tabstart1 = '
    ';\n let tabend1 = '
    ';\n let tabbody1 = '';\n let firstTabFlag = true;\n let product;\n let rso_type, rso_ref, lot_type, lot_num, book_code;\n let url,\n buyButton = '';\n let objectid_lot;\n fetchResultArr.forEach(async function (arr1) {\n let result = arr1[0]; // console.log('CHECK RESULTS FROM FETCH NEARBY...');\n // console.log(result);\n\n if (result === undefined || result.length == 0) {// array empty or does not exist\n } else {\n let navh1 = result.objectfield0;\n let targetLayerFields = layerfilterArr.find(x => x.type === navh1).fields; // console.log('--targetLayerFields--');\n // console.log(targetLayerFields);\n\n let nav11 = '';\n\n if (_environment.default.W3O_openlayers.deployment === 'GEOPORTAL') {\n // rso_type = self.get('rsosize');\n // // console.log('rso_type here');\n // // console.log(rso_type);\n if (navh1 === \"Lots\") {\n // lot_type = \"LOT\";\n // lot_num = result.objectfield1.LOTNUM;\n // book_code = result.objectfield1.BOOKCODE;\n url = \"\".concat(self.store.adapterFor('application').get('ecomWeb')).concat(self.store.adapterFor('application').get('namespace'), \"/items/getCPItem?cp_type=Lot&cp_lot_number=\").concat(result.objectfield1.LOTNUM, \"&cp_book_code=\").concat(result.objectfield1.BOOKCODE);\n } else if (navh1 === \"Gazette\") {\n // lot_type = \"GR\";\n // lot_num = result.objectfield1.GR_NUM;\n url = \"\".concat(self.store.adapterFor('application').get('ecomWeb')).concat(self.store.adapterFor('application').get('namespace'), \"/items/getCPItem?cp_type=Gazette&cp_lot_number=\").concat(result.objectfield1.GR_NUM);\n } else if (navh1 === \"TOL\") {\n // lot_type = \"TOL\";\n // lot_num = result.objectfield1.TOLNUM;\n // book_code = result.objectfield1.BOOKCODE;\n url = \"\".concat(self.store.adapterFor('application').get('ecomWeb')).concat(self.store.adapterFor('application').get('namespace'), \"/items/getCPItem?cp_type=Tol&cp_lot_number=\").concat(result.objectfield1.TOLNUM, \"&cp_book_code=\").concat(result.objectfield1.BOOKCODE);\n } // else if (navh1 === \"Keysheet\") {\n // rso_ref = result.objectfield1.RSOREF;\n // }\n\n } else {\n product = new Promise((resolve, reject) => {\n resolve(buyButton);\n });\n }\n\n if (firstTabFlag == true) {\n nav11 = '
  • ' + navh1 + '
  • ';\n } else {\n nav11 = '
  • ' + navh1 + '
  • ';\n }\n\n navbody1 = navbody1 + nav11;\n Object.keys(result.objectfield1).forEach(function (key, index) {\n // key: the name of the object key\n //// console.log(index + ' ' + key + ' ' + result.objectfield1[key]);\n // index: the ordinal position of the key within the object\n if (targetLayerFields.includes(key)) {\n let str1 = '' + '' + key + '' + '' + result.objectfield1[key] + '' + '';\n tablebody1 = tablebody1 + str1;\n }\n\n if (navh1 === 'LOT_Info') {\n if (key === 'OBJECTID') {\n objectid_lot = result.objectfield1[key];\n }\n\n if (index === Object.keys(result.objectfield1).length - 1) {\n let str1 = '
    ';\n tablebody1 = tablebody1 + str1;\n }\n }\n });\n let table11 = tablebodystart1 + tablebody1 + tablebodyend1;\n let completethead = 'KeyValue';\n let completeTable = '
    ' + '' + completethead + table11 + '
    ' + '
    ';\n let tab11 = '';\n\n if (firstTabFlag == true) {\n tab11 = '

    ' + completeTable + '
    ';\n } else {\n tab11 = '

    ' + completeTable + '
    ';\n }\n\n tabbody1 = tabbody1 + tab11; //// console.log(tab11);\n\n tablebody1 = '';\n firstTabFlag = false;\n }\n });\n\n if (url) {\n product = new Promise(async (resolve, reject) => {\n let result = await (0, _axios.default)({\n method: 'GET',\n url\n });\n\n if (result.data.id !== null) {\n result = result.data.id;\n buyButton = \"
    Buy CP
    \");\n resolve(buyButton);\n } else {\n buyButton = '
    CP unavailable
    ';\n resolve(buyButton);\n }\n });\n } else {\n product = new Promise((resolve, reject) => {\n buyButton = '
    CP unavailable
    ';\n resolve(buyButton);\n });\n }\n\n product.then(cp_button => {\n let completenav = navstart1 + navbody1 + navend1;\n let completetabcontent = tabstart1 + tabbody1 + tabend1; // To disable Buy CP from info windows\n // let completepopcontent = completenav + completetabcontent + cp_button;\n\n let completepopcontent = completenav + completetabcontent;\n\n if (_environment.default.W3O_openlayers.deployment == 'GEOPORTAL') {\n completepopcontent += \"
    \";\n } // console.log('completepopcontent');\n // console.log(completepopcontent);\n //let cpt1 = '';\n //let cpt2 = '

    HOME

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

    Menu 1

    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    Menu 2

    Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.
    ';\n //let completeTable = cpt1 + cpt2;\n\n\n let element = popup.getElement(); //let closeContent = '
    X
    ';\n //let content1 = '
    # First Last Handle
    1 Mark Otto @mdo
    2 Jacob Thornton @fat
    3 Larry the Bird @twitter
    ';\n //let content3 = '
    Name
    Telephone
     
    John
    CHECK
    Cassie
    CHECK
    ';\n\n (0, _jquery.default)(element).popover('dispose');\n popup.setPosition(tcoordinate);\n (0, _jquery.default)(element).popover({\n placement: 'top',\n animation: false,\n template: '

    ',\n html: true,\n title: 'Geo Info ×',\n content: completepopcontent\n });\n (0, _jquery.default)(element).popover('show');\n\n const xlsButtonLogic = async (xls_params, xls_button, xlsButtonName) => {\n //Disable button (to prevent accident multiple clicks)\n (0, _jquery.default)(xls_button).off('click');\n (0, _jquery.default)(xls_button).addClass(\"disabled\");\n (0, _jquery.default)(xls_button).prepend('\"Loading\"');\n\n if (!self.get('authObject').get('isAuthenticated')) {\n window.location.replace(\"\".concat(self.store.adapterFor('application').get('host'), \"/login\"));\n return;\n }\n\n let url_xlsgenerate = \"\".concat(self.store.adapterFor('application').get('serverHost')).concat(self.store.adapterFor('application').get('namespace'), \"/rsosheets/doXLSExport\");\n let response = await _axios.default.post(url_xlsgenerate, { ...xls_params,\n erdashost_url: self.store.adapterFor('application').get('erdasHost')\n }).catch(error => {\n alert(\"An error occured while generating Excels, \".concat(error.response.data));\n return null;\n });\n\n if (response.data) {\n let {\n base64,\n fileName,\n type\n } = response.data;\n let blob;\n\n try {\n blob = this.dataURItoBlob(base64);\n } catch (e) {\n // source: https://stackoverflow.com/a/21797381\n let binary_string = window.atob(base64);\n let len = binary_string.length;\n let bytes = new Uint8Array(len);\n\n for (let i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n\n let arrayBuffer = bytes.buffer;\n blob = new Blob([arrayBuffer], {\n type\n });\n }\n\n let blobUrl = URL.createObjectURL(blob);\n let a = document.createElement('a');\n a.href = blobUrl;\n a.download = fileName || blobUrl.split('/').pop();\n a.click();\n } //Enable button\n\n\n (0, _jquery.default)(xls_button).html(\"\".concat(xlsButtonName));\n };\n\n if (_environment.default.W3O_openlayers.deployment == 'GEOPORTAL') {\n let xls_button = document.createElement('div');\n (0, _jquery.default)(xls_button).addClass(\"btn mx-lg-1 btn-sm btn-primary\").html(\"Excels\").on(\"click\", async function () {\n // alert(objectid_lot);\n let xls_params = {\n objectid_lot\n }; // rso_params.with_orthophoto = false;\n\n let xlsButtonName = \"Excels\";\n await xlsButtonLogic(xls_params, xls_button, xlsButtonName);\n });\n (0, _jquery.default)(xls_button).appendTo((0, _jquery.default)(\"#generate_xls\"));\n } // if (ENV.W3O_openlayers.deployment == 'GEOPORTAL') {\n // let rso_button = document.createElement('div');\n // $(rso_button).addClass(\"btn btn-sm btn-primary\")\n // .html(`Purchase RSO (${rso_type})`)\n // .on(\"click\", async function(){\n // let url = `${self.store.adapterFor('application').get('host')}/shopping-cart`;\n // let url_featureexport = `${self.store.adapterFor('application').get('serverHost')}${self.store.adapterFor('application').get('namespace')}/rsosheets/doRSOExport`;\n // let response = await axios.post(\n // url_featureexport,\n // {\n // rso_ref,\n // rso_type,\n // lot_type,\n // lot_num,\n // book_code,\n // user: self.get(\"authObject.data.user.id\")\n // }\n // ).catch((error) => {\n // alert(`An error occured while preparing RSO Sheet's order, ${error.response.data}`);\n // return null;\n // });\n // if (response) {\n // window.location.replace(`${self.store.adapterFor('application').get('host')}/shopping-cart`);\n // }\n // })\n // .appendTo($(\"#purchase_rso\"));\n // }\n\n });\n } // if pointer \n\n\n if (mouse_pointer_type === 'crosshair' && !self.isLoading) {\n // console.log('Captured SINGLE CLICK for MEASURE ...');\n if (MEASURE_ACTIVE_FLAG === false) {\n // console.log(map.getEventCoordinate(evt));\n // console.log(evt.coordinate); // work only for left single click or left dbl click\n let tcoordinate = evt.coordinate;\n let view1 = map.getView();\n var viewResolution = view1.getResolution();\n let layers1 = map.getLayers();\n let layerfilterArr = [];\n let measureSource = new _Vector2.default();\n let measureVectorLayer = new _Vector.default({\n source: measureSource,\n zIndex: 150,\n style: new _style.Style({\n fill: new _style.Fill({\n color: 'rgba(255, 255, 255, 0.2)'\n }),\n stroke: new _style.Stroke({\n color: '#ffcc33',\n width: 2\n }),\n image: new _style.Circle({\n radius: 7,\n fill: new _style.Fill({\n color: '#ffcc33'\n })\n })\n })\n });\n measureSrcArray.push(measureSource);\n measureVLayerArray.push(measureVectorLayer);\n self.set('measureSource', measureSrcArray);\n self.set('measureVectorLayer', measureVLayerArray);\n /**\n * Currently drawn feature.\n * @type {import(\"../src/ol/Feature.js\").default}\n */\n\n let sketch;\n /**\n * The measure tooltip element.\n * @type {HTMLElement}\n */\n\n let measureTooltipElement;\n /**\n * Overlay to show the measurement.\n * @type {Overlay}\n */\n\n let measureTooltip;\n /**\n * Message to show when the user is drawing a line.\n * @type {string}\n */\n\n let continueLineMsg = 'Click to continue drawing the line';\n /**\n * Message to show when the user is drawing a polygon.\n * @type {string}\n */\n\n let continuePolygonMsg = 'Click to continue drawing the polygon';\n /**\n * Handle pointer move.\n * @param {import(\"../src/ol/MapBrowserEvent\").default} evt The event.\n */\n\n /* var pointerMoveHandler = function(evt) {\n if (evt.dragging) {\n // console.log('Measure tool, pointerMoveHandler evt dragging...');\n return;\n }\n var helpMsg = 'Click to start drawing';\n if (sketch) {\n // console.log('Measure tool, pointerMoveHandler if sketch...');\n var geom = sketch.getGeometry();\n if (geom instanceof Polygon) {\n helpMsg = continuePolygonMsg;\n } else if (geom instanceof LineString) {\n helpMsg = continueLineMsg;\n }\n }\n helpTooltipElement.innerHTML = helpMsg;\n helpTooltip.setPosition(evt.coordinate);\n helpTooltipElement.classList.remove('hidden');\n }; */\n //map.on('pointermove', pointerMoveHandler);\n //maybe not needed as we do not want to show tooltips\n\n var draw; // global so we can remove it later\n\n /**\n * Format length output.\n * @param {LineString} line The line.\n * @return {string} The formatted length.\n */\n\n let formatLength = function (line) {\n var length = (0, _sphere.getLength)(line);\n var output;\n\n if (length > 100) {\n output = Math.round(length / 1000 * 100) / 100 + ' ' + 'km';\n } else {\n output = Math.round(length * 100) / 100 + ' ' + 'm';\n }\n\n return output;\n };\n /**\n * Format area output.\n * @param {Polygon} polygon The polygon.\n * @return {string} Formatted area.\n */\n\n\n let formatArea = function (polygon) {\n var area = (0, _sphere.getArea)(polygon);\n var output;\n\n if (area > 10000) {\n output = Math.round(area / 1000000 * 100) / 100 + ' ' + 'km2';\n } else {\n output = Math.round(area * 100) / 100 + ' ' + 'm2';\n }\n\n return output;\n };\n\n function addInteractionMeasure() {\n // console.log('MEASURE - addInteractionMeasure ...');\n //let type = (typeSelect.value == 'area' ? 'Polygon' : 'LineString');\n let type = 'LineString';\n draw = new _interaction.Draw({\n source: measureSource,\n type: type,\n style: new _style.Style({\n fill: new _style.Fill({\n color: 'rgba(255, 255, 255, 0.2)'\n }),\n stroke: new _style.Stroke({\n color: 'rgba(255, 255, 255, 0.5)',\n lineDash: [10, 10],\n width: 2\n }),\n image: new _style.Circle({\n radius: 5,\n stroke: new _style.Stroke({\n color: 'rgba(255, 255, 255, 0.7)'\n }),\n fill: new _style.Fill({\n color: 'rgba(255, 255, 255, 0.2)'\n })\n })\n })\n });\n map.addInteraction(draw);\n map.addLayer(measureVectorLayer);\n let listener;\n let drawstartListenerKey = draw.once('drawstart', function (evt) {\n let c_srs = view1.getProjection().getCode(); // set sketch\n // console.log('Measure tool, drawstart handler...');\n\n sketch = evt.feature; // console.log(sketch);\n\n /** @type {import(\"../src/ol/coordinate.js\").Coordinate|undefined} */\n\n var tooltipCoord = evt.coordinate;\n listener = sketch.getGeometry().on('change', function (evt) {\n var geom = evt.target;\n var output;\n\n if (geom instanceof _geom.Polygon) {\n output = formatArea(geom);\n tooltipCoord = geom.getInteriorPoint().getCoordinates();\n } else if (geom instanceof _geom.LineString) {\n // console.log('Measure LineString object');\n // console.log(geom);\n let clone_geom = null;\n\n if (c_srs == \"EPSG:4326\") {\n clone_geom = geom.clone();\n clone_geom.transform(c_srs, 'EPSG:32650'); // console.log(clone_geom);\n\n output = formatLength(clone_geom);\n } else {\n output = formatLength(geom);\n } // console.log('Measure tool, drawstart handler, output is: ' +output);\n\n\n tooltipCoord = geom.getLastCoordinate();\n }\n\n measureTooltipElement.innerHTML = output;\n measureTooltip.setPosition(tooltipCoord);\n });\n });\n let drawendListenerKey = draw.once('drawend', function () {\n // console.log('Measure tool, drawend handler...');\n measureTooltipElement.className = 'ol-tooltip ol-tooltip-static';\n measureTooltip.setOffset([0, -7]); // unset sketch\n\n sketch = null; // unset tooltip so that a new one can be created\n\n measureTooltipElement = null;\n createMeasureTooltip();\n (0, _Observable.unByKey)(listener);\n (0, _Observable.unByKey)(drawstartListenerKey);\n (0, _Observable.unByKey)(drawendListenerKey);\n map.removeInteraction(draw);\n mouse_pointer_type = 'default';\n let map_panel_arr2 = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr2[0].style.cursor = \"default\"; //draw = null;\n\n MEASURE_ACTIVE_FLAG = false; // console.log('Measure tool, drawend handler COMPLETED...');\n });\n } // func addInteraction \n\n\n addInteractionMeasure();\n createMeasureTooltip();\n MEASURE_ACTIVE_FLAG = true; // to prevent multiple setup of draw event \n\n /**\n * Creates a new measure tooltip\n */\n\n function createMeasureTooltip() {\n if (measureTooltipElement) {\n measureTooltipElement.parentNode.removeChild(measureTooltipElement);\n }\n\n measureTooltipElement = document.createElement('div');\n measureTooltipElement.className = 'ol-tooltip ol-tooltip-measure';\n measureTooltip = new _Overlay.default({\n id: 'measure_overlay_2',\n element: measureTooltipElement,\n offset: [0, -15],\n positioning: 'bottom-center'\n });\n map.addOverlay(measureTooltip);\n measureOutOverlayArray.push(measureTooltip);\n self.set('measureOutputOverlay', measureOutOverlayArray);\n }\n } // if MEASURE_ACTIVE_FLAG\n\n } // if crosshair \n\n\n if (mouse_pointer_type === 'not-allowed' && !self.isLoading) {\n // console.log(\"Clear Measure Info tool ...\");\n // console.log(self.get('measureSource'));\n // console.log(self.get('measureVectorLayer'));\n // console.log(self.get('measureOutputOverlay'));\n let ms2 = self.get('measureSource');\n let outovly2 = self.get('measureOutputOverlay');\n ms2.forEach(source1 => source1.clear());\n outovly2.forEach(overlay1 => map.removeOverlay(overlay1)); // console.log(\"is there a map here...\");\n //// console.log(map);\n //// console.log(map.getOverlays());\n\n measureSrcArray.splice(0, measureSrcArray.length);\n measureVLayerArray.splice(0, measureVLayerArray.length);\n measureOutOverlayArray.splice(0, measureOutOverlayArray.length);\n mouse_pointer_type = 'default';\n let map_panel_arr2 = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr2[0].style.cursor = \"default\";\n } // if not-allowed\n\n\n if (mouse_pointer_type === 'help' && !self.isLoading) {\n // console.log(\"Open or close Master Plan legends ...\");\n // Get the modal\n let modal = document.getElementById(\"nlumpModal\"); // Get the button that closes the modal\n\n let closebtn = document.getElementById(\"nlumpCloseBtn\");\n\n if ((0, _jquery.default)(modal).css('display') === 'none') {\n (0, _jquery.default)(modal).css(\"display\", \"block\");\n } else {\n (0, _jquery.default)(modal).css(\"display\", \"none\");\n }\n\n (0, _jquery.default)(closebtn).on('click', function () {\n (0, _jquery.default)(modal).css(\"display\", \"none\");\n });\n } // if not-allowed\n\n\n if (mouse_pointer_type === 'text' && !self.isLoading) {\n // console.log(\"Open or close Scales selection ...\");\n // Get the modal\n let modal = document.getElementById(\"scaleModal\"); // Get the button that closes the modal\n\n let closebtn = document.getElementById(\"scaleCloseBtn\");\n\n if ((0, _jquery.default)(modal).css('display') === 'none') {\n (0, _jquery.default)(modal).css(\"display\", \"block\");\n } else {\n (0, _jquery.default)(modal).css(\"display\", \"none\");\n }\n\n (0, _jquery.default)(closebtn).on('click', function () {\n (0, _jquery.default)(modal).css(\"display\", \"none\");\n });\n } // if not-allowed\n\n\n if (mouse_pointer_type === 'wait' && !self.isLoading) {\n // console.log(\"Open or close Mobile Guide selection ...\");\n window.open(\"\".concat(self.store.adapterFor('application').get('host'), \"/pdf/GeoportalMobileGuide.pdf\"), '_blank'); // // Get the modal\n // let modal = document.getElementById(\"scaleModal\");\n // // Get the button that closes the modal\n // let closebtn = document.getElementById(\"scaleCloseBtn\");\n // if($(modal).css('display') === 'none'){\n // $(modal).css(\"display\",\"block\");\n // } else {\n // $(modal).css(\"display\",\"none\");\n // }\n // $(closebtn).on('click', function(){\n // $(modal).css(\"display\",\"none\");\n // });\n } // if not-allowed\n\n });\n (0, _jquery.default)(document).on(\"click\", \".popover .close\", function () {\n (0, _jquery.default)(this).parents(\".popover\").popover('hide');\n });\n this.set('firstLoaded', true);\n return map;\n },\n\n getInitLayers(code) {\n let res1 = null;\n\n if (code == '5247') {\n res1 = this.get('initLayersG');\n } else if (code == '4326') {\n res1 = this.get('initLayersW');\n } else {\n res1 = this.get('initLayersT');\n }\n\n return res1;\n },\n\n getOinitialextent(map) {\n const initextent = this.get('initialExtent');\n return initextent;\n },\n\n getOlayers(map) {\n const store = this.get('store'); // console.log('ol-mapservice getOlayers...'); \n // this is likely the cause of the error - cannot fetch layers inside LG\n // console.log(map.getLayers().getArray().concat());\n\n const layers = map.getLayers().getArray().concat().reverse().map(function (layer) {\n if (layer.getLayers) {\n let layerC = store.createRecord('ol-layer', {\n layer\n });\n const layersArray = layer.getLayers().getArray();\n const layersCArr = layersArray.map(layer => store.createRecord('ol-layer', {\n layer\n })); //const layersCArr = [];\n\n let compositeLayer = layerC;\n compositeLayer.group_array = layersCArr; //compositeLayer.group_class = layerC;\n //return {group_class: layerC, group_array: layersCArr};\n\n return compositeLayer;\n } else {\n return store.createRecord('ol-layer', {\n layer\n });\n }\n }); // console.log('ol-mapservice getOlayers... after process by...');\n // console.log(layers);\n\n this.set('layers', layers);\n return layers;\n },\n\n clearSearchResults() {\n // console.log('Clear Search Results');\n const map = this.get('map');\n let layers1 = map.getLayers();\n layers1.forEach(element => {//// console.log(element);\n //// console.log(element.getProperties());\n //// console.log(element.get('title'));\n });\n },\n\n prepSearchResults(features) {\n // console.log('Prep Search Results');\n // console.log('Each feature properties...')\n features.forEach(element => {// console.log(element.getProperties());\n // console.log(element.getGeometry());\n // console.log(element.getStyle());\n // console.log('feature lot num: ' + element.get('LOTNUM'));\n });\n },\n\n async fetchNearbyWfsObjects(swfs1, slayer1, scoord1, stype) {\n let fetchresults = null;\n const map = this.get('map');\n\n let _s_srs = map.getView().getProjection().getCode(); // console.log('ol-mapservice fetchwfsobjects srs found : ' + _s_srs);\n\n\n let searchCoordCal = '';\n\n if (_s_srs == 'EPSG:4326') {\n //const carray = scoord1.split(\",\");\n // console.log(scoord1);\n const carray5247 = (0, proj.transform)(scoord1, 'EPSG:4326', 'EPSG:5247'); // console.log(carray5247);\n // let x1 = carray5247[0] - 1772.3470206865; // hack to fix proj4.js bug in handling omerc\n // let y1 = carray5247[1] + 1901.6041742575;\n\n let x1 = carray5247[0];\n let y1 = carray5247[1];\n searchCoordCal = [x1, y1];\n _s_srs = 'EPSG:5247';\n } else if (_s_srs == 'EPSG:29873') {\n // console.log(scoord1);\n const carray5247 = (0, proj.transform)(scoord1, 'EPSG:29873', 'EPSG:5247'); // console.log(carray5247);\n // let x1 = carray5247[0] - 1432.1054073741; // hack to fix proj4.js bug in handling omerc\n // let y1 = carray5247[1] + 1917.4047292559;\n\n let x1 = carray5247[0];\n let y1 = carray5247[1];\n searchCoordCal = [x1, y1];\n _s_srs = 'EPSG:5247';\n } else {\n searchCoordCal = scoord1;\n }\n\n let fetchxmlStr = 'SHAPE' + searchCoordCal + '1'; // console.log('ol-mapservice fetchwfsobjects fetchstr : ' + fetchxmlStr);\n //url = new URL(\"http://survey.gov.bn/erdas-apollo/vector/LOTS3\")\n\n let url = new URL(swfs1),\n params = {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n SRS: _s_srs,\n typename: slayer1,\n Filter: fetchxmlStr\n };\n Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));\n\n const getFilterWfs = async () => {\n try {\n let url11 = url;\n return await _axios.default.get(url11);\n } catch (error) {\n console.error(error);\n }\n };\n\n const queryWfs = async () => {\n const response = await getFilterWfs(); // console.log('getFilterWfs from WFS API .. result is');\n //// console.log(response.data);\n\n if (Boolean(response.data)) {\n return response.data;\n } else {\n return '';\n }\n }; // console.log('TEST AXIOS OUT 2');\n\n\n let taxaa = queryWfs(); //// console.log(taxaa);\n\n fetchresults = queryWfs().then(function (xml) {\n var format = new _GML.default({\n srsName: _s_srs,\n surface: false,\n curve: false\n }); // console.log('hoichong ol-mapservice fetchWfsObjects WFS GET response');\n //// console.log(xml);\n //try to parse data\n\n var features = format.readFeatures(xml, {\n dataProjection: _s_srs,\n featureProjection: _s_srs\n }); // console.log(features);\n // console.log(format.readProjection(xml)); //GML2 from OL cannot read the projection info from Apollo GML\n //self.prepSearchResults(features);\n\n let fres2 = []; // switch (stype) {\n // case 'Lots':\n // fres2 = features.map(function (feature1) {\n // let cf1 = feature1.getProperties();\n // delete cf1['SHAPE'];\n // let mt1 = {\n // objectnum: feature1.get('OBJECTID'),\n // objectfield1: cf1,\n // objectfield0: 'Lots'\n // };\n // return mt1;\n // });\n // break;\n // case 'TOL':\n // fres2 = features.map(function (feature1) {\n // let cf1 = feature1.getProperties();\n // delete cf1['SHAPE'];\n // let mt1 = {\n // objectnum: feature1.get('OBJECTID'),\n // objectfield1: cf1,\n // objectfield0: 'TOL'\n // };\n // return mt1;\n // });\n // break;\n // case 'Gazette':\n // fres2 = features.map(function (feature1) {\n // let cf1 = feature1.getProperties();\n // delete cf1['SHAPE'];\n // let mt1 = {\n // objectnum: feature1.get('OBJECTID'),\n // objectfield1: cf1,\n // objectfield0: 'Gazette'\n // };\n // return mt1;\n // });\n // break;\n // case 'Kampung':\n // fres2 = features.map(function (feature1) {\n // let cf1 = feature1.getProperties();\n // delete cf1['SHAPE'];\n // let mt1 = {\n // objectnum: feature1.get('OBJECTID'),\n // objectfield1: cf1,\n // objectfield0: 'Kampung'\n // };\n // return mt1;\n // });\n // break; \n // default:\n // // console.log('Wrong Fetch Type');\n // }\n\n fres2 = features.map(function (feature1) {\n let cf1 = feature1.getProperties();\n delete cf1['SHAPE'];\n let mt1 = {\n objectnum: feature1.get('OBJECTID'),\n objectfield1: cf1,\n objectfield0: stype.type\n };\n return mt1;\n });\n return fres2;\n }); // console.log('Fetch Results');\n // console.log(fetchresults);\n\n return fetchresults;\n },\n\n async fetchWithinWfsObjects(swfs1, slayer1, scoord1, stype) {\n // console.log('fetchWithinWfsObjects');\n // console.log(swfs1, slayer1, scoord1, stype);\n let fetchresults = null;\n const map = this.get('map');\n\n let _s_srs = map.getView().getProjection().getCode(); // console.log('ol-mapservice fetchwfsobjects srs found - within: ' + _s_srs);\n\n\n let searchCoordCal = '',\n searchCoordCal_min = '',\n searchCoordCal_max = '';\n let CoordCal_min = [],\n CoordCal_max = [];\n scoord1.forEach(coord => {\n CoordCal_min.push(coord - 7);\n CoordCal_max.push(coord + 7);\n }); // console.log('min max coords');\n // console.log(CoordCal_min);\n // console.log(CoordCal_max);\n\n if (_s_srs == 'EPSG:4326') {\n //const carray = scoord1.split(\",\");\n // // console.log(scoord1);\n const carray5247_min = (0, proj.transform)(CoordCal_min, 'EPSG:4326', 'EPSG:5247');\n const carray5247_max = (0, proj.transform)(CoordCal_max, 'EPSG:4326', 'EPSG:5247'); // console.log(carray5247_min);\n // console.log(carray5247_max);\n // let x1_min = carray5247_min[0] - 1772.3470206865; // hack to fix proj4.js bug in handling omerc\n // let y1_min = carray5247_min[1] + 1901.6041742575;\n // let x1_max = carray5247_max[0] - 1772.3470206865; // hack to fix proj4.js bug in handling omerc\n // let y1_max = carray5247_max[1] + 1901.6041742575;\n\n let x1_min = carray5247_min[0];\n let y1_min = carray5247_min[1];\n let x1_max = carray5247_max[0];\n let y1_max = carray5247_max[1];\n searchCoordCal_min = [x1_min, y1_min];\n searchCoordCal_max = [x1_max, y1_max];\n _s_srs = 'EPSG:5247';\n } else if (_s_srs == 'EPSG:29873') {\n // // console.log(scoord1);\n const carray5247_min = (0, proj.transform)(CoordCal_min, 'EPSG:29873', 'EPSG:5247');\n const carray5247_max = (0, proj.transform)(CoordCal_max, 'EPSG:29873', 'EPSG:5247'); // console.log(carray5247_min);\n // console.log(carray5247_max);\n // let x1_min = carray5247_min[0] - 1432.1054073741; // hack to fix proj4.js bug in handling omerc\n // let y1_min = carray5247_min[1] + 1917.4047292559;\n // let x1_max = carray5247_max[0] - 1432.1054073741; // hack to fix proj4.js bug in handling omerc\n // let y1_max = carray5247_max[1] + 1917.4047292559;\n\n let x1_min = carray5247_min[0];\n let y1_min = carray5247_min[1];\n let x1_max = carray5247_max[0];\n let y1_max = carray5247_max[1];\n searchCoordCal_min = [x1_min, y1_min];\n searchCoordCal_max = [x1_max, y1_max];\n _s_srs = 'EPSG:5247';\n } else {\n searchCoordCal_min = CoordCal_min;\n searchCoordCal_max = CoordCal_max;\n } // let fetchxmlStr = 'SHAPE' + searchCoordCal + '1';\n\n\n let fetchxmlStr = \"SHAPE\").concat(searchCoordCal_min, \" \").concat(searchCoordCal_max, \"\"); // console.log('ol-mapservice fetchwfsobjects fetchstr : ' + fetchxmlStr);\n\n if (slayer1 === 'TBL_PT_CTL_TRANS_SHAPE_GDBD') {\n fetchxmlStr = \"SHAPE\").concat(searchCoordCal_min, \" \").concat(searchCoordCal_max, \"VC_EXISTT\");\n } //url = new URL(\"http://survey.gov.bn/erdas-apollo/vector/LOTS3\")\n\n\n let url = new URL(swfs1),\n params = {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n SRS: _s_srs,\n typename: slayer1,\n Filter: fetchxmlStr\n };\n Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));\n\n const getFilterWfs = async () => {\n try {\n let url11 = url;\n return await _axios.default.get(url11);\n } catch (error) {\n console.error(error);\n }\n };\n\n const queryWfs = async () => {\n const response = await getFilterWfs(); // console.log('getFilterWfs from WFS API .. result is within');\n // console.log(response.data);\n\n if (Boolean(response.data)) {\n return response.data;\n } else {\n return '';\n }\n }; // console.log('TEST AXIOS OUT 2');\n\n\n let taxaa = queryWfs(); //// console.log(taxaa);\n\n fetchresults = queryWfs().then(function (xml) {\n var format = new _GML.default({\n srsName: _s_srs,\n surface: false,\n curve: false\n }); // console.log('hoichong ol-mapservice fetchWfsObjects WFS GET response');\n //// console.log(xml);\n //try to parse data\n\n var features = format.readFeatures(xml, {\n dataProjection: _s_srs,\n featureProjection: _s_srs\n }); // console.log(features);\n // console.log(format.readProjection(xml)); //GML2 from OL cannot read the projection info from Apollo GML\n //self.prepSearchResults(features);\n\n let fres2 = [];\n fres2 = features.map(function (feature1) {\n let cf1 = feature1.getProperties();\n delete cf1['SHAPE'];\n let mt1 = {\n objectnum: feature1.get('OBJECTID'),\n objectfield1: cf1,\n objectfield0: stype.type\n };\n return mt1;\n });\n return fres2;\n }); // console.log('Fetch Results within');\n // console.log(fetchresults);\n\n return fetchresults;\n },\n\n async findWfsObjects(self, swfs1, slayer1, sattr1, sstr1, stype) {\n let foundresults = null;\n const map = this.get('map');\n\n let _s_srs = map.getView().getProjection().getCode(); // console.log('ol-mapservice findwfsobjects srs found : ' + _s_srs);\n\n\n let filterxmlStr = '' + sattr1 + '' + sstr1 + '';\n\n if (slayer1 === 'TBL_PT_CTL_TRANS_SHAPE_GDBD') {\n filterxmlStr = '' + sattr1 + '' + sstr1 + 'VC_EXISTT';\n } // console.log('ol-mapservice findwfsobjects filterstr : ' + filterxmlStr);\n\n\n let searchFilterStr = ''; // hack needed for Edge browser \n\n if (window.navigator.userAgent.indexOf(\"Edge\") > -1) {\n let fStr11 = filterxmlStr.replace(/%/g, \"%25\");\n let fStr12 = fStr11.replace(/=/g, \"%3D\");\n let fStr13 = fStr12.replace(/\\//g, \"%2F\");\n let fStr14 = fStr13.replace(/:/g, \"%3A\");\n searchFilterStr = fStr14;\n } else {\n searchFilterStr = filterxmlStr;\n } //url = new URL(\"http://survey.gov.bn/erdas-apollo/vector/LOTS3\")\n\n\n let url = new URL(swfs1),\n params = {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n SRS: _s_srs,\n typename: slayer1,\n Filter: searchFilterStr\n };\n Object.keys(params).forEach(key => url.searchParams.append(key, params[key]));\n /* let filterxmlStr2 = 'VC_LOTNUM%3854%';\n let url2 = new URL(\"http://localhost/erdas-apollo/vector/LOTS3\"),\n params2 = {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n SRS: 'EPSG:29873',\n typename: 'MV_LOTS3',\n Filter: filterxmlStr2,\n }\n Object.keys(params2).forEach(key => url2.searchParams.append(key, params2[key])) */\n //hardcode for testing\n\n const getFilterWfs = async () => {\n try {\n let url11 = url;\n return await _axios.default.get(url11);\n } catch (error) {\n console.error(error);\n }\n };\n\n const queryWfs = async () => {\n const response = await getFilterWfs(); // console.log('getFilterWfs from WFS API .. result is');\n //// console.log(response.data);\n\n if (Boolean(response.data)) {\n return response.data;\n } else {\n return '';\n }\n }; // console.log('TEST AXIOS OUT');\n //let taxaa = queryWfs();\n //// console.log(taxaa);\n\n\n foundresults = queryWfs().then(function (xml) {\n var format = new _GML.default({\n srsName: _s_srs,\n surface: false,\n curve: false\n }); // console.log('hoichong ol-mapservice findWfsObjects WFS GET response');\n //// console.log(xml);\n //try to parse data\n\n var features = format.readFeatures(xml, {\n dataProjection: _s_srs,\n featureProjection: _s_srs\n }); // console.log(features);\n // console.log(format.readProjection(xml));\n //self.prepSearchResults(features);\n\n let fres2 = [];\n\n switch (stype) {\n case 'Geodetic':\n case 'Geodetic_exact':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('VC_STN_NAME_PK'),\n objectfield1: 'LOCATION: ' + feature1.get('LOCATION'),\n objectfield2: 'Place',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'Lots':\n case 'Lots_exact':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('LOTNUM'),\n objectfield1: feature1.get('DISTCODE') + ' : ' + feature1.get('BOOKCODE') + ', ' + feature1.get('VC_RSO_NUM') + ', Kg.' + feature1.get('DESCRIPTION') + ', EDR: ' + feature1.get('VC_EDRNUM'),\n objectfield2: '',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'Lots_EDR':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('EDRNUM'),\n objectfield1: feature1.get('DISTCODE') + ' : ' + feature1.get('BOOKCODE') + ', ' + feature1.get('VC_RSO_NUM') + ', Kg.' + feature1.get('DESCRIPTION') + ', LOT: ' + feature1.get('VC_LOTNUM'),\n objectfield2: '',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'TOL':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('TOLNUM'),\n objectfield1: feature1.get('DISTCODE') + ' : ' + feature1.get('BOOKCODE'),\n objectfield2: '',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'Gazette':\n case 'Gazette_exact':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('GR_NUM'),\n objectfield1: feature1.get('MINISTRIES_NAME') + ' : ' + feature1.get('DEPARTMENTS_NAME') + ' ' + feature1.get('VC_GR_TYPE'),\n objectfield2: '',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'Place':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('DESCR') ? feature1.get('DESCR').replace(/ .*/, '') : ' ',\n objectfield1: feature1.get('PLACENAME'),\n objectfield2: 'Place',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'Kampung':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('KG_NAME'),\n objectfield1: feature1.get('MUKIM_NAME'),\n objectfield2: 'Kampung',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'Mukim':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('MUKIM_NAME'),\n objectfield1: feature1.get('DISTCODE'),\n objectfield2: 'Mukim',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n case 'RSO':\n fres2 = features.map(function (feature1) {\n let mt1 = {\n objectnum: feature1.get('RSOREF'),\n objectfield1: '',\n objectfield2: '',\n geom: feature1.get('SHAPE') //feature: feature1 // no need to return the entire feature, just the geometry/shape will do\n\n };\n return mt1;\n });\n break;\n\n default: // console.log('Wrong Search, Did not find any features');\n\n } //const vectorSource = this.get('vectorSource');\n //vectorSource.addFeatures(features); // won't work because OL do not process Apollo GML correctly , need to enhance OL \n //// console.log(vectorSource.getProjection());\n //vectorSource.refresh();\n //// console.log('ol-mapservice map layers are: ');\n //// console.log(map.getLayers());\n\n\n return fres2;\n }); //// console.log(foundresults);\n\n return foundresults;\n },\n\n animateCSS(element, animationName, callback) {\n const node = document.querySelector(element);\n node.classList.add('animated', animationName);\n\n function handleAnimationEnd() {\n node.classList.remove('animated', animationName);\n node.removeEventListener('animationend', handleAnimationEnd);\n if (typeof callback === 'function') callback();\n }\n\n node.addEventListener('animationend', handleAnimationEnd);\n },\n\n setLayerVisType(layer, checkval) {\n // console.log('ol-mapservice setLayerVisType...');\n let imgLayer = null;\n\n if ('group_array' in layer) {\n //imgLayer = layer.group_class.get('layer');\n imgLayer = layer.get('layer');\n } else {\n imgLayer = layer.get('layer');\n } // console.log(layer);\n // console.log(checkval);\n // console.log(imgLayer.values_.minScale + ' ' + imgLayer.values_.maxScale);\n\n\n imgLayer.values_.visiType = 'Manual'; //// console.log(layer.visiType);\n },\n\n setRSOSize(rsosize) {\n this.set('rsosize', rsosize);\n },\n\n setMobileMode(value) {\n this.set('isMobile', value);\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/services/resize-detector\", [\"exports\", \"ember-element-resize-detector/services/resize-detector\"], function (_exports, _resizeDetector) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _resizeDetector.default;\n }\n });\n});","define(\"web-map/services/scrollbar-thickness\", [\"exports\", \"ember-scrollable/services/scrollbar-thickness\"], function (_exports, _scrollbarThickness) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _scrollbarThickness.default;\n }\n });\n});","define(\"web-map/services/session\", [\"exports\", \"ember-simple-auth/services/session\"], function (_exports, _session) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _session.default;\n _exports.default = _default;\n});","define(\"web-map/services/text-measurer\", [\"exports\", \"ember-text-measurer/services/text-measurer\"], function (_exports, _textMeasurer) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _textMeasurer.default;\n }\n });\n});","define(\"web-map/session-stores/application\", [\"exports\", \"ember-simple-auth/session-stores/adaptive\"], function (_exports, _adaptive) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _adaptive.default.extend();\n\n _exports.default = _default;\n});","define(\"web-map/templates/application\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"poQMa6e4\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[4,\\\"if\\\",[[24,[\\\"showAppLoading\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[5,\\\"loading-cover\\\",[],[[\\\"@class\\\"],[\\\"loading-cover\\\"]]],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/application.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/backup/27102021/start-gp\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"oTV2IIo+\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[7,\\\"body\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"navbar navbar-expand-lg navbar-light fixed-top bruh\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"id\\\",\\\"surveylogo\\\"],[12,\\\"class\\\",\\\"logo-grid\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"class\\\",\\\"img-mobile\\\"],[10,\\\"src\\\",\\\"images/BruneiLogoTransparent.png\\\"],[10,\\\"width\\\",\\\"75px\\\"],[8],[9],[0,\\\"   \\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"header-mobile\\\"],[8],[0,\\\"\\\\n Survey Department\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Ministry of Development\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Brunei Darussalam\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box ml-auto\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[24,[\\\"session\\\",\\\"isAuthenticated\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"form\\\",false],[12,\\\"class\\\",\\\"auth-form\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"authenticate\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group form-inline justify-content-end\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn ipad-btn-login margin-bottom-40 mx-3\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/login icon.png\\\"],[10,\\\"onmouseover\\\",\\\"this.src='images/login icon color.png';\\\"],[10,\\\"onmouseout\\\",\\\"this.src='images/login icon.png';\\\"],[10,\\\"class\\\",\\\"img-fluid btn-image-size\\\"],[10,\\\"alt\\\",\\\"Login\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"class\\\",\\\"d-none d-sm-block mtop\\\"],[8],[0,\\\"Welcome, \\\"],[1,[24,[\\\"authObject\\\",\\\"data\\\",\\\"user\\\",\\\"firstName\\\"]],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn ipad-btn-login margin-bottom-40 mx-3 mtop1\\\"],[12,\\\"type\\\",\\\"submit\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"invalidateSession\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/logout icon.png\\\"],[10,\\\"onmouseover\\\",\\\"this.src='images/logout icon color.png';\\\"],[10,\\\"onmouseout\\\",\\\"this.src='images/logout icon.png';\\\"],[10,\\\"class\\\",\\\"img-fluid btn-image-size\\\"],[10,\\\"alt\\\",\\\"Login\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"sr-only\\\"],[8],[0,\\\"(current)\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[0,\\\" \\\"],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container-fluid px-5\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pt-5 white-background\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt1 white-color\\\"],[8],[0,\\\"Welcome to Survey Geoportal\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt2 white-color\\\"],[8],[0,\\\"Negara Brunei Darussalam\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row pointer\\\"],[10,\\\"data-toggle\\\",\\\"modal\\\"],[10,\\\"data-target\\\",\\\"#modalWeb\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 d-none d-sm-block\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-6 col-9\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"/images/brunei map.png\\\"],[10,\\\"class\\\",\\\"img-fluid w-100\\\"],[10,\\\"alt\\\",\\\"Responsive image\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 col-3\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"table\\\",true],[10,\\\"style\\\",\\\"height: 100%;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"tr\\\",true],[10,\\\"valign\\\",\\\"bottom\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[10,\\\"align\\\",\\\"center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"https://survey.gov.bn/images/icons/Geoportal.png\\\"],[10,\\\"class\\\",\\\"img-fluid w-100\\\"],[10,\\\"alt\\\",\\\"Responsive image\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Click Image to continue\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Please refer to the \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"https://geoportal.survey.gov.bn/pdf/GeoportalUserGuide.pdf\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"style\\\",\\\"color: blue;\\\"],[8],[0,\\\"User Guide\\\"],[9],[0,\\\" on how to use it\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 d-none d-sm-block\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\\n\\\"],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal \\\"],[0,\\\"\\\\n \\\"],[2,\\\"\\\\n
    \\\\n
    \\\\n \\\\n
    \\\\n
    \\\\n \\\"],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal Public User\\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal fade\\\"],[10,\\\"id\\\",\\\"modalWeb\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[10,\\\"role\\\",\\\"dialog\\\"],[10,\\\"aria-labelledby\\\",\\\"modalWebTitle\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog modal-dialog-centered\\\"],[10,\\\"role\\\",\\\"document\\\"],[8],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-block d-md-none\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"close ml-auto pb-4\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"aria-label\\\",\\\"Close\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"aria-hidden\\\",\\\"true\\\"],[10,\\\"style\\\",\\\"color:white;\\\"],[8],[0,\\\"×\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body modal-mobile\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Public User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card-brown white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Registered User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to view JKR Points\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Online Map Basemap\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-none d-md-block\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-flex justify-content-center panel\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Public User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card-brown mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Registered User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to view JKR Points\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Online Map Basemap\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"main\\\",true],[10,\\\"role\\\",\\\"main\\\"],[10,\\\"class\\\",\\\"col-12 main-mobile mb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row mb-3\\\"],[8],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row d-none d-md-flex pb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-12 row text-center\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 fa fa-envelope accent-color\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 \\\"],[8],[0,\\\"* If You Have Any Comments, Suggestions or Questions, \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Please Kindly Send An Email To:\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-9 d-block d-md-none hr-s\\\"],[8],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content d-block d-md-none my-2 py-1 px-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-3 my-2 py-1\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"mx-1 font-weight-bold\\\"],[8],[0,\\\"* \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 \\\"],[8],[0,\\\"If you have any comments, suggestions or questions, please kindly send an email to: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footer content row mx-0 text-center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-8 mb-1 copyright\\\"],[8],[0,\\\"Copyright (c) Survey Department, Ministry of Development, Brunei Darussalam. All\\\\n rights reserved.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-10 d-block d-sm-none\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-4 mb-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"conditionsOfUse\\\"]],[8],[0,\\\"Conditions of Use\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"privacyPolicy\\\"]],[8],[0,\\\"Privacy Policy\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"disclaimer\\\"]],[8],[0,\\\"Disclaimer\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/backup/27102021/start-gp.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/backup/start-gp\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"9/BUZgFT\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[7,\\\"body\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"navbar navbar-expand-lg navbar-light fixed-top bruh\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"id\\\",\\\"surveylogo\\\"],[12,\\\"class\\\",\\\"logo-grid\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"class\\\",\\\"img-mobile\\\"],[10,\\\"src\\\",\\\"images/BruneiLogoTransparent.png\\\"],[10,\\\"width\\\",\\\"75px\\\"],[8],[9],[0,\\\"   \\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"header-mobile\\\"],[8],[0,\\\"\\\\n Survey Department\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Ministry of Development\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Brunei Darussalam\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box ml-auto\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[24,[\\\"session\\\",\\\"isAuthenticated\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"form\\\",false],[12,\\\"class\\\",\\\"auth-form\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"authenticate\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group form-inline justify-content-end\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn ipad-btn-login margin-bottom-40 mx-3\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/login icon.png\\\"],[10,\\\"onmouseover\\\",\\\"this.src='images/login icon color.png';\\\"],[10,\\\"onmouseout\\\",\\\"this.src='images/login icon.png';\\\"],[10,\\\"class\\\",\\\"img-fluid btn-image-size\\\"],[10,\\\"alt\\\",\\\"Login\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"class\\\",\\\"d-none d-sm-block mtop\\\"],[8],[0,\\\"Welcome, \\\"],[1,[24,[\\\"authObject\\\",\\\"data\\\",\\\"user\\\",\\\"firstName\\\"]],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn ipad-btn-login margin-bottom-40 mx-3 mtop1\\\"],[12,\\\"type\\\",\\\"submit\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"invalidateSession\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/logout icon.png\\\"],[10,\\\"onmouseover\\\",\\\"this.src='images/logout icon color.png';\\\"],[10,\\\"onmouseout\\\",\\\"this.src='images/logout icon.png';\\\"],[10,\\\"class\\\",\\\"img-fluid btn-image-size\\\"],[10,\\\"alt\\\",\\\"Login\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"sr-only\\\"],[8],[0,\\\"(current)\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[0,\\\" \\\"],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container-fluid px-5\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pt-5 white-background\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt1 white-color\\\"],[8],[0,\\\"Welcome to Survey Geoportal\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt2 white-color\\\"],[8],[0,\\\"Negara Brunei Darussalam\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row pointer\\\"],[10,\\\"data-toggle\\\",\\\"modal\\\"],[10,\\\"data-target\\\",\\\"#modalWeb\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 d-none d-sm-block\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-6 col-9\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"/images/brunei map.png\\\"],[10,\\\"class\\\",\\\"img-fluid w-100\\\"],[10,\\\"alt\\\",\\\"Responsive image\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 col-3\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"table\\\",true],[10,\\\"style\\\",\\\"height: 100%;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"tr\\\",true],[10,\\\"valign\\\",\\\"bottom\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[10,\\\"align\\\",\\\"center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"https://survey.gov.bn/images/icons/Geoportal.png\\\"],[10,\\\"class\\\",\\\"img-fluid w-100\\\"],[10,\\\"alt\\\",\\\"Responsive image\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Click Image to continue\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 d-none d-sm-block\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\\n\\\"],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal \\\"],[0,\\\"\\\\n \\\"],[2,\\\"\\\\n
    \\\\n
    \\\\n \\\\n
    \\\\n
    \\\\n \\\"],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal Public User\\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal fade\\\"],[10,\\\"id\\\",\\\"modalWeb\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[10,\\\"role\\\",\\\"dialog\\\"],[10,\\\"aria-labelledby\\\",\\\"modalWebTitle\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog modal-dialog-centered\\\"],[10,\\\"role\\\",\\\"document\\\"],[8],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-block d-md-none\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"close ml-auto pb-4\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"aria-label\\\",\\\"Close\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"aria-hidden\\\",\\\"true\\\"],[10,\\\"style\\\",\\\"color:white;\\\"],[8],[0,\\\"×\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body modal-mobile\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Public User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card-brown white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Registered User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to view JKR Points\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Google Map Basemap - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-none d-md-block\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-flex justify-content-center panel\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Public User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card-brown mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Registered User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- National Land Use Master Plan\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to view JKR Points\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Google Map Basemap - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"main\\\",true],[10,\\\"role\\\",\\\"main\\\"],[10,\\\"class\\\",\\\"col-12 main-mobile mb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row mb-3\\\"],[8],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row d-none d-md-flex pb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-12 row text-center\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 fa fa-envelope accent-color\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 \\\"],[8],[0,\\\"* If You Have Any Comments, Suggestions or Questions, \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Please Kindly Send An Email To:\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-9 d-block d-md-none hr-s\\\"],[8],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content d-block d-md-none my-2 py-1 px-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-3 my-2 py-1\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"mx-1 font-weight-bold\\\"],[8],[0,\\\"* \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 \\\"],[8],[0,\\\"If you have any comments, suggestions or questions, please kindly send an email to: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footer content row mx-0 text-center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-8 mb-1 copyright\\\"],[8],[0,\\\"Copyright (c) Survey Department, Ministry of Development, Brunei Darussalam. All\\\\n rights reserved.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-10 d-block d-sm-none\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-4 mb-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"conditionsOfUse\\\"]],[8],[0,\\\"Conditions of Use\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"privacyPolicy\\\"]],[8],[0,\\\"Privacy Policy\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"disclaimer\\\"]],[8],[0,\\\"Disclaimer\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/backup/start-gp.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/cashpayment\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"TYxtVu9D\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row mx-0 border-bottom cursor-pointer\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n\\\\t\\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"my-3 px-3\\\"],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"GEOPORTAL\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0 mt-2 px-md-0 mt-md-2 mb-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-5 px-md-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"offset-md-2 col-md-9 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row no-gutters my-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h3\\\",true],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"Cash Payment\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0 checkout-container\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-5 px-md-0\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"offset-md-2 col-md-9 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row no-gutters my-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"Payment received by Cash\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row no-gutters my-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"label\\\",true],[10,\\\"class\\\",\\\"text-secondary col-12 col-lg-12\\\"],[8],[0,\\\"Receipt Number / Vote Number:\\\"],[9],[0,\\\"\\\\n \\\"],[1,[28,\\\"input\\\",null,[[\\\"type\\\",\\\"class\\\",\\\"value\\\",\\\"disabled\\\"],[[24,[\\\"text\\\"]],\\\"col-12 col-lg-12 shadow-sm px-1\\\",[24,[\\\"receipt_number\\\"]],[24,[\\\"disableFOCfields\\\"]]]]],false],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"showReceiptNumberError\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"w-100 border border-danger text-danger text-center p-1 rounded m-2\\\"],[8],[0,\\\"Receipt Number / Vote Number is mandatory!\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"paymentSuccess\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-10 alert alert-success\\\"],[10,\\\"role\\\",\\\"alert\\\"],[8],[0,\\\"\\\\n \\\"],[1,[22,\\\"paymentSuccessMessage\\\"],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 no-gutters justify-content-around\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-lg-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"color:#f4806c; border-color:#f4806c;\\\"],[12,\\\"class\\\",\\\"m-1 float-right btn btn-primary btn-light w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"Back to Home\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-lg-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#F24423; border-color:#F24423;\\\"],[12,\\\"class\\\",\\\"m-1 float-right btn btn-primary w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"downloadRSO\\\",[24,[\\\"model\\\"]]]],[8],[1,[22,\\\"btnLabel\\\"],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"start_loading\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"/images/ajax-loader.gif\\\"],[10,\\\"alt\\\",\\\"Loading\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-5 justify-content-around\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"pb-1 col-12 col-lg-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"color:#f4806c; border-color:#f4806c;\\\"],[12,\\\"class\\\",\\\"m-1 w-100 btn btn-primary btn-light\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"showCancelOrder\\\"]],[8],[0,\\\"Cancel Order\\\"],[9],[0,\\\" \\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-lg-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#F24423; border-color:#F24423;\\\"],[12,\\\"class\\\",\\\"m-1 w-100 btn btn-primary\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"submitCashPayment\\\"]],[8],[0,\\\"Confirm Payment\\\"],[9],[0,\\\" \\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col offset-3 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"No data\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-7\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-12 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"Cash Payment Detail\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 mx-0\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 row mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"User Info\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Name:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[24,[\\\"user\\\",\\\"lastName\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"UserID:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"email\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Address:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"address\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"City:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"city\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Postal Code:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"postalCode\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"State:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"state\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Country:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[22,\\\"country_nicename\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Phone No:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"phone\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pl-0 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Email Addx:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"email\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 row mx-0 no-gutters\\\"],[10,\\\"style\\\",\\\"height: fit-content;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 mt-4 mt-md-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"Order Summary Info\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Order Number:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"model\\\",\\\"order_number\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Order Description:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"model\\\",\\\"order_description\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 row no-gutters my-2 my-md-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Total Price (BND):\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[0,\\\"$\\\"],[1,[24,[\\\"model\\\",\\\"total_price\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[9],[0,\\\"\\\\n\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"cancel-order-modal-cashpayment\\\"],[10,\\\"class\\\",\\\"modal\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog modal-dialog-centered modal-md\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-header\\\"],[10,\\\"style\\\",\\\"border-bottom: 0 none;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"class\\\",\\\"modal-title col-12 text-center\\\"],[8],[0,\\\"Cancel Order\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body\\\"],[8],[0,\\\"\\\\n Are you sure to cancel this order?\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-footer\\\"],[10,\\\"style\\\",\\\"border-top: 0 none;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-danger\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"No\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-primary\\\"],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"cancelOrder\\\"]],[8],[0,\\\"Yes\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/cashpayment.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/change-password\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"4FvRNG7v\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"navbar navbar-expand-lg navbar-light fixed-top bruh\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"surveylogo\\\"],[10,\\\"class\\\",\\\"logo-grid\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"class\\\",\\\"img-mobile\\\"],[10,\\\"src\\\",\\\"images/BruneiLogoTransparent.png\\\"],[10,\\\"width\\\",\\\"75px\\\"],[8],[9],[0,\\\"   \\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"header-mobile\\\"],[8],[0,\\\"\\\\n Survey Department\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Ministry of Development\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Brunei Darussalam\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box ml-auto\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"class\\\",\\\"d-none d-sm-block mtop\\\"],[8],[0,\\\"Welcome, \\\"],[1,[24,[\\\"authObject\\\",\\\"data\\\",\\\"user\\\",\\\"firstName\\\"]],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn ipad-btn-login margin-bottom-40 mx-3 mtop1\\\"],[12,\\\"type\\\",\\\"submit\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"invalidateSession\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/logout icon.png\\\"],[10,\\\"onmouseover\\\",\\\"this.src='images/logout icon color.png';\\\"],[10,\\\"onmouseout\\\",\\\"this.src='images/logout icon.png';\\\"],[10,\\\"class\\\",\\\"img-fluid btn-image-size\\\"],[10,\\\"alt\\\",\\\"Login\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"sr-only\\\"],[8],[0,\\\"(current)\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container\\\"],[10,\\\"style\\\",\\\"margin-top: 10rem;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row justify-content-center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-sm-8 col-md-4 auth-box mobile-box-shadow border rounded p-3\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"style\\\",\\\"color: #44484c; 2.5rem;\\\"],[10,\\\"class\\\",\\\"font-weight-bold d-sm-block pt-3\\\"],[8],[0,\\\"Change Password\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"form\\\",false],[12,\\\"class\\\",\\\"auth-form\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"changePassword\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"label\\\",true],[10,\\\"style\\\",\\\"color: #44484c;\\\"],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[10,\\\"for\\\",\\\"newPassword\\\"],[8],[0,\\\"Password\\\"],[9],[0,\\\"\\\\n \\\"],[1,[28,\\\"input\\\",null,[[\\\"id\\\",\\\"placeholder\\\",\\\"class\\\",\\\"type\\\",\\\"value\\\"],[\\\"newPassword\\\",\\\"Enter New Password\\\",\\\"form-control form-login-rounded input-bg-color border\\\",\\\"password\\\",[24,[\\\"newPassword\\\"]]]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"label\\\",true],[10,\\\"style\\\",\\\"color: #44484c;\\\"],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[10,\\\"for\\\",\\\"repeatNewPassword\\\"],[8],[0,\\\"Repeat Password\\\"],[9],[0,\\\"\\\\n \\\"],[1,[28,\\\"input\\\",null,[[\\\"id\\\",\\\"placeholder\\\",\\\"class\\\",\\\"type\\\",\\\"value\\\"],[\\\"repeatNewPassword\\\",\\\"Repeat New Password\\\",\\\"form-control form-login-rounded input-bg-color border\\\",\\\"password\\\",[24,[\\\"repeatNewPassword\\\"]]]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-primary col-sm-12 margin-bottom-40\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Reset Password\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"errorMessage\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"alert alert-danger p-2\\\"],[8],[0,\\\"\\\\n \\\"],[1,[22,\\\"errorMessage\\\"],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/change-password.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/checkout\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"0mWT1X2X\",\n \"block\": \"{\\\"symbols\\\":[\\\"orderDetail\\\",\\\"index\\\",\\\"xs\\\",\\\"option\\\"],\\\"statements\\\":[[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row mx-0 border-bottom cursor-pointer\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n\\\\t\\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"my-3 px-3\\\"],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"GEOPORTAL\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0 checkout-container\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-8 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-10 px-3 offset-md-1 px-md-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h3\\\",true],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"Payment Detail\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"User Info\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Name:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[24,[\\\"user\\\",\\\"lastName\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Email:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"email\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Address:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"address\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"City:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"city\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Postal Code:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"postalCode\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"State:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"state\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Country:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[22,\\\"country_nicename\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Phone No:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"user\\\",\\\"phone\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mt-3 mb-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"Order Summary Info\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Order Number:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"model\\\",\\\"order_number\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Order Description:\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"ordercreatedat\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[0,\\\"Export Feature at: \\\"],[1,[22,\\\"ordercreatedat\\\"],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Total Price (BND):\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[0,\\\"$\\\"],[1,[22,\\\"totalPrice\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0 no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 px-0 row d-flex align-items-center\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[24,[\\\"registered\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-3\\\"],[8],[0,\\\"Payment Method:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-9 col-md-9\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"x-select\\\",null,[[\\\"class\\\",\\\"value\\\",\\\"on-change\\\"],[\\\"form-control\\\",[24,[\\\"paymentMethod\\\"]],[28,\\\"action\\\",[[23,0,[]],[28,\\\"mut\\\",[[24,[\\\"paymentMethod\\\"]]],null]],null]]],{\\\"statements\\\":[[0,\\\" \\\"],[4,\\\"component\\\",[[28,\\\"-assert-implicit-component-helper-argument\\\",[[23,3,[\\\"option\\\"]],\\\"expected `xs.option` to be a contextual component but found a string. Did you mean `(component xs.option)`? ('web-map/templates/checkout.hbs' @ L104:C35) \\\"],null]],[[\\\"value\\\"],[null]],{\\\"statements\\\":[[0,\\\" Please Select \\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\\n\\\"],[4,\\\"each\\\",[[24,[\\\"paymentMethodOption\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[4,\\\"component\\\",[[28,\\\"-assert-implicit-component-helper-argument\\\",[[23,3,[\\\"option\\\"]],\\\"expected `xs.option` to be a contextual component but found a string. Did you mean `(component xs.option)`? ('web-map/templates/checkout.hbs' @ L106:C39) \\\"],null]],[[\\\"value\\\"],[[23,4,[\\\"value\\\"]]]],{\\\"statements\\\":[[0,\\\" \\\"],[1,[23,4,[\\\"label\\\"]],false],[0,\\\" \\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\\n\\\"]],\\\"parameters\\\":[4]},null]],\\\"parameters\\\":[3]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"errorPaymentMethod\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 my-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"offset-3 col-6 px-0 text-danger\\\"],[8],[0,\\\"Please Select Payment Method\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-5 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-4 px-0 p-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"color:#f4806c; border-color:#f4806c;\\\"],[12,\\\"class\\\",\\\"w-100 float-left btn\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"showCancelOrder\\\"]],[8],[0,\\\"Cancel Order\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-4 px-0 p-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"color:#f4806c; border-color:#f4806c;\\\"],[12,\\\"class\\\",\\\"w-100 float-left btn\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"Back to Home\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-4 px-0 p-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#F24423; border-color:#F24423;\\\"],[12,\\\"class\\\",\\\"w-100 float-right btn btn-light\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"confirmPayment\\\",[24,[\\\"model\\\"]]]],[8],[0,\\\"Confirm Payment\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 px-0 col-md-4 px-md-3\\\"],[10,\\\"style\\\",\\\"background-color: #E8A98D;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 px-3 px-md-0 my-md-5 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h3\\\",true],[10,\\\"style\\\",\\\"color: #FFF;\\\"],[8],[0,\\\"Shopping Cart\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"card mx-3 mb-3 mx-md-0 px-md-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"card-header\\\"],[8],[0,\\\"\\\\n Items\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"card-body\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"table\\\",true],[10,\\\"class\\\",\\\"table table-hover\\\"],[10,\\\"style\\\",\\\"font-size: 12px;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"thead\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"tr\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"scope\\\",\\\"col\\\"],[8],[0,\\\"No\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"scope\\\",\\\"col\\\"],[8],[0,\\\"Job Number\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"scope\\\",\\\"col\\\"],[8],[0,\\\"Price (BND)\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"show_dataarea\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"th\\\",true],[10,\\\"scope\\\",\\\"col\\\"],[8],[0,\\\"Download Size (MB)\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"tbody\\\",true],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[24,[\\\"orderDetails\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"tr\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"scope\\\",\\\"row\\\"],[8],[1,[28,\\\"plus-one\\\",[[23,2,[]]],null],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[8],[1,[23,1,[\\\"job_number\\\"]],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[8],[0,\\\"$\\\"],[1,[23,1,[\\\"price\\\"]],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"show_dataarea\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"td\\\",true],[8],[1,[23,1,[\\\"formatted_data_size\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1,2]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"cancel-order-modal-checkout\\\"],[10,\\\"class\\\",\\\"modal\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog modal-dialog-centered modal-md\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-header\\\"],[10,\\\"style\\\",\\\"border-bottom: 0 none;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"class\\\",\\\"modal-title col-12 text-center\\\"],[8],[0,\\\"Cancel Order\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body\\\"],[8],[0,\\\"\\\\n Are you sure to cancel this order?\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-footer\\\"],[10,\\\"style\\\",\\\"border-top: 0 none;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-danger\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"No\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-primary\\\"],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"cancelOrder\\\"]],[8],[0,\\\"Yes\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/checkout.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/components/backup/carousel\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"wtL9mpVY\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[0,\\\"\\\\n\\\\t\\\\t\\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"carousel-icon-hover\\\"],[10,\\\"class\\\",\\\"item card py-4 container-carousel-item \\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\"],[7,\\\"a\\\",true],[10,\\\"id\\\",\\\"carousel-icon-hover\\\"],[10,\\\"href\\\",\\\"https://geoportal.survey.gov.bn/start-gp\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\\t\\\\t\\\"],[2,\\\"span class=\\\\\\\"fa fa-2x icon-size pt-2 fa-globe mt-2 pb-2\\\\\\\">National Land Use Master Plan\\\\n\\\\t\\\\t\\\\t\\\\t
  • Able to purchase and download imagery
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Able to view Control Points Name
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Able to purchase Certified Plan online\\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t National Land Use Master Plan\\\\n\\\\t\\\\t\\\\t\\\\t
  • Able to purchase and download imagery
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Able to view Control Points Name
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Able to purchase Certified Plan online\\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t\\\\t
  • Example
  • \\\\n\\\\t\\\\t\\\\t \\\\n\\\\t\\\\t\\\\t\\\\n\\\\t\\\\t\\\\t\\\\t\\\\\\\"Responsive\\\\n\\\\t\\\\t\\\\t\\\\t
    SP Status
    \\\\n\\\\t\\\\t\\\\t
    \\\\n\\\\t\\\\t\\\\t
    \\\\n\\\\t\\\\t\\\\t Please use latest browser\\\\n\\\\t\\\\t\\\\t
    \\\\n\\\\t\\\\t\\\\n
    \\\\n {{fa-icon 'plus'}}\\\\n {{fa-icon 'minus'}}\\\\n {{fa-icon 'hand-rock'}}\\\\n {{fa-icon 'ruler-horizontal'}}\\\\n {{fa-icon 'search'}}\\\\n {{fa-icon 'info'}}\\\\n
    \\\\n \\\"],[0,\\\"\\\\n \\\"],[2,\\\" end \\\"],[0,\\\"\\\\n \\\"],[2,\\\" end \\\"],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/map.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/momap\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"P6kW5Vqf\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container-fluid position-fixed d-flex flex-column p-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row no-gutters flex-fill\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-mininfo-bar\\\",null,[[\\\"initMap\\\",\\\"reloadMapLayers\\\",\\\"invalidateSession\\\",\\\"toggleFunctionPanel\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"initMap\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"reloadMapLayers\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"invalidateSession\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"toggleFunctionPanel\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"ol-map-panel\\\",null,[[\\\"isInitialized\\\",\\\"map\\\",\\\"initialExtent\\\",\\\"finishMapSetup\\\",\\\"registerComponent\\\",\\\"deregisterComponent\\\",\\\"isMobile\\\"],[[24,[\\\"isInitialized\\\"]],[24,[\\\"map\\\"]],[24,[\\\"initialExtent\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"finishMapSetup\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"registerComponent\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"deregisterComponent\\\"],null],\\\"Yes\\\"]]],false],[0,\\\"\\\\n \\\"],[2,\\\" tab navigation pane \\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-5 col-lg-4 col-xl-3 nav-container p-0 overflow-auto\\\"],[10,\\\"id\\\",\\\"functionPanel21\\\"],[10,\\\"style\\\",\\\"z-index:5; display: none;\\\"],[8],[0,\\\" \\\"],[0,\\\"\\\\n \\\"],[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"nav mobile-css\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link active\\\"],[10,\\\"id\\\",\\\"search-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#search\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"Search\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link\\\"],[10,\\\"id\\\",\\\"layers-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#layers\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"Layers\\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link\\\"],[10,\\\"id\\\",\\\"rsodigital-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#rsodigital\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"RSO Digital\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link\\\"],[10,\\\"id\\\",\\\"geodetic-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#geodetic\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"Geodetic\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[2,\\\" content nav \\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-content mobile-css\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade show active\\\"],[10,\\\"id\\\",\\\"search\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-search\\\",null,[[\\\"resetClearResults\\\",\\\"canClearResults\\\",\\\"toggleFunctionPanel\\\",\\\"isMobile\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"resetClearResults\\\"],null],[24,[\\\"canClearResults\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"toggleFunctionPanel\\\"],null],\\\"Yes\\\"]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade\\\"],[10,\\\"id\\\",\\\"layers\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"nav-content-container\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"ol-layer-tree\\\",null,[[\\\"layers\\\",\\\"canInitLayers\\\"],[[24,[\\\"layers\\\"]],[24,[\\\"canInitLayers\\\"]]]]],false],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-danger px-2\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"style\\\",\\\"font-size: 12px;\\\"],[8],[0,\\\"\\\\n Note: Unedited Auto Generated Contours 2M and 10M Interval.\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Masterplan can only be viewed at a scale from 5000 to 250000. Displayed are surveyed Lots only.\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade\\\"],[10,\\\"id\\\",\\\"rsodigital\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-rso-digital\\\",null,[[\\\"rso_type\\\",\\\"loadAppLayers\\\",\\\"resetClearRSOResults\\\",\\\"canClearRSOResults\\\",\\\"authorize\\\",\\\"toggleFunctionPanel\\\",\\\"isMobile\\\"],[[24,[\\\"rso_type\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"loadAppLayers\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"resetClearRSOResults\\\"],null],[24,[\\\"canClearRSOResults\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"authorize\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"toggleFunctionPanel\\\"],null],\\\"Yes\\\"]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\" \\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade\\\"],[10,\\\"id\\\",\\\"geodetic\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-geodetic\\\",null,[[\\\"rso_type\\\",\\\"loadAppLayers\\\",\\\"resetClearGeodeticResults\\\",\\\"canClearGeodeticResults\\\",\\\"authorize\\\",\\\"toggleFunctionPanel\\\",\\\"isMobile\\\"],[[24,[\\\"rso_type\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"loadAppLayers\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"resetClearGeodeticResults\\\"],null],[24,[\\\"canClearGeodeticResults\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"authorize\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"toggleFunctionPanel\\\"],null],\\\"Yes\\\"]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\" \\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[2,\\\" content nav end \\\"],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"style\\\",\\\"display: none;\\\"],[8],[0,\\\"\\\\n \\\"],[2,\\\" Popup \\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"popup\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\" \\\\n\\\\n \\\"],[2,\\\" bottom menu \\\"],[0,\\\"\\\\n \\\"],[2,\\\"\\\\n
    \\\\n
    \\\\n {{fa-icon 'plus'}}\\\\n {{fa-icon 'minus'}}\\\\n {{fa-icon 'hand-rock'}}\\\\n {{fa-icon 'ruler-horizontal'}}\\\\n {{fa-icon 'search'}}\\\\n {{fa-icon 'info'}}\\\\n
    \\\\n
    \\\"],[0,\\\"\\\\n \\\"],[2,\\\" end \\\"],[0,\\\"\\\\n \\\"],[2,\\\" end \\\"],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/momap.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/payment-success\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"z3zcVKgh\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row mx-0 border-bottom cursor-pointer\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n\\\\t\\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"my-3 px-3\\\"],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"GEOPORTAL\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0 checkout-container\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-12 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-10 px-3 offset-md-1 px-md-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h3\\\",true],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"Payment Summary\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"User Info\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Name:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"firstName\\\"]],false],[0,\\\" \\\"],[1,[24,[\\\"user\\\",\\\"lastName\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Email:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"email\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Address:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"address\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"City:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"city\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Postal Code:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"postalCode\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"State:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"state\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Country:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"country\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-0 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Phone No:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"phone\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6 px-0 my-1 my-md-0 row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3 col-md-4\\\"],[8],[0,\\\"Email Addx:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-3 col-md-4\\\"],[8],[1,[24,[\\\"user\\\",\\\"email\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mt-3 mb-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"Payment Summary Info\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Order Number:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"model\\\",\\\"order_number\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Order Description:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"model\\\",\\\"order_description\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Total Price (BND):\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[0,\\\"$\\\"],[1,[22,\\\"totalPrice\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Payment Status:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[24,[\\\"transaction\\\",\\\"status\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-1 my-md-3 mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col px-0 row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"text-secondary col-3\\\"],[8],[0,\\\"Payment Message:\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col\\\"],[8],[1,[22,\\\"responseDescription\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-5 mx-2 justify-content-start\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-4 col-lg-3 px-0 my-1 px-sm-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#f4806c; border-color:#f4806c;\\\"],[12,\\\"class\\\",\\\"float-right btn btn-primary w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"Back to Home\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-5 col-lg-3 px-0 my-1 px-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"generateRSO\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#F24423; border-color:#F24423;\\\"],[12,\\\"class\\\",\\\"float-left btn btn-secondary w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"downloadRSO\\\",[24,[\\\"model\\\"]]]],[8],[0,\\\"Download RSO PDF\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"start_loading\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"/images/ajax-loader.gif\\\"],[10,\\\"alt\\\",\\\"Loading\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/payment-success.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/privacy-policy\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"vei1ptOT\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[7,\\\"body\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"navbar navbar-expand-lg navbar-light fixed-top bruh\\\"],[10,\\\"style\\\",\\\"border-bottom: solid #e8e8e8f5 1px;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"id\\\",\\\"surveylogo\\\"],[12,\\\"class\\\",\\\"logo-grid\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"class\\\",\\\"img-mobile\\\"],[10,\\\"src\\\",\\\"images/BruneiLogoTransparent.png\\\"],[10,\\\"width\\\",\\\"75px\\\"],[8],[9],[0,\\\"   \\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"header-mobile\\\"],[8],[0,\\\"\\\\n Survey Department\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Ministry of Development\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Brunei Darussalam\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container info-card shortfoot\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"center\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-10 row container-card \\\"],[10,\\\"style\\\",\\\"background-color: white !important;text-align:left;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3\\\"],[10,\\\"style\\\",\\\"font-size: 1.2rem !important\\\"],[8],[0,\\\"PRIVACY POLICY\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"infocontent\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold pt-2\\\"],[8],[0,\\\"GOVERNMENT OF BRUNEI DARUSSALAM PRIVACY STATEMENT\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"ol\\\",true],[10,\\\"class\\\",\\\"list-style-type: decimal;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"pt-2\\\"],[8],[0,\\\"This is a Government of His Majesty The Sultan and Yang Di-Pertuan of Brunei Darussalam website. Thank you\\\\n for examining our privacy statement.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"pt-2\\\"],[8],[0,\\\"If you are only browsing this website, we do not capture data that allows us to identify you individually.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"pt-2\\\"],[8],[0,\\\"If you choose to make an application or send us an e-mail for which you provide us with personality identifiable\\\\n data, we may share necessary data with other Government agencies, so as to serve you in a most efficient and effective way,\\\\n unless such sharing is prohibited by legislation. We will NOT share your personal data with non-Government entities, except where\\\\n such entities have been authorised to carry out specific Government services.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"pt-2\\\"],[8],[0,\\\"For your convenience, we may also display to you data you had previously supplied us or other Government agencies.\\\\n This will speed up the transaction and save the trouble of repeating previous submissions. Should the data be out-of-date, please\\\\n supply us the latest data. We will retain your personal data only as necessary for the effective delivery of public services to you.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"pt-2\\\"],[8],[0,\\\"\\\\n To safeguard your personal data, all electronic storage and transmission of personal data are secured with appropriate security technologies.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"li\\\",true],[10,\\\"class\\\",\\\"pt-2\\\"],[8],[0,\\\"This site may contain links to non-Government sites whose data protection and privacy practices may differ from ours. We are not\\\\n responsible for the content and privacy practices of these other websites and encourage you to consult the privacy notices of those sites.\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footer content row mx-0 text-center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-8 mb-1 copyright\\\"],[8],[0,\\\"Copyright (c) Survey Department, Ministry of Development, Brunei Darussalam. All\\\\n rights reserved.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-10 d-block d-sm-none\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-4 mb-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"conditionsOfUse\\\"]],[8],[0,\\\"Conditions of Use\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"privacyPolicy\\\"]],[8],[0,\\\"Privacy Policy\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"disclaimer\\\"]],[8],[0,\\\"Disclaimer\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/privacy-policy.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/shopping-cart\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"oRgjHno0\",\n \"block\": \"{\\\"symbols\\\":[\\\"record\\\",\\\"record\\\"],\\\"statements\\\":[[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row mx-0 border-bottom cursor-pointer\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"my-3 px-3\\\"],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"GEOPORTAL\\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0 justify-content-center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-10 mx-0 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-4 my-sm-5 mx-2\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h3\\\",true],[10,\\\"style\\\",\\\"color: #E67747;\\\"],[8],[0,\\\"Shopping Cart\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"model\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mt-3 mx-2\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-1 col-lg-1 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"User :\\\"],[9],[0,\\\" \\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-5 col-lg-3 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[22,\\\"user\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-1 col-lg-1 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Email :\\\"],[9],[0,\\\" \\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-5 col-lg-3 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[22,\\\"user\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-1 col-lg-1 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Type :\\\"],[9],[0,\\\" \\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-5 col-lg-3 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[22,\\\"orderType\\\"],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-2\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-3 col-lg-2 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Order Number :\\\"],[9],[0,\\\" \\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-9 col-lg-10 px-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[24,[\\\"model\\\",\\\"order_number\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-3 mx-0 mx-sm-2\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-none d-sm-block table-responsive\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"table\\\",true],[10,\\\"class\\\",\\\"table\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"thead\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"tr\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"ID\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Job Number\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Scale\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Price (BND)\\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"show_dataarea\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"th\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Data\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"th\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Area (KM\\\"],[7,\\\"sup\\\",true],[8],[0,\\\"2\\\"],[9],[0,\\\")\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[7,\\\"th\\\",true],[10,\\\"class\\\",\\\"font-weight-light text-secondary\\\"],[8],[0,\\\"Action\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"tbody\\\",true],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[24,[\\\"records\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"tr\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[23,2,[\\\"id\\\"]],false],[9],[0,\\\"\\\\n \\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"showPreview\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold cursor-pointer\\\"],[10,\\\"data-toggle\\\",\\\"modal\\\"],[10,\\\"data-target\\\",\\\"#previewModal\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"u\\\",false],[12,\\\"data-toggle\\\",\\\"tooltip\\\"],[12,\\\"data-placement\\\",\\\"top\\\"],[12,\\\"title\\\",\\\"Click to preview\\\"],[3,\\\"action\\\",[[23,0,[]],[28,\\\"mut\\\",[[24,[\\\"previewModalJobNumber\\\"]]],null],[23,2,[\\\"job_number\\\"]]]],[8],[1,[23,2,[\\\"job_number\\\"]],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[24,[\\\"rso_preview_ready\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"/images/ajax-loader.gif\\\"],[10,\\\"alt\\\",\\\"Loading\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[23,2,[\\\"job_number\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"1:\\\"],[1,[23,2,[\\\"scala\\\"]],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[0,\\\"B$\\\"],[1,[23,2,[\\\"formatted_price\\\"]],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"show_dataarea\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[23,2,[\\\"formatted_data_size\\\"]],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[23,2,[\\\"area_size\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-danger btn-sm\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"deleteSingle\\\",[23,2,[\\\"id\\\"]]]],[8],[7,\\\"i\\\",true],[10,\\\"class\\\",\\\"fa fa-trash\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[2]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-block d-sm-none row col-12 mx-0\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"each\\\",[[24,[\\\"records\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"card my-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row px-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-6\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"showPreview\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"font-weight-bold cursor-pointer\\\"],[10,\\\"data-toggle\\\",\\\"modal\\\"],[10,\\\"data-target\\\",\\\"#previewModal\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"u\\\",false],[12,\\\"data-toggle\\\",\\\"tooltip\\\"],[12,\\\"data-placement\\\",\\\"top\\\"],[12,\\\"title\\\",\\\"Click to preview\\\"],[3,\\\"action\\\",[[23,0,[]],[28,\\\"mut\\\",[[24,[\\\"previewModalJobNumber\\\"]]],null],[23,1,[\\\"job_number\\\"]]]],[8],[1,[23,1,[\\\"job_number\\\"]],false],[9],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[24,[\\\"rso_preview_ready\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"/images/ajax-loader.gif\\\"],[10,\\\"alt\\\",\\\"Loading\\\"],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"td\\\",true],[10,\\\"class\\\",\\\"font-weight-bold\\\"],[8],[1,[23,1,[\\\"job_number\\\"]],false],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-6 text-right\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"b\\\",true],[8],[0,\\\"B$\\\"],[1,[23,1,[\\\"price\\\"]],false],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row px-1 pb-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-10\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0\\\"],[8],[0,\\\"\\\\n 1:\\\"],[1,[23,1,[\\\"scala\\\"]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"show_dataarea\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[1,[23,1,[\\\"area_size\\\"]],false],[7,\\\"span\\\",true],[8],[0,\\\"KM\\\"],[7,\\\"sup\\\",true],[8],[0,\\\"2\\\"],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mx-0\\\"],[8],[0,\\\"\\\\n \\\"],[1,[23,1,[\\\"info\\\"]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-2 text-right align-self-end\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-danger btn-sm\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"deleteSingle\\\",[23,1,[\\\"id\\\"]]]],[8],[7,\\\"i\\\",true],[10,\\\"class\\\",\\\"fa fa-trash\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[1]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row mt-3 mx-2\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"is_RSO\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-12 text-primary cursor-pointer\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"addMoreItem\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[8],[0,\\\" \\\"],[7,\\\"i\\\",true],[10,\\\"class\\\",\\\"fas fa-arrow-left\\\"],[8],[9],[0,\\\" Add More Item\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-12 text-danger cursor-pointer\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"showCancelOrder\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[8],[0,\\\"Cancel Order\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-6\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row justify-content-end\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-5 text-secondary text-right\\\"],[8],[0,\\\"\\\\n Total Price:\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-5 font-weight-bold text-right\\\"],[8],[0,\\\"\\\\n B$\\\"],[1,[22,\\\"totalPrice\\\"],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"show_dataarea\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row justify-content-end\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-5 text-secondary text-right\\\"],[8],[0,\\\"\\\\n Total Requested Data Size:\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-sm-5 font-weight-bold text-right\\\"],[8],[0,\\\"\\\\n \\\"],[1,[22,\\\"totalSize\\\"],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},null],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-5 mx-2 justify-content-end\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-4 px-0 my-1 px-sm-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#F24423; border-color:#F24423;\\\"],[12,\\\"class\\\",\\\"float-right btn btn-primary w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"Back to Home\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-4 px-0 my-1 px-sm-1\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"rso_preview_ready\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#F24423; border-color:#F24423;\\\"],[12,\\\"class\\\",\\\"float-right btn btn-primary w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"checkoutAndPay\\\"]],[8],[0,\\\"Checkout and Pay\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#f4806c; border-color:#f4806c;\\\"],[12,\\\"class\\\",\\\"float-right btn btn-primary w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"warningPreview\\\"]],[8],[0,\\\"Checkout and Pay\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 text-center\\\"],[8],[0,\\\"\\\\n Your shopping cart is empty\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row my-5 mx-2 no-gutters\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 col-md-4 px-0 my-1 px-sm-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"style\\\",\\\"background-color:#f4806c; border-color:#f4806c;\\\"],[12,\\\"class\\\",\\\"float-right btn btn-primary w-100\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"Back to Home\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"cancel-order-modal\\\"],[10,\\\"class\\\",\\\"modal\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog modal-dialog-centered modal-md\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-header\\\"],[10,\\\"style\\\",\\\"border-bottom: 0 none;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"class\\\",\\\"modal-title col-12 text-center\\\"],[8],[0,\\\"Cancel Order\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body\\\"],[8],[0,\\\"\\\\n Are you sure to cancel this order?\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-footer\\\"],[10,\\\"style\\\",\\\"border-top: 0 none;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-danger\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"No\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn btn-primary\\\"],[12,\\\"type\\\",\\\"button\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"cancelOrder\\\"]],[8],[0,\\\"Yes\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal\\\"],[10,\\\"id\\\",\\\"previewModal\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[10,\\\"role\\\",\\\"dialog\\\"],[10,\\\"aria-labelledby\\\",\\\"previewModal\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog\\\"],[10,\\\"role\\\",\\\"document\\\"],[10,\\\"style\\\",\\\"max-height: 800px; max-width: 1100px;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-header\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"modal-title\\\"],[10,\\\"id\\\",\\\"previewModal\\\"],[8],[0,\\\"Preview of \\\"],[1,[22,\\\"previewModalJobNumber\\\"],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"close\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"aria-label\\\",\\\"Close\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[0,\\\"×\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body text-center\\\"],[10,\\\"style\\\",\\\"max-height: 800px !important;\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"if\\\",[[24,[\\\"rso_preview_ready\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"img\\\",true],[10,\\\"id\\\",\\\"rso_preview_image\\\"],[11,\\\"src\\\",[22,\\\"preview_image\\\"]],[10,\\\"alt\\\",\\\"Overlay Map\\\"],[10,\\\"width\\\",\\\"100%\\\"],[11,\\\"height\\\",[29,[[22,\\\"imageh\\\"]]]],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"img\\\",true],[10,\\\"id\\\",\\\"rso_preview_image\\\"],[10,\\\"src\\\",\\\"/images/preview-loading.png\\\"],[10,\\\"alt\\\",\\\"Overlay Map\\\"],[10,\\\"width\\\",\\\"100%\\\"],[11,\\\"height\\\",[29,[[22,\\\"imageh\\\"]]]],[8],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-footer\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn btn-secondary\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"Close\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/shopping-cart.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/start-gp\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"0KbmoxKg\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[7,\\\"body\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"navbar navbar-expand-lg navbar-light fixed-top bruh\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"id\\\",\\\"surveylogo\\\"],[12,\\\"class\\\",\\\"logo-grid\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"class\\\",\\\"img-mobile\\\"],[10,\\\"src\\\",\\\"images/BruneiLogoTransparent.png\\\"],[10,\\\"width\\\",\\\"75px\\\"],[8],[9],[0,\\\"   \\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"header-mobile\\\"],[8],[0,\\\"\\\\n Survey Department\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Ministry of Development\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Brunei Darussalam\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box ml-auto\\\"],[8],[0,\\\"\\\\n\\\"],[4,\\\"unless\\\",[[24,[\\\"session\\\",\\\"isAuthenticated\\\"]]],null,{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"form\\\",false],[12,\\\"class\\\",\\\"auth-form\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"authenticate\\\"],[[\\\"on\\\"],[\\\"submit\\\"]]],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"form-group form-inline justify-content-end\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn ipad-btn-login margin-bottom-40 mx-3\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/login icon.png\\\"],[10,\\\"onmouseover\\\",\\\"this.src='images/login icon color.png';\\\"],[10,\\\"onmouseout\\\",\\\"this.src='images/login icon.png';\\\"],[10,\\\"class\\\",\\\"img-fluid btn-image-size\\\"],[10,\\\"alt\\\",\\\"Login\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]},{\\\"statements\\\":[[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"auth-box\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h4\\\",true],[10,\\\"class\\\",\\\"d-none d-sm-block mtop\\\"],[8],[0,\\\"Welcome, \\\"],[1,[24,[\\\"authObject\\\",\\\"data\\\",\\\"user\\\",\\\"firstName\\\"]],false],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",false],[12,\\\"class\\\",\\\"btn ipad-btn-login margin-bottom-40 mx-3 mtop1\\\"],[12,\\\"type\\\",\\\"submit\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"invalidateSession\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/logout icon.png\\\"],[10,\\\"onmouseover\\\",\\\"this.src='images/logout icon color.png';\\\"],[10,\\\"onmouseout\\\",\\\"this.src='images/logout icon.png';\\\"],[10,\\\"class\\\",\\\"img-fluid btn-image-size\\\"],[10,\\\"alt\\\",\\\"Login\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"sr-only\\\"],[8],[0,\\\"(current)\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"]],\\\"parameters\\\":[]}],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[0,\\\" \\\"],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container-fluid px-5\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 pt-5 white-background\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt1 white-color\\\"],[8],[0,\\\"Welcome to Survey Geoportal\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt2 white-color\\\"],[8],[0,\\\"Negara Brunei Darussalam\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row pointer\\\"],[10,\\\"data-toggle\\\",\\\"modal\\\"],[10,\\\"data-target\\\",\\\"#modalWeb\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 d-none d-sm-block\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-6 col-9\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"/images/brunei map.png\\\"],[10,\\\"class\\\",\\\"img-fluid w-100\\\"],[10,\\\"alt\\\",\\\"Responsive image\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 col-3\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"table\\\",true],[10,\\\"style\\\",\\\"height: 100%;\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"tr\\\",true],[10,\\\"valign\\\",\\\"bottom\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"td\\\",true],[10,\\\"align\\\",\\\"center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"https://survey.gov.bn/images/icons/Geoportal.png\\\"],[10,\\\"class\\\",\\\"img-fluid w-100\\\"],[10,\\\"alt\\\",\\\"Responsive image\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Click Image to continue\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Please refer to the \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"https://geoportal.survey.gov.bn/pdf/GeoportalUserGuide.pdf\\\"],[10,\\\"target\\\",\\\"_blank\\\"],[10,\\\"style\\\",\\\"color: blue;\\\"],[8],[0,\\\"User Guide\\\"],[9],[0,\\\" on how to use it\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-2 d-none d-sm-block\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\\n\\\"],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal \\\"],[0,\\\"\\\\n \\\"],[2,\\\"\\\\n
    \\\\n
    \\\\n \\\\n
    \\\\n
    \\\\n \\\"],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal Public User\\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal fade\\\"],[10,\\\"id\\\",\\\"modalWeb\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[10,\\\"role\\\",\\\"dialog\\\"],[10,\\\"aria-labelledby\\\",\\\"modalWebTitle\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog modal-dialog-centered\\\"],[10,\\\"role\\\",\\\"document\\\"],[8],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-block d-md-none\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"close ml-auto pb-4\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"aria-label\\\",\\\"Close\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"aria-hidden\\\",\\\"true\\\"],[10,\\\"style\\\",\\\"color:white;\\\"],[8],[0,\\\"×\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body modal-mobile\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Public User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search surveyed LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Geodetic Station online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card-brown white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Registered User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search surveyed LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Geodetic Station online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Online Map Basemap\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-none d-md-block\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-flex justify-content-center panel\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Public User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search surveyed LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Geodetic Station online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card-brown mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Registered User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search surveyed LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Geodetic Station online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Survey Sheet online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Online Map Basemap\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"main\\\",true],[10,\\\"role\\\",\\\"main\\\"],[10,\\\"class\\\",\\\"col-12 main-mobile mb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row mb-3\\\"],[8],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row d-none d-md-flex pb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-12 row text-center\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 fa fa-envelope accent-color\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 \\\"],[8],[0,\\\"* If You Have Any Comments, Suggestions or Questions, \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Please Kindly Send An Email To:\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-9 d-block d-md-none hr-s\\\"],[8],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content d-block d-md-none my-2 py-1 px-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-3 my-2 py-1\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"mx-1 font-weight-bold\\\"],[8],[0,\\\"* \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 \\\"],[8],[0,\\\"If you have any comments, suggestions or questions, please kindly send an email to: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footer content row mx-0 text-center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-8 mb-1 copyright\\\"],[8],[0,\\\"Copyright (c) Survey Department, Ministry of Development, Brunei Darussalam. All\\\\n rights reserved.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-10 d-block d-sm-none\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-4 mb-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"conditionsOfUse\\\"]],[8],[0,\\\"Conditions of Use\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"privacyPolicy\\\"]],[8],[0,\\\"Privacy Policy\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"disclaimer\\\"]],[8],[0,\\\"Disclaimer\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/start-gp.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/start\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"iKu0CDdO\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[7,\\\"body\\\",true],[8],[0,\\\"\\\\n \\\"],[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"navbar navbar-expand-lg navbar-light fixed-top bruh\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"id\\\",\\\"surveylogo\\\"],[12,\\\"class\\\",\\\"logo-grid\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoHome\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"class\\\",\\\"img-mobile\\\"],[10,\\\"src\\\",\\\"images/BruneiLogoTransparent.png\\\"],[10,\\\"width\\\",\\\"75px\\\"],[8],[9],[0,\\\"   \\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"header-mobile\\\"],[8],[0,\\\"\\\\n Survey Department\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Ministry of Development\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Brunei Darussalam\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[0,\\\" \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"center\\\",true],[10,\\\"class\\\",\\\"d-md-none\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"img\\\",true],[10,\\\"src\\\",\\\"images/brunei map.png\\\"],[10,\\\"class\\\",\\\"bruneimap\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row mx-0 d-none d-md-block mt-5\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container-fluid col-11 col-md-8 mt-5 mb-5 grayfont\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt1\\\"],[8],[0,\\\"Welcome to\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"h5\\\",true],[10,\\\"class\\\",\\\"text-center txt2\\\"],[8],[0,\\\"Survey Online Applications\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-none d-md-block text-center mt-5\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"mt-2 py-3\\\"],[8],[0,\\\"\\\\n In this site, you can access to the various Survey Department applications such as:\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"col-12 pt-2 d-none d-md-block font-weight-bold\\\"],[8],[0,\\\" Geoportal, Survey Products, House\\\\n Numbering, Hala Kiblat and SP Status\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row mx-0 content-carousel background\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12 d-block d-md-none\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"ml-3 font-weight-bold mb-2\\\"],[8],[0,\\\"\\\\n Survey Online Application\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-none d-md-block container-fluid col-11 col-md-10 my-5\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"carousel\\\",null,[[\\\"class\\\"],[\\\"owl-carousel owl-theme mt-4 pl-2 ml-4 d-none d-md-block\\\"]]],false],[0,\\\"\\\\n \\\"],[1,[28,\\\"carousel\\\",null,[[\\\"class\\\"],[\\\"owl-carousel owl-theme mt-4 d-block d-md-none\\\"]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-block d-md-none container-fluid col-11 col-md-10 mt-5 mb-5\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"carousel\\\",null,[[\\\"class\\\"],[\\\"owl-carousel owl-theme mt-4 pl-2 ml-4 d-none d-md-block\\\"]]],false],[0,\\\"\\\\n \\\"],[1,[28,\\\"carousel\\\",null,[[\\\"class\\\"],[\\\"owl-carousel owl-theme mt-4 d-block d-md-none\\\"]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal \\\"],[0,\\\"\\\\n \\\"],[2,\\\"\\\\n
    \\\\n
    \\\\n \\\\n
    \\\\n
    \\\\n \\\"],[0,\\\"\\\\n\\\\n \\\"],[2,\\\" Modal Public User\\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal fade\\\"],[10,\\\"id\\\",\\\"modalWeb\\\"],[10,\\\"tabindex\\\",\\\"-1\\\"],[10,\\\"role\\\",\\\"dialog\\\"],[10,\\\"aria-labelledby\\\",\\\"modalWebTitle\\\"],[10,\\\"aria-hidden\\\",\\\"true\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-dialog modal-dialog-centered\\\"],[10,\\\"role\\\",\\\"document\\\"],[8],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-block d-md-none\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"close ml-auto pb-4\\\"],[10,\\\"data-dismiss\\\",\\\"modal\\\"],[10,\\\"aria-label\\\",\\\"Close\\\"],[10,\\\"type\\\",\\\"button\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"aria-hidden\\\",\\\"true\\\"],[10,\\\"style\\\",\\\"color:white;\\\"],[8],[0,\\\"×\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body modal-mobile\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Public User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"row container-card-brown white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-3\\\"],[8],[0,\\\"Registered User\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to view JKR Points\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"- Google Map Basemap - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow mb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"\\\\n Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-content popupregister d-none d-md-block\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"modal-body\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"d-flex justify-content-center panel\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoPublic\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Public User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to view TCP District Plan\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",false],[12,\\\"class\\\",\\\"col-md-10 row container-card-brown mx-4 white-bg\\\"],[3,\\\"action\\\",[[23,0,[]],\\\"gotoRegistered\\\"]],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold mt-2 py-3 text3\\\"],[8],[0,\\\"Registered User\\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"ml-4 fa fa-2x fa-user\\\"],[8],[9],[0,\\\" \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to search LOT, TOL and Gazette\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Municipal Boundries - \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"New\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- View TOL unsurveyed\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase and download imagery\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to view JKR Points\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Able to purchase Certified Plan online\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Open Streetmaps Basemaps\\\"],[9],[0,\\\"\\\\n\\\\t\\\\t\\\\t \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"col-12 infocontent pt-2\\\"],[8],[0,\\\"- Google Map Basemap\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-12\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"button\\\",true],[10,\\\"class\\\",\\\"btn-arrow margin-bottom-40 mx-3 mb-4 pb-2\\\"],[10,\\\"type\\\",\\\"submit\\\"],[8],[0,\\\"Launch \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"fa fa-long-arrow-alt-right mx-4\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"main\\\",true],[10,\\\"role\\\",\\\"main\\\"],[10,\\\"class\\\",\\\"col-12 main-mobile mb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row mb-3\\\"],[8],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content row d-none d-md-flex pb-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-12 row text-center\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 fa fa-envelope accent-color\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-12 \\\"],[8],[0,\\\"* If You Have Any Comments, Suggestions or Questions, \\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\" Please Kindly Send An Email To:\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[10,\\\"class\\\",\\\"accent-color\\\"],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-9 d-block d-md-none hr-s\\\"],[8],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"content d-block d-md-none my-2 py-1 px-4\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-3 my-2 py-1\\\"],[10,\\\"id\\\",\\\"contact\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 font-weight-bold\\\"],[8],[0,\\\"Contact\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"mx-1 font-weight-bold\\\"],[8],[0,\\\"* \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"span\\\",true],[10,\\\"class\\\",\\\"col-10 \\\"],[8],[0,\\\"If you have any comments, suggestions or questions, please kindly send an email to: \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"mailto:geoportal.ukur@survey.gov.bn\\\"],[8],[7,\\\"u\\\",true],[8],[0,\\\"geoportal.ukur@survey.gov.bn\\\"],[9],[9],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"footer content row mx-0 text-center\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-8 mb-1 copyright\\\"],[8],[0,\\\"Copyright (c) Survey Department, Ministry of Development, Brunei Darussalam. All\\\\n rights reserved.\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"hr\\\",true],[10,\\\"class\\\",\\\"col-10 d-block d-sm-none\\\"],[8],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-4 mb-1\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"conditionsOfUse\\\"]],[8],[0,\\\"Conditions of Use\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"privacyPolicy\\\"]],[8],[0,\\\"Privacy Policy\\\"],[9],[0,\\\"\\\\n |\\\\n \\\"],[7,\\\"a\\\",false],[3,\\\"action\\\",[[23,0,[]],\\\"disclaimer\\\"]],[8],[0,\\\"Disclaimer\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/start.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/stmap\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"v+J24zB6\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container-fluid position-fixed d-flex flex-column p-0\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row no-gutters flex-fill\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-info-bar\\\",null,[[\\\"initMap\\\",\\\"reloadMapLayers\\\",\\\"invalidateSession\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"initMap\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"reloadMapLayers\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"invalidateSession\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"row no-gutters\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"ol-map-panel\\\",null,[[\\\"isInitialized\\\",\\\"map\\\",\\\"initialExtent\\\",\\\"finishMapSetup\\\",\\\"registerComponent\\\",\\\"deregisterComponent\\\"],[[24,[\\\"isInitialized\\\"]],[24,[\\\"map\\\"]],[24,[\\\"initialExtent\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"finishMapSetup\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"registerComponent\\\"],null],[28,\\\"action\\\",[[23,0,[]],\\\"deregisterComponent\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[2,\\\" tab navigation pane \\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"col-md-5 col-lg-4 col-xl-3 nav-container p-0 overflow-auto\\\"],[10,\\\"id\\\",\\\"functionPanel21\\\"],[10,\\\"style\\\",\\\"z-index:5;\\\"],[8],[0,\\\" \\\"],[0,\\\"\\\\n \\\"],[7,\\\"nav\\\",true],[10,\\\"class\\\",\\\"nav\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link active\\\"],[10,\\\"id\\\",\\\"layers-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#layers\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"Layers\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link\\\"],[10,\\\"id\\\",\\\"search-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#search\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"Search\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link\\\"],[10,\\\"id\\\",\\\"feature-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#feature\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"Feature\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"class\\\",\\\"nav-link\\\"],[10,\\\"id\\\",\\\"imagery-tab\\\"],[10,\\\"data-toggle\\\",\\\"tab\\\"],[10,\\\"href\\\",\\\"#imagery\\\"],[10,\\\"role\\\",\\\"tab\\\"],[8],[0,\\\"Imagery\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[2,\\\" content nav \\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-content\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade show active\\\"],[10,\\\"id\\\",\\\"layers\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n\\\"],[0,\\\" \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"nav-content-container\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"ol-layer-tree\\\",null,[[\\\"layers\\\",\\\"canInitLayers\\\"],[[24,[\\\"layers\\\"]],[24,[\\\"canInitLayers\\\"]]]]],false],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"text-danger px-2\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"style\\\",\\\"font-size: 12px;\\\"],[8],[0,\\\"\\\\n Note: Unedited Auto Generated Contours 2M and 10M Interval.\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n Masterplan can only be viewed at a scale from 5000 to 250000.\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade\\\"],[10,\\\"id\\\",\\\"search\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-search\\\",null,[[\\\"resetClearResults\\\",\\\"canClearResults\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"resetClearResults\\\"],null],[24,[\\\"canClearResults\\\"]]]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade\\\"],[10,\\\"id\\\",\\\"feature\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-feature-export\\\",null,[[\\\"resetClearResults\\\",\\\"canClearResults\\\",\\\"authorize\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"resetClearResults\\\"],null],[24,[\\\"canClearResults\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"authorize\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"tab-pane fade\\\"],[10,\\\"id\\\",\\\"imagery\\\"],[10,\\\"role\\\",\\\"tabpanel\\\"],[8],[0,\\\"\\\\n \\\"],[1,[28,\\\"map-imagery-export\\\",null,[[\\\"resetClearResults\\\",\\\"canClearResults\\\",\\\"authorize\\\"],[[28,\\\"action\\\",[[23,0,[]],\\\"resetClearResults\\\"],null],[24,[\\\"canClearResults\\\"]],[28,\\\"action\\\",[[23,0,[]],\\\"authorize\\\"],null]]]],false],[0,\\\"\\\\n \\\"],[9],[0,\\\" \\\\n\\\\n \\\"],[9],[0,\\\"\\\\n \\\"],[2,\\\" content nav end \\\"],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n\\\\n \\\"],[9],[0,\\\"\\\\n\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"style\\\",\\\"display: none;\\\"],[8],[0,\\\"\\\\n \\\"],[2,\\\" Popup \\\"],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"id\\\",\\\"popup\\\"],[8],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\" \\\\n\\\\n \\\"],[2,\\\" bottom menu \\\"],[0,\\\"\\\\n \\\"],[2,\\\"\\\\n
    \\\\n
    \\\\n {{fa-icon 'plus'}}\\\\n {{fa-icon 'minus'}}\\\\n {{fa-icon 'hand-rock'}}\\\\n {{fa-icon 'ruler-horizontal'}}\\\\n {{fa-icon 'search'}}\\\\n {{fa-icon 'info'}}\\\\n
    \\\\n
    \\\"],[0,\\\"\\\\n \\\"],[2,\\\" end \\\"],[0,\\\"\\\\n \\\"],[2,\\\" end \\\"],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/stmap.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/unauthorized\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"ct+zty7D\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"loading-pane\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"card\\\"],[8],[0,\\\"\\\\n\\\\t\\\\t\\\"],[7,\\\"h3\\\",true],[8],[0,\\\"You are not authorised to access this page.\\\"],[7,\\\"br\\\",true],[8],[9],[0,\\\"\\\\n\\\\t\\\\tPlease contact your application administrator to resolve this issue.\\\"],[9],[0,\\\"\\\\n \\\"],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\"]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/unauthorized.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/templates/under-construction\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.HTMLBars.template({\n \"id\": \"50UUnPHP\",\n \"block\": \"{\\\"symbols\\\":[],\\\"statements\\\":[[1,[22,\\\"outlet\\\"],false],[0,\\\"\\\\n\\\\n\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"container under-cons\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[8],[7,\\\"i\\\",true],[10,\\\"class\\\",\\\"fa fa-wrench\\\"],[8],[9],[9],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"desc\\\"],[8],[0,\\\"Coming Soon\\\"],[9],[0,\\\"\\\\n \\\"],[7,\\\"p\\\",true],[10,\\\"class\\\",\\\"desc2\\\"],[8],[7,\\\"i\\\",true],[8],[0,\\\"We are still working on it\\\"],[9],[9],[0,\\\"\\\\n\\\"],[9],[0,\\\"\\\\n\\\\n\\\"],[7,\\\"div\\\",true],[10,\\\"class\\\",\\\"backhome\\\"],[8],[0,\\\"\\\\n \\\"],[7,\\\"a\\\",true],[10,\\\"href\\\",\\\"/start\\\"],[8],[0,\\\"Back to Home\\\"],[9],[0,\\\"\\\\n\\\"],[9]],\\\"hasEval\\\":false}\",\n \"meta\": {\n \"moduleName\": \"web-map/templates/under-construction.hbs\"\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/transforms/array\", [\"exports\", \"ember-data\"], function (_exports, _emberData) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberData.default.Transform.extend({\n deserialize(serialized) {\n if (serialized === null || serialized === undefined) {\n return [];\n }\n\n if (Ember.typeOf(serialized) === \"array\") {\n return serialized;\n } else if (Ember.typeOf(serialized) === \"string\") {\n let temp = serialized.replace(/'/g, '\"');\n temp = JSON.parse(temp);\n return temp;\n } else {\n return [];\n }\n },\n\n serialize(deserialized) {\n var type = Ember.typeOf(deserialized);\n\n if (type === 'array') {\n return deserialized;\n } else if (type === 'string') {\n return deserialized.split(',').map(item => {\n return $.trim(item);\n });\n } else {\n return [];\n }\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/transforms/ol-geometry\", [\"exports\", \"ember-data\", \"ol/format\"], function (_exports, _emberData, _format) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const format = new _format.GeoJSON();\n\n var _default = _emberData.default.Transform.extend({\n deserialize(serialized) {\n return format.readGeometry(serialized);\n },\n\n serialize(deserialized) {\n return format.writeGeometry(deserialized);\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/utils/calculate-position\", [\"exports\", \"ember-basic-dropdown/utils/calculate-position\"], function (_exports, _calculatePosition) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _calculatePosition.default;\n }\n });\n});","define(\"web-map/utils/get-cookie\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = getCookie;\n\n function getCookie(cname) {\n var name = cname + \"=\";\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n\n return \"\";\n }\n});","define(\"web-map/utils/titleize\", [\"exports\", \"ember-cli-string-helpers/utils/titleize\"], function (_exports, _titleize) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _titleize.default;\n }\n });\n});","define(\"web-map/validators/alias\", [\"exports\", \"ember-cp-validations/validators/alias\"], function (_exports, _alias) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _alias.default;\n }\n });\n});","define(\"web-map/validators/belongs-to\", [\"exports\", \"ember-cp-validations/validators/belongs-to\"], function (_exports, _belongsTo) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _belongsTo.default;\n }\n });\n});","define(\"web-map/validators/collection\", [\"exports\", \"ember-cp-validations/validators/collection\"], function (_exports, _collection) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _collection.default;\n }\n });\n});","define(\"web-map/validators/confirmation\", [\"exports\", \"ember-cp-validations/validators/confirmation\"], function (_exports, _confirmation) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _confirmation.default;\n }\n });\n});","define(\"web-map/validators/date\", [\"exports\", \"ember-cp-validations/validators/date\"], function (_exports, _date) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _date.default;\n }\n });\n});","define(\"web-map/validators/dependent\", [\"exports\", \"ember-cp-validations/validators/dependent\"], function (_exports, _dependent) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _dependent.default;\n }\n });\n});","define(\"web-map/validators/ds-error\", [\"exports\", \"ember-cp-validations/validators/ds-error\"], function (_exports, _dsError) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _dsError.default;\n }\n });\n});","define(\"web-map/validators/exclusion\", [\"exports\", \"ember-cp-validations/validators/exclusion\"], function (_exports, _exclusion) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _exclusion.default;\n }\n });\n});","define(\"web-map/validators/format\", [\"exports\", \"ember-cp-validations/validators/format\"], function (_exports, _format) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _format.default;\n }\n });\n});","define(\"web-map/validators/has-many\", [\"exports\", \"ember-cp-validations/validators/has-many\"], function (_exports, _hasMany) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _hasMany.default;\n }\n });\n});","define(\"web-map/validators/inclusion\", [\"exports\", \"ember-cp-validations/validators/inclusion\"], function (_exports, _inclusion) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _inclusion.default;\n }\n });\n});","define(\"web-map/validators/inline\", [\"exports\", \"ember-cp-validations/validators/inline\"], function (_exports, _inline) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _inline.default;\n }\n });\n});","define(\"web-map/validators/length\", [\"exports\", \"ember-cp-validations/validators/length\"], function (_exports, _length) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _length.default;\n }\n });\n});","define(\"web-map/validators/messages\", [\"exports\", \"ember-cp-validations/validators/messages\"], function (_exports, _messages) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _messages.default;\n }\n });\n});","define(\"web-map/validators/number\", [\"exports\", \"ember-cp-validations/validators/number\"], function (_exports, _number) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _number.default;\n }\n });\n});","define(\"web-map/validators/presence\", [\"exports\", \"ember-cp-validations/validators/presence\"], function (_exports, _presence) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _presence.default;\n }\n });\n});","define(\"web-map/validators/unique-gdtsearchvalue\", [\"exports\", \"ember-cp-validations/validators/base\"], function (_exports, _base) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n const UniqueRSOSearchvalue = _base.default.extend({\n validate(value, options, model, attribute) {\n //console.log('Inside unique-gdtsearchvalue validator...');\n //console.log(attribute);\n //console.log(value);\n //console.log(model);\n //console.log(options);\n let message = ''; //console.log(model.gdtsearchtype);\n\n switch (model.gdtsearchtype.name) {\n case 'Geodetic':\n message = 'Note: Input the name of the Geodetic Station, can be partial name';\n break;\n\n default:\n message = '';\n }\n\n ;\n if (message == '') return true;else return message;\n }\n\n });\n\n UniqueRSOSearchvalue.reopenClass({\n /**\n * Define attribute specific dependent keys for your validator\n *\n * [\n * \t`model.array.@each.${attribute}` --> Dependent is created on the model's context\n * \t`${attribute}.isValid` --> Dependent is created on the `model.validations.attrs` context\n * ]\n *\n * @param {String} attribute The attribute being evaluated\n * @param {Unknown} options Options passed into your validator\n * @return {Array}\n */\n getDependentsFor(attribute, options) {\n return ['model.gdtsearchtype'];\n }\n\n });\n var _default = UniqueRSOSearchvalue;\n _exports.default = _default;\n});","define(\"web-map/validators/unique-rsosearchvalue\", [\"exports\", \"ember-cp-validations/validators/base\"], function (_exports, _base) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n const UniqueRSOSearchvalue = _base.default.extend({\n validate(value, options, model, attribute) {\n //console.log('Inside unique-rsosearchvalue validator...');\n //console.log(attribute);\n //console.log(value);\n //console.log(model);\n //console.log(options);\n let message = ''; //console.log(model.rsosearchtype);\n\n switch (model.rsosearchtype.name) {\n case 'Lots':\n message = 'Note: Input Numbers only';\n break;\n\n case 'TOL':\n message = 'Note: Input Numbers only';\n break;\n\n case 'Gazette':\n message = 'Note: Input Numbers only';\n break;\n\n case 'Place':\n message = 'Note: Input the name of the Place, can be partial name';\n break;\n\n case 'Kampung':\n message = 'Note: Input the name of the Kampung, can be partial name';\n break;\n\n case 'GeoCoordinates':\n message = 'Note: Geo Coordinates search format is \"Northing, Easting\" eg: 542150, 581524 for GDBD2009 and RSO Timbalai / 4.948, 114.960 for WGS84';\n break;\n\n default:\n message = '';\n }\n\n ;\n if (message == '') return true;else return message;\n }\n\n });\n\n UniqueRSOSearchvalue.reopenClass({\n /**\n * Define attribute specific dependent keys for your validator\n *\n * [\n * \t`model.array.@each.${attribute}` --> Dependent is created on the model's context\n * \t`${attribute}.isValid` --> Dependent is created on the `model.validations.attrs` context\n * ]\n *\n * @param {String} attribute The attribute being evaluated\n * @param {Unknown} options Options passed into your validator\n * @return {Array}\n */\n getDependentsFor(attribute, options) {\n return ['model.rsosearchtype'];\n }\n\n });\n var _default = UniqueRSOSearchvalue;\n _exports.default = _default;\n});","define(\"web-map/validators/unique-searchvalue\", [\"exports\", \"ember-cp-validations/validators/base\"], function (_exports, _base) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n const UniqueSearchvalue = _base.default.extend({\n validate(value, options, model, attribute) {\n //console.log('Inside unique-searchvalue validator...');\n //console.log(attribute);\n //console.log(value);\n //console.log(model);\n //console.log(options);\n let message = ''; //console.log(model.searchtype);\n\n switch (model.searchtype.name) {\n case 'Lots':\n message = 'Note: Input Numbers only';\n break;\n\n case 'TOL':\n message = 'Note: Input Numbers only';\n break;\n\n case 'Gazette':\n message = 'Note: Input Numbers only';\n break;\n\n case 'Place':\n message = 'Note: Input the name of the Place, can be partial name';\n break;\n\n case 'Kampung':\n message = 'Note: Input the name of the Kampung, can be partial name';\n break;\n\n case 'GeoCoordinates':\n message = 'Note: Geo Coordinates search format is \"Northing, Easting\" eg: 542150, 581524 for GDBD2009 and RSO Timbalai / 4.948, 114.960 for WGS84';\n break;\n\n default:\n message = '';\n }\n\n ;\n if (message == '') return true;else return message;\n }\n\n });\n\n UniqueSearchvalue.reopenClass({\n /**\n * Define attribute specific dependent keys for your validator\n *\n * [\n * \t`model.array.@each.${attribute}` --> Dependent is created on the model's context\n * \t`${attribute}.isValid` --> Dependent is created on the `model.validations.attrs` context\n * ]\n *\n * @param {String} attribute The attribute being evaluated\n * @param {Unknown} options Options passed into your validator\n * @return {Array}\n */\n getDependentsFor(attribute, options) {\n return ['model.searchtype'];\n }\n\n });\n var _default = UniqueSearchvalue;\n _exports.default = _default;\n});","\n","define('web-map/config/environment', [], function() {\n var prefix = 'web-map';\ntry {\n var metaName = prefix + '/config/environment';\n var rawConfig = document.querySelector('meta[name=\"' + metaName + '\"]').getAttribute('content');\n var config = JSON.parse(decodeURIComponent(rawConfig));\n\n var exports = { 'default': config };\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n}\ncatch(err) {\n throw new Error('Could not read config from meta tag with name \"' + metaName + '\".');\n}\n\n});\n","\n if (!runningTests) {\n require(\"web-map/app\")[\"default\"].create({\"name\":\"web-map\",\"version\":\"0.0.1+c3d68036\"});\n }\n \n"],"names":[],"mappings":"AAAA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5fA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/jBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACppBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACxGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5hBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACn0GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvEA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;","file":"web-map.js"}