1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 6 <title>Contact Us | Human Resources Director</title> 7 <meta name="description" content="Human Resources Director - HRD Asia welcomes your feedback. Please feel free to contact us through any of the information here!"> 8 9 <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> 10 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> 11 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> 12 <link rel="manifest" href="/manifest.webmanifest"> 13 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> 14 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Barlow+Condensed:400,500|Cormorant+Garamond:600|Libre+Franklin:300,400,500&display=swap"> 15 <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.1/css/all.css" integrity="sha384-vp86vTRFVJgpjF9jiIGPEEqYqlDwgyBgEF109VFjmqGmIY/Y4HV4d3Gp2irVfcrp" crossorigin="anonymous"> 16 <link href="/css/site.min.css?v=fDa8VYcYbuV_2YzaMz6-DMs7PvRJ_4qD6qshLGQfxcI" rel="stylesheet" /> 17 <meta property="og:locale" content="en_SG" /> 18 <meta property="og:site_name" content="Human Resources Director" /> 19 20 21 <link rel="canonical" href="https://www.hcamag.com/asia/contact-us"> 22 23 <!-- Google Tag Manager -->
24<script>
vendor: 331 bytes, lines 24-28
24(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 25new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 26j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 27'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 28})(window,document,'script','dataLayer','
28GTM-TPWW
vendor: 3 bytes, line 28
28');
28</script>
28 29<!-- End Google Tag Manager --> 30
31<script type="text/javascript">!function(T,l,y){var S=T.location,k="script",D="instrumentationKey",C="ingestionendpoint",I="disableExceptionTracking",E="ai.device.",b="toLowerCase",w="crossOrigin",N="POST",e="appInsightsSDK",t=y.name||"appInsights";(y.name||T[e])&&(T[e]=t);var n=T[t]||function(d){var g=!1,f=!1,m={initialize:!0,queue:[],sv:"5",version:2,config:d};function v(e,t){var n={},a="Browser";return n[E+"id"]=a[b](),n[E+"type"]=a,n["ai.operation.name"]=S&&S.pathname||"_unknown_",n["ai.internal.sdkVersion"]="javascript:snippet_"+(m.sv||m.version),{time:function(){var e=new Date;function t(e){var t=""+e;return 1===t.length&&(t="0"+t),t}return e.getUTCFullYear()+"-"+t(1+e.getUTCMonth())+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())+"."+((e.getUTCMilliseconds()/1e3).toFixed(3)+"").slice(2,5)+"Z"}(),iKey:e,name:"Microsoft.ApplicationInsights."+e.replace(/-/g,"")+"."+t,sampleRate:100,tags:n,data:{baseData:{ver:2}}}}var h=d.url||y.src;if(h){function a(e){var t,n,a,i,r,o,s,c,u,p,l;g=!0,m.queue=[],f||(f=!0,t=h,s=function(){var e={},t=d.connectionString;if(t)for(var n=t.split(";"),a=0;a<n.length;a++){var i=n[a].split("=");
312===i.length&&(e[i[0][b]()]=i[1])}if(!e[C]){var r=e.endpointsuffix,o=r?e.location:null;e[C]="https://"+(o?o+".":"")+"dc."+(r||"services.visualstudio.com")}return e}(),c=s[D]||d[D]||"",u=s[C],p=u?u+"/v2/track":d.endpointUrl,(l=[]).push((n="SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)",a=t,i=p,(o=(r=v(c,"Exception")).data).baseType="ExceptionData",o.baseData.exceptions=[{typeName:"SDKLoadFailed",message:n.replace(/\./g,"-"),hasFullStack:!1,stack:n+"\nSnippet failed to load ["+a+"] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: "+(S&&S.pathname||"_unknown_")+"\nEndpoint: "+i,parsedStack:[]}],r)),l.push(function(e,t,n,a){var i=v(c,"Message"),r=i.data;r.baseType="MessageData";var o=r.baseData;return o.message='AI (Internal): 99 message:"'+("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) ("+n+")").replace(/\"/g,"")+'"',o.properties={endpoint:a},i}(0,0,t,p)),function(e,t){if(JSON){var n=T.fetch;if(n&&!y.useXhr)n(t,{method:N,body:JSON.stringify(e),mode:"cors"});else if(XMLHttpRequest){var a=new XMLHttpRequest;a.open(N,t),a.setRequestHeader("Content-type","application/json"),a.send(JSON.stringify(e))}}}(l,p))}function i(e,t){f||setTimeout(function(){!t&&m.core||a()},500)}var e=function(){var n=l.createElement(k);n.src=h;var e=y[w];return!e&&""!==e||"undefined"==n[w]||(n[w]=e),n.onload=i,n.onerror=a,n.onreadystatechange=function(e,t){"loaded"!==n.readyState&&"complete"!==n.readyState||i(0,t)},n}();y.ld<0?l.getElementsByTagName("head")[0].appendChild(e):setTimeout(function(){l.getElementsByTagName(k)[0].parentNode.appendChild(e)},y.ld||0)}try{m.cookie=l.cookie}catch(p){}function t(e){for(;e.length;)!function(t){m[t]=function(){var e=arguments;g||m.queue.push(function(){m[t].apply(m,e)})}}(e.pop())}var n="track",r="TrackPage",o="TrackEvent";t([n+"Event",n+"PageView",n+"Exception",n+"Trace",n+"DependencyData",n+"Metric",n+"PageViewPerformance","start"+r,"stop"+r,"start"+o,"stop"+o,"addTelemetryInitializer","setAuthenticatedUserContext","clearAuthenticatedUserContext","flush"]),m.SeverityLevel={Verbose:0,Information:1,Warning:2,Error:3,Critical:4};var s=(d.extensionConfig||{}).ApplicationInsightsAnalytics||{};if(!0!==d[I]&&!0!==s[I]){var c="onerror";t(["_"+c]);var u=T[c];T[c]=function(e,t,n,a,i){var r=u&&u(e,t,n,a,i);return!0!==r&&m["_"+c]({message:e,url:t,lineNumber:n,columnNumber:a,error:i}),r},d.autoExceptionInstrumented=!0}return m}(y.cfg);function a(){y.onInit&&y.onInit(n)}(T[t]=n).queue&&0===n.queue.length?(n.queue.push(a),n.trackPageView({})):a()}(window,document,{ 32src: "https://js.monitor.azure.com/scripts/b/ai.2.min.js", // The SDK URL Source 33crossOrigin: "anonymous", 34cfg: { // Application Insights Configuration 35 connectionString: 'InstrumentationKey=7d0d928d-6114-450d-9c42-170982ce5aea;IngestionEndpoint=https://eastus-8.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/' 36}});</script>
36</head> 37<body class="page"> 38 <!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 38-39
38 39<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
39GTM-TPWW
vendor: 85 bytes, lines 39-40
39" 40height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
41<!-- End Google Tag Manager (noscript) --> 42 43 44 45 <div> 46 <header class="wrapper-fluid wrapper--header wrapper--header--single"> 47 <div class="header"> 48 <nav class="menu-item modal-show"> 49 50 <div class="logo-and-btn-close"> 51 <a href="/asia"> 52 <div class="logo"> 53 <img src="/images/logo.svg" /> 54 </div> 55 </a> 56 <div class="overlay__header__btn modal-close"> 57 <a id="btnCloseMenu" class="overlay__header__btn--close"><span class="btn-close"><i class="fa fa-times font-24"></i></span></a> 58 </div> 59 </div> 60 <div class="spring modal-spring"></div> 61 <ul class="nav nav--header"> 62 <li class="nav__item"> 63 <a class="nav__item__link" href="/asia/news/general">NEWS</a> 64 <div class="nav__item__container"> 65 <div class="wrapper-no-min-width"> 66 <ul class="menu-wrapper"> 67 <li><a class="font2-20" href="/asia/news/general">News</a></li> 68 <li><a class="font2-20" href="/asia/news/opinion-and-best-practice">Opinion and best practice</a></li> 69 <li><a class="font2-20" href="/asia/news/special-reports">Special reports</a></li> 70 <li><a class="font2-20" href="/asia/news/profiles">Profiles</a></li> 71 <li><a class="font2-20" href="/asia/news/industry-trends">Industry trends</a></li> 72 </ul> 73 </div> 74 </div> 75 </li> 76 <li class="nav__item"> 77 <a class="nav__item__link" href="/asia/specialisation"> 78 SPECIALISATION 79 </a> 80 <div class="nav__item__container"> 81 <div class="wrapper-no-min-width"> 82 <ul class="menu-wrapper"> 83 <li><a class="font2-20" href="/asia/specialisation/benefits">Benefits</a></li> 84 <li><a class="font2-20" href="/asia/specialisation/change-management">Change management</a></li> 85 <li><a class="font2-20" href="/asia/specialisation/corporate-wellness">Corporate wellness</a></li> 86 <li><a class="font2-20" href="/asia/specialisation/diversity-inclusion">Diversity & inclusion</a></li> 87 <li><a class="font2-20" href="/asia/specialisation/employee-engagement">Employee engagement</a></li> 88 <li><a class="font2-20" href="/asia/specialisation/employment-law">Employment law</a></li> 89 <li><a class="font2-20" href="/asia/specialisation/esg">ESG</a></li> 90 <li><a class="font2-20" href="/asia/specialisation/financial-wellness">Financial wellness</a></li> 91 <li><a class="font2-20" href="/asia/specialisation/hr-technology">HR technology</a></li> 92 <li><a class="font2-20" href="/asia/specialisation/immigration">Immigration</a></li> 93 <li><a class="font2-20" href="/asia/specialisation/industrial-relations">Industrial relations</a></li> 94 <li><a class="font2-20" href="/asia/specialisation/leadership">Leadership</a></li> 95 <li><a class="font2-20" href="/asia/specialisation/learning-development">Learning & development</a></li> 96 <li><a class="font2-20" href="/asia/specialisation/mental-health">Mental health</a></li> 97 <li><a class="font2-20" href="/asia/specialisation/payroll">Payroll</a></li> 98 <li><a class="font2-20" href="/asia/specialisation/recruitment">Recruitment</a></li> 99 <li><a class="font2-20" href="/asia/specialisation/reward-recognition">Reward & recognition</a></li> 100 <li><a class="font2-20" href="/asia/specialisation/transformation">Transformation</a></li> 101 <li><a class="font2-20" href="/asia/specialisation/workplace-health-and-safety">Workplace health and safety</a></li> 102 </ul> 103 </div> 104</div> 105 </li> 106 <li class="nav__item"> 107 <a class="nav__item__link" href="/asia/hr-events">EVENTS</a> 108<div class="nav__item__container"> 109 <div class="wrapper-no-min-width"> 110 <ul class="menu-wrapper"> 111 <li><a class="font2-20" href="/asia/hr-events">Asia HR events</a></li> 112 <li><a class="font2-20" href="/asia/all-hr-events">All HR events</a></li> 113 </ul> 114 </div> 115</div> 116 </li> 117 <li class="nav__item"> 118 <a class="nav__item__link" href="/asia/best-in-hr">BEST IN HR</a> 119 </li> 120 <li class="nav__item"> 121 <a class="nav__item__link" href="/asia/resources">RESOURCES</a> 122 <div class="nav__item__container"> 123 <div class="wrapper-no-min-width"> 124 <ul class="menu-wrapper"> 125 <li><a class="font2-20" href="/asia/premium">Premium content</a></li> 126 <li><a class="font2-20" href="/asia/white-papers">White papers</a></li> 127 <li><a class="font2-20" href="/asia/resources">Multimedia</a></li> 128 <li><a class="font2-20" href="/asia/hrd-talk">HRD Talk</a></li> 129 <li><a class="font2-20" href="/asia/hr-software-reviews">HR software reviews</a></li> 130 </ul> 131 </div> 132 </div> 133 </li> 134 <li class="nav__item"> 135 <a class="nav__item__link" href="/asia/newsletter">SUBSCRIBE</a> 136 </li> 137 <li class="nav__item"> 138 <a class="nav__item__link" href="/asia/advertise">ADVERTISE</a> 139 </li> 140</ul> 141 <div class="menu-item__search modal-hide"> 142 <div class="country-select"> 143 <select id="region-select"> 144 <option>AUSTRALIA</option> 145 <option>NEW ZEALAND</option> 146 <option>ASIA</option> 147 <option>CANADA</option> 148 <option>UNITED STATES</option> 149 </select> 150 </div> 151 <button class="btn-item btn-item__search-btn algolia-search__btn" data-region="asia"><i class="fas fa-search"></i></button> 152 <button class="btn-item btn-item__menu-btn js-btn-menu"><i class="fa fa-bars"></i></button> 153 </div> 154 </nav> 155 </div> 156 </header> 157 158 159 </div> 160 161 <div> 162 163 164 165 166 167<section class="wrapper wrapper--detail-title"> 168 <h1 class="font3-56-46-30-B mb-0">Contact us</h1> 169</section> 170 171<div class="wrapper"> 172 <div class="article-list"> 173 <div class="article-list-left"> 174 <div class="wrapper"> 175 <div class="wrapper--detail__body"> 176<p><em>Human Resources Director (HRD) </em>values your thoughts and welcomes your feedback.<br /> 177<br /> 178If you have any questions, comments, or requests, please contact us via the form below.</p> 179<embed align="top" cellspacing="0" data-origheight="" data-origwidth="" frameborder="0" marginheight="0" scrolling="no" src="https://app.smartsheet.com/b/form/83b8d4834935409897bed7c0a65fb7b3" style="border-style: none; width: 968px; height: 900px;"></embed> </div> 180 </div> 181 </div> 182 <div class="article-list-right article-list-right--flex"> 183 <div class="top-down-list__sub-wrapper"> 184 <div class="top-down-list mb-40-25-35"> 185 <h3 class="top-down-list__title top-down-list__title--latest">LATEST NEWS</h3> 186 <div class="top-down-list__item top-down-list__item--flex top-down-list__item--no-line"> 187 <div class="article__img article__img--latest"> 188 <a href="/asia/news/general/hong-kong-launches-ai-upskilling-drive-as-clerical-roles-shift/591917"> 189 <img srcset="https://cdn-res.keymedia.com/cdn-cgi/image/w=110,h=66,f=
189auto/https://au.res.keymedia.com/files/image/iStock-computer-tech-innovation-training-learning-desktop-154932372.jpg, 190 https://cdn-res.keymedia.com/cdn-cgi/image/w=220,h=132,f=auto/https://au.res.keymedia.com/files/image/iStock-computer-tech-innovation-training-learning-desktop-154932372.jpg 2x, 191 https://cdn-res.keymedia.com/cdn-cgi/image/w=330,h=198,f=auto/https://au.res.keymedia.com/files/image/iStock-computer-tech-innovation-training-learning-desktop-154932372.jpg 3x" 192 src="https://cdn-res.keymedia.com/cdn-cgi/image/w=110,h=66,f=auto/https://au.res.keymedia.com/files/image/iStock-computer-tech-innovation-training-learning-desktop-154932372.jpg" width="110" height="66" alt="Hong Kong launches AI upskilling drive as clerical roles shift" loading="lazy" /> 193 </a> 194 </div> 195 <div class="article__passage article__passage--latest "> 196 <h3> 197 <a class="top-down-list__item--flex-title clamp clamp-3" href="/asia/news/general/hong-kong-launches-ai-upskilling-drive-as-clerical-roles-shift/591917">Hong Kong launches AI upskilling drive as clerical roles shift</a> 198 </h3> 199 </div> 200 </div> 201 <div class="top-down-list__item top-down-list__item--flex top-down-list__item--no-line"> 202 <div class="article__img article__img--latest"> 203 <a href="/asia/news/general/why-ai-upskilling-falls-short-when-c-suite-is-focused-on-job-cuts/591901"> 204 <img srcset="https://cdn-res.keymedia.com/cdn-cgi/image/w=110,h=66,f=auto/https://cdn-res.keymedia.com/cms/images/us/037/0357_638690985558719016.png, 205 https://cdn-res.keymedia.com/cdn-cgi/image/w=220,h=132,f=auto/https://cdn-res.keymedia.com/cms/images/us/037/0357_638690985558719016.png 2x, 206 https://cdn-res.keymedia.com/cdn-cgi/image/w=330,h=198,f=auto/https://cdn-res.keymedia.com/cms/images/us/037/0357_638690985558719016.png 3x" 207 src="https://cdn-res.keymedia.com/cdn-cgi/image/w=110,h=66,f=auto/https://cdn-res.keymedia.com/cms/images/us/037/0357_638690985558719016.png" width="110" height="66" alt="Why AI upskilling falls short when C-suite is focused on job cuts" loading="lazy" /> 208 </a> 209 </div> 210 <div class="article__passage article__passage--latest "> 211 <h3> 212 <a class="top-down-list__item--flex-title clamp clamp-3" href="/asia/news/general/why-ai-upskilling-falls-short-when-c-suite-is-focused-on-job-cuts/591901">Why AI upskilling falls short when C-suite is focused on job cuts</a> 213 </h3> 214 </div> 215 </div> 216 <div class="top-down-list__item top-down-list__item--flex top-down-list__item--no-line"> 217 <div class="article__img article__img--latest"> 218 <a href="/asia/specialisation/benefits/what-do-bosses-really-mean-by-being-always-on/591732"> 219 <img srcset="https://cdn-res.keymedia.com/cdn-cgi/image/w=110,h=66,f=auto/https://cdn-res.keymedia.com/cms/images/us/039/0365_639263505785715486.png, 220 https://cdn-res.keymedia.com/cdn-cgi/image/w=220,h=132,f=auto/https://cdn-res.keymedia.com/cms/images/us/039/0365_639263505785715486.png 2x, 221 https://cdn-res.keymedia.com/cdn-cgi/image/w=330,h=198,f=auto/https://cdn-res.keymedia.com/cms/images/us/039/0365_639263505785715486.png 3x" 222 src="https://cdn-res.keymedia.com/cdn-cgi/image/w=110,h=66,f=auto/https://cdn-res.keymedia.com/cms/images/us/039/0365_639263505785715486.png" width="110" height="66" alt="What do bosses really mean by being 'always on'?" loading="lazy" /> 223 </a> 224 </div> 225 <div class="article__passage article__passage--latest "> 226 <h3> 227 <a class="top-down-list__item--flex-title clamp clamp-3" href="/asia/specialisation/benefits/what-do-bosses-really-mean-by-being-always-on/591732">
227What do bosses really mean by being 'always on'?</a> 228 </h3> 229 </div> 230 </div> 231</div> 232 </div> 233 </div> 234 </div> 235</div> 236 237 238 <footer class="wrapper-fluid wrapper-fluid--footer"> 239 <button class="btn-go-top js-btn-go-top" title="Go to top"><i class="fa fa-chevron-up"></i></button> 240 <div class="wrapper wrapper--footer"> 241 <div class="footer-menu-link"> 242 <div class="footer-menu"> 243 <div class="footer-top"> 244 <ul class="footer-top__menu"> 245 <li><a class="footer-18" href="/asia/companies">Companies</a></li> 246 <li><a class="footer-18" href="/asia/people">People</a></li> 247 <li><a class="footer-18" href="/asia/glossary">Glossary</a></li> 248 <li><a class="footer-18" href="/asia/authors">Authors</a></li> 249 <li><a class="footer-18" href="/asia/newsletter">Newsletter</a></li> 250 <li><a class="footer-18" href="/asia/conditions-of-use">Conditions of Use</a></li> 251 <li><a class="footer-18 termly-display-preferences" href="#">Consent Preferences</a></li> 252 <li><a class="footer-18" href="/asia/privacy-policy">Privacy Policy</a></li> 253 <li><a class="footer-18" href="/asia/cookie-policy">Cookie Policy</a></li> 254 <li><a class="footer-18" href="https://www.keymedia.com/terms-and-conditions">Terms & Conditions</a></li> 255 </ul> 256 </div> 257 <div class="footer-bottom"> 258 <ul class="footer-top__menu"> 259 <li><a class="footer-18" href="/asia/about-us">About us</a></li> 260 <li><a class="footer-18" href="/asia/contact-us">Contact us</a></li> 261 <li><a class="footer-18" href="/asia/sitemap">Sitemap</a></li> 262 <li><a class="footer-18" href="/asia/rss">RSS <i class="fas fa-rss-square rss-color"></i></a></li> 263 </ul> 264 </div> 265 </div> 266 <div class="footer-link"> 267 <div class="footer-icons"> 268 <a class="footer-icon" href="https://www.facebook.com/HumanResourcesDirectorAsia/" target="_blank"><i class="fab fa-facebook-square"></i></a> 269 <a class="footer-icon" href="https://twitter.com/HRD_Asia" target="_blank"><img class="footer-svg-icon" src="/images/square-x.svg" alt="HRD Asia Twitter" /></a> 270 <a class="footer-icon" href="https://www.linkedin.com/showcase/human-resources-director-asia" target="_blank"><i class="fab fa-linkedin"></i></a> 271 </div> 272 <div class="footer-copyright"> 273 <span>Copyright © 2026 KM Business Information Australia Pty Ltd</span> 274 </div> 275 </div> 276 </div> 277 <div class="footer-logo"> 278 <img class="mb-1" src="/images/logo_gray.svg" loading="lazy" /> 279 </div> 280 </div> 281 </footer> 282 </div> 283
283<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
283 284
284<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
284 285
285<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
285 286
286<script src="/js/site.min.js?v=AWLTsz9ZDNjXq-RLFKCFV0kPi6JzrW9s90TVk8cM-ko"></script>
286 287 288 289 290 291
291<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/algoliasearch-lite.umd.js" integrity="sha256-1QNshz86RqXe/qsCBldsUu13eAX6n/O98uubKQs87UI=" crossorigin="anonymous"></script>
291 292
292<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/instantsearch.production.min.js" integrity="sha256-pk7I7Xu6RA1qVbVU7Haw3ULL8nd5CXM5ith59df0/7I=" crossorigin="anonymous"></script>
292 293 <div> 294 <div id="search_overlay"> 295 <div id="search_inner_overlay"></div> 296 </div> 297 <div id="search_container"> 298 <div id="search_modal"> 299 <div id="search_box"></div> 300 <div id="search_content"> 301 <div id="search_panel"> 302 <div id="search_stats"></div> 303 <div> 304 <div id="search_per_page"></div> 305 <div id="search_sort"></div> 306 <div id="search_region_select"></div> 307 </div> 308 </div> 309 <div id="search_region"></div> 310 <div id="search_results"></div> 311 <div id="search_pagination"></div> 312 </div> 313 </div> 314 </div> 315 </div> 316
316<script type="text/javascript"> 317 (function () { 318 const searchClient = algoliasearch('KLGC8JFFHH', '7f93ccae61e88e9b7eca63c3fad5e302'); 319 320 var currentRegion = 'asia'; 321 var searchCount = 0; 322 323 324 var useRegions = true; 325 326 var regions = [ 327 { label: 'All', value: '', count: 0, isRefined: false, exhaustive: true, data: null, order: 0 }, 328 329 { label: 'United States', value: 'us', count: 0, isRefined: false, exhaustive: true, data: null, order: 1 }, 330 331 332 { label: 'Canada', value: 'ca', count: 0, isRefined: false, exhaustive: true, data: null, order: 2 }, 333 334 335 { label: 'Australia', value: 'au', count: 0, isRefined: false, exhaustive: true, data: null, order: 3 }, 336 337 338 { label: 'New Zealand', value: 'nz', count: 0, isRefined: false, exhaustive: true, data: null, order: 4 }, 339 340 341 { label: 'Asia', value: 'asia', count: 0, isRefined: false, exhaustive: true, data: null, order: 5 }, 342 343 ]; 344 345 const search = instantsearch({ 346 indexName: 'relevance', 347 searchFunction: function (helper) { 348 if (helper.state.query === '' && searchCount == 0) { 349 return; 350 } 351 352 document.getElementsByClassName('ais-SearchBox-input')[0].style.borderBottomLeftRadius = 0; 353 document.getElementsByClassName('ais-SearchBox-input')[0].style.borderBottomRightRadius = 0; 354 document.getElementById('search_content').style.display = 'contents'; 355 356 if (window.innerWidth < 768) { 357 document.getElementById('search_modal').style.height = '100%'; 358 } 359 360 if (useRegions) 361 { 362 if (helper.state.hierarchicalFacetsRefinements.region.length > 0) { 363 if (helper.state.hierarchicalFacetsRefinements.region[0] === undefined) { 364 helper.state.hierarchicalFacetsRefinements.region.pop(); 365 } 366 367 currentRegion = helper.state.hierarchicalFacetsRefinements.region[0]; 368 } else { 369 currentRegion = ''; 370 } 371 } 372 373 searchCount++; 374 helper.search(); 375 376 var searchResults = document.getElementsByClassName('ais-Hits'); 377 378 if (searchResults.length > 0) 379 document.getElementsByClassName('ais-Hits')[0].scrollTop = 0; 380 }, 381 searchClient 382 }); 383 384 function debounce(func, wait) { 385 let timeout; 386 return function (...args) { 387 clearTimeout(timeout); 388 timeout = setTimeout(() => func.apply(this, args), wait); 389 }; 390 } 391 392 search.addWidgets([ 393 instantsearch.widgets.searchBox({ 394 container: '#search_box', 395 placeholder: 'Search', 396 showSubmit: true, 397 showReset: true, 398 autofocus: false, 399 queryHook: debounce(function (query, search) { 400 search(query); 401 }, 250) 402 }), 403 instantsearch.widgets.hitsPerPage({ 404 container: '#search_per_page', 405 items: [ 406 { label: '15', value: 15, default: true }, 407 { label: '25', value: 25 }, 408 { label: '50', value: 50 }, 409 { label: '100', value: 100 } 410 ] 411 }), 412 instantsearch.widgets.stats({ 413 container: '#search_stats', 414 templates: { 415 text(data, { html }) { 416 return html`
417 ${data.nbHits.toLocaleString()} results for "<strong>${data.query}</strong>" 418 `; 419 } 420 } 421 }), 422 instantsearch.widgets.hits({ 423 container: '#search_results', 424 templates: { 425 item(data, { html }) { 426 return html` 427 <h3> 428 <a href="${data.url}">${data.title}</a> 429 </h3> 430 <a href="${data.url}">${data.url}</a> 431 <p>${data.summary}</p> 432 `; 433 }, 434 empty(data, { html }) { 435 return html` 436 <h1>No results</h1> 437 <p>No matches were found for "<strong>${data.query}</strong>"</p> 438 `; 439 } 440 } 441 }), 442 instantsearch.widgets.pagination({ 443 container: '#search_pagination', 444 }), 445 instantsearch.widgets.sortBy({ 446 container: '#search_sort', 447 items: [ 448 { value: 'relevance', label: 'Relevance' }, 449 { value: 'date_desc', label: 'Latest' } 450 ] 451 }), 452 { 453 init: function (options) { 454 if (useRegions) { 455 options.helper.state.hierarchicalFacetsRefinements.region.push(currentRegion); 456 } 457 } 458 } 459 ]); 460 461 if (useRegions) { 462 search.addWidgets([ 463 instantsearch.widgets.menuSelect({ 464 container: '#search_region_select', 465 attribute: 'region', 466 transformItems(items) { 467 const itemOrder = Object.fromEntries( 468 regions.map(region => [region.value, region.order]) 469 ); 470 471 const sortedItems = items.sort((a, b) => { 472 return itemOrder[a.value] - itemOrder[b.value] 473 }); 474 475 return items; 476 }, 477 templates: { 478 defaultOption(data, { html }) { 479 return html`<span>All</span>`; 480 }, 481 item(data, { html }) { 482 return html`<span> 483 ${regions.find(item => item.value === data.label).label}</span>`; 484 } 485 } 486 }), 487 instantsearch.widgets.menu({ 488 container: '#search_region', 489 attribute: 'region', 490 transformItems(items) { 491 const selectedItem = items.find(item => item.isRefined); 492 regions.forEach(item => { 493 item.isRefined = false; 494 }); 495 496 if (selectedItem) { 497 regions.find(item => item.value === selectedItem.value).isRefined = true; 498 } else { 499 regions.find(item => item.value === currentRegion).isRefined = true; 500 } 501 502 return regions; 503 }, 504 templates: { 505 item(data, { html }) { 506 return html` 507 <a class="${data.cssClasses.link}" href="${data.url}">
508 <span class="${data.cssClasses.label}">${data.label}</span> 509 </a> 510 `; 511 } 512 } 513 }) 514 ]); 515 } 516 517 search.start(); 518 519 // Shows and Hides search overlay 520 var searchButton = document.getElementsByClassName('algolia-search__btn'); 521 522 if (searchButton.length > 0) { 523 var container = document.getElementById('search_container'); 524 var overlay = document.getElementById('search_overlay'); 525 526 Array.from(searchButton).forEach(function (button) { 527 button.addEventListener('click', function (event) { 528 event.preventDefault(); 529 container.style.display = 'block'; 530 overlay.style.display = 'block'; 531 document.body.style.overflow = 'hidden'; 532 document.getElementsByClassName('ais-SearchBox-input')[0].focus(); 533 }); 534 }); 535 536 document.addEventListener('keydown', function (event) { 537 if (event.key === 'Escape' && container.style.display === 'block') { 538 document.getElementsByClassName('ais-SearchBox-reset')[0].click(); 539 } 540 }); 541 542 container.addEventListener('click', function (event) { 543 if (this === event.target) { 544 document.getElementsByClassName('ais-SearchBox-reset')[0].click(); 545 } 546 }); 547 548 document.getElementsByClassName('ais-SearchBox-reset')[0].addEventListener('click', function (event) { 549 container.style.display = 'none'; 550 overlay.style.display = 'none'; 551 document.body.style.overflow = 'auto'; 552 document.getElementById('search_content').style.display = 'none'; 553 document.getElementById('search_modal').style.height = 'auto'; 554 document.getElementsByClassName('ais-SearchBox-input')[0].style.borderBottomLeftRadius = '10px'; 555 document.getElementsByClassName('ais-SearchBox-input')[0].style.borderBottomRightRadius = '10px'; 556 searchCount = 0; 557 }); 558 559 window.addEventListener('resize', function (event) { 560 if (window.innerWidth < 768 && search.helper.state.query != '') { 561 document.getElementById('search_modal').style.height = '100%'; 562 } else { 563 document.getElementById('search_modal').style.height = 'auto'; 564 } 565 }); 566 } 567 568 var styleLink = document.createElement('link'); 569 styleLink.setAttribute('rel', 'stylesheet'); 570 styleLink.setAttribute('href', 'https://cdn.jsdelivr.net/npm/[email protected]/themes/satellite-min.css'); 571 styleLink.setAttribute('integrity', 'sha256-p/rGN4RGy6EDumyxF9t7LKxWGg6/MZfGhJM/asKkqvA='); 572 styleLink.setAttribute('crossorigin', 'anonymous'); 573 574 document.head.appendChild(styleLink); 575 })(); 576 </script>
576 577 <style> 578 @keyframes fadeIn { 579 from { 580 opacity: 0; 581 } 582 583 to { 584 opacity: 1; 585 } 586 } 587 588 #search_overlay { 589 z-index: 2147483647; 590 position: fixed; 591 inset: 0px; 592 display: none; 593 backdrop-filter: blur(0.25em); 594 animation: fadeIn 0.5s ease-in-out; 595 } 596 597 #search_inner_overlay { 598 position: absolute; 599 inset: 0px; 600 --bg-opacity: 1; 601 background-color: rgba(55, 65, 81, var(--bg-opacity)); 602 opacity: 0.75; 603 } 604 605 #search_container { 606 z-index: 2147483647; 607 position: fixed; 608 inset: 0px; 609 display: none; 610 align-items: flex-start; 611 background-color: rgba(255, 255, 255, var(--bg-opacity)); 612 outline: transparent solid 2px; 613 outline-offset: 2px; 614 padding: 0; 615 } 616 617 #search_container div, 618 #search_container p, 619 #search_container table { 620 font-weight: 400; 621 } 622 623 #search_modal { 624 margin-left: auto; 625 margin-right: auto; 626 max-width: 80em; 627 background-color: #fff; 628 border-radius: 10px; 629 display: flex; 630 flex-direction: column; 631 max-height: 100%; 632 } 633 634 #search_sort { 635 margin-right: 20px; 636 } 637 638 #search_region_select { 639 display: block; 640 } 641 642 #search_region_select > div::before { 643 content: 'Region'; 644 margin-right: 10px; 645 } 646 647 #search_region { 648 display: none; 649 } 650 651 .ais-SearchBox-form { 652 background: none; 653 font-size: 1.25rem; 654 height: 4.5rem; 655 } 656 657 .ais-SearchBox-input { 658 border-radius: 10px; 659 padding-left: 3.5rem; 660 animation: fadeIn 0.5s ease-in-out; 661 } 662 663 .ais-SearchBox-input, .ais-SearchBox-form::before, .ais-SearchBox-reset { 664 font-size: 1.3em; 665 } 666 667 .ais-SearchBox-reset { 668 display: flex !important; 669 } 670 671 .ais-SearchBox-form::before { 672 background-repeat: no-repeat; 673 background-size: cover; 674 width: 28px; 675 height: 28px; 676 margin-top: -13px; 677 } 678 679 .ais-SearchBox-resetIcon { 680 width: 15px; 681 height: 15px; 682 } 683 684 .ais-SearchBox-input:focus, .ais-HitsPerPage-select:focus, .ais-SortBy-select:focus { 685 outline: 0; 686 border: 1px solid #d6d6e7; 687 } 688 689 #search_content { 690 display: none; 691 animation: fadeIn 0.5s ease-in-out; 692 } 693 694 #search_panel, #search_region { 695 padding: 0 1.5rem; 696 } 697 698 #search_panel { 699 display: flex; 700 justify-content: space-between; 701 font-size: 0.875em; 702 --text-opacity: 1; 703 color: rgba(107, 114, 128, var(--text-opacity)); 704 flex-direction: column; 705 } 706 707 .ais-Stats-text { 708 padding: 0px; 709 margin: 0px; 710 font-size: 1.125rem; 711 line-height: 1.75rem; 712 --text-opacity: 1; 713 color: rgba(37, 47, 63, var(--text-opacity)); 714 } 715 716 .ais-Stats, .ais-HitsPerPage, .ais-SortBy, .ais-MenuSelect-select { 717 margin-top: 20px; 718 } 719 720 .ais-HitsPerPage-select, .ais-SortBy-select, .ais-MenuSelect-select { 721 width: fit-content; 722 height: 2em; 723 } 724 725 #search_per_page, #search_panel > div { 726 display: flex; 727 flex-direction: row; 728 align-items: center; 729 } 730 731 #search_panel > div:last-child { 732 flex-wrap: wrap; 733 padding-bottom: 20px; 734 border-bottom: 1px solid #d6d6e7; 735 } 736 737 .ais-HitsPerPage:before { 738 content: 'Result'; 739 margin-right: 10px; 740 } 741 742 .ais-SortBy:before { 743 content: 'Sort'; 744 margin-left: 20px; 745 margin-right: 10px; 746 } 747 748 .ais-Menu { 749 border-bottom: 1px solid #d6d6e7; 750 } 751 752 .ais-Menu-list { 753 display: flex; 754 } 755 756 .ais-Menu-item { 757 padding: 0.75em 1em; 758 } 759 760 .ais-Menu-item--selected { 761 border-style: solid; 762 border-width: 0px 0px 2px; 763 border-color: transparent transparent rgb(102, 126, 234); 764 } 765 766 .ais-Menu-label { 767 font-weight: 400 !important; 768 } 769 770 .ais-Menu-link { 771 font-size: 16px; 772 --text-opacity: 1; 773 color: rgba(107, 114, 128, var(--text-opacity)); 774 } 775 776 .ais-Menu-link:hover { 777 text-decoration: none; 778 --text-opacity: 1; 779 color: rgba(55, 65, 81, var(--text-opacity)); 780 } 781 782 .ais-Menu-item--selected .ais-Menu-link, .ais-Menu-item--selected .ais-Menu-link:hover { 783 color: rgb(102, 126, 234); 784 } 785 786 #search_results { 787 display: flex; 788 overflow: hidden; 789 } 790 791 .ais-Hits {
792 overflow-y: scroll; 793 flex-grow: 1; 794 animation: fadeIn 0.5s ease-in-out; 795 } 796 797 .ais-Hits-item { 798 display: flex; 799 flex-direction: column; 800 align-items: start; 801 box-shadow: none; 802 } 803 804 .ais-Hits-item > h3 { 805 margin: 0; 806 font-size: 1rem; 807 font-weight: 500; 808 overflow-wrap: break-word; 809 } 810 811 .ais-Hits-item > h3 > a { 812 margin: 0; 813 font-size: 1rem; 814 font-weight: 500; 815 overflow-wrap: break-word; 816 --text-opacity: 1; 817 color: rgba(37, 47, 63, var(--text-opacity)); 818 } 819 820 .ais-Hits-item > a { 821 font-size: 0.75rem; 822 overflow: hidden; 823 text-overflow: ellipsis; 824 --text-opacity: 1; 825 color: rgba(159, 166, 178, var(--text-opacity)); 826 } 827 828 .ais-Hits-item > p { 829 padding: 0px; 830 margin: 0.25em 0px 0px; 831 overflow: hidden; 832 font-size: 0.875rem; 833 --text-opacity: 1; 834 color: rgba(107, 114, 128, var(--text-opacity)); 835 } 836 837 .ais-Hits-item a:hover { 838 color: rgb(102, 126, 234) !important; 839 } 840 841 .ais-Hits--empty { 842 padding: 10em 3em; 843 text-align: center; 844 } 845 846 .ais-Hits--empty > h1 { 847 padding: 0px; 848 margin: 0px; 849 --text-opacity: 1; 850 color: rgba(37, 47, 63, var(--text-opacity)); 851 font-size: 1.875em; 852 font-weight: 600; 853 text-transform: none; 854 letter-spacing: -0.025em; 855 } 856 857 .ais-Hits--empty > p { 858 padding: 0px; 859 margin: 0px; 860 --text-opacity: 1; 861 color: rgba(107, 114, 128, var(--text-opacity)); 862 } 863 864 .ais-Pagination { 865 display: flex; 866 padding: 0.875rem 1.5rem 1.5rem; 867 justify-content: center; 868 } 869 870 .ais-Pagination-link { 871 padding: 20px 17px; 872 font-size: 16px; 873 --text-opacity: 1; 874 color: rgba(107, 114, 128, var(--text-opacity)); 875 } 876 877 .ais-Pagination-link:hover { 878 --text-opacity: 1; 879 color: rgba(107, 114, 128, var(--text-opacity)); 880 text-decoration: none; 881 } 882 883 .ais-Pagination-item:not(.ais-Pagination-item--selected):not(.ais-Pagination-item--disabled) > .ais-Pagination-link:hover { 884 background: rgb(224, 224, 235); 885 } 886 887 .ais-Pagination-item--selected > .ais-Pagination-link { 888 color: rgb(255, 255, 255); 889 background: rgb(102, 126, 234); 890 } 891 892 .ais-Pagination-item--selected > .ais-Pagination-link:hover { 893 color: rgb(255, 255, 255); 894 background: rgb(90, 103, 216); 895 } 896 897 .ais-Pagination-item--disabled > .ais-Pagination-link:hover { 898 cursor: not-allowed; 899 color: #b6b7d5; 900 } 901 902 @media only screen and (min-width: 768px) { 903 #search_container { 904 padding: 2.5em; 905 } 906 907 #search_modal { 908 max-height: calc(100% - 3em); 909 } 910 911 .ais-Stats { 912 margin: 20px 0; 913 } 914 915 .ais-HitsPerPage, .ais-SortBy, .ais-MenuSelect-select { 916 margin: 0; 917 } 918 } 919 920 @media only screen and (min-width: 992px) { 921 #search_region_select { 922 display: none; 923 } 924 925 #search_region { 926 display: block; 927 } 928 929 #search_panel { 930 flex-direction: row; 931 } 932 933 #search_panel > div:last-child { 934 padding-bottom: 0; 935 border-bottom: none; 936 } 937 938 #search_sort { 939 margin: 0; 940 } 941 } 942 </style> 943 944 945
945<script type="text/javascript"> 946 (function (d, s, id) { 947 var js, tjs = d.getElementsByTagName(s)[0]; 948 if (d.getElementById(id)) return; 949 js = d.createElement(s); js.id = id; 950 js.src = "https://app.termly.io/embed-policy.min.js"; 951 tjs.parentNode.insertBefore(js, tjs); 952 }(document, 'script', 'termly-jssdk'));</script>
952 953 954
954<script type="text/javascript" 955 src="https://app.termly.io/resource-blocker/990d32ae-5d6d-42a5-964d-e66a82798ff1?autoBlock=on"></script>
955 956
957<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a43a246c8ab1127b',t:'MTc5MDg0MzgxMw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
957</body> 958</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.