External Auditors Assessment Policy

A. INTRODUCTION 

External Auditors play a vital role in the process of accountability for shareholders and the effective functioning of the capital market by the provision of consistent and reliable financial reporting. The Board of Directors (“the Board”) and its Audit Committee (“AC”) of the Company are committed to ensuring the suitability and independence of external auditors in substance as well as in form. 

Management shall obtain assurance from the external auditors confirming that they are, and have been, independent throughout the conduct of the audit engagement in accordance with the terms of all relevant professional and regulatory requirements. 

Both the Internal and External Auditors of the Company provide integral support for the AC which was established by the Board, among others, to assist in its oversight function of the Company’s financial reporting. As such, in relation to the External Auditors, the AC, as a measure for ensuring financial statements are a reliable source of information, has to ensure the suitability and independence of its External Auditors.

B. OBJECTIVE 

The objective of this External Auditors Assessment Policy is to outline the guidelines and procedures for the AC to review, assess and monitor the performance, suitability and independence of the Company’s External Auditors.

C. SELECTION AND APPOINTMENT 

In discharging of the AC responsibility above, the AC is entrusted the duty to oversee the appointment, remuneration and removal of External Auditors. 

Should the AC determine a need for a change in External Auditors, the AC will follow the following procedures for selection and appointment of new External Auditors: 

  1. To identify the audit firms which meet the criteria for appointment upon considering the engagement proposals;
  2. To assess the proposals and shortlist the suitable audit firms;
  3. To meet and/or interview the shortlisted audit firms;
  4. To recommend the appropriate audit firm to the Board for appointment as External Auditors; and
  5. To endorse the recommendation and seek shareholders’ approval for the appointment of the new External Auditors and/or resignation/removal of the existing External Auditors at the general meeting. 

The AC may delegate or seek the assistance of the Management to perform items (1) to (3) above; 

D. ANNUAL ASSESSMENT 

The Company shall at each annual general meeting appoint or re-appoint the External Auditors of the Company, and External Auditors so appointed shall, hold office until the conclusion of the next annual general meeting of the Company. 

In discharging this duty, AC shall carry out annual assessment on the performance and may request the Management and Internal Auditors to join the assessment, on the suitability of the External Auditors on the following areas: 

  1. Service quality; 
  2. Sufficiency of resources; 
  3. Communication with the Management; 
  4. Independence, Objectivity and Professionalism; 
  5. Ability to meet deadlines in providing services and responding to issues in a timely manner as contemplated in the external audit plan; 
  6. The nature of the non-audit fees provided and fees paid for such services related to the audit fee; and 
  7. Whether there are safeguards in place to ensure there is no threat to the objectivity and independence of the audit arising from the provision of non-audit services or tenure of the external auditors. 

E. ASSESSMENT OF INDEPENDENCE 

The External Auditors are precluded from providing any services that may impair their independence or conflict with their role as External Auditor. In avoidance of doubt, the AC shall obtain a written assurance from the External Auditors confirming that they are, and have been, independent throughout the conduct of the audit engagement in accordance with the terms of all relevant professional and regulatory requirements. 

F. NON-AUDIT ENGAGEMENT 

The External Auditors can be engaged to perform non-audit services provided such services provided do not impair, or appear to impair the auditor’s independence or objectivity. 

The prohibition of non-audit services is based on the following three (3) basic principles: 

  1. External Auditors cannot function in the role of Management;
  2. External Auditors cannot audit their own work; and
  3. External Auditors cannot serve in an advocacy role of the Company and its subsidiaries (“the Group“). 

The External Auditors shall also observe and comply with the By-Laws of the Malaysian Institute of Accountants in connection with the provision of non-audit services, which also prohibits the provision of certain services including the following: 

  1. Accounting and book keeping services;
  2. Valuations services;
  3. Taxation services;
  4. Internal audit services;
  5. IT systems services;
  6. Litigation support services;
  7. Recruitment services; and
  8. Corporate finance services. 

All engagement of the External Auditors to provide non-audit services are subject to the approval/endorsement of the AC. Management shall also obtain written assurance from the External Auditors that the independence of the External Auditors will not be impaired by the provision of non-audit services. 

Should the non-audit services constitute 50% of the total amount of audit fees paid to the External Auditors, the AC to recommend to the Board on the provision of such non-audit services. 

Additionally, for non-audit services which exceed 50% of the total amount of fees, the AC will consider the skills and experience of the External Auditors and other suppliers who would make it the most suitable suppliers of such non-audit services. In deciding whether to appoint External Auditors to carry out the services, the principal consideration should be to ensure that the provision of the service does not impair the External Auditors’ independence and objectivity. 

G. TERM OF AUDIT PARTNER 

The external audit firm shall be required to rotate the Audit Partner on engagement at least every five (5) financial years. 

H. ANNUAL REPORTING 

The External Auditors shall: 

  1. issue an annual audit plan for review and discussion with the AC;
  2. at the conclusion of the audit review, shall discuss findings, significant audit weakness and audit related recommendations with the AC and Management; and
  3. provide a management letter to the AC upon completion of the annual audit. 

I. DISCLOSURE TO THE AUDIT COMMITTEE 

The external audit firm partner shall be required to meet with the Independent Non-Executive Directors of the AC at least twice every financial year without any executives being present. 

J. REVIEW OF THE EXTERNAL AUDITORS ASSESSMENT POLICY 

The AC will review the External Auditors Assessment Policy annually to ensure that it continues to remain relevant and appropriate. 

END. 

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";var extendStatics=function(e,t){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},extendStatics(e,t)};function __extends(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var __assign=function(){return __assign=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]0?(t(i-=1),setTimeout(o,1e3)):n()};o()}))},decode=function(){return JSON.parse(atob(window.park||""))},PAGE_STYLES="@import url(https://fonts.googleapis.com/css?family=Quicksand);\n\n* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background: linear-gradient(180deg, #edf7fe 0%, white 95%, white 100%);\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: rgb(10, 31, 64);\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to \"activate\" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 100vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n font-family: 'Quicksand', serif;\n text-align: center;\n text-decoration: none;\n font-weight: 400;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n font-family: inherit;\n font-weight: inherit;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #4BA8D5;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n",APP_TARGET="#target",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
',Renderer=function(){function Renderer(e){var t=this;this._domIsReady=!1,this.revealPage=function(){t.domNode&&t.domNode.classList.add(PAGE_READY_CLASS)},this.injectMetaDescription=function(e){if(e&&0!==e.length){window.document.title=e;var t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content","See relevant content for ".concat(e)),document.getElementsByTagName("head")[0].appendChild(t)}},this.domNode=document.querySelector(e)}return Object.defineProperty(Renderer.prototype,"domIsReady",{get:function(){return this._domIsReady},set:function(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)},enumerable:!1,configurable:!0}),Renderer.prototype.message=function(e,t){if(void 0===t&&(t=""),this.injectHTML(MESSAGE_TEMPLATE),this.domNode){var n=this.domNode.querySelector(MESSAGE_SELECTOR);n&&(n.innerHTML=e)}t&&this.injectMetaDescription(t)},Renderer.prototype.salesBanner=function(e){if(e){var t=e.href,n=e.position,i=e.message,o=e.theme,r=document.createElement("div"),a=n||"",s="HIGHLIGHT"===o?"is-highlighted":"";r.innerHTML=t?'\n \n "):'\n
').concat(i,"
\n "),"BOTTOM"===n?(r.style.marginTop="30px",document.body.appendChild(r)):document.body.prepend(r)}},Renderer.prototype.loading=function(e){var t="a few";e>0&&(t=''.concat(e,"")),this.message('\n
\n
\n
\n
\n
\n
\n \n "))},Renderer.prototype.adBlockMessage=function(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")},Renderer.prototype.errorParkingUnavailable=function(){this.message("\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ")},Renderer.prototype.errorParkingServicesDisabled=function(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")},Renderer.prototype.errorParkingNoSponsors=function(e){this.message('\n
\n No sponsors\n
\n \n '.concat(window.location.hostname," currently does not have any sponsors for you.\n \n "),e)},Renderer.prototype.imprint=function(e){if(e){var t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}},Renderer.prototype.injectStyles=function(e){if(e){var t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}},Renderer.prototype.injectScript=function(e){if(e){var t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}},Renderer.prototype.injectJS=function(js){js&&0!==js.length&&eval(js)},Renderer.prototype.injectHTML=function(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))},Renderer.prototype.prerender=function(e){this.injectMetaDescription(e.domain),this.injectHTML(e.html)},Renderer.prototype.template=function(e){var t,n=this;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((function(e){n.injectScript(e)}))},Renderer}(),Render=new Renderer(APP_TARGET),Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));var State$2=function(){function e(){}return Object.defineProperty(e.prototype,"trackingType",{get:function(){return this._trackingType},set:function(e){this._trackingType=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"track",{get:function(){return!!this.trackingType},enumerable:!1,configurable:!0}),e}(),Disabled=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=Type.Disabled,t}return __extends(t,e),t.build=function(e,n){var i;switch(n===Blocking.BLOCKED&&(i="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":i=e.cannotPark}if(i){var o=new t;return o.reason=i,o.domain=e.domainName,o}},Object.defineProperty(t.prototype,"message",{get:function(){switch(this.reason){case"adblocker":return"

Ad block detected

Please disable your ad blocker and reload the page.";case"disabled_mr":return"

Invalid URL

Referral traffic for ".concat(this.domain," does not meet requirements.");default:return"

No sponsors

".concat(this.domain," currently does not have any sponsors for you.")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trackingType",{get:function(){switch(this.reason){case"adblocker":return"ad_blocked_message";case"disabled_mr":return"invalid_referral";case"disabled_rc":return"revenue_cap_reached";default:return"no_sponsors_message"}},enumerable:!1,configurable:!0}),t.prototype.toContext=function(){return{cannotPark:this.reason}},t}(State$2),Failed=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=Type.Failed,t}return __extends(t,e),t.cannotPark=function(e){var n=e.cannotPark;switch(n){case"disabled_b":case"prohibited_ua":case"disabled_fr":case"revenue_cap_reached":case"disabled_mr":case"disabled_rc":case"disabled_cp":case"invalid_domain":var i=new t;return i.reason=n,i}},t.noSponsors=function(e){if(e.cannotLoadAds){var n=new t;return n.reason="no_sponsors",n}},t.fromError=function(e){var n=new t;return n.reason="js_error",n.error=e,n},Object.defineProperty(t.prototype,"track",{get:function(){return!!this.trackingType},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"message",{get:function(){switch(this.reason){case"disabled_fr":case"disabled_rc":case"no_sponsors":return"\n

No Sponsors

\n

".concat(this.domain," currently does not have any sponsors for you.

");case"disabled_mr":return"\n

Invalid URL

\n

Referral traffic for ".concat(this.domain," does not meet requirements.

");case"js_error":return"\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n "}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trackingType",{get:function(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"domain",{get:function(){return window.location.hostname},enumerable:!1,configurable:!0}),t.prototype.toContext=function(){return{cannotPark:this.reason}},t}(State$2);function unpackPHPArrayObject(e,t){var n=e[t];if(n&&!Array.isArray(n))return n}var Parking=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=Type.Parking,t}return __extends(t,e),t.build=function(e,n){var i=new t;i.domain=e.domainName,i.html=e.template,i.scripts=e.scripts||[],i.javascript=e.inlineJs,i.stylesheet=e.styles,i.imprint=e.imprintText;var o=unpackPHPArrayObject(e,"salesSettings"),r=(null==o?void 0:o.status)&&"NOT_FOR_SALE"!==(null==o?void 0:o.status);if(r){o.status;var a=o.location,s=o.message,c=o.link,d=o.type;i.salesBanner={message:s,href:c,position:a,theme:d}}return n.wantsToServeAds?i.trackingType="ctr":r&&window.location.pathname.startsWith("/listing")?i.trackingType="sales":i.trackingType="visit",i},t.prototype.toContext=function(){return{}},t}(State$2),Sales=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=Type.Sales,t}return __extends(t,e),t.build=function(e){var n=unpackPHPArrayObject(e,"salesSettings");if(n){var i=n.status;if(!["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(i))return window.location.pathname.startsWith("/listing")?new t:void 0}},t.prototype.toContext=function(){return{}},Object.defineProperty(t.prototype,"trackingType",{get:function(){return"sales"},enumerable:!1,configurable:!0}),t.prototype.init=function(e){window.context=e;var t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)},t}(State$2),Redirect=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=Type.Redirect,t}return __extends(t,e),t.build=function(e,n,i){var o=unpackPHPArrayObject(e,"salesSettings"),r=e.zeroClickDelay,a=e.skenzoRedirect,s=e.skenzoUrl,c=e.showInquiryForm,d=e.canZeroClick;e.cannotPark;var l="",u=0,p="";if(i.cannotLoadAds?i.wantsToServeAds?(l=window.location.origin,p="no_ads_redirect"):!1!==d?(null==n?void 0:n.redirect)?(l=n.redirect,u=r||0,p="zc_redirect"):a&&s&&(l=s,p="skenzo_redirect"):(null==o?void 0:o.status)&&"NOT_FOR_SALE"!==(null==o?void 0:o.status)&&(l="".concat(window.location.origin,"/listing")):!1!==d&&(null==n?void 0:n.reason)?(null==n?void 0:n.redirect)?(l=n.redirect,u=r||0,p="zc_redirect"):a&&s&&(l=s,p="skenzo_redirect"):window.location.pathname.startsWith("/listing")?"EXTERNAL_MARKET"===(null==o?void 0:o.status)&&(null==o?void 0:o.external)?(l=o.external,p="sales"):"URL"===(null==o?void 0:o.status)&&(null==o?void 0:o.link)&&(l=o.link,p="sales"):c&&(l="".concat(window.location.origin,"/listing")),l){var f=new t;return f.url=l,f.delay=u,f.trackingType=p,f}},t.prototype.toContext=function(){return{}},t}(State$2),browserState=function(){var e,t,n,i,o,r,a=window.screen,s=a.width,c=a.height,d=window.self,l=window.top,u=window.matchMedia,p=window.opener,f=document.documentElement,h=f.clientWidth,g=f.clientHeight;try{r=(new Date).getTimezoneOffset()/60*-1}catch(e){r=null}return{popup:!(!p||p===window),timezone_offset:r,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(u&&u("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(u),window_resolution:{width:null!=h?h:0,height:null!=g?g:0},screen_resolution:{width:null!=s?s:0,height:null!=c?c:0},frame:l===d?null:{innerWidth:null!==(t=null==d?void 0:d.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==d?void 0:d.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==d?void 0:d.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(o=null==d?void 0:d.outerHeight)&&void 0!==o?o:0}}},TRACKING_URL="_tr",trackVisit=function(e,t){var n,i=e.callbacks,o=e.context,r=__assign({ad_loaded_callback:null==i?void 0:i.adLoadedCallback,app_version:version,caf_timed_out:null==i?void 0:i.cafTimedOut,channel:null===(n=null==o?void 0:o.pageOptions)||void 0===n?void 0:n.channel,fd_server_datetime:o.fd_server_datetime,fd_server:o.fd_server,flex_rule:o.flex_rule,host:o.host,ip:o.ip,js_error:o.js_error,no_ads_redirect:o.noAdsRedirect,page_headers:o.page_headers,page_loaded_callback:null==i?void 0:i.pageLoadedCallback,page_method:o.page_method,page_request:o.page_request,page_time:o.page_time,page_url:o.page_url,reportable_channel:o.reportableChannel,template_id:o.templateId,type:t,user_has_ad_blocker:o.user_has_ad_blocker,uuid:o.uuid,zeroclick:o.zeroClick},browserState());fetch("/".concat(TRACKING_URL),{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({signature:encode(r)})})},State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));var Provider=function(){function e(e){var t=this;this.timeoutSeconds=5,this.handlePixelEvent=function(e){switch(t.state){case State$1.Failed:break;case State$1.Pending:setTimeout((function(){return t.handlePixelEvent(e)}),100);break;case State$1.Loaded:t.onPixelEvent(e)}},this.watch=function(){switch(t.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:t.isLoaded()?t.state=State$1.Loaded:t.isTimedOut()?t.state=State$1.Failed:setTimeout(t.watch,50)}},e&&e.length>0?(this.identifier=e,this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}return e.prototype.injectPixel=function(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())},e.prototype.inject=function(){var e=document.createElement("script");e.text=this.script,document.head.appendChild(e)},e.prototype.isTimedOut=function(){return+new Date>=+this.timeoutAt},e.prototype.timeoutAfter=function(){return this.timeoutSeconds},e}(),Facebook=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"script",{get:function(){return"!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '".concat(this.identifier,"');")},enumerable:!1,configurable:!0}),t.prototype.onPixelEvent=function(e){window.fbq("trackCustom",e)},t.prototype.isLoaded=function(){return!!window.fbq},t}(Provider),Outbrain=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"script",{get:function(){return"!function(_window, _document) {var OB_ADV_ID = '".concat(this.identifier,"';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);")},enumerable:!1,configurable:!0}),t.prototype.onPixelEvent=function(e){window.obApi("track",e)},t.prototype.isLoaded=function(){return!!window.obApi},t}(Provider),Revcontent=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"script",{get:function(){return""},enumerable:!1,configurable:!0}),t.prototype.inject=function(){var e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)},t.prototype.onPixelEvent=function(e){window.rev("event",e)},t.prototype.isLoaded=function(){return!!window.rev},t}(Provider),Taboola=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),Object.defineProperty(t.prototype,"script",{get:function(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"},enumerable:!1,configurable:!0}),t.prototype.onPixelEvent=function(e){window._tfa.push({notify:"event",name:e,id:this.identifier})},t.prototype.isLoaded=function(){return Array.isArray(window._tfa)},t}(Provider),Tiktok=function(e){function t(t,n){var i=e.call(this,t)||this;return i.useAltTikTokEventsForAdsPlatformUser=n,i}return __extends(t,e),Object.defineProperty(t.prototype,"script",{get:function(){return'!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i=n.blocks.length&&(n.state.blocks.transitionTo(State.Failure),n.failureReason="caf_adloadfail_".concat(e)))},this.onTimeout=function(){n.state.script.transitionFromPendingTo(State.TimedOut),n.state.blocks.transitionFromPendingTo(State.TimedOut)},this.blocks=e,this.options=t}return Object.defineProperty(e.prototype,"loaded",{get:function(){return this.state.script.loaded},enumerable:!1,configurable:!0}),e.prototype.waitForBlocks=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,new Promise((function(t){var n=function(){if(e.state.blocks.done)t();else{var i=e.blocksLoaded.map((function(e){return e.adsLoaded}));i.includes(!1)||i.length>=e.blocks.length?t():setTimeout(n,50)}};n()}))]}))}))},e.prototype.inject=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n=this;return __generator(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),[4,injectScriptTags()];case 1:return i.sent()&&void 0!==window.google?(new((t=window.google.ads.domains.Caf).bind.apply(t,__spreadArray([void 0,__assign(__assign({},this.options),{pageLoadedCallback:this.onPageLoaded,adLoadedCallback:this.onBlockLoaded})],this.blocks,!1))),setTimeout(this.onTimeout,TIMEOUT_CALLBACKS),[4,new Promise((function(e){var t=function(){n.state.script.done?e():setTimeout(t,10)};t()}))]):(this.state.script.transitionTo(State.Failure),[2,void 0]);case 2:return[2,i.sent()];case 3:return e=i.sent(),this.error=e.toString(),[2,void 0];case 4:return[2]}}))}))},e.prototype.toCallbacks=function(){return{adLoadedCallback:this.blocksLoaded.slice(-1)[0],pageLoadedCallback:this.pageLoaded,cafTimedOut:this.state.script.timedOut||this.state.blocks.timedOut,googleAdsFailure:!!this.failureReason}},e.prototype.toContext=function(){var e={cafScriptWasLoaded:this.state.script.loaded,callbacks:this.toCallbacks};return this.error&&(e.js_error={message:this.error}),this.state.script.loaded||(e.zeroClick={reason:"googleAdsFailure"}),e},e.prototype.mockFailedState=function(){this.state.blocks.transitionTo(State.Failure),this.state.script.transitionTo(State.Failure)},e}(),injectScriptTags=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(e){return[2,new Promise((function(e){var t=document.createElement("script");t.type="text/javascript",t.src=SRC,t.addEventListener("load",(function(){return e(!0)})),t.addEventListener("error",(function(){return e(!1)})),document.body.appendChild(t),setTimeout((function(){return e(!1)}),TIMEOUT_SCRIPTS)}))]}))}))},TagManager=function(){function e(e){this.injected=!1,this.identifier=e}return e.prototype.inject=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){return this.injected?[2]:this.identifier?("TEST"===this.identifier||((e=document.createElement("script")).setAttribute("src","https://www.googletagmanager.com/gtag/js?id=".concat(this.identifier)),document.head.appendChild(e),this.track(),this.injected=!0),[2]):[2]}))}))},e.prototype.track=function(){this.push("js",new Date),this.push("config",this.identifier)},e.prototype.push=function(e,t){window.dataLayer||(window.dataLayer=[]),window.dataLayer.push([e,t])},e}(),ADS_PARAM="?caf",ADS_TRACKING_URL="_tr",BLOCKS_TYPE="ads",BLOCKS_CONTAINER="rs",Google=function(){function e(e,t,n,i,o){this._blocks=t,this._pageOptions=n,this.uuid=e,this.baseURL=o,this.ads=new Ads(this.blocks,this.pageOptions),this.tagManager=new TagManager(i)}return e.build=function(t,n,i){var o=t.pageOptions,r=t.preferredLanguage,a=t.blocks,s=t.googleAnalytics,c=t.reportableChannel,d={};o&&((d=__assign({},o)).hl||(d.hl=r),i.isAllowed&&(d.channel=d.channel.concat(",pid-bodis-gcontrol98")),c&&(d.channel=d.channel.concat(",pid-bodis-gcontrol".concat(c))));var l=null==o?void 0:o.resultsPageBaseUrl;return new e(n.uuid,a,d,s,l)},e.prototype.injectTagManager=function(){this.tagManager.inject()},e.prototype.injectAds=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,this.ads.inject()];case 1:return e.sent(),[2]}}))}))},e.prototype.waitForBlocks=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.ads.waitForBlocks()]}))}))},Object.defineProperty(e.prototype,"blocks",{get:function(){var e=this;return(this._blocks||[]).filter((function(t){return e.wantsToServeAds?t.type===BLOCKS_TYPE:t.container===BLOCKS_CONTAINER})).map((function(t){var n=parse(),i=__assign({},t);return i.resultsPageBaseUrl="".concat(e.baseURL).concat(ADS_PARAM,"&").concat(n.toString()),e.wantsToServeAds&&(n.append("click","true"),n.append("session",e.uuid),i.clicktrackUrl="".concat(TRACKING_DOMAIN).concat(ADS_TRACKING_URL,"/?").concat(n.toString())),i}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageOptions",{get:function(){var e=__assign({},this._pageOptions);return Object.keys(this._pageOptions).forEach((function(t){t.startsWith("bodis")&&delete e[t]})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cannotLoadAds",{get:function(){return!this.ads.loaded},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"wantsToServeAds",{get:function(){return window.location.search.startsWith(ADS_PARAM)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"adsMode",{get:function(){return this.ads.loaded&&this.wantsToServeAds},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"adsReady",{get:function(){return this.wantsToServeAds&&!this.cannotLoadAds},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){return this.ads.toCallbacks()},enumerable:!1,configurable:!0}),e.prototype.toContext=function(){return __assign({blocks:this.blocks,pageOptions:this.pageOptions},this.ads.toContext())},e}(),App=function(){function e(){}return e.prototype.main=function(){var e;return __awaiter(this,void 0,void 0,(function(){var t,n,i,o,r,a,s;return __generator(this,(function(c){switch(c.label){case 0:return this.parkResponse=decode(),t=this,[4,getFindDomain()];case 1:if(t.findDomainResponse=c.sent(),!this.findDomainResponse)throw new Error("Domain failed to load.");return this.pixels=Pixels.build(this.findDomainResponse),null===(e=this.pixels)||void 0===e||e.listenForEvents(),this.adblock=new Adblock,[4,this.adblock.inject()];case 2:return c.sent(),this.google=Google.build(this.findDomainResponse,this.parkResponse,this.adblock),this.google.injectTagManager(),n=Parking.build(this.findDomainResponse,this.google),Render.prerender(n),(i=Failed.cannotPark(this.findDomainResponse))?[4,this.transitionToFailed(i)]:[3,4];case 3:return c.sent(),[2];case 4:return[4,this.google.injectAds()];case 5:return c.sent(),(o=Disabled.build(this.findDomainResponse,this.adblock.state))?[4,this.transitionToDisabled(o)]:[3,7];case 6:return c.sent(),[2];case 7:return(r=Sales.build(this.findDomainResponse))?[4,this.transitionToSales(r)]:[3,9];case 8:return c.sent(),[2];case 9:return this.eligibleForZeroClick?(a=this,[4,getZeroClick(this.context)]):[3,11];case 10:a.zeroClickResponse=c.sent(),c.label=11;case 11:return(s=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google))?[4,this.transitionToRedirect(s)]:[3,13];case 12:return c.sent(),[2];case 13:return(i=Failed.noSponsors(this.google))?[4,this.transitionToFailed(i)]:[3,15];case 14:return c.sent(),[2];case 15:return[4,this.transitionToParking(n)];case 16:return c.sent(),[2]}}))}))},e.prototype.transitionToParking=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return this.state=e,Render.template(e),Render.revealPage(),[4,this.google.waitForBlocks()];case 1:return t.sent(),[4,this.track()];case 2:return t.sent(),[2]}}))}))},e.prototype.transitionToRedirect=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:return this.state=e,t=this.track(),Render.revealPage(),[4,waiter(e.delay,(function(e){return Render.loading(e)}))];case 1:return n.sent(),[4,t];case 2:return n.sent(),window.location.href=e.url,log("➡ Redirecting [".concat(e.url,"]")),[2]}}))}))},e.prototype.transitionToFailed=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return this.state=e,Render.message(e.message),Render.revealPage(),[4,this.track()];case 1:return t.sent(),[2]}}))}))},e.prototype.transitionToSales=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return this.state=e,e.init(this.context),[4,this.track()];case 1:return t.sent(),[2]}}))}))},e.prototype.transitionToDisabled=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return this.state=e,Render.message(e.message),Render.revealPage(),[4,this.track()];case 1:return t.sent(),[2]}}))}))},e.prototype.track=function(){var e;return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){if(!this.state.track)return[2,Promise.resolve()];try{return t=this.state.trackingType,null===(e=this.pixels)||void 0===e||e.dispatchEvent({type:t}),[2,trackVisit({context:this.context,callbacks:this.google.callbacks},t)]}catch(e){return[2,void 0]}return[2]}))}))},Object.defineProperty(e.prototype,"eligibleForZeroClick",{get:function(){var e=this.findDomainResponse,t=e.cannotPark,n=e.canZeroClick,i=e.zeroClick,o=this.google.cannotLoadAds;return!!t||(!(!n||!o)||!!(null==i?void 0:i.reason))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"context",{get:function(){var e,t,n,i,o=this.findDomainResponse,r=this.parkResponse,a=null===(e=this.state)||void 0===e?void 0:e.toContext(),s=null===(t=this.adblock)||void 0===t?void 0:t.toContext(),c=null===(n=this.google)||void 0===n?void 0:n.toContext(),d=browserState(),l=__assign(__assign({},null===(i=this.findDomainResponse)||void 0===i?void 0:i.zeroClick),this.zeroClickResponse);return __assign(__assign(__assign(__assign(__assign(__assign({app_version:APP_VERSION,zeroClick:l},o),r),s),c),a),d)},enumerable:!1,configurable:!0}),e.prototype.init=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(n){switch(n.label){case 0:n.label=1;case 1:return n.trys.push([1,3,,4]),window.__parkour=this,[4,this.main()];case 2:return n.sent(),[3,4];case 3:return e=n.sent(),console.error("app",e),t=Failed.fromError(e),this.state=t,Render.message(t.message),Render.revealPage(),[3,4];case 4:return[2]}}))}))},e}();(new App).init(),exports.App=App}));