PageSourceSearch

https://www.corkchoral.ie/about/

html corkchoral.ie collected 2026-10-02 10:49:54 UTC 199,926 bytes, 1,836 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-GB" prefix="og: https://ogp.me/ns#">
3<head>
4	<meta charset="UTF-8" />
5	<meta name="viewport" content="width=device-width, initial-scale=1" />
6
7<!-- Search Engine Optimisation by Rank Math PRO - https://rankmath.com/ -->
8<meta name="description" content="Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland."/>
9<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/>
10<link rel="canonical" href="https://www.corkchoral.ie/about/" />
11<meta property="og:locale" content="en_GB" />
12<meta property="og:type" content="article" />
13<meta property="og:title" content="About Us - Cork International Choral Festival" />
14<meta property="og:description" content="Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland." />
15<meta property="og:url" content="https://www.corkchoral.ie/about/" />
16<meta property="og:site_name" content="Cork International Choral Festival" />
17<meta property="article:publisher" content="https://www.facebook.com/CorkChoralFestival/" />
18<meta property="og:updated_time" content="2026-06-03T15:20:43+01:00" />
19<meta property="og:image" content="https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg" />
20<meta property="og:image:secure_url" content="https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg" />
21<meta property="og:image:width" content="1920" />
22<meta property="og:image:height" content="1234" />
23<meta property="og:image:alt" content="Competition Winning choir at Awards Ceremony" />
24<meta property="og:image:type" content="image/jpeg" />
25<meta name="twitter:card" content="summary_large_image" />
26<meta name="twitter:title" content="About Us - Cork International Choral Festival" />
27<meta name="twitter:description" content="Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland." />
28<meta name="twitter:site" content="@corkchoralfest" />
29<meta name="twitter:creator" content="@corkchoralfest" />
30<meta name="twitter:image" content="https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg" />
31<meta name="twitter:label1" content="Time to read" />
32<meta name="twitter:data1" content="2 minutes" />
33<script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":"Place","@id":"https://www.corkchoral.ie/#place","address":{"@type":"PostalAddress","streetAddress":"Civic Trust House, 50 Pope's Quay","addressLocality":"Shandon","addressRegion":"Cork","addressCountry":"IE","postalCode":"T23 R6XC"}},{"@type":"Organization","@id":"https://www.corkchoral.ie/#organization","name":"Cork International Choral Festival","url":"https://www.corkchoral.ie","sameAs":["https://www.facebook.com/CorkChoralFestival/","https://twitter.com/corkchoralfest"],"email":"[email protected]","address":{"@type":"PostalAddress","streetAddress":"Civic Trust House, 50 Pope's Quay","addressLocality":"Shandon","addressRegion":"Cork","addressCountry":"IE","postalCode":"T23 R6XC"},"logo":{"@type":"ImageObject","@id":"https://www.corkchoral.ie/#logo","url":"https://www.corkchoral.ie/wp-content/uploads/2021/08/CCF-Logo-Black-Colour-On-White.jpg","contentUrl":"https://www.corkchoral.ie/wp-content/uploads/2021/08/CCF-Logo-Black-Colour-On-White.jpg","caption":"Cork International Choral Festival","inLanguage":"en-GB","width":"1920","height":"1920"},"contactPoint":[{"@type":"ContactPoint","telephone":"+353-21-421-5125","contactType":"customer support"}],"location":{"@id":"https://www.corkchoral.ie/#place"}},{"@type":"WebSite","@id":"https://www.corkchoral.ie/#website","url":"https://www.corkchoral.ie","name":"Cork International Choral Festival","publisher":{"@id":"https://www.corkchoral.ie/#organization"},"inLanguage":"en-GB"},{"@type":"ImageObject","@id":"https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg","url":"https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg","width":"1920","height":"1234","caption":"Competition Winning choir at Awards Ceremony","inLanguage":"en-GB"},{"@type":"BreadcrumbList","@id":"https://www.corkchoral.ie/about/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.corkchoral.ie","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.corkchoral.ie/about/","name":"About Us"}}]},{"@type":"AboutPage","@id":"https://www.corkchoral.ie/about/#webpage","url":"https://www.corkchoral.ie/about/","name":"About Us - Cork International Choral Festival","datePublished":"2021-08-19T22:01:48+01:00","dateModified":"2026-06-03T15:20:43+01:00","isPartOf":{"@id":"https://www.corkchoral.ie/#website"},"primaryImageOfPage":{"@id":"https://www.corkchoral.ie/wp-content/uploads/2021/08/venividi.ie_Choral-19_Day-5_09_High-Res-1.jpg"},"inLanguage":"en-GB","breadcrumb":{"@id":"https://www.corkchoral.ie/about/#breadcrumb"}}]}</script>
33
34<!-- /Rank Math WordPress SEO plugin -->
35
36<title>About Us - Cork International Choral Festival</title><link rel="preload" href="/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-light-01_compressed.svg" as="image">
37<link rel="alternate" type="application/rss+xml" title="Cork International Choral Festival &raquo; Feed" href="https://www.corkchoral.ie/feed/" />
38<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.corkchoral.ie/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.corkchoral.ie%2Fabout%2F" />
39<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.corkchoral.ie/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.corkchoral.ie%2Fabout%2F&#038;format=xml" />
40<style id="wp-block-paragraph-inline-css">
41.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
42/*# sourceURL=https://www.corkchoral.ie/wp-includes/blocks/paragraph/style.min.css */
43</style>
44<style id="wp-block-heading-inline-css">
45h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
46/*# sourceURL=https://www.corkchoral.ie/wp-includes/blocks/heading/style.min.css */
47</style>
48<style id="wp-block-post-content-inline-css">
49.wp-block-post-content{display:flow-root}
50/*# sourceURL=https://www.corkchoral.ie/wp-includes/blocks/post-content/style.min.css */
51</style>
52
53<link rel='stylesheet' id='edd-blocks-css' href='https://www.corkchoral.ie/wp-content/plugins/easy-digital-downloads/includes/blocks/assets/css/edd-blocks.css?ver=3.7.0' media='all' />
54<style id="edd-blocks-inline-css">
55body{--edd-blocks-button-background:#000000; --edd-blocks-button-text:#ffffff;}.edd-submit,.has-edd-button-background-color{background-color: var(--edd-blocks-button-background) !important;} .has-edd-button-background-text-color{color: var(--edd-blocks-button-background) !important;} .edd-submit,.has-edd-button-text-color{color: var(--edd-blocks-button-text) !important;}
56/*# sourceURL=edd-blocks-inline-css */
57</style>
58
59<style id="wpgb-head-inline-css">
60.wp-grid-builder:not(.wpgb-template),.wpgb-facet{opacity:0.01}.wpgb-facet fieldset{margin:0;padding:0;border:none;outline:none;box-shadow:none}.wpgb-facet fieldset:last-child{margin-bottom:40px;}.wpgb-facet fieldset legend.wpgb-sr-only{height:1px;width:1px}
61/*# sourceURL=wpgb-head-inline-css */
62</style>
63<link rel='stylesheet' id='trp-popup-style-css' href='https://www.corkchoral.ie/wp-content/plugins/translatepress-business/add-ons-pro/automatic-language-detection/assets/css/trp-popup.css?ver=7.0' media='all' />
64<link rel='stylesheet' id='cmplz-general-css' href='https://www.corkchoral.ie/wp-content/plugins/complianz-gdpr/assets/css/cookieblocker.min.css?ver=1789651989' media='all' />
65<link rel='stylesheet' id='trp-language-switcher-v2-css' href='https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/css/trp-language-switcher-v2.css?ver=3.3.4' media='all' />
66<link rel='stylesheet' id='cmplz-banner-1-optin-css' href='https://www.corkchoral.ie/wp-content/uploads/complianz/css/banner-1-optin.css?ver=1789654304' media='all' />
67<script id="jquery-core-js" src="https://www.corkchoral.ie/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 67
67
68<script id="trp-language-cookie-js-extra" defer src="data:text/javascript;base64,CnZhciB0cnBfbGFuZ3VhZ2VfY29va2llX2RhdGEgPSB7ImFic19ob21lIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZSIsInVybF9zbHVncyI6eyJlbl9HQiI6ImVuX2diIiwiYmdfQkciOiJiZyIsImNzX0NaIjoiY3MiLCJkYV9ESyI6ImRhIiwiZGVfREUiOiJkZSIsImVsIjoiZWwiLCJlc19FUyI6ImVzIiwiZXQiOiJldCIsImZyX0ZSIjoiZnIiLCJodV9IVSI6Imh1IiwiaXRfSVQiOiJpdCIsInBsX1BMIjoicGwiLCJwdF9QVCI6InB0IiwidWsiOiJ1ayJ9LCJjb29raWVfbmFtZSI6InRycF9sYW5ndWFnZSIsImNvb2tpZV9hZ2UiOiIzMCIsImNvb2tpZV9wYXRoIjoiLyIsImRlZmF1bHRfbGFuZ3VhZ2UiOiJlbl9HQiIsInB1Ymxpc2hfbGFuZ3VhZ2VzIjpbImVuX0dCIiwiYmdfQkciLCJjc19DWiIsImRhX0RLIiwiZGVfREUiLCJlbCIsImVzX0VTIiwiZXQiLCJmcl9GUiIsImh1X0hVIiwiaXRfSVQiLCJwbF9QTCIsInB0X1BUIiwidWsiXSwidHJwX2FsZF9hamF4X3VybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvd3AtY29udGVudC9wbHVnaW5zL3RyYW5zbGF0ZXByZXNzLWJ1c2luZXNzL2FkZC1vbnMtcHJvL2F1dG9tYXRpYy1sYW5ndWFnZS1kZXRlY3Rpb24vaW5jbHVkZXMvdHJwLWFsZC1hamF4LnBocCIsImRldGVjdGlvbl9tZXRob2QiOiJicm93c2VyLWlwIiwicG9wdXBfb3B0aW9uIjoicG9wdXAiLCJwb3B1cF90eXBlIjoibm9ybWFsX3BvcHVwIiwicG9wdXBfdGV4dGFyZWEiOiJXZSd2ZSBkZXRlY3RlZCB5b3UgbWlnaHQgYmUgc3BlYWtpbmcgYSBkaWZmZXJlbnQgbGFuZ3VhZ2UuIERvIHlvdSB3YW50IHRvIGNoYW5nZSB0bzoiLCJwb3B1cF90ZXh0YXJlYV9jaGFuZ2VfYnV0dG9uIjoiQ2hhbmdlIExhbmd1YWdlIiwicG9wdXBfdGV4dGFyZWFfY2xvc2VfYnV0dG9uIjoiQ2xvc2UgYW5kIGRvIG5vdCBzd2l0Y2ggbGFuZ3VhZ2UiLCJpc29fY29kZXMiOnsiZW5fR0IiOiJlbiIsImJnX0JHIjoiYmciLCJjc19DWiI6ImNzIiwiZGFfREsiOiJkYSIsImRlX0RFIjoiZGUiLCJlbCI6ImVsIiwiZXNfRVMiOiJlcyIsImV0IjoiZXQiLCJmcl9GUiI6ImZyIiwiaHVfSFUiOiJodSIsIml0X0lUIjoiaXQiLCJwbF9QTCI6InBsIiwicHRfUFQiOiJwdCIsInVrIjoidWsiLCJlbl9VUyI6ImVuIn0sImxhbmd1YWdlX3VybHMiOnsiZW5fR0IiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Fib3V0LyIsImJnX0JHIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9iZy8lZDAlYmUlZDElODIlZDAlYmQlZDAlYmUlZDElODElZDAlYmQlZDAlYmUvIiwiY3NfQ1oiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2NzL28vIiwiZGFfREsiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2RhL29tLyIsImRlX0RFIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9kZS91YmVyLyIsImVsIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9lbC8lY2YlODMlY2YlODclY2UlYjUlY2YlODQlY2UlYjklY2UlYmElY2UlYWMtJWNlJWJjJWNlJWI1LyIsImVzX0VTIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9lcy9hY2VyY2EtZGUvIiwiZXQiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2V0L3VtYmVzLyIsImZyX0ZSIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9mci9zdXItMi8iLCJodV9IVSI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvaHUvcm9sLXJvbC0yLyIsIml0X0lUIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9pdC9kaS8iLCJwbF9QTCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvcGwvby8iLCJwdF9QVCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvcHQvc29icmUvIiwidWsiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL3VrLyVkMCViZiVkMSU4MCVkMCViOCVkMCViMSVkMCViYiVkMCViOCVkMCViNyVkMCViZCVkMCViZS8ifSwiZW5nbGlzaF9uYW1lIjp7ImVuX0dCIjoiRW5nbGlzaCIsImJnX0JHIjoiQnVsZ2FyaWFuIiwiY3NfQ1oiOiJDemVjaCIsImRhX0RLIjoiRGFuaXNoIiwiZGVfREUiOiJHZXJtYW4iLCJlbCI6IkdyZWVrIiwiZXNfRVMiOiJTcGFuaXNoIiwiZXQiOiJFc3RvbmlhbiIsImZyX0ZSIjoiRnJlbmNoIiwiaHVfSFUiOiJIdW5nYXJpYW4iLCJpdF9JVCI6Ikl0YWxpYW4iLCJwbF9QTCI6IlBvbGlzaCIsInB0X1BUIjoiUG9ydHVndWVzZSIsInVrIjoiVWtyYWluaWFuIn0sImlzX2lwaG9uZV91c2VyX2NoZWNrIjoiIn07Ci8vIyBzb3VyY2VVUkw9dHJwLWxhbmd1YWdlLWNvb2tpZS1qcy1leHRyYQo="></script>
vendor: 1 bytes, line 68
68
69<script id="trp-language-cookie-js" src="https://www.corkchoral.ie/wp-content/plugins/translatepress-business/add-ons-pro/automatic-language-detection/assets/js/trp-language-cookie.js?ver=1.1.1" defer></script>
vendor: 1 bytes, line 69
69
70<script id="trp-language-switcher-js-v2-js" src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/js/trp-frontend-language-switcher.js?ver=3.3.4" defer></script>
70
71<link rel="https://api.w.org/" href="https://www.corkchoral.ie/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.corkchoral.ie/wp-json/wp/v2/pages/640" />			<style id="etch-defaults-css-styles">
72				@layer etch-defaults {
73	body {
74		line-height: 1.5;
75		-webkit-font-smoothing: antialiased;
76		font-family: system-ui;
77		display: flex;
78		flex-direction: column;
79	}
80}
81			</style>
82						<style id="etch-reset-css-styles">
83				@layer etch-reset {
84	/* Box sizing rules */
85	*,
86	*::before,
87	*::after {
88		box-sizing: border-box;
89	}
90
91	/* Remove default margins */
92	* {
93		margin: 0;
94	}
95
96	/* Prevent font size inflation */
97	html {
98		-moz-text-size-adjust: none;
99		-webkit-text-size-adjust: none;
100		text-size-adjust: none;
101		scrollbar-gutter: stable;
102	}
103
104	/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
105	ul[role='list'],
106	ol[role='list'] {
107		list-style: none;
108	}
109
110	ul[class]:not(
111			[data-etch-has-custom-classes='false'], /* data-etch-has-custom-classes is builder only (not output on frontend) */
112			.wp-block-list,
113			.list,
114			[class*='marker']
115		),
116	ol[class]:not(
117			[data-etch-has-custom-classes='false'], /* data-etch-has-custom-classes is builder only (not output on frontend) */
118			.wp-block-list,
119			.list,
120			[class*='marker']
121		) {
122		padding: 0;
123		list-style: none;
124	}
125
126	/* Set body min height */
127	body {
128		min-block-size: 100svh;
129		display: flex;
130		flex-direction: column;
131
132		main {
133			flex-grow: 1;
134		}
135	}
136
137	/* A elements that don't have a class get default styles */
138	a:not([class]) {
139		text-decoration-skip-ink: auto;
140	}
141
142	/* Make media easier to work with */
143	img,
144	picture,
145	video,
146	canvas,
147	svg:not(.block-editor-list-view-tree svg),
148	a:not(
149		p > a,
150		span > a,
151		h1 > a,
152		h2 > a,
153		h3 > a,
154		h4 > a,
155		h5 > a,
156		h6 > a,
157		li > a,
158		em > a,
159		q > a,
160		label > a,
161		strong > a,
162		figcaption > a,
163		.editor-styles-wrapper a
164	) {
165		max-inline-size: 100%;
166		height: auto;
167		display: block;
168	}
169
170	/* Inherit fonts for inputs and buttons */
171	input,
172	button,
173	textarea,
174	select {
175		font: inherit;
176		font-size: inherit;
177	}
178
179	button {
180		cursor: pointer;
181		background-color: transparent;
182		border: none;
183		color: currentColor;
184	}
185
186	/* Make sure textareas without a rows attribute are not tiny */
187	textarea:not([rows]) {
188		min-height: 10em;
189	}
190
191	/* Avoid text overflows */
192	p,
193	h1,
194	h2,
195	h3,
196	h4,
197	h5,
198	h6 {
199		overflow-wrap: break-word;
200	}
201
202	figure > img {
203		inline-size: 100%;
204	}
205
206	img {
207		block-size: auto;
208	}
209
210	/* Add back select GB styles that are removed by global settings toggle */
211	.has-text-align-center {
212		text-align: center;
213	}
214
215	.has-text-align-left {
216		text-align: left;
217	}
218
219	.has-text-align-right {
220		text-align: right;
221	}
222
223	.has-fit-text {
224		white-space: nowrap !important;
225	}
226
227	#end-resizable-editor-section {
228		display: none;
229	}
230
231	.aligncenter {
232		clear: both;
233	}
234
235	.items-justified-left {
236		justify-content: flex-start;
237	}
238
239	.items-justified-center {
240		justify-content: center;
241	}
242
243	.items-justified-right {
244		justify-content: flex-end;
245	}
246
247	.items-justified-space-between {
248		justify-content: space-between;
249	}
250
251	.screen-reader-text {
252		border: 0;
253		clip-path: inset(50%);
254		height: 1px;
255		margin: -1px;
256		overflow: hidden;
257		padding: 0;
258		position: absolute;
259		width: 1px;
260		word-wrap: normal !important;
261	}
262
263	.screen-reader-text:focus {
264		background-color: #ddd;
265		clip-path: none;
266		color: #444;
267		display: block;
268		font-size: 1em;
269		height: auto;
270		left: 5px;
271		line-height: normal;
272		padding: 15px 23px 14px;
273		text-decoration: none;
274		top: 5px;
275		width: auto;
276		z-index: 100000;
277	}
278}
279			</style>
280			        
280<script src="https://unpkg.com/embla-carousel/embla-carousel.umd.js" defer></script>
280
281                
281<script  defer  src='https://unpkg.com/embla-carousel-auto-scroll/embla-carousel-auto-scroll.umd.js'></script>
281
282                
282<script  defer  src='https://unpkg.com/embla-carousel-auto-height/embla-carousel-auto-height.umd.js'></script>
282
283             <!-- Google Tag Manager -->
284<script defer src="data:text/javascript;base64,KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3ZhciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0saj1kLmNyZWF0ZUVsZW1lbnQocyksZGw9bCE9J2RhdGFMYXllcic/JyZsPScrbDonJztqLmFzeW5jPXRydWU7ai5zcmM9J2h0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD0nK2krZGw7Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpO30pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnZGF0YUxheWVyJywnR1RNLVQyOTdWSFonKTs="></script>
284
285<!-- End Google Tag Manager -->
286       <link rel="apple-touch-icon" sizes="180x180" href="/wp-content/uploads/favicon/apple-touch-icon.png">
287<link rel="icon" type="image/png" sizes="32x32" href="/wp-content/uploads/favicon/favicon-32x32.png">
288<link rel="icon" type="image/png" sizes="16x16" href="/wp-content/uploads/favicon/favicon-16x16.png">
289<link rel="manifest" href="/wp-content/uploads/favicon/site.webmanifest">
290<link rel="mask-icon" href="/wp-content/uploads/favicon/safari-pinned-tab.svg" color="#e53d78">
291<link rel="shortcut icon" href="/wp-content/uploads/favicon/favicon.ico">
292<meta name="msapplication-TileColor" content="#2b5797">
293<meta name="msapplication-config" content="/wp-content/uploads/favicon/browserconfig.xml">
294<meta name="theme-color" content="#ffffff">
295  <noscript><style>.wp-grid-builder .wpgb-card.wpgb-card-hidden .wpgb-card-wrapper{opacity:1!important;visibility:visible!important;transform:none!important}.wpgb-facet {opacity:1!important;pointer-events:auto!important}.wpgb-facet *:not(.wpgb-pagination-facet){display:none}</style></noscript><link rel="alternate" hreflang="en-GB" href="https://www.corkchoral.ie/about/"/>
296<link rel="alternate" hreflang="bg-BG" href="https://www.corkchoral.ie/bg/%d0%be%d1%82%d0%bd%d0%be%d1%81%d0%bd%d0%be/"/>
297<link rel="alternate" hreflang="cs-CZ" href="https://www.corkchoral.ie/cs/o/"/>
298<link rel="alternate" hreflang="da-DK" href="https://www.corkchoral.ie/da/om/"/>
299<link rel="alternate" hreflang="de-DE" href="https://www.corkchoral.ie/de/uber/"/>
300<link rel="alternate" hreflang="el" href="https://www.corkchoral.ie/el/%cf%83%cf%87%ce%b5%cf%84%ce%b9%ce%ba%ce%ac-%ce%bc%ce%b5/"/>
301<link rel="alternate" hreflang="es-ES" href="https://www.corkchoral.ie/es/acerca-de/"/>
302<link rel="alternate" hreflang="et" href="https://www.corkchoral.ie/et/umbes/"/>
303<link rel="alternate" hreflang="fr-FR" href="https://www.corkchoral.ie/fr/sur-2/"/>
304<link rel="alternate" hreflang="hu-HU" href="https://www.corkchoral.ie/hu/rol-rol-2/"/>
305<link rel="alternate" hreflang="it-IT" href="https://www.corkchoral.ie/it/di/"/>
306<link rel="alternate" hreflang="pl-PL" href="https://www.corkchoral.ie/pl/o/"/>
307<link rel="alternate" hreflang="pt-PT" href="https://www.corkchoral.ie/pt/sobre/"/>
308<link rel="alternate" hreflang="uk" href="https://www.corkchoral.ie/uk/%d0%bf%d1%80%d0%b8%d0%b1%d0%bb%d0%b8%d0%b7%d0%bd%d0%be/"/>
309<link rel="alternate" hreflang="en" href="https://www.corkchoral.ie/about/"/>
310<link rel="alternate" hreflang="bg" href="https://www.corkchoral.ie/bg/%d0%be%d1%82%d0%bd%d0%be%d1%81%d0%bd%d0%be/"/>
311<link rel="alternate" hreflang="cs" href="https://www.corkchoral.ie/cs/o/"/>
312<link rel="alternate" hreflang="da" href="https://www.corkchoral.ie/da/om/"/>
313<link rel="alternate" hreflang="de" href="https://www.corkchoral.ie/de/uber/"/>
314<link rel="alternate" hreflang="es" href="https://www.corkchoral.ie/es/acerca-de/"/>
315<link rel="alternate" hreflang="fr" href="https://www.corkchoral.ie/fr/sur-2/"/>
316<link rel="alternate" hreflang="hu" href="https://www.corkchoral.ie/hu/rol-rol-2/"/>
317<link rel="alternate" hreflang="it" href="https://www.corkchoral.ie/it/di/"/>
318<link rel="alternate" hreflang="pl" href="https://www.corkchoral.ie/pl/o/"/>
319<link rel="alternate" hreflang="pt" href="https://www.corkchoral.ie/pt/sobre/"/>
320<meta name="generator" content="Easy Digital Downloads v3.7.0" />
321			<style>.cmplz-hidden {
322					display: none !important;
323				}</style>
324				<link rel="icon" href="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-32x32.png" sizes="32x32" />
325<link rel="icon" href="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-192x192.png" sizes="192x192" />
326<link rel="apple-touch-icon" href="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-180x180.png" />
327<meta name="msapplication-TileImage" content="https://www.corkchoral.ie/wp-content/uploads/2023/02/cropped-CCF-Logo-Circle-Transparent-Colour-270x270.png" />
328<style id="etch-page-styles">.skip-link { z-index: 99999 !important; }
329:where([data-etch-element="section"]) { inline-size: 100%;
330  display: flex;
331  flex-direction: column;
332  align-items: center; }
333.header { display: flex;
334  flex-direction: column;
335  align-items: center;
336  padding-inline: var(--gutter);
337  padding-block: 0;
338  .header__inner {
339    display: flex;
340    flex-direction: row;
341    align-items: center;
342    justify-content: space-between;
343    gap: var(--space-m);
344    padding-block: var(--space-s);
345    /* position: relative; */
346  } }
347.top-bar { --top-bar-height: 2.5rem;
348  block-size: var(--top-bar-height);
349  width: 100%;
350  background: var(--bg-ultra-dark);
351  padding-block: 0rem;
352  width: 100vw;
353  padding-inline: var(--gutter);
354  z-index: 9999;
355  position: relative;
356  .top-bar__inner {
357    display: flex;
358    flex-direction: row;
359    align-items: center;
360    justify-content: space-between;
361    gap: calc(var(--content-gap) / 2);
362    margin-inline: auto;
363    position: relative;
364  }
365  .top-bar__links-wrapper {
366    display: flex;
367    flex-direction: row;
368    align-items: center;
369    gap: 0.35em;
370    @media (width <= 31.25rem) {
371      & > li:nth-child(n + 2) {
372        display: none;
373      }
374    }
375  }
376  .top-bar__link {
377    font-size: var(--text-xs);
378    text-decoration: none;
379    color: var(--primary-light);
380  }
381  a:hover {
382    color: var(--white);
383  } }
384:where([data-etch-element="container"]) { inline-size: 100%;
385  display: flex;
386  flex-direction: column;
387  max-inline-size: var(--content-width, 1366px);
388  align-self: center; margin-inline: auto; }
389:where([data-etch-element="flex-div"]) { inline-size: 100%;
390  display: flex;
391  flex-direction: column; }
392.top-bar__right { display: flex;
393  flex-direction: row;
394  align-items: center;
395  gap: 0.5em; }
396.header-logo-link { width: 13.75rem;
397  color: var(--white);
398  /* flex-shrink: 0; */
399  z-index: 1;
400  & > img {
401    border-radius: 0;
402  }
403  @media (width <= 25rem) {
404    width: 11.25rem;
405  } }
406.mobile-navbar-cta { flex: 1;
407  display: flex;
408  justify-content: end;
409  .mobile-navbar-cta__link {}
410  @media (width >= 70.9375rem) {
411    display: none;
412  } }
413.etch-burger { --burger-width: 30px;
414  --burger-line-thickness: 2px;
415  --burger-line-spacing: 6px;
416  --burger-dark-color: #242424;
417  --transition-duration: 0.3s;
418  --transition-timing-function: ease-in-out;
419
420  inline-size: var(--burger-width);
421  block-size: calc(var(--burger-line-thickness) * 3 + var(--burger-line-spacing) * 2);
422  padding: 0;
423  cursor: pointer;
424  display: flex;
425  align-items: center;
426  justify-content: center;
427
428  /* Hide Burger above X breakpoint */
429  @media (min-width: 1135px) {
430    display: none;
431  }
432
433  .etch-burger__lines {
434    position: relative;
435    width: var(--burger-width);
436    height: var(--burger-line-thickness);
437    min-height: 0;
438    min-width: 0;
439    background: var(--burger-dark-color);
440    transition:
441      transform var(--transition-duration) var(--transition-timing-function),
442      background var(--transition-duration) var(--transition-timing-function);
443
444    &::before,
445    &::after {
446      content: '';
447      position: absolute;
448      left: 0;
449      width: 100%;
450      height: var(--burger-line-thickness);
451      background: var(--burger-dark-color);
452      transition:
453        transform var(--transition-duration) var(--transition-timing-function),
454        opacity var(--transition-duration) var(--transition-timing-function);
455    }
456
457    &::before {
458      top: calc(-1 * (var(--burger-line-thickness) + var(--burger-line-spacing)));
459    }
460
461    &::after {
462      bottom: calc(-1 * (var(--burger-line-thickness) + var(--burger-line-spacing)));
463    }
464  }
465
466  /* Animated state */
467  &[aria-expanded='true'] .etch-burger__lines {
468    background: transparent;
469
470    &::before {
471      transform: translateY(calc(var(--burger-line-thickness) + var(--burger-line-spacing))) rotate(45deg);
472    }
473
474    &::after {
475      transform: translateY(calc(-1 * (var(--burger-line-thickness) + var(--burger-line-spacing)))) rotate(-45deg);
476    }
477  } }
478.etch-nav { /* Nav */
479  --nav-background-color: #fff;
480  --nav-foreground-color: #000;
481  --nav-mobile-background-color: #fff;
482  --nav-z-index: 999;
483
484  /* Nav List */
485  --nav-list-style: none;
486  --nav-list-padding: 0;
487  --nav-list-margin: 0;
488
489  /* Nav Items */
490  --nav-item-block-padding: 0.35em;
491  --nav-item-inline-padding: 0.1em;
492  --nav-item-padding: var(--nav-item-block-padding) var(--nav-item-inline-padding);
493  --nav-item-focus-line: 2px;
494  --nav-item-focus-outline-color: var(--nav-foreground-color);
495  --transition-duration: 0.3s;
496  --transition-timing-function: ease-in-out;
497  --nav-item-icon-rotation: 180deg;
498
499  /* Nav Current Active Item */
500  --nav-item-current-active-decoration: underline;
501  --nav-item-current-active-offset: 5px;
502
503  /* Nav Button Icons */
504  --nav-button-icon-size: 20px;
505
506  /* Nav Links */
507  --nav-link-padding: 0.5em 1em;
508  --nav-link-color: var(--nav-foreground-color);
509  --nav-link-color-contrast: var(--nav-background-color);
510  --nav-link-color-hover: var(--primary, #444);
511  --nav-link-background-hover: transparent;
512
513  /* Nav Dropdowns and flyouts */
514  --nav-dropdown-background: var(--nav-background-color);
515  --nav-flyout-background: var(--nav-background-color);
516  --nav-flyout-icon-desktop-initial-angle: -90deg;
517  --nav-flyout-icon-desktop-rotation: 90deg;
518
519  /* Set header to relative */
520  header:has(&) {
521    /* position: relative; */
522  }
523
524  background-color: transparent;
525  display: none;
526  z-index: var(--nav-z-index);
527
528  &[aria-expanded='true'] {
529    --nav-background-color: var(--nav-mobile-background-color);
530    display: flex;
531    position: absolute;
532    top: 100%;
533    left: 0;
534    right: 0;
535  }
536
537  :where(.etch-nav__list) {
538    display: flex;
539    flex-direction: column;
540    align-items: center;
541    width: 100%;
542    margin: var(--nav-list-margin);
543    padding: var(--nav-list-padding);
544    list-style: var(--nav-list-style);
545  }
546
547  :where(.etch-nav__list, .etch-nav__dropdown, .etch-nav__flyout) {
548    margin: var(--nav-list-margin);
549    padding: var(--nav-list-padding);
550    list-style: var(--nav-list-style);
551  }
552
553  :where(.etch-nav__item) {
554    display: flex;
555    flex-direction: column;
556  }
557
558  :where(.etch-nav__link:focus, .etch-nav__link:focus-visible, .etch-nav__button:focus, .etch-nav__button:focus-visible) {
559    outline: var(--nav-item-focus-line) solid var(--nav-item-focus-outline-color);
560  }
561
562  :where(.etch-nav__item .etch-nav__link, .etch-nav__item .etch-nav__button) {
563    text-decoration: none;
564    color: var(--nav-link-color);
565    padding: var(--nav-item-padding);
566  }
567
568  :where(.etch-nav__link[aria-current='page']) {
569    text-decoration: var(--nav-item-current-active-decoration);
570    text-underline-offset: var(--nav-item-current-active-offset);
571  }
572
573  :where(.etch-nav__button) {
574    display: flex;
575    justify-content: space-between;
576    align-items: center;
577    color: var(--nav-link-color);
578
579    svg {
580      width: var(--nav-button-icon-size);
581      min-width: var(--nav-button-icon-size); /* There seems to be some issue with etch.reset and max-width 100%*/
582      height: var(--nav-button-icon-size);
583      transition: transform var(--transition-duration) var(--transition-timing-function);
584    }
585  }
586
587  :where(.etch-nav__button--dropdown-toggle[aria-expanded='true'] svg, .etch-nav__button--flyout-toggle[aria-expanded='true'] svg) {
588    transform: rotate(var(--nav-item-icon-rotation));
589  }
590
591  :where(.etch-nav__item:hover > .etch-nav__link, .etch-nav__item:hover > .etch-nav__button[aria-expanded='true']) {
592    /* color: var(--nav-link-color-hover);
593    background-color: var(--nav-link-background-hover); */
594  }
595
596  :where(.etch-nav__item--has-dropdown, .etch-nav__item--has-flyout) {
597    position: relative;
598  }
599
600  :where(.etch-nav__dropdown) {
601    position: relative;
602    background-color: var(--nav-dropdown-background);
603    transition:
604      max-height calc(var(--transition-duration) / 2) var(--transition-timing-function),
605      opacity var(--transition-duration) var(--transition-timing-function),
606      visibility var(--transition-duration) var(--transition-timing-function);
607  }
608
609  :where(.etch-nav__button--dropdown-toggle[aria-expanded='false'] ~ .etch-nav__dropdown, .etch-nav__button--flyout-toggle[aria-expanded='false'] ~ .etch-nav__flyout) {
610    opacity: 0;
611    pointer-events: none;
612    visibility: hidden;
613    transition:
614      max-height var(--transition-duration) var(--transition-timing-function),
615      opacity var(--transition-duration) var(--transition-timing-function),
616      visibility var(--transition-duration) var(--transition-timing-function);
617  }
618
619  :where(.etch-nav__flyout) {
620    background-color: var(--nav-flyout-background);
621    transition:
622      max-height calc(var(--transition-duration) / 2) var(--transition-timing-function),
623      opacity var(--transition-duration) var(--transition-timing-function),
624      visibility var(--transition-duration) var(--transition-timing-function);
625  }
626
627  /* Set the desired breakpoint */
628  @media (min-width: 1135px) {
629    display: flex;
630
631    :where(.etch-nav__item) {
632      text-wrap: nowrap;
633    }
634
635    :where(.etch-nav__list) {
636      flex-direction: row;
637    }
638
639    :where(.etch-nav__button:nth-child(2)) {
640      padding-inline: 0 var(--nav-item-horizontal-padding);
641    }
642
643    :where(.etch-nav__dropdown) {
644      position: absolute;
645      top: 100%;
646      left: 0;
647      overflow: inherit;
648      max-height: 0; /* desktop flicker fix */
649      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
650    }
651
652    :where(.etch-nav__button--flyout-toggle svg) {
653      transform: rotate(var(--nav-flyout-icon-desktop-initial-angle));
654    }
655
656    :where(.etch-nav__button--flyout-toggle[aria-expanded='true'] svg) {
657      transform: rotate(var(--nav-flyout-icon-desktop-rotation));
658    }
659
660    :where(.etch-nav__flyout) {
661      position: absolute;
662      top: 0;
663      left: 100%;
664      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
665    }
666  } }
667.page-hero { position: relative;
668  isolation: isolate;
669
670  .page-hero__heading {
671    max-inline-size: 24ch;
672  }
673  .page-hero__lede {
674    max-inline-size: 65ch;
675  }
676
677  &[data-header-style='Style 1'] {
678    padding-block-end: 0;
679    .page-hero__inner {
680      gap: var(--container-gap);
681    }
682    .page-hero__intro {
683      display: flex;
684      text-align: center;
685      flex-direction: column;
686      flex-wrap: nowrap;
687      align-items: center;
688      @media (width <= 48rem) {
689        text-align: left;
690        align-items: flex-start;
691      }
692    }
693    & figure {
694      max-inline-size: 61.9375rem;
695      margin-inline: auto;
696      aspect-ratio: 16/9;
697      overflow: hidden;
698      border-radius: var(--radius);
699      & > img {
700        object-fit: cover;
701      }
702    }
703  }
704  &[data-header-style='Style 2'] {
705    background-color: var(--bg-ultra-light);
706    .page-hero__inner {
707      display: grid;
708      grid-template-columns: repeat(2, minmax(0, 1fr));
709      grid-template-rows: 1fr;
710      max-width: var(--content-width, 1366px);
711      @media (width <= 48rem) {
712        grid-template-columns: repeat(1, minmax(0, 1fr));
713      }
714    }
715    .page-hero__intro {
716      justify-content: center;
717      gap: var(--content-gap);
718      @media (width <= 30rem) {
719        text-align: left;
720        align-items: flex-start;
721      }
722    }
723    .page-hero__heading {
724      max-width: 21ch;
725    }
726    .page-hero__lede {
727      max-width: 54ch;
728    }
729    & figure {
730      & > img {
731        object-fit: cover;
732      }
733    }
734  }
735  &[data-header-style='Style 3'] {
736    background-color: var(--bg-ultra-light);
737    .page-hero__intro {
738      display: flex;
739      text-align: center;
740      flex-direction: column;
741      flex-wrap: nowrap;
742      align-items: center;
743      @media (width <= 30rem) {
744        text-align: left;
745        align-items: flex-start;
746      }
747    }
748    .page-hero__media-wrapper {
749      display: none;
750    }
751  }
752  &[data-header-style='Style 4'] {
753    overflow: hidden;
754    .page-hero__intro {
755      display: flex;
756      text-align: center;
757      flex-direction: column;
758      flex-wrap: nowrap;
759      align-items: center;
760      color: var(--text-light);
761      @media (width <= 30rem) {
762        text-align: left;
763        align-items: flex-start;
764      }
765    }
766    .page-hero__media-wrapper {
767      position: absolute;
768      top: 0;
769      left: 0;
770      right: 0;
771      bottom: 0;
772      z-index: -1;
773      & > img {
774        height: 100%;
775        width: 100%;
776        object-fit: cover;
777        border-radius: 0;
778      }
779    }
780    &:after {
781      content: '';
782      position: absolute;
783      background: rgba(0, 0, 0, 0.5);
784      width: 100%;
785      height: 100%;
786      top: 0;
787      left: 0;
788      z-index: -1;
789    }
790  } }
791.page-content-section { gap: var(--content-gap);
792  /* Begin Content Grid */
793  :where(&) {
794    --content-width: 70ch;
795    --feature-width: 13px;
796    --feature-max-width: 19px;
797    --full: minmax(var(--gutter), 1fr);
798    padding-inline: 0;
799    column-gap: 0 !important;
800    display: grid !important;
801    grid-template-columns:
802      [full-start]
803      var(--full)
804      [feature-max-start]
805      minmax(0, var(--feature-max-width, var(--feature-max-width)))
806      [feature-start]
807      minmax(0, var(--feature-width, var(--feature-width)))
808      [content-start]
809      min(var(--content-width), 100% - var(--gutter) * 2)
810      [content-end]
811      minmax(0, var(--feature-width, var(--feature-width)))
812      [feature-end]
813      minmax(0, var(--feature-max-width, var(--feature-max-width)))
814      [feature-max-end]
815      var(--full)
816      [full-end];
817
818    > :not(.content--feature, .content--feature-max, .content--full, .content--full-safe) {
819      max-width: 100%;
820      width: 100%;
821    }
822
823    > :where(:not(.content--feature, .content--feature-max, .content--full, .content--full-safe)) {
824      grid-column: content;
825    }
826
827    > .is-bg {
828      grid-column: full;
829    }
830
831    > figure {
832      grid-column: feature;
833    }
834
835    &:is([class*='section--'], [class*='header--'], [data-etch-element='section']) {
836      padding-inline: 0;
837    }
838  }
839  /* End Content Grid */ }
840.icon-card-alpha { padding-block: var(--space-m);
841  padding-inline: var(--space-m);
842  border-radius: var(--radius);
843  background: color-mix(in oklch, white 25%, black);
844  overflow: hidden;
845  .icon-link {
846    font-weight: 600;
847    --relative-link-color: var(--secondary-light);
848  }
849
850  /* inline card style */
851  &[data-inline-card='true'] {
852    display: flex;
853    flex-direction: row;
854    align-items: center;
855    flex-wrap: wrap;
856    gap: calc(var(--content-gap) / 2);
857
858    .icon-card-alpha__heading {
859      flex: 1;
860      font-size: var(--text-l);
861    }
862    .icon-card-alpha__icon {
863      --icon-size: var(--h3);
864    }
865    .icon-card-alpha__text {
866      width: 100%;
867      padding-inline-start: calc(var(--icon-size) + calc(var(--content-gap) / 2));
868    }
869    & .icon-link {
870      background: var(--primary);
871      color: var(--white);
872      padding-block: var(--btn-padding-block);
873      padding-inline: var(--btn-padding-inline);
874      margin-inline-start: calc(var(--icon-size) + calc(var(--content-gap) / 2));
875      border-radius: var(--btn-radius);
876      text-decoration: var(--btn-text-decoration);
877      font-weight: var(--btn-font-weight);
878      font-size: var(--text-s);
879      & svg {
880        fill: var(--white);
881      }
882    }
883  }
884  .icon-card-alpha__icon {
885    --icon-size: var(--h2);
886  }
887  &.bg--dark > svg {
888    --icon-scheme: var(--bg-light-icon);
889  }
890  .icon-card-alpha__text {
891    max-width: 54ch;
892  }
893  & figure {
894    object-fit: cover;
895    overflow: hidden;
896    & > img {
897      width: 100%;
898      height: 100%;
899    }
900    &:after {
901      content: '';
902      width: 100%;
903      height: 100%;
904      top: 0;
905      left: 0;
906      position: absolute;
907      background-image: linear-gradient(45deg, var(--neutral) 0%, rgba(0, 0, 0, 0.9) 50%, rgba(0, 0, 0, 0));
908    }
909  }
910
911  /* Begin Clickable Parent - Ensure this is placed on the clickable parent element. */
912  position: relative;
913  /* Configure your selector if you have more than one link */
914  a::after {
915    content: '';
916    position: absolute;
917    inset: 0;
918    z-index: 10;
919  }
920  /* Remove effect in builder. */
921  &.etch-builder-block a::after {
922    content: '';
923    position: relative;
924  }
925  /* End Clickable Parent */
926  /* Begin Focus Parent */
927  &:focus-within:not(:has(:focus-visible)) {
928    outline: none;
929    outline-offset: 0;
930    box-shadow: none;
931  }
932  &:focus-within {
933    outline: var(--focus-width, 1.5px) solid var(--focus-color, blue);
934    outline-offset: var(--focus-offset, 0);
935  }
936
937  :focus {
938    outline: none !important;
939    box-shadow: none !important;
940  }
941  /* End Focus Parent */ }
942.icon-card-alpha__icon { fill: var(--white); }
943.grid-component { --min-formula: min(100%, max(var(--min), (100% - (var(--column-count) - 1) * var(--gap)) / var(--column-count)));
944  display: grid;
945  grid-template-columns: var(--grid-columns);
946  grid-template-rows: var(--grid-rows, 1fr);
947  gap: var(--grid-gap, var(--gap));
948  inline-size: 100%; }
949.newsletter-signup-section { background: var(--secondary-semi-dark) !important;
950  .newsletter-signup-section__inner {
951    display: flex;
952    flex-direction: column;
953    align-items: center;
954  }
955  @media (width <= 49.5625rem) {
956    .newsletter-signup-section__inner {
957      align-items: flex-start;
958    }
959  } }
960.section-intro { :has(> &) {
961    container-type: inline-size;
962  }
963  display: flex;
964  flex-direction: column;
965  gap: var(--content-gap);
966
967  &[data-intro-style='center' i] {
968    @container (inline-size >= 43.75rem) {
969      align-items: center;
970      text-align: center;
971      .section-intro__headline {
972        align-self: center;
973      }
974      & .accent-heading {
975        align-self: center;
976      }
977      .section-intro__lede {
978        align-self: center;
979      }
980    }
981  }
982  &[data-intro-style='two column' i] {
983    @container (inline-size >= 43.75rem) {
984      display: grid;
985      grid-template-columns: var(--grid-3-2);
986      align-items: center;
987    }
988  } }
989.section-intro__content-wrapper { display: flex;
990  gap: var(--content-gap, 1em);
991  /* max-inline-size: 60ch; */ }
992.accent-heading { order: -1;
993  font-family: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;
994  /* text-transform: uppercase; */
995  font-size: var(--text-m);
996  font-weight: 700;
997  /* font-style: italic; */
998  letter-spacing: 0;
999  /* opacity: 0.8; */
1000  display: inline-flex;
1001  align-items: center;
1002  gap: 0.625rem;
1003
1004  &:after,
1005  &:before {
1006    content: '';
1007    width: 8px;
1008    height: 8px;
1009    background: var(--secondary);
1010    transform: rotate(45deg);
1011    opacity: 0.5;
1012  } }
1013.section-intro__headline { max-width: 22ch; }
1014.h1 { font-size: var(--h1) }
1015.section-intro__lede { max-width: 56ch; }
1016.etch-dialog { /* Placement Offset */
1017  --etch-dialog-y-placement--offset: 1em;
1018  --etch-dialog-x-placement--offset: 1em;
1019
1020  /* Close Button */
1021  --etch-dialog-close-btn-top-position: 1em;
1022  --etch-dialog-close-btn-right-position: 1em;
1023  --etch-dialog-close-btn-background-color: transparent;
1024  --etch-dialog-close-btn-hover-background-color: transparent;
1025  --etch-dialog-close-btn-outline: 2px solid #2466e8;
1026  --etch-dialog-close-btn-outline-offset: 2px;
1027  --etch-dialog-close-btn-svg-size: 20px;
1028
1029  /* Dialog Element */
1030  width: 100%;
1031  max-width: var(--etch-dialog-max-width); /* set by props */
1032  border: none;
1033  border-radius: var(--radius);
1034  padding: var(--etch-dialog-padding, 1em);
1035  background-color: var(--etch-dialog-background-color); /* set by props */
1036  overflow: visible;
1037
1038  /* Content Body Wrapper */
1039  :where(.etch-dialog__body-wrapper) {
1040    overflow: hidden;
1041  }
1042
1043  /* Dialog Placements */
1044  &:where([data-etch-dialog-placement='center']) {
1045    top: 50%;
1046    left: 50%;
1047    transform: translate(-50%, -50%);
1048  }
1049
1050  &:where([data-etch-dialog-placement='center-left']) {
1051    top: 50%;
1052    left: var(--etch-dialog-x-placement--offset);
1053    transform: translateY(-50%);
1054  }
1055
1056  &:where([data-etch-dialog-placement='center-right']) {
1057    top: 50%;
1058    right: var(--etch-dialog-x-placement--offset);
1059    left: auto;
1060    transform: translateY(-50%);
1061  }
1062
1063  &:where([data-etch-dialog-placement='top-left']) {
1064    top: var(--etch-dialog-y-placement--offset);
1065    left: var(--etch-dialog-x-placement--offset);
1066  }
1067
1068  &:where([data-etch-dialog-placement='top-center']) {
1069    top: var(--etch-dialog-y-placement--offset);
1070    left: 50%;
1071    transform: translateX(-50%);
1072  }
1073
1074  &:where([data-etch-dialog-placement='top-right']) {
1075    top: var(--etch-dialog-y-placement--offset);
1076    right: var(--etch-dialog-x-placement--offset);
1077    left: auto;
1078  }
1079
1080  &:where([data-etch-dialog-placement='bottom-left']) {
1081    bottom: var(--etch-dialog-y-placement--offset);
1082    left: var(--etch-dialog-x-placement--offset);
1083    top: auto;
1084  }
1085
1086  &:where([data-etch-dialog-placement='bottom-center']) {
1087    bottom: var(--etch-dialog-y-placement--offset);
1088    left: 50%;
1089    top: auto;
1090    transform: translateX(-50%);
1091  }
1092
1093  &:where([data-etch-dialog-placement='bottom-right']) {
1094    bottom: var(--etch-dialog-y-placement--offset);
1095    right: var(--etch-dialog-x-placement--offset);
1096    left: auto;
1097    top: auto;
1098  }
1099
1100  /* Backdrop */
1101  &::backdrop {
1102    background-color: var(--etch-dialog-backdrop-color);
1103  }
1104
1105  /* Close Button */
1106  :where(.etch-dialog__close) {
1107    position: absolute;
1108    top: var(--etch-dialog-close-btn-top-position);
1109    right: var(--etch-dialog-close-btn-right-position);
1110    background-color: var(--etch-dialog-close-btn-background-color);
1111    border: none;
1112    cursor: pointer;
1113    transition: background-color 0.2s ease;
1114    & > span {
1115      font-size: var(--text-xs);
1116    }
1117  }
1118
1119  :where(.etch-dialog__close:hover) {
1120    background-color: var(--etch-dialog-close-btn-hover-background-color);
1121  }
1122
1123  :where(.etch-dialog__close:focus-visible) {
1124    outline: var(--etch-dialog-close-btn-outline);
1125    outline-offset: var(--etch-dialog-close-btn-outline-offset);
1126  }
1127
1128  /* Close Button Variants */
1129  :where(.etch-dialog-close--label-icon) {
1130    display: flex;
1131    align-items: center;
1132    gap: 0.5rem;
1133  }
1134
1135  :where(.etch-dialog-close--label-icon svg),
1136  :where(.etch-dialog-close--icon-only svg) {
1137    width: var(--etch-dialog-close-btn-svg-size);
1138    height: var(--etch-dialog-close-btn-svg-size);
1139  } }
1140.dialog__inner { display: flex;
1141  flex-direction: column;
1142  gap: .5em; }
1143.footer { row-gap: var(--container-gap);
1144  background-color: var(--bg-ultra-dark);
1145  color: var(--text-light);
1146  padding-block: var(--section-padding-block);
1147  padding-inline: var(--gutter);
1148  position: relative;
1149  .footer__grid {
1150    display: grid;
1151    align-items: initial;
1152    grid-template-columns: var(--grid-5);
1153    grid-template-rows: var(--grid-1);
1154    grid-gap: var(--container-gap);
1155    align-content: stretch;
1156    align-items: flex-start;
1157    position: relative;
1158    & > *:first-child::after,
1159    &::after {
1160      content: '';
1161      position: absolute;
1162      bottom: calc((var(--container-gap) / 2) * -1);
1163      width: 100%;
1164      height: 0.1em;
1165      background-color: var(--border-color-light);
1166    }
1167    @media (width <= 61.9375rem) {
1168      display: flex;
1169      flex-direction: column;
1170    }
1171  }
1172  .footer__heading {
1173    font-size: var(--h4);
1174  }
1175  .footer__content-wrapper {
1176    position: relative;
1177    display: flex;
1178    flex-direction: row;
1179    align-items: stretch;
1180    row-gap: var(--grid-gap);
1181    justify-content: space-between;
1182    width: 100%;
1183    grid-column: 1 / end;
1184    @media (width <= 47.9375rem) {
1185      flex-direction: column;
1186    }
1187  }
1188  .footer__logo {
1189    width: 15em;
1190    & > img {
1191      width: 100%;
1192      height: auto;
1193      border-radius: 0;
1194    }
1195  }
1196  .footer__nav-wrapper {
1197    grid-column: 1 / 4;
1198    display: grid;
1199    align-items: initial;
1200    grid-template-columns: var(--grid-3);
1201    grid-template-rows: var(--grid-1);
1202    grid-gap: var(--grid-gap);
1203    width: 100%;
1204    @media (width <= 47.9375rem) {
1205      grid-template-columns: var(--grid-2);
1206    }
1207    @media (width <= 29.875rem) {
1208      grid-template-columns: var(--grid-1);
1209    }
1210  }
1211  .footer__nav-col {
1212    display: flex;
1213    row-gap: var(--content-gap);
1214    flex-direction: column;
1215    align-items: flex-start;
1216    & > ul {
1217      gap: var(--space-xs);
1218      & > li a {
1219        color: var(--primary-light);
1220        text-decoration: none;
1221        &:hover {
1222          color: var(--white);
1223        }
1224      }
1225    }
1226  }
1227  .footer__contact-wrapper {
1228    grid-column: 4 / end;
1229    display: flex;
1230    row-gap: var(--content-gap);
1231    flex-direction: column;
1232    & form {
1233      flex-wrap: wrap;
1234    }
1235    address {
1236      font-style: normal;
1237    }
1238  }
1239  .footer__legal-wrapper {
1240    display: flex;
1241    flex-direction: row;
1242    flex-wrap: wrap;
1243    column-gap: var(--content-gap);
1244    row-gap: var(--content-gap);
1245    font-size: var(--text-s);
1246    justify-content: space-between;
1247    @media (width <= 41.25rem) {
1248      flex-direction: column;
1249    }
1250    & nav {
1251      flex: 1;
1252    }
1253    & nav ul {
1254      display: flex;
1255      flex-direction: row;
1256      align-items: center;
1257      flex-wrap: wrap;
1258      justify-content: flex-end;
1259      column-gap: var(--content-gap);
1260      row-gap: 0.5em;
1261      @media (width <= 41.25rem) {
1262        justify-content: flex-start;
1263      }
1264    }
1265    & nav a {
1266      color: var(--text-light-muted);
1267      text-decoration: none;
1268      &:hover {
1269        color: var(--white);
1270      }
1271    }
1272  } }
1273.social-links-alpha { display: flex;
1274  flex-wrap: wrap;
1275  column-gap: 1em;
1276  row-gap: 1em;
1277  margin-top: 0;
1278  margin-bottom: 0;
1279  padding-left: 0;
1280  flex-direction: row;
1281  width: fit-content;
1282  .social-links-alpha__link {
1283    display: flex;
1284    align-items: center;
1285    text-decoration: none;
1286    transition: all var(--transition);
1287    &:hover {
1288      transform: translateY(-0.15em);
1289    }
1290    &:hover svg {
1291      fill: var(--secondary);
1292    }
1293  }
1294  & svg {
1295    width: 2em;
1296    height: 2em;
1297    fill: var(--neutral);
1298    display: flex;
1299    align-self: center;
1300    justify-content: center;
1301    align-items: center;
1302    flex-direction: column;
1303    padding-top: 0.25em;
1304    padding-right: 0.25em;
1305    padding-bottom: 0.25em;
1306    padding-left: 0.25em;
1307    background-color: var(--bg-ultra-light);
1308    border-radius: 0.3125rem;
1309  } }
1310.hidden-accessible { position: absolute !important;
1311  inline-size: 1px !important;
1312  block-size: 1px !important;
1313  padding: 0;
1314  margin: -1px;
1315  overflow: hidden;
1316  -webkit-clip-path: inset(100%);
1317  clip-path: inset(100%);
1318  white-space: nowrap; /* added line */
1319  border: 0; }
1320.contact-details-list { display: flex;
1321  flex-direction: row;
1322  flex-wrap: wrap;
1323  width: 100%;
1324  .contact-details-list__item {
1325    max-inline-size: fit-content;
1326    gap: var(--space-xs);
1327  }
1328  .contact-details-list__heading {
1329    font-size: var(--h5);
1330  }
1331  .contact-details-list__link {
1332    display: flex;
1333    flex-direction: row;
1334    font-size: var(--text-s);
1335    align-items: center;
1336    gap: 0.2em;
1337    color: var(--white);
1338    text-decoration: none;
1339  }
1340  .contact-details-list__icon {
1341    width: 1.6em;
1342    & > svg {
1343      fill: white;
1344    }
1345  }
1346  .contact-details-list__text {
1347  } }
1348[data-search-alpha-form] { display: grid;
1349  gap: 0.5rem;
1350  :has(> &) {
1351    container-type: inline-size;
1352  }
1353  @container (inline-size >= 25rem) {
1354    grid-template-columns: minmax(0, 1fr) auto;
1355  } }
1356[data-search-alpha] { inline-size: 100%;
1357  max-inline-size: var(--max-width);
1358  margin-block: var(--margin-block);
1359  margin-inline: var(--margin-inline); }
1360[data-search-alpha-label] { position: absolute;
1361  width: 1px;
1362  height: 1px;
1363  padding: 0;
1364  margin: -1px;
1365  overflow: hidden;
1366  clip: rect(0, 0, 0, 0);
1367  white-space: nowrap;
1368  border: 0; }
1369[data-search-alpha-input] { border: var(--input-border, var(--border));
1370  border-radius: var(--radius, 5px);
1371  padding-inline: var(--input-padding-inline);
1372  block-size: var(--input-height);
1373  font-family: inherit;
1374  font-size: inherit;
1375  color: inherit; }
1376[data-search-alpha-button] { cursor: pointer;
1377  block-size: var(--input-height); }
1378[data-search-alpha-hint] { position: absolute;
1379  width: 1px;
1380  height: 1px;
1381  padding: 0;
1382  margin: -1px;
1383  overflow: hidden;
1384  clip: rect(0, 0, 0, 0);
1385  white-space: nowrap;
1386  border: 0; }</style>
1386<script id="etch-script-u1a-d" type="module" defer src="data:text/javascript;base64,KGZ1bmN0aW9uKCkgewogICd1c2Ugc3RyaWN0JzsKICAKICAvLyBDb25maWd1cmF0aW9uCiAgY29uc3QgQlJFQUtQT0lOVCA9IDMwMDsKICBjb25zdCBISURFX1RIUkVTSE9MRCA9IDQwMDAwOwogIGNvbnN0IFNDUk9MTF9ERUxUQV9USFJFU0hPTEQgPSA1OyAvLyBNaW5pbXVtIHNjcm9sbCBjaGFuZ2UgdG8gdHJpZ2dlciBhY3Rpb24KICAKICAvLyBDYWNoZSBET00gZWxlbWVudHMKICBjb25zdCBoZWFkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGVhZGVyJyk7CiAgY29uc3QgaGVhZGVySW5uZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGVhZGVyX19pbm5lcicpOwogIGNvbnN0IHRvcEJhciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy50b3AtYmFyJyk7CiAgY29uc3QgaHRtbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKICAKICBpZiAoIWhlYWRlcikgcmV0dXJuOwogIAogIC8vIFN0YXRlIG1hbmFnZW1lbnQKICBsZXQgbGFzdFNjcm9sbFRvcCA9IDA7CiAgbGV0IGlzSGVhZGVySGlkZGVuID0gZmFsc2U7CiAgbGV0IHRpY2tpbmcgPSBmYWxzZTsKICBsZXQgdG9wQmFySGVpZ2h0ID0gMDsKICBsZXQgaXNEZXNrdG9wID0gd2luZG93LmlubmVyV2lkdGggPj0gQlJFQUtQT0lOVDsKICAKICAvLyBTZXQgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzCiAgZnVuY3Rpb24gc2V0SGVpZ2h0VmFyaWFibGVzKCkgewogICAgaWYgKCFpc0Rlc2t0b3ApIHJldHVybjsKICAgIAogICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gaGVhZGVyLm9mZnNldEhlaWdodDsKICAgIHRvcEJhckhlaWdodCA9IHRvcEJhciA/IHRvcEJhci5vZmZzZXRIZWlnaHQgOiAwOwogICAgY29uc3QgYWRtaW5CYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd3BhZG1pbmJhcicpOwogICAgY29uc3QgYWRtaW5CYXJIZWlnaHQgPSBhZG1pbkJhciA/IGFkbWluQmFyLm9mZnNldEhlaWdodCA6IDA7CiAgICAKICAgIGh0bWwuc3R5bGUuc2V0UHJvcGVydHkoJy0taGVhZGVyLWhlaWdodCcsIGAke2hlYWRlckhlaWdodH1weGApOwogICAgaHRtbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10b3AtYmFyLWhlaWdodCcsIGAke3RvcEJhckhlaWdodH1weGApOwogICAgCiAgICAvLyBPbmx5IHNldCBhZG1pbiBiYXIgaGVpZ2h0IGlmIFdvcmRQcmVzcyBoYXNuJ3QgYWxyZWFkeQogICAgY29uc3QgZXhpc3RpbmdBZG1pbkJhckhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoaHRtbCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQnKTsKICAgIGlmICghZXhpc3RpbmdBZG1pbkJhckhlaWdodCB8fCBleGlzdGluZ0FkbWluQmFySGVpZ2h0ID09PSAnMHB4JykgewogICAgICBodG1sLnN0eWxlLnNldFByb3BlcnR5KCctLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCcsIGAke2FkbWluQmFySGVpZ2h0fXB4YCk7CiAgICB9CiAgfQogIAogIC8vIEhhbmRsZSBzY3JvbGwgbG9naWMKICBmdW5jdGlvbiBoYW5kbGVTY3JvbGwoKSB7CiAgICBjb25zdCBzY3JvbGxUb3AgPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsKICAgIGNvbnN0IHNjcm9sbERlbHRhID0gTWF0aC5hYnMoc2Nyb2xsVG9wIC0gbGFzdFNjcm9sbFRvcCk7CiAgICAKICAgIC8vIElnbm9yZSB0aW55IHNjcm9sbCBjaGFuZ2VzIGZvciBwZXJmb3JtYW5jZQogICAgaWYgKHNjcm9sbERlbHRhIDwgU0NST0xMX0RFTFRBX1RIUkVTSE9MRCkgewogICAgICB0aWNraW5nID0gZmFsc2U7CiAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgLy8gU3RhdGUgMTogQXQgdG9wIC0gc2hvdyBldmVyeXRoaW5nIG5vcm1hbGx5CiAgICBpZiAoc2Nyb2xsVG9wIDwgdG9wQmFySGVpZ2h0ICsgNTApIHsKICAgICAgaWYgKGhlYWRlci5jbGFzc0xpc3QuY29udGFpbnMoJ2hlYWRlci0tdmlzaWJsZScpIHx8IGhlYWRlci5jbGFzc0xpc3QuY29udGFpbnMoJ2hlYWRlci0taGlkZGVuJykpIHsKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LnJlbW92ZSgnaGVhZGVyLS1oaWRkZW4nLCAnaGVhZG
1386VyLS12aXNpYmxlJyk7CiAgICAgICAgaXNIZWFkZXJIaWRkZW4gPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgLy8gU3RhdGUgMjogUGFzdCB0b3AgYmFyIGJ1dCBiZWZvcmUgaGlkZSB0aHJlc2hvbGQgLSBzaG93IGhlYWRlciB3aXRob3V0IHRvcCBiYXIKICAgIGVsc2UgaWYgKHNjcm9sbFRvcCA8IEhJREVfVEhSRVNIT0xEKSB7CiAgICAgIGlmICghaGVhZGVyLmNsYXNzTGlzdC5jb250YWlucygnaGVhZGVyLS12aXNpYmxlJykpIHsKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LmFkZCgnaGVhZGVyLS12aXNpYmxlJyk7CiAgICAgICAgaGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2hlYWRlci0taGlkZGVuJyk7CiAgICAgICAgaXNIZWFkZXJIaWRkZW4gPSBmYWxzZTsKICAgICAgfQogICAgfQogICAgLy8gU3RhdGUgMzogUGFzdCB0aHJlc2hvbGQgLSBzaG93L2hpZGUgYmFzZWQgb24gc2Nyb2xsIGRpcmVjdGlvbgogICAgZWxzZSB7CiAgICAgIGlmIChzY3JvbGxUb3AgPiBsYXN0U2Nyb2xsVG9wICYmICFpc0hlYWRlckhpZGRlbikgewogICAgICAgIC8vIFNjcm9sbGluZyBkb3duIC0gaGlkZSBoZWFkZXIKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LnJlbW92ZSgnaGVhZGVyLS12aXNpYmxlJyk7CiAgICAgICAgaGVhZGVyLmNsYXNzTGlzdC5hZGQoJ2hlYWRlci0taGlkZGVuJyk7CiAgICAgICAgaXNIZWFkZXJIaWRkZW4gPSB0cnVlOwogICAgICB9IGVsc2UgaWYgKHNjcm9sbFRvcCA8IGxhc3RTY3JvbGxUb3AgJiYgaXNIZWFkZXJIaWRkZW4pIHsKICAgICAgICAvLyBTY3JvbGxpbmcgdXAgLSBzaG93IGhlYWRlcgogICAgICAgIGhlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCdoZWFkZXItLWhpZGRlbicpOwogICAgICAgIGhlYWRlci5jbGFzc0xpc3QuYWRkKCdoZWFkZXItLXZpc2libGUnKTsKICAgICAgICBpc0hlYWRlckhpZGRlbiA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgICAKICAgIGxhc3RTY3JvbGxUb3AgPSBzY3JvbGxUb3AgPD0gMCA/IDAgOiBzY3JvbGxUb3A7CiAgICB0aWNraW5nID0gZmFsc2U7CiAgfQogIAogIC8vIE9wdGltaXplZCBzY3JvbGwgZXZlbnQgd2l0aCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUKICBmdW5jdGlvbiBvblNjcm9sbCgpIHsKICAgIGlmICghaXNEZXNrdG9wIHx8IHRpY2tpbmcpIHJldHVybjsKICAgIAogICAgdGlja2luZyA9IHRydWU7CiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaGFuZGxlU2Nyb2xsKTsKICB9CiAgCiAgLy8gSGFuZGxlIHJlc2l6ZSB3aXRoIGRlYm91bmNpbmcKICBsZXQgcmVzaXplVGltZXI7CiAgZnVuY3Rpb24gb25SZXNpemUoKSB7CiAgICBjbGVhclRpbWVvdXQocmVzaXplVGltZXIpOwogICAgcmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgY29uc3Qgd2FzRGVza3RvcCA9IGlzRGVza3RvcDsKICAgICAgaXNEZXNrdG9wID0gd2luZG93LmlubmVyV2lkdGggPj0gQlJFQUtQT0lOVDsKICAgICAgCiAgICAgIC8vIFN3aXRjaGVkIGZyb20gZGVza3RvcCB0byBtb2JpbGUKICAgICAgaWYgKHdhc0Rlc2t0b3AgJiYgIWlzRGVza3RvcCkgewogICAgICAgIGhlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCdoZWFkZXItLWhpZGRlbicsICdoZWFkZXItLXZpc2libGUnKTsKICAgICAgICBoZWFkZXIuY2xhc3NMaXN0LmFkZCgnY29udGVudC1vZmZzZXQtLW9mZicpOwogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1RvcCA9ICcnOwogICAgICB9CiAgICAgIC8vIFN3aXRjaGVkIGZyb20gbW9iaWxlIHRvIGRlc2t0b3AKICAgICAgZWxzZSBpZiAoIXdhc0Rlc2t0b3AgJiYgaXNEZXNrdG9wKSB7CiAgICAgICAgaGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2NvbnRlbnQtb2Zmc2V0LS1vZmYnKTsKICAgICAgICBzZXRIZWlnaHRWYXJpYWJsZXMoKTsKICAgICAgICBsYXN0U2Nyb2xsVG9wID0gLTE7IC8vIEZvcmNlIHJlLWV2YWx1YXRpb24KICAgICAgICBoYW5kbGVTY3JvbGwoKTsKICAgICAgfQogICAgICAvLyBSZXNpemVkIG9uIGRlc2t0b3AKICAgICAgZWxzZSBpZiAoaXNEZXNrdG9wKSB7CiAgICAgICAgc2V0SGVpZ2h0VmFyaWFibGVzKCk7CiAgICAgICAgbGFzdFNjcm9sbFRvcCA9IC0xOyAvLyBGb3JjZSByZS1ldmFsdWF0aW9uCiAgICAgICAgaGFuZGxlU2Nyb2xsKCk7CiAgICAgIH0KICAgIH0sIDI1MCk7CiAgfQogIAogIC8vIEluaXRpYWxpemUKICBmdW5jdGlvbiBpbml0KCkgewogICAgaWYgKGlzRGVza3RvcCkgewogICAgICBoZWFkZXIuY2xhc3NMaXN0LnJlbW92ZSgnY29udGVudC1vZmZzZXQtLW9mZicpOwogICAgICBzZXRIZWlnaHRWYXJpYWJsZXMoKTsKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB9IGVsc2UgewogICAgICBoZWFkZXIuY2xhc3NMaXN0LmFkZCgnY29udGVudC1vZmZzZXQtLW9mZicpOwogICAgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKTsKICB9CiAgCiAgLy8gV2FpdCBmb3IgRE9NIHRvIGJlIGZ1bGx5IHJlYWR5CiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJykgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGluaXQpOwogIH0gZWxzZSB7CiAgICBpbml0KCk7CiAgfQogIAp9KSgpOwo="></script>
1386<script id="etch-script-iiq99" type="module" defer src="data:text/javascript;base64,Y2xhc3MgRXRjaEJ1cmdlclNjcmlwdCB7CiAgY29uc3RydWN0b3Iob3B0aW9ucyA9IHt9KSB7CiAgICB0aGlzLmJ1dHRvbiA9IG9wdGlvbnMuYnV0dG9uOwogICAgdGhpcy50YXJnZXQgPSB0aGlzLnJlc29sdmVUYXJnZXQob3B0aW9ucy50YXJnZXQpOwogICAgdGhpcy5zZWxmQXJpYUV4cGFuZGVkID0gb3B0aW9ucy5zZWxmQXJpYUV4cGFuZGVkID8/IGZhbHNlOwogICAgY29uc3QgdGFyZ2V0Q29uZmlnID0gb3B0aW9ucy50YXJnZXRPcHRpb25zID8/IHt9OwogICAgdGhpcy50YXJnZXRDbGFzcyA9IHRhcmdldENvbmZpZy5jbGFzcyA/PyBudWxsOwogICAgdGhpcy50YXJnZXRBcmlhRXhwYW5kZWQgPSB0YXJnZXRDb25maWcuYXJpYUV4cGFuZGVkID8/IGZhbHNlOwogICAgdGhpcy5vblRvZ2dsZSA9CiAgICAgIHR5cGVvZiBvcHRpb25zLm9uVG9nZ2xlID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5vblRvZ2dsZSA6IG51bGw7CiAgICB0aGlzLm9uQ2xvc2UgPQogICAgICB0eXBlb2Ygb3B0aW9ucy5vbkNsb3NlID09PSAnZnVuY3Rpb24nID8gb3B0aW9ucy5vbkNsb3NlIDogbnVsbDsKICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudHMgPSBbXTsKICAgIHRoaXMua2V5ZG93bkhhbmRsZXIgPSAoZSkgPT4gdGhpcy5oYW5kbGVLZXlEb3duKGUpOwogICAgdGhpcy5mb2N1c1RyYXBIYW5kbGVyID0gKGUpID0+IHRoaXMuaGFuZGxlRm9jdXNUcmFwKGUpOwogICAgdGhpcy5pbml0KCk7CiAgfQoKICBpbml0KCkgewogICAgaWYgKCF0aGlzLmJ1dHRvbikgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIEJ1cmdlciBidXR0b24nKTsKICAgIHRoaXMuYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKTsKICB9CgogIGlzRXRjaEVkaXRvcigpIHsKICAgIGNvbnN0IGlzSW5FZGl0b3IgPQogICAgICB3aW5kb3cgIT09IHdpbmRvdy50b3AgJiYgZnJhbWVFbGVtZW50LmlkID09PSAnZXRjaC1pZnJhbWUnOwogICAgcmV0dXJuIGlzSW5FZGl0b3I7CiAgfQoKICBpc01lbnVPcGVuKCkgewogICAgaWYgKHRoaXMuc2VsZkFyaWFFeHBhbmRlZCkgewogICAgICByZXR1cm4gdGhpcy5idXR0b24uZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJzsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIHJlc29sdmVUYXJnZXQodGFyZ2V0KSB7CiAgICBpZiAodGFyZ2V0ID09IG51bGwpIHJldHVybiBudWxsOwogICAgaWYgKHRoaXMuaXNFdGNoRWRpdG9yKCkpIHJldHVybiBudWxsOwogICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnKSB7CiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7CiAgICAgIGlmICghZWxlbWVudCkgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIHRhcmdldCBlbGVtZW50Jyk7CiAgICAgIHJldHVybiBlbGVtZW50OwogICAgfQogICAgaWYgKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSByZXR1cm4gdGFyZ2V0OwogICAgY29uc29sZS5lcnJvcigKICAgICAgJ0ludmFsaWQgdGFyZ2V0IOKAlCBtdXN0IGJlIGEgc2VsZWN0b3Igc3RyaW5nIG9yIEhUTUxFbGVtZW50JwogICAgKTsKICAgIHJldHVybiBudWxsOwogIH0KCiAgYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKSB7CiAgICB0aGlzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMuaGFuZGxlQ2xpY2soKSk7CiAgfQoKICBoYW5kbGVDbGljaygpIHsKICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5nZXRUb2dnbGVTdGF0ZSgpOwogICAgdGhpcy51cGRhdGVCdXJnZXJTdGF0ZShuZXdTdGF0ZSk7CiAgICB0aGlzLnVwZGF0ZVRhcmdldFN0YXRlKG5ld1N0YXRlKTsKICAgIHRoaXMudXBkYXRlQm9keVNjcm9sbChuZXdTdGF0ZSk7ICAvLyA8LS0gQWRkZWQKCiAgICBpZiAobmV3U3RhdGUpIHsKICAgICAgdGhpcy5zZXRGb2N1c1RyYXAoKTsKICAgIH0gZWxzZSB7CiAgICAgIHRoaXMucmVtb3ZlRm9jdXNUcmFwKCk7CiAgICB9CgogICAgdHJ5IHsKICAgICAgaWYgKHRoaXMub25Ub2dnbGUpIHRoaXMub25Ub2dnbGUobmV3U3RhdGUpOwogICAgICBpZiAoIW5ld1N0YXRlICYmIHRoaXMub25DbG9zZSkgdGhpcy5vbkNsb3NlKCk7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBvbiBjYWxsYmFjazonLCBlcnJvcik7CiAgICB9CiAgfQoKICBjbG9zZU1lbnUoKSB7CiAgICBjb25zb2xlLmxvZygnYnVyZ2VyIGNsb3NlTWVudSBjYWxsZWQnKTsKICAgIHRoaXMudXBkYXRlQnVyZ2VyU3RhdGUoZmFsc2UpOwogICAgdGhpcy51cGRhdGVUYXJnZXRTdGF0ZShmYWxzZSk7CiAgICB0aGlzLnVwZGF0ZUJvZHlTY3JvbGwoZmFsc2UpOyAgLy8gPC0tIEFkZGVkCiAgICB0aGlzLnJlbW92ZUZvY3VzVHJhcCgpOwogICAgdGhpcy5idXR0b24uZm9jdXMoKTsKICAgIHRyeSB7CiAgICAgIGlmICh0aGlzLm9uQ2xvc2UpIHRoaXMub25DbG9zZSgpOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igb24gY2FsbGJhY2s6JywgZXJyb3IpOwogICAgfQogIH0KCiAgLy8gTmV3IG1ldGhvZCB0byB0b2dnbGUgYm9keSBzY3JvbGwKICB1cGRhdGVCb2R5U2Nyb2xsKGlzT3BlbikgewogICAgaWYgKGlzT3BlbikgewogICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ25vLXNjcm9sbCcpOwogICAgfSBlbHNlIHsKICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCduby1zY3JvbGwnKTsKICAgIH0KICB9CgogIGdldFRvZ2dsZVN0YXRlKCkgewogICAgaWYgKHRoaXMuc2VsZkFyaWFFeHBhbmRlZCkgewogICAgICBjb25zdCBpc09wZW4gPSB0aGlzLmJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnOwogICAgICByZXR1cm4gIWlzT3BlbjsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKICB9CgogIGdldEFyaWFMYWJlbCgpIHsKICAgIHJldHVybiB0aGlzLmJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSB8fCAnJzsKICB9CgogIHNldEZvY3VzYWJsZUVsZW1lbnRzKCkgewogICAgdGhpcy5mb2N1c2FibGVFbGVtZW50cyA9IEFycmF5LmZyb20oCiAgICAgI
1386HRoaXMudGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoCiAgICAgICAgJ2EsIGJ1dHRvbiwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSItMSJdKScKICAgICAgKQogICAgKS5maWx0ZXIoCiAgICAgIChlbCkgPT4KICAgICAgICAhZWwuZGlzYWJsZWQgJiYKICAgICAgICBlbC5vZmZzZXRQYXJlbnQgIT09IG51bGwgJiYKICAgICAgICBnZXRDb21wdXRlZFN0eWxlKGVsKS52aXNpYmlsaXR5ICE9PSAnaGlkZGVuJwogICAgKTsKICB9CgogIHNldEZvY3VzVHJhcCgpIHsKICAgIGlmICghdGhpcy50YXJnZXQpIHJldHVybjsKICAgIHRoaXMuc2V0Rm9jdXNhYmxlRWxlbWVudHMoKTsKICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmtleWRvd25IYW5kbGVyLCB0cnVlKTsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmZvY3VzVHJhcEhhbmRsZXIsIHRydWUpOwogICAgdGhpcy5mb2N1c2FibGVFbGVtZW50c1swXT8uZm9jdXMoKTsKICB9CgogIHJlbW92ZUZvY3VzVHJhcCgpIHsKICAgIGlmICh0aGlzLnRhcmdldCkgewogICAgICB0aGlzLnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKAogICAgICAgICdrZXlkb3duJywKICAgICAgICB0aGlzLmtleWRvd25IYW5kbGVyLAogICAgICAgIHRydWUKICAgICAgKTsKICAgIH0KICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmZvY3VzVHJhcEhhbmRsZXIsIHRydWUpOwogICAgdGhpcy5mb2N1c2FibGVFbGVtZW50cyA9IFtdOwogIH0KCiAgdXBkYXRlQXJpYUxhYmVsKG5ld1N0YXRlKSB7CiAgICBjb25zdCBhcmlhTGFiZWwgPSB0aGlzLmdldEFyaWFMYWJlbCgpOwogICAgaWYgKCFhcmlhTGFiZWwpIHJldHVybjsKICAgIGNvbnN0IG1hdGNoID0gYXJpYUxhYmVsLm1hdGNoKC9eXHMqKFteXHNdKykoLiopJC8pOwogICAgY29uc3QgcmVzdCA9IG1hdGNoWzJdOwogICAgY29uc3QgYWN0aW9uID0gbmV3U3RhdGUgPyAnQ2xvc2UnIDogJ09wZW4nOwogICAgdGhpcy5idXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgYCR7YWN0aW9ufSR7cmVzdH1gKTsKICB9CgogIHVwZGF0ZUJ1cmdlclN0YXRlKG5ld1N0YXRlKSB7CiAgICBpZiAodGhpcy5zZWxmQXJpYUV4cGFuZGVkKSB7CiAgICAgIHRoaXMuYnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyhuZXdTdGF0ZSkpOwogICAgfQogICAgdGhpcy51cGRhdGVBcmlhTGFiZWwobmV3U3RhdGUpOwogIH0KCiAgdXBkYXRlVGFyZ2V0U3RhdGUobmV3U3RhdGUpIHsKICAgIGlmICh0aGlzLnRhcmdldCA9PSBudWxsKSByZXR1cm47CiAgICBpZiAoIXRoaXMudGFyZ2V0KSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIHRhcmdldCBlbGVtZW50Jyk7CiAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICh0aGlzLnRhcmdldENsYXNzKSB7CiAgICAgIHRoaXMudGFyZ2V0LmNsYXNzTGlzdC50b2dnbGUodGhpcy50YXJnZXRDbGFzcywgbmV3U3RhdGUpOwogICAgfQogICAgaWYgKHRoaXMudGFyZ2V0QXJpYUV4cGFuZGVkKSB7CiAgICAgIHRoaXMudGFyZ2V0LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyhuZXdTdGF0ZSkpOwogICAgfQogIH0KCiAgaGFuZGxlS2V5RG93bihlKSB7CiAgICBjb25zdCB7IGtleSB9ID0gZTsKICAgIGlmIChrZXkgPT09ICdFc2NhcGUnICYmIHRoaXMuaXNNZW51T3BlbigpKSB7CiAgICAgIGlmICh0aGlzLmhhc09wZW5TdWJtZW51cygpKSByZXR1cm47CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgdGhpcy5jbG9zZU1lbnUoKTsKICAgIH0KICB9CgogIGhhbmRsZUZvY3VzVHJhcChlKSB7CiAgICBjb25zdCB7IGtleSB9ID0gZTsKICAgIGlmICgKICAgICAgIXRoaXMuaXNNZW51T3BlbigpIHx8CiAgICAgIGtleSAhPT0gJ1RhYicgfHwKICAgICAgIXRoaXMuZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoCiAgICApCiAgICAgI
1386HJldHVybjsKCiAgICBjb25zdCBmb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CiAgICBjb25zdCBmb2N1c2VkSW5kZXggPSB0aGlzLmZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YoZm9jdXNlZEVsZW1lbnQpOwoKICAgIGlmIChlLnNoaWZ0S2V5KSB7CiAgICAgIGlmIChmb2N1c2VkSW5kZXggPT09IDApIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50c1t0aGlzLmZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdPy5mb2N1cygpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBpZiAoZm9jdXNlZEluZGV4ID09PSB0aGlzLmZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDEpIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50c1swXT8uZm9jdXMoKTsKICAgICAgfQogICAgfQogIH0KCiAgaGFzT3BlblN1Ym1lbnVzKCkgewogICAgaWYgKCF0aGlzLnRhcmdldCkgcmV0dXJuIGZhbHNlOwogICAgY29uc3Qgb3BlblN1Ym1lbnVzID0gdGhpcy50YXJnZXQucXVlcnlTZWxlY3RvckFsbCgKICAgICAgJy5ldGNoLW5hdl9fYnV0dG9uLS1kcm9wZG93bi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdLCAuZXRjaC1uYXZfX2J1dHRvbi0tZmx5b3V0LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSJ0cnVlIl0nCiAgICApOwogICAgcmV0dXJuIG9wZW5TdWJtZW51cy5sZW5ndGggPiAwOwogIH0KfQoKLy8gVGhlIHJlc3Qgb2YgeW91ciBpbnN0YW50aWF0aW9uIGNvZGUgcmVtYWlucyB1bmNoYW5nZWQKZnVuY3Rpb24gaW5zdGFudGlhdGVCdXJnZXJDbGFzcyhldGNoTmF2LCBvbkNsb3NlKSB7CiAgY29uc3QgYnVyZ2VyQnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmV0Y2gtYnVyZ2VyJyk7CiAgY29uc3QgYnVyZ2VySW5zdGFuY2UgPSBuZXcgRXRjaEJ1cmdlclNjcmlwdCh7CiAgICBidXR0b246IGJ1cmdlckJ0biwKICAgIHRhcmdldDogZXRjaE5hdiwKICAgIHNlbGZBcmlhRXhwYW5kZWQ6IHRydWUsCiAgICB0YXJnZXRPcHRpb25zOiB7CiAgICAgIGFyaWFFeHBhbmRlZDogdHJ1ZQogICAgfSwKICAgIG9uQ2xvc2UKICB9KTsKICB3aW5kb3cuZXRjaEVsZW1lbnRzID0gd2luZG93LmV0Y2hFbGVtZW50cyB8fCBbXTsKICB3aW5kb3cuZXRjaEVsZW1lbnRzLmV0Y2hCdXJnZXIgPSBidXJnZXJJbnN0YW5jZTsKfQoKY29uc3QgZXRjaE5hdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWV0Y2gtbmF2PSJtYWluIl0nKTsKaWYgKCFldGNoTmF2KSB7CiAgY29uc29sZS5lcnJvcignQnVyZ2VyIGNhbm5vdCBmaW5kIE5hdiBlbGVtZW50Jyk7Cn0gZWxzZSB7CiAgaW5zdGFudGlhdGVCdXJnZXJDbGFzcyhldGNoTmF2LCBjbG9zZUV0Y2hOYXYpOwp9CgpmdW5jdGlvbiBjbG9zZUV0Y2hOYXYoKSB7CiAgd2luZG93LmV0Y2hFbGVtZW50cz8uZXRjaE5hdj8uY2xvc2VBbGxOYXZzKCk7Cn0="></script>
1386<script id="etch-script-pkqp0" type="module" defer src="data:text/javascript;base64,Y2xhc3MgRXRjaE5hdlNjcmlwdCB7Cgljb25zdHJ1Y3RvcihuYXZFbGVtZW50LCBvcHRpb25zID0ge30pIHsKCQl0aGlzLm5hdkVsID0gbmF2RWxlbWVudDsKCQl0aGlzLm9wdGlvbnMgPSBvcHRpb25zOwoJCXRoaXMuaG92ZXJUaW1lb3V0cyA9IG5ldyBNYXAoKTsKCQl0aGlzLmlzVG91Y2hEZXZpY2UgPSB0aGlzLmRldGVjdFRvdWNoRGV2aWNlKCk7CgkJdGhpcy5pbml0KCk7Cgl9CgoJZGV0ZWN0VG91Y2hEZXZpY2UoKSB7CgkJcmV0dXJuICdvbnRvdWNoc3RhcnQnIGluIHdpbmRvdyB8fCBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAwOwoJfQoKCWluaXQoKSB7CgkJaWYgKCF0aGlzLm5hdkVsKSByZXR1cm4gY29uc29sZS5lcnJvcignQ2Fubm90IGZpbmQgTmF2IGVsZW1lbnQnKTsKCgkJdGhpcy5uYXZMaXN0ID0gdGhpcy5nZXROYXZMaXN0KCk7CgkJdGhpcy50b3BMZXZlbE5hdkl0ZW1zID0gdGhpcy5nZXRUb3BMZXZlbE5hdkl0ZW1zKHRoaXMubmF2TGlzdCk7CgkJdGhpcy5zZXRUYWJJbmRleCh0aGlzLnRvcExldmVsTmF2SXRlbXMpOwoKCQl0aGlzLmludGVyYWN0aW9uTW9kZSA9IHRoaXMubmF2RWwuZGF0YXNldD8ubmF2SW50ZXJhY3Rpb24gfHwgJ2hvdmVyJzsKCgkJW3RoaXMuZHJvcGRvd25CdXR0b25zLCB0aGlzLmZseW91dEJ1dHRvbnNdID0gdGhpcy5nZXRCdXR0b25zKAoJCQl0aGlzLm5hdkxpc3QKCQkpOwoJCVt0aGlzLmRyb3Bkb3duTmF2LCB0aGlzLmZseW91dE5hdl0gPSB0aGlzLmdldEFyZWFOYXYodGhpcy5uYXZMaXN0KTsKCgkJdGhpcy5zZXRCdXR0b25OYXZNYXAoKTsKCQl0aGlzLmJ1aWxkRm9jdXNNYXBzKCk7CgoJCXRoaXMuYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKTsKCQl0aGlzLnNldEluaXRpYWxOYXZTdGF0ZXMoKTsKCgkJaWYgKHRoaXMuaXNBcmlhQ3VycmVudFBhZ2VFbmFibGVkKCkpIHsKCQkJdGhpcy5zZXRBcmlhQ3VycmVudFBhZ2UoKTsKCQl9Cgl9CgoJZ2V0TmF2TGlzdCgpIHsKCQlyZXR1cm4gdGhpcy5uYXZFbC5xdWVyeVNlbGVjdG9yKCcuZXRjaC1uYXZfX2xpc3QnKTsKCX0KCglnZXRBcmlhQ3VycmVudFBhZ2VDb25maWcoKSB7CgkJY29uc3QgdmFsdWUgPSB0aGlzLm9wdGlvbnM/LmFyaWFDdXJyZW50UGFnZTsKCgkJaWYgKHZhbHVlID09PSB0cnVlKQoJCQlyZXR1cm4gewoJCQkJZW5hYmxlZDogdHJ1ZSwKCQkJCWhvbWVQYWdlOiB0cnVlCgkJCX07CgoJCWlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKQoJCQlyZXR1cm4gewoJCQkJZW5hYmxlZDogdHJ1ZSwKCQkJCWhvbWVQYWdlOiB2YWx1ZS5ob21lUGFnZSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUKCQkJfTsKCgkJcmV0dXJuIHsKCQkJZW5hYmxlZDogZmFsc2UKCQl9OwoJfQoKCXNldEFyaWFDdXJyZW50UGFnZSgpIHsKCQljb25zdCB7IGhvbWVQYWdlIH0gPSB0aGlzLmdldEFyaWFDdXJyZW50UGFnZUNvbmZpZygpOwoKCQljb25zdCBjdXJyZW50VXJsID0gdGhpcy5ub3JtYWxpemVVcmwod2luZG93LmxvY2F0aW9uLmhyZWYpOwoJCWNvbnN0IGhvbWVwYWdlVXJsID0gdGhpcy5ub3JtYWxpemVVcmwod2luZG93LmxvY2F0aW9uLm9yaWdpbik7CgoJCWlmICghaG9tZVBhZ2UgJiYgY3VycmVudFVybCA9PT0gaG9tZXBhZ2VVcmwpIHJldHVybjsKCgkJY29uc3QgbmF2TGlua3MgPSB0aGlzLnRvcExldmVsTmF2SXRlbXMuZmlsdGVyKAoJCQkoZWwpID0+CgkJCQllbC5jbGFzc0xpc3QuY29udGFpbnMoJ2V0Y2gtbmF2X19saW5rJykgJiYKCQkJCWVsLmhhc0F0dHJpYnV0ZSgnaHJlZicpCgkJKTsKCgkJZm9yIChjb25zdCBpdGVtIG9mIG5hdkxpbmtzKSB7CgkJCWNvbnN0IGl0ZW1VcmwgPSB0aGlzLm5vcm1hbGl6ZVVybCgKCQkJCW5ldyBVUkwoaXRlbS5ocmVmLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKS5ocmVmCgkJCSk7CgkJCWlmIChpdGVtVXJsID09PSBjdXJyZW50VXJsKSB7CgkJCQlpdGVtLnNldEF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JywgJ3BhZ2UnKTsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoKCWlzQXJpYUN1cnJlbnRQYWdlRW5hYmxlZCgpIHsKCQlyZXR1cm4gdGhpcy5nZXRBcmlhQ3VycmVudFBhZ2VDb25maWcoKS5lbmFibGVkOwoJfQoKCW5vcm1hbGl6ZVVybCh1cmwpIHsKCQlsZXQgbm9ybWFsaXplZCA9IHVybC5yZXBsYWNlKC9cLyskLywgJycpOwoJCWlmIChub3JtYWxpemVkID09PSB3aW5kb3cubG9jYXRpb24ub3JpZ2luKSB7CgkJCW5vcm1hbGl6ZWQgKz0gJy8nOwoJCX0KCQlyZXR1cm4gbm9ybWFsaXplZDsKCX0KCglnZXRUb3BMZXZlbE5hdkl0ZW1zKG5hdkxpc3QpIHsKCQlyZXR1cm4gQXJyYXkuZnJvbShuYXZMaXN0LmNoaWxkcmVuKS5mbGF0TWFwKChsaSkgPT4KCQkJQXJyYXkuZnJvbShsaS5jaGlsZHJlbikuZmlsdGVyKAoJCQkJKGVsKSA9PgoJCQkJCWVsLmNsYXNzTGlzdC5jb250YWlucygnZXRjaC1uYXZfX2xpbmsnKSB8fAoJCQkJCWVsLmNsYXNzTGlzdC5jb250YWlucygnZXRjaC1uYXZfX2J1dHRvbicpCgkJCSkKCQkpOwoJfQoKCWdldEJ1dHRvbnMobmF2TGlzdCkgewoJCXJldHVybiBbCgkJCUFycmF5LmZyb20oCgkJCQluYXZMaXN0LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldGNoLW5hdl9fYnV0dG9uLS1kcm9wZG93bi10b2dnbGUnKQoJCQkpLAoJCQlBcnJheS5mcm9tKAoJCQkJbmF2TGlzdC5xdWVyeVNlbGVjdG9yQWxsKCcuZXRjaC1uYXZfX2J1dHRvbi0tZmx5b3V0LXRvZ2dsZScpCgkJCSkKCQldOwoJfQoKCWdldEFyZWFOYXYobmF2TGlzdCkgewoJCXJldHVybiBbCgkJCUFycmF5LmZyb20obmF2TGlzdC5xdWVyeVNlbGVjdG9yQWxsKCcuZXRjaC1uYXZfX2Ryb3Bkb3duJykpLAoJCQlBcnJheS5mcm9tKG5hdkxpc3QucXVlcnlTZWxlY3RvckFsbCgnLmV0Y2gtbmF2X19mbHlvdXQnKSkKCQldOwoJfQoKCWdldEZvY3VzYWJsZUFyZWFFbGVtZW50cyhhcmVhTmF2KSB7CgkJcmV0dXJuIEFycmF5LmZyb20oYXJlYU5hdi5jaGlsZHJlbikuZmxhdE1hcCgobGkpID0+CgkJCUFycmF5LmZyb20oCgkJCQlsaS5xdWVyeVNlbGVjdG9yQWxsKAoJCQkJCSc6c2NvcGUgPiBhLCA6c2NvcGUgPiBidXR0b24sIDpzY29wZSA+IFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLT
1386EiXSknCgkJCQkpCgkJCSkKCQkpOwoJfQoKCWdldE9wZW5GbHlvdXRzSW5Ecm9wZG93bihkcm9wZG93bikgewoJCWNvbnN0IGZseW91dHMgPSBkcm9wZG93bi5xdWVyeVNlbGVjdG9yQWxsKCcuZXRjaC1uYXZfX2ZseW91dCcpOwoJCXJldHVybiBBcnJheS5mcm9tKGZseW91dHMpLmZpbHRlcigoZmx5b3V0KSA9PiB7CgkJCWNvbnN0IGJ1dHRvbiA9IHRoaXMuYXJlYVRyaWdnZXJNYXAuZ2V0KGZseW91dCk7CgkJCXJldHVybiBidXR0b24/LmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJfSk7Cgl9CgoJZ2V0T3Blbk5hdkZyb21CdXR0b24oYnV0dG9uKSB7CgkJY29uc3QgbmF2ID0gdGhpcy5idXR0b25OYXZNYXAuZ2V0KGJ1dHRvbik7CgkJY29uc3QgaXNPcGVuID0gYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJcmV0dXJuIGlzT3BlbiA/IG5hdiA6IG51bGw7Cgl9CgoJZ2V0Q29udGV4dEZvclRhcmdldCh0YXJnZXQpIHsKCQljb25zdCBhcmVhID0gdGhpcy5lbGVtZW50QXJlYU1hcC5nZXQodGFyZ2V0KTsKCQlpZiAoIWFyZWEpIHsKCQkJcmV0dXJuIHsKCQkJCXR5cGU6ICd0b3AtbGV2ZWwnLAoJCQkJaXRlbXM6IHRoaXMudG9wTGV2ZWxOYXZJdGVtcywKCQkJCWFyZWE6IG51bGwKCQkJfTsKCQl9CgkJY29uc3QgaXRlbXMgPSB0aGlzLmFyZWFGb2N1c01hcC5nZXQoYXJlYSk7CgkJY29uc3QgdHlwZSA9IGFyZWEuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZmx5b3V0JykKCQkJPyAnZmx5b3V0JwoJCQk6ICdkcm9wZG93bic7CgkJcmV0dXJuIHsgdHlwZSwgaXRlbXMsIGFyZWEgfTsKCX0KCglnZXRQYXJlbnREcm9wZG93bihlbGVtZW50KSB7CgkJbGV0IHBhcmVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDsKCQl3aGlsZSAocGFyZW50KSB7CgkJCWlmIChwYXJlbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZHJvcGRvd24nKSkgcmV0dXJuIHBhcmVudDsKCQkJcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7CgkJfQoJCXJldHVybiBudWxsOwoJfQoKCXNldFRhYkluZGV4KGl0ZW1zKSB7CgkJaXRlbXMuZm9yRWFjaCgoZWwpID0+IGVsLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpKTsKCX0KCglzZXRCdXR0b25OYXZNYXAoKSB7CgkJdGhpcy5idXR0b25OYXZNYXAgPSBuZXcgTWFwKCk7CgoJCXRoaXMuZHJvcGRvd25CdXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IHsKCQkJY29uc3QgbGkgPSBidXR0b24uY2xvc2VzdCgnbGknKTsKCQkJY29uc3QgZHJvcGRvd24gPSB0aGlzLmRyb3Bkb3duTmF2LmZpbmQoCgkJCQkobSkgPT4gbS5jbG9zZXN0KCdsaScpID09PSBsaQoJCQkpOwoJCQlpZiAoZHJvcGRvd24pIHRoaXMuYnV0dG9uTmF2TWFwLnNldChidXR0b24sIGRyb3Bkb3duKTsKCQl9KTsKCgkJdGhpcy5mbHlvdXRCdXR0b25zPy5mb3JFYWNoKChidXR0b24pID0+IHsKCQkJY29uc3QgbGkgPSBidXR0b24uY2xvc2VzdCgnbGknKTsKCQkJY29uc3QgZmx5b3V0ID0gdGhpcy5mbHlvdXROYXYuZmluZCgobSkgPT4gbS5jbG9zZXN0KCdsaScpID09PSBsaSk7Cg
1386kJCWlmIChmbHlvdXQpIHRoaXMuYnV0dG9uTmF2TWFwLnNldChidXR0b24sIGZseW91dCk7CgkJfSk7Cgl9CgoJc2V0QXJlYU5hdlN0YXRlKGJ1dHRvbiwgb3BlbikgewoJCWNvbnN0IG5hdiA9IHRoaXMuYnV0dG9uTmF2TWFwLmdldChidXR0b24pOwoJCWlmICghbmF2KSByZXR1cm47CgoJCWJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBTdHJpbmcob3BlbikpOwoKCQlpZiAob3BlbikgewoJCQl0aGlzLnNldEV4cGFuZGVkTmF2SGVpZ2h0KG5hdik7CgkJfSBlbHNlIHsKCQkJdGhpcy5zZXRDb2xsYXBzZWROYXZIZWlnaHQobmF2KTsKCgkJCWlmIChuYXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZHJvcGRvd24nKSkgewoJCQkJY29uc3Qgb3BlbkZseW91dHMgPSB0aGlzLmdldE9wZW5GbHlvdXRzSW5Ecm9wZG93bihuYXYpOwoJCQkJZm9yIChjb25zdCBmbHlvdXQgb2Ygb3BlbkZseW91dHMpIHsKCQkJCQljb25zdCBmbHlvdXRCdXR0b24gPSB0aGlzLmFyZWFUcmlnZ2VyTWFwLmdldChmbHlvdXQpOwoJCQkJCWZseW91dEJ1dHRvbj8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7CiAgICAgICAgICAgICAgICAgIGZseW91dC5zdHlsZS5tYXhIZWlnaHQgPSAnMHB4JzsKCQkJCX0KCQkJfQoKCQl9CgoJCWlmIChuYXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdldGNoLW5hdl9fZmx5b3V0JykpIHsKCQkJdGhpcy5jYWxjdWxhdGVEcm9wZG93bkV4dHJhSGVpZ2h0KG5hdik7CgkJfQoJfQoKCXNldEluaXRpYWxOYXZTdGF0ZXMoKSB7CgkJZm9yIChjb25zdCBbYnV0dG9uXSBvZiB0aGlzLmJ1dHRvbk5hdk1hcC5lbnRyaWVzKCkpIHsKCQkJY29uc3QgaXNPcGVuID0gYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJCXRoaXMuc2V0QXJlYU5hdlN0YXRlKGJ1dHRvbiwgaXNPcGVuKTsKCQl9Cgl9CgoJc2V0RXhwYW5kZWROYXZIZWlnaHQobmF2KSB7CgkJY29uc3QgaGVpZ2h0ID0gdGhpcy5jYWxjdWxhdGVOYXZIZWlnaHQobmF2KTsKCQluYXYuc3R5bGUubWF4SGVpZ2h0ID0gJzBweCc7CgkJbmF2Lm9mZnNldEhlaWdodDsgLy8gZm9yY2UgcmVmbG93CgkJbmF2LnN0eWxlLm1heEhlaWdodCA9IGAke2hlaWdodH1weGA7Cgl9CgoJc2V0Q29sbGFwc2VkTmF2SGVpZ2h0KG5hdikgewoJCW5hdi5zdHlsZS5tYXhIZWlnaHQgPSBgJHtuYXYuc2Nyb2xsSGVpZ2h0fXB4YDsKCQluYXYub2Zmc2V0SGVpZ2h0OyAvLyBmb3JjZSByZWZsb3cKCQluYXYuc3R5bGUubWF4SGVpZ2h0ID0gJzBweCc7Cgl9CgoJYnVpbGRGb2N1c01hcHMoKSB7CgkJdGhpcy5hcmVhRm9jdXNNYXAgPSBuZXcgTWFwKCk7CgkJdGhpcy5hcmVhVHJpZ2dlck1hcCA9IG5ldyBNYXAoKTsKCQl0aGlzLmVsZW1lbnRBcmVhTWFwID0gbmV3IE1hcCgpOwoKCQlmb3IgKGNvbnN0IGVsIG9mIHRoaXMudG9wTGV2ZWxOYXZJdGVtcykgewoJCQl0aGlzLmVsZW1lbnRBcmVhTWFwLnNldChlbCwgdW5kZWZpbmVkKTsKCQl9CgoJCVsuLi50aGlzLmRyb3Bkb3duTmF2LCAuLi50aGlzLmZseW91dE5hdl0uZm9yRWFjaCgobmF2KSA9PiB7CgkJCWNvbnN0IGJ1dHRvbiA9IFsuLi50aGlzLmJ1dHRvbk5hdk1hcC5lbnRyaWVzKCldLmZpbmQoCgkJCQkoWywgbV0pID0+IG0gPT09IG5hdgoJCQkpPy5bMF07CgkJCWlmICghYnV0dG9uKSByZXR1cm47CgoJCQljb25zdCBpdGVtcyA9IHRoaXMuZ2V0Rm9jdXNhYmxlQXJlYUVsZW1lbnRzKG5hdik7CgoJCQl0aGlzLmFyZWFGb2N1c01hcC5zZXQobmF2LCBpdGVtcyk7CgkJCXRoaXMuYXJlYVRyaWdnZXJNYXAuc2V0KG5hdiwgYnV0dG9uKTsKCgkJCWZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykgewoJCQkJdGhpcy5lbGVtZW50QXJlYU1hcC5zZXQoaXRlbSwgbmF2KTsKCQkJfQoJCX0pOwoJfQoKCWNhbGN1bGF0ZU5hdkhlaWdodChuYXYpIHsKCQlpZiAobmF2LmNsYXNzTGlzdC5jb250YWlucygnZXRjaC1uYXZfX2ZseW91dCcpKSB7CgkJCXJldHVybiBuYXYuc2Nyb2xsSGVpZ2h0OwoJCX0KCgkJY29uc3QgZHJvcGRvd25NYXhIZWlnaHQgPSBuYXYuc3R5bGUubWF4SGVpZ2h0OwoJCW5hdi5zdHlsZS5tYXhIZWlnaHQgPSAnbm9uZSc7CgkJbGV0IHRvdGFsSGVpZ2h0ID0gbmF2LnNjcm9sbEhlaWdodDsKCQluYXYuc3R5bGUubWF4SGVpZ2h0ID0gZHJvcGRvd25NYXhIZWlnaHQ7CgoJCWNvbnN0IG9wZW5GbHlvdXRzID0gdGhpcy5nZXRPcGVuRmx5b3V0c0luRHJvcGRvd24obmF2KTsKCQlmb3IgKGNvbnN0IGZseW91dCBvZiBvcGVuRmx5b3V0cykgewoJCQl0b3RhbEhlaWdodCArPSBmbHlvdXQuc2Nyb2xsSGVpZ2h0OwoJCX0KCgkJcmV0dXJuIHRvdGFsSGVpZ2h0OwoJfQoKCS8vIFRoaXMgbWV0aG9kIG1hdGNoZXMgdGhlIGRyb3Bkb3duIGhlaWdodCB3aGVuIGEgZmx5b3V0IGlzIG9wZW5lZAoJY2FsY3VsYXRlRHJvcGRvd25FeHRyYUhlaWdodChmbHlvdXQpIHsKCQljb25zdCBwYXJlbnREcm9wZG93biA9IHRoaXMuZ2V0UGFyZW50RHJvcGRvd24oZmx5b3V0KTsKCQlpZiAoIXBhcmVudERyb3Bkb3duKSByZXR1cm47CgoJCWNvbnN0IGJ1dHRvbiA9IHRoaXMuYXJlYVRyaWdnZXJNYXAuZ2V0KHBhcmVudERyb3Bkb3duKTsKCQlpZiAoYnV0dG9uPy5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnKSB7CgkJCWNvbnN0IGhlaWdodCA9IHRoaXMuY2FsY3VsYXRlTmF2SGVpZ2h0KHBhcmVudERyb3Bkb3duKTsKCQkJcGFyZW50RHJvcGRvd24uc3R5bGUubWF4SGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDsKCQl9Cgl9CgoJdG9nZ2xlQXJlYU5hdihidXR0b24pIHsKCQl0aGlzLmNsZWFySG92ZXJUaW1lb3V0KGJ1dHRvbik7CgoJCWNvbnN0IGlzT3BlbiA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnOwoJCXRoaXMuc2V0QXJlYU5hdlN0YXRlKGJ1dHRvbiwgIWlzT3Blbik7CgkJaWYgKCFpc09wZW4pIHsKCQkJdGhpcy5jbG9zZVNpYmxpbmdOYXYoYnV0dG9uKTsKCQkJdGhpcy5oYW5kbGVNb2JpbGVNZW51Rm9jdXMoYnV0dG9uKTsKCQl9Cgl9CgoJaGFuZGxlTW9iaWxlTWVudUZvY3VzKGJ1dHRvbikgewoJCWNvbnN0IGlzTW9iaWxlTWVudU9wZW4gPQoJCQl0aGlzLm5hdkVsLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZSc7CgkJaWYgKCFpc01vYmlsZU1lbnVPcGVuKSByZXR1cm47CgoJCWNvbnN0IG5hdiA9IHRoaXMuYnV0dG9uTmF2TWFwLmdldChidXR0b24pOwoJCWNvbnN0IGl0ZW
13861zID0gdGhpcy5hcmVhRm9jdXNNYXAuZ2V0KG5hdik7CgkJaWYgKCFpdGVtcz8ubGVuZ3RoKSByZXR1cm47CgoJCWNvbnN0IGZvY3VzRmlyc3RJdGVtID0gKCkgPT4gewoJCQlpdGVtc1swXS5mb2N1cygpOwoJCX07CgoJCWNvbnN0IHJlbW92ZUxpc3RlbmVycyA9ICgpID0+IHsKCQkJbmF2LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSk7CgkJCW5hdi5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSk7CgkJfTsKCgkJbmF2LmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSwgeyBvbmNlOiB0cnVlIH0pOwoJCW5hdi5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCBmb2N1c0ZpcnN0SXRlbSwgeyBvbmNlOiB0cnVlIH0pOwoKCQlzZXRUaW1lb3V0KCgpID0+IHsKCQkJcmVtb3ZlTGlzdGVuZXJzKCk7CgkJCWZvY3VzRmlyc3RJdGVtKCk7CgkJfSwgMTAwKTsKCX0KCgljbG9zZVNpYmxpbmdOYXYoY3VycmVudEJ1dHRvbikgewoJCWZvciAoY29uc3QgW2J1dHRvbl0gb2YgdGhpcy5idXR0b25OYXZNYXAuZW50cmllcygpKSB7CgkJCWlmICgKCQkJCWJ1dHRvbiAhPT0gY3VycmVudEJ1dHRvbiAmJgoJCQkJYnV0dG9uLmNsb3Nlc3QoJ3VsJykgPT09IGN1cnJlbnRCdXR0b24uY2xvc2VzdCgndWwnKSAmJgoJCQkJYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpID09PSAndHJ1ZScKCQkJKSB7CgkJCQl0aGlzLnNldEFyZWFOYXZTdGF0ZShidXR0b24sIGZhbHNlKTsKCQkJfQoJCX0KCX0KCgljbG9zZUFsbE5hdnMoKSB7CgkJZm9yIChjb25zdCBbYnV0dG9uXSBvZiB0aGlzLmJ1dHRvbk5hdk1hcC5lbnRyaWVzKCkpIHsKCQkJdGhpcy5zZXRBcmVhTmF2U3RhdGUoYnV0dG9uLCBmYWxzZSk7CgkJfQoJfQoKCWNsb3NlTmF2QW5kUmV0dXJuRm9jdXMoYXJlYSkgewogICAgICBjb25zb2xlLmxvZygnY2xvc2VOYXZBbmRSZXR1cm5Gb2N1cyBjYWxsZWQnKQoJCWNvbnN0IGJ1dHRvbiA9IHRoaXMuYXJlYVRyaWdnZXJNYXAuZ2V0KGFyZWEpOwoJCWlmIChidXR0b24pIHsKCQkJdGhpcy5zZXRBcmVhTmF2U3RhdGUoYnV0dG9uLCBmYWxzZSk7CgkJCWJ1dHRvbi5mb2N1cygpOwoJCX0KCX0KCglmb2N1c0ZpcnN0Q2hpbGROY
1386XZJdGVtSWZPcGVuKGJ1dHRvbikgewoJCWNvbnN0IG5hdiA9IHRoaXMuZ2V0T3Blbk5hdkZyb21CdXR0b24oYnV0dG9uKTsKCQlpZiAoIW5hdikgcmV0dXJuIHsgZm9jdXNlZDogZmFsc2UsIHR5cGU6IG51bGwgfTsKCgkJY29uc3QgaXRlbXMgPSB0aGlzLmFyZWFGb2N1c01hcC5nZXQobmF2KTsKCQlpZiAoaXRlbXM/Lmxlbmd0aCkgaXRlbXNbMF0uZm9jdXMoKTsKCgkJY29uc3QgdHlwZSA9IG5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ2V0Y2gtbmF2X19mbHlvdXQnKQoJCQk/ICdmbHlvdXQnCgkJCTogJ2Ryb3Bkb3duJzsKCQlyZXR1cm4geyBmb2N1c2VkOiB0cnVlLCB0eXBlIH07Cgl9CgoJbW92ZUZvY3VzKGl0ZW1zLCBkaXJlY3Rpb24pIHsKCQljb25zdCBhY3RpdmUgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwoJCWxldCBpbmRleCA9IGl0ZW1zLmluZGV4T2YoYWN0aXZlKTsKCQlpZiAoaW5kZXggPT09IC0xKSBpbmRleCA9IDA7CgoJCWxldCBuZXh0ID0gaW5kZXggKyBkaXJlY3Rpb247CgkJaWYgKG5leHQgPj0gaXRlbXMubGVuZ3RoKSBuZXh0ID0gMDsKCQlpZiAobmV4dCA8IDApIG5leHQgPSBpdGVtcy5sZW5ndGggLSAxOwoKCQlpdGVtc1tuZXh0XT8uZm9jdXM/LigpOwoJfQoKCWhhbmRsZUZvY3VzSW4oZSkgewoJCWNvbnN0IG5ld2x5Rm9jdXNlZEVsZW1lbnQgPSBlLnRhcmdldDsKCQljb25zdCBpc1RvcExldmVsSXRlbSA9CgkJCXRoaXMudG9wTGV2ZWxOYXZJdGVtcy5pbmNsdWRlcyhuZXdseUZvY3VzZWRFbGVtZW50KTsKCgkJY29uc3QgaXNJbk9wZW5OYXYgPSBbLi4udGhpcy5idXR0b25OYXZNYXAuZW50cmllcygpXS5zb21lKAoJCQkoW2J0biwgbmF2XSkgPT4gewoJCQkJY29uc3QgaXNCdXR0b25PcGVuID0KCQkJCQlidG4uZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJzsKCQkJCWNvbnN0IGlzV2l0aGluTmF2ID0KCQkJCQluYXYuY29udGFpbnMobmV3bHlGb2N1c2VkRWxlbWVudCkgfHwKCQkJCQlidG4gPT09IG5ld2x5Rm9jdXNlZEVsZW1lbnQ7CgoJCQkJcmV0dXJuIGlzQnV0dG9uT3BlbiAmJiBpc1dpdGhpbk5hdjsKCQkJfQoJCSk7CgoJCWlmIChpc1RvcExldmVsSXRlbSAmJiAhaXNJbk9wZW5OYXYpIHsKCQkJdGhpcy5jbG9zZUFsbE5hdnMoKTsKCQl9Cgl9CgoJYXR0YWNoRXZlbnRMaXN0ZW5lcnMoKSB7CgkJdGhpcy5hdHRhY2hDbGlja0V2ZW50TGlzdGVuZXJzKCk7CgkJdGhpcy5hdHRhY2hIb3ZlckV2ZW50TGlzdGVuZXJzKCk7CgoJCXRoaXMubmF2RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB0aGlzLmhhbmRsZUtleURvd24oZSkpOwoJCXRoaXMubmF2RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIChlKSA9PiB0aGlzLmhhbmRsZUZvY3VzSW4oZSkpOwoKCQlpZiAoWydjbGljaycsICdjbGljay1zdWItaG92ZXInXS5pbmNsdWRlcyh0aGlzLmludGVyYWN0aW9uTW9kZSkpIHsKCQkJdGhpcy5hdHRhY2hDbGlja091dHNpZGVMaXN0ZW5lcigpOwoJCX0KCX0KCglhdHRhY2hDbGlja0V2ZW50TGlzdGVuZXJzKCkgewoJCVsuLi50aGlzLmRyb3Bkb3duQnV0dG9ucywgLi4udGhpcy5mbHlvdXRCdXR0b25zXS5mb3JFYWNoKChidG4pID0+CgkJCWJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMudG9nZ2xlQXJlYU5hdihidG4pKQoJCSk7Cgl9CgoJYXR0YWNoSG92ZXJFdmVudExpc3RlbmVycygpIHsKCQlpZiAodGhpcy5pc1RvdWNoRGV2aWNlIHx8IHRoaXMuaW50ZXJhY3Rpb25Nb2RlID09PSAnY2xpY2snKSByZXR1cm47CgoJCWNvbnN0IGJ1dHRvbnNUb0hvdmVyID0KCQkJdGhpcy5pbnRlcmFjdGlvbk1vZGUgPT09ICdjbGljay1zdWItaG92ZXInCgkJCQk/IHRoaXMuZmx5b3V0QnV0dG9ucwoJCQkJOiBbLi4udGhpcy5kcm9wZG93bkJ1dHRvbnMsIC4uLnRoaXMuZmx5b3V0QnV0dG9uc107CgoJCWJ1dHRvbnNUb0hvdmVyLmZvckVhY2goKGJ1dHRvbikgPT4gewoJCQljb25zdCBuYXYgPSB0aGlzLmJ1dHRvbk5hdk1hcC5nZXQoYnV0dG9uKTsKCQkJaWYgKCFuYXYpIHJldHVybjsKCgkJCWNvbnN0IGNsZWFyID0gKCkgPT4gdGhpcy5jbGVhckhvdmVyVGltZW91dChidXR0b24pOwoJCQljb25zdCBzY2hlZHVsZSA9ICgpID0+IHRoaXMuc2NoZWR1bGVIb3ZlclRpbWVvdXQoYnV0dG9uLCBuYXYpOwoKCQkJYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB7CgkJCQljb25zdCBpc09wZW4gPSBidXR0b24uZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgPT09ICd0cnVlJzsKCQkJCWlmICghaXNPcGVuKSB0aGlzLnNldEFyZWFOYXZTdGF0ZShidXR0b24sIHRydWUpOwoJCQl9KTsKCgkJCWJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgc2NoZWR1bGUpOwoJCQluYXYuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHNjaGVkdWxlKTsKCQkJbmF2LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBjbGVhcik7CgkJfSk7Cgl9CgoJYXR0YWNoQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKSB7CgkJdGhpcy5fb25DbGlja091dHNpZGUgPSAoZSkgPT4gewoJCQlpZiAoIXRoaXMubmF2RWwuY29udGFpbnMoZS50YXJnZXQpKSB7CgkJCQl0aGlzLmNsb3NlQWxsTmF2cygpOwoJCQl9CgkJfTsKCgkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9vbkNsaWNrT3V0c2lkZSk7Cgl9CgoJc2NoZWR1bGVIb3ZlclRpbWVvdXQoYnV0dG9uLCBuYXYpIHsKCQl0aGlzLmNsZWFySG92ZXJUaW1lb3V0KGJ1dHRvbik7CgoJCWNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHsKCQkJY29uc3QgaXNIb3ZlcmluZyA9CgkJCQlidXR0b24ubWF0Y2hlcygnOmhvdmVyJykgfHwKCQkJCW5hdi5tYXRjaGVzKCc6aG92ZXInKSB8fAoJCQkJbmF2LmNvbnRhaW5zKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJzpob3ZlcicpKTsKCgkJCWlmICghaXNIb3ZlcmluZykgdGhpcy5zZXRBcmVhTmF2U3RhdGUoYnV0dG9uLCBmYWxzZSk7CgkJCXRoaXMuaG92ZXJUaW1lb3V0cy5kZWxldGUoYnV0dG9uKTsKCQl9LCAyNSk7CgoJCXRoaXMuaG92ZXJUaW1lb3V0cy5zZXQoYnV0dG9uLCB0aW1lb3V0KTsKCX0KCgljbGVhckhvdmVyVGltZW91dChidXR0b24pIHsKCQlpZiAodGhpcy5ob3ZlclRpbWVvdXRzLmhhcyhidXR0b24pKSB7CgkJCWNsZWFyVGltZW91dCh0aGlzLmhvdmVyVGltZW91dHMuZ2V0KGJ1dHRvbikpOwoJCQl0aGlzLmhvdmVyVGltZW91dHMuZGVsZXRlKGJ1dHRvbik7CgkJfQoJfQoKCWhhbmRsZUtleURvd24oZSkgewoJCWNvbnN0IHsga2V5LCB0YXJnZXQgfSA9IGU7CgkJY29uc3QgeyB0eXBlLCBpdGVtcywgYXJlYSB9ID0gdGhpcy5nZXRDb250ZXh0Rm9yVGFyZ2V0KHRhcmdldCk7CgoJCXN3aXRjaCAoa2V5KSB7CgkJCWNhc2UgJ0Fycm93UmlnaHQnOgoJCQljYXNlICdBcnJvd0xlZnQnOgoJCQljYXNlICdBcnJvd1VwJzoKCQkJY2FzZSAnQXJyb3dEb3duJzoKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCXRoaXMuaGFuZGxlRGlyZWN0aW9uYWxBcnJvdyhrZXksIHR5cGUsIGl0ZW
13861zLCB0YXJnZXQsIGFyZWEpOwoJCQkJYnJlYWs7CgkJCWNhc2UgJ1RhYic6CgkJCQlpZiAoZS5zaGlmdEtleSAmJiBhcmVhICYmIGl0ZW1zLmluZGV4T2YodGFyZ2V0KSA9PT0gMCkgewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQl0aGlzLmNsb3NlTmF2QW5kUmV0dXJuRm9jdXMoYXJlYSk7CgkJCQl9CgkJCQlicmVhazsKCQkJY2FzZSAnRW50ZXInOgoJCQljYXNlICcgJzoKCQkJCWlmICh0aGlzLmJ1dHRvbk5hdk1hcC5oYXModGFyZ2V0KSkgewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQl0aGlzLnRvZ2dsZUFyZWFOYXYodGFyZ2V0KTsKCQkJCX0KCQkJCWJyZWFrOwoJCQljYXNlICdFc2NhcGUnOgoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCXRoaXMuaGFuZGxlRXNjYXBlS2V5KGFyZWEpOwoJCQkJYnJlYWs7CgkJfQoJfQoKCWhhbmRsZUVzY2FwZUtleShhcmVhKSB7CgkJaWYgKGFyZWEpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKCdhcmVhIGlzJywgYXJlYSkKCQkJdGhpcy5jbG9zZU5hdkFuZFJldHVybkZvY3VzKGFyZWEpOwoJCX0gZWxzZSB7CiAgICAgICAgICBjb25zb2xlLmxvZygnYXJlYSBzaG91bGQgbm90IGJlJykKCQkJdGhpcy5jbG9zZUFsbE5hdnMoKTsKCQl9Cgl9CgoJaGFuZGxlRGlyZWN0aW9uYWxBcnJvdyhrZXksIHR5cGUsIGl0ZW1zLCB0YXJnZXQsIGFyZWEpIHsKCQljb25zdCBpbmRleCA9IGl0ZW1zLmluZGV4T2YodGFyZ2V0KTsKCQljb25zdCBpc0ZpcnN0ID0gaW5kZXggPT09IDA7CgoJCXN3aXRjaCAoa2V5KSB7CgkJCWNhc2UgJ0Fycm93UmlnaHQnOgoJCQkJaWYgKHR5cGUgPT09ICd0b3AtbGV2ZWwnIHx8IHR5cGUgPT09ICdmbHlvdXQnKSB7CgkJCQkJdGhpcy5tb3ZlRm9jdXMoaXRlbXMsIDEpOwoJCQkJfSBlbHNlIGlmICh0eXBlID09PSAnZHJvcGRvd24nKSB7CgkJCQkJY29uc3QgeyBmb2N1c2VkLCB0eXBlOiBuZXh0VHlwZSB9ID0KCQkJCQkJdGhpcy5mb2N1c0ZpcnN0Q2hpbGROY
1386XZJdGVtSWZPcGVuKHRhcmdldCk7CgkJCQkJaWYgKCFmb2N1c2VkIHx8IG5leHRUeXBlICE9PSAnZmx5b3V0JykKCQkJCQkJdGhpcy5tb3ZlRm9jdXMoaXRlbXMsIDEpOwoJCQkJfQoJCQkJYnJlYWs7CgkJCWNhc2UgJ0Fycm93TGVmdCc6CgkJCQlpZiAodHlwZSA9PT0gJ3RvcC1sZXZlbCcgfHwgdHlwZSA9PT0gJ2Ryb3Bkb3duJykgewoJCQkJCXRoaXMubW92ZUZvY3VzKGl0ZW1zLCAtMSk7CgkJCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdmbHlvdXQnKSB7CgkJCQkJaWYgKCFpc0ZpcnN0KSB0aGlzLm1vdmVGb2N1cyhpdGVtcywgLTEpOwoJCQkJCWVsc2UgdGhpcy5jbG9zZU5hdkFuZFJldHVybkZvY3VzKGFyZWEpOwoJCQkJfQoJCQkJYnJlYWs7CgkJCWNhc2UgJ0Fycm93VXAnOgoJCQkJaWYgKHR5cGUgPT09ICdkcm9wZG93bicpIHsKCQkJCQlpZiAoIWlzRmlyc3QpIHRoaXMubW92ZUZvY3VzKGl0ZW1zLCAtMSk7CgkJCQkJZWxzZSB0aGlzLmNsb3NlTmF2QW5kUmV0dXJuRm9jdXMoYXJlYSk7CgkJCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdmbHlvdXQnKSB7CgkJCQkJdGhpcy5tb3ZlRm9jdXMoaXRlbXMsIC0xKTsKCQkJCX0KCQkJCWJyZWFrOwoJCQljYXNlICdBcnJvd0Rvd24nOgoJCQkJaWYgKHR5cGUgPT09ICd0b3AtbGV2ZWwnKSB7CgkJCQkJdGhpcy5mb2N1c0ZpcnN0Q2hpbGROYXZJdGVtSWZPcGVuKHRhcmdldCk7CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMubW92ZUZvY3VzKGl0ZW1zLCAxKTsKCQkJCX0KCQkJCWJyZWFrOwoJCX0KCX0KfQoKZnVuY3Rpb24gaW5zdGFudGlhdGVOYXZDbGFzcyhvcHRpb25zID0ge30pIHsKCS8vIGV0Y2ggbmF2IGVsZW1lbnQgKCBpZiB5b3UgY2hhbmdlZCB0aGUgZGF0YS1ldGNoLW5hdiBhdHRyaWJ1dGUgdmFsdWUgaW4gaHRtbCwgaXQgbmVlZCB0byBiZSByZWZsZWN0ZWQgaGVyZSBhcyB3ZWxsKQoJY29uc3QgbmF2RWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1ldGNoLW5hdj0ibWFpbiJdJyk7CgoJaWYgKCFuYXZFbCkgewoJCWNvbnNvbGUuZXJyb3IoCgkJCSdDYW5ub3QgZmluZCBOYXYgZWxlbWVudCwgaXMgdGhlIFtkYXRhLWV0Y2gtbmF2PSIiXSBhdHRyaWJ1dGUgY29ycmVjdD8nCgkJKTsKCQlyZXR1cm47Cgl9CgoJLy8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBuYXYgc2NyaXB0Cgljb25zdCBuYXZJbnN0YW5jZSA9IG5ldyBFdGNoTmF2U2NyaXB0KG5hdkVsLCBvcHRpb25zKTsKCgkvLyB1c2UgZXRjaEVsZW1lbnRzIHdpbmRvdyBvYmplY3Qgb3IgY3JlYXRlIGEgbmV3IG9uZSBpZiBkb2VzbnQgZXhpc3QKCXdpbmRvdy5ldGNoRWxlbWVudHMgPSB3aW5kb3cuZXRjaEVsZW1lbnRzIHx8IFtdOwoJLy8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIG5hdkluc3RhbmNlIG9uIHRoZSB3aW5kb3cKCXdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaE5hdiA9IG5hdkluc3RhbmNlOwp9CgppbnN0YW50aWF0ZU5hdkNsYXNzKHsKCWFyaWFDdXJyZW50UGFnZTogdHJ1ZQp9KTsK"></script>
1386<script id="etch-script-40tdb" type="module" defer src="data:text/javascript;base64,Y2xhc3MgRXRjaERpYWxvZyB7CgkvLyBTdGF0aWMgQ29uc3RhbnRzCglzdGF0aWMgU0VMRUNUT1JTID0gewoJCUNMT1NFX0JUTjogJy5ldGNoLWRpYWxvZ19fY2xvc2UnCgl9OwoKCXN0YXRpYyBBVFRSSUJVVEVTID0gewoJCVBMQUNFTUVOVDogJ2RhdGEtZXRjaC1kaWFsb2ctcGxhY2VtZW50JywKCQlUUklHR0VSX1NFTEVDVE9SOiAnZGF0YS1ldGNoLWRpYWxvZy10cmlnZ2VyLXNlbGVjdG9yJywKCQlFRElUT1JfVE9HR0xFOiAnZGF0YS1ldGNoLWRpYWxvZy1lZGl0b3ItdG9nZ2xlJywKCQlESUFMT0dfSUQ6ICdkYXRhLWV0Y2gtZGlhbG9nLWlkJywKCQlDTE9TRV9CWTogJ2Nsb3NlZGJ5JwoJfTsKCglzdGF0aWMgREVGQVVMVFMgPSB7CgkJUExBQ0VNRU5UOiAnY2VudGVyJwoJfTsKCglzdGF0aWMgQ0xPU0VfTUVUSE9EUyA9IHsKCQlBTlk6ICdhbnknLAoJCUNMT1NFX1JFUVVFU1Q6ICdjbG9zZXJlcXVlc3QnLAoJCU5PTkU6ICdub25lJwoJfTsKCgljb25zdHJ1Y3RvcihkaWFsb2dFbCwgb3B0aW9ucyA9IHt9KSB7CgkJdGhpcy5kaWFsb2dFbCA9IGRpYWxvZ0VsOwoJCXRoaXMub3B0aW9ucyA9IG9wdGlvbnM7CgkJdGhpcy50cmlnZ2VyRWwgPSBudWxsOwoJCXRoaXMuaW5FdGNoID0KCQkJd2luZG93ICE9PSB3aW5kb3cudG9wICYmIHdpbmRvdy5mcmFtZUVsZW1lbnQ/LmlkID09PSAnZXRjaC1pZnJhbWUnOwoKCQl0aGlzLmluaXQoKTsKCX0KCglpbml0KCkgewoJCWlmICghdGhpcy5kaWFsb2dFbCkgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBmaW5kIERpYWxvZyBlbGVtZW50Jyk7CgoJCS8vIG9ubHkgYSBmYWxsYmFjayBpbiBjYXNlIHRoZSBwbGFjZW1lbnQgaXMgbm90IHNldCBvciBjb3JydXB0LgoJCXRoaXMuc2V0SW5pdGlhbFBsYWNlbWVudCgpOwoJCXRoaXMuZ2V0VHJpZ2dlckVsKCk7CgkJdGhpcy5hdHRhY2hFdmVudExpc3RlbmVycygpOwoKCQkvLyBTZXR1cCB0b2dnbGUgZnVuY3Rpb25hbGl0eSB3aGVuIGluc2lkZSBFdGNoIGVkaXRvcgoJCWlmICh0aGlzLmluRXRjaCkgewoJCQl0aGlzLnRvZ2dsZUluRXRjaCgpOwoJCX0KCX0KCgl0b2dnbGVJbkV0Y2goKSB7CgkJLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgdG8gd2F0Y2ggZm9yIGNoYW5nZXMgdG8gdGhlIGRhdGEtZXRjaC1kaWFsb2ctZWRpdG9yLXRvZ2dsZSBhdHRyaWJ1dGUKCQljb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHsKCQkJbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7CgkJCQlpZiAoCgkJCQkJbXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmCgkJCQkJbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gRXRjaERpYWxvZy5BVFRSSUJVVEVTLkVESVRPUl9UT0dHTEUKCQkJCSkgewoJCQkJCWNvbnN0IHRvZ2dsZVZhbHVlID0KCQkJCQkJdGhpcy5kaWFsb2dFbC5kYXRhc2V0LmV0Y2hEaWFsb2dFZGl0b3JUb2dnbGU7CgoJCQkJCWlmICh0b2dnbGVWYWx1ZSA9PT0gJ3RydWUnKSB7CgkJCQkJCXRoaXMub3BlbigpOwoJCQkJCX0gZWxzZSBpZiAodG9nZ2xlVmFsdWUgPT09ICdmYWxzZScpIHsKCQkJCQkJdGhpcy5jbG9zZSgpOwoJCQkJCX0KCQkJCX0KCQkJfSk7CgkJfSk7CgoJCS8vIFN0YXJ0IG9ic2VydmluZyB0aGUgZGlhbG9nIGVsZW1lbnQgZm9yIGF0dHJpYnV0ZSBjaGFuZ2VzCgkJb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmRpYWxvZ0VsLCB7CgkJCWF0dHJpYnV0ZXM6IHRydWUsCgkJCWF0dHJpYnV0ZUZpbHRlcjogW0V0Y2hEaWFsb2cuQVRUUklCVVRFUy5FRElUT1JfVE9HR0xFXQoJCX0pOwoKCQkvLyBTdG9yZSB0aGUgb2JzZXJ2ZXIgc28gaXQgY2FuIGJlIGRpc2Nvbm5lY3RlZCBpZiBuZWVkZWQKCQl0aGlzLmV0Y2hUb2dnbGVPYnNlcnZlciA9IG9ic2VydmVyOwoJfQoKCXNldEluaXRpYWxQbGFjZW1lbnQoKSB7CgkJaWYgKCF0aGlzLmRpYWxvZ0VsLmRhdGFzZXQuZXRjaERpYWxvZ1BsYWNlbWVudCkgewoJCQl0aGlzLmRpYWxvZ0VsLmRhdGFzZXQuZXRjaERpYWxvZ1BsYWNlbWVudCA9IEV0Y2hEaWFsb2cuREVGQVVMVFMuUExBQ0VNRU5UOwoJCX0KCX0KCglnZXRDbG9zZUJ0bigpIHsKCQljb25zdCBjbG9zZUJ0bkVsID0gdGhpcy5kaWFsb2dFbC5xdWVyeVNlbGVjdG9yKAoJCQlFdGNoRGlhbG9nLlNFTEVDVE9SUy5DTE9TRV9CVE4KCQkpOwoJCWlmICghY2xvc2VCdG5FbCkgewoJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCX0KCQlyZXR1cm4gY2xvc2VCdG5FbDsKCX0KCglnZXRUcmlnZ2VyRWwoKSB7CgkJbGV0IHRyaWdnZXJTZWxlY3RvciA9IHRoaXMuZGlhbG9nRWwuZ2V0QXR0cmlidXRlKAoJCQlFdGNoRGlhbG9nLkFUVFJJQlVURVMuVFJJR0dFUl9TRUxFQ1RPUgoJCSk7CgkJaWYgKCF0cmlnZ2VyU2VsZWN0b3IpIHJldHVybjsKCgkJY29uc3QgdHJpbW1lZFNlbGVjdG9yID0gdHJpZ2dlclNlbGVjdG9yLnRyaW0oKTsKCQlpZiAodHJpbW1lZFNlbGVjdG9yID09PSAnJykgcmV0dXJuOwoKCQl0cmlnZ2VyU2VsZWN0b3IgPSB0cmltbWVkU2VsZWN0b3I7CgkJY29uc3QgdHJpZ2dlckVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0cmlnZ2VyU2VsZWN0b3IpOwoJCXRoaXMudHJpZ2dlckVsID0gdHJpZ2dlckVsOwoJCWlmICghdGhpcy50cmlnZ2VyRWwpIHsKCQkJY29uc29sZS5lcnJvcigKCQkJCWBDYW5ub3QgZmluZCBUcmlnZ2VyIGVsZW1lbnQsIGlzIHRoZSAke3RyaWdnZXJTZWxlY3Rvcn0gc2VsZWN0b3IgY29ycmVjdD9gCgkJCSk7CgkJCXJldHVybjsKCQl9Cgl9CgoJZ2V0Q2xvc2VNZXRob2QoKSB7CgkJY29uc3QgdmFsdWUgPSB0aGlzLmRpYWxvZ0VsLmdldEF0dHJpYnV0ZShFdGNoRGlhbG9nLkFUVFJJQlVURVMuQ0xPU0VfQlkpOwoJCXJldHVybiB2YWx1ZSA9PT0gRXRjaERpYWxvZy5DTE9TRV9NRVRIT0RTLkNMT1NFX1JFUVVFU1QgfHwgdmFsdWUgPT09IEV0Y2hEaWFsb2cuQ0xPU0VfTUVUSE9EUy5OT05FIAoJCQk/IHZhbHVlIAoJCQk6IEV0Y2hEaWFsb2cuQ0xPU0VfTUVUSE9EUy5BTlk7Cgl9CgoJY2xvc2VCeUFueSgpIHsKCQl0aGlzLmRpYWxvZ0VsLmFkZEV2ZW50TGlzdGVuZXIoJ2NhbmNlbCcsICgpID0+IHRoaXMuY2xvc2UoKSk7Cgl9CgoJY2xvc2VCeUNsb3NlUmVxdWVzdCgpIHsKCQl0aGlzLmRpYWxvZ0VsLmFkZEV2ZW50TGlzdGVuZXIoJ2NhbmNlbCcsICgpID0+IHRoaXMuY2xvc2UoKSk7Cgl9CgoJY2xvc2VCeU5vbmUoKSB7CgkJdGhpcy5kaWFsb2dFbC5hZGRFdmVudExpc3RlbmVyKCdjYW5jZWwnLCAoZSkgPT4gZS5wcmV2ZW50RGVmYXVsdCgpKTsKCX0KCglhdHRhY2hFdmVudExpc3RlbmVycygpIHsKCQkvLyBEb24ndCBhdHRhY2ggdHJpZ2dlciBsaXN0ZW5lciB3aGVuIGluIEV0Y2ggZWRpdG9yCgkJaWYgKHRoaXMudHJpZ2dlckVsICYmICF0aGlzLmluRXRjaCkgewoJCQl0aGlzLnNldFRyaWdnZXJFdmVudExpc3RlbmVyKCk7Cg
1386kJfQoKCQljb25zdCBjbG9zZU1ldGhvZCA9IHRoaXMuZ2V0Q2xvc2VNZXRob2QoKTsKCQlpZiAoIXRoaXMuaW5FdGNoKSB7CgkJCWlmIChjbG9zZU1ldGhvZCA9PT0gRXRjaERpYWxvZy5DTE9TRV9NRVRIT0RTLkFOWSkgdGhpcy5jbG9zZUJ5QW55KCk7CgkJCWlmIChjbG9zZU1ldGhvZCA9PT0gRXRjaERpYWxvZy5DTE9TRV9NRVRIT0RTLkNMT1NFX1JFUVVFU1QpIHRoaXMuY2xvc2VCeUNsb3NlUmVxdWVzdCgpOwoJCQlpZiAoY2xvc2VNZXRob2QgPT09IEV0Y2hEaWFsb2cuQ0xPU0VfTUVUSE9EUy5OT05FKSB0aGlzLmNsb3NlQnlOb25lKCk7CgkJCXRoaXMuc2V0Q2xvc2VFdmVudExpc3RlbmVyKCk7CgkJfSBlbHNlIHsKCQkJdGhpcy5jbG9zZUJ5Tm9uZSgpOwoJCX0KCX0KCglzZXRUcmlnZ2VyRXZlbnRMaXN0ZW5lcigpIHsKCQl0aGlzLnRyaWdnZXJFbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpKTsKCX0KCglzZXRDbG9zZUV2ZW50TGlzdGVuZXIoKSB7CgkJY29uc3QgY2xvc2VCdG5FbCA9IHRoaXMuZ2V0Q2xvc2VCdG4oKTsKCQlpZiAoIWNsb3NlQnRuRWwpIHJldHVybjsKCQljbG9zZUJ0bkVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5jbG9zZSgpKTsKCX0KCglvcGVuKCkgewoJCWlmICh0eXBlb2YgdGhpcy5kaWFsb2dFbC5zaG93TW9kYWwgPT09ICdmdW5jdGlvbicpIHsKCQkJdGhpcy5kaWFsb2dFbC5zaG93TW9kYWwoKTsKCQkJCgkJCS8vIFJlbW92ZSBhdXRvLWZvY3VzIGZyb20gZGlhbG9nIHRvIHByZXZlbnQgZm9jdXMgaXNzdWVzCgkJCS8vIHdoZW4gdGhlcmUncyBubyBjbG9zZSBidXR0b24gb3IgZm9jdXNhYmxlIGVsZW1lbnRzCgkJCWlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0aGlzLmRpYWxvZ0VsKSB7CgkJCQl0aGlzLmRpYWxvZ0VsLmJsdXIoKTsKCQkJfQoJCX0gZWxzZSB7CgkJCWNvbnNvbGUud2FybignPGRpYWxvZz4gbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXInKTsKCQl9Cgl9CgoJY2xvc2UoKSB7CgkJaWYgKHR5cGVvZiB0aGlzLmRpYWxvZ0VsLmNsb3NlID09PSAnZnVuY3Rpb24nKSB7CgkJCXRoaXMuZGlhbG9nRWwuY2xvc2UoKTsKCQl9Cgl9Cn0KCmZ1bmN0aW9uIGluc3RhbnRpYXRlRGlhbG9nQ2xhc3Mob3B0aW9ucyA9IHt9KSB7Cgljb25zdCBkaWFsb2dOb2RlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldGNoLWRpYWxvZycpOwoJaWYgKCFkaWFsb2dOb2Rlcy5sZW5ndGgpIHJldHVybjsKCgl3aW5kb3cuZXRjaEVsZW1lbnRzID0gd2luZG93LmV0Y2hFbGVtZW50cyB8fCB7fTsKCXdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaERpYWxvZyA9IHdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaERpYWxvZyB8fCB7fTsKCgljb25zdCBkaWFsb2dTZXQgPSBuZXcgU2V0KCk7CgoJZm9yIChjb25zdCBkaWFsb2dFbCBvZiBkaWFsb2dOb2RlcykgewoJCWxldCBkaWFsb2dJZCA9IGRpYWxvZ0VsLmRhdGFzZXQuZXRjaERpYWxvZ0lkOwoKCQlpZiAoZGlhbG9nSWQgPT09IG51bGwgfHwgZGlhbG9nSWQgPT09IHVuZGVmaW5lZCkgewoJCQljb25zb2xlLmVycm9yKAoJCQkJYENhbm5vdCBmaW5kIERpYWxvZyBJRCwgaXMgdGhlICR7RXRjaERpYWxvZy5BVFRSSUJVVEVTLkRJQUxPR19JRH0gYXR0cmlidXRlIHNldD9gCgkJCSk7CgkJCWNvbnRpbnVlOwoJCX0KCgkJZGlhbG9nSWQgPSBkaWFsb2dJZC50cmltKCk7CgkJaWYgKGRpYWxvZ0lkID09PSAnJykgewoJCQljb25zb2xlLmVycm9yKAoJCQkJYEVtcHR5ICR7RXRjaERpYWxvZy5BVFRSSUJVVEVTLkRJQUxPR19JRH0gZm91bmQsIGVhY2ggZGlhbG9nIG11c3QgaGF2ZSBhIG5vbi1lbXB0eSBJRGAKCQkJKTsKCQkJY29udGludWU7CgkJfQoKCQlpZiAoZGlhbG9nU2V0LmhhcyhkaWFsb2dJZCkpIHsKCQkJY29uc29sZS5lcnJvcigKCQkJCWBEdXBsaWNhdGUgJHtFdGNoRGlhbG9nLkFUVFJJQlVURVMuRElBTE9HX0lEfSBmb3VuZDogJHtkaWFsb2dJZH0sIGVhY2ggZGlhbG9nIG11c3QgaGF2ZSBhIHVuaXF1ZSBJRGAKCQkJKTsKCQkJY29udGludWU7CgkJfQoKCQlkaWFsb2dTZXQuYWRkKGRpYWxvZ0lkKTsKCQljb25zdCBkaWFsb2dJbnN0YW5jZSA9IG5ldyBFdGNoRGlhbG9nKGRpYWxvZ0VsLCBvcHRpb25zKTsKCQl3aW5kb3cuZXRjaEVsZW1lbnRzLmV0Y2hEaWFsb2dbZGlhbG9nSWRdID0gZGlhbG9nSW5zdGFuY2U7Cgl9CgoJcmV0dXJuIHdpbmRvdy5ldGNoRWxlbWVudHMuZXRjaERpYWxvZzsKfQoKaW5zdGFudGlhdGVEaWFsb2dDbGFzcygpOwo="></script>
1386<style type="text/css" id="etch-main-default">/* Add your global styles here */</style><style type="text/css" id="etch-custom-media-definitions-custom-media">/* Add your custom media definitions here using @custom-media rules. Example: @custom-media --small-screen (max-width: 600px);*/</style>        
1386<script defer src="data:text/javascript;base64,CiAgICAgICAgKGZ1bmN0aW9uIChzLCBlLCBuLCBkLCBlcikgew0KICAgIHNbJ1NlbmRlciddID0gZXI7DQogICAgc1tlcl0gPSBzW2VyXSB8fCBmdW5jdGlvbiAoKSB7DQogICAgICAoc1tlcl0ucSA9IHNbZXJdLnEgfHwgW10pLnB1c2goYXJndW1lbnRzKQ0KICAgIH0sIHNbZXJdLmwgPSAxICogbmV3IERhdGUoKTsNCiAgICB2YXIgYSA9IGUuY3JlYXRlRWxlbWVudChuKSwNCiAgICAgICAgbSA9IGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUobilbMF07DQogICAgYS5hc3luYyA9IDE7DQogICAgYS5zcmMgPSBkOw0KICAgIG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkNCiAgfSkod2luZG93LCBkb2N1bWVudCwgJ3NjcmlwdCcsICdodHRwczovL2Nkbi5zZW5kZXIubmV0L2FjY291bnRzX3Jlc291cmNlcy91bml2ZXJzYWwuanMnLCAnc2VuZGVyJyk7DQogIHNlbmRlcignZjA3MjFlNzhkNzg2OTYnKQogICAgICAgIA=="></script>
1386
1387
1388    <link rel='stylesheet' id='automaticcss-core-css' href='https://www.corkchoral.ie/wp-content/uploads/automatic-css/automatic.css?ver=1786473768' media='all' />
1389<link rel='stylesheet' id='automaticcss-gutenberg-color-palette-css' href='https://www.corkchoral.ie/wp-content/uploads/automatic-css/automatic-gutenberg-color-palette.css?ver=1786473769' media='all' />
1390<style>.perfmatters-lazy.pmloaded,.perfmatters-lazy.pmloaded>img,.perfmatters-lazy>img.pmloaded,.perfmatters-lazy[data-ll-status=entered]{animation:500ms pmFadeIn}@keyframes pmFadeIn{0%{opacity:0}100%{opacity:1}}</style></head>
1391
1392<body class="wp-singular page-template-default page page-id-640 wp-embed-responsive wp-theme-etch-theme wp-child-theme-etch-child-theme-main translatepress-en_GB edd-js-none">
1393	     <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1393-1394
1393
1394<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1394GTM-T297VHZ
vendor: 83 bytes, line 1394
1394" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1395<!-- End Google Tag Manager (noscript) -->
1396  	<style>.edd-js-none .edd-has-js, .edd-js .edd-no-js, body.edd-js input.edd-no-js { display: none; }</style>
1397	
1397<script defer src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovKGZ1bmN0aW9uKCl7dmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdDtjLnJlbW92ZSgnZWRkLWpzLW5vbmUnKTtjLmFkZCgnZWRkLWpzJyk7fSkoKTsvKiBdXT4gKi8="></script>
1397
1398	
1399<a href="#main" class="skip-link">Skip to main content</a><a href="#footer" class="skip-link">Skip to footer</a><header data-etch-element="section" data-overlay-nav="show true" data-overlay-style="" class="header"><div class="top-bar"><div data-etch-element="container" class="top-bar__inner"><ul data-etch-element="flex-div" class="top-bar__links-wrapper"><li><a href="/contact/" aria-label="Go to Contact Us page" class="top-bar__link">Contact Us</a></li><li><a href="mailto:[email protected]" aria-label="Email Cork International Choral Festival at [email protected]" class="top-bar__link">[email protected]</a></li><li><a href="tel:+353214215125" aria-label="Phone Cork International Choral Festival on 0214215125" class="top-bar__link">📞 0214215125</a></li></ul><div class="top-bar__right"><a href="/login/" class="top-bar__link">Login</a>a<div class="trp-shortcode-switcher__wrapper"
1400     style="--bg:#ffffff;--bg-hover:#0000000d;--text:#404040;--text-hover:#1d2327;--border:1px solid #1438521a;--border-width:1px;--border-color:#1438521a;--border-radius:0px;--flag-radius:2px;--flag-size:18px;--aspect-ratio:4/3;--font-size:14px;--transition-duration:0.2s"
1401     role="group"
1402     data-open-mode="hover">
1403
1404    
1405        <!-- ANCHOR (in-flow only; sizing/borders; inert) -->
1406        <div class="trp-language-switcher trp-ls-dropdown trp-shortcode-switcher trp-shortcode-anchor trp-open-on-hover"
1407             aria-hidden="true"
1408             inert
1409             data-no-translation>
1410                <div class="trp-current-language-item__wrapper">
1411        <a class="trp-language-item trp-language-item__default trp-language-item__current" data-no-translation href="https://www.corkchoral.ie/about/" title="English"><img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" /><span class="trp-language-item-name">English</span></a>                    <svg class="trp-shortcode-arrow" width="20" height="20" viewBox="0 0 20 21" fill="none" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg">
1412                <path d="M5 8L10 13L15 8" stroke="var(--text)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
1413            </svg>
1414            </div>
1415            </div>
1416
1417        <!-- OVERLAY (positioned; interactive surface) -->
1418        <div class="trp-language-switcher trp-ls-dropdown trp-shortcode-switcher trp-shortcode-overlay trp-open-on-hover"
1419             role="navigation"
1420             aria-label="Website language selector"
1421             data-no-translation
1422        >
1423                <div class="trp-current-language-item__wrapper">
1424        <div class="trp-language-item trp-language-item__default trp-language-item__current" data-no-translation role="button" aria-expanded="false" tabindex="0" aria-label="Change language" aria-controls="trp-shortcode-dropdown-6aad60d26198e"><img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" /><span class="trp-language-item-name">English</span></div>                    <svg class="trp-shortcode-arrow" width="20" height="20" viewBox="0 0 20 21" fill="none" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg">
1425                <path d="M5 8L10 13L15 8" stroke="var(--text)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
1426            </svg>
1427            </div>
1428    
1429            <div class="trp-switcher-dropdown-list"
1430                 id="trp-shortcode-dropdown-6aad60d26198e"
1431                 role="group"
1432                 aria-label="Available languages"
1433                 hidden
1434                 inert
1435            >
1436                                                            <a class="trp-language-item" href="https://www.corkchoral.ie/bg/%d0%be%d1%82%d0%bd%d0%be%d1%81%d0%bd%d0%be/" title="Bulgarian">
1437                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Bulgarian</span>
1438                                                                                </a>
1439                                            <a class="trp-language-item" href="https://www.corkchoral.ie/cs/o/" title="Czech">
1440                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Czech</span>
1441                                                                                </a>
1442                                            <a class="trp-language-item" href="https://www.corkchoral.ie/da/om/" title="Danish">
1443                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Danish</span>
1444                                                                                </a>
1445                                            <a class="trp-language-item" href="https://www.corkchoral.ie/de/uber/" title="German">
1446                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>German</span>
1447                                                                                </a>
1448                                            <a class="trp-language-item" href="https://www.corkchoral.ie/el/%cf%83%cf%87%ce%b5%cf%84%ce%b9%ce%ba%ce%ac-%ce%bc%ce%b5/" title="Greek">
1449                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/el.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Greek</span>
1450                                                                                </a>
1451                                            <a class="trp-language-item" href="https://www.corkchoral.ie/es/acerca-de/" title="Spanish">
1452                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg" class="trp-flag-image" alt role="presentation" />
1452                                                            <span class="trp-language-item-name" data-no-translation>Spanish</span>
1453                                                                                </a>
1454                                            <a class="trp-language-item" href="https://www.corkchoral.ie/et/umbes/" title="Estonian">
1455                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Estonian</span>
1456                                                                                </a>
1457                                            <a class="trp-language-item" href="https://www.corkchoral.ie/fr/sur-2/" title="French">
1458                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>French</span>
1459                                                                                </a>
1460                                            <a class="trp-language-item" href="https://www.corkchoral.ie/hu/rol-rol-2/" title="Hungarian">
1461                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Hungarian</span>
1462                                                                                </a>
1463                                            <a class="trp-language-item" href="https://www.corkchoral.ie/it/di/" title="Italian">
1464                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Italian</span>
1465                                                                                </a>
1466                                            <a class="trp-language-item" href="https://www.corkchoral.ie/pl/o/" title="Polish">
1467                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Polish</span>
1468                                                                                </a>
1469                                            <a class="trp-language-item" href="https://www.corkchoral.ie/pt/sobre/" title="Portuguese">
1470                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Portuguese</span>
1471                                                                                </a>
1472                                            <a class="trp-language-item" href="https://www.corkchoral.ie/uk/%d0%bf%d1%80%d0%b8%d0%b1%d0%bb%d0%b8%d0%b7%d0%bd%d0%be/" title="Ukrainian">
1473                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/uk.svg" class="trp-flag-image" alt role="presentation" />                                                            <span class="trp-language-item-name" data-no-translation>Ukrainian</span>
1474                                                                                </a>
1475                                                </div>
1476        </div>
1477
1478    </div>
1479</div></div></div><div data-etch-element="container" class="header__inner"><a href="/" aria-label="Link to homepage" class="header-logo-link"><img src="https://www.corkchoral.ie/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-light-01_compressed.svg" alt="Cork International Choral Festival Logo" class="header-logo--normal" /><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='0'%20height='0'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Cork International Choral Festival Logo" class="header-logo--inverted perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-dark-01_compressed.svg" /></a><div class="mobile-navbar-cta"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows?_gl=1*kanixp*_gcl_au*OTIzNTQ4MzEwLjE3NzA5MzE2NjI.*_ga*MTc5MjYwMTgzMS4xNzcwOTMxNjYy*_ga_KYTD7HSDPM*czE3NzE4NDQxMTMkbzEzJGcxJHQxNzcxODQ4MjE5JGo2MCRsMCRoMTgxMzMwNjcxOA.." target="_blank" class="btn--secondary btn--xs mobile-navbar-cta__link">Book Tickets</a></div><button aria-expanded="false" aria-label="Open Navigation" class="etch-burger"><span class="etch-burger__lines"></span></button><nav aria-label="Navigation" data-etch-nav="main" aria-expanded="false" data-nav-interaction="hover" class="etch-nav"><ul class="etch-nav__list"><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open 2026 Festival navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>2026 Festival</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1479<path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="2026 Festival navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/festival_events/" target="" class="etch-nav__link">Events</a></li><li class="etch-nav__item"><a href="/festival_choirs/" target="" class="etch-nav__link">Choirs &amp; Speakers</a></li><li class="etch-nav__item"><a href="/festival_venues/" target="" class="etch-nav__link">Festival Venues</a></li><li class="etch-nav__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows" target="_blank" class="etch-nav__link">Book Tickets</a></li><li class="etch-nav__item"><a href="/become-a-friend/" target="" class="etch-nav__link">Become a Friend</a></li><li class="etch-nav__item"><a href="/festival-recordings/" target="" class="etch-nav__link">Recordings</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open Take Part navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>Take Part</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="Take Part navigation" data-dropdown-style="Mega" class="etch-nav__dropdown"><li class="etch-nav__item etch-nav__item--has-flyout"><button aria-label="open International Choirs navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--flyout-toggle"><span>International Choirs</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="International Choirs navigation" class="etch-nav__flyout"><li class="etch-nav__item"><a href="/international-participation/" target="" class="etch-nav__link">International Participation</a></li><li class="etch-nav__item"><a href="https://www.corkchoral.ie/international-participation/international-non-competitive-participation/" target="" class="etch-nav__link">International Non-Competitive Participation</a></li><li class="etch-nav__item"><a href="/international-participation/fleischmann-international-trophy-competition/" target="" class="etch-nav__link">Fleischmann International Trophy Competition</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-flyout"><button aria-label="open National Choirs navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--flyout-toggle"><span>National Choirs</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="National Choirs navigation" class="etch-nav__flyout"><li class="etch-nav__item"><a href="/national-applications/" target="" class="etch-nav__link">National Participation</a></li><li class="etch-nav__item"><a href="/national-applications/national-school-competitions/" target="" class="etch-nav__link">National School Competitions</a></li><li class="etch-nav__item"><a href="/national-applications/national-open-competitions/" target="" class="etch-nav__link">National Open Competitions</a></li><li class="etch-nav__item"><a href="/national-applications/irelands-choir-of-the-year-competition/" target="" class="etch-nav__link">Ireland&#039;s Choir of the Year Competition</a></li><li class="etch-nav__item"><a href="/national-applications/workplace-choir-of-the-year-competition/" target="" class="etch-nav__link">Workplace Choir of the Year Competition</a></li><li class="etch-nav__item"><a href="/national-applications/national-non-competitive/" target="" class="etch-nav__link">National Non-Competitive Participation</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-flyout"><button aria-label="open More navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--flyout-toggle"><span>More</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
1479<path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="More navigation" class="etch-nav__flyout"><li class="etch-nav__item"><a href="/volunteer/" target="" class="etch-nav__link">Become a volunteer</a></li><li class="etch-nav__item"><a href="/venue-applications/" target="" class="etch-nav__link">Venue applications</a></li><li class="etch-nav__item"><a href="/sean-o-riada-composition-competition/" target="" class="etch-nav__link">Seán Ó Riada Composition Competition</a></li><li class="etch-nav__item"><a href="/choral-composition-course/" target="" class="etch-nav__link">Choral Composition Course</a></li><li class="etch-nav__item"><a href="/choral-conducting-course/" target="" class="etch-nav__link">Choral Conducting Course</a></li></ul></li></ul></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open Plan Your Visit navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>Plan Your Visit</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="Plan Your Visit navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/accessibility/" target="" class="etch-nav__link">Accessibility</a></li><li class="etch-nav__item"><a href="/accommodation-guide/" target="" class="etch-nav__link">Accommodation &amp; travel guide</a></li><li class="etch-nav__item"><a href="/food-and-drink-trail/" target="" class="etch-nav__link">Food &amp; drink trail</a></li><li class="etch-nav__item"><a href="/things-to-see-and-do/" target="" class="etch-nav__link">See and do</a></li></ul></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open Our Supporters navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>Our Supporters</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="Our Supporters navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/sponsorship-opportunities/" target="" class="etch-nav__link">Sponsorship</a></li><li class="etch-nav__item"><a href="/become-a-friend/" target="" class="etch-nav__link">Become a friend</a></li><li class="etch-nav__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/ticketbooth/products/donation" target="_blank" class="etch-nav__link">Donate Now</a></li></ul></li><li class="etch-nav__item"><a href="/news/" data-link-style="" target="" class="etch-nav__link">News</a></li><li class="etch-nav__item etch-nav__item--has-dropdown"><button aria-label="open About Us navigation" aria-haspopup="true" aria-expanded="false" class="etch-nav__button etch-nav__button--dropdown-toggle"><span>About Us</span><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"></path></svg></button><ul aria-label="About Us navigation" data-dropdown-style="Normal" class="etch-nav__dropdown"><li class="etch-nav__item"><a href="/about/" target="" class="etch-nav__link">About Us &amp; Future Dates</a></li><li class="etch-nav__item"><a href="/testimonials/" target="" class="etch-nav__link">Testimonials</a></li><li class="etch-nav__item"><a href="/festival-archive/" target="" class="etch-nav__link">Festival Archive</a></li></ul></li><li class="etch-nav__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows" data-link-style="Button" target="_blank" class="etch-nav__link">Book Tickets</a></li></ul></nav></div></header><main id="main"><section data-etch-element="section" data-header-style="Style 4" class="page-hero"><div data-etch-element="container" class="page-hero__inner"><div data-etch-element="flex-div" class="page-hero__intro"><h1 class="page-hero__heading">Bringing Cork to Life with Song Since 1954 </h1></div><figure class="page-hero__media-wrapper"><img width="1920" height="1280" decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1920'%20height='1280'%20viewBox='0%200%201920%201280'%3E%3C/svg%3E" alt class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2024/09/Session-2.jpg" /></figure></div></section>
1480
1481<section data-etch-element="section" class="page-content-section"><div data-etch-element="container">
1482<p class="has-large-font-size wp-block-paragraph"><strong>Founded in 1954 to be a dynamic force in developing choral music in Ireland, the Cork International Choral Festival is held annually over the five days preceding the first Monday in May in venues across the city, centring around the City Hall, one of the most attractive and acoustically superb venues in Ireland.</strong></p>
1483
1484<p class="wp-block-paragraph">One of Europe’s premier international choral festivals, Cork is noted for its high standards, eclectic and wide-ranging programme, and the friendliness of its welcome.</p>
1485
1486<p class="wp-block-paragraph">Cork welcomes choirs from across the world for a programme of Gala concerts, Schools Concerts, National and International Competitions, and world-class performances, as thousands of participants bring the city to life for a celebration of choral music in all its many forms.</p>
1487
1488<p class="wp-block-paragraph">Each year some of the finest amateur international choirs are selected to compete for the prestigious Fleischmann International Trophy. The selected choirs also participate in a wide range of Festival events, which include Fringe concerts, taking part in our Church Interchange programme across Cork city and county, and informal Public Performances which see choirs popping up throughout Cork in new and unexpected locations throughout the duration of the Festival! The presence of these choirs from throughout the world gives audiences and Irish choirs alike the unique opportunity of hearing a diverse range of concerts and repertoire performed.</p>
1489
1490<p class="wp-block-paragraph">As well as foreign choirs, the Festival annually features up to 100 Adult, Youth and School choirs who participate in National Competitions. Overall the Festival attracts s
1490ome 5,000 participants. The Festival continues to ensure that choral music, representative of many historical and cultural traditions, is brought to the people of Cork and the many visitors who we are delighted to welcome to the city for the event.</p>
1491</div></section>
1492
1493<section data-etch-element="section" class="page-content-section bg--ultra-light"><div data-etch-element="container"><h2>Future Dates</h2><div data-etch-element="flex-div" class="icon-card-alpha bg--dark" data-inline-card="true"><svg data-icon="data-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon-card-alpha__icon"><path d="M576 96L528 96L528 133.5L112 250.5L112 224L64 224L64 416L112 416L112 389.5L198.3 413.8C194.2 424.4 192 436 192 448C192 501 235 544 288 544C335 544 374.2 510.2 382.4 465.5L528 506.5L528 544L576 544L576 96zM528 456.6L112 339.6L112 300.3L528 183.3L528 456.6zM335.8 452.4C333.6 476.8 313 496 288 496C261.5 496 240 474.5 240 448C240 440.4 241.8 433.2 244.9 426.9L335.8 452.5z"></path></svg><h3 class="icon-card-alpha__heading">72nd Cork International Choral Festival 2027</h3><p class="icon-card-alpha__text">28 April – 02 May 2027</p><figure class="is-bg"><img fetchpriority="high" decoding="async"  sizes="(max-width: 960px) 100vw, 960px" srcset="https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE.jpg 960w, https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE-480x251.jpg 480w, https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE-300x300.jpg 300w, https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE-768x401.jpg 768w" src="https://www.corkchoral.ie/wp-content/uploads/2024/12/Quinnton-Finland-1-DONT-USE.jpg" width="960" height="501" alt="photo of 72nd Cork International Choral Festival 2027 where 28 April – 02 May 2027" /></figure></div><div data-etch-element="flex-div" class="icon-card-alpha bg--dark" data-inline-card="true"><svg data-icon="data-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon-card-alpha__icon"><path d="M576 96L528 96L528 133.5L112 250.5L112 224L64 224L64 416L112 416L112 389.5L198.3 413.8C194.2 424.4 192 436 192 448C192 501 235 544 288 544C335 544 374.2 510.2 382.4 465.5L528 506.5L528 544L576 544L576 96zM528 456.6L112 339.6L112 300.3L528 183.3L528 456.6zM335.8 452.4C333.6 476.8 313 496 288 496C261.5 496 240 474.5 240 448C240 440.4 241.8 433.2 244.9 426.9L335.8 452.5z"></path></svg><h3 class="icon-card-alpha__heading">73rd Cork International Choral Festival 2028</h3><p class="icon-card-alpha__text">27 April – 02 May 2028</p><figure class="is-bg"><img decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1536'%20height='1138'%20viewBox='0%200%201536%201138'%3E%3C/svg%3E" width="1536" height="1138" alt="photo of 73rd Cork International Choral Festival 2028 where 27 April – 02 May 2028" class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-1536x1138.jpg" data-srcset="https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-480x356.jpg 480w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-1280x948.jpg 1280w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-300x300.jpg 300w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-768x569.jpg 768w, https://www.corkchoral.ie/wp-content/uploads/2024/04/jedniezgoda.com_Choral-23_Day-3_30_High-Res-1536x1138.jpg 1536w" data-sizes="(max-width: 1536px) 100vw, 1536px" /></figure></div><div data-etch-element="flex-div" class="icon-card-alpha bg--dark" data-inline-card="true"><svg data-icon="data-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" class="icon-card-alpha__icon"><path d="M576 96L528 96L528 133.5L112 250.5L112 224L64 224L64 416L112 416L112 389.5L198.3 413.8C194.2 424.4 192 436 192 448C192 501 235 544 288 544C335 544 374.2 510.2 382.4 465.5L528 506.5L528 544L576 544L576 96zM528 456.6L112 339.6L112 300.3L528 183.3L528 456.6zM335.8 452.4C333.6 476.8 313 496 288 496C261.5 496 240 474.5 240 448C240 440.4 241.8 433.2 244.9 426.9L335.8 452.5z"></path></svg><h3 class="icon-card-alpha__heading">74th Cork International Choral Festival 2029</h3><p class="icon-card-alpha__text">02 May &#8211; 06 May 2029</p><figure class="is-bg"><img decoding="async" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1536'%20height='1024'%20viewBox='0%200%201536%201024'%3E%3C/svg%3E" width="1536" height="1024" alt="photo of 74th Cork International Choral Festival 2029 where 02 May - 06 May 2029" class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-1536x1024.jpg" data-srcset="https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-480x320.jpg 480w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-1280x853.jpg 1280w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-300x300.jpg 300w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-768x512.jpg 768w, https://www.corkchoral.ie/wp-content/uploads/2024/12/ECCS-Group-Messiah-V2-1536x1024.jpg 1536w" data-sizes="(max-width: 1536px) 100v
1493w, 1536px" /></figure></div></div></section>
1494
1495<section data-etch-element="section" class="bg--dark"><div data-etch-element="container"><h2>Company Directors</h2></div><div data-etch-element="container"><div class="grid-component" style="--column-count: 3; --min: 360px; --gap: var(--grid-gap, 1em); --grid-columns: repeat(auto-fill, minmax(var(--min-formula), 1fr));"><div data-etch-element="flex-div"><h3>Gerard Breen</h3><p>Gerard is a senior manager in the recruitment industry with experience in training, sales and operations. A lifelong member of the Cork International Choral Festival, Gerard was appointed Chairman of the festival in 2006.</p></div><div data-etch-element="flex-div"><h3>Neil Bowen</h3><p>Neil has worked in the Freight Forwarding industry for over 50 years and ran his own business for 30 of those years, retiring in 2023. He has served on the board of the North Monastery Secondary School from 1997-2002. Neil currently holds the position of Front of House Manager in the Festival and has been a member of the Executive Board since 2001.</p></div><div data-etch-element="flex-div"><h3>John Fitzpatrick</h3><p>John is an experienced conductor, tutor, examiner, and lecturer. He has been associated with the prestigious Cork International Choral Festival for many years becoming its Artistic and Festival Director from 1993 to 2019. He is widely regarded as being the driving force behind its continued artistic and organisational development over that period, including Cork’s designation as European Capital of Culture in 2005.</p></div></div></div></section>
1496
1497<section data-etch-element="section" class="bg--ultra-light"><div data-etch-element="container"><h2>Management Committee</h2></div><div data-etch-element="container"><div class="grid-component" style="--column-count: 4; --min: 240px; --gap: var(--grid-gap, 1em); --grid-columns: repeat(auto-fit, minmax(var(--min-formula), 1fr));"><div data-etch-element="flex-div"><p><strong>Gerard Breen (Chairman)</strong></p></div><div data-etch-element="flex-div"><p><strong>Neil Bowen</strong></p></div><div data-etch-element="flex-div"><p><strong>Pat Bradley</strong></p></div><div data-etch-element="flex-div"><p><strong>David J. Butler</strong></p></div><div data-etch-element="flex-div"><p><strong>John Fitzpatrick</strong></p></div><div data-etch-element="flex-div"><p><strong>Catherine Mahon-Buckley</strong></p></div><div data-etch-element="flex-div"><p><strong>Valerie Sisk</strong></p></div><div data-etch-element="flex-div"><p><strong>Linda Nolan</strong></p></div></div></div></section>
1498
1499<section data-etch-element="section" class="page-content-section"><div data-etch-element="container">
1500<h3 class="wp-block-heading has-medium-font-size"><strong>Registered Charity</strong></h3>
1501
1502<p class="wp-block-paragraph">The Cork International Choral Festival is a registered charity with the Charities Regulatory Authority, promoting choral music and the arts in Cork and further afield.</p>
1503
1504<p class="wp-block-paragraph"><strong>Registered charity number: CHY11070</strong></p>
1505</div></section>
1506
1507<section data-etch-element="section" class="bg--ultra-light"><div data-etch-element="container"><h2>Governance</h2></div><div data-etch-element="container"><div class="grid-component" style="--column-count: 2; --min: 240px; --gap: var(--grid-gap, 1em); --grid-columns: repeat(auto-fill, minmax(var(--min-formula), 1fr));"><div data-etch-element="flex-div">
1508<p class="wp-block-paragraph">Cork International Choral Festival is governed by a voluntary board of Directors. See list of Directors above, biographies will be available shortly. Cork International Choral Festival is committed to good governance and has embarked upon the journey of compliance with the Governance Code. The organisation complies with all regulatory requirements and operates in accordance with its governing document, available here:&nbsp;<a href="https://www.corkchoral.ie/wp-content/uploads/2021/11/The-Governance-Code.pdf">The Governance Code</a>.</p>
1509
1510<p class="wp-block-paragraph">Cork International Choral Festival is open, honest and fully transparent in its fundraising activities, the proceeds of which all go towards the primary activity of organising and promoting an annual festival of music events. Cork International Choral Festival is currently working to confirm compliance with the Statement of Guiding Principles of Good Fundraising developed by Irish Charities Tax Research Ltd (ICTR).</p>
1511
1512<p class="wp-block-paragraph"><a href="https://www.corkchoral.ie/signed-copy-of-31-12-2024-financial-statements/" data-type="link" data-id="https://www.corkchoral.ie/signed-copy-of-31-12-2024-financial-statements/">2024 Audited Accounts</a></p>
1513
1514<p class="wp-block-paragraph"><a href="https://www.corkchoral.ie/wp-content/uploads/2026/02/CHILD-PROTECTION-POLICY-STATEMENT-2026.pdf" target="_blank" rel="noreferrer noopener">Child Protection Policy</a></p>
1515</div><div data-etch-element="flex-div">
1516<p class="wp-block-paragraph">Cork International Choral Festival keeps detailed books and records of accounts and maintains strict financial controls. The organisation is transparent in its audited financial statements, with most recent statements (2014) available below. The Statement of Recommended Practice for charities and not-for profit entities as developed in the UK in 2005 (SORP) is currently accepted as best practice in Ireland. We are working with our auditor towards compliance with SORP in 2015 financial statements and beyond.</p>
1517</div></div></div></section><section data-etch-element="section" class="newsletter-signup-section overlay-1 bg--dark"><div data-etch-element="container" class="newsletter-signup-section__inner"><div data-etch-element="container" data-intro-style="Center" class="section-intro"><div data-etch-element="flex-div" class="section-intro__content-wrapper"><h2 class="accent-heading">Get all the news</h2><p class="section-intro__headline h1">Join our newsletter</p><p class="section-intro__lede">Stay in the loop with all festival news by adding your email address to our mailing list</p></div></div><button id="newsletter-trigger" class="btn--neutral-light unrelate"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M496 176L80 176L80 464L315.7 464L290.8 488.9L287 512L32.1 512L32.1 128L544.1 128L544.1 236.6L543.6 236.1L496.1 283.6L496.1 175.9zM128 336L320 336L320 384L128 384L128 336zM448 256L448 304L128 304L128 256L448 256zM544 303.9L624 383.9L571.2 436.7L491.2 356.7L544 303.9zM336 511.9L468.6 379.3L548.6 459.3L416 591.9L320 607.9L336 511.9z"></path></svg>Subscribe Now </button></div></section><dialog closedby="any" data-etch-dialog-placement="center" data-etch-dialog-trigger-selector="#newsletter-trigger" data-etch-dialog-id="newsletter-dialog" data-etch-dialog-editor-toggle="false" style="--etch-dialog-background-color: white; --etch-dialog-max-width: 500px; --etch-dialog-backdrop-color: rgba(0, 0, 0, 0.5); --etch-dialog-padding: var(--space-m);" class="etch-dialog"><button class="etch-dialog-close--label-icon etch-dialog__close"><span>Close</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="36" height="36" color="currentColor" fill="none"><path d="M18 6L6.00081 17.9992M17.9992 18L6 6.00085" stroke="#141B34" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="etch-dialog__body-wrapper"><div class="dialog__inner"><h3>Join the Newsletter</h3><p>Just add your Email address to receive email updates from us.</p><div style="text-align: left" class="sender-form-field" data-sender-form-id="aznx2a"></div></div></div></dialog></main><footer data-etch-element="section" class="footer" id="footer"><div data-etch-element="container" class="footer__grid">
1517<div data-etch-element="flex-div" class="footer__content-wrapper"><figure class="footer__logo"><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='0'%20height='0'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Cork International Choral Festival Logo" class="perfmatters-lazy" data-src="https://www.corkchoral.ie/wp-content/uploads/2021/08/cork-international-choral-festival-logo-2020-dark-01_compressed.svg" /></figure><ul data-etch-element="flex-div" class="social-links-alpha"><li class="social-links-alpha__list-item"><a href="https://www.facebook.com/CorkChoralFestival/" class="social-links-alpha__link" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M80 299.3l0 212.7 116 0 0-212.7 86.5 0 18-97.8-104.5 0 0-34.6c0-51.7 20.3-71.5 72.7-71.5 16.3 0 29.4 .4 37 1.2l0-88.7C291.4 4 256.4 0 236.2 0 129.3 0 80 50.5 80 159.4l0 42.1-66 0 0 97.8 66 0z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on Facebook</span></a></li><li class="social-links-alpha__list-item"><a href="https://twitter.com/corkchoralfest" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M357.2 48L427.8 48 273.6 224.2 455 464 313 464 201.7 318.6 74.5 464 3.8 464 168.7 275.5-5.2 48 140.4 48 240.9 180.9 357.2 48zM332.4 421.8l39.1 0-252.4-333.8-42 0 255.3 333.8z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on X / Twitter</span></a></li><li class="social-links-alpha__list-item"><a href="https://www.instagram.com/corkchoral" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M224.3 141a115 115 0 1 0 -.6 230 115 115 0 1 0 .6-230zm-.6 40.4a74.6 74.6 0 1 1 .6 149.2 74.6 74.6 0 1 1 -.6-149.2zm93.4-45.1a26.8 26.8 0 1 1 53.6 0 26.8 26.8 0 1 1 -53.6 0zm129.7 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM399 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on Instagram</span></a></li><li class="social-links-alpha__list-item"><a href="https://www.youtube.com/channel/UCpEWfbO4r0gpCRT53gyLrCg" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.7 124.1C543.5 100.4 524.9 81.8 501.4 75.5 458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5C51.2 81.8 32.7 100.4 26.4 124.1 15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8 42.6 11.5 213.4 11.5 213.4 11.5s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6l0-162.4 142.7 81.2-142.7 81.2z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on Youtube</span></a></li><li class="social-links-alpha__list-item"><a href="https://www.tiktok.com/@corkchoral" target="_blank" class="social-links-alpha__link"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M448.5 209.9c-44 .1-87-13.6-122.8-39.2l0 178.7c0 33.1-10.1 65.4-29 92.6s-45.6 48-76.6 59.6-64.8 13.5-96.9 5.3-60.9-25.9-82.7-50.8-35.3-56-39-88.9 2.9-66.1 18.6-95.2 40-52.7 69.6-67.7 62.9-20.5 95.7-16l0 89.9c-15-4.7-31.1-4.6-46 .4s-27.9 14.6-37 27.3-14 28.1-13.9 43.9 5.2 31 14.5 43.7 22.4 22.1 37.4 26.9 31.1 4.8 46-.1 28-14.4 37.2-27.1 14.2-28.1 14.2-43.8l0-349.4 88 0c-.1 7.4 .6 14.9 1.9 22.2 3.1 16.3 9.4 31.9 18.7 45.7s21.3 25.6 35.2 34.6c19.9 13.1 43.2 20.1 67 20.1l0 87.4z"></path></svg><span class="hidden-accessible social-links-alpha__label">Follow us on TikTok</span></svg></a></li></ul></div><nav data-etch-element="flex-div" class="footer__nav-wrapper"><div data-etch-element="flex-div" class="footer__nav-col"><h3 class="footer__heading">Festival</h3><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/shows" target="_blank" class="footer__link">Book Tickets</a></li><li class="footer__item"><a href="/national-applications/" class="footer__link">National Participation</a></li><li class="footer__item"><a href="/international-participation/" class="footer__link">International Participation</a></li><li class="footer__item"><a href="/venue-applications/" class="footer__link">Venue Applications</a></li></ul></div><div data-etch-element="flex-div" class="footer__nav-col"><h3 class="footer__heading">Support Us</h3><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="/sponsorship-opportunities/" class="footer__link">Sponsorship</a></li><li class="footer__item"><a href="/become-a-friend/" class="footer__link">Become a Friend</a></li><li class="footer__item"><a href="https://corkinternationalchoralfestival-tickets.corkchoral.ie/ticketbooth/products/donation" target="_blank" class="footer__link">Donate Now</a></li><li class="footer__item"><a href="/volunteer/" class="footer__link">Volunteering</a></li></ul></div><div data-etch-element="flex-div" class="footer__nav-col"><h3 class="footer__heading">Plan your visit</h3><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="/accessibility/" class="footer__link">Accessibility</a></li><li class="footer__item"><a href="/accommodation-guide/" class="footer__link">Accommodation</a></li><li class="footer__item"><a href="/food-and-drink-trail/" class="footer__link">Food &amp; Drink Trail</a></li><li class="footer__item"><a href="/irelands-ancient-east/" class="footer__link">Ireland&#039;s Ancient East</a></li><li class="footer__item"><a href="https://www.purecork.ie/plan-your-trip/tips-info/explore-cork-app" target="_blank" class="footer__link">Explore Cork App</a></li></ul></div></nav>
1517<div data-etch-element="flex-div" class="footer__contact-wrapper"><h3 class="footer__heading">Get in touch</h3><address>Civic Trust House<br />50 Pope’s Quay<br />Cork<br /> Ireland</address><ul data-etch-element="flex-div" class="contact-details-list"><li data-etch-element="flex-div" class="contact-details-list__item"><h4 class="contact-details-list__heading">Call us</h4><a href="tel:+353214215125" aria-label="Phone us" class="contact-details-list__link"><span class="contact-details-list__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.36556 10.6821C10.302 12.3288 11.6712 13.698 13.3179 14.6344L14.2024 13.3961C14.4965 12.9845 15.0516 12.8573 15.4956 13.0998C16.9024 13.8683 18.4571 14.3353 20.0789 14.4637C20.599 14.5049 21 14.9389 21 15.4606V19.9234C21 20.4361 20.6122 20.8657 20.1022 20.9181C19.5723 20.9726 19.0377 21 18.5 21C9.93959 21 3 14.0604 3 5.5C3 4.96227 3.02742 4.42771 3.08189 3.89776C3.1343 3.38775 3.56394 3 4.07665 3H8.53942C9.0611 3 9.49513 3.40104 9.5363 3.92109C9.66467 5.54288 10.1317 7.09764 10.9002 8.50444C11.1427 8.9484 11.0155 9.50354 10.6039 9.79757L9.36556 10.6821ZM6.84425 10.0252L8.7442 8.66809C8.20547 7.50514 7.83628 6.27183 7.64727 5H5.00907C5.00303 5.16632 5 5.333 5 5.5C5 12.9558 11.0442 19 18.5 19C18.667 19 18.8337 18.997 19 18.9909V16.3527C17.7282 16.1637 16.4949 15.7945 15.3319 15.2558L13.9748 17.1558C13.4258 16.9425 12.8956 16.6915 12.3874 16.4061L12.3293 16.373C10.3697 15.2587 8.74134 13.6303 7.627 11.6707L7.59394 11.6126C7.30849 11.1044 7.05754 10.5742 6.84425 10.0252Z"></path></svg></span><span class="contact-details-list__text">+353 (0) 21 4215125</span></a></li><li data-etch-element="flex-div" class="contact-details-list__item"><h4 class="contact-details-list__heading">Email us</h4><a href="mailto:[email protected]" aria-label="Email [email protected]" class="contact-details-list__link"><span class="contact-details-list__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM20 7.23792L12.0718 14.338L4 7.21594V19H20V7.23792ZM4.51146 5L12.0619 11.662L19.501 5H4.51146Z"></path></svg></span><span class="contact-details-list__text">[email protected]</span></a></li></ul></div></div><div data-etch-element="container" class="footer__legal-wrapper"><p>Copyright 2025 © Cork International Choral Festival</p><nav data-etch-element="flex-div" class="footer__nav"><ul data-etch-element="flex-div" class="footer__list"><li class="footer__item"><a href="/tickets-terms-and-conditions/">Tickets Terms &amp; Conditions</a></li><li class="footer__item"><a href="/privacy-statement-eu/">Privacy Policy</a></li><li class="footer__item"><a href="/cookie-policy-eu/">Cookie Policy</a></li><li class="footer__item"><a href="/accessibility-statement/">Accessibility Statement</a></li></ul></nav></div></footer>
1518<template id="tp-language" data-tp-language="en_GB"></template>
1518<script defer src="data:text/javascript;base64,d2luZG93LmZlc3RpdmFsRGF0YSA9IHsiZGF0ZSI6IkFwcmlsIDI4LCAyMDI3In07"></script>
1518<script type="speculationrules">
1519{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/etch-child-theme-main/*","/wp-content/themes/etch-theme/*","/*\\?(.+)","/checkout/*"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1520</script>
1520
1521<div class="trp_model_container" id="trp_ald_modal_container" style="display: none" data-no-dynamic-translation data-no-translation>
1522        <div class="trp_ald_modal" id="trp_ald_modal_popup">
1523        <div id="trp_ald_popup_text">
1524            We've detected you might be speaking a different language. Do you want to change to:        </div>
1525
1526        <div class="trp_ald_select_and_button">
1527            <div class="trp_ald_ls_container">
1528            <div class="trp-language-switcher trp-language-switcher-container"  id="trp_ald_popup_select_container" data-no-translation >
1529                
1530                <div class="trp-ls-shortcode-current-language" id="en_GB" special-selector="trp_ald_popup_current_language" data-trp-ald-selected-language= "en_GB">
1531                    <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB                </div>
1532                <div class="trp-ls-shortcode-language">
1533                    <div class="trp-ald-popup-select" id="en_GB" data-trp-ald-selected-language = "en_GB">
1534                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB                    </div>
1535                                                                    <div class="trp-ald-popup-select" id="bg_BG" data-trp-ald-selected-language = "bg_BG">
1536                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg" class="trp-flag-image" alt="Change language to Bulgarian" decoding="async" width="18" height="14" /> BG                            </div>
1537                                                                        <div class="trp-ald-popup-select" id="cs_CZ" data-trp-ald-selected-language = "cs_CZ">
1538                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg" class="trp-flag-image" alt="Change language to Czech" decoding="async" width="18" height="14" /> CS                            </div>
1539                                                                        <div class="trp-ald-popup-select" id="da_DK" data-trp-ald-selected-language = "da_DK">
1540                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg" class="trp-flag-image" alt="Change language to Danish" decoding="async" width="18" height="14" /> DA                            </div>
1541                                                                        <div class="trp-ald-popup-select" id="de_DE" data-trp-ald-selected-language = "de_DE">
1542                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg" class="trp-flag-image" alt="Change language to German" decoding="async" width="18" height="14" /> DE                            </div>
1543                                                                        <div class="trp-ald-popup-select" id="el" data-trp-ald-selected-language = "el">
1544                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/el.svg" class="trp-flag-image" alt="Change language to Greek" decoding="async" width="18" height="14" /> EL                            </div>
1545                                                                        <div class="trp-ald-popup-select" id="es_ES" data-trp-ald-selected-language = "es_ES">
1546                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg" class="trp-flag-image" alt="Change language to Spanish" decoding="async" width="18" height="14" /> ES                            </div>
1547                                                                        <div class="trp-ald-popup-select" id="et" data-trp-ald-selected-language = "et">
1548                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg" class="trp-flag-image" alt="Change language to Estonian" decoding="async" width="18" height="14" /> ET                            </div>
1549                                                                        <div class="trp-ald-popup-select" id="fr_FR" data-trp-ald-selected-language = "fr_FR">
1550                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg" class="trp-flag-image" alt="Change language to French" decoding="async" width="18" height="14" /> FR                            </div>
1551                                                                        <div class="trp-ald-popup-select" id="hu_HU" data-trp-ald-selected-language = "hu_HU">
1552                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg" class="trp-flag-image" alt="Change language to Hungarian" decoding="async" width="18" height="14" /> HU                            </div>
1553                                                                        <div class="trp-ald-popup-select" id="it_IT" data-trp-ald-selected-language = "it_IT">
1554                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg" class="trp-flag-image" alt="Change language to Italian" decoding="async" width="18" height="14" /> IT                            </div>
1555                                                                        <div class="trp-ald-popup-select" id="pl_PL" data-trp-ald-selected-language = "pl_PL">
1556                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg" class="trp-flag-image" alt="Change language to Polish" decoding="async" width="18" height="14" /> PL                            </div>
1557                                                                        <div class="trp-ald-popup-select" id="pt_PT" data-trp-ald-selected-language = "pt_PT">
1558                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg" class="trp-flag-image" alt="Change language to Portuguese" decoding="async" width="18" height="14" /> PT                            </div>
1559                                                                        <div class="trp-ald-popup-select" id="uk" data-trp-ald-selected-language = "uk">
1560                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/uk.svg" class="trp-flag-image" alt="Change language to Ukrainian" decoding="async" width="18" height="14" /> UK                            </div>
1561                                                            </div>
1562            </div>
1563            </div>
1564
1565
1566            <div class="trp_ald_button">
1567                <a href="https://www.corkchoral.ie"
1568                   id="trp_ald_popup_change_language">
1569                    Change Language                </a>
1570            </div>
1571         </div>
1572        <a id="trp_ald_x_button_and_textarea" href="#">
1573            <span id="trp_ald_x_button" title="Close and do not switch language"></span>
1574            <span id="trp_ald_x_button_textarea" title="Close and do not switch language">
1575                Close and do not switch language            </span>
1576        </a>
1577    </div>
1578</div>
1579<template id="trp_ald_no_text_popup_template">
1580    <div id="trp_no_text_popup_wrap">
1581        <div id="trp_no_text_popup" class="trp_ald_no_text_popup" data-no-dynamic-translation data-no-translation>
1582            
1583            <div id="trp_ald_not_text_popup_ls_and_button">
1584                <div id="trp_ald_no_text_popup_div">
1585                    <span id="trp_ald_no_text_popup_text">
1586                        We've detected you might be speaking a different language. Do you want to change to:                    </span>
1587                </div>
1588                <div class="trp_ald_ls_container">
1589                    <div class="trp-language-switcher trp-language-switcher-container" id="trp_ald_no_text_select"
1590                         data-no-translation >
1591                        
1592                        <div class="trp-ls-shortcode-current-language" id="en_GB"
1593                             special-selector="trp_ald_popup_current_language" data-trp-ald-selected-language="en_GB">
1594                            <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB                        </div>
1595                        <div class="trp-ls-shortcode-language" id="trp_ald_no_text_popup_select_container">
1596                            <div class="trp-ald-popup-select" id="en_GB"
1597                                 data-trp-ald-selected-language= en_GB>
1598                                <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_GB.svg" class="trp-flag-image" alt role="presentation" decoding="async" width="18" height="14" /> EN_GB                            </div>
1599                                                                                            <div class="trp-ald-popup-select" id="bg_BG"
1600                                         data-trp-ald-selected-language="bg_BG">
1601                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/bg_BG.svg" class="trp-flag-image" alt="Change language to Bulgarian" decoding="async" width="18" height="14" /> BG
1602                                    </div>
1603                                                                                                <div class="trp-ald-popup-select" id="cs_CZ"
1604                                         data-trp-ald-selected-language="cs_CZ">
1605                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/cs_CZ.svg" class="trp-flag-image" alt="Change language to Czech" decoding="async" width="18" height="14" /> CS
1606                                    </div>
1607                                                                                                <div class="trp-ald-popup-select" id="da_DK"
1608                                         data-trp-ald-selected-language="da_DK">
1609                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/da_DK.svg" class="trp-flag-image" alt="Change language to Danish" decoding="async" width="18" height="14" /> DA
1610                                    </div>
1611                                                                                                <div class="trp-ald-popup-select" id="de_DE"
1612                                         data-trp-ald-selected-language="de_DE">
1613                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/de_DE.svg" class="trp-flag-image" alt="Change language to German" decoding="async" width="18" height="14" /> DE
1614                                    </div>
1615                                                                                                <div class="trp-ald-popup-select" id="el"
1616                                         data-trp-ald-selected-language="el">
1617                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/el.svg" class="trp-flag-image" alt="Change language to Greek" decoding="async" width="18" height="14" /> EL
1618                                    </div>
1619                                                                                                <div class="trp-ald-popup-select" id="es_ES"
1620                                         data-trp-ald-selected-language="es_ES">
1621                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/es_ES.svg" class="trp-flag-image" alt="Change language to Spanish" decoding="async" width="18" height="14" /> ES
1622                                    </div>
1623                                                                                                <div class="trp-ald-popup-select" id="et"
1624                                         data-trp-ald-selected-language="et">
1625                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/et.svg" class="trp-flag-image" alt="Change language to Estonian" decoding="async" width="18" height="14" /> ET
1626                                    </div>
1627                                                                                                <div class="trp-ald-popup-select" id="fr_FR"
1628                                         data-trp-ald-selected-language="fr_FR">
1629                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/fr_FR.svg" class="trp-flag-image" alt="Change language to French" decoding="async" width="18" height="14" /> FR
1630                                    </div>
1631                                                                                                <div class="trp-ald-popup-select" id="hu_HU"
1632                                         data-trp-ald-selected-language="hu_HU">
1633                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/hu_HU.svg" class="trp-flag-image" alt="Change language to Hungarian" decoding="async" width="18" height="14" /> HU
1634                                    </div>
1635                                                                                                <div class="trp-ald-popup-select" id="it_IT"
1636                                         data-trp-ald-selected-language="it_IT">
1637                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/it_IT.svg" class="trp-flag-image" alt="Change language to Italian" decoding="async" width="18" height="14" /> IT
1638                                    </div>
1639                                                                                                <div class="trp-ald-popup-select" id="pl_PL"
1640                                         data-trp-ald-selected-language="pl_PL">
1641                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pl_PL.svg" class="trp-flag-image" alt="Change language to Polish" decoding="async" width="18" height="14" /> PL
1642                                    </div>
1643                                                                                                <div class="trp-ald-popup-select" id="pt_PT"
1644                                         data-trp-ald-selected-language="pt_PT">
1645                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/pt_PT.svg" class="trp-flag-image" alt="Change language to Portuguese" decoding="async" width="18" height="14" /> PT
1646                                    </div>
1647                                                                                                <div class="trp-ald-popup-select" id="uk"
1648                                         data-trp-ald-selected-language="uk">
1649                                        <img src="https://www.corkchoral.ie/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/uk.svg" class="trp-flag-image" alt="Change language to Ukrainian" decoding="async" width="18" height="14" /> UK
1650                                    </div>
1651                                                                                    </div>
1652                    </div>
1653                </div>
1654                <div class="trp_ald_change_language_div">
1655                    <a href="https://www.corkchoral.ie" id="trp_ald_no_text_popup_change_language">
1656                        Change Language                    </a>
1657                </div>
1658            </div>
1659            <div id="trp_ald_no_text_popup_x">
1660                <button id="trp_close"></button>
1661            </div>
1662        </div>
1663    </div>
1664</template>
1665<!-- Consent Management powered by Complianz | GDPR/CCPA Cookie Consent https://wordpress.org/plugins/complianz-gdpr -->
1666<div id="cmplz-cookiebanner-container"><div id="cmplz-cookiebanner-1-optin" class="cmplz-cookiebanner cmplz-hidden banner-1 banner-a optin cmplz-bottom-right cmplz-categories-type-view-preferences" aria-modal="true" data-nosnippet="true" role="dialog" aria-live="polite" aria-labelledby="cmplz-header-1-optin" aria-describedby="cmplz-message-1-optin">
1667	<div class="cmplz-header">
1668		<div class="cmplz-logo"></div>
1669		<div class="cmplz-title" id="cmplz-header-1-optin">
1669Manage Consent</div>
1670		<div class="cmplz-close" tabindex="0" role="button" aria-label="close-dialog">
1671			<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="times" class="svg-inline--fa fa-times fa-w-11" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 512"><path fill="currentColor" d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"></path></svg>
1672		</div>
1673	</div>
1674
1675	<div class="cmplz-divider cmplz-divider-header"></div>
1676	<div class="cmplz-body">
1677		<div class="cmplz-message" id="cmplz-message-1-optin">To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behaviour or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.</div>
1678		<!-- categories start -->
1679		<div class="cmplz-categories">
1680			<div class="cmplz-category cmplz-functional">
1681				<div class="cmplz-category-header">
1682					<span class="cmplz-category-title" id="cmplz-title-functional-1-optin">Functional</span>
1683					<span class='cmplz-always-active'>
1684						<span class="cmplz-banner-checkbox">
1685							<input type="checkbox"
1686									id="cmplz-functional-optin"
1687									data-category="cmplz_functional"
1688									class="cmplz-consent-checkbox cmplz-functional"
1689									size="40"
1690									value="1"/>
1691							<label class="cmplz-label" for="cmplz-functional-optin"><span class="screen-reader-text">Functional</span></label>
1692						</span>
1693						Always active					</span>
1694					<button class="cmplz-category-toggle"
1695							aria-expanded="false"
1696							aria-controls="cmplz-desc-functional-1-optin"
1697							aria-labelledby="cmplz-title-functional-1-optin">
1698						<span class="cmplz-icon cmplz-open">
1699							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
1700						</span>
1701					</button>
1702				</div>
1703				<div class="cmplz-description" id="cmplz-desc-functional-1-optin" hidden>
1704					<span class="cmplz-description-functional">The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.</span>
1705				</div>
1706			</div>
1707
1708			<div class="cmplz-category cmplz-preferences">
1709				<div class="cmplz-category-header">
1710					<span class="cmplz-category-title" id="cmplz-title-preferences-1-optin">Preferences</span>
1711					<span class="cmplz-banner-checkbox">
1712						<input type="checkbox"
1713								id="cmplz-preferences-optin"
1714								data-category="cmplz_preferences"
1715								class="cmplz-consent-checkbox cmplz-preferences"
1716								size="40"
1717								value="1"/>
1718						<label class="cmplz-label" for="cmplz-preferences-optin"><span class="screen-reader-text">Preferences</span></label>
1719					</span>
1720					<button class="cmplz-category-toggle"
1721							aria-expanded="false"
1722							aria-controls="cmplz-desc-preferences-1-optin"
1723							aria-labelledby="cmplz-title-preferences-1-optin">
1724						<span class="cmplz-icon cmplz-open">
1725							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
1726						</span>
1727					</button>
1728				</div>
1729				<div class="cmplz-description" id="cmplz-desc-preferences-1-optin" hidden>
1730					<span class="cmplz-description-preferences">The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.</span>
1731				</div>
1732			</div>
1733
1734			<div class="cmplz-category cmplz-statistics">
1735				<div class="cmplz-category-header">
1736					<span class="cmplz-category-title" id="cmplz-title-statistics-1-optin">Statistics</span>
1737					<span class="cmplz-banner-checkbox">
1738						<input type="checkbox"
1739								id="cmplz-statistics-optin"
1740								data-category="cmplz_statistics"
1741								class="cmplz-consent-checkbox cmplz-statistics"
1742								size="40"
1743								value="1"/>
1744						<label class="cmplz-label" for="cmplz-statistics-optin"><span class="screen-reader-text">Statistics</span></label>
1745					</span>
1746					<button class="cmplz-category-toggle"
1747							aria-expanded="false"
1748							aria-controls="cmplz-desc-statistics-1-optin"
1749							aria-labelledby="cmplz-title-statistics-1-optin">
1750						<span class="cmplz-icon cmplz-open">
1751							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18">
1751<path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
1752						</span>
1753					</button>
1754				</div>
1755				<div class="cmplz-description" id="cmplz-desc-statistics-1-optin" hidden>
1756					<span class="cmplz-description-statistics">The technical storage or access that is used exclusively for statistical purposes.</span>
1757					<span class="cmplz-description-statistics-anonymous">The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.</span>
1758				</div>
1759			</div>
1760
1761			<div class="cmplz-category cmplz-marketing">
1762				<div class="cmplz-category-header">
1763					<span class="cmplz-category-title" id="cmplz-title-marketing-1-optin">Marketing</span>
1764					<span class="cmplz-banner-checkbox">
1765						<input type="checkbox"
1766								id="cmplz-marketing-optin"
1767								data-category="cmplz_marketing"
1768								class="cmplz-consent-checkbox cmplz-marketing"
1769								size="40"
1770								value="1"/>
1771						<label class="cmplz-label" for="cmplz-marketing-optin"><span class="screen-reader-text">Marketing</span></label>
1772					</span>
1773					<button class="cmplz-category-toggle"
1774							aria-expanded="false"
1775							aria-controls="cmplz-desc-marketing-1-optin"
1776							aria-labelledby="cmplz-title-marketing-1-optin">
1777						<span class="cmplz-icon cmplz-open">
1778							<svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" height="18"><path d="M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z"/></svg>
1779						</span>
1780					</button>
1781				</div>
1782				<div class="cmplz-description" id="cmplz-desc-marketing-1-optin" hidden>
1783					<span class="cmplz-description-marketing">The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.</span>
1784				</div>
1785			</div>
1786		</div><!-- categories end -->
1787			</div>
1788
1789	<div class="cmplz-links cmplz-information">
1790		<ul>
1791			<li><a class="cmplz-link cmplz-manage-options cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">Manage options</a></li>
1792			<li><a class="cmplz-link cmplz-manage-third-parties cookie-statement" href="#" data-relative_url="#cmplz-cookies-overview">Manage services</a></li>
1793			<li><a class="cmplz-link cmplz-manage-vendors tcf cookie-statement" href="#" data-relative_url="#cmplz-tcf-wrapper">Manage {vendor_count} vendors</a></li>
1794			<li><a class="cmplz-link cmplz-external cmplz-read-more-purposes tcf" target="_blank" rel="noopener noreferrer nofollow" href="https://cookiedatabase.org/tcf/purposes/" aria-label="Read more about TCF purposes on Cookie Database">Read more about these purposes</a></li>
1795		</ul>
1796			</div>
1797
1798	<div class="cmplz-divider cmplz-footer"></div>
1799
1800	<div class="cmplz-buttons">
1801		<button class="cmplz-btn cmplz-accept">Accept</button>
1802		<button class="cmplz-btn cmplz-deny">Deny</button>
1803		<button class="cmplz-btn cmplz-view-preferences">View preferences</button>
1804		<button class="cmplz-btn cmplz-save-preferences">Save preferences</button>
1805		<a class="cmplz-btn cmplz-manage-options tcf cookie-statement" href="#" data-relative_url="#cmplz-manage-consent-container">View preferences</a>
1806			</div>
1807
1808
1809	<div class="cmplz-documents cmplz-links">
1810		<ul>
1811			<li><a class="cmplz-link cookie-statement" href="#" data-relative_url="">{title}</a></li>
1812			<li><a class="cmplz-link privacy-statement" href="#" data-relative_url="">{title}</a></li>
1813			<li><a class="cmplz-link impressum" href="#" data-relative_url="">{title}</a></li>
1814		</ul>
1815			</div>
1816</div>
1817</div>
1818					<div id="cmplz-manage-consent" data-nosnippet="true"><button class="cmplz-btn cmplz-hidden cmplz-manage-consent manage-consent-1" aria-haspopup="dialog" aria-controls="cmplz-cookiebanner-1-optin">
1818Manage consent</button>
1819
1820</div>
1820<script id="edd-ajax-js-extra" defer src="data:text/javascript;base64,CnZhciBlZGRfc2NyaXB0cyA9IHsiYWpheHVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvd3AtYWRtaW4vYWRtaW4tYWpheC5waHAiLCJwb3NpdGlvbl9pbl9jYXJ0IjoiIiwiaGFzX3B1cmNoYXNlX2xpbmtzIjoiMCIsImFscmVhZHlfaW5fY2FydF9tZXNzYWdlIjoiWW91IGhhdmUgYWxyZWFkeSBhZGRlZCB0aGlzIGl0ZW0gdG8geW91ciBiYXNrZXQiLCJlbXB0eV9jYXJ0X21lc3NhZ2UiOiJZb3VyIGJhc2tldCBpcyBlbXB0eSIsImxvYWRpbmciOiJMb2FkaW5nIiwic2VsZWN0X29wdGlvbiI6IlBsZWFzZSBzZWxlY3QgYW4gb3B0aW9uIiwiaXNfY2hlY2tvdXQiOiIwIiwiZGVmYXVsdF9nYXRld2F5Ijoic3RyaXBlIiwicmVkaXJlY3RfdG9fY2hlY2tvdXQiOiIwIiwiY2hlY2tvdXRfcGFnZSI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvY2hlY2tvdXQvIiwicGVybWFsaW5rcyI6IjEiLCJxdWFudGl0aWVzX2VuYWJsZWQiOiIiLCJ0YXhlc19lbmFibGVkIjoiMCIsImN1cnJlbnRfcGFnZSI6IjY0MCJ9OwovLyMgc291cmNlVVJMPWVkZC1hamF4LWpzLWV4dHJhCg=="></script>
vendor: 1 bytes, line 1820
1820
1821<script id="edd-ajax-js" src="https://www.corkchoral.ie/wp-content/plugins/easy-digital-downloads/assets/build/js/frontend/edd-ajax.js?ver=3.7.0" defer></script>
vendor: 1 bytes, line 1821
1821
1822<script id="perfmatters-lazy-load-js-before">
1823window.lazyLoadOptions={elements_selector:"img[data-src],.perfmatters-lazy,.perfmatters-lazy-css-bg",thresholds:"400px 0px",class_loading:"pmloading",class_loaded:"pmloaded",callback_loaded:function(element){if(element.tagName==="IFRAME"){if(element.classList.contains("pmloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}};window.addEventListener("LazyLoad::Initialized",function(e){var lazyLoadInstance=e.detail.instance;});
1824//# sourceURL=perfmatters-lazy-load-js-before
1825</script>
vendor: 1 bytes, line 1825
1825
1826<script id="perfmatters-lazy-load-js" async src="https://www.corkchoral.ie/wp-content/plugins/perfmatters/js/lazyload.min.js?ver=2.6.7"></script>
vendor: 1 bytes, line 1826
1826
1827<script id="cmplz-cookiebanner-js-extra" defer src="data:text/javascript;base64,CnZhciBjb21wbGlhbnogPSB7InByZWZpeCI6ImNtcGx6XyIsImRlYnVnIjoiIiwidXNlcl9iYW5uZXJfaWQiOiIxIiwic2V0X2Nvb2tpZXMiOltdLCJibG9ja19hamF4X2NvbnRlbnQiOiIwIiwiYmFubmVyX3ZlcnNpb24iOiIzIiwidmVyc2lvbiI6IjcuNS41Iiwic3RvcmVfY29uc2VudCI6IiIsImRvX25vdF90cmFja19lbmFibGVkIjoiIiwiY29uc2VudHR5cGUiOiJvcHRpbiIsInJlZ2lvbiI6ImV1IiwiZ2VvaXAiOiIiLCJkaXNtaXNzX3RpbWVvdXQiOiIiLCJkaXNhYmxlX2Nvb2tpZWJhbm5lciI6IiIsInNvZnRfY29va2lld2FsbCI6IiIsImRpc21pc3Nfb25fc2Nyb2xsIjoiIiwiY29va2llX2V4cGlyeSI6IjM2NSIsInVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvd3AtanNvbi9jb21wbGlhbnovdjEvIiwibG9jYWxlIjoibGFuZz1lbiZsb2NhbGU9ZW5fR0IiLCJzZXRfY29va2llc19vbl9yb290IjoiMCIsImNvb2tpZV9kb21haW4iOiIiLCJjdXJyZW50X3BvbGljeV9pZCI6IjMzIiwiY29va2llX3BhdGgiOiIvIiwiY2F0ZWdvcmllcyI6eyJzdGF0aXN0aWNzIjoic3RhdGlzdGljcyIsIm1hcmtldGluZyI6Im1hcmtldGluZyJ9LCJ0Y2ZfYWN0aXZlIjoiIiwicGxhY2Vob2xkZXJ0ZXh0IjoiQ2xpY2sgdG8gYWNjZXB0IG1hcmtldGluZyBjb29raWVzIGFuZCBlbmFibGUgdGhpcyBjb250ZW50IiwiY3NzX2ZpbGUiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL3dwLWNvbnRlbnQvdXBsb2Fkcy9jb21wbGlhbnovY3NzL2Jhbm5lci17YmFubmVyX2lkfS17dHlwZX0uY3NzP3Y9MyIsInBhZ2VfbGlua3MiOnsiZXUiOnsiY29va2llLXN0YXRlbWVudCI6eyJ0aXRsZSI6IiIsInVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvZmVzdGl2YWxfY2hvaXJzL3VuaXZlcnNpdHktb2YtZ2Fsd2F5LWFsdW1uaS1lbnNlbWJsZS8ifSwicHJpdmFjeS1zdGF0ZW1lbnQiOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn0sImltcHJlc3N1bSI6eyJ0aXRsZSI6IiIsInVybCI6Imh0dHBzOi8vd3d3LmNvcmtjaG9yYWwuaWUvZmVzdGl2YWxfY2hvaXJzL3VuaXZlcnNpdHktb2YtZ2Fsd2F5LWFsdW1uaS1lbnNlbWJsZS8ifX0sInVrIjp7ImNvb2tpZS1zdGF0ZW1lbnQiOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn0sInByaXZhY3ktc3RhdGVtZW50Ijp7InRpdGxlIjoiIiwidXJsIjoiaHR0cHM6Ly93d3cuY29ya2Nob3JhbC5pZS9mZXN0aXZhbF9jaG9pcnMvdW5pdmVyc2l0eS1vZi1nYWx3YXktYWx1bW5pLWVuc2VtYmxlLyJ9LCJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJ1cyI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJjYSI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJhdSI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJ6YSI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19LCJiciI6eyJpbXByZXNzdW0iOnsidGl0bGUiOiIiLCJ1cmwiOiJodHRwczovL3d3dy5jb3JrY2hvcmFsLmllL2Zlc3RpdmFsX2Nob2lycy91bml2ZXJzaXR5LW9mLWdhbHdheS1hbHVtbmktZW5zZW1ibGUvIn19fSwidG1fY2F0ZWdvcmllcyI6IjEiLCJmb3JjZUVuYWJsZVN0YXRzIjoiIiwicHJldmlldyI6IiIsImNsZWFuX2Nvb2tpZXMiOiIiLCJhcmlhX2xhYmVsIjoiQ2xpY2sgdG8gYWNjZXB0IG1hcmtldGluZyBjb29raWVzIGFuZCBlbmFibGUgdGhpcyBjb250ZW50IiwiaWFwaV9uYXYiOiJmYWxsYmFjayJ9OwovLyMgc291cmNlVVJMPWNtcGx6LWNvb2tpZWJhbm5lci1qcy1leHRyYQo="></script>
vendor: 1 bytes, line 1827
1827
1828<script defer id="cmplz-cookiebanner-js" src="https://www.corkchoral.ie/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1789651989"></script>
1828
1829        <style wpcb-ids='36' class='wpcb2-inline-style'>
1830
1831        @charset "UTF-8";.wp-element-caption{font-size:var(--text-s)}.page-content-section .has-x-large-font-size{font-size:var(--text-xl);letter-spacing:var(--heading-letter-spacing)}.page-content-section .has-large-font-size{font-size:var(--text-l);letter-spacing:var(--heading-letter-spacing)}.page-content-section .has-medium-font-size{font-size:var(--text-m)}.page-content-section .has-small-font-size{font-size:var(--text-s)}.page-content-section .icon-card-alpha{grid-column:feature-max}.page-content-section .wp-block-accordion{display:flex;flex-direction:column;gap:var(--space-xs);grid-column:feature}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-heading{font-size:var(--text-m);font-weight:600;text-decoration:none}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-heading .wp-block-accordion-heading__toggle{text-align:left}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon{font-size:var(--text-xl);width:1em;height:1em;line-height:1;padding-bottom:.25em;transition:transform var(--transition-duration) var(--transition-timing)}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-panel{transition:all var(--transition-duration) var(--transition-timing);padding-inline:var(--space-xs)}.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-panel[aria-hidden=true],.page-content-section .wp-block-accordion .wp-block-accordion-item .wp-block-accordion-panel[inert]{max-height:0;overflow:hidden;opacity:0;display:block}.page-content-section .wp-block-accordion .wp-block-accordion-item.is-open .wp-block-accordion-panel{padding-block:var(--space-xs);max-height:fit-content;overflow:visible;opacity:1}.page-content-section .wp-block-accordion .wp-block-accordion-heading__toggle{border:2px solid var(--primary);border-radius:var(--btn-border-radius);padding-block:.75em;padding-inline:.75em}.page-content-section .wp-block-accordion .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title{text-decoration:none}.page-content-section .wp-block-accordion .wp-block-accordion-heading__toggle:focus-visible{outline-style:solid;outline-color:var(--focus-color);outline-width:var(--focus-width);outline-offset:var(--focus-offset)}.page-content-section .wp-block-accordion .wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon{transform:rotate(180deg)}.page-content-section .wp-block-group{padding-inline:var(--card-padding);padding-block:var(--card-padding);grid-column:feature-max;border-radius:var(--radius)}.page-content-section .wp-block-columns.wp-block-columns-is-layout-flex{gap:var(--content-gap)}.page-content-section .wp-block-button .wp-block-button__link{background:var(--primary);color:var(--primary-ultra-light);border-color:var(--primary);border-width:var(--btn-outline-border-width);border-radius:var(--btn-border-radius);font-weight:var(--btn-font-weight);text-decoration:none}.page-content-section .wp-block-button .wp-block-button__link:hover{background:var(--primary-hover);color:var(--primary-ultra-light);border-color:var(--primary-hover)}.page-content-section .wp-block-button .wp-block-button__link:focus{--focus-color:var(--primary-light)}.page-content-section .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--primary)}.page-content-section .wp-block-image.aligncenter img{margin:0 auto}.page-content-section figure.wp-block-gallery.has-nested-images{display:flex;flex-wrap:wrap}.page-content-section blockquote.wp-block-quote{grid-column:feature}.header-logo--inverted{display:none}@media (min-width:1135px){header.header[data-overlay-nav="show true"]:not(.header--visible){background:transparent}header.header[data-overlay-nav="show true"]:not(.header--visible) .header-logo--normal{display:none}header.header[data-overlay-nav="show true"]:not(.header--visible) .header-logo--inverted{display:block}header.header[data-overlay-nav="show true"]:not(.header--visible) ul.etch-nav__list>li>a:not([data-link-style="Button"]),header.header[data-overlay-nav="show true"]:not(.header--visible) ul.etch-nav__list>li>button>span,header.header[data-overlay-nav="show true"]:not(.header--visible) ul.etch-nav__list>li>button>svg{filter:invert(100%) hue-rotate(180deg)}}.header{position:fixed;top:var(--wp-admin--admin-bar--height,0px);left:0;right:0;z-index:1000;background-color:var(--white);transition:var(--transition)}.header.header--hidden{transform:translateY(calc(-1 * var(--header-height)));opacity:1}.header.header--visible{transform:translateY(calc(-1 * var(--top-bar-height)));opacity:1;background-color:var(--white);box-shadow:0 0 40px color-mix(in srgb,black 10%,transparent)}.header .top-bar{transition:var(--transition)}.header.header--hidden .top-bar,.header.header--visible .top-bar{visibility:hidden;pointer-events:none}nav.etch-nav{--top-margin:calc(var(--header-height) + var(--wp-admin--admin-bar--height,0px))}nav.etch-nav ul.etch-nav__list>li>a[data-link-style="Button"]{--btn-background:var(--secondary);--btn-border-color:var(--secondary);--btn-text-color:var(--white);background:var(--btn-background);color:var(--btn-text-color);padding-block:var(--btn-padding-block);padding-inline:var(--btn-padding-inline);line-height:var(--btn-line-height);font-style:var(--btn-font-style);text-transform:var(--btn-text-transform);letter-spacing:var(--btn-letter-spacing);text-decoration:var(--btn-text-decoration);border-width:var(--btn-border-width);border-style:var(--btn-border-style);border-radius:var(--btn-border-radius);border-color:var(--btn-border-color);transition:var(--btn-transition,var(--transition));justify-content:var(--btn-justify-content,center);text-align:var(--btn-text-align,center);display:var(--btn-display,inline-flex)}nav.etch-nav ul.etch-nav__list li.etch-nav__item{font-size:calc(var(--text-s) * 1.1);font-weight:500}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]){position:inherit}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]):has(>button.etch-nav__button--dropdown-toggle[aria-expanded="true"]) ul.etch-nav__flyout{visibility:visible}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown{width:100%;max-width:var(--content-width,1366px);left:0;right:0;margin-inline:auto;display:flex;flex-direction:row;justify-content:space-between;max-height:inherit!important}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout{position:relative}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout ul.etch-nav__flyout{position:relative;
1831left:0;max-height:inherit!important;opacity:1;box-shadow:none}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout ul.etch-nav__flyout li.etch-nav__item{position:relative;pointer-events:all}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Mega"]) ul.etch-nav__dropdown li.etch-nav__item--has-flyout ul.etch-nav__flyout li.etch-nav__item a.etch-nav__link{position:relative}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has([data-dropdown-style="Normal"]){position:relative}@media (min-width:1135px){nav.etch-nav{--nav-item-block-padding:.5em;--nav-item-inline-padding:.5em}nav.etch-nav ul.etch-nav__list ul.etch-nav__dropdown{border-radius:6px;padding-block:.5em;padding-inline:.5em}nav.etch-nav ul.etch-nav__list ul.etch-nav__dropdown[data-dropdown-style="Mega"]{padding:var(--space-s);top:calc(var(--header-height) - var(--space-m))}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle{cursor:default}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle:hover{color:inherit}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle>span{font-weight:var(--heading-font-weight,600);font-size:var(--text-m);color:var(--black);padding-block-end:.15em}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle>span:after{content:" ⏷";position:relative;color:var(--secondary-hover)}nav.etch-nav ul.etch-nav__list button.etch-nav__button--flyout-toggle>svg{display:none}}@media (max-width:1135px){nav.etch-nav[aria-expanded="true"]{height:calc(100vh - var(--header-height));width:100vw;box-shadow:0 4px 25px oklch(0 0 0/0.22)}nav.etch-nav ul.etch-nav__list{background-color:var(--nav-mobile-background-color,#fff);height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;overflow-y:auto;overscroll-behavior:contain}nav.etch-nav ul.etch-nav__list li.etch-nav__item{position:relative!important;padding:1em var(--gutter);border-bottom:1px solid var(--border-color-dark);width:100%}nav.etch-nav ul.etch-nav__list button>svg{transition:none}nav.etch-nav ul.etch-nav__list button[aria-expanded="false"] svg{transform:rotate(-90deg)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]{position:absolute;height:var(--header-height);top:calc(var(--header-height) * -.83);gap:.4em;align-items:center;color:var(--black)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]>span{display:none}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]>svg{transform:rotate(90deg)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown>button[aria-expanded="true"]::after{content:"Back"}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown ul.etch-nav__dropdown,nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown ul.etch-nav__flyout{transition:transform .2s ease-in-out;background:var(--nav-background-color,#fff);width:100%;height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;overflow-y:auto;overscroll-behavior:contain}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown ul.etch-nav__dropdown{top:var(--top-margin);position:fixed!important;min-height:calc(100dvh - var(--top-margin));height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;flex-direction:column!important;justify-content:flex-start!important}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has(>button[aria-expanded="false"]) ul.etch-nav__dropdown{transform:translateX(-100%)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has(>button[aria-expanded="true"]){position:static!important}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-dropdown:has(>button[aria-expanded="true"]) ul.etch-nav__dropdown{transform:translateX(0);z-index:9999;left:0}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-flyout ul.etch-nav__flyout{flex-direction:column;justify-content:flex-start;position:fixed!important;height:calc(100dvh - var(--top-margin));max-height:calc(100dvh - var(--top-margin))!important;overflow-y:auto;overscroll-behavior:contain;top:0}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-flyout:has(>button[aria-expanded="false"]) ul.etch-nav__flyout{transform:translateX(-100%)}nav.etch-nav ul.etch-nav__list li.etch-nav__item--has-flyout:has(>button[aria-expanded="true"]) ul.etch-nav__flyout{transform:translateX(0);z-index:99999}}@media (max-width:1135px){header.header-alpha:has(nav>ul>li>button[aria-expanded="true"]) .header-alpha__logo,header.header-alpha:has(nav>ul>li>button[aria-expanded="true"]) .header-logo-link,header.header:has(nav>ul>li>button[aria-expanded="true"]) .header-alpha__logo,header.header:has(nav>ul>li>button[aria-expanded="true"]) .header-logo-link{opacity:0;z-index:-1}}.wp-block-envira-envira-gallery{grid-column:full}.wp-block-envira-envira-gallery .envira-pagination{margin-inline:auto;max-inline-size:max-content}.trp-shortcode-switcher{z-index:9999;padding:0;--border-radius:7px;--bg:var(--white);--font-size:var(--text-s)}.trp-shortcode-switcher.trp-shortcode-overlay{left:-10px}.trp-shortcode-switcher .trp-language-item{padding:.3em .6em}.trp-shortcode-switcher .trp-language-item .trp-language-item-name{line-height:1.4}.trp-shortcode-switcher .trp-language-item:focus-visible{outline-style:solid;outline-color:var(--focus-color);outline-width:var(--focus-width);outline-offset:-2px}.trp-shortcode-switcher .trp-current-language-item__wrapper .trp-language-item{gap:.4em}.trp-shortcode-switcher .trp-switcher-dropdown-list .trp-language-item{min-width:max-content}:root,body{--edd-blocks-button-background:var(--secondary,var(--f-light-btn-background));--edd-blocks-button-text:var(--secondary-ultra-light,var(--f-light-btn-text-color))}.edd-blocks-receipt__items .edd-blocks-receipt__item-details{display:flex;flex-direction:column;gap:.5em}.edd-blocks-receipt__items .edd-blocks__row{display:flex;flex-direction:column;align-items:flex-start;padding:1em 0}.edd-blocks-receipt__items .edd-blocks__row ul{display:flex;flex-direction:column;gap:.15em}.edd-blocks-receipt__items .edd-blocks__row ul li a{text-decoration:none;font-size:var(--text-s)}#edd_purchase_form.edd_form,#edd-blocks-form__login,#edd-blocks-form__lost-password,#edd_profile_editor_form,#edd_login_form{display:flex;flex-direction:column;gap:var(--content-gap)}#edd_purchase_form.edd_form input[type=text],#edd_purchase_form.edd_form input[type=password],#edd_purchase_form.edd_form select,#edd-blocks-form__login input[type=text],#edd-blocks-form__login input[type=password],#edd-blocks-form__login select,#edd-blocks-form__lost-password input[type=text],#edd-blocks-form__lost-password input[type=password],#edd-blocks-form__lost-password select,#edd_profile_editor_form input[type=text],#edd_profile_editor_form input[type=password],#edd_profile_editor_form select,#edd_login_form input[type=text],#edd_login_form input[type=password],#edd_login_form select{padding:var(--wsf-field-padding-vertical,.85em) var(--wsf-field-padding-horizontal,1em);border-radius:var(--btn-border-radius);border-color:var(--primary-light);border-style:solid;border-width:var(--border-width)}#edd_purchase_form.edd_form input[type=text]:placeholder,#edd_purchase_form.edd_form input[type=password]:placeholder,#edd_purchase_form.edd_form select:placeholder,#edd-blocks-form__login input[type=text]:placeholder,#edd-blocks-form__login input[type=password]:placeholder,#edd-blocks-form__login select:placeholder,#edd-blocks-form__lost-password input[type=text]:placeholder,#edd-blocks-form__lost-password input[type=password]:placeholder,#edd-blocks-form__lost-password select:placeholder,#edd_profile_editor_form input[type=text]:placeholder,#edd_profile_editor_form input[type=password]:placeholder,#edd_profile_editor_form select:placeholder,#edd_login_form input[type=text]:placeholder,#edd_login_form input[type=password]:placeholder,#edd_login_form select:placeholder{color:var(--wsf-field-color-placeholder,var(--neutral-light))}#edd_purchase_form.edd_form fieldset,#edd_purchase_form.edd_form fieldset#edd_cc_fields,#edd-blocks-form__login fieldset,#edd-blocks-form__login fieldset#edd_cc_fields,#edd-blocks-form__lost-password fieldset,#edd-blocks-form__lost-password fieldset#edd_cc_fields,#edd_profile_editor_form fieldset,#edd_profile_editor_form fieldset#edd_cc_fields,#edd_login_form fieldset,#edd_login_form fieldset#edd_cc_fields{border-width:1px;border-radius:var(--radius-s);padding:var(--space-m);border-color:var(--border-color-dark);
1831display:flex;flex-direction:column;gap:1em}#edd_purchase_form.edd_form .edd-blocks-form,#edd-blocks-form__login .edd-blocks-form,#edd-blocks-form__lost-password .edd-blocks-form,#edd_profile_editor_form .edd-blocks-form,#edd_login_form .edd-blocks-form{border-radius:var(--radius-s);padding:var(--space-m)}#edd_purchase_form.edd_form .edd-blocks-form .edd-blocks-form__group>label,#edd-blocks-form__login .edd-blocks-form .edd-blocks-form__group>label,#edd-blocks-form__lost-password .edd-blocks-form .edd-blocks-form__group>label,#edd_profile_editor_form .edd-blocks-form .edd-blocks-form__group>label,#edd_login_form .edd-blocks-form .edd-blocks-form__group>label{font-size:var(--f-form-font-size);font-weight:var(--wsf-field-label-font-weight,400);color:var(--text-dark);line-height:var(--text-line-height)}#edd_purchase_form.edd_form .edd-blocks-form .edd-description,#edd-blocks-form__login .edd-blocks-form .edd-description,#edd-blocks-form__lost-password .edd-blocks-form .edd-description,#edd_profile_editor_form .edd-blocks-form .edd-description,#edd_login_form .edd-blocks-form .edd-description{color:var(--neutral-semi-dark);font-size:var(--text-s)}#edd_purchase_form.edd_form .edd-blocks-form input[type=text],#edd_purchase_form.edd_form .edd-blocks-form select,#edd-blocks-form__login .edd-blocks-form input[type=text],#edd-blocks-form__login .edd-blocks-form select,#edd-blocks-form__lost-password .edd-blocks-form input[type=text],#edd-blocks-form__lost-password .edd-blocks-form select,#edd_profile_editor_form .edd-blocks-form input[type=text],#edd_profile_editor_form .edd-blocks-form select,#edd_login_form .edd-blocks-form input[type=text],#edd_login_form .edd-blocks-form select{padding:var(--wsf-field-padding-vertical,.85em) var(--wsf-field-padding-horizontal,1em);border-radius:var(--btn-border-radius);border-color:var(--primary-light);border-style:solid;border-width:var(--border-width)}#edd_purchase_form.edd_form .edd-blocks-form input[type=text]:placeholder,#edd_purchase_form.edd_form .edd-blocks-form select:placeholder,#edd-blocks-form__login .edd-blocks-form input[type=text]:placeholder,#edd-blocks-form__login .edd-blocks-form select:placeholder,#edd-blocks-form__lost-password .edd-blocks-form input[type=text]:placeholder,#edd-blocks-form__lost-password .edd-blocks-form select:placeholder,#edd_profile_editor_form .edd-blocks-form input[type=text]:placeholder,#edd_profile_editor_form .edd-blocks-form select:placeholder,#edd_login_form .edd-blocks-form input[type=text]:placeholder,#edd_login_form .edd-blocks-form select:placeholder{color:var(--wsf-field-color-placeholder,var(--neutral-light))}#edd_purchase_form.edd_form .edd-blocks-form legend,#edd-blocks-form__login .edd-blocks-form legend,#edd-blocks-form__lost-password .edd-blocks-form legend,#edd_profile_editor_form .edd-blocks-form legend,#edd_login_form .edd-blocks-form legend{font-size:var(--f-form-font-size,var(--text-m));font-weight:var(--wsf-section-legend-font-weight,600)}#edd_purchase_form.edd_form .edd-blocks__payment-details,#edd-blocks-form__login .edd-blocks__payment-details,#edd-blocks-form__lost-password .edd-blocks__payment-details,#edd_profile_editor_form .edd-blocks__payment-details,#edd_login_form .edd-blocks__payment-details{display:flex;flex-direction:column;gap:var(--content-gap)}#edd_purchase_form.edd_form .edd-blocks__payment-details #edd_purchase_submit,#edd-blocks-form__login .edd-blocks__payment-details #edd_purchase_submit,#edd-blocks-form__lost-password .edd-blocks__payment-details #edd_purchase_submit,#edd_profile_editor_form .edd-blocks__payment-details #edd_purchase_submit,#edd_login_form .edd-blocks__payment-details #edd_purchase_submit{border:0 solid transparent;gap:var(--content-gap);display:flex;flex-direction:column}#edd_purchase_form.edd_form .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd-blocks-form__login .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd-blocks-form__lost-password .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd_profile_editor_form .edd-blocks__payment-details #edd_purchase_submit fieldset,#edd_login_form .edd-blocks__payment-details #edd_purchase_submit fieldset{border:0 solid transparent;padding:0}dialog #edd-blocks-form__login{padding:0;margin-top:var(--space-s);border-width:0;gap:calc(var(--content-gap) / 2)}dialog #edd-blocks-form__login .edd-blocks-form__group-lost-password{display:none}:root{--fluentform-primary:var(--secondary);--fluentform-secondary:var(--neutral-semi-dark);--fluentform-danger:#f56c6c;--fluentform-border-color:var(--border-color-dark);--fluentform-border-radius:var(--btn-radius);--fluentform-input-select-height:auto;--f-input-height:inherit}.ff-default .ff-el-form-control{padding:var(--wsf-field-padding-vertical,.85em) var(--wsf-field-padding-horizontal,1em)}.frm-fluent-form .ff-btn:not(.ff_upload_btn),.edd-submit{background-color:var(--secondary,var(--f-light-btn-background));color:var(--secondary-ultra-light,var(--f-light-btn-text-color));border-style:var(--btn-border-style,solid);border-width:var(--btn-border-width,2px);border-color:var(--secondary,var(--f-light-btn-border-color));border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-webkit-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-moz-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-ms-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));-o-border-radius:var(--btn-border-radius,var(--f-btn-border-radius));font-size:var(--btn-font-size,var(--f-btn-text-size));font-weight:var(--btn-font-weight,400);line-height:var(--btn-line-height,1);padding-block:var(--btn-padding-block,var(--f-btn-padding-y));padding-inline:var(--btn-padding-inline,var(--f-btn-padding-x));margin-block-start:var(--f-btn-margin-top,0);text-align:center;-webkit-text-decoration:var(--btn-text-decoration,var(f-btn-text-decoration));text-decoration:var(--btn-text-decoration,var(--f-btn-text-decoration));text-transform:var(--btn-text-transform,var(--f-btn-text-transform));transition:all var(--btn-transition-duration) ease;min-height:inherit;inline-size:var(--btn-width,auto);min-inline-size:var(--btn-min-width)}.frm-fluent-form .ff-btn:not(.ff_upload_btn):hover{background-color:var(--secondary-hover,var(--f-light-btn-background));color:var(--white,white);border-color:var(--secondary-hover,var(--f-light-btn-background))}.frm-fluent-form .ff-btn:not(.ff_upload_btn):hover{opacity:inherit}:root{--wpgb-accent-scheme-1:var(--primary);--wpgb-dark-scheme-1:var(--neutral-dark);--wpgb-dark-scheme-2:var(--neutral-semi-dark);--wpgb-dark-scheme-3:var(--neutral-semi-light);--wpgb-light-scheme-1:var(--white);--wpgb-light-scheme-2:var(--neutral-ultra-light);--wpgb-light-scheme-3:var(--neutral-light)}
1831.wpgb-facet fieldset:last-child{margin-bottom:0}.wpgb-facet .wpgb-checkbox-label>span,.wpgb-facet .wpgb-radio-label>span{color:var(--primary-semi-light)}.wpgb-facet .wpgb-pagination{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.wpgb-facet .wpgb-pagination li>a{background-color:var(--secondary);padding-inline:var(--btn-padding-inline);padding-block:var(--btn-padding-block);border-radius:var(--btn-border-radius);font-size:var(--text-m);font-weight:var(--btn-font-weight);color:var(--white)}.wpgb-facet .wpgb-pagination li>a:hover{background-color:var(--secondary-hover);padding-inline:var(--btn-padding-inline);padding-block:var(--btn-padding-block);border-radius:var(--btn-border-radius);font-size:var(--text-m);font-weight:var(--btn-font-weight)}html,body{overflow-x:hidden}.hide,.display--none{display:none}a[target="_blank"]:not(.social-links-alpha__link,.etch-nav__link,[class*="btn--"],.wp-block-button__link){position:relative;padding-inline-end:.75em}a[target="_blank"]::after{position:absolute;inset-inline-end:0}[class*="btn--"]:has(svg){display:flex;white-space:nowrap;gap:.35em;text-decoration:none;width:auto;align-items:center}[class*="btn--"]:has(svg)>svg{width:1.2em;fill:var(--btn-text-color);transition:var(--btn-transition,var(--transition))}[class*="btn--"]:has(svg):hover>svg{fill:var(--btn-text-color-hover)}body.no-scroll{overflow:hidden;position:fixed;width:100%;height:100%}body.ff_landing_page_body{display:block}
1832        </style>
1833
1834    </body>
1835</html><!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com -->
1836<!-- WP Fastest Cache file was created in 0.484 seconds, on 18 September 2026 @ 5:03 pm --><!-- via php -->

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.