PageSourceSearch

https://www.booktopia.com.au/your-local-bookstore/news18.html

html booktopia.com.au collected 2026-09-24 08:28:01 UTC 241,549 bytes, 2,645 lines download raw bytes

1										        		            											    <!DOCTYPE html>
2			
3				<html class="std" xmlns="https://www.w3.org/1999/xhtml" xmlns:fb="https://ogp.me/ns/fb#" xmlns:og="https://opengraphprotocol.org/schema/">
4	<head>
5		<style></style>
6						
7   <title>Booktopia - Books, Online Books, #1 Australian online bookstore, Buy Discount Books, eBooks and DVDs from Australia and the world.</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
8	<meta property="og:description" content="Booktopia - buy online books, DVDs and Magazine Subscriptions from Australia's leading online bookstore with over 4 million titles. Booktopia offers thousands of eBooks, daily discounted books and flat rate shipping of $9.99 per online book order.">
9   <meta name="description" content="Booktopia - buy online books, DVDs and Magazine Subscriptions from Australia's leading online bookstore with over 4 million titles. Booktopia offers thousands of eBooks, daily discounted books and flat rate shipping of $9.99 per online book order." />	<meta name="googlebot" content="index, follow" />
10	<meta name="robots" content="index, follow" />
11<meta name="verify-v1" content="F64zs4eUjSjTSL0rPUgr9PhYfo83zSq3P5vPZv/82pw=" />
12<meta name="verify-v1" content="KglSvZ6iSpITiVE7VWFSJvDW1Pubrd0s/OJl2JD2VE4=" />
13<meta name="google-site-verification" content="WYJj8GuhTmtMPcGLnWPnypIz5pphLymkgK1b1R2x4kw" />
14<META name="y_key" content="c9aade7ff6d13867">
15<meta property="fb:app_id" content="116180781751442"/>
16<meta name="ec_enabled" content="true" id="ec_enabled"/>
17<link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" crossorigin="anonymous"/>
18<link rel="preconnect" href="https://www.google.com" crossorigin="anonymous"/>
19<link rel="preconnect" href="https://static.scarabresearch.com" crossorigin="anonymous"/>
20
21<link rel="preload" href="https://www.booktopia.com.au/wro/6199/jQuery.js?v=dev-20260911152026" as="script"/>
22	<link rel="preload" href="https://www.booktopia.com.au/wro/6199/booktopia.desktop.css?v=dev-20260911152026" as="style" />
23<link rel="preload" href="https://www.booktopia.com.au/template-resources/icon-fonts/booktopia.ttf?v=dev-20260911152026" as="font" crossorigin/>
24<link rel="preload" href="https://www.booktopia.com.au/template-resources/webfonts/Inter-roman.var.woff2?v=3.19" as="font" crossorigin/>
25<link rel="preload" href="https://www.booktopia.com.au/template-resources/webfonts/Inter-italic.var.woff2?v=3.19" as="font" crossorigin/>
26<link rel="icon" href="https://www.booktopia.com.au/images/assets/favicon.png" type="image/png" />
27<link rel="shortcut icon" href="https://www.booktopia.com.au/images/assets/favicon.png" type="image/png" />
28
29
30
31
32	
33
34<script type="text/javascript">
35	var baseUrl = "/";
36    window.BKT_GLOBALS = {sesBrowseProductType: "917504", isMobileSession: false, currentNav: "",serverTimestamp: null,
37        occasion: {enabled: "true",occasionName: "", theme: "color:#fff;background:#009933;", cutoffDate: "12/24/2025", displayWillNotArriveForOccasion: "true"},
38        version: "dev-20260911152026", fatZebraPaymentGateway: "FatZebra", gaEnhancedEcommerceEnabled: true, includeNotificationHeaderTemplates: false, paypalPayIn4Enabled: "true", enablePromotionText: "true", expressDeliveryEstimationEnabled: "true", expressShippingClassName: "ships-2-days", enableUniversalGA: true, freeShippingPromotionEnabled: 'true' };
39</script>
vendor: 1 bytes, line 39
39
40<script type="text/javascript">var customPath = "/template-resources";</script>
40
41	<link rel="stylesheet" href="/wro/6199/booktopia.desktop.css?v=dev-20260911152026" type="text/css" />
42	<link rel="stylesheet" href="/wro/6199/booktopia.desktop.default.css?v=dev-20260911152026" type="text/css" />
43
44<script>
45	function isBotUserAgent(){
46		var crawlerAgentRegex = /bot|google|aolbuild|baidu|bing|msn|duckduckgo|teoma|slurp|yandex|crawler|spider|facebookexternalhit|baiduspider|headless|phantom|selenium|python|curl|wget/i;
47		return crawlerAgentRegex.test(navigator.userAgent);
48	}
49
50	function lazyLoadScript(url, callback){
51        if(isBotUserAgent()) return;
52        var head = document.getElementsByTagName('head')[0];
53        var script = document.createElement('script');
54        script.defer = true;
55        script.type = 'text/javascript';
56        script.src = url;
57        head.appendChild(script);
58        script.onload = callback;
59    }
60</script>
60
61<style>
62    @font-face {
63        font-family: 'booktopia';
64        src:  url('/template-resources/icon-fonts/booktopia.eot?v=dev-20260911152026');
65        src:  url('/template-resources/icon-fonts/booktopia.eot?v=dev-20260911152026#iefix') format('embedded-opentype'),
66        url('/template-resources/icon-fonts/booktopia.ttf?v=dev-20260911152026') format('truetype'),
67        url('/template-resources/icon-fonts/booktopia.woff?v=dev-20260911152026') format('woff'),
68        url('/template-resources/icon-fonts/booktopia.svg?v=dev-20260911152026#booktopia') format('svg');
69        font-weight: normal;
70        font-style: normal;
71        font-display: block;
72    }
73
74    	@font-face {
75font-family: 'Inter';
76font-weight: 100 900;
77font-display: swap;
78font-style: normal;
79font-named-instance: 'Regular';
80src: url("/template-resources/webfonts/Inter-roman.var.woff2?v=3.19") format("woff2");
81}
82        @font-face {
83font-family: 'Inter';
84font-weight: 100 900;
85font-display: swap;
86font-style: italic;
87font-named-instance: 'Italic';
88src: url("/template-resources/webfonts/Inter-italic.var.woff2?v=3.19") format("woff2");
89}
90</style>
91
92	
92<script async src="//booktopia.api.useinsider.com/ins.js?id=10002591"></script>
92
93			        <!-- Global site tag (gtag.js) - Google Ads: 1071893088 -->
94	    
94<script>
95	        lazyLoadScript("https://www.googletagmanager.com/gtag/js?id=AW-1071893088", function(){})
96	    </script>
96
97	    
97<script>
98	        
vendor: 154 bytes, lines 98-101
98window.dataLayer = window.dataLayer || [];
99	        function gtag(){dataLayer.push(arguments);}
100	        gtag('js', new Date());
101	        gtag('config', '
101AW-1071893088
vendor: 13 bytes, line 101
101' );	        
101gtag('config', 'AW-978980296' );	    </script>
101
102	
103<script>
104    (function(w,d,s,l,i){
105        if(isBotUserAgent()) return;
106        w[l]=w[l]||[];
107        w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});
108        var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
109        j.async=true;
110        j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl + '&gtm_auth=CYkt4R7ZvVvpqpVwuMhNgw&gtm_preview=env-2&gtm_cookies_win=x';
111        f.parentNode.insertBefore(j,f);
112    })(window,document,'script','dataLayer','GTM-N74L7GH');
113</script>
113
114
115
116<script type="text/javascript">
117	(function(c,l,a,r,i,t,y){
118		c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
119		t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
120		y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
121	})(window, document, "clarity", "script", "t8vp5bxaqo");
122</script>
122<meta id="google-signin-client_id" name="google-signin-client_id" content="710731560171-45vinu3acor8dihqkbgoas28pkuhob7c.apps.googleusercontent.com" data-enabled="true">	<meta http-equiv="X-UA-Compatible" content="IE=9" />
123
124		<!-- Start VWO Async SmartCode -->
125<script type='text/javascript' id='vwoCode'>
126    if(!isBotUserAgent()) {
127        var _vwo_clicks = 300; //this will track first 300 click
128        window._vwo_code = window._vwo_code || (function () {
129            var account_id = 336745,
130                    version = 1.5,
131                    settings_tolerance = 2000,
132                    library_tolerance = 2500,
133                    use_existing_jquery = false,
134                    is_spa = 1,
135                    hide_element = 'body',
136                    hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',
137                    /* DO NOT EDIT BELOW THIS LINE */
138                    f = false, d = document, vwoCodeEl = d.querySelector('#vwoCode'), code = {
139                        use_existing_jquery: function () {
140                            return use_existing_jquery
141                        }, library_tolerance: function () {
142                            return library_tolerance
143                        }, hide_element_style: function () {
144                            return '{' + hide_element_style + '}'
145                        }, finish: function () {
146                            if (!f) {
147                                f = true;
148                                var e = d.getElementById('_vis_opt_path_hides');
149                                if (e) e.parentNode.removeChild(e)
150                            }
151                        }, finished: function () {
152                            return f
153                        }, load: function (e) {
154                            var t = d.createElement('script');
155                            t.fetchPriority = 'high';
156                            t.src = e;
157                            t.type = 'text/javascript';
158                            t.onerror = function () {
159                                _vwo_code.finish()
160                            };
161                            d.getElementsByTagName('head')[0].appendChild(t)
162                        }, getVersion: function () {
163                            return version
164                        }, getMatchedCookies: function (e) {
165                            var t = [];
166                            if (document.cookie) {
167                                t = document.cookie.match(e) || []
168                            }
169                            return t
170                        }, getCombinationCookie: function () {
171                            var e = code.getMatchedCookies(/(?:^|;)\s?(_vis_opt_exp_\d+_combi=[^;$]*)/gi);
172                            e = e.map(function (e) {
173                                try {
174                                    var t = decodeURIComponent(e);
175                                    if (!/_vis_opt_exp_\d+_combi=(?:\d+,?)+\s*$/.test(t)) {
176                                        return ''
177                                    }
178                                    return t
179                                } catch (e) {
180                                    return ''
181                                }
182                            });
183                            var i = [];
184                            e.forEach(function (e) {
185                                var t = e.match(/([\d,]+)/g);
186                                t && i.push(t.join('-'))
187                            });
188                            return i.join('|')
189                        }, init: function () {
190                            if (d.URL.indexOf('__vwo_disable__') > -1) return;
191                            window.settings_timer = setTimeout(function () {
192                                _vwo_code.finish()
193                            }, settings_tolerance);
194                            var e = d.createElement('style'), t = hide_element ? hide_element + '{' + hide_element_style + '}' : '', i = d.getElementsByTagName('head')[0];
195                            e.setAttribute('id', '_vis_opt_path_hides');
196                            vwoCodeEl && e.setAttribute('nonce', vwoCodeEl.nonce);
197                            e.setAttribute('type', 'text/css');
198                            if (e.styleSheet) e.styleSheet.cssText = t; else e.appendChild(d.createTextNode(t));
199                            i.appendChild(e);
200                            var n = this.getCombinationCookie();
201                            this.load('https://dev.visualwebsiteoptimizer.com/j.php?a=' + account_id + '&u=' + encodeURIComponent(d.URL) + '&f=' + +is_spa + '&vn=' + version + (n ? '&c=' 
201+ n : ''));
202                            return settings_timer
203                        }
204                    };
205            window._vwo_settings_timer = code.init();
206            return code;
207        }());
208    }
209</script>
209
210<!-- End VWO Async SmartCode -->	
211<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"Ug4AUFRADAYHV1ZQ",licenseKey:"18e954a8c4",applicationID:"457372",browserID:"2719625"};;/*! For license information please see nr-loader-full-1.322.0.min.js.LICENSE.txt */
212(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
212e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
212const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>S,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
212if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,R(e,t)}function R(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function w(e,t,r,n,i){if(R(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(w(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(w(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function S(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let R=0,w=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(R=R>0?Math.min(R,e):e),t&&(w=w>0?Math.max(w,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return R>0?Math.min(e,R):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return w>0?Math.max(e,w):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
212o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
212(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
212;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",649:"nr-full-iframe-message-handler",89
2121:"nr-full"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={891:"sha512-YFF+tf82v8eglmCSz5XYYPZ9svAEVPEL8CjIs/VJ5WDjxajLkBKoCp6iBhqtcYRu8v8sXwAWX58PGV4RVzB2dQ==",222:"sha512-y0XrI32v2ZxZdktMLngwYUsETp/i/aYkdx9JOeIAmr2KYJdlDneMKYdNwPaZiOX3gb7AXywTby7jg1okwEkArw==",95:"sha512-WtCe89dmBu8YGhCnszRdHzYCzOqwTSeitVhY/ahmZczjI+0C6KOazsnU/vPsTDaM7VSG+iZW7zidI1t5+hpiYQ==",649:"sha512-AYJxsYTPRDF5tWSm4lWONX5VM69Ou9twLFZ8apchUI9gNOrXBkzP8QZ+PQkMz8nGjh/7oVMR+1cA+5dWFYhmmw=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={85:0,959:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
212ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var R=r(9232);var w=r(7836),T=r(3241);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var A=r(9908),x=r(9752);function _(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,S)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=w.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,A.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var O=r(1863),k=r(4261),L=r(1738);var M=r(1687),P=r(4234),N=r(5289),j=r(5270),I=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends P.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,M.Ak)(e,this.featureName),t()}))}):(0,M.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
212{if((0,I.V)(e.init))try{const{setupAgentSession:t}=await r.e(891).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,A.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(649).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(891).then(r.bind(r,6589)),r.e(891).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,M.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,M.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,N.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,j.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}_(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,L.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,A.p)("api-"+k.Fw,[(0,O.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(891).then(r.bind(r,908)):r.e(891).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,N.sB)(t=>{e(t,"DOMContentLoaded")}),(0,N.GG)(t=>{e(t,"load")}),(0,N.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),_(this,e,e.loaderType||"agent"),t=this,(0,L.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,L.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,L.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,A.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,L.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,L.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,L.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,L.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,L.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,A.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,A.p)("docHidden",[(0,O.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,A.p)("winPagehide",[(0,O.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(891).then(r.bind(r,9018))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(891).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,O.t)()){"string"==typeof e&&(e=new Error(e)),(0,A.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,A.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,O.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,O.t)()){(0,A.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,O.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
212null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,A.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,O.t)()){(0,A.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,O.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,O.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,O.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const Re=["entry","scripts","all"],we=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Se={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Ae(e){(0,L.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Se.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=R.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:R.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||Re.includes(r.timingMethod)||(Se.invalidTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||R.f.BA,"parent.id":r.parent?.id})}
212),Object.entries(r.tags).forEach(([e,t])=>{we.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Se.disabled),u(r.id)&&u(r.name)||d(()=>Se.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Se.duplicateName(r),n===r.id&&t!==r.name&&Se.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Se.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,O.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
212imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,O.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,A.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class _e extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,L.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,L.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,L.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Ae(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,A.p)("ierr",[ee(t),(0,O.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,A.p)("err",[te(t),(0,O.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,A.p)("err",[re(t),(0,O.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(891).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var Oe=r(8990);let ke=1;function Le(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,Oe.I)(e,"nr@id",function(){return ke++})}function Me(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Pe=r(8139),Ne=r(3434),je=r(5732);const Ie={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||w.ee;const n=function(e){return(e||w.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(Ie[n.debugId]++)return n;Ie[n.debugId]=1,(0,Pe.u)(r,t);var i=(0,Ne.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,je.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||w.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,je.$5)(t);var o;r.emit(i+"before-start",[e],n),n[w.P]&&n[w.P].dt&&(o=n[w.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
212return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,A.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=S,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){_(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Me(i);a&&(n.txSize=a)}this.startTime=(0,O.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
212!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Le(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Le(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,O.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,O.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,O.t)()-this.xhrCbStart,this.onload,t],t)}function R(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function w(e,t){this.params={},this.metrics={},this.startTime=(0,O.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Me(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,O.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Me(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function S(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):_(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Me(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function _(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Me(e.response):"text"===r||""===r||void 0===r?Me(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,A.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",R),r.on("fetch-start",w),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(891).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||w.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Ne.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,L.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,A.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,A.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,L.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,A.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
212if(!(0,I.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Pe.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,O.t)()}),this.eventsEE.on(pt,function(e,r){(0,A.p)("bst",[e[0],r,this.bstStart,(0,O.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,O.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,A.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,A.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(891).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,L.Y)(k.CH,function(){(0,A.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,L.Y)(k.Tb,function(){(0,A.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,j.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(891).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,A.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,j.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(891),r.e(222)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var Rt=r(981);const wt={},Tt=new Set;function St(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class At{constructor(e,t){this.timestamp=(0,O.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class xt extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,L.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,L.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Ae(e),function(e){(0,L.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(wt[r.debugId]++)return r;wt[r.debugId]=1,(0,V.G)(()=>{const e=(0,O.t)();Tt.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
212class n extends WebSocket{static name=Rt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new At(e[0],e[1]),this.targets=(0,je.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,O.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),Tt.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=St(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,O.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,Tt.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=St(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,A.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,A.p)("spv",[_t(e),(0,O.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,A.p)("spv",[_t(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,A.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
212h(e=>{const t=(0,C.s)(e=>{(0,A.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,A.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,A.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,A.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,A.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(891).then(r.bind(r,8019))):this.deregisterDrain()}}function _t(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Ot=r(2646);const kt=new Map;function Lt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||w.ee).get("logger")}(e),o=(0,Ne.YM)(a,void 0,s),c=new Ot.y(w.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Ne.Jt]||t[r];return kt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>kt.get(d),void 0,!0),a}var Mt=r(1910);class Pt extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,L.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,L.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Lt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Ae(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Mt.i)(g.gm.console[t]),Lt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(891).then(r.bind(r,5288)))}}new F({features:[K,G,vt,Et,nt,Y,_e,xt,Pt],loaderType:"pro"})})()})();</script>
212
213		</head>
214				<body id="" class=" ">
215	
215<script>
216        var currentPageNav = "";
217    </script>
217
218		    <noscript>
219        <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N74L7GH&gtm_auth=CYkt4R7ZvVvpqpVwuMhNgw&gtm_preview=env-2&gtm_cookies_win=x" height="0" width="0" style="display:none;visibility:hidden"></iframe>
220    </noscript>
221					<a name="top"></a>
222<template id="skip-to-content-template">
223    <a id="skip-to-content" tabindex="0" style="height: 36px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-weight: 600; text-decoration: underline; ">
224	    Skip to content
225    </a>
226</template>
227
228
229<div id="header" >
230	        <div id="top-bar">
231			<div class="content">
232                                                    <div class="lhs-link location-selector-link-wrapper">
233                        <a href="javascript:void(0)" class="location-selector-link">
234                            <span class="icon-location1"></span>
235                            <span class="link-text">
236                                                                    Hello! Enter your postcode for delivery time
237                                                            </span>
238                        </a>
239                    </div>
240                                <div class="lhs-link">
241                    <a href="/track-order.ep" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"><span data-mh-label>Track My Order</span></a>
242                </div>
243                <div class="lhs-link">
244                    <a href="/helpCentre.ep" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"><span data-mh-label>Help Centre</span></a>
245                </div>
246                <div id="fb-like">
247                    <a data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click" data-mh-el="Like" href="//www.facebook.com/pages/Booktopia/91043653859" target="_blank"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/header/facebook-like.png" alt="Likes" width="90" height="20"></a>
248                                    </div>
249                <div id="links"  data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click">
250                                                <a href="javascript:void(0)" class="link-notifications" tabindex="0" title="Notifications">
251                            <span class="icon-bell1"></span>
252                            <span id="new-notification-badge"></span>
253                            <span data-mh-label class="rhs-link-text">Notifications</span>
254                        </a>
255                        <div class="if-signed-out">
256                            <a href="/view-wishlist-nocache.ep" title="My Wish Lists"><span class="icon-Heart-new"></span> <span data-mh-label class="rhs-link-text">My Wish Lists</span></a>
257                            <a href="/manage-account.ep" class="grey-11" title="Login/Join"><span class="icon-user1"></span> <span data-mh-label class="rhs-link-text">Login / Join</span></a>
258                        </div>
259                        <div class="if-signed-in">
260                                                        <a href="/view-wishlist-nocache.ep" title="My Wish Lists"><span class="icon-Heart-new"></span> <span data-mh-label class="rhs-link-text">My Wish Lists</span></a>
261                            <a href="/manage-account.ep" title="My Account"><span class="icon-user1"></span> <span data-mh-label class="rhs-link-text">My Account</span></a>
262                            <a href="/sign-out-customer-session.ep" onclick="updateLocalEmptyCart();resetPostcode();googleSignOut();return true" title="Sign Out"><span class="icon-log-out"></span> <span data-mh-label class="rhs-link-text">Sign Out</span></a>
263                        </div>
264                    </div>
265            </div>
266		</div>
267
268		<div id="top-notifications-container"  data-escape-popup data-popup-initiator=".link-notifications">
269    <div id="top-notification-scroll" >
270        <div id="top-notification-empty">No new notifications.</div>
271        <template id="top-notification-price-template">
272            <div id="top-notification-price">
273                <a href="/view-wishlist-nocache.ep?priceDrop=true" class="top-notification top-notification-link row no-gutters align-items-center">
274                    <span class="icon-price-drop col-auto"></span>
275                    <p class="col">Items in your wish list have gone down in price.</p>
276                    <div class="col-auto">
277                        <span class="notification-button">See All</span>
278                    </div>
279                </a>
280            </div>
281        </template>
282        <template id="top-notification-stock-template">
283            <div id="top-notification-stock">
284                <a href="/view-wishlist-nocache.ep?backInStock=true" class="top-notification top-notification-link row no-gutters align-items-center">
285                    <span class="icon-back-in-stock col-auto"></span>
286                    <p class="col">Items in your wish list are back in stock.</p>
287                    <div class="col-auto">
288                        <span class="notification-button">See All</span>
289                    </div>
290                </a>
291            </div>
292        </template>
293		    </div>
294	</div>	<div class="main-content">
295		<div class="content">
296			<div id="logo">
297				<a href="/"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/logos/bkt-logo-new.png" width="200" alt="Booktopia" /></a><br>
298				<a href=" /your-local-bookstore/news18.html "><img id="flag" class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/logos/bkt-tagline-new.png" width="198" alt="Australia's local bookstore"/></a>
299			</div>
300			<div class="content-right-section">
301									<div class="header-right-section float-right">
302						<div id="search">
303							<form id="searchform" action="/search.ep" method="get" name="searchForm" onSubmit="return isSearchPopulated('headerSearch')">
304	<div class="search-box search">
305				<input id="header-search-box" type="search" maxlength="255" class="search-text expanded" name="keywords"
306			   value="Search Title, Author or ISBN"
307			   onblur="if (this.value==='') {this.value='Search Title, Author or ISBN'; this.style.color = '#6C737F'; }"
308			   onfocus="if (this.value==='Search Title, Author or ISBN') this.value=''; this.style.color = '#1F2A37';"/>
309		            <span class="my-skinnable-select skinned-select">
310				<select name="productType">
311    <option value="917504"  selected="selected" >Books</option>
312    <option value="917505" >eBooks</option>
313    <option value="917510" >Audiobooks</option>
314    <option value="917507" >Audio CDs</option>
315    <option value="917503" >Stationery</option>
316</select>
317            </span>
318			<span class="icon-arrow-down8"></span>
319			<button id="search-button" type="submit" class="submit float-right row align-items-center" data-skip-mh aria-label="Search">
320				<span class="icon-global-search font-size-15r mr-2"></span>
321				<span class="search-button-text">Search</span>
322			</button>
323			</div>
324    <template id="recommended-autocomplete-suggestions-template">
325        <div id="recommended-autocomplete-suggestions" class="autocomplete-suggestions">
326	        	        <div class="autocomplete-group">Popular Search Terms</div>
327	        <div id="search-terms" class="row no-gutters">
328
329	        </div>
330	        <div id="product-carousel">
331		        	        </div>
332
333	                </div>
334    </template>
335</form>
336						</div>
337					</div>
338							</div>
339		</div>
340	</div>
341</div>
342
343													<div id="top-nav" data-mh-pe="eventOnClick" data-mh-ec="Header - Nav" data-mh-ea="Click">
344			<div class="content">
345				<div class="header-version-b-item dcjq-mega-menu">
346						                    <ul class="menu" id="hover-menu-top">
347						<li><a class="sidenav-menu-switch"><div class="navLink"><i class="icon-menu-new"></i><span>ALL</span></div></a></li>
348                        <li id="navlink-books-sub"><a href="/?books"><span class="navLink">BOOKS</span></a></li>
349							<li id="navlink-fiction-sub">
350		<a href="/books/fiction-books/cF-p1.html">
351			<span class="navLink">FICTION</span>
352		</a>
353	</li>
354	<li id="navlink-non-fiction-sub">
355		<a href="/books/non-fiction-books/cN-p1.html">
356			<span class="navLink">NON-FICTION</span>
357		</a>
358	</li>
359	<li id="navlink-australia"><a href="/books/australian-authors-books/l10-p1.html"><span class="navLink">AUSTRALIAN</span></a></li>
360	<li id="mnu-books-children" class="navlink-kids-sub"><a href="/books/kids-childrens-books/cY-p1.html"><span class="navLink">KIDS</span></a></li>
361	<li id="navlink-schools-sub"><a href="/school-books-textbooks/promo152.html"><span class="navLink">SCHOOL</span></a></li>
362	<li>
363		<a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">
364			<span class="navLink">ACADEMIC & TEXTBOOKS</span>
365		</a>
366					<div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - ACADEMIC" data-mh-ea="Link Click">
367				<div class="sub-menu-container row no-gutters">
368					<div class="col sub-menu-content">
369						<ul class="row">
370							<li class="col-4" data-skip-mh>
371								<ul>
372									<h4>University</h4>
373									<li><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance</a></li>
374									<li><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology & Science</a></li>
375									<li><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming</a></li>
376									<li><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education</a></li>
377									<li><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics</a></li>
378									<li><a href="/books/text-books/higher-education-vocational-textbooks/english-literature-higher-education-textbooks/cXAF-p1.html">English & Literature</a></li>
379									<li><a href="/books/text-books/higher-education-vocational-textbooks/environment-planning-higher-education-textbooks/cXAG-p1.html">Environment & Planning</a></li>
380									<li><a href="/books/text-books/higher-education-vocational-textbooks/health-care-higher-education-textbooks/cXAI-p1.html">Health Care</a></li>
381									<li><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History</a></li>
382									<li><a href="/books/text-books/higher-education-vocational-textbooks/language-higher-education-textbooks/cXAK-p1.html">Language</a></li>
383								</ul>
384							</li>
385							<li class="col-4" data-skip-mh>
386								<ul>
387									<h4>&nbsp;</h4>
388									<li><a href="/books/non-fiction/law/cL-p1.html">Law</a></li>
389									<li><a href="/books/text-books/higher-education-vocational-textbooks/mathematics-statistics-higher-education-textbooks/cXAM-p1.html">Mathematics & Statistics</a></li>
390									<li><a href="/books/text-books/higher-education-vocational-textbooks/media-communication-arts-higher-education-textbooks/cXAO-p1.html">Media, Communication & Arts</a></li>
391									<li><a href="/books/non-fiction/medicine/cM-p1.html">Medicine</a></li>
392									<li><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing</a></li>
393									<li><a href="/books/text-books/higher-education-vocational-textbooks/politics-higher-education-textbooks/cXAQ-p1.html">Politics</a></li>
394									<li><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology</a></li>
395									<li><a href="/books/text-books/higher-education-vocational-textbooks/social-sciences-higher-education-textbooks/cXAR-p1.html">Social Sciences</a></li>
396									<li><a href="/books/text-books/higher-education-vocational-textbooks/study-skills-for-higher-education/cXAS-p1.html?mlk">Study Skills</a></li>
397								</ul>
398							</li>
399							<li class="col-4" data-skip-mh>
400								<ul>
401									<h4>Vocational</h4>
402									<li><a href="/vocational-trades/series7927.html">Trades</a></li>
403									<li><a href="/vocational-hospitality-tourism/series7931.html">Hospitality & Tourism</a></li>
404									<li><a href="/vocational-business-financial-management/series7929.html">Business, Financial & Management</a></li>
405									<li><a href="/vocational-nursing-health-care/series7928.html">Nursing & Health Care</a></li>
406									<li><a href="/vocational-it-networking-computer-repair/series7930.html">IT, Networking & Computer Repair</a></li>
407									<li><a href="/vocational-education-early-childhood/series7932.html">Education & Early Childhood</a></li>
408									<li><a href="/vocational-social-work-counselling/series7933.html">Social Working & Counselling</a></li>
409									<li><a href="/vocational-design-art-fashion-photography/series7934.html">Design, Art, Fashion & Photography</a></li>
410								</ul>
411							</li>
412						</ul>
413					</div>
414				</div>
415				<div class="row no-gutters sub-menu-more">
416					<div class="col-12">
417						<a class="more" href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">Explore All Academic &gt;</a>
418					</div>
419				</div>
420			</div>
421			</li>
422	<li >
423		<a href="/?ebooks" onclick="checkLatestKeywords(this, '917505')">
424			<span class="navLink">EBOOKS</span>
425		</a>
426					<div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - EBOOKS" data-mh-ea="Link Click">
427				<div class="sub-menu-container row no-gutters">
428					<div class="col sub-menu-content">
429						<ul class="row">
430							<li class="col-3" data-skip-mh>
431								<ul>
432									<h4>Fiction</h4>
433									<li><a href="/ebooks/fiction/romance/cFR-p1-e.html">Romance </a></li>
434									<li><a href="/ebooks/fiction/crime-mystery/cFF-p1-e.html">Crime & Mystery</a></li>
435									<li><a href="/ebooks/fiction/erotic-fiction/cFP-p1-e.html">Erotic Fiction</a></li>
436									<li><a href="/ebooks/fiction/fantasy-fiction/cFM-p1-e.html">Fantasy</a></li>
437									<li><a href="/ebooks/fiction/thrillers-suspense/cFH-p1-e.html">Thrillers</a></li>
438									<li><a href="/ebooks/fiction/science-fiction/cFL-p1-e.html">Science Fiction</a></li>
439								</ul>
440							</li>
441							<li class="col-3" data-skip-mh>
442								<ul>
443									<h4>Kids & YA</h4>
444									<li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-fiction/cYF-p1-e.html">Children's Fiction</a></li>
445									<li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-fiction/romance-love-stories-for-children-teenagers/cYFM-p1-e.html">Romance & Love Stories</a></li>
446									<li><a href="/ebooks/children-teenagers-young-adults-ya-/picture-books-early-learning/cYB-p1-e.html">Picture Books & Early Learning</a></li>
447									<li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-non-fiction/cYN-p1-e.html">Children's Non-Fiction</a></li>
448								</ul>
449							</li>
450							<li class="col-3" data-skip-mh>
451								<ul>
452									<h4>Non-Fiction</h4>
453									<li><a href="/ebooks/non-fiction/biographies-true-stories/cB-p1-e.html">Biographies</a></li>
454									<li><a href="/ebooks/non-fiction/mind-body-spirit/cVX-p1-e.html">Mind, Body, Spirit</a></li>
455									<li><a href="/ebooks/non-fiction/business-management/cKJ-p1-e.html">Business & Management</a></li>
456									<li><a href="/ebooks/non-fiction/family-health/cVF-p1-e.html">Family & Health</a></li>
457									<li><a href="/ebooks/non-fiction/gardening/cWM-p1-e.html">Gardening</a></li>
458									<li><a href="/ebooks/non-fiction/history/cHB-p1-e.html">History</a></li>
459									<li><a href="/ebooks/non-fiction/politics-government/cJP-p1-e.html">Politics & Government</a></li>
460									<li><a href="/ebooks/non-fiction/psychology/cJM-p1-e.html">Psychology</a></li>
461									<li><a href="/ebooks/non-fiction/science/cP-p1-e.html">Science</a></li>
462								</ul>
463							</li>
464							<li class="col-3" data-skip-mh>
465								<ul>
466									<h4>Textbooks</h4>
467									<li><a href="/ebooks/non-fiction/education/l101082-p1-e.html">Education</a></li>
468									<li><a href="/ebooks/non-fiction/medicine/l101082-p1-e.html">Medicine</a></li>
469									<li><a href="/ebooks/non-fiction/accounting-finance/l101082-p1-e.html">Accounting & Finance</a></li>
470									<li><a href="/ebooks/non-fiction/law/l101082-p1-e.html">Law</a></li>
471									<li><a href="/ebooks/non-fiction/psychology/l101082-p1-e.html">Psychology</a></li>
472									<li><a href="/ebooks/non-fiction/mathematics/l101082-p1-e.html">Mathematics</a></li>
473									<li><a href="/ebooks/non-fiction/language-linguistics/l101082-p1-e.html">Language & Linguistics</a></li>
474								</ul>
475							</li>
476						</ul>
477					</div>
478				</div>
479				<div class="row no-gutters sub-menu-more">
480					<div class="col-12">
481						<a class="more" href="/?ebooks">Explore All eBooks &gt;</a>
482					</div>
483				</div>
484			</div>
485			</li>
486	<li ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li>
487	<li ><a href="/books/games-and-puzzles/cGMP-p1.html"><span class="navLink">GAMES & PUZZLES</span></a></li>
488	<li ><a href="/?stationery"><span class="navLink">STATIONERY</span></a></li>
489	<li ><a href="/books/gift-ideas/c53-p1.html"><span class="navLink">GIFTS</span></a></li>
490	<li id="navlink-bargain"><a class="alert" href="/books/bargains/c9-p1.html"><span class="navLink">BARGAINS</span></a></li>
491	<li><a href="//www.booktopia.com.au/blog/"><span class="navLink">BLOG</span></a></li>
492					</ul>
493				</div>
494				<ul class="header-version-default-item">
495										<li id="nav-books" class="selected" ><a href="/?books" onclick="checkLatestKeywords(this, '917504')"><span class="navLink">BOOKS</span></a></li>
496					<li id="nav-ebooks" ><a href="/?ebooks" onclick="checkLatestKeywords(this, '917505')"><span class="navLink">EBOOKS</span></a></li>
497					<li id="nav-audio-books" ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li>
498					<li id="nav-games-toys-puzzles" ><a href="/books/games-and-puzzles/cGMP-p1.html"><span class="navLink">GAMES & PUZZLES</span></a></li>
499					<li id="nav-stat" ><a href="/?stationery"><span class="navLink">STATIONERY</span></a></li>
500					<li id="nav-gifts" ><a href="/books/gift-ideas/c53-p1.html"><span class="navLink">GIFT IDEAS</span></a></li>
501					<li id="nav-help"><a href="//www.booktopia.com.au/blog/"><span class="navLink">BLOG</span></a></li>
502				</ul>
503				
504<a id="shopping-cart-summary"
505             href="/view-cart.ep">
506            <div class="numItems">
507                    <span id="numItemsQty"></span>&nbsp;<span id="numItemsUnits"></span>
508            </div>
509            <div class="icon-shopping-cart"></div>
510        <div class="checkout-text">CHECKOUT</div>
511        <div class="total">
512            </div>
513</a>
514
515<form name="state" style="display:none">
516    <input name="pageIsDirty" type="text" value="false"/>
517    <input name="stateChangedAt" type="text" value="0"/>
518    <input name="shoppingCartQty" type="text" value=""/>
519    </form>
520
521				<div class="clearfix"></div>
522			</div>
523		</div>
524					<div id="sub-nav" class=" header-version-default-item">
525				<div class="content">
526											<ul class="dcjq-mega-menu"><ul id="hover-menu-top" class="menu" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS" data-mh-ea="Click">
527	<li id="mnu-books-fiction"><a href="/books/fiction-books/cF-p1.html">FICTION</a>
528		<div class="sub" id="fiction-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - FICTION" data-mh-ea="Link Click">
529            <div class="sub-menu-container row no-gutters">
530                <div class="col-auto sub-menu-browse">
531                    <ul><h4>Browse Fiction</h4>
532                        <li><a href="/books/fiction/cF-p1.html?list=2"><span class="icon-New-Releases"></span>New Releases</a></li>
533                        <li><a href="/books/fiction/cF-p1.html?sorter=bestsellers-dsc"><span class="icon-Bestselling"></span>Bestselling</a></li>
534                        <li><a href="/books/bargains/fiction-bargains/c9A-p1.html"><span class="icon-Bargins"></span>Bargains</a></li>
535                        <li><a href="/books/fiction/l20-p1.html?cID=F"><span class="icon-Signed-copies"></span>Signed Copies</a></li>
536                    </ul>
537                </div>
538                <div class="col sub-menu-content">
539                    <ul class="row">
540                        <li class="col-3" data-skip-mh>
541                            <ul>
542                                <h4>Popular Subjects</h4>
543                                <li><a href="/books/fiction/cF-p1.html?list=10">Australian Fiction</a></li>
544                                <li><a href="/books/fiction/classic-fiction/cFC-p1.html">Classic Fiction</a></li>
545                                <li><a href="/books/fiction-books/crime-mystery/cFF-p1.html">Crime & Mystery</a></li>
546                                <li><a href="/books/fiction/erotic-fiction/cFP-p1.html">Erotic Fiction</a></li>
547                                <li><a href="/books/fiction/fantasy-fiction/cFM-p1.html">Fantasy</a></li>
548                                <li><a href="/books/fiction/graphic-novels/cFX-p1.html">Graphic Novels & Manga</a></li>
549                                <li><a href="/books/fiction/historical-fiction/cFV-p1.html">Historical</a></li>
550                                <li><a href="/books/fiction/modern-contemporary-fiction/cFA-p1.html">Modern & Contemporary</a></li>
551                            </ul>
552                        </li>
553                        <li class="col-3" data-skip-mh>
554                            <ul>
555                                <h4>&nbsp;</h4>
556                                <li><a href="/books/non-fiction/literature-poetry-plays/poetry/cDC-p1.html">Poetry</a></li>
557                                <li><a href="/books/fiction/romance/cFR-p1.html">Romance</a></li>
558                                <li><a href="/books/fiction/science-fiction/cFL-p1.html">Science Fiction</a></li>
559                                <li><a href="/books/fiction/thrillers-suspense/cFH-p1.html">Thrillers & Mystery</a></li>
560                                <li><a href="/books/kids-childrens-books/children-s-fiction/young-adult-ya-fiction/cYFY-p1.html">Young Adult</a></li>
561                            </ul>
562                        </li>
563                        <li class="col-3" data-skip-mh>
564                            <ul>
565                                <h4>Popular Authors</h4>
566                                <li><a href="/margaret-atwood/author311.html">Margaret Atwood</a></li>
567                                <li><a href="/trent-dalton/author1259.html">Trent Dalton</a></li>
568                                <li><a href="/jane-harper/author144.html">Jane Harper</a></li>
569                                <li><a href="/stephen-king/author225.html">Stephen King</a></li>
570                                <li><a href="/dervla-mctiernan/author1258.html">Dervla McTiernan</a></li>
571                                <li><a href="/liane-moriarty/author934.html">Liane Moriarty</a></li>
572                                <li><a href="/matthew-reilly/author3.html">Matthew Reilly</a></li>
573                                <li><a href="/sally-rooney/author1154.html">Sally Rooney</a></li>
574                            </ul>
575                        </li>
576                        <li class="col-3" data-skip-mh>
577                            <ul>
578                                <h4>Popular Series</h4>
579                                <li><a href="/the-after-series/series4691.html">After</a></li>
580                                <li><a href="/a-game-of-thrones-a-song-of-ice-and-fire-paperbacks-by-george-r-r-martin/series533.html">A Game of Thrones</a></li>
581                                <li><a href="/jack-reacher-by-lee-child/series92.html">Jack Reacher</a></li>
582                                <li><a href="/the-jack-west-novels-by-matthew-reilly/series6.html">Jack West</a></li>
583                                <li><a href="/the-seven-sisters/series5946.html">The Seven Sisters</a></li>
584                                <li><a href="/outlander-paperback-novels/series4849.html">Outlander</a></li>
585                                <li><a href="/the-witcher-new-paperback-editions/series9231.html">The Witcher</a></li>
586                                <li><a href="/thomas-cromwell-trilogy/series6461.html">Wolf Hall</a></li>
587                            </ul>
588                        </li>
589                    </ul>
590                </div>
591            </div>
592            <div class="row no-gutters sub-menu-more">
593                <ul class="col-12">
594                    <h4>More:</h4>
595                    <li><a href="/award-winning-reads/promo2921.html">Award Winning Reads</a></li>
596                    <li><a href="https://www.booktopia.com.au/blog/category/reviews/">Reviews and Staff Picks</a></li>
597                    <li><a href="https://www.booktopia.com.au/blog/category/interviews/">Author Interviews</a></li>
598                    <li><a href="https://www.booktopia.com.au/blog/podcasts/">Podcasts</a></li>
599                    <a class="more" href="/books/fiction-books/cF-p1.html">Explore All Fiction &gt;</a>
600                </ul>
601            </div>
602		</div>
603	</li>
604
605	<li id="mnu-books-nonfiction"><a href="/books/non-fiction-books/cN-p1.html">NON-FICTION</a>
606		<div class="sub" id="non-fiction-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - NON-FICTION" data-mh-ea="Link Click">
607            <div class="sub-menu-container row no-gutters">
608                <div class="col-auto sub-menu-browse">
609                    <ul><h4>Browse Non-Fiction</h4>
610                        <li><a href="/books/non-fiction/cN-p1.html?sorter=bestsellers-dsc"><span class="icon-Bestselling"></span>Bestselling</a></li>
611                        <li><a href="/books/bargains/non-fiction-bargains/c9B-p1.html"><span class="icon-Bargins"></span>Bargains</a></li>
612                        <li><a href="/books/non-fiction/l20-p1.html?cID=N"><span class="icon-Signed-copies"></span>Signed Copies</a></li>
613                    </ul>
614                </div>
615                <div class="col sub-menu-content">
616                    <ul class="row">
617                        <li class="col-3" data-skip-mh>
618                            <ul>
619                                <h4>Popular Subjects</h4>
620                                <li><a href="/books/non-fiction/animals-nature/cWN-p1.html">Animals & Nature</a></li>
621                                <li><a href="/books/non-fiction/arts-entertainment/cA-p1.html">Arts & Entertainment</a></li>
622                                <li><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li>
623                                <li><a href="/books/non-fiction/business-management/cKJ-p1.html">Business & Management</a></li>
624                                <li><a href="/books/non-fiction/comedy-humour/cWH-p1.html">Comedy & Humour</a></li>
625                                <li><a href="/books/non-fiction/computing-i-t-/cU-p1.html">Computing & IT</a></li>
626                                <li><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li>
627                                <li><a href="/books/non-fiction/crafts-handiwork/cWF-p1.html">Crafts & Handiwork</a></li>
628                                <li><a href="/books/non-fiction/family-health/cVF-p1.html">Family & Health</a></li>
629                                <li><a href="/books/non-fiction/lifestyle-fashion/fashion-style-guides/cWJF-p1.html">Fashion & Style Guides</a></li>
630                                <li><a href="/books/non-fiction/family-health/fitness-diet/cVFM-p1.html">Fitness & Diet</a></li>
631                                <li><a href="/books/non-fiction/gardening/cWM-p1.html">Gardening</a></li>
632                                <li><a href="/books/non-fiction/self-help-personal-development/green-lifestyle-self-sufficiency/cVSZ-p1.html">Green Lifestyle & Self-Sufficiency</a></li>
633                                <li><a href="/books/non-fiction/history/cHB-p1.html">History</a></li>
634                                <li><a href="/books/non-fiction/home-house-maintenance/cWK-p1.html">House & Home</a></li>
635                            </ul>
636                        </li>
637                        <li class="col-3" data-skip-mh>
638                            <ul>
639                                <h4>&nbsp;</h4>
640                                <li><a href="/books/non-fiction/language-linguistics/cC-p1.html">Language & Linguistics</a></li>
641                                <li><a href="/books/non-fiction/mind-body-spirit/cVX-p1.html">Mind, Body, Spirit</a></li>
642                                <li><a href="/books/non-fiction/politics-government/cJP-p1.html">Politics & Government</a></li>
643                                <li><a href="/books/non-fiction/psychology/cJM-p1.html">Popular Psychology</a></li>
644                                <li><a href="/books/non-fiction/religion-beliefs/cHR-p1.html">Religion & Beliefs</a></li>
645                                <li><a href="/books/non-fiction/science/cP-p1.html">Science</a></li>
646                                <li><a href="/books/non-fiction/self-help-personal-development/cVS-p1.html">Self Help & Personal Development</a></li>
647                                <li><a href="/books/non-fiction/society-culture/cJF-p1.html">Society & Culture</a></li>
648                                <li><a href="/books/non-fiction/sports-recreation/cWS-p1.html">Sport & Recreation</a></li>
649                                <li><a href="/books/non-fiction/transportation/cWG-p1.html">Transportation</a></li>
650                                <li><a href="/books/non-fiction/travel-holidays/cWT-p1.html">Travel & Holidays</a></li>
651                            </ul>
652                        </li>
653                        <li class="col-3" data-skip-mh>
654                            <ul>
655                                <h4>Biographies & True Stories</h4>
656                                <li><a href="/books/non-fiction/biographies-true-stories/biographies/arts-entertainment-biographies/cBGF-p1.html">Arts & Entertainment Biographies</a></li>
657                                <li><a href="/books/non-fiction/biographies-true-stories/biographies/historical-biographies/cBGH-p1.html">Historical Biographies</a></li>
658                                <li><a href="/books/non-fiction/biographies-true-stories/biographies/sport-biographies/cBGS-p1.html">Sport Biographies</a></li>
659                                <li><a href="/books/non-fiction/travel-holidays/travel-writing/cWTL-p1.html">Travel Writing</a></li>
660                                <li><a href="/books/non-fiction/biographies-true-stories/true-stories/true-crime/cBTC-p1.html">True Crime</a></li>
661                                <li><a href="/books/non-fiction/biographies-true-stories/true-stories/true-stories-of-heroism/cBTP-p1.html">True Stories of Heroism</a></li>
662                                <h4>Cooking, Food & Drink</h4>
663                                <li><a href="/books/non-fiction/cooking-food-drink/how-to-cook-recipe-books/baking-cakes-icing-sugarcraft/cWBVS-p1.html">Baking & Desserts</a></li>
664                                <li><a href="/books/non-fiction/cooking-food-drink/cooking-for-with-children/cWBQ-p1.html">Cooking for & with Children</a></li>
665                                <li><a href="/books/non-fiction/cooking-food-drink/health-wholefood-cookery/cWBH-p1.html">Health & Wholefood Cookery</a></li>
666                                <li><a href="/books/non-fiction/cooking-food-drink/national-regional-cuisine/cWBN-p1.html">National & Regional Cuisine</a></li>
667                                <li><a href="/books/non-fiction/cooking-food-drink/tv-celebrity-chef-cookbooks/cWBB-p1.html">TV & Celebrity Chefs</a></li>
668                                <li><a href="/books/non-fiction/cooking-food-drink/vegetarian-cookery/cWBJ-p1.html">Vegetarian Cookery</a></li>
669                            </ul>
670                        </li>
671                        <li class="col-3" data-skip-mh>
672                            <ul>
673                                <h4>Self Help & Personal Development</h4>
674                                <li><a href="/books/non-fiction/self-help-personal-development/advice-on-careers-achieving-success/cVSC-p1.html">Advice on Careers & Success</a></li>
675                                <li><a href="/books/non-fiction/family-health/advice-on-parenting/cVFX-p1.html">Advice on Parenting</a></li>
676                                <li><a href="/books/non-fiction/family-health/cVF-p1.html">Family, Health & Relationships</a></li>
677                                <li><a href="/books/non-fiction/family-health/fitness-diet/cVFM-p1.html">Fitness & Diet</a></li>
678                                <li><a href="/books/non-fiction/mind-body-spirit/cVX-p1.html">Mind, Body, Spirit</a></li>
679                                <li><a href="/books/non-fiction/psychology/cJM-p1.html">Popular Psychology</a></li>
680                                <h4>Professional</h4>
681                                <li><a href="/books/non-fiction/business-management/cKJ-p1.html">Business</a></li>
682                                <li><a href="/books/non-fiction/law/cL-p1.html">Law</a></li>
683                                <li><a href="/books/non-fiction/medicine/cM-p1.html">Medicine</a></li>
684                            </ul>
685                        </li>
686                    </ul>
687                </div>
688            </div>
689            <div class="row no-gutters sub-menu-more">
690                <ul class="col-12">
691                    <h4>More:</h4>
692                    <li><a href="/award-winning-reads/promo2921.html">Award Winning Reads</a></li>
693                    <li><a href="https://www.booktopia.com.au/blog/category/reviews/">Reviews and Staff Picks</a></li>
694                    <li><a href="https://www.booktopia.com.au/blog/category/interviews/">Author Interviews</a></li>
695                    <li><a href="https://www.booktopia.com.au/blog/podcasts/">Podcasts</a></li>
696                    <a class="more" href="/books/non-fiction-books/cN-p1.html">Explore All Non-Fiction &gt;</a>
697                </ul>
698            </div>
699		</div>
700	</li>
701
702	<li id="mnu-books-children"><a href="/books/kids-childrens-books/cY-p1.html">KIDS &amp; YA</a>
703		<div class="sub" id="kids-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - CHILDREN" data-mh-ea="Link Click">
704            <div class="sub-menu-container row no-gutters">
705                <div class="col-auto sub-menu-browse">
706                    <ul><h4>Browse Kids &amp; YA</h4>
707                        <li><a href="/books/kids-childrens-books/cY-p1.html?list=2"><span class="icon-New-Releases"></span>New Releases</a></li>
708                        <li><a href="/books/kids-childrens-books/cY-p1.html?sorter=bestsellers-dsc"><span class="icon-Bestselling"></span>Bestselling</a></li>
709                        <li><a href="/books/bargains/kids-and-teens-bargains/c9C-p1.html"><span class="icon-Bargins"></span>Bargains</a></li>
710                        <li><a href="/books/kids-childrens-books/l20-p1.html?cID=Y"><span class="icon-Signed-copies"></span>Signed Copies</a></li>
711                    </ul>
712                </div>
713                <div class="col sub-menu-content">
714                    <ul class="row">
715                        <li class="col-3" data-skip-mh>
716                            <ul id="browse-age">
717                                <h4>Browse by Age</h4>
718                                <li><a class="age-under-3" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-0-and-3&src=classic">
719                                    <svg viewBox="0 0 170 170" xmlns="http://www.w3.org/2000/svg">
720                                        <path d="M44,-13.4C52.7,12.7,52.7,42.6,34.5,58.4C16.3,74.2,-20,75.9,-42.6,59.3C-65.3,42.7,-74.2,7.8,-64.8,-19.1C-55.4,-46.1,-27.7,-65.2,-5.1,-63.5C17.6,-61.9,35.2,-39.5,44,-13.4Z" transform="translate(100 100)" />
721                                    </svg><span>Under 3</span></a></li>
722                                <li><a class="age-preschool" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-3-and-6&src=classic">
723                                    <svg viewBox="0 0 170 170" xmlns="http://www.w3.org/2000/svg">
724                                        <path d="M69.7,-18.2C79.4,7.3,68.9,43.8,47.9,57C26.9,70.1,-4.6,59.9,-29.3,41.6C-54.1,23.3,-72.1,-3,-66.1,-23.4C-60.1,-43.8,-30,-58.3,0,-58.3C30,-58.3,59.9,-43.8,69.7,-18.2Z" transform="translate(100 100)" />
725                                    </svg><span>Pre-School (3-6)</span></a></li>
726                                <li><a class="age-school" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-6-and-9&src=classic">
727                                    <svg viewBox="0 0 160 160" xmlns="http://www.w3.org/2000/svg">
728                                        <path d="M65.2,-15.3C73.6,4.7,62.1,37.1,40.1,52.5C18,67.9,-14.5,66.3,-36.8,50.2C-59.1,34.1,-71.3,3.5,-63.5,-15.7C-55.7,-34.9,-27.8,-42.8,0.3,-42.9C28.4,-43,56.8,-35.3,65.2,-15.3Z" transform="translate(100 80)" />
729                                    </svg><span>School Age (6-9)</span></a></li>
730                                <li><a class="age-preteen" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-9-and-12&src=classic">
731                                    <svg viewBox="0 0 170 170" xmlns="http://www.w3.org/2000/svg">
732                                        <path d="M60.4,-16.6C69.6,8.6,62.3,42.1,41.9,56.7C21.5,71.2,-11.9,66.8,-35.2,49.6C-58.6,32.4,-71.8,2.4,-64.2,-20.6C-56.7,-43.6,-28.3,-59.6,-1.3,-59.1C25.6,-58.7,51.3,-41.8,60.4,-16.6Z" transform="translate(100 90)" />
733                                    </svg><span>Pre-Teen (9-12)</span></a></li>
734                                <li><a class="age-teen" href="/books/kids-childrens-books/cY-p1.html?ageFilter=age-between-12-and-15&src=classic">
735                                    <svg viewBox="0 0 180 180" xmlns="http://www.w3.org/2000/svg">
736                                        <path d="M70,-27.7C76.8,-2.1,58.5,26.6,34.8,42.6C11.1,58.6,-18.1,61.8,-33.1,49.9C-48.1,37.9,-48.9,10.9,-41,-16.3C-33.2,-43.4,-16.6,-70.7,7.5,-73.1C31.7,-75.6,63.3,-53.2,70,-27.7Z" transform="translate(90 100)" />
737                                    </svg><span>Teen (12-15)</span></a></li>
738                                <li><a class="age-young-adult" href="/books/kids-childrens-books/children-s-fiction/young-adult-ya-fiction/cYFY-p1.html">
739                                    <svg viewBox="0 0 190 190" xmlns="http://www.w3.org/2000/svg">
740                                        <path d="M67.5,-22C76.6,6.2,65.7,40.8,43.1,56.5C20.4,72.3,-13.9,69.3,-37.9,51.9C-62,34.5,-75.9,2.7,-67.8,-24C-59.8,-50.7,-29.9,-72.3,-0.4,-72.1C29.2,-72,58.3,-50.2,67.5,-22Z" transform="translate(100 100)" />
741                                    </svg><span>Young Adult (16+)</span></a></li>
742                            </ul>
743                        </li>
744                        <li class="col-3" data-skip-mh>
745                            <ul>
746                                <h4>Popular Authors</h4>
747                                <li><a href="/aaron-blabey/author971.html">Aaron Blabey</a></li>
748                                <li><a href="/anh-do/author952.html">Anh Do</a></li>
749                                <li><a href="/j-k-rowling/author107.html">J.K. Rowling</a></li>
750                                <li><a href="/emily-rodda/author256.html">Emily Rodda</a></li>
751                                <li><a href="/rick-riordan/author33.html">Rick Riordan</a></li>
752                                <li><a href="/mem-fox/author415.html">Mem Fox</a></li>
753                                <li><a href="/search.ep?author=David%20Walliams">David Walliams</a></li>
754                                <li><a href="/cassandra-clare/author183.html">Cassandra Clare</a></li>
755                            </ul>
756                        </li>
757                        <li class="col-3" data-skip-mh>
758                            <ul>
759                                <h4>Popular Series</h4>
760                                <li>
760<a href="/harry-potter-at-booktopia/promo842.html">Harry Potter</a></li>
761                                <li><a href="/search.ep?author=Bluey">Bluey</a></li>
762                                <li><a href="/the-treehouse-series-by-andy-griffiths/series2785.html">The Treehouse Series</a></li>
763                                <li><a href="/the-nevermoor-series-paperback-editions/series671.html">Nevermoor</a></li>
764                                <li><a href="/dog-man-by-dav-pilkey/series5619.html">Dog Man</a></li>
765                                <li><a href="/complete-billie-b-brown-series/series9360.html">Billie B Brown</a></li>
766                                <li><a href="/books/fun-for-kids/l100430-p1.html">Fun for Kids</a></li>
767                            </ul>
768                        </li>
769                        <li class="col-3" data-skip-mh>
770                            <ul>
771                                <h4>Education</h4>
772                                <li><a href="/school-books-textbooks/promo152.html">Education Central</a></li>
773                                <li><a href="/school-books-textbooks/promo152.html#pre-school">Pre School</a></li>
774                                <li><a href="/school-books-textbooks/promo152.html#primary">Primary School</a></li>
775                                <li><a href="/school-books-textbooks/promo152.html#secondary">Secondary School</a></li>
776                            </ul>
777                        </li>
778                    </ul>
779                </div>
780            </div>
781            <div class="row no-gutters sub-menu-more">
782                <ul class="col-12">
783                    <h4>More:</h4>
784                    <li><a href="/children-s-book-council-of-australia-awards/promo2003.html">CBCA Awards</a></li>
785                    <li><a href="https://www.booktopia.com.au/blog/category/reviews/">Reviews and Staff Picks</a></li>
786                    <li><a href="https://www.booktopia.com.au/blog/category/interviews/">Author Interviews</a></li>
787                    <li><a href="https://www.booktopia.com.au/blog/podcasts/">Podcasts</a></li>
788                    <a class="more" href="/books/kids-childrens-books/cY-p1.html">Explore All Kids &amp; YA Books &gt;</a>
789                </ul>
790            </div>
791		</div>
792	</li>
793	<li id="mnu-books-australian"><a href="/books/australian-authors-books/l10-p1.html">AUSTRALIAN</a></li>
794	<li id="mnu-books-schools"><a href="/school-books-textbooks/promo152.html">EDUCATION</a>
795        <div class="sub" id="schools-sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - EDUCATION" data-mh-ea="Link Click">
796            <div class="sub-menu-container row no-gutters">
797                <div class="col sub-menu-content">
798                    <ul class="row">
799                        <li class="col-3" data-skip-mh>
800                            <ul>
801                                <h4>Pre-School / Kindergarten</h4>
802                                <li><a href="/books/text-books/pre-school-day-care/cXM-p1.html">Pre-School & Day-Care</a></li>
803                                <li><a href="/starting-school/series3460.html?sorter=sortorder-en-dsc">Starting School </a></li>
804                                <li><a href="/books/text-books/pre-school-day-care/cXM-p1.html">Early Learning</a></li>
805                                <li><a href="/abc-reading-eggs-level-1-starting-out/series3784.html">ABC Reading Eggs</a></li>
806                                <li><a href="/books/our-picks-for-babies-toddlers-ages-0-3/l100148-p1.html">Picks for Toddlers</a></li>
807                                <li><a href="/books/our-picks-for-pre-school-ages-3-6/l100149-p1.html">Picks for Pre-school</a></li>
808                                <li><a href="/picture-books-to-help-put-children-to-sleep/series6867.html">Sleeping Easy</a></li>
809                                <li><a href="/managing-manners/series6868.html">Managing Manners</a></li>
810                                <li><a href="/books/big-picture-books-editions-for-classroom-use/l103-p1.html">Big Picture Books</a></li>
811                                <li><a href="/understanding-emotions/series6869.html">Understanding Emotions</a></li>
812                            </ul>
813                        </li>
814                        <li class="col-3" data-skip-mh>
815                            <ul>
816                                <h4>Primary </h4>
817                                <li><a href="/books/text-books/primary-top-sellers/cXG-p1.html">Bestselling Primary Texts</a></li>
818                                <li><a href="/excel-guides-for-primary-school/series7903.html">Excel Guides for Primary</a></li>
819                                <li><a href="/all-about-sport/series6877.html">All About Sport</a></li>
820                                <li><a href="/books/text-books/primary-top-sellers/reading/cXGC-p1.html">Reading</a></li>
821                                <li><a href="/books/text-books/primary-top-sellers/maths-reference-for-primary-school/cXGD-p1.html">Maths</a></li>
822                                <li><a href="/books/text-books/primary-top-sellers/references-and-resources/cXGR-p1.html">Primary Reference</a></li>
823                                <li><a href="/children-s-book-council-of-australia-awards/promo2003.html">CBCA Books</a></li>
824                            </ul>
825                        </li>
826                        <li class="col-3" data-skip-mh>
827                            <ul>
828                                <h4>Secondary</h4>
829                                <li><a href="/books/text-books/secondary-top-sellers/cXE-p1.html">Bestselling Secondary Texts</a></li>
830                                <li><a href="/books/text-books/secondary-top-sellers/accounting-business-legal/cXEE-p1.html">Accounting Business & Legal</a></li>
831                                <li><a href="/books/text-books/secondary-top-sellers/media-arts-religion/cXE
831H-p1.html">Media, Arts & Religion</a></li>
832                                <li><a href="/books/text-books/secondary-top-sellers/reference-study-guides/cXED-p1.html">Reference & Study Guides</a></li>
833                                <li><a href="/books/guides-to-the-school-certificates/l100321-p1.html">Guides to the School Certificates</a></li>
834                                <li><a href="/books/text-books/secondary-top-sellers/biology-science/cXEF-p1.html">Biology & Science</a></li>
835                                <li><a href="/books/text-books/secondary-top-sellers/english-literature-for-secondary-school/cXEA-p1.html">English & Literature</a></li>
836                                <li><a href="/books/text-books/secondary-top-sellers/history-textbooks-for-secondary-school/cXEB-p1.html">History</a></li>
837                                <li><a href="/books/text-books/secondary-top-sellers/language-reference-for-secondary-school/cXEC-p1.html">Languages</a></li>
838                                <li><a href="/books/text-books/secondary-top-sellers/maths-reference-for-secondary-school/cXEG-p1.html">Maths</a></li>
839                            </ul>
840                        </li>
841                        <li class="col-3" data-skip-mh>
842                            <ul>
843                                <h4>&nbsp;</h4>
844                                <li><a href="/books/non-fiction-books/literature-poetry-plays/poetry/cDC-p1.html">Poetry</a></li>
845                                <li><a href="/books/non-fiction-books/literature-poetry-plays/plays/cDD-p1.html">Plays</a></li>
846                                <li><a href="/books/fiction-books/classic-fiction/cFC-p1.html">Classic Fiction</a></li>
847                                <h4>Guides and Resources</h4>
848                                <li><a href="/books/non-fiction-books/education/schools/naplan/cJNLN-p1.html?suggested=L">NAPLAN</a></li>
849                                <li><a href="/books/non-fiction-books/education/schools/anti-bullying-reading-list/cJNLI-p1.html">Anti-Bullying Books</a></li>
850                                <li><a href="/empowering-girls/series6866.html">Empowering Girls</a></li>
851                                <li><a href="/introducing-aboriginal-torres-strait-islander-culture-to-children/series6878.html">Introducing Indigenous Culture</a></li>
852                                <li><a href="/oxford-primary-school-dictionaries-thesauri/series7884.html">Oxford Dictionaries</a></li>
853                            </ul>
854                        </li>
855                    </ul>
856                </div>
857                <div class="col-auto pl-4">
858                    <a href="/school-books-textbooks/promo152.html"><img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/navigation/education.jpg" alt="Education Central" width="172" height="418"></a>
859                </div>
860            </div>
861            <div class="row no-gutters sub-menu-more">
862                <div class="col-12">
863                    <a class="more" href="/school-books-textbooks/promo152.html">Explore All Education &gt;</a>
864                </div>
865            </div>
866		</div>
867	</li>
868    <li id="mnu-books-uni"><a href="/ebooks/etextbooks/l101082-p1-e.html">DIGITAL TEXTBOOKS</a></li>    <li id="mnu-books-aca"><a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">ACADEMIC</a>
869        <div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - ACADEMIC" data-mh-ea="Link Click">
870            <div class="sub-menu-container row no-gutters">
871                <div class="col sub-menu-content">
872                    <ul class="row">
873                        <li class="col-3" data-skip-mh>
874                            <ul>
875                                <h4>University</h4>
876                                <li><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance</a></li>
877                                <li><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology and Sciences</a></li>
878                                <li><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming</a></li>
879                                <li><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education</a></li>
880                                <li><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics</a></li>
881                                <li><a href="/books/text-books/higher-education-vocational-textbooks/english-literature-higher-education-textbooks/cXAF-p1.html">English & Literature</a></li>
882                                <li><a href="/books/text-books/higher-education-vocational-textbooks/environment-planning-higher-education-textbooks/cXAG-p1.html">Environment & Planning</a></li>
883                                <li><a href="/books/text-books/higher-education-vocational-textbooks/health-care-higher-education-textbooks/cXAI-p1.html">Health Care</a></li>
884                            </ul>
885                        </li>
886                        <li class="col-3" data-skip-mh>
887                            <ul>
888                                <h4>&nbsp;</h4>
889                                <li><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History</a></li>
890                                <li><a href="/books/text-books/higher-education-vocational-textbooks/language-higher-education-textbooks/cXAK-p1.html">Language</a></li>
891                                <li><a href="/books/non-fiction/law/cL-p1.html">Law</a></li>
892                                <li><a href="/books/text-books/higher-education-vocational-textbooks/mathematics-statistics-higher-education-textbooks/cXAM-p1.html">Mathematics & Statistics</a></li>
893                                <li><a href="/books/text-books/higher-education-vocational-textbooks/media-communication-arts-higher-education-textbooks/cXAO-p1.html">Media, Communication & Arts</a></li>
894                                <li><a href="/books/non-fiction/medicine/cM-p1.html">Medicine</a></li>
895                                <li><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing</a></li>
896                                <li><a href="/books/text-books/higher-education-vocational-textbooks/politics-higher-education-textbooks/cXAQ-p1.html">Politics</a></li>
897                            </ul>
898                        </li>
899                        <li class="col-3" data-skip-mh>
900                            <ul>
901                                <h4>&nbsp;</h4>
902                                <li><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology</a></li>
903                                <li><a href="/books/text-books/higher-education-vocational-textbooks/social-sciences-higher-education-textbooks/cXAR-p1.html">Social Sciences</a></li>
904                                <li><a href="/books/text-books/higher-education-vocational-textbooks/study-skills-for-higher-education/cXAS-p1.html?mlk">Study Skills</a></li>
905                            </ul>
906                        </li>
907                        <li class="col-3" data-skip-mh>
908                            <ul>
909                                <h4>Vocational</h4>
910                                <li><a href="/vocational-trades/series7927.html">Trades</a></li>
911                                <li><a href="/vocational-hospitality-tourism/series7931.html">Hospitality & Tourism</a></li>
912                                <li><a href="/vocational-business-financial-management/series7929.html">Business, Financial & Management</a></li>
913                                <li><a href="/vocational-nursing-health-care/series7928.html">Nursing & Health Care</a></li>
914                                <li><a href="/vocational-it-networking-computer-repair/series7930.html">IT, Networking & Computer Repair</a></li>
915                                <li>
915<a href="/vocational-education-early-childhood/series7932.html">Education & Early Childhood</a></li>
916                                <li><a href="/vocational-social-work-counselling/series7933.html">Social Working & Counselling</a></li>
917                                <li><a href="/vocational-design-art-fashion-photography/series7934.html">Design, Art, Fashion & Photography</a></li>
918                            </ul>
919                        </li>
920                    </ul>
921                </div>
922            </div>
923            <div class="row no-gutters sub-menu-more">
924                <div class="col-12">
925                    <a class="more" href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">Explore All Academic &gt;</a>
926                </div>
927            </div>
928        </div>
929    </li>
930	<li id="mnu-books-bargains"><a class="alert" href="/books/bargains/c9-p1.html">BARGAINS</a></li>
931	<li id="mnu-books-gc"><a href="/gift-certificates/cGC-p1.html">GIFT CERTIFICATES</a></li>
932</ul>
933</div>
934									</div>
935			</div>
936		        <template id="sidenav-menu-templates-template" style="display: none">
937            <div id="sidenav-menu-templates" class="b-modal side-panel-theme">
938                <div class="b-modal-content">
939						<div class="tabs menu-tabs">
940		<div class="menu-top-bar">
941			<button data-mh-ea="close" class="b-close-button b-modal-close"><i class="icon-cross"></i></button>
942			<h3>ALL CATEGORIES</h3>
943		</div>
944		<div class="menu-list">
945			<ul>
946				<li>
947					<a href="/books/bestseller-bargains/l115-p1.html?sorter=bestsellers-dsc" class="bestseller-bargains">
948						<div class="sidenav-link-left">
949							<i class="icon-trophy-02"></i>
950							<span>Hot Price Bestsellers</span>
951						</div>
952					</a>
953				</li>
954				<li>
955					<a href="/bps-get-free-shipping/promo4116.html?src=bt-promo" class="books-with-free-shipping">
956						<div class="sidenav-link-left">
957							<i class="icon-Express-shipping"></i>
958							<span>Books with Free Shipping</span>
959						</div>
960					</a>
961				</li>
962
963												<li class="tab">
964					<a href="javascript:;" data-tab="tab-books" onclick="switchTabs(this)">
965						<div class="sidenav-link-left">
966							<i class="icon-Paperback"></i>
967							<span>Books</span>
968						</div>
969						<i class="icon-arrow-right8"></i>
970					</a>
971				</li>
972				<li class="tab">
973					<a href="javascript:;" data-tab="tab-academic" onclick="switchTabs(this)">
974						<div class="sidenav-link-left">
975							<i class="icon-Grade-Range"></i>
976							<span>Academic & Textbooks</span>
977						</div>
978						<i class="icon-arrow-right8"></i>
979					</a>
980				</li>
981				<li class="tab">
982					<a href="javascript:;" data-tab="tab-ebooks" onclick="switchTabs(this)">
983						<div class="sidenav-link-left">
984							<i class="icon-Ebook"></i>
985							<span>eBooks</span>
986						</div>
987						<i class="icon-arrow-right8"></i>
988					</a>
989				</li>
990				<li class="tab">
991					<a href="javascript:;" data-tab="tab-audiobooks" onclick="switchTabs(this)">
992						<div class="sidenav-link-left">
993							<i class="icon-Audio-Book"></i>
994							<span>Audiobooks</span>
995						</div>
996						<i class="icon-arrow-right8"></i>
997					</a>
998				</li>
999				<li class="tab">
1000					<a href="javascript:;" data-tab="tab-games" onclick="switchTabs(this)">
1001						<div class="sidenav-link-left">
1002							<i class="icon-Puzzle-Piece-Number"></i>
1003							<span>Games & Puzzles</span>
1004						</div>
1005						<i class="icon-arrow-right8"></i>
1006					</a>
1007				</li>
1008				<li class="tab">
1009					<a href="javascript:;" data-tab="tab-magazines" onclick="switchTabs(this)">
1010						<div class="sidenav-link-left">
1011							<i class="icon-Page-Number"></i>
1012							<span>Magazines</span>
1013						</div>
1014						<i class="icon-arrow-right8"></i>
1015					</a>
1016				</li>
1017				<li class="tab">
1018					<a href="javascript:;" data-tab="tab-stationery" onclick="switchTabs(this)">
1019						<div class="sidenav-link-left">
1020							<i class="icon-stationary"></i>
1021							<span>Stationery</span>
1022						</div>
1023						<i class="icon-arrow-right8"></i>
1024					</a>
1025				</li>
1026				<li class="tab">
1027					<a href="javascript:;" data-tab="tab-gift-ideas" onclick="switchTabs(this)">
1028						<div class="sidenav-link-left">
1029							<i class="icon-gift1"></i>
1030							<span>Gift Ideas</span>
1031						</div>
1032						<i class="icon-arrow-right8"> </i>
1033					</a>
1034				</li>
1035				<li>
1036					<a href="/promo3293.html">
1037						<div class="sidenav-link-left">
1038							<i class="icon-bargains"></i>
1039							<span>Promotions</span>
1040						</div>
1041					</a>
1042				</li>
1043				<li>
1044					<a href="/helpCentre.ep">
1045						<div class="sidenav-link-left">
1046							<i class="icon-info-new"></i>
1047							<span>Help Centre</span>
1048						</div>
1049					</a>
1050				</li>
1051				<li>
1052					<a href="https://www.booktopia.com.au/blog/">
1053						<div class="sidenav-link-left">
1054							<i class="icon-blog"></i>
1055							<span>Blog</span>
1056						</div>
1057					</a>
1058				</li>
1059			</ul>
1060			<div class="account-section">
1061				<div id="pnl-account-signed-in" class="account clear if-signed-in" data-mh-
1061pe="eventOnClick" data-mh-ec="Navigation" data-mh-ea="Click">
1062					<div class="title clear">
1063						<span>Hi, </span><span id="lbl-customer-full-name" class="title"></span>
1064					</div>
1065					<ul class="account-links">
1066						<li class="my-account">
1067							<a id="mnu-side-manage-account" href="/manage-account.ep">
1068								<i class="icon-user1"></i>
1069								My Account
1070							</a>
1071						</li>
1072						<li class="my-account">
1073							<a id="mnu-side-view-wishlist" href="/view-wishlist-nocache.ep">
1074								<i class="icon-Heart-new"></i>
1075								My Wish Lists
1076							</a>
1077						</li>
1078						<li class="my-account">
1079							<a id="mnu-side-ebooks-bookshelf" href="/digital-library.ep">
1080								<i class="icon-titles"></i>
1081								My Digital Library
1082							</a>
1083						</li>
1084					</ul>
1085					<a id="btn-side-sign-out" href="/sign-out-customer-session.ep" onclick="updateLocalEmptyCart();resetPostcode();googleSignOut();return true" >
1086						<i class="icon-log-out"></i>
1087						Sign Out
1088					</a>
1089				</div>
1090
1091				<div id="pnl-account-signed-out" class="account clear if-signed-out" data-mh-pe="eventOnClick" data-mh-ec="Navigation" data-mh-ea="Click">
1092					<span class="title"><i class="icon-user1"></i> My Account</span>
1093					<div id="account-action" class="row no-gutters">
1094						<div class="col-6 pr-2">
1095							<a id="btn-side-sign-in" href="/sign-in.ep">Sign In</a>
1096						</div>
1097						<div class="col-6 pl-2">
1098							<a id="btn-side-join" href="/sign-in.ep#signup">Join</a>
1099						</div>
1100					</div>
1101				</div>
1102                <div id="useful-nav-links"><a href="//www.booktopia.com.au/blog/">Blog</a> - <a href="								?deviceType=Desktop">Full Site</a></div>
1103                <span class="copyright">&copy;	2026 Booktopia Direct Pty Ltd.
1104</span>
1105			</div>
1106		</div>
1107		<div class="tab-content" id="tab-books">
1108				<ul>
1109		<li class="nav-sub-link"><a href="/?books">All Books</a></li>
1110		<li class="nav-sub-link"><a href="/books/fiction-books/cF-p1.html">Fiction</a></li>
1111		<li class="nav-sub-link"><a href="/books/non-fiction-books/cN-p1.html">Non-Fiction</a></li>
1112		<li class="nav-sub-link"><a href="/books/kids-childrens-books/cY-p1.html">Kids &amp; YA</a></li>
1113		<li class="nav-sub-link"><a href="/books/australian-authors-books/l10-p1.html">Australian Stories</a></li>
1114		<li class="nav-sub-link"><a href="/school-books-textbooks/promo152.html">Education</a></li>
1115        <li class="nav-sub-link"><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li>
1116        <li class="nav-sub-link"><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li>
1117        <li class="nav-sub-link"><a href="/books/fiction-books/crime-mystery/cFF-p1.html">Crime & Mystery</a></li>
1118        <li class="nav-sub-link"><a href="/books/fiction/romance/cFR-p1.html">Romance</a></li>
1119        <li class="nav-sub-link"><a href="/books/fiction/graphic-novels/cFX-p1.html">Graphic Novels & Manga</a></li>
1120        <li class="nav-sub-link"><a href="/books/kids-childrens-books/cY-p1.html?sorter=bestsellers-dsc">Bestsellers</a></li>
1121		<li class="nav-sub-link"><a href="/books/fiction/l20-p1.html?cID=F">Signed Copies</a></li>
1122		<li class="nav-sub-link"><a href="/books/bargains/c9-p1.html">Bargains</a></li>
1123	</ul>
1124		</div>
1125		<div class="tab-content" id="tab-academic">
1126				<ul>
1127		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">All Textbooks</a></li>
1128		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance Textbooks</a></li>
1129		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/law-higher-education-textbooks/cXAL-p1.html">Law Textbooks</a></li>
1130		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/medicine-for-higher-education/cXAV-p1.html">Medicine Textbooks</a></li>
1131		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing Textbooks</a></li>
1132		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology Textbooks</a></li>
1133		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education Textbooks</a></li>
1134		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology & Science Textbooks</a></li>
1135		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming Textbooks</a></li>
1136		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics Textbooks</a></li>
1137		<li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History Textbooks</a></li>
1138		<li class="nav-sub-link"><a href="/ebooks/etextbooks/l101082-p1-e.html">Digital Textbooks</a></li>	</ul>
1139		</div>
1140		<div class="tab-content" id="tab-ebooks">
1141				<ul>
1142		<li class="nav-sub-link"><a href="/?ebooks">All eBooks</a></li>
1143		<li class="nav-sub-link"><a href="/ebooks/etextbooks/l101082-p1-e.html">Textbooks</a></li>		<li class="nav-sub-link"><a href="/ebooks/fiction/cF-p1-e.html">Fiction</a></li>
1144		<li class="nav-sub-link"><a href="/ebooks/fiction/romance/cFR-p1-e.html">Romance</a></li>
1145		<li class="nav-sub-link"><a href="/ebooks/kids-children-s-books/cY-p1-e.html">Kids & YA</a></li>
1146		<li class="nav-sub-link"><a href="/ebooks/fiction/crime-mystery-fiction/cFF-p1-e.html">Crime & Mystery</a></li>
1147		<li class="nav-sub-link"><a href="/ebooks/fiction/erotic-fiction/cFP-p1-e.html">Erotic Fiction</a></li>
1148		<li class="nav-sub-link"><a href="/ebooks/fiction/fantasy-fiction/cFM-p1-e.html">Fantasy</a></li>
1149		<li class="nav-sub-link"><a href="/ebooks/fiction/thrillers-suspense/cFH-p1-e.html">Thrillers</a></li>
1150		<li class="nav-sub-link"><a href="/ebooks/fiction/science-fiction/cFL-p1-e.html">Science Fiction</a></li>
1151		<li class="nav-sub-link"><a href="/ebooks/non-fiction/cN-p1-e.html">Non-Fiction</a></li>
1152		<li class="nav-sub-link"><a href="/ebooks/non-fiction/biographies-true-stories/cB-p1-e.html">Biographies & True Stories</a></li>
1153		<li class="nav-sub-link"><a href="/kobo-ebook-readers/promo3090.html">eReaders</a></li>
1154		<li class="nav-sub-link"><a href="/kobo-plus-ebook-subscription">Kobo Plus</a></li>
1155	</ul>
1156		</div>
1157		<div class="tab-content" id="tab-audiobooks">
1158				<ul>
1159		<li class="nav-sub-link"><a href="/?audiobooks">All Audiobooks</a></li>
1160		<li class="nav-sub-link"><a href="/audiobooks/fiction/cF-p1-a.html">Fiction</a></li>
1161        <li class="nav-sub-link"><a href="/audiobooks/fiction/crime-mystery-fiction/cFF-p1-a.html">Crime & Mystery</a></li>
1162        <li class="nav-sub-link"><a href="/audiobooks/non-fiction/biographies-true-stories/cB-p1-a.html">Biographies & True Stories</a></li>
1163        <li class="nav-sub-link"><a href="/audiobooks/non-fiction/history/cHB-p1-a.html">History</a></li>
1164		<li class="nav-sub-link"><a href="/audiobooks/kids-children-s-books/cY-p1-a.html">Children</a></li>
1165		<li class="nav-sub-link"><a href="/?audio-cd">Audio CDs</a></li>
1166		<li class="nav-sub-link"><a href="/audio-cd/hot-prices/l13-p1-c.html?sorter=price-AUD-asc">Audio CD Bargains</a></li>
1167		<li class="nav-sub-link"><a href="/books/sony-headphones/l101461-p1.html">Sony Headphones</a></li>
1168	</ul>
1169		</div>
1170		<div class="tab-content" id="tab-games">
1171				<ul>
1172		<li class="nav-sub-link"><a href="/books/games-and-puzzles/cGMP-p1.html">All Games & Puzzles</a></li>
1173		<li class="nav-sub-link"><a href="/books/games-and-puzzles/board-games-table-top-games/cGMPA-p1.html">Board Games</a></li>
1174		<li class="nav-sub-link"><a href="/books/games-and-puzzles/card-games/cGMPB-p1.html">Card Games</a></li>
1175		<li class="nav-sub-link"><a href="/books/games-and-puzzles/puzzles/cGMPC-p1.html">Puzzles</a></li>
1176		<li class="nav-sub-link"><a href="/books/games-and-puzzles/figurines-collectables/cGMPD-p1.html">Figurines & Collectables</a></li>
1177		<li class="nav-sub-link"><a href="/books/games-and-puzzles/activities/cGMPE-p1.html">Activities</a></li>
1178	</ul>
1179		</div>
1180		<div class="tab-content" id="tab-magazines">
1181				<ul>
1182		<li class="nav-sub-link"><a href="/?magazines">All Magazines</a></li>
1183		<li class="nav-sub-link"><a href="/magazine-subscriptions/magazines-for-her/l59-p1-m.html">Magazines For Her</a></li>
1184		<li class="nav-sub-link"><a href="/magazine-subscriptions/magazines-for-him/l60-p1-m.html">Magazines For Him</a></li>
1185		<li class="nav-sub-link"><a href="/magazine-subscriptions/kids-teens-magazines/c4K-p1-m.html">Kids & Teens</a></li>
1186		<li class="nav-sub-link"><a href="/magazine-subscriptions/international-magazines/c4J-p1-m.html">International Magazines</a></li>
1187		<li class="nav-sub-link"><a href="/magazine-subscriptions/art-design-magazines/c4A-p1-m.html">Art & Design</a></li>
1188		<li class="nav-sub-link"><a href="/magazine-subscriptions/fashion-beauty-magazines/c4U-p1-m.html">Fashion & Beauty</a></li>
1189		<li class="nav-sub-link"><a href="/magazine-subscriptions/hobbies-puzzles-magazines/c4O-p1-m.html">Hobbies & Puzzles</a></li>
1190        <li class="nav-sub-link"><a href="/magazine-subscriptions/craft-magazines/c4R-p1-m.html">
1190Craft</a></li>
1191        <li class="nav-sub-link"><a href="/magazine-subscriptions/science-nature-magazines/c4N-p1-m.html">Science & Nature</a></li>
1192        <li class="nav-sub-link"><a href="/magazine-subscriptions/lifestyle-magazines/c4L-p1-m.html">Lifestyle</a></li>
1193        <li class="nav-sub-link"><a href="/magazine-subscriptions/health-fitness-magazines/c4H-p1-m.html">Health & Fitness</a></li>
1194
1195	</ul>
1196		</div>
1197		<div class="tab-content" id="tab-stationery">
1198				<ul>
1199		<li class="nav-sub-link"><a href="/?stationery">All Stationery</a></li>
1200		<li class="nav-sub-link"><a href="/diaries-stationery/2024-diaries/c1E-p1-s.html">Diaries</a></li>
1201		<li class="nav-sub-link"><a href="/diaries-stationery/notebooks/c1A-p1-s.html">Notebooks</a></li>
1202		<li class="nav-sub-link"><a href="/diaries-stationery/journals/c1B-p1-s.html">Journals</a></li>
1203		<li class="nav-sub-link"><a href="/diaries-stationery/hot-prices/l13-p1-s.html?list=13">Stationery Bargains</a></li>
1204	</ul>
1205		</div>
1206		<div class="tab-content" id="tab-gift-ideas">
1207				<ul>
1208		<li class="nav-sub-link"><a href="/books/booktopia-gift-guide/c53-p1.html">Gift Guides</a></li>
1209		<li class="nav-sub-link"><a href="/gift-certificates/cGC-p1.html">Gift Certificates</a></li>
1210        <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/games-toys-and-puzzles/c53H-p1.html">Games & Puzzles</a></li>
1211        <li class="nav-sub-link"><a href="/diaries-stationery/stationery-gift-ideas/l265-p1-s.html">Stationery</a></li>
1212        <li class="nav-sub-link"><a href="/diaries-stationery/book-accessories/c1T-p1-s.html">Book Accessories</a></li>
1213		<li class="nav-sub-link"><a href="/books/booktopia-gift-guide/everything-lavish-gift-guide/c53C-p1.html">Everything Lavish</a></li>
1214		<li class="nav-sub-link"><a href="/books/booktopia-gift-guide/fiction-gift-guide/c53D-p1.html">Fiction</a></li>
1215		<li class="nav-sub-link"><a href="/books/booktopia-gift-guide/non-fiction-gift-guide/c53A-p1.html">Non-Fiction</a></li>
1216		<li class="nav-sub-link"><a href="/books/booktopia-gift-guide/just-for-kids/c53E-p1.html">Just For Kids</a></li>
1217	</ul>
1218		</div>
1219	</div>
1220                </div>
1221            </div>
1222        </template><div  id="body" >
1223	
1224		  		<div id="content">
1225  			<style>
1226	h1, h2 {font-size: 24px;}
1227	#content {padding: 15px;}
1228	#get-in-touch-links a {color:#333;text-align:center;font-weight:bold;padding-bottom:30px;}
1229	#get-in-touch-links a:hover {color:#009933;text-decoration:none;}
1230	#get-in-touch-links a:hover .icon span {background-color:#009933;}
1231	#get-in-touch-links .icon {height:60px;}
1232	#get-in-touch-links .icon span {display:inline-block;border-radius:50%;background-color:#888;padding:10px;font-size:24px;width:44px;height:44px;}
1233        #get-in-touch-links .icon span:before {color:#fff;}
1234	#get-in-touch-links .icon img {position:relative;}
1235	#what-to-read-icon {bottom:10px;right:10px;}
1236	#product-review-icon {bottom:2px;right:3px;}
1237</style>
1238<h1>What is Booktopia?</h1>
1239<p>We're Australia's biggest bookstore providing Australia’s most extensive library, giving book lovers an unrivalled choice, for whatever they are looking for. </p>
1240<p>Our award-winning store offers thousands of titles from a wide range of local Australian and international authors and publishers across a whole host of categories and interests.</p>
1241<p>In addition to books, we also sell ebooks, ereaders, audiobooks and stationery, giving you everything you need for great entertainment, great information, great content and great gifts all year round. That’s a whole lot of great!</p>
1242<p>Our store is online only and we ship orders to every corner of Australia and New Zealand from our magical Customer Fulfilment Centre in Enfield in Sydney. At a giant 27,500 sq metres—that’s about 33 football fields (!) they are able to fit millions of books at any one time—a true book lovers’ paradise!</p>
1243<p>We also have the honour of hosting hundreds of authors each year providing exclusive experiences for our customers. This includes signing thousands of copies of books and creating unique content, including participation in special events and podcast episodes.</p>
1244<p>We are the destination for all of your reading inspiration, needs and wishes. We are your ultimate book haven. We are Booktopia.</p>
1245
1246<h2>Our Promise</h2>
1247<p>We are passionate about championing Australian books, authors and publishing and have been that way ever since we launched back in 2004. It’s in our DNA.</p>
1248<p>Our customers are at the heart of everything we do. From having a huge range of thousands of in-stock items and fast delivery, to having friendly and knowledgeable customer service representatives ready to help, there is nothing more important than delivering brilliant customer service every single day.</p>
1249<p>Our mission is to make it as easy as possible for Australians to discover and buy books and meet Australians wherever and whenever they read their books.</p>
1250
1251<h2>Get In Touch</h2>
1252<p>We love to hear from our customers! Leave us a review, tell us what you’re reading, share our recommendations, give us some book tips or ask us a question—or do all of these things!</p>
1253<div id="get-in-touch-links" class="row no-gutters mt-4">
1254	<a class="col-4 col-md" href="https://www.facebook.com/Booktopia/" target="_blank"><div class="icon"><span class="icon-facebook"></span></div>Facebook</a>
1255	<a class="col-4 col-md" href="https://www.instagram.com/booktopiabooks" target="_blank"><div class="icon"><span class="icon-instagram"></span></div>Instagram</a>
1256	<a class="col-4 col-md" href="https://www.twitter.com/booktopia" target="_blank"><div class="icon"><span class="icon-twitter"></span></div>Twitter</a>
1257	<a class="col-4 col-md" href="https://www.tiktok.com/@booktopiabooks" target="_blank"><div class="icon"><span class="icon-tiktok"></span></div>TikTok</a>
1258	<a class="col-4 col-md" href="https://au.linkedin.com/company/booktopia" target="_blank"><div class="icon"><span class="icon-linkedin2"></span></div>LinkedIn</a>
1259	<a class="col-4 col-md" href="https://www.booktopia.com.au/blog/" target="_blank"><div class="icon"><span><img id="what-to-read-icon" class="lazyload" height="45" src="#getLazyLoaderUrl()" data-src="https://images.booktopia.com.au/promotions/2022/what-is-booktopia/what-to-read.svg"></span></div>Tell Me What To Read</a>
1260	<a class="col-12 col-md" href="https://www.productreview.com.au/listings/booktopia" target="_blank"><div class="icon"><span><img id="product-review-icon" class="lazyload" height="30" src="#getLazyLoaderUrl()" data-src="https://images.booktopia.com.au/promotions/2022/what-is-booktopia/product-review.svg"></span></div>ProductReview</a>
1261</div>
1262<p>You can also listen to our <i>Tell Me What To Read</i> podcast: <a href="https://www.booktopia.com.au/blog/podcasts/" target="_blank">https://www.booktopia.com.au/blog/podcasts/</a> or from wherever you get your podcasts.</p>
1263<p>Happy reading!</p>
1264
1265<div class="productreviewwidget" data-itemid="81766" data-full-width="1" data-num-reviews="10" data-order="best"></div>
1266<script type="text/javascript">
1267	(function () {
1268		function async_load() {
1269			var s = document.createElement("script");
1270			s.type = "text/javascript";
1271			s.async = true;
1272			s.src = "//www.productreview.com.au/assets/js/widget/reviews-itemid.js";
1273			var x = document.getElementsByTagName("script")[0];
1274			x.parentNode.insertBefore(s, x);
1275		}
1276
1277		if (window.attachEvent) {
1278			window.attachEvent("onload", async_load);
1279		} else {
1280			window.addEventListener("load", async_load, false);
1281		}
1282	})();
1283</script>
1283
1284  		</div>
1285  					</div>
1286<div id="footer">
1287			<div id="top-bar">
1288			<div class="content">
1289																	<div class="newsletter-sign-up-holder if-signed-out">
1290						<div id="newsletter-sign-up">
1291							<h3>Join Our Newsletter</h3>
1292							<form id="footerNewsletterForm">
1293								<input type="email" id="email" name="email" placeholder="Enter your email address...">
1294								<input type="button" value="SUBSCRIBE" onclick="submitFooterNewsletterForm()" data-target="iframe">
1295							</form>
1296						</div>
1297					</div>
1298								<div class="top-bar-right ">
1299					<ul id="social-media-tab"  data-mh-pe="eventOnClick" data-mh-ec="Social Click"   data-mh-ea="Click" >
1300    <li><a target="_blank" data-mh-el="Youtube" href="//www.youtube.com/user/booktopiabooks" class="youtube-icon"><span class="icon-youtube"></span></a></li>
1301    <li><a target="_blank" data-mh-el="Blog" href="//www.booktopia.com.au/blog/" class="blog-icon"><span class="icon-booktopia"></span></a></li>
1302    <li><a target="_blank" data-mh-el="Facebook" href="//www.facebook.com/pages/Booktopia/91043653859" class="facebook-icon"><span class="icon-facebook"></span></a></li>
1303    <li><a target="_blank" data-mh-el="Twitter" href="//twitter.com/booktopia" class="twitter-icon"><span class="icon-twitter"></span></a></li>
1304    <li><a target="_blank" data-mh-el="Soundcloud" href="//www.booktopia.com.au/blog/podcasts/?utm_source=booktopian_blog&amp;utm_medium=booktopian&amp;utm_campaign=tell_me_what_to_read" class="podcast-icon"><span class="icon-podcast"></span></a></li>
1305    <li><a target="_blank" data-mh-el="Instagram" href="//instagram.com/booktopiabooks" class="instagram-icon"><span class="icon-instagram"></span></a></li>
1306</ul>
1307				</div>
1308			</div>
1309		</div>
1310		<div id="links" class="footer-links">
1311		<div class="content container" data-mh-pe="eventOnClick" data-mh-ec="Footer" data-mh-ea="Click">
1312            <div class="row no-gutters info-row justify-content-between align-item-center">
1313
1314                <div class="col">
1315                    <div class="row footer-info">
1316						<div class="col-xl-auto col-lg-12 pr-1">
1317                        	<span class="info-title">Head Office</span>
1318						</div>
1319						<div class="col">
1320							<span class="info-content">
1321								34-48 Cosgrove Road, South Strathfield NSW 2136
1322								<br>ABN 90 679 610 890
1323							</span>
1324						</div>
1325                    </div>
1326				</div>
1327				<div class="col-auto">
1328					<a id="btn-mobile-site" class="button" href="						?deviceType=mobile">MOBILE SITE</a>
1329				</div>
1330			</div>
1331			<div class="row no-gutters">
1332                <div class="col-3">
1333					<h4><a href="/helpCentre.ep">Help Centre</a></h4>
1334					<ul>
1335						<li><a href="/helpCentre.ep?p=ordering&o=place-order#">Placing An Order</a></li>
1336						<li><a href="/helpCentre.ep?p=affiliate&o=contact-us#">Contact Booktopia</a></li>
1337						<li><a href="/helpCentre.ep?p=policies&o=terms#">Terms Of Business</a></li>
1338						<li><a href="/helpCentre.ep?p=policies&o=privacy#">Privacy Policy</a></li>
1339						<li><a href="/helpCentre.ep?p=affiliate&o=affiliates#">Become An Affiliate</a></li>
1340                        <li><a href="/sitemap.ep">Sitemap</a></li>
1341					</ul>
1342				</div>
1343				<div class="col-3">
1344					<h4><a href="/helpCentre.ep?p=shipping&o=standard-shipping#">Shipping</a></h4>
1345					<ul>
1346						<li><a href="/track-order.ep">Track My Order</a></li>
1347                        <li><a href="/helpCentre.ep?p=shipping&o=standard-shipping#">Standard Shipping</a></li>
1348						<li><a href="/helpCentre.ep?p=shipping&o=express-shipping#">Express Shipping</a></li>
1349						<li><a href="/helpCentre.ep?p=shipping&o=shipping-timeframes#">Shipping Timeframes</a></li>
1350						<li><a href="/helpCentre.ep?p=shipping&o=delivering-your-order#">Delivering Your Order</a></li>
1351						<li><a href="/helpCentre.ep?p=shipping&o=new-zealand-orders#">New Zealand Orders</a></li>
1352					</ul>
1353				</div>
1354				<div class="col-3">
1355					<h4><a href="/your-local-bookstore/news18.html">About Booktopia</a></h4>
1356					<ul>
1357						<li><a href="/your-local-bookstore/news18.html">Your Local Bookstore</a></li>
1358						<li><a href="/why-booktopia/news19.html">Why Buy From Booktopia?</a></li>
1359						<li><a href="/why-booktopia/news19.html#awards-recognition">Our Awards</a></li>
1360						                        <li><a href="/helpCentre.ep?p=affiliate&o=charity-book-donations#">Booktopia's Charities</a></li>
1361                        <li><a href="/booktopia-ebooks-by-rakuten-kobo/promo3131.html">Booktopia eBooks</a></li>
1362						<li><a href="/work-with-us">Work With Us</a></li>
1363					</ul>
1364				</div>
1365				<div class="col-3">
1366					<h4><a href="/bestsellers/promo294.html">Bestsellers</a></h4>
1367					<ul>
1368						<li><a href="/baby-toddler-bestsellers/promo387.html">Babies & Toddlers' Bestseller List</a></li>
1369						<li><a href="/children-s-bestsellers/promo297.html">Children's Bestseller List</a></li>
1370						<li><a href="/young-adult-bestsellers/promo298.html">Young Adults' Bestseller List</a></li>
1371						<li><a href="/fiction-bestsellers/promo296.html">Fiction Bestseller List</a></li>
1372						<li><a href="/non-fiction-bestsellers/promo656.html">Non-Fiction Bestseller List</a></li>
1373					</ul>
1374				</div>
1375								<div class="col-3">
1376                    <h4>Popular Brands</h4>
1377					<ul>
1378						<li><a href="/search.ep?keywords=abc+reading+eggs&productType=917504">ABC Reading Eggs</a></li>
1379						<li><a href="/search.ep?keywords=Australian+Women%27s+Weekly&productType=917504">Australian Women's Weekly</a></li>
1380						<li><a href="/bluey/series9222.html">Bluey</a></li>
1381						<li><a href="/search.ep?keywords=Excel&productType=917504">Excel Education</a></li>
1382                        <li><a href="/search.ep?keywords=Dr+Seuss&productType=917504">Dr Seuss</a></li>
1383						<li><a href="/books/non-fiction/self-help-personal-development/how-to/for-dummies-books/cVSAD-p1.html">For Dummies</a></li>
1384						<li><a href="/search.ep?keywords=Harvard+Business+Review&productType=917504">Harvard Business Review</a></li>
1385						<li><a href="/harry-potter-at-booktopia/promo842.html">Harry Potter</a></li>
1386						<li><a href="/search.ep?keywords=lego&productType=917504">LEGO</a></li>
1387						<li><a href="/search.ep?keywords=Little+Golden+Book&productType=917504">Little Golden Books</a></li>
1388						<li><a href="/books/non-fiction/travel-holidays/lonely-planet-travel-books/cWTP-p1.html">Lonely Planet Travel Books</a></li>
1389						<li><a href="/search.ep?keywords=No+Fear+Shakespeare&productType=917504">No Fear Shakespeare</a></li>
1390						<li><a href="/books/fiction/classic-fiction/penguin-black-classics/cFCP-p1.html">Penguin Black Classics</a></li>
1391						<li><a href="/search.ep?keywords=Peppa+Pig&productType=917504">Peppa Pig</a></li>
1392                        <li><a href="/books/non-fiction/self-help-personal-development/how-to/teach-yourself/cVSAT-p1.html">Teach Yourself</a></li>
1393						<li><a href="/books/fiction/classic-fiction/vintage-classics/cFCC-p1.html">Vintage Classics</a></li>
1394						<li><a href="/search.ep?keywords=where%27s+wally&productType=917504">Where's Wally</a></li>
1395					</ul>
1396				</div>
1397				<div class="col-3">
1398					<h4>Popular Series</h4>
1399					<ul>
1400						<li><a href="/a-court-of-thorns-and-roses-paperback-by-sarah-j-maas/series9377.html">A Court of Thorns and Roses</a></li>
1401                        <li><a href="/a-game-of-thrones-a-song-of-ice-and-fire-paperbacks-by-george-r-r-martin/series533.html">A Game of Thrones</a></li>
1402						<li><a href="/bridgerton-original-book-series-by-julia-quinn/series499.html">Bridgerton</a></li>
1403						<li><a href="/the-diary-of-a-wimpy-kid-series-by-jeff-kinney/series371.html">Diary of a Wimpy Kid</a></li>
1404						<li><a href="/frank-herbert-s-dune-paperbacks/series10592.html">Dune</a></li>
1405						<li><a href="/jack-reacher-by-lee-child/series92.html">Jack Reacher</a></li>
1406						<li><a href="/the-jack-west-novels-by-matthew-reilly/series6.html">Jack West</a></li>
1407						<li><a href="/little-people-big-dreams/series5274.html">Little People, Big Dreams</a></li>
1408                        <li><a href="/the-lord-of-the-rings-paperbacks-by-j-r-r-tolkien/series385.html">Lord of the Rings</a></li>
1409						<li><a href="/the-nevermoor-series-paperback-editions/series671.html">Nevermoor</a></li>
1410						<li><a href="/outlander-the-original-book-series/series7433.html">Outlander</a></li>
1411						<li><a href="/the-bad-guys-by-aaron-blabey/series4747.html">The Bad Guys</a></li>
1412						<li><a href="/the-treehouse-series-by-andy-griffiths/series2785.html">The Treehouse Series</a></li>
1413                        <li><a href="/the-wheel-of-time-new-editions-by-robert-jordan/series350.html">The Wheel of Time</a></li>
1414                        <li><a href="/the-witcher-new-paperback-editions-by-andrzej-sapkowski/series9231.html">The Witcher</a></li>
1415                        <li><a href="/the-wings-of-fire-series-by-tui-t-sutherland/series7552.html">Wings of Fire</a></li>
1416                        <li><a href="/wolf-girl-by-anh-do/series9737.html">Wolf Girl</a></li>
1417					</ul>
1418				</div>
1419				<div class="col-3">
1420					<h4>Popular Authors</h4>
1421					<ul>
1422						<li><a href="/bren-brown/author1121.html">Brene Brown</a></li>
1423						<li><a href="/bruce-pascoe/author1135.html">Bruce Pascoe</a></li>
1424						<li><a href="/david-walliams/author887.html">David Walliams</a></li>
1425                        <li><a href="/di-morrissey/author148.html">Di Morrissey</a></li>
1426						<li><a href="/donna-hay/author70.html">Donna Hay</a></li>
1427						<li><a href="/fiona-mcintosh/author171.html">Fiona McIntosh</a></li>
1428						<li><a href="/helen-garner/author626.html">Helen Garner</a></li>
1429						<li><a href="/jane-harper/author144.html">Jane Harper</a></li>
1430						<li><a href="/liane-moriarty/author934.html">Liane Moriarty</a></li>
1431						<li><a href="/matthew-reilly/author3.html">Matthew Reilly</a></li>
1432						<li><a href="/peter-fitzsimons/author22.html">Peter FitzSimons</a></li>
1433                        <li><a href="/sally-rooney/author1154.html">Sally Rooney</a></li>
1434                        <li><a href="/sarah-j-maas/author991.html">Sarah J. Maas</a></li>
1435                        <li><a href="/taylor-jenkins-reid/author1414.html">Taylor Jenkins Reid</a></li>
1436						<li><a href="/tim-winton/author46.html">Tim Winton</a></li>
1437                        <li><a href="/trent-dalton/author1259.html">Trent Dalton</a></li>
1438						<li><a href="/yotam-ottolenghi/author1002.html">Yotam Ottolenghi</a></li>
1439					</ul>
1440				</div>
1441                <div class="col-3">
1442                    <h4>Popular Subjects</h4>
1443                    <ul>
1444                        <li><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li>
1445                        <li><a href="/books/non-fiction/business-management/cKJ-p1.html">Business & Management</a></li>
1446                        <li><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li>
1447                        <li><a href="/books/non-fiction/crafts-handiwork/cWF-p1.html">Crafts & Handiwork</a></li>
1448                        <li><a href="/books/non-fiction/family-health/cVF-p1.html">Family & Health</a></li>
1449                        <li><a href="/books/non-fiction/family-health/fitness-diet/cVFM-p1.html">Fitness & Diet</a></li>
1450                        <li><a href="/books/non-fiction/history/cHB-p1.html">History</a></li>
1451                        <li><a href="/books/non-fiction/self-help-personal-development/cVS-p1.html">Self-Help & Personal Development</a></li>
1452                        <li><a href="/books/fiction/cF-p1.html?list=10">Australian Fiction</a></li>
1453                        <li><a href="/books/fiction/crime-mystery/cFF-p1.html">Crime & Mystery</a></li>
1454                        <li><a href="/books/fiction/classic-fiction/cFC-p1.html">Classic Fiction</a></li>
1455                        <li><a href="/books/fiction/fantasy-fiction/cFM-p1.html">Fantasy Fiction</a></li>
1456                        <li><a href="/books/fiction/modern-contemporary-fiction/cFA-p1.html">Modern & Contemporary Fiction</a></li>
1457                        <li><a href="/books/fiction/graphic-novels/manga/cFXA-p1.html">Manga</a></li>
1458                        <li><a href="/books/kids-childrens-books/picture-books-early-learning/picture-books-in-general/cYBC-p1.html">Picture Books</a></li>
1459                        <li><a href="/books/kids-childrens-books/children-s-fiction/young-adult-ya-fiction/cYFY-p1.html">Young Adult Fiction</a></li>
1460                    </ul>
1461                </div>
1462				            </div>
1463        </div>
1464    </div>
1465	<div id="awards">
1466		<div class="row no-gutters align-items-center">
1467			<div class="col-auto" style="width: 120px"></div>
1468			<div class="col">
1469				Voted Australia’s Favourite Bookstore by Australian Book Buyers
1470			</div>
1471			<div class="col-auto">
1472				<img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/assets/footer/national-bookshop-day.png" />
1473			</div>
1474			<div class="col-12">
1475				<br>&copy;	2026 Booktopia Direct Pty Ltd.
1476			</div>
1477		</div>
1478	</div>
1479
1480
1481    
1481<script type="text/javascript">
1482						        history.navigationMode = 'compatible';
1483    </script>
1483
1484    <div style="display:none;">
1485		
1485<script type="text/javascript">
1486/* <![CDATA[ */
1487var google_conversion_id = 1071893088;
1488var google_conversion_language = "en";
1489var google_conversion_format = "3";
1490var google_conversion_color = "ffffff";
1491var google_conversion_label = "qrp2CNvw4wIQ4JSP_wM";
1492var google_conversion_value = 0;
1493/* ]]> */
1494</script>
vendor: 1 bytes, line 1494
1494
1495<script>
1496    lazyLoadScript("https://www.googleadservices.com/pagead/conversion.js",function(){})
1497</script>
1497
1498<noscript>
1499<div style="display:inline;">
1500<img height="1" width="1" style="border-style:none;" alt="" src="https://www.googleadservices.com/pagead/conversion/1071893088/?label=qrp2CNvw4wIQ4JSP_wM&amp;guid=ON&amp;script=0"/>
1501</div>
1502</noscript>    </div>
1503</div>
1504
1505
1506
1507
1508    <!-- d8ab4c5fea9140869fe15b87eb19b959 -->
1509    <!-- Version: dev-20260911152026 -->
1510<script>
1511    lazyLoadScript("/template-resources/js/polyfills/intersection-observer.js", function(){})
1512</script>
1512
1513
1514<script type="text/javascript" src="/wro/6199/jQuery.js?v=dev-20260911152026"></script>
vendor: 1 bytes, line 1514
1514
1515<script type="text/javascript">
1516    !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).LazyLoad=n()}(this,(function(){"use strict";function t(){return(t=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t}).apply(this,arguments)}var n="undefined"!=typeof window,e=n&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),i=n&&"IntersectionObserver"in window,o=n&&"classList"in document.createElement("p"),a=n&&window.devicePixelRatio>1,r={elements_selector:"img",container:e||n?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",load_delay:0,auto_unobserve:!0,cancel_on_exit:!1,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},c=function(n){return t({},r,n)},l=function(t,n){var e,i=new t(n);try{e=new CustomEvent("LazyLoad::Initialized",{detail:{instance:i}})}catch(t){(e=document.createEvent("CustomEvent")).initCustomEvent("LazyLoad::Initialized",!1,!1,{instance:i})}window.dispatchEvent(e)},s=function(t,n){return t.getAttribute("data-"+n)},u=function(t,n,e){var i="data-"+n;null!==e?t.setAttribute(i,e):t.removeAttribute(i)},d=function(t){return s(t,"ll-status")},f=function(t,n){return u(t,"ll-status",n)},_=function(t){return f(t,null)},g=function(t){return null===d(t)},v=function(t){return"delayed"===d(t)},b=["loading","applied","loaded","error"],p=function(t){return b.indexOf(d(t))>-1},m=function(t,n){return u(t,"ll-timeout",n)},h=function(t){return s(t,"ll-timeout")},E=function(t,n,e,i){t&&(void 0===i?void 0===e?t(n):t(n,e):t(n,e,i))},y=function(t,n){o?t.classList.add(n):t.className+=(t.className?" ":"")+n},L=function(t,n){o?t.classList.remove(n):t.className=t.className.replace(new RegExp("(^|\\s+)"+n+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},I=function(t){return t.llTempImage},k=function(t,n,e){if(e){var i=e._observer;i&&n.auto_unobserve&&i.unobserve(t)}},A=function(t){t&&(t.loadingCount+=1)},w=function(t){for(var n,e=[],i=0;n=t.children[i];i+=1)"SOURCE"===n.tagName&&e.push(n);return e},z=function(t,n,e){e&&t.setAttribute(n,e)},C=function(t,n){t.removeAttribute(n)},O=function(t){return!!t.llOriginalAttrs},x=function(t){if(!O(t)){var n={};n.src=t.getAttribute("src"),n.srcset=t.getAttribute("srcset"),n.sizes=t.getAttribute("sizes"),t.llOriginalAttrs=n}},N=function(t){if(O(t)){var n=t.llOriginalAttrs;z(t,"src",n.src),z(t,"srcset",n.srcset),z(t,"sizes",n.sizes)}},M=function(t,n){z(t,"sizes",s(t,n.data_sizes)),z(t,"srcset",s(t,n.data_srcset)),z(t,"src",s(t,n.data_src))},R=function(t){C(t,"src"),C(t,"srcset"),C(t,"sizes")},T=function(t,n){var e=t.parentNode;e&&"PICTURE"===e.tagName&&w(e).forEach(n)},G={IMG:function(t,n){T(t,(function(t){x(t),M(t,n)})),x(t),M(t,n)},IFRAME:function(t,n){z(t,"src",s(t,n.data_src))},VIDEO:function(t,n){w(t).forEach((function(t){z(t,"src",s(t,n.data_src))})),z(t,"poster",s(t,n.data_poster)),z(t,"src",s(t,n.data_src)),t.load()}},S=function(t,n,e){var i=G[t.tagName];i&&(i(t,n),A(e),y(t,n.class_loading),f(t,"loading"),E(n.callback_loading,t,e),E(n.callback_reveal,t,e))},j=["IMG","IFRAME","VIDEO"],D=function(t){t&&(t.loadingCount-=1)},F=function(t,n){!n||n.toLoadCount||n.loadingCount||E(t.callback_finish,n)},P=function(t,n,e){t.addEventListener(n,e),t.llEvLisnrs[n]=e},V=function(t,n,e){t.removeEventListener(n,e)},U=function(t){return!!t.llEvLisnrs},$=function(t){if(U(t)){var n=t.llEvLisnrs;for(var e in n){var i=n[e];V(t,e,i)}delete t.llEvLisnrs}},q=function(t,n,e){!function(t){delete t.llTempImage}(t),D(e),L(t,n.class_loading),k(t,n,e)},H=function(t,n,e){var i=I(t)||t;if(!U(i)){!function(t,n,e){U(t)||(t.llEvLisnrs={}),P(t,"load",n),P(t,"error",e),"VIDEO"===t.tagName&&P(t,"loadeddata",n)}(i,(function(o){!function(t,n,e,i){q(n,e,i),y(n,e.class_loaded),f(n,"loaded"),E(e.callback_loaded,n,i),F(e,i)}(0,t,n,e),$(i)}),(function(o){!function(t,n,e,i){q(n,e,i),y(n,e.class_error),f(n,"error"),E(e.callback_error,n,i),F(e,i)}(0,t,n,e),$(i)}))}},B=function(t){t&&(t.toLoadCount-=1)},J=function(t,n,e){!function(t){t.llTempImage=document.createElement("img")}(t),H(t,n,e),function(t,n,e){var i=s(t,n.data_bg),o=s(t,n.data_bg_hidpi),r=a&&o?o:i;r&&(t.style.backgroundImage='url("'.concat(r,'")'),I(t).setAttribute("src",r),A(e),y(t,n.class_loading),f(t,"loading"),E(n.callback_loading,t,e),E(n.callback_reveal,t,e))}(t,n,e),function(t,n,e){var i=s(t,n.data_bg_multi),o=s(t,n.data_bg_multi_hidpi),r=a&&o?o:i;r&&(t.style.backgroundImage=r,y(t,n.class_applied),f(t,"applied"),k(t,n,e),E(n.callback_applied,t,e))}(t,n,e)},K=function(t,n,e){!function(t){return j.indexOf(t.tagName)>-1}(t)?J(t,n,e):function(t,n,e){H(t,n,e),S(t,n,e)}(t,n,e),B(e),F(n,e)},Q=function(t){var n=h(t);n&&(v(t)&&_(t),clearTimeout(n),m(t,null))},W=function(t,n,e,i){"IMG"===t.tagName&&($(t),function(t){T(t,(function(t){R(t)})),R(t)}(t),function(t){T(t,(function(t){N(t)})),N(t)}(t),L(t,e.class_loading),D(i),E(e.callback_cancel,t,n,i),setTimeout((function(){i.resetElementStatus(t,i)}),0))},X=function(t,n,e,i){E(e.callback_enter,t,n,i),p(t)||(e.load_delay?function(t,n,e){var i=n.load_delay,o=h(t);o||(o=setTimeout((function(){K(t,n,e),Q(t)}),i),f(t,"delayed"),m(t,o))}(t,e,i):K(t,e,i))},Y=function(t,n,e,i){g(t)||(e.cancel_on_exit&&function(t){return"loading"===d(t)}(t)&&W(t,n,e,i),E(e.callback_exit,t,n,i),e.load_delay&&v(t)&&Q(t))},Z=["IMG","IFRAME"],tt=function(t){return t.use_native&&"loading"in HTMLImageElement.prototype},nt=function(t,n,e){t.forEach((function(t){-1!==Z.indexOf(t.tagName)&&(t.setAttribute("loading","lazy"),function(t,n,e){H(t,n,e),S(t,n,e),B(e),f(t,"native"),F(n,e)}(t,n,e))})),e.toLoadCount=0},et=function(t){var n=t._settings;i&&!tt(t._settings)&&(t._observer=new IntersectionObserver((function(e){!function(t,n,e){t.forEach((function(t){return function(t){return t.isIntersecting||t.intersectionRatio>0}(t)?X(t.target,t,n,e):Y(t.target,t,n,e)}))}(e,n,t)}),function(t){return{root:t.container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}}(n)))},it=function(t){return Array.prototype.slice.call(t)},ot=function(t){return t.container.querySelectorAll(t.elements_selector)},at=function(t){return function(t){return"error"===d(t)}(t)},rt=function(t,n){return function(t){return it(t).filter(g)}(t||ot(n))},ct=function(t){var n,e=t._settings;
1516(n=ot(e),it(n).filter(at)).forEach((function(t){L(t,e.class_error),_(t)})),t.update()},lt=function(t,e){var i;this._settings=c(t),this.loadingCount=0,et(this),i=this,n&&window.addEventListener("online",(function(t){ct(i)})),this.update(e)};return lt.prototype={update:function(t){var n,o,a=this._settings,r=rt(t,a);(this.toLoadCount=r.length,!e&&i)?tt(a)?nt(r,a,this):(n=this._observer,o=r,function(t){t.disconnect()}(n),function(t,n){n.forEach((function(n){t.observe(n)}))}(n,o)):this.loadAll(r)},destroy:function(){this._observer&&this._observer.disconnect(),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var n=this,e=this._settings;rt(t,e).forEach((function(t){K(t,e,n)}))},resetElementStatus:function(t){!function(t,n){p(t)&&function(t){t&&(t.toLoadCount+=1)}(n),f(t,null)}(t,this)},load:function(t){K(t,this._settings,this)}},lt.load=function(t,n){var e=c(n);K(t,e)},n&&function(t,n){if(n)if(n.length)for(var e,i=0;e=n[i];i+=1)l(t,e);else l(t,n)}(lt,window.lazyLoadOptions),lt}));
1517</script>
vendor: 1 bytes, line 1517
1517
1518<script type="text/javascript">
1519    function getCookie(cname) {
1520        var name = cname + "=";
1521        var decodedCookie = decodeURIComponent(document.cookie);
1522        var ca = decodedCookie.split(';');
1523        for(var i = 0; i <ca.length; i++) {
1524            var c = ca[i];
1525            while (c.charAt(0) == ' ') {
1526                c = c.substring(1);
1527            }
1528            if (c.indexOf(name) == 0) {
1529                return c.substring(name.length, c.length);
1530            }
1531        }
1532        return null;
1533    }
1534			    function enhancedEcommerceAddProduct(product) {
1535            if (product)
1536                ga('enhancedEcommerce.ec:addProduct', product);
1537        }
1538
1539	    function enhancedEcommerceAddToCart(product) {
1540	        if (product) {
1541	            enhancedEcommerceAddProduct(product);
1542	            ga('enhancedEcommerce.ec:setAction', 'add');
1543	            ga('enhancedEcommerce.send', 'event', 'UX', 'click', 'add to cart');
1544	        }
1545	    }
1546
1547	    function ecEventDispatch(productData) {
1548	        if (productData) {
1549	            enhancedEcommerceAddProduct(productData);
1550	            ga('enhancedEcommerce.ec:setAction', 'click', {list: productData.list});
1551             // Send click with an event, then send user to product page.
1552	            ga('enhancedEcommerce.send', 'event', 'UX', 'click', 'Product');
1553	        }
1554	    }
1555	
1556        function toggleModal(target) {
1557        let templateId = target + '-template';
1558        if (target === "#add-item-to-wishlist-modal" || target === "#create-new-wishlist-modal" || target === "#add-wishlist-templates") {
1559            templateId = "#wishlist-actions-template";
1560        } else if (target === "#delete-wishlist-modal" || target === "#share-wishlist-modal" || target === '#share-lists-modal') {
1561        	templateId = "#wishlist-popups-template";
1562        }
1563        appendModalTemplate(target, templateId);
1564        if (target !== "#undefined-modal") {
1565            const activeModal = jQuery('.b-show-modal'),
1566		            activeModalId = '#' + activeModal.attr('id'),
1567                    targetSelector = $(target),
1568		            targetModal = $(target + '.b-modal');
1569
1570            if (activeModal.length && activeModalId !== target) {
1571                activeModal.trigger('b-modal-closed');
1572                activeModal.removeClass('b-show-modal');
1573            }
1574
1575            if (targetModal.hasClass('b-show-modal')) {
1576                targetSelector.trigger('b-modal-closed', [target]);
1577            } else {
1578                targetSelector.trigger('b-modal-opened', [target]);
1579                showModalContent(targetModal);
1580            }
1581
1582	        if(window.BKT_GLOBALS.isSidePanelTheme && !window.BKT_GLOBALS.isKoboPopup && targetSelector.hasClass('side-panel-theme')) {
1583                const targetModalContent = targetModal.find('.b-modal-content');
1584	        	if(targetSelector.hasClass('b-show-modal')) {
1585                    targetModalContent.toggleClass('slide-side-panel');
1586                    setTimeout(function() {
1587                        targetModal.toggleClass("b-show-modal");
1588                    }, 300)
1589		        } else {
1590                    targetModal.toggleClass("b-show-modal");
1591                    setTimeout(function() {
1592                        targetModalContent.toggleClass('slide-side-panel');
1593                    }, 300)
1594		        }
1595	        	                $('.b-modal:not(.b-show-modal) .b-modal-content').removeClass('slide-side-panel');
1596	        } else {
1597                targetModal.toggleClass("b-show-modal");
1598	        }
1599
1600            lazyLoadInstance.update();
1601        }
1602    }
1603
1604    function createModal(name, className) {
1605        if (className === undefined) className = "";
1606        if (jQuery("#" + name + "").length == 0) {
1607            var modal = '<div id="' + name + '" class="b-modal dynamic-modal ' + className + '">\n' +
1608                    '<div id="' + name + '-popup" class="b-modal-content">' +
1609                    '<button class="b-close-button b-modal-close"><i class="icon-cross"></i></button>' +
1610                    '<div id="' + name + '-container"><div class="loader-wrapper"><i class="icon-spinner3 loader"></i></div></div>' +
1611                    '</div>' +
1612                    '</div>';
1613            jQuery("#footer").append(modal);
1614        }
1615    }
1616
1617    function windowOnClick(event) {
1618        var activeModal = jQuery('.b-show-modal');
1619        if (activeModal[0] !== undefined && (event.target === activeModal[0] || event.target === jQuery('#paypal-terms-modal .overlay')[0]) && jQuery(activeModal[0]).find('.loader-wrapper').length === 0) {
1620            window.parent.jQuery('.b-modal-close').first().trigger('click');
1621        }
1622    }
1623
1624    function showModalContent(target) {
1625        target.show();
1626        target.find('.b-modal-content').show();
1627    }
1628
1629    function openWishListDrawer() {
1630        appendModalTemplate();
1631        var jNotificationContainer = jQuery("#product-wishlist-notification");
1632        var jParentSelector = jQuery("#booktopia-notification-wrapper");
1633        jParentSelector.find('#booktopia-notification > div').hide();
1634        jNotificationContainer.show();
1635        jParentSelector.show();
1636        jQuery('.b-modal').hide();
1637        jQuery('#wishlist-confirmation').hide();
1638        showModalContent($('#add-item-to-wishlist-modal'));
1639        jQuery('#create-wishlist-form').trigger('reset');
1640        jQuery('#add-item-to-wishlist-modal').trigger('b-modal-opened', ['#add-item-to-wishlist-modal']);
1641        setTimeout(function () {
1642            jParentSelector.addClass('active');
1643        }, 20)
1644    }
1645
1646    
1647    $(function () {
1648        $(document).on('b-modal-opened', '#add-item-to-wishlist-modal', function (e, target) {
1649            const form = $('#create-wishlist-form');
1650            form.trigger('reset');
1651            form.find('.input-error').remove();
1652            form.find('.field').removeClass('error');
1653            $.ajax({
1654                url: "/api/customer/wishlist?version=v1",
1655                method: "get",
1656                dataType: "json"
1657            }).done(function(response) {
1658            	if(response.success) {
1659                    const responseData = response && response.data ? response.data : null,
1660                            wishListSelect = $('#wishlist-select');
1661		                                if (responseData.length <= 1) {
1662						const label = wishListSelect.closest('.field').find('label');
1663                        wishListSelect.hide();
1664                        label.html('This item will be added to your Wish List (default)');
1665                        label.addClass('mb-0');
1666                    } else {
1667                        let options = [];
1668                        responseData.forEach(function (item) {
1669                            const option = '<option value="' + item.uidPk + '">' + item.displayName + '</option>'
1670                            options.push(option)
1671                        });
1672                        wishListSelect.show();
1673                        wishListSelect.parents('.field').find('label').html('Select a list to add to');
1674                        wishListSelect.html(options);
1675                    }
1676	            }
1677            }).fail(function(response){
1678                console.warn(response);
1679            });
1680        });
1681
1682		
1683        jQuery(document).on('click', '.b-modal-close', function () {
1684            const activeModal = $('.b-show-modal'),
1685                modal = $(activeModal[0]);
1686            if (modal.find('.loader-wrapper').length === 0) {
1687                toggleModal('#' + modal.attr('id'));
1688                const bModal = $(this).parents('.b-modal')
1689                if(bModal.attr('id') !== 'gallery-modal') {
1690                    if (bModal.hasClass('dynamic-modal') && !bModal.hasClass('google-preview')) {
1691                        setTimeout(function () {
1692                            bModal.remove();
1693                        }, 100)
1694                    }
1695                }
1696            }
1697        });
1698        window.addEventListener("click", windowOnClick);
1699        //------END MODAL--------
1700
1701        jQuery(document).on('click', '#cancel-modal, .cancel-modal', function () {
1702            window.parent.jQuery('.b-modal-close').trigger('click');
1703        })
1704        jQuery("#reload-page").on('click', function () {
1705            parent.location.reload();
1706        })
1707
1708        var trigger = $('.b-trigger');
1709        trigger.on('click', function(e) {
1710            if(trigger.data('target') === "donation") {
1711                e.preventDefault();
1712            }
1713        })
1714                jQuery(document).on('click', 'a[data-product-data]', function(){
1715        	if($(this).hasClass('cart-item')) return; 
1716            var productData = jQuery(this).data('product-data');
1717            if (productData) {
1718            	const wo = window.google_object?window.google_object:null;
1719                productData.dimension27 = wo?wo.dimension27:'';
1720                productData.deliveryExpectation = getOccasionDeliveryExpectation(productData);
1721                dataLayer.push({ecommerce: null});
1722                dataLayer.push({
1723                    'event': 'addToCart',
1724                    'ecommerce': {
1725                        'currencyCode': wo?wo.currency:'',
1726                        'add': {
1727                            'products': [productData]
1728                        }
1729                    }
1730                })
1731            }
1732        })
1733
1734        jQuery(document).on('click', '[data-promo-data]', function() {
1735            const wo = window.google_object?window.google_object:null, promoData = jQuery(this).data('promo-data');
1736            if (promoData) {
1737                dataLayer.push({ ecommerce: null });
1738                dataLayer.push({
1739                    'event': 'promotionClick',
1740                    'dimension5': wo?wo.dimension5:'',
1741                    'dimension6': wo?wo.dimension6:'',
1742                    'ecommerce': {
1743                        'promoClick': {
1744                            'promotions': [
1745                                promoData
1746                            ]
1747                        }
1748                    }
1749                });
1750            }
1751        });
1752
1753        $(window).on('beforeunload', function(){
1754            if(loadedProducts.length > 0) {
1755                const wo = window.google_object?window.google_object:null;
1756                dataLayer.push({ ecommerce: null });
1757                dataLayer.push({
1758                    'event': 'productImpression',
1759                    'dimension5': wo?wo.dimension5:'',
1760                    'dimension6': wo?wo.dimension6:'',
1761                    'ecommerce': {
1762                        'currencyCode': wo?wo.currency:'',
1763                        'products': loadedProducts
1764                    }
1765                });
1766                loadedProducts = [];
1767            }
1768        });
1769        
1770	    
1771    });
1772
1773    function appendModalTemplate(contentId, templateId) {
1774        const nonFooterModals = ["#zookal-study-modal","#paypal-terms-modal","#flat-rate-modal","#share-lists-modal","#etext-access-modal", "#free-shipping-modal"]
1775        if(window.BKT_GLOBALS.isMobileSession && !nonFooterModals.includes(contentId)) {
1776            const modalTemplateContainer = jQuery("#booktopia-notification");
1777            if (modalTemplateContainer.children().length === 1) {
1778                modalTemplateContainer.append(jQuery("#footer-modal-template").html());
1779            }
1780        }
1781        else {
1782            var desktopTemplateParent = jQuery(templateId).parent();
1783            if(templateId === '#gallery-modal-template') desktopTemplateParent = jQuery('body');
1784            var desktopTemplate = jQuery(templateId);
1785            var modalContent = jQuery(contentId);
1786            if (navigator.userAgent.indexOf("MSIE ") > -1 || navigator.userAgent.indexOf("Trident/") > -1) {
1787                desktopTemplate.show();
1788            }
1789            else if (modalContent.length === 0) {
1790                desktopTemplateParent.append(desktopTemplate.html());
1791                desktopTemplate.remove();
1792
1793				if(contentId === "#flat-rate-modal") {
1794                    getShippingFeeTable();
1795				}
1796            }
1797        }
1798    }
1799
1800    function appendModalTemplateAfter(templateId, elementAfter) {
1801        const sharedTemplateId = $(templateId);
1802        if (typeof elementAfter !== 'undefined' && $(elementAfter).length > 0 && sharedTemplateId.length === 1) {
1803            $(sharedTemplateId.html()).insertAfter(elementAfter);
1804        }
1805    }
1806
1807                    function addProductToWishListPopup() {
1808        var timeout = 0;
1809        if($('#product-browse').length > 0) {
1810            $('html, body').scrollTop($('[id*=' + $('#product-hidden-isbn').val() + ']').offset().top - 60);
1811            timeout = 300;
1812        }
1813
1814        setTimeout(function() {
1815        	                toggleModal("#add-item-to-wishlist-modal");
1816	                }, timeout);
1817    }
1818    function getOccasionDeliveryExpectation(productData) {
1819        return willDeliverBeforeOccasion === null ? null : (willDeliverBeforeOccasion && (productData.dimension1 ? productData.dimension1.trim() : false) === 'In-Stock');
1820    }
1821    //Global variable for occasion delivery GA4
1822    willDeliverBeforeOccasion = null;
1823    $(function(){
1824        $(document).on('occasionDeliveryEstimate', function(e, willArriveBeforeCutoff){
1825                        // set value for this global variable
1826            willDeliverBeforeOccasion = willArriveBeforeCutoff;
1827        })
1828    })
1829
1830	function getShippingFeeTable() {
1831        $.ajax({
1832            method: "GET",
1833            url: '/news240.html'
1834        }).done(function (result) {
1835            const content = $('<div />').append(result).find('#content').html();
1836            $('.shipping-fee-table-container').html(content);
1837        });
1838	}
1839</script>
1839    
1839<script type="text/javascript">
1840    document.addEventListener("DOMContentLoaded", function() {
1841        $('body').addClass('side-panel-theme-active');
1842        window.BKT_GLOBALS.isSidePanelTheme = true;
1843    });
1844
1845    jQuery(document).on('header-version-b-loaded',function(){
1846        jQuery('#top-nav #shopping-cart-summary').appendTo(jQuery('.main-content .content-right-section'));
1847        jQuery('#fiction-sub').appendTo(jQuery('#navlink-fiction-sub'));
1848        jQuery('#non-fiction-sub').appendTo(jQuery('#navlink-non-fiction-sub'));
1849        jQuery('#kids-sub').appendTo(jQuery('.navlink-kids-sub'));
1850        jQuery('#schools-sub').appendTo(jQuery('#navlink-schools-sub'));
1851    });
1852
1853    function isTouchDevice() {
1854        // Workaround as `Modernizr.touch == false` on new Windows Phone and true on some Firefox desktop versions.
1855        // Also cover Opera Mini for Android 4.0.
1856        return isModernMobileUserAgent();
1857    }
1858
1859    // Including "Windows Phone OS 7.5" and "Windows Phone 8.0"
1860    function isModernMobileUserAgent() {
1861        var ua = navigator.userAgent;
1862        return (ua.match(/(iPhone|iPod|iPad)/) || ua.match(/Android/) || ua.match(/BlackBerry/) || ua.match(/Opera Mini/) || ua.match(/Windows Phone/) ? true : false);
1863    }
1864
1865    function isOldIE() {
1866        var oldIE = (navigator.userAgent.match(/msie/i)) && parseInt(j
1866Query.browser.version, 10) < 9;
1867        return oldIE;
1868    }
1869
1870    // Toggle the floating navigation bar and quicklinks
1871    function togglePersistentNavBar() {
1872        var persistentNavBar = jQuery('.persistent-nav-bar');
1873        if (persistentNavBar.length) {
1874            var showNavBar = jQuery(window).scrollTop() > 210;
1875            if (showNavBar) {
1876                persistentNavBar.show();
1877                jQuery(document).trigger('persistentNavBar.shown');
1878                if (!jQuery('.persistent-nav-bar #shopping-cart-summary').length && !jQuery('.persistent-nav-bar #searchform').length) {
1879                    jQuery('#shopping-cart-summary').appendTo(jQuery('.persistent-cart-summary'));
1880                    jQuery('#header #searchform').appendTo(jQuery('.persistent-search-box'));
1881                }
1882                if (jQuery('.autocomplete-suggestions').is(':visible')) {
1883                    jQuery('.autocomplete-suggestions').hide();
1884                }
1885            } else {
1886                persistentNavBar.hide();
1887                jQuery(document).trigger('persistentNavBar.hidden');
1888                if (!jQuery('#top-nav #shopping-cart-summary').length && !jQuery('#header #searchform').length) {
1889                    if (jQuery('body').hasClass("header-version-b")) {
1890                        jQuery('.persistent-nav-bar #shopping-cart-summary').appendTo(jQuery('.main-content .content-right-section'));
1891                    } else {
1892                        jQuery('.persistent-nav-bar #shopping-cart-summary').insertAfter('#top-nav .content > ul.header-version-default-item');
1893                    }
1894                    jQuery('.persistent-nav-bar #searchform').appendTo(jQuery('#header #search'));
1895                }
1896            }
1897        }
1898    }
1899
1900    function togglePersistentNavQuicklinks(quicklinksButton) {
1901        var quicklinkList = jQuery(quicklinksButton).siblings(".persistent-quicklink-list");
1902        if (quicklinkList.hasClass("persistent-quicklink-list-open")) {
1903            quicklinkList.removeClass("persistent-quicklink-list-open");
1904            quicklinkList.hide();
1905        } else {
1906            quicklinkList.addClass("persistent-quicklink-list-open");
1907            quicklinkList.show();
1908        }
1909    }
1910    // below function called from CMS, init 'book of the month' img
1911    function initBookOfTheMonth(productLink, productImgURL, altText) {
1912        var bookOfTheMonthHtml = "<a href='" + productLink + "'><img class='book-of-the-month-img lazyload block' src='//images.booktopia.com.au/loading-cover-150.gif' data-src='" + productImgURL + "'alt='" + altText + "'></a>";
1913        jQuery("#book-of-the-month-section").append(bookOfTheMonthHtml);
1914        var middleTile = jQuery("#banner .banner-middle-section .tile");
1915        if (middleTile.length == 1) {
1916            middleTile.find("img").css("max-height", "260px");
1917        }
1918        lazyLoadInstance.update();
1919
1920    };
1921</script>
1921
1922
1923<script type="text/javascript" src="/template-resources/js/slick.min.js"></script>
vendor: 1 bytes, line 1923
1923
1924<script type="text/javascript">
1925    // Excluding (true, 4) which is handled by initAddToCart (above)
1926    // and "product-carousel-priced-5" which is used for the No Products carousel
1927    function initCarousels(numResults, productType, parentSelector) {
1928        if (!parentSelector || parentSelector === "body") {
1929            if (numResults > 0) {
1930                initCarousel("small", 5, productType, parentSelector);	// For categoryTemplateHead
1931                initCarousel("priced", 5, productType, parentSelector);	// For categoryTemplate, categoryLandingPageTemplate, holidayHaven, clickFrenzy
1932                initCarousel("priced", 7, productType, parentSelector);	// For /books-online/bargains/c9-p1.html
1933                initCarousel("", 4, productType, parentSelector);
1934                initCarousel("", 5, productType, parentSelector);		// For productTemplateHead, productUnavailableTemplate
1935                initCarousel("", 7, productType, parentSelector);		// For baum
1936                initCarousel("grid", 5, productType, parentSelector);
1937            } else
1938                initCarousel("priced", 5, productType, parentSelector);	// For searchResultsDescription (No Results page)
1939        }
1940    }
1941
1942    // Size carousels and set animate style for the overlaid price on the main carousel.
1943    // Returns the number of carousel containers that needed initialising
1944    function initCarousel(style, scroll, productType, parentSelector) {
1945        if (!parentSelector) parentSelector = "body";
1946        var carouselSelector = null, options = {speed: 500, slidesToShow: scroll, slidesToScroll: scroll, infinite: false};
1947        var initCount = 0;
1948
1949        // Get common options for given carousel type
1950        if (style === "small") {	// scroll will be 4 or 5
1951            carouselSelector = ".product-carousel-small-5";
1952        } else if (style === "priced") {
1953            carouselSelector = ".product-carousel-priced-" + scroll;
1954        } else if (style === "grid") {
1955            carouselSelector = ".product-carousel-grid-6";
1956            options['slidesToShow'] = 6
1957            options['slidesToScroll'] = 5
1958            options['variableWidth'] = true
1959        } else {
1960            options['responsive'] = [{
1961                breakpoint: 1150,// normal number of products up until 1150
1962                settings: {
1963                    slidesToShow: scroll,
1964                    slidesToScroll: scroll,
1965                }
1966            },{
1967                breakpoint: 3000,// setting this more than 1200 so the break point is never reached
1968                settings: {
1969                    slidesToShow: scroll + 1,
1970                    slidesToScroll: scroll + 1,
1971                }
1972            }]
1973            carouselSelector = ".product-carousel-" + scroll;
1974        }
1975        options['prevArrow'] = '<span class="slick-prev icon-arrow-left10" data-mh-ea="Arrow click" data-mh-el="Left"></span>';
1976        options['nextArrow'] = '<span class="slick-next icon-uniE89B" data-mh-ea="Arrow click" data-mh-el="Right"></span>';
1977
1978        var listIds = new Array();
1979        var categoryCode = null;
1980        var batch = true;
1981        jQuery(parentSelector).find(carouselSelector).each(function (index, element) {
1982            var jqContainer = jQuery(this);
1983            if (jqContainer.attr('data-batch') === "no") {
1984                batch = false
1985            }
1986            if (jqContainer.attr('data-dynamic') === "ajax") {
1987                // For AJAX carousels, <li> items must be appended to DOM before jcarousel() is called
1988                if (jqContainer.find("na").length == 0) {
1989                    categoryCode = jqContainer.attr('data-category');
1990                    if (batch) {
1991                        listIds.push(jqContainer.attr('data-list'));
1992                    } else {
1993                        let productListUrl = '/api/product/productsInList?version=v1&productTypeId=' + productType + '&listId=' + jqContainer.attr('data-list');
1994                        if(categoryCode) productListUrl += '&categoryCode=' + categoryCode;
1995                        $.ajax({
1996                            url: productListUrl,
1997                            dataType: "json"
1998                        }).done(function(response) {
1999                            const listProducts = response.data;
2000                            setCarouselProducts(listProducts, jqContainer, options, parentSelector);
2001                        }).fail(function(response) {
2002                            console.warn(response);
2003                        });
2004                        initCount++;
2005                    }
2006                }
2007            } else {
2008                if (initCarouselInstanceFromDOM(jqContainer, options, parentSelector))
2009                    initCount++;
2010            }
2011        });
2012
2013        if (batch && listIds.length > 0) {
2014            var l = 0;
2015            let batchListUrl = '/api/product/productsInListBatch?version=v1&productTypeId=' + productType + '&listIds=' + listIds;
2016            if(categoryCode) batchListUrl += '&categoryCode=' + categoryCode;
2017            $.ajax({
2018                url: batchListUrl,
2019                dataType: "json"
2020            }).done(function(response) {
2021                const listOfLists = response.data;
2022                jQuery(parentSelector).find(carouselSelector).each(function (index, element) {
2023                    var jqContainer = jQuery(this);
2024                    if (jqContainer.attr('data-dynamic') === "ajax" && l < listOfLists.length) {
2025                        setCarouselProducts(listOfLists[l], jqContainer, options, parentSelector);
2026                        initCount++;
2027                        l++;
2028                    }
2029                });
2030                if(window.BKT_GLOBALS.isKeyboardAccessible) {
2031                    initAccessibleCarousel(parentSelector);
2032                }
2033            }).fail(function(response){
2034                console.warn(response);
2035            });
2036        }
2037        return initCount;
2038    }
2039
2040    // Get/set memory with template html
2041    function substituteFromTemplate(selector, vars) {
2042        if (!parent.cache)
2043            parent.cache = {};
2044        if (!parent.cache[selector]) {
2045            var jTemplate = jQuery(selector);
2046            if (jTemplate.length === 0) {
2047                if (window.console && console.warn)
2048                    console.warn("Template not found: " + selector);
2049                return "";
2050            }
2051            var html = jTemplate.html().trim();
2052            if (!html || html === "") {
2053                if (window.console && console.warn)
2054                    console.warn("Template empty: " + selector);
2055                return "";
2056            }
2057            parent.cache[selector] = html;
2058        }
2059        return substitute(parent.cache[selector], vars);
2060    }
2061
2062    // Simple template substitution. If array passed in, assume pattern has format "Var1: {0} Var2: {1}".
2063    // If object passed in, assume pattern has Velocity-style format "Var1: ${var1} Var2: ${var2}".
2064    function substitute(pattern, vars) {
2065        var substitution;
2066        if (!vars)
2067            return pattern;
2068        else if (jQuery.isArray(vars)) {
2069            return pattern.replace(/{([0-9]+)}/g, function (match, key, value) {
2070                substitution = vars[key];
2071                return (substitution ? substitution : "");
2072            });
2073        } else {
2074            return pattern.replace(/\${([A-Za-z0-9\.]+)}/g, function (match, key, value) {
2075                substitution = vars[key];
2076                return (substitution ? substitution : "");
2077            });
2078        }
2079    }
2080
2081    function setCarouselProducts(listProducts, jqContainer, options, parentSelector) {
2082        var fullTemplate = jqContainer.attr('data-details') === "full";
2083        var isGridCarousel = jqContainer.hasClass('product-carousel-grid-6');
2084        if (listProducts && listProducts.length > 0) {
2085            for (var i in listProducts) {
2086                if (listProducts[i] != null) {
2087                    var itemHtml = carouselComposeItemHTML(listProducts[i], fullTemplate, isGridCarousel, i);
2088                    jqContainer.find('.jcarousel-skin-booktopia').append('<li>' + itemHtml + '</li>');
2089                }
2090            }
2091            options['lazyLoad'] = 'ondemand';
2092            initCarouselInstanceFromDOM(jqContainer, options, parentSelector);
2093            //update lazy loading once the carousel is loaded in DOM
2094            lazyLoadInstance.update();
2095            if (isTouchDevice()) {
2096                jQuery(parentSelector).find(".product-carousel-7 .jcarousel-skin-booktopia .product .sale-price, .product-carousel-small-5 .jcarousel-skin-booktopia .product .sale-price, .product-carousel-grid-6 .jcarousel-skin-booktopia .product .sale-price").animate({"opacity": 1.0}, 300);
2097                jQuery(parentSelector).find(".button").animate({"opacity": 1.0}, 300);
2098            }
2099            // //update the delivery icon for dynamic carousel
2100            if(localStorage.getItem('inStockDeliveryForPostcode') === "1")
2101                displayDeliveryIcon();
2102        } else
2103            jqContainer.hide();
2104    }
2105
2106    // Initialise a specific carousel
2107    function initCarouselInstanceFromDOM(jqContainer, options, parentSelector) {
2108        var instanceOptions = carouselGetInstanceOptions(jqContainer, options);
2109        instanceOptions['_parentSelector'] = parentSelector;
2110        if (instanceOptions['visibleSize'] > 0 || instanceOptions['invisibleSize'] > 0) {
2111            var carouselRoot = jqContainer.find(".jcarousel-skin-booktopia");
2112            if (carouselRoot.length > 0) {
2113                carouselRoot.slick(instanceOptions)
2114                // Add numbers to carousel images, similar to Bestsellers carousel
2115                try {
2116                    if (jqContainer.parent().hasClass("carousel-grid-1-4-layout") && jqContainer.hasClass("product-rankings")) {
2117                        // E.g. Carousel style used on eBook Fiction landing page
2118                        jqContainer.find(".slick-slide").each(function (iCounter) {
2119                            if (!jQuery(this).find(".ranking").length) {
2120                                var iRanking = iCounter + 1;
2121                                jQuery(this).find("div.image").append('<span class="ranking">' + iRanking + '</span>');
2122                            }
2123                        });
2124                    }
2125                } catch (e) {}
2126                return true;
2127            } else
2128                return false;
2129        } else {
2130            if (window.console && console.warn)
2131                console.warn("Carousel data not found: " + parentSelector + " > " + jqContainer.attr('id') + " " + instanceOptions['size'] + " " + instanceOptions['visibleSize'] + " " + instanceOptions['invisibleSize']);
2132            return false;
2133        }
2134    }
2135
2136    // Inspect a specific carousel to count the number of items to be added to it
2137    function carouselGetInstanceOptions(jqContainer, options) {
2138        var instanceOptions = jQuery.extend(true, {}, options);	// clone
2139        var dynamic = false;
2140        var visibleSize = 0;
2141        var invisibleSize = 0;
2142
2143        try {
2144            dynamic = jqContainer.attr("data-dynamic") || false;
2145            if ("domUpdate" == dynamic) {
2146                invisibleSize = jqContainer.find(".image img[src='']").parent().parent().length;	// product.image count
2147                visibleSize = jqContainer.find("li").length - invisibleSize;
2148            } else {
2149                invisibleSize = jqContainer.find("na").length;
2150                visibleSize = jqContainer.find("li").length;	// static/added carousel items
2151            }
2152        } catch (e) {
2153        }
2154        instanceOptions['visibleSize'] = visibleSize;
2155        instanceOptions['invisibleSize'] = invisibleSize;
2156        return instanceOptions;
2157    }
2158
2159    //Generate stars sprite Y position from rounded rating (dynamic carousel helper)
2160    function getStarsSpriteY(rating, imageOffset) {
2161        var r = Number(rating);
2162        if (r === NaN || r <= 0.0)
2163            return -200;
2164        return -36.0 * rating + 2 + imageOffset;
2165    }
2166
2167    // Item HTML creation helper
2168    function carouselComposeItemHTML(vars, fullTemplate, isGridCarousel, index) {
2169        // Alt text should NOT display as tooltips (that's what title is for), this was only fixed in IE8
2170        if (!vars.altText || isOldIE())
2171            vars.altText = "";
2172        if (vars.formattedDateIfInFuture == "null" || typeof vars.formattedDateIfInFuture === "undefined") {
2173            vars.formattedDateIfInFuture = '';
2174        }
2175        // Replaces image URL width parameter to 200 and 100 for grid carousels
2176        if (isGridCarousel && index % 5 == 0) {
2177            vars.imageUrl = vars.imageUrl.replace("/150/", "/200/");
2178        } else {
2179            vars.imageUrl = vars.imageUrl.replace("/150/", "/110/");
2180        }
2181        vars.productTypeTagClass = getProductTypeTagClass(vars.binding);
2182        vars.rating = vars.rating || 0.0;
2183        vars.starsSpriteY = getStarsSpriteY(vars.rating, 0);
2184        // ISBN and CODE can be used interchangeablely but template is using: data-code="${isbn}"
2185        if (vars.code && !vars.isbn) {
2186            vars.isbn = vars.code;
2187        }
2188        var itemHtml = substituteFromTemplate((fullTemplate ? "#carousel-item-buy-now-full-template" : "#carousel-item-buy-now-s
2188hort-template"), vars, false);
2189        if (itemHtml) {
2190            if (document.getElementById('ec_enabled') && document.getElementById('ec_enabled').getAttribute('content') == 'true') {
2191                var ecData = jQuery("<div></div>").append(itemHtml),
2192                    buyButton = ecData.find(".buy-button > a"),
2193                    enhancedEcommerceData = {
2194                        'id': vars.uidPk.toString(),
2195                        'name': vars.displayName,
2196                        'category': buyButton.data('category'),
2197                        'brand': vars.altText.split(' - ')[1],
2198                        'variant': vars.defaultSupplierVitalSource ? "eText" : vars.fmtBinding,
2199                        'price': vars.fmtSalePrice.replace('$', ''),
2200                        'quantity': 1,
2201                        'dimension1': vars.hasStockAvailable ? 'In-Stock' : 'Not in Stock',
2202                        'list': 'Dynamic Carousel',
2203                        'position': index
2204                    };
2205                buyButton.attr('data-product-data', JSON.stringify(enhancedEcommerceData));
2206                itemHtml = ecData.html();
2207            }
2208            itemHtml = itemHtml.replace('data-src=""', 'data-src="' + vars.imageUrl + '"').replace('data-ll-status', 'data');
2209            if (vars.hasStockAvailable && vars.binding !== "MAG") {
2210                itemHtml = itemHtml.replace('<img', '<span class="special-occasion-icon" title="This item will arrive by Christmas"></span><img');
2211                itemHtml = itemHtml.replace('class="delivery">', 'class="delivery"><div class="in-stock"></div>');
2212            }
2213            if (vars.fmtBinding === "eBook") {
2214                itemHtml = itemHtml.replace('buy-now button', 'buy-now ebook button');
2215                itemHtml = itemHtml.replace('>BUY NOW<', '>BUY EBOOK<');
2216                itemHtml = itemHtml.replace('icon-cart', 'icon-download');
2217            } else if (vars.availability == "PREORDER") {
2218                itemHtml = itemHtml.replace('buy-now button', 'pre-order button');
2219                itemHtml = itemHtml.replace('>BUY NOW<', '>PREORDER<');
2220            } else if (vars.availability == "BACKORDER") {
2221                itemHtml = itemHtml.replace('buy-now button', 'back-order button');
2222                itemHtml = itemHtml.replace('>BUY NOW<', '>BACKORDER<');
2223            }
2224            if (vars.bundledProduct || vars.signed || vars.displayProductBadge || vars.productTypeTagClass) {
2225                var productBadge = "";
2226                if (vars.bundledProduct)
2227                    productBadge += '<span class="bundle-badge" title="This product belongs to a bundle"></span>';
2228                if (vars.signed)
2229                    productBadge += '<span class="signed-copy-sticker"></span>';
2230                if (vars.displayProductBadge) {
2231                    var badgeBgColor = vars.badgeBackgroundColor;
2232                    if (!badgeBgColor || badgeBgColor == "") {
2233                        badgeBgColor = "#009933";
2234                    }
2235                    productBadge += '<div class="campaign-badge-wrapper"><div style="background-color: ' + badgeBgColor + '" class="campaign-badge-background"><div class="campaign-badge-text" style="color: ' + badgeBgColor + ';">' + vars.displayProductBadge + '</div></div></div>'
2236                    var campaignBorder = '<div class="image" style="outline: 1px solid rgba(255,255,255,0.5); box-shadow: 0 0 0 1px ' + badgeBgColor + ';"';
2237                    itemHtml = itemHtml.replace('<div class="image"', campaignBorder);
2238                }
2239                if (vars.productTypeTagClass)
2240                    productBadge += '<div class="' + vars.productTypeTagClass + '"></div>';
2241                itemHtml = itemHtml.replace('<div class="product-badges-empty">', '<div class="product-badges">' + productBadge);
2242            }
2243            if (vars.adultCover) {
2244                itemHtml = itemHtml.replace('<img class="lazyload "', '<img class="lazyload blur"');	// Other browsers
2245            }
2246        }
2247        return itemHtml;
2248    }
2249
2250    // Product type identifier overlaid on product images (dynamic carousel helper)
2251    function getProductTypeTagClass(binding) {
2252        if (!binding || binding === "")
2253            return "";
2254
2255        var tagClass = "";
2256        if (binding === "DG_EPUB_PDF" || binding === "DG_PDF" || binding === "DG_EPUB")
2257            tagClass = "product-type-tag-ebook";
2258        else if (binding === "AA" || binding === "RI" || binding === "AZ" || binding === "AJ" || binding === "C3" || binding === "CD" || binding === "CX" || binding === "DA" || binding === "M3" || binding === "MP3")
2259            tagClass = "product-type-tag-audio";
2260        else if (binding === "DR" || binding === "CR" || binding === "DH" || binding === "DZ")
2261            tagClass = "product-type-tag-cd-dvd";
2262        else if (binding === "BLR")
2263            tagClass = "product-type-tag-blu-ray";
2264        else if (binding === "DAB")
2265            tagClass = "product-type-tag-audio-digital";
2266        return tagClass;
2267    }
2268</script>
2268<script type="text/javascript" src="/wro/6199/booktopia.desktop.js?v=dev-20260911152026"></script>
2268
2269
2270		
2270<script type="text/javascript">
2271		var _gaq = _gaq || [];
2272		_gaq.push(['_setAccount', "UA-413837-1"]);
2273		_gaq.push(['_trackPageview']);
2274								_gaq.push(['_setCustomVar', 1, 'Site', "PC", 2]);
2275		(function() {
2276			var ga = document.createElement('script');
2277			ga.type = 'text/javascript';
2278			ga.async = true;
2279			ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
2280						var s = document.getElementsByTagName('script')[0];
2281			s.parentNode.insertBefore(ga, s);
2282		})();
2283	</script>
2283
2284	    
2284<script>
vendor: 344 bytes, lines 2284-2289
2284
2285		(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
2286			(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
2287				m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
2288		})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
2289					ga('create', "
2289UA-413837-3
vendor: 46 bytes, lines 2289-2291
2289", 'auto');
2290			ga('send', 'pageview');
2291							
2291ga('create', 'UA-413837-4', 'auto', 'enhancedEcommerce');
2292			ga('enhancedEcommerce.require', 'ec');
2293			ga('enhancedEcommerce.set', 'currencyCode', 'AUD');
2294        	ga('create', "UA-413837-1", 'auto', 'MHEnhancedEcommerce');
2295			ga('MHEnhancedEcommerce.require', 'ec');
2296			ga('MHEnhancedEcommerce.set', 'currencyCode', 'AUD');
2297			var ecPageViewSent;
2298			window.onbeforeunload = function(){
2299				if(ecPageViewSent !== true) {
2300					ga('enhancedEcommerce.send', 'pageview');
2301                    ga('MHEnhancedEcommerce.send', 'pageview');
2302					return null;
2303				}
2304			};
2305		    </script>
vendor: 1 bytes, line 2305
2305
2306<script type="text/javascript" src="/Ns7aBMIv/init.js" async></script>
vendor: 1 bytes, line 2306
2306
2307<script type="text/javascript">
2308                                                                                        	    var advertTrackerRaw = localStorage.getItem('advertTracker')
2309    var advertTracker = JSON.parse(advertTrackerRaw)
2310    if(advertTrackerRaw && window.location.pathname != advertTracker.pathname){
2311        localStorage.removeItem('advertTracker')
2312    }
2313</script>
2313
2314
2315	 		
2315<script type="text/javascript">
2316			(function (a, b, c, d, e, f, g) {
2317				e['ire_o'] = c;
2318				e[c] = e[c] || function () {
2319					(e[c].a = e[c].a || []).push(arguments)
2320				};
2321				f = d.createElement(b);
2322				g = d.getElementsByTagName(b)[0];
2323				f.async = 1;
2324				f.src = a;
2325				g.parentNode.insertBefore(f, g);
2326			})('//d.impactradius-event.com/A1393524-e137-4555-83c9-d01ef05ce3901.js', 'script', 'ire', document, window);
2327		</script>
2327
2328	
2329	
2329<script>
2330		window.addEventListener('load', function() {
2331			lazyLoadScript('https://apis.google.com/js/platform.js?onload=initGoogleAuth', function(){});
2332		});
2333	</script>
2333
2334
2335<script type="text/javascript">
2336    var advertTrackerRaw = localStorage.getItem('advertTracker')
2337    var advertTracker = JSON.parse(advertTrackerRaw)
2338    if(advertTrackerRaw && window.location.pathname != advertTracker.pathname){
2339        localStorage.removeItem('advertTracker')
2340    }
2341</script>
2341
2342    		<div id="freshbot-initiator-mock" style="bottom:30px; right:30px; display: none;">
2343			<div id="chat-bubble">
2344                <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 30 30"><path d="M13.5 0h-9C2.016 0 0 1.99 0 4.44v7.565A1 1 0 001.008 13H13.5c2.484 0 4.5-1.99 4.5-4.44V4.44C18 1.99 15.984 0 13.5 0zm-3.24 9.52H3.744a.87.87 0 01-.864-.853.87.87 0 01.864-.853h6.516a.87.87 0 01.864.853.87.87 0 01-.864.852zm3.996-4.228H3.744a.87.87 0 01-.864-.852.87.87 0 01.864-.853h10.512a.87.87 0 01.864.853c0 .462-.36.852-.864.852z" fill="#fff" fill-rule="nonzero"/></svg>
2345			</div>
2346		</div>
2347		
2347<script>
2348			window.addEventListener('load', function() {
2349				if(!isBotUserAgent()) {
2350                    isFClicked = false;
2351                    var freshBotCookie = getCookie('initiateFreshBotOnLoad');
2352                    if (freshBotCookie === 'true') {
2353                        initiateFreshService(freshBotCookie);
2354                        return true;
2355                    }
2356                    $('#freshbot-initiator-mock').show();
2357                    $('#freshbot-initiator-mock').one('click', function () {
2358                        isFClicked = true;
2359                        initiateFreshService(freshBotCookie);
2360                    });
2361                }
2362			});
2363
2364				function initFcWidget(cookie = null) {
2365		window.fcWidget.init({
2366			token: "650540ae-cdd9-4b5e-9933-1035f1ff2c4e",
2367			host: "https://wchat.freshchat.com",
2368			tags:["chatbot"]
2369		});
2370
2371		            window.fcWidget.on('widget:loaded', function() {
2372                if (isFClicked) {
2373                    $('#freshbot-initiator-mock').hide();
2374					window.fcWidget.open();
2375                    isFClicked = false;
2376				}
2377			})
2378			window.fcWidget.on('widget:opened', function() {
2379				if(cookie === null) {
2380										setCookie('initiateFreshBotOnLoad', true, 1);
2381				}
2382			});
2383			}
2384
2385	function initiateFreshService(cookie){
2386		var i = document, t = 'Freshchat-js-sdk', e;
2387		i.getElementById(t) ?
2388			initFcWidget(cookie) : ((e = i.createElement("script")).id = t, e.async = !0, e.src = "https://wchat.freshchat.com/js/widget.js", e.onload = function(){
2389				initFcWidget(cookie);
2390		}, i.head.appendChild(e))
2391	}
2392		</script>
2392
2393    
2394
2395<script>
2396    window.insider_object= {
2397        "page": {
2398            "type": "Books"
2399        },
2400            };
2401                        </script>
2401
2402
2403
2404
2405<script>
2406        var breadcrumbs = $('#breadcrumbs'),
2407        nav = "books",
2408        category = "",
2409        genre = "",
2410        subGenre = "";
2411    if(breadcrumbs.length > 0){
2412    	let crumbs = breadcrumbs.text().split('>');
2413    	category = crumbs.shift().trim();
2414        genre = crumbs.length > 0 ? crumbs[0].trim() : "";
2415        subGenre = crumbs.length > 1 ? crumbs[crumbs.length - 1].trim(): "";
2416    } else if (nav === "Gift Certificates") {
2417        category = nav;
2418    }
2419    window.google_object = {
2420        "page": {
2421            "type": "books"        },
2422                                currency: "AUD",
2423        dimension27: "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout",
2424        dimension5: getCookie('gaUniqueIdentifier') || "",
2425        dimension6: getCookie('customerUid') || "",
2426        dimension12: getCookie('__utmz')?getCookie('__utmz').indexOf('emarsys') >= -1 : "",         dimension13: getCookie('insdrSubsId') || "",         dimension14: "",         dimension15: getCookie('irclickid') || "",         dimension16: category,
2427        dimension17: genre,
2428        dimension18: subGenre,
2429    }
2430</script>
vendor: 1 bytes, line 2430
2430
2431<script>
2432    var lazyLoadInstance = new LazyLoad({
2433        elements_selector: ".lazyload",
2434                    callback_loaded: function(el){
2435                var promoItem = $(el).parents('[data-promo-data]');
2436                if(promoItem.length) {
2437                    handlePromoImpression(promoItem.data('promo-data'));
2438                    return;
2439                }
2440
2441                const elem = $(el),
2442                    wishlistItem = elem.parents('.wishlist-item');
2443
2444                let productData;
2445
2446                	                 const searchAndCarouselItem = elem.parents('.product'),
2447	                    bestsellingItem = elem.parents('.bestselling-product');
2448                    if(wishlistItem.length > 0){
2449                        productData = wishlistItem.find('.wishlist-unit-cost > a').data('product-data');
2450                    }else if (searchAndCarouselItem.length > 0){
2451                        productData = searchAndCarouselItem.find('.buy-button > a').data('product-data');
2452                    }else if (bestsellingItem.length > 0){
2453                        productData = bestsellingItem.data('product-data');
2454                    }
2455                
2456                if(productData){
2457                    const wo = window.google_object ? window.google_object : null;
2458                    let extendedProductData = {
2459                            deliveryExpectation: getOccasionDeliveryExpectation(productData)
2460                        },
2461                        paymentType = {dimension27: wo?wo.dimension27:''};
2462                    Object.assign(extendedProductData, productData, paymentType);
2463                                        var MHExtendedProductData = {},
2464                        additionalParams = {
2465                            currency: wo?wo.currency:'',
2466                            dimension5: wo?wo.dimension5:'',
2467                            dimension6: wo?wo.dimension6:'',
2468                            dimension12: wo?wo.dimension12:'',
2469                            dimension13: wo?wo.dimension13:'',
2470                            dimension14: wo?wo.dimension14:'',
2471                            dimension27: wo?wo.dimension27:'',
2472                            "eventCategory": "Enhanced Ecommerce",
2473                            "eventAction": "Product Impressions",
2474                            "eventLabel": "",
2475                            deliveryExpectation: getOccasionDeliveryExpectation(productData)
2476                        };
2477                    Object.assign(MHExtendedProductData, productData, additionalParams);
2478                                            if(isCustomerSessionLoaded) {
2479                            extendedProductData.dimension2 = sessionDataAccountType;
2480		                                                    ga('enhancedEcommerce.ec:addImpression', MHExtendedProductData);
2481                                ga('MHEnhancedEcommerce.ec:addImpression', MHExtendedProductData);
2482                                MHLoadedCount++; 		                                            } else {
2483	                                                        MHProductQueue.push(MHExtendedProductData);
2484                                                    }
2485                    	                                        if(MHLoadedCount > 9) {
2486	                        ga('enhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href);
2487	                        ga('MHEnhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href);
2488                            MHLoadedCount = 0;
2489                        }
2490	                
2491                    // Add product data to data layer
2492                    loadedProducts.push(extendedProductData);
2493                    if(loadedProducts.length > 9){
2494                                                    if(!isCustomerSessionLoaded) {
2495                                productEventQueue.push(loadedProducts);
2496                                loadedProducts = [];
2497                                return;
2498                            }
2499                                                addProductImpressions(loadedProducts);
2500                        loadedProducts = [];
2501                    }
2502                }
2503            }
2504            });
2505
2506            let loadedProducts = [];
2507                    let MHLoadedCount = 0;
2508                                            let MHProductQueue = [];
2509            
2510            let productEventQueue = [], promoEventQueue = [], isCustomerSessionLoaded = false, sessionDataAccountType = "";
2511            $(document).on("customerSessionLoaded", function(event, customerSessionData) {
2512                    isCustomerSessionLoaded = true, sessionDataAccountType = customerSessionData.accountType;
2513	                        	    let sessionDataCustomerUid = customerSessionData.customerUid;
2514
2515	                MHProductQueue.forEach(function(extendedProductData) {
2516	                    extendedProductData.dimension2 = sessionDataAccountType, extendedProductData.dimension6 = sessionDataCustomerUid;
2517	                    ga('enhancedEcommerce.ec:addImpression', extendedProductData);
2518	                    ga('MHEnhancedEcommerce.ec:addImpression', extendedProductData);
2519	                    MHLoadedCount++;
2520	                    if(MHLoadedCount > 9) {
2521	                        ga('enhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href);
2522	                        ga('MHEnhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href);
2523	                        MHLoadedCount = 0;
2524	                    }
2525	                });
2526	            
2527                productEventQueue.forEach(function(event) {
2528                    addProductImpressions(event);
2529                });
2530                promoEventQueue.forEach(function(event) {
2531                    addPromoImpression(event);
2532                });
2533            });
2534        
2535        function handlePromoImpression(promoData) {
2536                            if(!isCustomerSessionLoaded) {
2537                    promoEventQueue.push(promoData);
2538                    return;
2539                }
2540                        addPromoImpression(promoData);
2541        }
2542
2543        function addPromoImpression(promoData) {
2544            const wo = window.google_object?window.google_object:null;
2545            if(promoData.creative === "Citrus") {
2546                const productType = "Books";
2547                if(productType.length) {
2548                    promoData.creative += " " + productType;
2549                }
2550            }
2551            dataLayer.push({ecommerce: null});
2552            dataLayer.push({
2553                'event': 'promotionImpression',
2554                'dimension5': wo?wo.dimension5:'',
2555                'dimension6': wo?wo.dimension6:'',
2556                'ecommerce': {
2557                    'promoView': {
2558                        'promotions': [
2559                            promoData
2560                        ]
2561                    }
2562                }
2563            });
2564        }
2565
2566        function addProductImpressions(productsData) {
2567            const wo = window.google_object?window.google_object:null;
2568            dataLayer.push({ecommerce: null});
2569            dataLayer.push({
2570                'event': 'productImpression',
2571                'dimension5': wo?wo.dimension5:'',
2572                'dimension6': wo?wo.dimension6:'',
2573                'ecommerce': {
2574                    'currencyCode': wo?wo.currency:'',
2575                    'products': productsData
2576                }
2577            });
2578        }
2579    </script>
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"18e954a8c4","agent":"","beacon":"bam.nr-data.net","applicationTime":25,"applicationID":"457372","transactionName":"Z1FVY0FZXEZQBUEKCl4bZEdBUVxScglbFxdfWFtSQRdcUEYVWQYRRFFFGVZIEh12I2FK","queueTime":0}</script>
2601
2602    	<!-- Emarsys JavaScript API Header code. Loads the scarab-v2.js  -->
2603<script type="text/javascript">
2604	var ScarabQueue = ScarabQueue || [];
2605	(function(id) {
2606		if(isBotUserAgent()) return;
2607		if (document.getElementById(id)) return;
2608		var js = document.createElement('script'); js.id = id;
2609		js.src = '//cdn.scarabresearch.com/js/189BDB0239BB84D9/scarab-v2.js';
2610		var fs = document.getElementsByTagName('script')[0];
2611		fs.parentNode.insertBefore(js, fs);
2612	})('scarab-js-api');
2613</script>
2613
2614	<!-- [WEB-1422] Emarsys JavaScript API code. See booktopia.common.js -->
2615	
2615<script type="text/javascript">
2616        window.addEventListener('emarsysTracking', function(customerSession) {
2617            emarsysInit(customerSession.detail);
2618        })
2619		var emarsysEnabled = true;
2620		function emarsysInit(ajaxCustomerSession){
2621							pushEmarsysData(ajaxCustomerSession)
2622					}
2623		function pushEmarsysData(ajaxCustomerSession) {
2624											emarsysPushDefault(ajaxCustomerSession.emarsysCustomerUid,'false','false');
2625					}
2626	</script>
2626
2627
2628
2629
2630
2631
2632	<div class="persistent-nav-bar">
2633	<div class="persistent-nav-bar-inner">
2634		<button class="sidenav-menu-switch">
2635			<i class="icon-menu-new"></i>
2636			<span>ALL CATEGORIES</span>
2637		</button>
2638		<div class="persistent-search-box"></div>
2639		<div class="persistent-cart-summary"></div>
2640	</div>
2641</div>
2641<script type="text/javascript">
2642    if (!isTouchDevice()) { jQuery(window).on('scroll', function() {togglePersistentNavBar();}); }
2643</script>
2643
2644		</body>
2645</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.