{"version":3,"sources":["webpack:///./src/app/views/credentials/containers/credentials.page.html","webpack:///./src/app/views/credentials/containers/credentials.page.scss","webpack:///./src/app/views/credentials/containers/credentials.page.ts","webpack:///./src/app/views/credentials/credentials-routing.module.ts","webpack:///./src/app/views/credentials/credentials.module.ts","webpack:///./src/app/views/credentials/store/credentials.actions.ts","webpack:///./src/app/views/credentials/store/credentials.effects.ts","webpack:///./src/app/views/credentials/store/credentials.reducer.ts","webpack:///./src/app/views/credentials/store/credentials.selectors.ts","webpack:///./src/app/views/credentials/store/credentials.state.ts"],"names":[],"mappings":"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","file":"views-credentials-credentials-module.js","sourcesContent":["module.exports = \"\\n
\\n
\\n
\\n
\\n \\n

Reflections at Keppel Bay

\\n Singapore\\n
\\n
\\n \\n

Corals at Keppel Bay

\\n Singapore\\n
\\n
\\n \\n

Marina Bay Financial Centre

\\n Singapore\\n
\\n
\\n \\n

Ocean Financial Centre

\\n Singapore\\n
\\n
\\n \\n

i12 Katong

\\n Singapore\\n
\\n
\\n \\n

Marina at Keppel Bay

\\n Singapore\\n
\\n
\\n
\\n \\n

WE DELIVER INNOVATIVE URBAN SPACE SOLUTIONS THAT ENRICH PEOPLE AND COMMUNITIES

\\n

Keppel is a global asset manager and operator with strong expertise in sustainability-related solutions spanning the areas of infrastructure, real estate and connectivity. Headquartered in Singapore, Keppel operates in more than 20 countries worldwide, providing critical infrastructure and services for renewables, clean energy, decarbonisation, sustainable urban renewal and digital connectivity.\\n

\\n Keppel’s real estate division is an innovative urban space solutions provider that leverages technology to deliver sustainable and customer-centric solutions that enrich people and communities. It is focused in the areas of sustainable urban renewal, senior living, urban living, retail and large-scale integrated developments.\\n

\\n Its award-winning portfolio comprises investment-grade commercial properties, residential developments and integrated townships. It is geographically diversified in Asia, with China, Singapore and Vietnam as its key markets, while it continues to scale up in India as well as other developed markets globally.\\n

\\n VISIT WEBSITE \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n

Amazon’s Global Headquarters

\\n Seattle, WA\\n
\\n
\\n \\n

Tencent’s Global Headquarters

\\n Shenzhen, China\\n
\\n
\\n
\\n \\n

ABOUT NBBJ

\\n

Internationally acclaimed design consultant NBBJ has helped pioneering organisations thrive by harnessing the power of design to create dynamic, inclusive places and experiences since 1943. Key projects include Tencent’s Global Headquarters (Shenzhen, China); the Life and Mind Building, the largest ever project at the University of Oxford (Oxford, UK); Amazon’s Global Headquarters (Seattle, WA); and the Nanjing Eco High-Tech Island (Nanjing, China).

\\n VISIT WEBSITE \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n

The Marq, HongkongLand (condo)

\\n Vietnam\\n
\\n
\\n \\n

Irwell Hill Residences

\\n Singapore\\n
\\n
\\n
\\n \\n

ABOUT ECOPLAN ASIA

\\n

A landscape architecture & planning consultancy that provides landscape architectural planning and design services to clients in both the public and private sectors. Key projects include Newport Residences (Singapore), Irwell Hill Residences (Singapore), The Marq (Ho Chi Minh, Vietnam) and Alila Villas Koh Russey (Bamboo Island, Cambodia).

\\n VISIT WEBSITE \\n
\\n
\\n
\\n
\\n
\\n \\n

Copyright © 2023 Keppel Land Limited (Co. Reg No 189000001G). All rights reserved.

\\n
\\n
\\n
\\n
\"","module.exports = \"ion-slide span {\\n position: absolute;\\n bottom: 4%;\\n right: 6%;\\n color: #ffffff;\\n z-index: 1;\\n font-size: 0.8em;\\n text-transform: uppercase;\\n letter-spacing: 0.3em;\\n}\\n\\n.border {\\n position: absolute;\\n height: 100%;\\n}\\n\\n.border .leftborder {\\n position: absolute;\\n}\\n\\n.border .bottomborder {\\n position: absolute;\\n}\\n\\n.innerblock {\\n margin-top: 0 !important;\\n}\\n\\n.innerblock .leftcontent, .innerblock .rightcontent {\\n margin-top: 26vw;\\n}\\n\\n.innerblock .leftcontent p {\\n margin: 0;\\n font-size: 2.8vw;\\n color: #0093AA;\\n font-family: \\\"Gotham\\\";\\n line-height: initial;\\n text-align: center;\\n}\\n\\n.innerblock .leftcontent span {\\n margin: 0;\\n font-size: 2.6vw;\\n text-align: center;\\n width: 100%;\\n display: block;\\n}\\n\\n.innerblock .rightcontent > img {\\n margin-bottom: 4vw;\\n}\\n\\n.innerblock .rightcontent > img.keppelandlogo {\\n width: 28vw;\\n}\\n\\n.innerblock .rightcontent > img.nbjjlogo {\\n width: 28vw;\\n}\\n\\n.innerblock .rightcontent > img.ecoplanlogo {\\n width: 58vw;\\n}\\n\\n.line {\\n position: absolute;\\n left: -9vw;\\n top: 2.4vw;\\n height: 2px;\\n width: 7vw;\\n background: #0093AA;\\n}\\n\\nh3 {\\n margin: 1.2vw 0vw;\\n}\\n\\n.innerblock a {\\n font-size: 3.8vw;\\n text-transform: uppercase;\\n font-family: \\\"Gotham\\\";\\n font-weight: bold;\\n display: inline;\\n width: auto;\\n color: #0093AA;\\n text-decoration: none;\\n}\\n\\n.innerblock a img {\\n width: 2.5vw;\\n margin-left: 1vw;\\n}\\n\\nul {\\n margin: 0;\\n padding-left: 1vw;\\n}\\n\\nul li {\\n font-family: Arial;\\n font-size: 0.9vw;\\n line-height: 1.6vw;\\n}\\n\\n.locationmap {\\n height: 25vw;\\n}\\n\\n.innerblock {\\n margin-top: 26vw;\\n}\\n\\n.flex-row {\\n flex-direction: column-reverse;\\n}\\n\\n.section.h-screen {\\n height: auto;\\n}\\n\\n.pl-12.leftcontent {\\n padding-left: 0rem;\\n flex-direction: row;\\n margin-top: -10vw !important;\\n margin-bottom: 14vw;\\n}\\n\\n@media (min-width: 568px) {\\n .innerblock .leftcontent, .innerblock .rightcontent {\\n margin-top: 8vw;\\n }\\n\\n ion-content .innerblock {\\n padding-bottom: 0vw;\\n }\\n\\n .innerblock .rightcontent > img {\\n margin-bottom: 1vw;\\n }\\n\\n .innerblock .rightcontent > img.keppelandlogo {\\n width: 8vw;\\n }\\n\\n .innerblock .rightcontent > img.nbjjlogo {\\n width: 7vw;\\n }\\n\\n .innerblock .rightcontent > img.ecoplanlogo {\\n width: 14vw;\\n }\\n\\n .line {\\n position: absolute;\\n left: -4.4vw;\\n top: 0.8vw;\\n height: 2px;\\n width: 4vw;\\n background: #0093AA;\\n }\\n\\n .innerblock a {\\n font-size: 0.8vw;\\n }\\n\\n .innerblock a img {\\n width: 0.5vw;\\n margin-left: 0.5vw;\\n }\\n\\n .flex-row {\\n flex-direction: row;\\n }\\n\\n .section.h-screen {\\n height: 100vh;\\n }\\n\\n .pl-12.leftcontent {\\n padding-left: 3rem;\\n flex-direction: row;\\n margin-top: 8vw !important;\\n margin-bottom: initial;\\n }\\n\\n .innerblock .leftcontent p {\\n font-size: 0.6vw;\\n }\\n\\n .innerblock .leftcontent span {\\n font-size: 0.6vw;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9ibGFuY3QvRG9jdW1lbnRzL1Byb2plY3RzL0tlcHBlbCBTb3V0aCBDZW50cmFsL1dlYnNpdGUvc3JjL2FwcC92aWV3cy9jcmVkZW50aWFscy9jb250YWluZXJzL2NyZWRlbnRpYWxzLnBhZ2Uuc2NzcyIsInNyYy9hcHAvdmlld3MvY3JlZGVudGlhbHMvY29udGFpbmVycy9jcmVkZW50aWFscy5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7QUNDSjs7QURFQTtFQUNFLGtCQUFBO0VBQ0EsWUFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7QUNDRjs7QURFQTtFQUNFLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSx3QkFBQTtBQ0NGOztBREVBO0VBQ0UsZ0JBQUE7QUNDRjs7QURFQTtFQUNFLFNBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxxQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7QUNDRjs7QURFQTtFQUNFLFNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QUNDRjs7QURFQTtFQUNFLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSxXQUFBO0FDQ0Y7O0FERUE7RUFDRSxXQUFBO0FDQ0Y7O0FERUE7RUFDRSxXQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtBQ0NGOztBREVBO0VBQ0UsaUJBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0EscUJBQUE7QUNDRjs7QURFQTtFQUNFLFlBQUE7RUFDRSxnQkFBQTtBQ0NKOztBREVBO0VBQ0UsU0FBQTtFQUNBLGlCQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QUNDRjs7QURHQTtFQUNFLFlBQUE7QUNBRjs7QURHQTtFQUNFLGdCQUFBO0FDQUY7O0FER0E7RUFDRSw4QkFBQTtBQ0FGOztBREdBO0VBQ0UsWUFBQTtBQ0FGOztBREdBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtFQUNBLDRCQUFBO0VBQ0EsbUJBQUE7QUNBRjs7QURHQTtFQUNFO0lBQ0UsZUFBQTtFQ0FGOztFREdBO0lBQ0UsbUJBQUE7RUNBRjs7RURHQTtJQUNFLGtCQUFBO0VDQUY7O0VER0E7SUFDRSxVQUFBO0VDQUY7O0VER0E7SUFDRSxVQUFBO0VDQUY7O0VER0E7SUFDRSxXQUFBO0VDQUY7O0VER0E7SUFDRSxrQkFBQTtJQUNBLFlBQUE7SUFDQSxVQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7SUFDQSxtQkFBQTtFQ0FGOztFREdBO0lBQ0UsZ0JBQUE7RUNBRjs7RURHQTtJQUNFLFlBQUE7SUFDQSxrQkFBQTtFQ0FGOztFREdBO0lBQ0UsbUJBQUE7RUNBRjs7RURHQTtJQUNFLGFBQUE7RUNBRjs7RURHQTtJQUNFLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSwwQkFBQTtJQUNBLHNCQUFBO0VDQUY7O0VER0E7SUFDRSxnQkFBQTtFQ0FGOztFREdBO0lBQ0UsZ0JBQUE7RUNBRjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvdmlld3MvY3JlZGVudGlhbHMvY29udGFpbmVycy9jcmVkZW50aWFscy5wYWdlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJpb24tc2xpZGUgc3BhbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDQlO1xyXG4gICAgcmlnaHQ6IDYlO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgZm9udC1zaXplOiAuOGVtO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAuM2VtO1xyXG59XHJcblxyXG4uYm9yZGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uYm9yZGVyIC5sZWZ0Ym9yZGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5ib3JkZXIgLmJvdHRvbWJvcmRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4uaW5uZXJibG9jayB7XHJcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5uZXJibG9jayAubGVmdGNvbnRlbnQsIC5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQge1xyXG4gIG1hcmdpbi10b3A6IDI2dnc7XHJcbn1cclxuXHJcbi5pbm5lcmJsb2NrIC5sZWZ0Y29udGVudCBwIHtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAyLjh2dztcclxuICBjb2xvcjogIzAwOTNBQTtcclxuICBmb250LWZhbWlseTogXCJHb3RoYW1cIjtcclxuICBsaW5lLWhlaWdodDogaW5pdGlhbDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5pbm5lcmJsb2NrIC5sZWZ0Y29udGVudCBzcGFuIHtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAyLjZ2dztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcge1xyXG4gIG1hcmdpbi1ib3R0b206IDR2dztcclxufVxyXG5cclxuLmlubmVyYmxvY2sgLnJpZ2h0Y29udGVudCA+IGltZy5rZXBwZWxhbmRsb2dvIHtcclxuICB3aWR0aDogMjh2dztcclxufVxyXG5cclxuLmlubmVyYmxvY2sgLnJpZ2h0Y29udGVudCA+IGltZy5uYmpqbG9nbyB7XHJcbiAgd2lkdGg6IDI4dnc7XHJcbn1cclxuXHJcbi5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcuZWNvcGxhbmxvZ28ge1xyXG4gIHdpZHRoOiA1OHZ3O1xyXG59XHJcblxyXG4ubGluZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC05dnc7XHJcbiAgdG9wOiAyLjR2dztcclxuICBoZWlnaHQ6IDJweDtcclxuICB3aWR0aDogN3Z3O1xyXG4gIGJhY2tncm91bmQ6ICMwMDkzQUE7XHJcbn1cclxuXHJcbmgzIHtcclxuICBtYXJnaW46IDEuMnZ3IDB2dztcclxufVxyXG5cclxuLmlubmVyYmxvY2sgYSB7XHJcbiAgZm9udC1zaXplOiAzLjh2dztcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbVwiO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGRpc3BsYXk6IGlubGluZTtcclxuICB3aWR0aDogYXV0bztcclxuICBjb2xvcjogIzAwOTNBQTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5pbm5lcmJsb2NrIGEgaW1nIHtcclxuICB3aWR0aDogMi41dnc7XHJcbiAgICBtYXJnaW4tbGVmdDogMXZ3O1xyXG59XHJcblxyXG51bCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmctbGVmdDogMXZ3O1xyXG59XHJcblxyXG51bCBsaSB7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsO1xyXG4gIGZvbnQtc2l6ZTogMC45dnc7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNnZ3O1xyXG5cclxufVxyXG5cclxuLmxvY2F0aW9ubWFwIHtcclxuICBoZWlnaHQ6IDI1dnc7XHJcbn1cclxuXHJcbi5pbm5lcmJsb2NrIHtcclxuICBtYXJnaW4tdG9wOiAyNnZ3O1xyXG59XHJcblxyXG4uZmxleC1yb3cge1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxufVxyXG5cclxuLnNlY3Rpb24uaC1zY3JlZW4ge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLnBsLTEyLmxlZnRjb250ZW50IHtcclxuICBwYWRkaW5nLWxlZnQ6IDByZW07XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBtYXJnaW4tdG9wOiAtMTB2dyAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDE0dnc7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA1NjhweCkge1xyXG4gIC5pbm5lcmJsb2NrIC5sZWZ0Y29udGVudCwgLmlubmVyYmxvY2sgLnJpZ2h0Y29udGVudCB7XHJcbiAgICBtYXJnaW4tdG9wOiA4dnc7XHJcbiAgfVxyXG5cclxuICBpb24tY29udGVudCAuaW5uZXJibG9jayB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMHZ3O1xyXG4gIH1cclxuXHJcbiAgLmlubmVyYmxvY2sgLnJpZ2h0Y29udGVudCA+IGltZyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxdnc7XHJcbiAgfVxyXG5cclxuICAuaW5uZXJibG9jayAucmlnaHRjb250ZW50ID4gaW1nLmtlcHBlbGFuZGxvZ28ge1xyXG4gICAgd2lkdGg6IDh2dztcclxuICB9XHJcblxyXG4gIC5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcubmJqamxvZ28ge1xyXG4gICAgd2lkdGg6IDd2dztcclxuICB9XHJcblxyXG4gIC5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcuZWNvcGxhbmxvZ28ge1xyXG4gICAgd2lkdGg6IDE0dnc7XHJcbiAgfVxyXG5cclxuICAubGluZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtNC40dnc7XHJcbiAgICB0b3A6IDAuOHZ3O1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICB3aWR0aDogNHZ3O1xyXG4gICAgYmFja2dyb3VuZDogIzAwOTNBQTtcclxuICB9XHJcblxyXG4gIC5pbm5lcmJsb2NrIGEge1xyXG4gICAgZm9udC1zaXplOiAwLjh2dztcclxuICB9XHJcblxyXG4gIC5pbm5lcmJsb2NrIGEgaW1nIHtcclxuICAgIHdpZHRoOiAwLjV2dztcclxuICAgIG1hcmdpbi1sZWZ0OiAwLjV2dztcclxuICB9XHJcblxyXG4gIC5mbGV4LXJvdyB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24uaC1zY3JlZW4ge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICB9XHJcblxyXG4gIC5wbC0xMi5sZWZ0Y29udGVudCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWFyZ2luLXRvcDogOHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsO1xyXG4gIH1cclxuXHJcbiAgLmlubmVyYmxvY2sgLmxlZnRjb250ZW50IHAge1xyXG4gICAgZm9udC1zaXplOiAwLjZ2dztcclxuICB9XHJcblxyXG4gIC5pbm5lcmJsb2NrIC5sZWZ0Y29udGVudCBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMC42dnc7XHJcbiAgfVxyXG59IiwiaW9uLXNsaWRlIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNCU7XG4gIHJpZ2h0OiA2JTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNlbTtcbn1cblxuLmJvcmRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYm9yZGVyIC5sZWZ0Ym9yZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uYm9yZGVyIC5ib3R0b21ib3JkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5pbm5lcmJsb2NrIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uaW5uZXJibG9jayAubGVmdGNvbnRlbnQsIC5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAyNnZ3O1xufVxuXG4uaW5uZXJibG9jayAubGVmdGNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAyLjh2dztcbiAgY29sb3I6ICMwMDkzQUE7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbVwiO1xuICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaW5uZXJibG9jayAubGVmdGNvbnRlbnQgc3BhbiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAyLjZ2dztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcge1xuICBtYXJnaW4tYm90dG9tOiA0dnc7XG59XG5cbi5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcua2VwcGVsYW5kbG9nbyB7XG4gIHdpZHRoOiAyOHZ3O1xufVxuXG4uaW5uZXJibG9jayAucmlnaHRjb250ZW50ID4gaW1nLm5iampsb2dvIHtcbiAgd2lkdGg6IDI4dnc7XG59XG5cbi5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcuZWNvcGxhbmxvZ28ge1xuICB3aWR0aDogNTh2dztcbn1cblxuLmxpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05dnc7XG4gIHRvcDogMi40dnc7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogN3Z3O1xuICBiYWNrZ3JvdW5kOiAjMDA5M0FBO1xufVxuXG5oMyB7XG4gIG1hcmdpbjogMS4ydncgMHZ3O1xufVxuXG4uaW5uZXJibG9jayBhIHtcbiAgZm9udC1zaXplOiAzLjh2dztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBjb2xvcjogIzAwOTNBQTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uaW5uZXJibG9jayBhIGltZyB7XG4gIHdpZHRoOiAyLjV2dztcbiAgbWFyZ2luLWxlZnQ6IDF2dztcbn1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMXZ3O1xufVxuXG51bCBsaSB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgZm9udC1zaXplOiAwLjl2dztcbiAgbGluZS1oZWlnaHQ6IDEuNnZ3O1xufVxuXG4ubG9jYXRpb25tYXAge1xuICBoZWlnaHQ6IDI1dnc7XG59XG5cbi5pbm5lcmJsb2NrIHtcbiAgbWFyZ2luLXRvcDogMjZ2dztcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG4uc2VjdGlvbi5oLXNjcmVlbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnBsLTEyLmxlZnRjb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXJnaW4tdG9wOiAtMTB2dyAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxNHZ3O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTY4cHgpIHtcbiAgLmlubmVyYmxvY2sgLmxlZnRjb250ZW50LCAuaW5uZXJibG9jayAucmlnaHRjb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiA4dnc7XG4gIH1cblxuICBpb24tY29udGVudCAuaW5uZXJibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDB2dztcbiAgfVxuXG4gIC5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDF2dztcbiAgfVxuXG4gIC5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcua2VwcGVsYW5kbG9nbyB7XG4gICAgd2lkdGg6IDh2dztcbiAgfVxuXG4gIC5pbm5lcmJsb2NrIC5yaWdodGNvbnRlbnQgPiBpbWcubmJqamxvZ28ge1xuICAgIHdpZHRoOiA3dnc7XG4gIH1cblxuICAuaW5uZXJibG9jayAucmlnaHRjb250ZW50ID4gaW1nLmVjb3BsYW5sb2dvIHtcbiAgICB3aWR0aDogMTR2dztcbiAgfVxuXG4gIC5saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTQuNHZ3O1xuICAgIHRvcDogMC44dnc7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDR2dztcbiAgICBiYWNrZ3JvdW5kOiAjMDA5M0FBO1xuICB9XG5cbiAgLmlubmVyYmxvY2sgYSB7XG4gICAgZm9udC1zaXplOiAwLjh2dztcbiAgfVxuXG4gIC5pbm5lcmJsb2NrIGEgaW1nIHtcbiAgICB3aWR0aDogMC41dnc7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXZ3O1xuICB9XG5cbiAgLmZsZXgtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLnNlY3Rpb24uaC1zY3JlZW4ge1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICAucGwtMTIubGVmdGNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbi10b3A6IDh2dyAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWw7XG4gIH1cblxuICAuaW5uZXJibG9jayAubGVmdGNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAwLjZ2dztcbiAgfVxuXG4gIC5pbm5lcmJsb2NrIC5sZWZ0Y29udGVudCBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNnZ3O1xuICB9XG59Il19 */\"","import { Component, ElementRef, HostBinding, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { IonSlides, ModalController } from '@ionic/angular';\nimport { Observable } from 'rxjs';\nimport { Store, select } from '@ngrx/store';\nimport * as fromDesign from '../store/credentials.actions';\nimport { AppState } from 'src/app/reducers';\nimport { map, concatMap } from 'rxjs/operators';\n\nimport { selectCredentials } from '../store/credentials.selectors';\nimport { ModalComponent } from 'src/app/shared/components/modal/modal.component';\nimport { animate, query, stagger, style, transition, trigger } from '@angular/animations';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n@Component({\n selector: 'app-pg-credentials',\n templateUrl: './credentials.page.html',\n styleUrls: ['./credentials.page.scss'],\n /* animations: [\n trigger('pageAnimations', [\n transition(':enter', [\n query('.heading *', [\n style({opacity: 0, transform: 'translateY(100px)'}),\n stagger(100, [\n animate('800ms cubic-bezier(0.35, 0, 0.25, 1)', style({ opacity: 1, transform: 'none' }))\n ])\n ])\n ]),\n transition(':leave', [\n query('.heading *', [\n style({opacity: 0, transform: 'translateY(-100px)'}),\n stagger(-100, [\n animate('800ms cubic-bezier(0.35, 0, 0.25, 1)', style({ opacity: 1, transform: 'none' }))\n ])\n ])\n ]),\n ]),\n ] */\n})\n\nexport class CredentialsPage implements OnInit {\n design$: Observable;\n\n @ViewChild('terms', {static: false, read: ElementRef}) terms: ElementRef;\n @ViewChild('privacy', {static: false, read: ElementRef}) privacy: ElementRef;\n @ViewChild('disclaimer', {static: false, read: ElementRef}) disclaimer: ElementRef;\n\n constructor(private store: Store, private renderer: Renderer2, public modalController: ModalController, public http: HttpClient) {}\n\n ngAfterViewInit() {\n this.renderer.listen(this.terms.nativeElement, 'click', (event) => {\n window.open(\"https://www.keppelland.com/sg/Terms-and-Conditions\", \"_blank\");\n });\n this.renderer.listen(this.privacy.nativeElement, 'click', (event) => {\n window.open(\"https://www.keppelland.com/sg/Privacy-Policy\", \"_blank\");\n });\n this.renderer.listen(this.disclaimer.nativeElement, 'click', (event) => {\n this.presentModal('disclaimer');\n });\n }\n\n ngOnInit() {\n /* this.store.dispatch(new fromDesign.CredentialsContentsRequestedAction());\n this.design$ = this.store.pipe(\n select(selectCredentials)\n ); */\n }\n\n async presentModal(mediatype) {\n const modal = await this.modalController.create({\n component: ModalComponent,\n cssClass: 'modal-fullscreen-'+mediatype,\n componentProps: {\n 'mediatype': mediatype,\n }\n });\n return await modal.present();\n }\n}","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CredentialsPage } from './containers/credentials.page';\n\nconst routes: Routes = [\n { path: '', component: CredentialsPage }\n];\n\n@NgModule({\n imports: [\n RouterModule.forChild(routes)\n ],\n exports: [RouterModule]\n})\nexport class CredentialsRoutingModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { StoreModule } from '@ngrx/store';\nimport { CredentialsRoutingModule } from './credentials-routing.module';\nimport { IonicModule } from '@ionic/angular';\n\nimport { CredentialsPage } from './containers/credentials.page';\nimport { SharedModule } from '../../shared/shared.module';\nimport * as fromCredentials from './store/credentials.reducer';\nimport { EffectsModule } from '@ngrx/effects';\nimport { CredentialsEffects } from './store/credentials.effects';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n CredentialsRoutingModule,\n IonicModule,\n SharedModule,\n StoreModule.forFeature('credentials', fromCredentials.credentialsReducer),\n EffectsModule.forFeature([CredentialsEffects])\n ],\n declarations: [CredentialsPage],\n exports: [CredentialsPage],\n})\nexport class CredentialsPageModule {}","import { Action } from '@ngrx/store';\n\nexport enum CredentialsActionTypes {\n CredentialsContentRequested = '[Credentials] Content Requested',\n CredentialsContentLoaded = '[Credentials] Content Loaded',\n CredentialsFetchError = '[Credentials] Fetch Error'\n}\n\nexport class CredentialsContentsRequestedAction implements Action {\n readonly type = CredentialsActionTypes.CredentialsContentRequested;\n}\n\nexport class CredentialsContentsLoadedAction implements Action {\n readonly type = CredentialsActionTypes.CredentialsContentLoaded;\n constructor(public payload: { data }) {}\n}\n\nexport class CredentialsFetchErrorAction implements Action {\n readonly type = CredentialsActionTypes.CredentialsFetchError;\n constructor(public payload: { error: any }) {}\n}\n\nexport type CredentialsActions =\n | CredentialsContentsRequestedAction\n | CredentialsContentsLoadedAction\n | CredentialsFetchErrorAction;","import { Injectable } from '@angular/core';\nimport { Actions, Effect, ofType } from '@ngrx/effects';\nimport { DataService } from '../../../shared/services/data.service';\nimport { CredentialsActionTypes, CredentialsContentsRequestedAction, CredentialsContentsLoadedAction, } from './credentials.actions';\nimport { filter, map, mergeMap, withLatestFrom} from \"rxjs/operators\";\nimport { Store, select } from '@ngrx/store';\nimport { AppState } from '../../../reducers/index';\nimport { credentialsContentsLoaded } from './credentials.selectors';\n\n\n@Injectable()\nexport class CredentialsEffects {\n\n constructor(private actions$: Actions, private credentialsService: DataService, private store: Store) {}\n\n @Effect()\n selectCoreContents$ = this.actions$\n .pipe(\n ofType(CredentialsActionTypes.CredentialsContentRequested),\n withLatestFrom(this.store.pipe(select(credentialsContentsLoaded))),\n filter(([action, credentialsContentsLoaded]) => !credentialsContentsLoaded),\n mergeMap(() => this.credentialsService.getData('credentials')),\n map(credentials => new CredentialsContentsLoadedAction(credentials))\n );\n}","import { credentialsInitialState, CredentialsState } from './credentials.state';\nimport { CredentialsActions, CredentialsActionTypes } from './credentials.actions';\n\nexport function credentialsReducer(state = credentialsInitialState, action: CredentialsActions): CredentialsState {\n switch (action.type) {\n\n case CredentialsActionTypes.CredentialsContentRequested:\n return {...state, isLoading:true};\n\n case CredentialsActionTypes.CredentialsContentLoaded:\n return {...state, data: action.payload, isLoading:false, credentialsContentsLoaded:true};\n\n case CredentialsActionTypes.CredentialsFetchError:\n return {...state, isLoading:false};\n\n default:{\n return state;\n }\n }\n}","import { createSelector, createFeatureSelector } from '@ngrx/store';\nimport { CredentialsState } from './credentials.state';\n\nexport const selectCredentialsState = createFeatureSelector('credentials');\n\nexport const selectCredentials = createSelector(\n selectCredentialsState,\n CredentialsState => CredentialsState.data\n);\n\nexport const credentialsContentsLoaded = createSelector(\n selectCredentialsState,\n CredentialsState => CredentialsState.credentialsContentsLoaded\n);\n\nexport const getIsLoading = createSelector(\n selectCredentialsState,\n CredentialsState => CredentialsState.isLoading\n);\n\nexport const getError = createSelector(\n selectCredentialsState,\n CredentialsState => CredentialsState.error\n);","export interface CredentialsState {\n data: any | null;\n isLoading: boolean;\n credentialsContentsLoaded:boolean;\n error: any;\n}\n\nexport const credentialsInitialState: CredentialsState = {\n data: null,\n isLoading: true,\n credentialsContentsLoaded: false,\n error: null,\n};"],"sourceRoot":""}