diff --git a/strr-web/public/css/addresscomplete-2.30.min.css b/strr-web/public/css/addresscomplete-2.30.min.css
deleted file mode 100644
index 39ede188..00000000
--- a/strr-web/public/css/addresscomplete-2.30.min.css
+++ /dev/null
@@ -1,12 +0,0 @@
-/*! Copyright © 2009-2020 Postcode Anywhere (Holdings) Ltd. (http://www.postcodeanywhere.co.uk)
- *
- * AddressComplete v2.30
- * Style for AddressComplete for the web.
- *
- * WEB-1-3 23/10/2020 22:11:00
- */
-.pca{margin:0;padding:0;position:static;border:none;box-sizing:content-box}.pca *{box-sizing:content-box}.pca .pcatext{font:9pt arial;color:#333}.pca .pcalist{position:relative;list-style-type:none;list-style-position:outside;margin:0;padding:0;overflow-y:auto;overflow-x:hidden;background-color:#fafafa}.pca .pcaitem{cursor:pointer;position:relative;margin:0;padding:9px 10px 9px 10px;padding:7px 10px;line-height:15px;text-align:left;white-space:nowrap;border:solid 1px transparent;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e5e5e5;border-bottom-color:transparent;padding-right:22px;opacity:.8;filter:alpha(opacity=80);color:#000}.pca .pcaselected{color:#333;background-color:#e5f0ff;background-color:#f0f0f0;border-width:1px;border-style:solid;border-color: transparent;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e5e5e5;border-bottom-color:transparent;opacity:1;filter:alpha(opacity=100);color:#000}.pca .pcalastitem{border-bottom:none}.pca .pcadisableselect{-moz-user-select:none;-webkit-user-select:none}.pca .pcaautocomplete{margin:0;padding:0;border-width:1px;border-style:solid;border-color:#ccc;border-bottom:0;background:0;box-shadow:0 8px 17px 0 rgba(0,0,0,.2);width:inherit;position:absolute;z-index:100000}.pca .pcaanchor{margin:0;padding:0;border:0;background:0}.pca .pcaanchor .pcachain{position:relative}.pca .pcaautocomplete .pcaheader{background-color:#fafafa;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#ccc;color:#969696}.pca .pcaautocomplete .pcamessage{padding:8px 10px;line-height:18px}.pca .pcaautocomplete .pcalist{height:244px;width:auto;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#ccc}.pca .pcaautocomplete .pcafooter{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#ccc;background-color:#fafafa;height:30px;box-sizing:content-box;min-width:138px;overflow:hidden}.pca .pcanotification{background-color:#fafafa;padding:8px 10px 8px 10px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;position:absolute;z-index:100000;transition:opacity .5s ease-in-out;-moz-transition:opacity .5s ease-in-out;-webkit-transition:opacity .5s ease-in-out;opacity:1;display:none}.pca .pcanotification.pcavisible{display:block}.pca .pcanotification.pcafade{opacity:0}.pca .pcanotification.pcaerror{background-color:#db7f83;color:#fff}.pca .pcaautocomplete .pcafooter .pcamessage{font:bold 9pt arial;color:#969696;margin:9px 0 0 5px;padding:0;position:relative;float:right}.pca .pcamodal{position:fixed;top:50%;left:50%;z-index:100000}.pca .pcamodal .pcalist{height:244px;width:auto;min-width:200px;min-height:100px}.pca .pcamodal .pcaborder{position:absolute;width:100%;height:100%;top:0;left:0;background-color:#000;border-radius:0px;opacity:.20;filter:alpha(opacity=20)}.pca .pcamodal .pcaframe{position:relative;margin:12px;background-color:#f5f7f9;border-radius:0px;border-width:1px;border-style:solid;border-color: #c8cacc}.pca .pcamodal .pcacontent{position:relative;padding:15px}.pca .pcamodal .pcacontent .pcainputrow{width:450px;text-align:right}.pca .pcamodal .pcacontent .pcainputrow input{width:300px;border-width:1px;border-style:solid;border-color: #d4d4d4;padding:8px;margin:15px;background:#fff}.pca .pcamodal .pcacontent .pcainputrow input:invalid{-webkit-box-shadow:0 0 1.5px 1px red;-moz-box-shadow:0 0 1.5px 1px red;box-shadow:0 0 1.5px 1px red}.pca .pcamodal .pcacontent .pcainputrow .pcahalf{width:126px}.pca .pcamodal .pcacontent .pcainputrow label{font:bold 14px arial;color:#444444}.pca .pcamodal .pcaheader{position:relative;top:0;left:0;border-top:1px solid#e1e3e5;border-bottom:1px solid #c8cacc;border-radius:0px 0px 0 0;background:#e1e3e5;background:-moz-linear-gradient(top,#e1e3e5 0%,#e1e3e5 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e1e3e5),color-stop(100%,#e1e3e5));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e1e3e5',endColorstr='#e1e3e5',GradientType=0)}.pca .pcamodal .pcaheader .pcatitle{font:bold 18px arial;color:#005db9;margin:15px}.pca .pcamodal .pcafooter{position:relative;bottom:0;left:0;border-top:1px solid #c8cacc;background:#fff}.pca .pcamodal .pcafooter .pcabutton{width:150px;margin:15px}.pca .pcafullscreen{position:fixed;top:0;left:0;height:100%;width:100%}.pca .pcamask{background-color:#000;opacity:.40;filter:alpha(opacity=40);z-index:100000}.pca .pcabutton{font:bold 14px arial;color:#444444;border:1px solid #d4d4d4;border-radius:0px;padding:8px;cursor:pointer;background:#f5f7f9;background:-moz-linear-gradient(top,#f5f7f9 0%,#f5f7f9 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f5f7f9),color-stop(100%,#f5f7f9));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f7f9',endColorstr='#f5f7f9',GradientType=0)}.pca .pcatooltip{position:absolute;z-index:100000}.pca .pcatooltip .pcabackground{position:absolute;height:100%;width:100%;background-color:#000;border-radius:5px;opacity:.6;filter:alpha(opacity=60)}.pca .pcatooltip .pcamessage{position:relative;padding:5px;font:9pt arial;color:#fff}.pca .pcabutton:hover{color:#444444}.pca .pcalink{font:bold 9pt arial;cursor:pointer}.pca .pcaclear{clear:both}
-.pcaflag{width:14px;height:12px;position:absolute;font-size:0;background-image:url(//ws1.postescanada-canadapost.ca/images/flags16x16.png);-moz-box-shadow:0 1px 2px rgba(128,128,128,.3);-webkit-box-shadow:0 1px 2px rgba(128,128,128,.3);box-shadow:0 1px 2px rgba(128,128,128,.3)}.pca .pcaautocomplete .pcafooter .pcaflagbutton{width:31px;height:21px;position:relative;float:right;padding:5px 6px;cursor:pointer;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/flag_clear_down.png);background-position:5px 5px;background-repeat:no-repeat}.pca .pcaautocomplete .pcafooter .pcaflagbutton:hover{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/flag_clear_down_hover.png)}.pca .pcaautocomplete .pcafooter .pcaflagbutton .pcaflag{top:9px;left:9px}.pca .pcaautocomplete .pcaflaglabel{position:relative;left:26px}.pca .pcacountrylist .pcafooter .pcaflagbutton{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/flag_clear_up.png)}.pca .pcacountrylist .pcafooter .pcaflagbutton:hover{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/flag_clear_up_hover.png)}
-.pca .pcaexpandable{background-image:url('//ws1.postescanada-canadapost.ca/images/icons/captureplus/chevron.png');background-repeat:no-repeat;background-position-x:99%;background-position-y:50%;background-position:right 7px center}.pca .pcaautocomplete .pcafooter .pcalogo{width:68px;height:15px;font-size:0;margin:7px 5px 8px 11px;position:relative;float:left;background-repeat:no-repeat;background-size:contain;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/pca_predict_logo.png)}.pca .pcaautocomplete .pcafooter .aclogo{width:112px;height:15px;font-size:0;margin:8px 5px 8px 11px;position:relative;float:left;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/address_complete_logo_en.png)}.pca .pcaautocomplete .pcafooter .aclogo.pcalogofr{width:118px;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/address_complete_logo_fr.png)}.pca .pcaautocomplete .pcafooter .dtlogo{width:100px;height:14px;font-size:0;margin:9px 5px 6px 9px;position:relative;float:left;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/dt_express_capture_logo.png)}.pca .pcaautocomplete .pcafooter .anlogo{width:129px;height:11px;font-size:0;margin:10px 5px 9px 9px;position:relative;float:left;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/address_now_logo.png)}.pca .pcaitem .pcadescription{font-style:italic;color:#6b6b6b;margin-left:8px}
-.pcaaddresscomplete{}.pca .pcaautocomplete .pcaheader .pcamessageicon{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/info.png);height:15px;position:relative;top:2px;margin-right:8px;display:inline-block;width:15px}
-
diff --git a/strr-web/public/css/addresscomplete-2.50.min.css b/strr-web/public/css/addresscomplete-2.50.min.css
new file mode 100644
index 00000000..cfffd849
--- /dev/null
+++ b/strr-web/public/css/addresscomplete-2.50.min.css
@@ -0,0 +1,11 @@
+/*! Copyright © 2009-2024 Postcode Anywhere (Holdings) Ltd. (http://www.postcodeanywhere.co.uk)
+ *
+ * AddressComplete v2.50
+ * Style for AddressComplete for the web.
+ *
+ * p-w-u-c1-1-x4rp 25/05/2024 00:09:50
+ */
+ .pca{margin:0;padding:0;position:static;border:none;box-sizing:content-box}.pca *{box-sizing:content-box}.pca .pcatext{font:.8rem arial;color:#333}.pca .pcalist{position:relative;list-style-type:none;list-style-position:outside;margin:0;padding:0;overflow-y:auto;overflow-x:hidden;background-color:#fafafa}.pca .pcaitem{cursor:pointer;position:relative;margin:0;padding:9px 10px 9px 10px;padding:7px 10px;line-height:15px;text-align:left;white-space:nowrap;border:solid 1px transparent;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e5e5e5;border-bottom-color:transparent;padding-right:22px;filter:alpha(opacity=80);color:#000}.pca .pcaselected,.pca .pcaitem:hover{color:#333;background-color:#e5f0ff;background-color:#f0f0f0;border-width:1px;border-style:solid;border-color: transparent;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e5e5e5;border-bottom-color:transparent;opacity:1;filter:alpha(opacity=100);color:#000}.pca .pcalastitem,.pca .pcalastitem:hover{border-bottom:none}.pca .pcadisableselect{-moz-user-select:none;-webkit-user-select:none}.pca .pcaautocomplete{margin:0;padding:0;border-width:1px;border-style:solid;border-color:#ccc;border-bottom:0;background:0;box-shadow:0 8px 17px 0 rgba(0,0,0,.2);width:inherit;position:absolute;z-index:9999999999}.pca .pcaanchor{margin:0;padding:0;border:0;background:0}.pca .pcaanchor .pcachain{position:relative}.pca .pcaautocomplete .pcaheader{background-color:#fafafa;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#ccc;color:#969696}.pca .pcaautocomplete .pcamessage{padding:8px 10px;line-height:18px}.pca .pcaautocomplete .pcalist{height:244px;width:auto;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#ccc}.pca .pcaautocomplete .pcafooter{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#ccc;background-color:#fafafa;height:30px;box-sizing:content-box;min-width:138px;overflow:hidden;display:flex;align-items:center;justify-content:flex-end;padding:0 10px}.pca .pcaautocomplete .pcafooter.pca-showlogo{justify-content:space-between}.pca .pcanotification{background-color:#fafafa;padding:8px 10px 8px 10px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;position:absolute;z-index:100000;transition:opacity .5s ease-in-out;-moz-transition:opacity .5s ease-in-out;-webkit-transition:opacity .5s ease-in-out;opacity:1;display:none}.pca .pcanotification.pcavisible{display:block}.pca .pcanotification.pcafade{opacity:0}.pca .pcanotification.pcaerror{background-color:#cb484f;color:#fff}.pca .pcaautocomplete .pcafooter .pcamessage{font:bold 9pt arial;color:#757575;margin-right:10px;padding:0;position:relative;float:right}.pca .pcamodal{position:fixed;top:50%;left:50%;z-index:100000}.pca .pcamodal .pcalist{height:244px;width:auto;min-width:200px;min-height:100px}.pca .pcamodal .pcaborder{position:absolute;width:100%;height:100%;top:0;left:0;background-color:#000;border-radius:0px;opacity:.20;filter:alpha(opacity=20)}.pca .pcamodal .pcaframe{position:relative;margin:12px;background-color:#f5f7f9;border-radius:0px;border-width:1px;border-style:solid;border-color: #c8cacc}.pca .pcamodal .pcacontent{position:relative;padding:15px}.pca .pcamodal .pcacontent .pcainputrow{width:450px;text-align:right}.pca .pcamodal .pcacontent .pcainputrow input{width:300px;border-width:1px;border-style:solid;border-color: #d4d4d4;padding:8px;margin:15px;background:#fff}.pca .pcamodal .pcacontent .pcainputrow input:invalid{-webkit-box-shadow:0 0 1.5px 1px red;-moz-box-shadow:0 0 1.5px 1px red;box-shadow:0 0 1.5px 1px red}.pca .pcamodal .pcacontent .pcainputrow .pcahalf{width:126px}.pca .pcamodal .pcacontent .pcainputrow label{font:bold 14px arial;color:#444444}.pca .pcamodal .pcaheader{position:relative;top:0;left:0;border-top:1px solid#e1e3e5;border-bottom:1px solid #c8cacc;border-radius:0px 0px 0 0;background:#e1e3e5;background:-moz-linear-gradient(top,#e1e3e5 0%,#e1e3e5 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#e1e3e5),color-stop(100%,#e1e3e5));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e1e3e5',endColorstr='#e1e3e5',GradientType=0)}.pca .pcamodal .pcaheader .pcatitle{font:bold 18px arial;color:#005db9;margin:15px}.pca .pcamodal .pcafooter{position:relative;bottom:0;left:0;border-top:1px solid #c8cacc;background:#fff}.pca .pcamodal .pcafooter .pcabutton{width:150px;margin:15px}.pca .pcafullscreen{position:fixed;top:0;left:0;height:100%;width:100%}.pca .pcamask{background-color:#000;opacity:.40;filter:alpha(opacity=40);z-index:100000}.pca .pcabutton{font:bold 14px arial;color:#444444;border:1px solid #d4d4d4;border-radius:0px;padding:8px;cursor:pointer;background:#f5f7f9;background:-moz-linear-gradient(top,#f5f7f9 0%,#f5f7f9 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#f5f7f9),color-stop(100%,#f5f7f9));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f7f9',endColorstr='#f5f7f9',GradientType=0)}.pca .pcatooltip{position:absolute;z-index:100000}.pca .pcatooltip .pcabackground{position:absolute;height:100%;width:100%;background-color:#000;border-radius:5px;opacity:.6;filter:alpha(opacity=60)}.pca .pcatooltip .pcamessage{position:relative;padding:5px;font:.8rem arial;color:#fff}.pca .pcabutton:hover{color:#444444}.pca .pcalink{font:bold 9pt arial;cursor:pointer}.pca .pcaclear{clear:both}
+ .pcaflag{width:14px;height:12px;font-size:0;background-image:url(//ws1.postescanada-canadapost.ca/images/flags16x16.png);-moz-box-shadow:0 1px 2px rgba(128,128,128,.3);-webkit-box-shadow:0 1px 2px rgba(128,128,128,.3);box-shadow:0 1px 2px rgba(128,128,128,.3)}.pca .pcaautocomplete .pcafooter .pcaflagbutton{height:21px;position:relative;cursor:pointer;display:flex;align-items:center}.pca .pcaautocomplete .pcaflaglabel{position:relative;margin-left:8px}.pca .pcacountrylist .pcafooter .pcaflagbutton{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/flag_clear_up.png)}.pca .pcacountrylist .pcalist .pcaitem{display:flex}.pca .pcacountrylist .pcafooter .pcaflagbutton:hover{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/flag_clear_up_hover.png)}
+ .pca .pcaexpandable{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/chevron.png);background-repeat:no-repeat;background-position-x:99%;background-position-y:50%;background-position:right 7px center}.pca .pcaautocomplete .pcafooter .geoLocationIcon{width:21px;height:21px;font-size:0;margin:0 5px 0 0;padding:5px 0 5px 5px;position:relative;float:right;cursor:pointer;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/geolocationicon.svg);background-position:right;background-repeat:no-repeat;color:#7e8593;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"!important;visibility:hidden}.pca .pcaautocomplete .pcafooter .geoLocationIcon.active{visibility:visible}.pca .pcaautocomplete .pcafooter .geoLocationIcon.working{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/loader.gif)}.pca .pcaautocomplete .pcafooter .geoLocationMessage{color:#7e8593;padding:9px 0;position:relative;float:right;cursor:pointer;font-size:11px;visibility:hidden}.pca .pcaautocomplete .pcafooter .geoLocationMessage.active{visibility:visible}.pca .pcaautocomplete .pcafooter .pcalogo{width:68px;height:16px;margin:7px 0 0 7px;font-size:0;position:relative;float:left;background-repeat:no-repeat;background-size:contain;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/loqatelogoinverted.svg)}.pca .pcaautocomplete .pcafooter .adsylogo{width:68px;height:16px;margin:7px 0 0 7px;font-size:0;position:relative;float:left;background-repeat:no-repeat;background-size:contain;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/loqatelogoinverted.svg)}.pca .pcaautocomplete .pcafooter .aclogo{width:112px;height:15px;font-size:0;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/address_complete_logo_en.png)}.pca .pcaautocomplete .pcafooter .aclogo.pcalogofr{width:118px;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/address_complete_logo_fr.png)}.pca .pcaautocomplete .pcafooter .dtlogo{width:100px;height:14px;font-size:0;margin:9px 5px 6px 9px;position:relative;float:left;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/dt_express_capture_logo.png)}.pca .pcaautocomplete .pcafooter .anlogo{width:129px;height:11px;font-size:0;margin:10px 5px 9px 9px;position:relative;float:left;background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/address_now_logo.png)}.pca .pcaitem .pcadescription{color:#6b6b6b;margin-left:8px}.pca .pcaitem .pcautilitytype{padding-right:8px;font-style:italic}.pca .pca-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
+ .pcaaddresscomplete{}.pca .pcaautocomplete .pcaheader .pcamessageicon{background-image:url(//ws1.postescanada-canadapost.ca/images/icons/captureplus/info.png);height:15px;position:relative;top:2px;margin-right:8px;display:inline-block;width:15px}
\ No newline at end of file
diff --git a/strr-web/public/icons/create-account/invalid_step.svg b/strr-web/public/icons/create-account/invalid_step.svg
new file mode 100644
index 00000000..a8ad5e89
--- /dev/null
+++ b/strr-web/public/icons/create-account/invalid_step.svg
@@ -0,0 +1,4 @@
+
diff --git a/strr-web/public/icons/create-account/valid_step.svg b/strr-web/public/icons/create-account/valid_step.svg
new file mode 100644
index 00000000..47ebbbf5
--- /dev/null
+++ b/strr-web/public/icons/create-account/valid_step.svg
@@ -0,0 +1,4 @@
+
diff --git a/strr-web/public/js/addresscomplete-2.30.min.js b/strr-web/public/js/addresscomplete-2.30.min.js
deleted file mode 100644
index aeb2c031..00000000
--- a/strr-web/public/js/addresscomplete-2.30.min.js
+++ /dev/null
@@ -1,259 +0,0 @@
-/*! Copyright © 2009-2020 Postcode Anywhere (Holdings) Ltd. (http://www.postcodeanywhere.co.uk)
- *
- * AddressComplete v2.30
- * Capture Plus for the web.
- *
- * WEB-1-3 23/10/2020 22:11:57
- */
-(function(n,t){function e(){r.addEventListener?(i.ignore(r,"DOMContentLoaded",e),f=!0,i.ready()):r.readyState==="complete"&&(i.ignore(r,"onreadystatechange",e),f=!0,i.ready())}function v(){r.readyState==="complete"?(f=!0,i.ready()):(r.addEventListener?i.listen(r,"DOMContentLoaded",e):i.listen(r,"onreadystatechange",e),i.listen(n,"load",e))}function s(t){if(i.blockRequests&&i.waitingRequest){i.requestQueue=[t];return}if(t.block&&(i.blockRequests=!0),t.queue&&i.waitingRequest){i.requestQueue.push(t);return}if(i.waitingRequest=!0,t.cache&&i.requestCache[t.url]){function r(){t.callback(i.requestCache[t.url].response)}n.setImmediate?n.setImmediate(r):n.setTimeout(r,1);return}t.post?h(t):a(t)}function y(n){i.waitingRequest=!1,n.block&&(i.blockRequests=!1),n.response.Items.length===1&&n.response.Items[0].Error!==t?n.error(n.response.Items[0].Description):n.success(n.response.Items,n.response),n.cache&&(i.requestCache[n.url]=n),n.position&&(i.scriptRequests[n.position-1]=null),i.requestQueue.length&&s(i.requestQueue.shift())}function a(n){navigator.appName=="Microsoft Internet Explorer"?w(n):p(n)}function p(n){var t=new i.XMLHttpRequest;n.url.length>i.limit?(n.post=!0,h(n)):(t.onreadystatechange=function(){t.readyState==4&&t.status==200&&n.callback(i.parseJSON(t.responseText))},n.credentials&&(t.withCredentials=n.credentials),t.onerror=n.serviceError,t.ontimeout=n.timeoutError,t.open("GET",n.url,!0),t.send())}function w(n){var t=i.create("script",{type:"text/javascript",async:"async"}),u=r.getElementsByTagName("head")[0];n.position=i.scriptRequests.push(n),t.src=n.url+"&callback=pca.scriptRequests["+(n.position-1)+"].callback",t.onload=t.onreadystatechange=function(){this.readyState&&this.readyState!=="loaded"&&this.readyState!=="complete"||(t.onload=t.onreadystatechange=null,u&&t.parentNode&&u.removeChild(t))},t.src.length>i.limit?(n.post=!0,h(n)):u.insertBefore(t,u.firstChild)}function h(n){navigator.appName=="Microsoft Internet Explorer"?l(n):c(n)}function c(n){var t=new i.XMLHttpRequest;t.onreadystatechange=function(){t.readyState==4&&t.status==200&&n.callback(i.parseJSON(t.responseText))},n.credentials&&(t.withCredentials=n.credentials),t.onerror=n.serviceError,t.ontimeout=n.timeoutError,t.open("POST",n.destination,!0),t.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),t.send(n.query)}function l(n){function o(n,t){var i=r.createElement("input");i.name=n,i.value=t,u.appendChild(i)}var u=r.createElement("form"),t=r.createElement("iframe"),s=!1,e,f;u.method="POST",u.action=i.protocol+"//"+i.host+"/"+n.service+"/json.ws";for(e in n.data)o(e,n.data[e]);o("CallbackVariable","window.name"),o("CallbackWithScriptTags","true"),t.onload=function(){s?(n.callback({Items:i.parseJSON(t.contentWindow.name)}),r.body.removeChild(t)):(s=!0,t.contentWindow.location="about:blank")},t.style.display="none",r.body.appendChild(t),f=t.contentDocument||t.contentWindow.document,f.body?f.body.appendChild(u):f.appendChild(u),u.submit()}function u(t){return t==n||t==r||t==r.body}var i=n.pca=n.pca||{},r=n.document,f,o;i.protocol=(n.location||r.location).protocol=="https:"?"https:":"http:",i.host="ws1.postescanada-canadapost.ca",i.endpoint="json3ex.ws",i.limit=2e3,i.synonyms=[{r:/\bN(?=\s)/,w:"NORTH"},{r:/\b(?:NE|NORTHEAST)(?=\s)/,w:"NORTH EAST"},{r:/\b(?:NW|NORTHWEST)(?=\s)/,w:"NORTH WEST"},{r:/\bS(?=\s)/,w:"SOUTH"},{r:/\b(?:SE|SOUTHEAST)(?=\s)/,w:"SOUTH EAST"},{r:/\b(?:SW|SOUTHWEST)(?=\s)/,w:"SOUTH WEST"},{r:/\bE(?=\s)/,w:"EAST"},{r:/\bW(?=\s)/,w:"WEST"},{r:/\bST(?=\s)/,w:"SAINT"}],i.diacritics=[{r:/[ÀÁÂÃ]/gi,w:"A"},{r:/Å/gi,w:"AA"},{r:/[ÆæÄ]/gi,w:"AE"},{r:/Ç/gi,w:"C"},{r:/Ð/gi,w:"DJ"},{r:/[ÈÉÊË]/gi,w:"E"},{r:/[ÌÍÏ]/gi,w:"I"},{r:/Ñ/gi,w:"N"},{r:/[ÒÓÔÕ]/gi,w:"O"},{r:/[ŒØÖ]/gi,w:"OE"},{r:/Š/gi,w:"SH"},{r:/ß/gi,w:"SS"},{r:/[ÙÚÛ]/gi,w:"U"},{r:/Ü/gi,w:"UE"},{r:/[ŸÝ]/gi,w:"ZH"},{r:/-/gi,w:" "},{r:/[.,]/gi,w:""}],i.hypertext=[{r:/&/g,w:"&"},{r:/"/g,w:"""},{r:/'/g,w:"'"},{r://g,w:">"}],i.requestQueue=[],i.requestCache={},i.scriptRequests=[],i.waitingRequest=!1,i.blockRequests=!1,i.styleFixes=[],i.agent=navigator&&navigator.userAgent||"",i.galaxyFix=/Safari\/534.30/.test(i.agent)&&/GT-I8190|GT-I9100|GT-I9305|GT-P3110/.test(i.agent),i.container=null,i.XMLHttpRequest=n.XMLHttpRequest,f=!1,o=[],i.fuzzyMatch=!0,i.fuzzyTags=["*"],i.ready=function(n){var i,t;if(f){if(o.length)for(i=o,o=[],t=0;t
i.data[t]?1:-1:n.tag>i.tag?1:-1}),n.fire("sort"),n},n.reverse=function(){return n.items.reverse(),n.fire("reverse"),n},n.filter=function(t){var u=i.formatTag(t),r=n.count;return n.count=0,n.firstVisibleItem=null,n.lastVisibleItem=null,n.all(function(t){~t.tag.indexOf(u)?(t.show(),n.count++,n.firstVisibleItem=n.firstVisibleItem||t,n.lastVisibleItem=t):t.hide()}),r!=n.count&&n.fire("filter"),n},n.match=function(t){var u=i.formatTag(t),r=[];return n.all(function(n){~n.tag.indexOf(u)&&r.push(n)}),r},n.clear=function(){return n.items=[],n.count=0,n.highlighted=-1,n.firstItem=null,n.lastItem=null,n.firstVisibleItem=null,n.lastVisibleItem=null,n.fire("clear"),n},n.all=function(t){for(var i=0;i=0;i--)if(t?t(n.items[i]):n.items[i].visible)return n.items[i];return null},n.next=function(t){for(var i=n.highlighted+1;i=0;i--)if(t?t(n.items[i]):n.items[i].visible)return n.items[i];return n.last()},n.visibleItems=function(){var t=[];return n.all(function(n){n.visible&&t.push(n)}),t},n},i.List=function(t){function u(n,t,u){var f=new i.Item(n,t);return f.listen("mouseover",function(){r.collection.highlight(f),f.highlight()}),r.collection.listen("highlight",f.lowlight),f.listen("select",function(n){r.collection.fire("select",n),u(n)}),f}var r=new i.Eventable(this);return r.options=t||{},r.element=i.create("div",{className:"pca pcalist"}),r.collection=new i.Collection,r.visible=!0,r.scroll={held:!1,moved:!1,origin:0,position:0,x:0,y:0,dx:0,dy:0},r.highlightedItem=null,r.headerItem=null,r.footerItem=null,r.firstItem=null,r.lastItem=null,r.firstItemClass="pcafirstitem",r.lastItemClass="pcalastitem",r.options.minItems=r.options.minItems||0,r.options.maxItems=r.options.maxItems||10,r.options.allowTab=r.options.allowTab||!1,r.show=function(){return r.visible=!0,r.element.style.display="",r.fire("show"),r.resize(),r},r.hide=function(){return r.visible=!1,r.element.style.display="none",r.fire("hide"),r},r.draw=function(){return r.destroy(),r.headerItem&&r.element.appendChild(r.headerItem.element),r.collection.all(function(n){r.element.appendChild(n.element)}),r.footerItem&&r.element.appendChild(r.footerItem.element),r.resize(),r.fire("draw"),r},r.markItems=function(){r.firstItem&&i.removeClass(r.firstItem.element,r.firstItemClass),r.lastItem&&i.removeClass(r.lastItem.element,r.lastItemClass),r.collection.count&&(r.firstItem=r.headerItem||r.collection.firstVisibleItem,r.lastItem=r.footerItem||r.collection.lastVisibleItem,i.addClass(r.firstItem.element,r.firstItemClass),i.addClass(r.lastItem.element,r.lastItemClass))},r.add=function(n,t,i){return r.collection.add(n,t,i),r.draw(),r},r.destroy=function(){while(r.element.childNodes&&r.element.childNodes.length)r.element.removeChild(r.element.childNodes[0]);return r},r.clear=function(){return r.collection.clear(),r.destroy(),r.fire("clear"),r},r.setScroll=function(n){return r.element.scrollTop=n,r.fire("scroll"),r},r.enableTouch=function(){function f(t){t=t||n.event,r.scroll.held=!0,r.scroll.moved=!1,r.scroll.origin=parseInt(r.scrollTop),r.scroll.y=parseInt(t.touches[0].pageY)}function e(){r.scroll.held=!1}function t(){r.scroll.held=!1}function u(t){r.scroll.held&&(t=t||n.event,i.smash(t),r.scroll.dy=r.scroll.y-parseInt(t.touches[0].pageY),r.scroll.position=r.scroll.origin+r.scroll.dy,r.setScroll(r.scroll.position),r.scroll.moved=!0)}return i.listen(r.element,"touchstart",f),i.listen(r.element,"touchmove",u),i.listen(r.element,"touchend",e),i.listen(r.element,"touchcancel",t),r},r.move=function(n){return n&&(r.collection.highlight(n),(n==r.headerItem||n==r.footerItem)&&n.highlight(),r.scrollToItem(n)),r},r.next=function(){return r.move(r.nextItem())},r.previous=function(){return r.move(r.previousItem())},r.first=function(){return r.move(r.firstItem)},r.last=function(){return r.move(r.lastItem)},r.nextItem=function(){return r.highlightedItem?r.highlightedItem==r.collection.lastVisibleItem&&(r.footerItem||r.headerItem)?r.footerItem||r.headerItem:r.footerItem&&r.headerItem&&r.highlightedItem==r.footerItem?r.headerItem:r.collection.next():r.firstItem},r.previousItem=function(){return r.highlightedItem?r.highlightedItem==r.collection.firstVisibleItem&&(r.footerItem||r.headerItem)?r.headerItem||r.footerItem:r.footerItem&&r.headerItem&&r.highlightedItem==r.headerItem?r.footerItem:r.collection.previous():r.lastItem},r.currentItem=function(){return r.highlightedItem},r.selectable=function(){return r.visible&&!!r.currentItem()},r.select=function(){return r.selectable()&&r.currentItem().select(),r},r.navigate=function(n){switch(n){case 40:return r.next(),!0;case 38:return r.previous(),!0;case 13:if(r.selectable())return r.select(),!0;case 9:if(r.options.allowTab)return r.next(),!0}return!1},r.scrollToItem=function(n){return r.scroll.position=r.element.scrollTop,n.element.offsetTopr.scroll.position+r.element.offsetHeight&&(r.scroll.position=n.element.offsetTop+n.element.offsetHeight-r.element.offsetHeight,r.setScroll(r.scroll.position)),r},r.filter=function(n){var t=r.collection.count;return r.collection.filter(n),r.markItems(),t!=r.collection.count&&r.fire("filter",n),r},r.getHeight=function(){for(var t=r.collection.visibleItems(),o=r.headerItem?i.getSize(r.headerItem.element).height:0,e=r.footerItem?i.getSize(r.footerItem.element).height:0,f=0,u=0,n=0;n0&&(r.element.style.height=n+"px")},r.setHeaderItem=function(n,t,f){return r.headerItem=u(n,t,f),i.addClass(r.footerItem.element,"pcaheaderitem"),r.markItems(),r},r.setFooterItem=function(n,t,f){return r.footerItem=u(n,t,f),i.addClass(r.footerItem.element,"pcafooteritem"),r.markItems(),r},r.collection.listen("highlight",function(n){r.highlightedItem=n}),r.collection.listen("add",function(n){r.markItems(),r.fire("add",n)}),r.options.name&&(i.setAttributes(r.element,{id:r.options.name,role:"listbox","aria-activedescendant":""}),r.collection.listen("add",function(n){function u(n){n.listen("highlight",function(){i.setAttributes(r.element,{"aria-activedescendant":n.id})})}for(var t=0;th.height,a,l;return e.upwards=!b&&p&&!e.options.onlyDown,e.upwards?e.options.force?e.element.style.top=-(h.height+v.height+2)+"px":(e.element.style.top=s.top-c.top-h.height+(o?f.top:0)+"px",e.element.style.left=s.left-c.left+(o?f.left:0)+"px"):e.options.force?e.element.style.top="auto":(e.element.style.top=s.top-c.top+v.height+1+(o?f.top:0)+"px",e.element.style.left=s.left-c.left+(o?f.left:0)+"px"),e.options.left&&(e.element.style.left=parseInt(e.element.style.left)+parseInt(e.options.left)+"px"),e.options.top&&(e.element.style.top=parseInt(e.element.style.top)+parseInt(e.options.top)+"px"),a=parseInt(i.getStyle(e.element,"borderLeftWidth"))+parseInt(i.getStyle(e.element,"borderRightWidth"))||0,l=Math.max(i.getSize(t).width-a,0),e.fixedWidth||(e.element.style.minWidth=l+"px"),(r.documentMode&&r.documentMode<=7||/\bMSIE (7|6)/.test(i.agent))&&(e.setWidth(Math.max(l,280)),e.element.style.left=(parseInt(e.element.style.left)||0)-2+"px",e.element.style.top=(parseInt(e.element.style.top)||0)-2+"px"),e.positionField=t,e.fire("move"),e},e.reposition=function(){return e.positionField&&e.position(e.positionField),e},e.prompt=function(n,t){if(typeof t=="number"){if(t==0?n=" "+n:t>=n.length?(n=n+" ",t++):(n=n.substring(0,t)+" "+n.substring(t,n.length),t++),i.setValue(e.field,n),e.field.setSelectionRange)e.field.focus(),e.field.setSelectionRange(t,t);else if(e.field.createTextRange){var r=e.field.createTextRange();r.move("character",t),r.select()}}else i.setValue(e.field,n);return e},e.show=function(){return e.disabled||e.stealth||(e.visible=!0,e.element.style.display="",e.list.collection.count?(e.options.emptyMessage&&e.header.clear().hide(),e.list.show()):(e.options.emptyMessage&&e.header.setText(e.options.emptyMessage).show(),e.list.hide()),e.setScroll(0),e.reposition(),e.fire("show")),e},e.showAll=function(){e.list.filter(""),e.show()},e.hide=function(){return e.visible=!1,e.element.style.display="none",e.fire("hide"),e},e.focus=function(n){e.field=n,e.focused=!0,e.show(),e.position(n),e.fire("focus")},e.blur=function(){e.focused=!1,e.checkHide(),e.fire("blur")},e.checkHide=function(){return!e.visible||e.focused||e.hover||e.hide(),e},e.handleKey=function(n,t){n==27?(e.hide(),e.fire("escape")):n==17?e.controlDown=!1:n==8||n==46?(e.filter(),e.fire("delete")):n!=0&&n<=46&&n!=32?e.visible&&e.list.navigate(n)?t&&i.smash(t):(n==38||n==40)&&e.filter():e.visible&&e.filter(),e.fire("keyup",n)},e.keydown=function(t){t=t||n.event;var r=t.which||t.keyCode;r==17&&(e.controlDown=!0),r==9&&e.options.allowTab&&i.smash(t)},e.keyup=function(t){t=t||n.event;var i=t.which||t.keyCode;e.handleKey(i,t)},e.keypress=function(t){var r=n.event?n.event.keyCode:t.which;e.visible&&r==13&&e.list.selectable()&&i.smash(t)},e.paste=function(){n.setTimeout(function(){e.filter(),e.fire("paste")},0)},e.click=function(n){e.fire("click",n)},e.dblclick=function(n){e.fire("dblclick",n)},e.change=function(n){e.fire("change",n)},e.resize=function(){e.visible&&e.reposition()},e.add=function(n,t,i){return e.list.add(n,t,i),e},e.clear=function(){return e.list.clear(),e},e.setScroll=function(n){return e.list.setScroll(n),e},e.setWidth=function(n){return typeof n=="number"?(n=Math.max(n,220),e.element.style.width=n+"px",r.documentMode&&r.documentMode<=5&&(n-=2),e.list.element.style.width=n+"px"):(e.element.style.width=n,e.list.element.style.width=n),e.fixedWidth=n!="auto",e.element.style.minWidth=0,e},e.setHeight=function(n){return e.list.element.style.height=typeof n=="number"?n+"px":n,e},e.filter=function(n){return n=n||i.getValue(e.field),e.skipFilter?e.list.collection.match(n).length+/g,"")},i.escapeHtml=function(n){return i.replaceList(n,i.hypertext)},i.validId=function(n){return/[a-z0-9-_:\.\[\]]+/gi.exec(n)},i.trimSpaces=function(n){return n.replace(/^\s+|\s(?=\s)|\s$/g,"")},i.tidy=function(n,t){t=t.replace("\\","\\\\");var i=new RegExp("^"+t+"+|"+t+"(?="+t+")|"+t+"$","gi");return n.replace(i,"")},i.getText=function(n){return/[a-zA-Z][a-zA-Z\s]+[a-zA-Z]/.exec(n)},i.getNumber=function(n){return/\d+/.exec(n)},i.parseJSON=function(n){return n&&/^[\],:{}\s]*$/.test(n.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))?typeof JSON!="undefined"?JSON.parse(n):eval(n):{}},i.parseJSONDate=function(n){return new Date(parseInt(i.getNumber(n)))},i.containsWord=function(n,t){var i=new RegExp("\\b"+t+"\\b","gi");return i.test(n)},i.removeWord=function(n,t){var i=new RegExp("\\s?\\b"+t+"\\b","gi");return n.replace(i,"")},i.merge=function(n,t){for(var i in n)t[i]||(t[i]=n[i]);return t},i.getElement=function(n,t){var f,u;if(!n)return null;if(typeof n.nodeType=="number")return n;if(typeof n=="string"){if(t=i.getElement(t)||r,f=t.getElementById?t.getElementById(n):null,f)return f;if(u=t.getElementsByName?t.getElementsByName(n):null,u.length)return u[0]}return i.fuzzyMatch?i.getElementByRegex(n,t):null},i.getElementByRegex=function(n,t){var e,o,u,f;if(typeof n=="string")try{n=new RegExp(n)}catch(s){return null}if(n&&typeof n=="object"&&n.constructor==RegExp)for(t=i.getElement(t)||r,e=0;e"))},i.inputField=function(n){return(n=i.getElement(n))?n.tagName&&(n.tagName=="INPUT"||n.tagName=="TEXTAREA")&&n.type&&(n.type=="text"||n.type=="search"||n.type=="email"||n.type=="textarea"):!1},i.selectList=function(n){return(n=i.getElement(n))?n.tagName&&n.tagName=="SELECT":!1},i.getSelectedItem=function(n){return(n=i.getElement(n))&&n.tagName=="SELECT"&&n.selectedIndex>=0?n.options[n.selectedIndex]:null},i.checkBox=function(n){return(n=i.getElement(n))?n.tagName&&n.tagName=="INPUT"&&n.type&&n.type=="checkbox":!1},i.clear=function(n){i.setValue(n,"")},i.getPosition=function(t){var e={left:0,top:0},f,r;if(t=i.getElement(t)){if(!t.tagName)return e;if(typeof t.getBoundingClientRect!="undefined"){var h=t.getBoundingClientRect(),o=!u(i.getTopOffsetParent(t)),c=i.getScroll(n),s=i.getParentScroll(t);return{left:h.left+s.left+(o?0:c.left),top:h.top+s.top+(o?0:c.top)}}f=0,r=0;do f+=t.offsetLeft,r+=t.offsetTop;while(t=t.offsetParent);return{left:f,top:r}}return e},i.getScroll=function(n){return{left:parseInt(n.scrollX||n.scrollLeft,10)||(u(n)?parseInt(r.documentElement.scrollLeft)||0:0),top:parseInt(n.scrollY||n.scrollTop,10)||(u(n)?parseInt(r.documentElement.scrollTop)||0:0)}},i.getSize=function(n){return{height:n.offsetHeight||n.innerHeight||(u(n)?r.documentElement.clientHeight||r.body.clientHeight:0),width:n.offsetWidth||n.innerWidth||(u(n)?r.documentElement.clientWidth||r.body.clientWidth:0)}},i.getParentScroll=function(n){var f={left:0,top:0},r,t;if(n=i.getElement(n)){if(!n.tagName||!(n=n.parentNode))return f;r=0,t=0;do{if(u(n))break;r+=parseInt(n.scrollLeft)||0,t+=parseInt(n.scrollTop)||0}while(n=n.parentNode);return{left:r,top:t}}return f},i.getTopOffsetParent=function(n){while(n.offsetParent)if(n=n.offsetParent,i.getStyle(n,"position")=="fixed")break;return n},i.getStyle=function(t,i){return((n.getComputedStyle?n.getComputedStyle(t):t.currentStyle)||{})[i]||""},i.addClass=function(n,t){(n=i.getElement(n))&&(i.containsWord(n.className||"",t)||(n.className+=(n.className?" ":"")+t))},i.removeClass=function(n,t){(n=i.getElement(n))&&(n.className=i.removeWord(n.className,t))},i.setAttribute=function(n,t,r){(n=i.getElement(n))&&n.setAttribute(t,r)},i.setAttributes=function(n,t){if(n=i.getElement(n))for(var r in t)n.setAttribute(r,t[r])},i.applyStyleFixes=function(n,t){for(var h,u,f,s,o,e=0;e