;(function() {'use strict';
var _dd = {"targ":{"v":{"geo/cy":"DE","geo/ct":"EU","geo/dm":"i"}}};  var _d =  'A|a-7O9vfz8E4q|a|s|running|c|a:sd-ttl|fs|cust/customertype-api|ua/br|geo/dm|ua/mo|ua/os|dt/wp|cust/inter|cust/entitle|w|B|md|id|90000|90005|dc|drts|T|aa|cc|sr|aac|mdrd|a-CKNGRh9vb8|cust/role|70313|70315|a-UDaMDnInZA|cust/cli|48004|48005|a-5HAA2FeR4zKZ|cust/rtu-p2p|C|D|E|F|H|J|K|M|N|O|P|S|U|V|B1|E1|F1|G1|11771|11765|11975|11767|12047|12374|12380|12384|11770|12720|12722|12721|13242|13244|13245|13346|11771,11765,11975,12374,12380,12384|8414248|8415140|8415141|ts|f|*|v|n|rank|overAll|var|mean|exp|sum|sqsum|perOption|q|left|#f1673|#f1681|#f1052|#f1680|right|depth|importance|dt/wp:wd|tabu|cust/cli:ruutu-ios-capi|cust/cli:ruutu-next|cust/cli:ruutu-smarttv|cust/cli:ruutu-android-capi|nodeCount|cust/customertype-api:Non_Logged_In_User|cust/customertype-api:Logged_In_User|,|a-kOgjazhWJf|4800016|4800017|a-JG8NRN7y2x|I|L|W|Y|A1|D1|H1|I1|J1|12210|11769|11768|13303|8413459|8413652|8413941|11770,11765,11767,12047,12210,12720,12722,12721,13242,13244,13303,8413652,8413941,841424x8,8415141|#f1245|cust/inter:sairaala_ja_palokunta|cust/entitle:3062072|cust/entitle:3700438|a-2LoE5UeDYTcV|cust/rtu-paywall|R|X|addon|prod_H0jxKQFDDqFsXX|addon_checked|0|premium_checked|1|prod_Q97T4fBZU2AyAA|prod_DyKtSkvqUePeMn|prod_C55trrvMJfskBK|prod_DvFSDBCTN6Pxo8|prod_LnS3en7fk2hv04|prod_C55sLqnIqA8IJk|prod_Fn3GYvU7KF90X5|prod_I08HbZHruobdsd|#f1881|#f1051|cust/customertype-api:Subscribed_User|cust/customertype-api:Subscribed_Avod_User|cust/rtu-paywall:744162|cust/rtu-paywall:3062072|dt/wp:we|a-zo6M4M4TRF|cust/nm-cancelr|G|40011|40012|40014|40015|40017|40018|40019|40020|#f1994|#f2126|#f1915|cust/rtu-p2p:ruutu_low|cust/entitle:prod_Ip5DbzW5AOtOK2|cust/rtu-p2p:sst_high|#f2062|cust/entitle:prod_LnS3en7fk2hv04|cust/nm-cancelr:no_answer|cust/nm-cancelr:too_expensive_savod|a-z96iCF2TRx|84160105|84160103|a-tLIkB5K1Hc|cust/brand|a-dz6xnlVIbD|40001|40013|a-j71RnPVgqx|prod_Ic5p3WJV5Fr4Cx|prod_PrZ75WPpn9koCF|prod_Dyf9JHysJHZqnL|prod_DvFZ4QQD8KYXmY|prod_IRXTfYIzt0izv3|a-is25-audio-ads-2-0|IS_Audio_A|IS_Audio_B|IS_Audio_C|a-TorYbOtcoXuz|cust/isSubscriber|a-1U4ux1T5QRUu|a-hzYzlUnhDH|a-ZlXJtDXr5t|cust/hs-cdp-segment|cust/subscriberDetail|cust/isLoggedIn|cust/nf-subscribers|a-DmWe1dbaXQ|a-JkfFeSEDP1|cust/p2p|cust/hs-p2p-grouped|cust/p2p_lightgbm|cust/nf-osasto|a-1zhM9p5gMa|cust/ref|a-8MxYZEQSzU|a-3sqAucqDjkrR|a-SBdF7QI6si|a-0GeSRnvACI|a-ubDfHDfHPI|a-YCGg52869M|a-QpSwuvtF7l|a-ijfonTLQT6AI|a-JJetqsaXHjuv|a-gkHBEiSOkFZ2|g-Q0fi9Otgz0|sec|gpr|ews|ewe|ext|g-8EUBTmAuUI|g-7xnTILu6zO|g-ReoJredT3O|g-1yDrMv3b6X|g-VMLqlgNRP5|g-XKWs0CTuhB|g-nyDtGkL4ev|g-xDGDk1bJn6|g-XzkLAitHOz|g-eWFHvbsMAe|g-jj8CvVIYKE|g-xOAMfn9hFV|g-NlpJvM1zge|g-LPUHbdIEyS|g-TcE7x6qtw9|g-EP5bJS2zLI|g-8GXgqUo5xR|podcast_start_content|g-FAds3Pr8aH|podcast_add_favorite|podcast_save_episode|video_start_max3|g-7E5Ao6D8vL|c-q-sel-a-1U4ux1T5QRUu|c-q-sub-a-1U4ux1T5QRUu|g-oj40lLXlQo|g-nWrk5yqF5P|g-TFKjFfhSIK|g-iYwtauR6Or|g-qCUJTZntsS|g-WJqCp2FGTt|view_item|seriepage_recommendation_click|g-rtu-contentpage-grid-click-any|rtu_video_start|rtu_purchase|login_done|my_list_add|g-rtu-frontpage-series-recom-click|g-rtu-frontpage-movies-recom-click|g-rtu-frontpage-promo-click|video_start_promoclick|rtu_purchase_sst|g-bPThGlbVnJ|Reels-video-start|starts_snowflake|rtu_purchase_pluskaikki|rtu_purchase_yogaia|rtu_purchase_qello|rtu_purchase_viasat|rtu_purchase_ul|g-gSqyGMJXbB|rtu_purchase_ruutuplus|rtu_purchase_urheilu|g-LUNFeP8P2H|g-EZVMtdANpx|g-b3iGMY1S5x|g-6k62acAEYR|nm_exit_cancellation|rtu_purchase_aa|rtu_purchase_ruutupremium|c-q-sel-a-DmWe1dbaXQ|c-q-sub-a-DmWe1dbaXQ|rtu_purchase_hs|rtu_purchase_supla|rtu_cancel_downgrade|g-BxuISdiKfD|g-JOI0jgIA4I|g-BwoleT7TvB|g-rvfzoJTnGy|g-xdvLa2AHZu|g-3CaXF67RcB|g-ERKoH9jzOg|g-CFvRC1N8jz|Reels-ad-start|g-LlnysJFX3M|g-QMMLl7rOyJ|g-fzbIP8C5XP|g-MWHP8KALQz|g-AJU6KIpNbA|g-nOxZhajBeL|g-7aHUDkwDNN|me|l|al|TA|t-VtnCdOx82cT0LEM|video_start_flowlet|rtu_purchase_any|t-cdtLhcrqpgpwxOM|t-YL8q1oW491xOO7N|conf|sqs:use-ddid|dl:names|dl:ev-style|cdl|dl:cdl|dl:px|dl:slx|dl:ev-cust|dl:key-sl|conductrics_selection|x-ga:wgi|wa:gpa-att|data-c-a|dl:sr|dl:qs-style|dl:qs-cust|dl:key-sr|conductrics_survey_response|bots:cust|a:session-ttl-secs|js:cook-dom|.hs.fi|js:ps-q|rt:tr-ids|cust/ruutu-purchase:true|#f26|cust/role:Subscribed_User|#f51|cust/role:Non_Logged_In_User|#f52|cust/role:Logged_In_User|#f53|cust/role:Subscribed_Avod_User|#f54|cust/p2p:1|#f58|cust/p2p:10|#f59|cust/p2p:2|#f60|cust/c-q-aa-a-jDvoaTnFlaDU:A|#f69|cust/c-q-aa-a-jDvoaTnFlaDU:B|#f70|cust/p2p_lightgbm:1|#f83|cust/p2p_lightgbm:10|#f84|cust/p2p_lightgbm:2|#f85|cust/p2p_lightgbm:3|#f86|cust/p2p_lightgbm:4|#f87|cust/p2p_lightgbm:5|#f88|cust/p2p_lightgbm:6|#f89|cust/p2p_lightgbm:7|#f90|cust/p2p_lightgbm:8|#f91|cust/p2p_lightgbm:9|#f92|cust/p2p:3|#f94|cust/p2p:4|#f95|cust/p2p:5|#f96|cust/p2p:6|#f97|cust/p2p:7|#f98|cust/p2p:8|#f99|cust/p2p:9|#f100|cust/c-q-aa-a-4DrHkPSiVmfu:A|#f107|cust/c-q-aa-a-4DrHkPSiVmfu:B|#f108|cust/ruutu-supla-cdp-segment:7590cfd8-f028-4d38-91bc-9a7d8209c9a8|#f119|cust/ruutu-supla-cdp-segment:440d6c51-9026-4fb3-a341-cf0d0516e3b1|#f121|cust/c-q-aa-a-A2GAhV5WCl:A|#f125|cust/c-q-aa-a-A2GAhV5WCl:B|#f126|cust/isSubscriber:Subscriber|#f167|cust/isSubscriber:Non-Subscriber|#f168|cust/subscriberDetail:Sample_Subscriber|#f176|cust/subscriberDetail:Combo_Subscriber|#f177|cust/subscriberDetail:Premium_Subscriber|#f178|cust/subscriberDetail:Organization_Subscriber|#f179|cust/subscriberDetail:Reading_Rights_User|#f180|cust/subscriberDetail:Non-Subscriber|#f181|cust/subscriberDetail:Non-Premium_Subscriber|#f182|cust/isLoggedIn:Not_LoggedIn|#f183|cust/isLoggedIn:LoggedIn|#f184|cust/ref:ticker_nayte|#f200|cust/ref:softwall_2n|#f201|cust/ref:etusivu|#f202|cust/ref:maksumuuri_arkisto|#f203|cust/ref:tilaa_topbar|#f204|cust/ref:maksumuuri_dynamic|#f205|cust/ref:vainomuuri|#f206|cust/ref:hs_profilemenu|#f207|cust/ref:nav|#f208|cust/ref:myyntitikkeri|#f209|cust/ref:kiitossivu|#f210|cust/ref:maksumuuri_kova_saannot|#f211|cust/ref:maksumuuri_kova_ot|#f212|cust/ref:tilausvalitsin|#f213|cust/ref:tilaa_topmenu|#f214|cust/ref:shop_sanomalehdet|#f215|cust/ref:nayte_jatko|#f216|cust/ref:digi_karenssiputki|#f217|cust/ref:hs_peruutusputki_winback|#f218|cust/ref:maksumuuri_kova|#f219|cust/c-q-aa-a-t0Hinex95g:A|#f282|cust/c-q-aa-a-t0Hinex95g:B|#f283|cust/c-q-aa-a-721R1gyUpb:A|#f295|cust/c-q-aa-a-721R1gyUpb:B|#f296|cust/al_p2p_lightgbm:1|#f301|cust/al_p2p_lightgbm:2|#f302|cust/al_p2p_lightgbm:3|#f303|cust/al_p2p_lightgbm:4|#f304|cust/al_p2p_lightgbm:5|#f305|cust/al_p2p_lightgbm:6|#f306|cust/al_p2p_lightgbm:7|#f307|cust/al_p2p_lightgbm:8|#f308|cust/al_p2p_lightgbm:9|#f309|cust/al_p2p_lightgbm:10|#f310|cust/ruutu-supla-cdp-segment:ff3651ae-be6b-4b64-bc93-36ed70f7d370|#f329|cust/ruutu-supla-cdp-segment:4c9ab752-8cc3-4980-86f3-fb35f9de6a13|#f330|cust/ruutu-supla-cdp-segment:e8b0b6d3-1dfe-44f8-85c4-ca945fe44d1c|#f331|cust/ruutu-supla-cdp-segment:7c0c24d8-f3e3-45bb-9baf-d7d2862bb28d|#f332|cust/ruutu-supla-cdp-segment:88ece6b8-a96a-4ca9-8bc1-c9c8da339d17|#f333|cust/ruutu-supla-cdp-segment:30104595-0dd1-48d6-bfc1-5d35f92a1bf5|#f334|cust/ruutu-supla-cdp-segment:9d19fc1b-2348-41ef-a47d-b022b8969705|#f335|cust/ruutu-supla-cdp-segment:e116e8e3-2491-4f12-967d-d671dfd41ef8|#f336|cust/ruutu-supla-cdp-segment:0ef8cb17-8e49-456c-8bc7-c2ac50de9c6b|#f337|cust/ruutu-supla-cdp-segment:b41f7b46-e13e-469f-8ee4-4e24db13b926|#f338|cust/c-q-aa-a-XWwb67LBi1:A|#f347|cust/c-q-aa-a-XWwb67LBi1:B|#f348|cust/c-q-aa-a-Q2h5sAFADd:A|#f435|cust/c-q-aa-a-Q2h5sAFADd:B|#f436|cust/hs-cdp-segment:d35801d6-baf2-463c-9416-e98e55069db4|#f437|cust/hs-cdp-segment:9bc95fd4-594f-4d08-945c-3083c76fd87c|#f438|cust/hs-cdp-segment:1a49662f-009f-4f2c-930e-867d6eaf0094|#f439|cust/hs-cdp-segment:7e92adbe-2ba7-4801-81b7-032aeab0b689|#f440|cust/hs-cdp-segment:0244864d-18f3-4bb4-ab4b-44a6c4c29a8e|#f441|cust/hs-cdp-segment:ddca1557-b54a-410c-bbca-db04abaf1fe4|#f442|cust/hs-cdp-segment:d4a41b75-fc9e-4687-9898-25ed3ddefc7b|#f443|cust/hs-cdp-segment:963ae6cd-5151-4c93-b451-ce5e7ef3ed42|#f459|cust/hs-cdp-segment:28bbd4de-d56b-4e75-b5b2-ecdbbe8f1375|#f461|cust/hs-cdp-segment:9d19fc1b-2348-41ef-a47d-b022b8969705|#f462|cust/hs-cdp-segment:7590cfd8-f028-4d38-91bc-9a7d8209c9a8|#f465|cust/hs-cdp-segment:1a8fe497-e176-45bd-ac18-f445d96d8935|#f466|cust/hs-cdp-segment:2520c64d-9ead-4d32-8fe7-82450a62911c|#f467|cust/hs-cdp-segment:3a68379d-74ce-4c4d-bab1-0fbe2e3efd37|#f468|cust/hs-cdp-segment:c28f96cb-2211-4684-8b60-945646268f15|#f469|cust/hs-cdp-segment:858d6f98-4ca0-4514-a2cf-b01e4eef68d8|#f475|cust/hs-cdp-segment:06f6f593-5c53-475a-84f2-88bc49c3cd4b|#f476|cust/hs-cdp-segment:6c562fea-0481-4a13-a619-efedadb18ce3|#f477|cust/hs-cdp-segment:01f80f1a-6f2c-4cc3-a545-6583f6c6829a|#f478|cust/hs-cdp-segment:81c9e1fd-0020-4ec8-8cfa-dc17004ad95b|#f479|cust/hs-p2p-grouped:top1-2|#f566|cust/hs-p2p-grouped:top3-4|#f567|cust/hs-p2p-grouped:bottom5-10|#f568|cust/c-q-aa-a-h84TW6ngiW:A|#f928|cust/c-q-aa-a-h84TW6ngiW:B|#f929|cust/c-q-aa-a-h84TW6ngiW:C|#f935|cust/c-q-aa-a-5huhy2Mouj:A|#f999|cust/c-q-aa-a-5huhy2Mouj:B|#f1000|cust/c-q-aa-a-5huhy2Mouj:C|#f1001|cust/nf-subscribers:a6bba706-9563-4265-96e9-821dc26c2b3d|#f1008|#f1050|#f1053|cust/brand:hs|#f1094|cust/brand:is|#f1095|cust/brand:al|#f1096|cust/brand:sk|#f1097|cust/brand:pm|#f1098|cust/entitle:3339550|#f1244|cust/entitle:3472592|#f1246|cust/entitle:3678391|#f1247|#f1248|cust/entitle:4086504|#f1249|cust/entitle:744162|#f1250|cust/entitle:4507721|#f1291|cust/inter:draama|#f1314|cust/inter:rikos|#f1315|cust/inter:reality_ja_tositapahtumat|#f1318|cust/inter:ruoka|#f1320|cust/inter:jannitys|#f1323|cust/inter:romantiikka_ja_parisuhde|#f1324|cust/inter:hauskat|#f1325|cust/inter:dokkari|#f1326|cust/inter:elamantyyli|#f1327|cust/inter:musiikki|#f1328|cust/inter:matkailu|#f1329|cust/inter:bisnes|#f1330|cust/inter:mokki_ja_sisustus|#f1331|cust/inter:koti|#f1332|cust/inter:puutarha|#f1333|cust/inter:perhe_ja_vanhemmuus|#f1334|cust/inter:urheilu|#f1335|cust/inter:lapset|#f1339|cust/c-q-aa-a-4b7Xd6Pj5u:A|#f1358|cust/c-q-aa-a-4b7Xd6Pj5u:B|#f1359|cust/c-q-aa-a-qQMZ8UIs5y:A|#f1360|cust/c-q-aa-a-qQMZ8UIs5y:B|#f1361|cust/inter:superstarat|#f1368|cust/inter:ammattilaiset|#f1369|cust/inter:toiminta|#f1370|cust/inter:tubettajat|#f1371|cust/inter:seikkailureality|#f1372|cust/inter:kauhu|#f1373|cust/inter:rikkaus_ratkaisee|#f1381|cust/inter:scifi|#f1382|cust/inter:fantasia|#f1383|cust/inter:autot|#f1387|cust/inter:villi_lansi|#f1389|cust/inter:toinen_maailmansota|#f1392|cust/inter:konsertit|#f1394|cust/inter:hyvinvointi|#f1399|cust/inter:luonto_ja_lemmikit|#f1400|cust/inter:hyvan_mielen_ohjelmat|#f1406|#f1408|cust/inter:draamakomedia|#f1409|cust/inter:aarteet|#f1410|cust/inter:keskustelu|#f1411|cust/inter:animaatio|#f1412|cust/inter:uutiset|#f1414|cust/inter:lakitupa_ja_toimisto|#f1415|cust/inter:klassikot|#f1416|cust/inter:historialliset_draamat|#f1418|cust/inter:romanttinen_draama|#f1419|cust/inter:pesapallo|#f1441|cust/inter:nuoret|#f1442|cust/c-q-aa-a-2bKWLrt1YR:A|#f1456|cust/c-q-aa-a-2bKWLrt1YR:B|#f1457|cust/c-q-aa-a-mxFDIbpPCN:A|#f1460|cust/c-q-aa-a-mxFDIbpPCN:B|#f1461|cust/c-q-aa-a-4BDMOOyc0k:A|#f1470|cust/c-q-aa-a-4BDMOOyc0k:B|#f1471|cust/c-q-aa-a-repXWfXlx5:A|#f1472|cust/c-q-aa-a-repXWfXlx5:B|#f1473|cust/c-q-aa-a-QP4FryfZMt:A|#f1474|cust/c-q-aa-a-QP4FryfZMt:B|#f1475|cust/c-q-aa-a-jYh1B6WngH:A|#f1478|cust/c-q-aa-a-jYh1B6WngH:B|#f1479|cust/inter:jalkapallo|#f1480|cust/c-q-aa-a-5BRbAH4tco:A|#f1489|cust/c-q-aa-a-5BRbAH4tco:B|#f1490|cust/c-q-aa-a-hR8Ds6aIIE:A|#f1491|cust/c-q-aa-a-hR8Ds6aIIE:B|#f1492|cust/c-q-aa-a-kubdAF4QN9:A|#f1527|cust/c-q-aa-a-kubdAF4QN9:B|#f1528|cust/c-q-aa-a-kubdAF4QN9:C|#f1529|cust/c-q-aa-a-GBkmTvkaPR:A|#f1557|cust/c-q-aa-a-GBkmTvkaPR:B|#f1558|cust/c-q-aa-a-uGOtGz8XfI:A|#f1562|cust/c-q-aa-a-uGOtGz8XfI:B|#f1563|cust/c-q-aa-a-sfOQVVU7U5:A|#f1566|cust/c-q-aa-a-sfOQVVU7U5:B|#f1567|#f1588|cust/c-q-aa-a-LcyQeO1moi0J:A|#f1597|cust/c-q-aa-a-LcyQeO1moi0J:B|#f1598|cust/c-q-aa-a-LcyQeO1moi0J:C|#f1599|cust/inter:salibandy|#f1603|cust/inter:koripallo|#f1604|cust/c-q-aa-a-G7ehWOMbZ5sE:A|#f1830|cust/c-q-aa-a-G7ehWOMbZ5sE:B|#f1831|cust/nf-osasto:alueet|#f1849|cust/nf-osasto:elama|#f1850|cust/nf-osasto:feature|#f1851|cust/nf-osasto:helsinki|#f1852|cust/nf-osasto:visio|#f1853|cust/nf-osasto:kirjeenvaihtajat|#f1854|cust/nf-osasto:kulttuuri|#f1855|cust/nf-osasto:kuukausiliite|#f1856|cust/nf-osasto:lifestyle|#f1857|cust/nf-osasto:maailma|#f1858|cust/nf-osasto:pk-seutu|#f1859|cust/nf-osasto:politiikka|#f1860|cust/nf-osasto:suomi|#f1861|cust/nf-osasto:taide|#f1862|cust/nf-osasto:talous|#f1863|cust/nf-osasto:tiede|#f1864|cust/nf-osasto:tutkiva|#f1865|cust/nf-osasto:urheilu|#f1866|cust/rtu-paywall:3339550|#f1880|cust/rtu-paywall:3472592|#f1882|cust/rtu-paywall:3678391|#f1883|cust/rtu-paywall:4086504|#f1884|#f1885|cust/rtu-p2p:noads_high|#f1911|cust/rtu-p2p:noads_low|#f1912|cust/rtu-p2p:sports_high|#f1913|cust/rtu-p2p:sports_low|#f1914|cust/rtu-p2p:sst_low|#f1916|cust/rtu-p2p:ruutu_high|#f1917|cust/cli:ruutu-smarttv-low|#f1980|cust/nm-cancelr:no_international_content|#f1992|cust/nm-cancelr:content_finished|#f1993|cust/nm-cancelr:too_expensive_svod|#f1995|cust/nm-cancelr:no_ROI|#f1996|#f1997|cust/rtu-p2p:kaikki_high|#f2060|cust/rtu-p2p:kaikki_low|#f2061|cust/c-q-aa-a-D2xrQI7zSl:A|#f2102|cust/c-q-aa-a-D2xrQI7zSl:B|#f2103|cust/entitle:prod_H0jxKQFDDqFsXX|#f2121|cust/entitle:prod_I08HbZHruobdsd|#f2122|cust/entitle:prod_DyKtSkvqUePeMn|#f2123|cust/entitle:prod_Fn3GYvU7KF90X5|#f2124|#f2125|cust/entitle:prod_C55sLqnIqA8IJk|#f2127|cust/entitle:prod_S5mCAeYSmCA0U6|#f2128|cust/entitle:prod_Q97T4fBZU2AyAA|#f2129|cust/entitle:prod_K8j1CalG3Qp7bb|#f2130|cust/entitle:prod_HUKtqD3GkO2HrV|#f2131|cust/entitle:prod_DvFSDBCTN6Pxo8|#f2132|cust/entitle:prod_C55trrvMJfskBK|#f2133|cust/entitle:prod_CstjhrGF0tJs2U|#f2155|cust/inter:tosidraama|#f2403|rt:a_codes|a-Y9hwvSKRu3|a-fIQyn7hkig|a-pDe8YxTB4Y7H|a-CbH136spDK|a-Lg4KSPdSR8|a-RSUp155RUf|a-538y9Qv7VZXz|a-cwgjoA0Dg7tx|a-xyhCwHwgwPTJ|a-ov8HGqSzbG|a-Jag2K3XgzZ|a-f6weVibCuwCE|a-bBWFGnZX8GG2|a-hoIAcHci6FhW|a-DXCCIk6yL5|a-uIRf5zfGH5Y6|a-WJaJ1pE4TrZg|a-qTBftMGP4eOB|a-limwR91k6eK9|a-UNnPQGDepj|a-mj3K80OOS1Xs|a-bDJSNP7vbp|a-HFb9feoQcn|a-FLeEJFudGx|a-WnXB1j0gO4|a-9ZYlUu8QLH|a-Nv37vnmL7L|a-CVDqkd0iQ6|a-rXRy4l4YJd|a-4v9trE7YVr|a-FJAGPfG6ff|a-oinsr98ZiD|a-2wysc1GutH|a-Qvojid6XB8|a-MM2wbEevMM|a-zWNPSY2GPU|a-O2HEkob6X8|a-dTOOMkkGEK|a-Pz2FPmH0cLBS|a-89slvBjT4Z|a-hlbQzNQEf7|a-wZA16v2jtZvL|a-pwNu5dHCRA0R|a-5xFflrlUTfgb|a-CbMbjXpLFdFD|a-e2Aolbkw9Q9b|a-T2vMm3zTPPtU|a-ej2dynQaUnGN|a-YxrJpIDeIr3P|a-Dp5yRNvoWe|a-k4jygW3dvOTt|a-9J6fsyejFe|a-FbzSvctUpe|a-DoS442oC4x|a-HpNCmbGIxn|a-0FViKyetFG|a-LCVIA5N0yC|a-ExFxCi2cGm|a-BGCJIO4Bqo|a-Y6AbrtOL61|a-wwche6ZnWC|a-zSwcnVL3I5|a-x8ZmzkzDAePs|a-OzK7iUOTnh|a-zsrGwyVtIHZy|a-bJFz6BObAE|a-Fv73ZYqD3mnu|a-0qMGIEEprCpY|a-4WnUzHLlEOSM|a-gOnu9UP6l7|wa:ready|rt:spa-states|#init|vs-qNL8ohkVSg|pv|cancellation_done|plus_purchase|vs-ChFTBMnT6e|interaction|loginStatus|vs-YmOfUZcSYJ|vs-WTeBd3Sgnf|vs-ZgFe5QpPgj|vs-qymqOW9gZs|vs-q0jp91M0Jz|vs-vKBX9mZkiU|video_visit|vs-ARaCDZ9664|vs-l6eQvLRhDP|vs-DSExoQX3jx|vs-T0iv8I3Pa4|vs-DHiZkUjVvI|vs-UAAfGWAf1V|vs-l9wlklJQ4h|vs-ruFUjLk3Vn|vs-uPKyHjKebM|vs-0GMlbyansW|vs-VS5Foal7Lp|vs-zjwMpr5s3t|vs-gQCP1duGZz|vs-W1iI4w8qs4|vs-Ej1LXWmAI0|vs-bEia1NWEYx|vs-BIfbt1Igjl|vs-CS5nPHkSB9|vs-6ThAfyUHtL|vs-CjUeuXp0Y0|vs-A49lPYS1Do|vs-xkQrpAwVlj|vs-fIZxt8w4A1|vs-LPlW799RaM|vs-PYC8htcA2P|vs-iTa2zyEZqE|vs-Y3p37JH3Hj|vs-ayoFznPjUE|vs-IhwEi1zx3Z|vs-OQAKNk5Q7d|vs-dlkLeJsssc|vs-qWJkRaJ46l|vs-v2165r7ewK|vs-zNCdbKPPsf|vs-Vx0SgmUCTh|vs-Wzg3LQcdcr|vs-G81khg0Jk9|vs-CdqulcKISW|vs-MiW2fL3u8l|vs-6bkpcdOYMY|vs-lkQCjgZKbl|vs-9aMZGRhWS5|vs-KVNYoRYgPj|vs-nodLPH9Nci|vs-T4jtvy7s4S|vs-IxRB23Qg2c|vs-LKPBaAyGxG|vs-Bhtcrfq2lg|vs-KTHGaZLLgT|vs-bmgexIqdZF|vs-qSAMF5pKGe|vs-rmkkx57oCa|vs-2tTjBtTxIE|vs-E2CwJCG9Ko|pv5sec|vs-oAmqg0Q3BR|rt:spa-states-m|js:preboot-eps|wax|rt:spa-states-pb|dl:key-tr|conductrics_traits|rt:av-sels|event-queue:sqs-url|https://sanoma.cdn-v3.conductrics.com/661082963978/conductrics-30-sanoma-queue|rt:spa-states-ms|x-ga:gtm|x-ga:gat|x-ga:gao|qa:v-qa|js:debug-all|dl:cdl-key|c_conductrics_data_layer|qa:env|acc:env|p|acc:code|ac-HxAwTabhao|pass:ua|pass:ip|pass:loc|pass:vid|pass:sid|pass:sess|pass:qa|pass:qax|rt:spa-states-pv|targ:traits-agent-max|a:vis-ttl|rt:sl-rate|targ:lookup-url|https://sanoma-data.conductrics.com|targ:ext-tms|acc:c-dom|FI|dl:key-vs|conductrics_vstate|dl:key-ex|conductrics_commands|dl:past-events|targ:vid|_ga|qa:st-key|c-conductrics-qa|rt:g_codes|g-ODhojhYFTl|c-q-f-sf_S2QibRUtOd|c-q-f-sf_S2QibRUtOd_de|c-q-f-sf_S2QibRUtOd_pa|c-q-f-sf_S2QibRUtOd_pr|c-q-sel-a-Y9hwvSKRu3|c-q-sub-a-Y9hwvSKRu3|c-q-f-sf_Xw4s0npaOj|c-q-f-sf_Xw4s0npaOj_de|c-q-f-sf_Xw4s0npaOj_pa|c-q-f-sf_Xw4s0npaOj_pr|c-q-sel-a-fIQyn7hkig|c-q-sub-a-fIQyn7hkig|c-q-f-sf_Va7mY35ggU|c-q-f-sf_Va7mY35ggU_de|c-q-f-sf_Va7mY35ggU_pa|c-q-f-sf_Va7mY35ggU_pr|g-zLadmJg2Aw|g-BKv1j4oXqj|g-dqQmbPVker|g-5GG9m8TkMT|g-iBdWzUyDl8|g-N8fuAxN3ke|g-Y2Ef5phuJ2|g-Utqq6R0dDV|g-8TQaoHxH9k|g-Va9Tineirh|g-ZrJznlaSiM|c-q-sel-a-cwgjoA0Dg7tx|c-q-sub-a-cwgjoA0Dg7tx|c-q-sel-a-ov8HGqSzbG|c-q-sub-a-ov8HGqSzbG|c-q-sel-a-Jag2K3XgzZ|c-q-sub-a-Jag2K3XgzZ|c-q-sel-a-f6weVibCuwCE|c-q-sub-a-f6weVibCuwCE|c-q-sel-a-bBWFGnZX8GG2|c-q-sub-a-bBWFGnZX8GG2|g-SlNPyCCn6C|g-OkbJJo7fyt|g-qXYQBG4k0D|g-6BUl6UwZZl|c-q-sel-a-uIRf5zfGH5Y6|c-q-sub-a-uIRf5zfGH5Y6|g-ObT6JgaQfr|g-L7Ann8LEyt|g-jAxiPw0N2y|g-jScsFWJrpd|c-q-sel-a-4v9trE7YVr|c-q-sub-a-4v9trE7YVr|c-q-f-sf_1r08yDbjw4|c-q-f-sf_1r08yDbjw4_de|c-q-f-sf_1r08yDbjw4_pa|c-q-f-sf_1r08yDbjw4_pr|c-q-sel-a-Qvojid6XB8|c-q-sub-a-Qvojid6XB8|g-27xJPdruha|g-LOkjMGrgz7|g-gGjtPzfh0A|g-uymdj0rXED|g-FzsOKEDc0y|g-wV0jn2QnVv|g-G8Wh6AYz2n|g-2oZNJ71WDJ|g-p7ShmkD27S|g-lmfUDI54GN|g-rj2Wg8dTfZ|g-qhhgtZ3WKH|c-q-sel-a-hlbQzNQEf7|c-q-sub-a-hlbQzNQEf7|g-uHzXVYhOdD|c-q-sel-a-k4jygW3dvOTt|c-q-sub-a-k4jygW3dvOTt|c-q-sel-a-9J6fsyejFe|c-q-sub-a-9J6fsyejFe|c-q-sel-a-FbzSvctUpe|c-q-sub-a-FbzSvctUpe|c-q-sel-a-DoS442oC4x|c-q-sub-a-DoS442oC4x|c-q-sel-a-HpNCmbGIxn|c-q-sub-a-HpNCmbGIxn|c-q-sel-a-0FViKyetFG|c-q-sub-a-0FViKyetFG|c-q-sel-a-LCVIA5N0yC|c-q-sub-a-LCVIA5N0yC|c-q-sel-a-ExFxCi2cGm|c-q-sub-a-ExFxCi2cGm|c-q-sel-a-BGCJIO4Bqo|c-q-sub-a-BGCJIO4Bqo|c-q-sel-a-Y6AbrtOL61|c-q-sub-a-Y6AbrtOL61|c-q-sel-a-wwche6ZnWC|c-q-sub-a-wwche6ZnWC|c-q-sel-a-zSwcnVL3I5|c-q-sub-a-zSwcnVL3I5|g-QZPxkt9cuM|g-IlzklpUsAv|diag|module|root|items|entry|wax-pre|vstate-apply|vstate|trigs|mode|dl-ev|ms|ev_conds|${st::=cookieConsent:spcx}|is|${dl::page.paywallStatus}|in|paid|paid-no-indicator|all|dl_ev|eventInfo|dl_crit|k|eventCategory|paywall|eventAction|show+kovamuuri|qa|consent|consentStatus|accepted|conductrics.pageview|conds|${v.loc.qx}|sub|/tilaus/|custom_event|event_label|offer+already+used|gtm.dom|virtualPageview|show+kovamuuri|present|sel|.ab-test-hard-paywall|num|container|#__next|event_name|subscription_error|offer+already+used|api|api-steps|group|pre|features-profile|types|trait-read|ns|cust|type|nf-osasto|expr|${dl::page.category}|nf-subscribers|${st::=sa-segments:webCdpSegments}|hs-cdp-segment|ref|${v.loc.qs::ref}|p2p_lightgbm|${targ.x-gcp-bq/hs_p2p_lightgbm}|p2p|${targ.x-gcp-bq/hs_p2p}|feature-set|feature|${targ.cust/p2p}|2|${targ.cust/p2p_lightgbm}|any|3|4|nin|sets|10|5|6|7|8|9|diags|decision|agent|select|choices|policy|r|reward|goal|countMax|valueDef|rw|valueMin|valueMax|ps_ok|api-task|task|condition|${gh::g-rtu-frontpage-promo-click}|true|${gh::rtu_purchase}|${gh::rtu_video_start}|${gse::g-rtu-frontpage-promo-click}|lt|60|${v.sels::a-2LoE5UeDYTcV::c}|${gh::rtu_purchase_pluskaikki}|${gh::rtu_purchase_hs}|${gh::rtu_purchase_ruutupremium}|${gh::rtu_purchase_ruutuplus}|${targ.cust/rtu-paywall}|4086504|${gh::rtu_purchase_sst}|isnt|${gh::rtu_purchase_urheilu}|744162|${gh::rtu_purchase_ul}|${gh::rtu_purchase_viasat}|wa-entry|wa-start|wa-decision|wa-await|selectors|.tag-subheader-container|one|wa-script|selector|prehide|watch|js-xDRGwsxFmHrN7RwNp6jb-1745398789|ok|ra-max|${v.sels::a-TorYbOtcoXuz::c}|js-5wVT6XuGhIjNmVV1z4pG-1745398789|cust/al_p2p_lightgbm|cust/sk_p2p_satakunnankansa_lightgbm|cust/hs-pe-front|cust/dont-show-ads|cust/cancel-period|https://www.hs.fi/sivu/lifestyle/|condsName|vstates|options|await|wa-pre-un|exists|${v.sels::a-1U4ux1T5QRUu::c}|body|wa-survey|survey_code|su-1cEok1WqEMLM|submit_vstate|wa-survey-show|modal|focus_first|adjacency|beforeend|theme|st-iuMzbHF0lPetzE0|exit_ms|survey|code|fields|stars-5|sf_rkxuIoBSh0|active|title|Kuinka+helppoa+ostaminen+oli?|subtitle|Auta+meitä+kehittämään+palvelua|required|cssClass|text|sf_eC32io3q8M|Mikä+tilaamisessa+tuntui+hankalalta?|placeholder|Vastauksesi|${qfv::sf_rkxuIoBSh0}|lte|hidden|sf_fcQpMznG7D|readFrom|dl::page.pageInfo.pageName|show_submit|send_on_close|offer_max|farewell|keepUrl|labels|submit|Lähetä|langs|dom_id|_c_q_su_1cEok1WqEMLM|markup|<style+class=\'c-q-theme-style\'+data-survey=\'su-1cEok1WqEMLM\'+media=\'not+all\'+data-c-q-style-nonce>/*+CSS+Variables+used+by+Basic+Survey+Theme+*/\n.c-q-vars+{\n\n++/*+general+colors+for+the+survey+UI+"chrome"+*/\n++--bgcolor:+#fff;+/*+white+background+by+default+*/\n++--text-color:+#444;+/*+dark+grey+text+*/\n++--gray-1:+#333;\n++--gray-2:+#777;\n++--gray-3:+#aaa;\n++--gray-4:+#c0c0c0;\n++--gray-5:+#ddd;\n\n++/*+these+colors+affect+most+buttons+in+the+survey+*/\n++--btn-primary-bgcolor:+#010080;+/*+submit+buttons,+etc+(navy+by+default)+*/\n++--btn-primary-fgcolor:+#fff;+/*+white+*/\n++--btn-secondary-bgcolor:+#010080;+/*+most+other+buttons+(navy+by+default)+*/\n++--btn-secondary-fgcolor:+#fff;+/*+white+*/\n\n++/*+color+of+focus+outlines+for+numeric+rating+and+\'blocky+buttons\'+radios+*/\n++--input-focus-color:+#bf90ff;\n\n++/*+should+most+survey+content+be+centered+or+left-aligned?+*/\n++--align-horiz:+left;+/*+\'center\'+likely+better+if+multiple+questions+*/\n\n++/*+control+over+the+animation+used+to+show/hide+the+survey+*/\n++--anim-enter-duration:+0.5s;+/*+how+fast+should+the+survey+fade/slide+in?+*/\n++--anim-exit-duration:+0.5s;+/*+how+fast+should+the+survey+fade/slide+out?+*/\n++--anim-enter-delay:+0s;+/*+don\'t+use+this+to+delay+when+the+survey+appears+*/\n++--anim-exit-delay:+0.5s;+/*+a+small+delay+here+feels+more+natural+*/\n\n++/*+colors+for+the+"smiley/frowny"+question+type+*/\n++--btn-rating-icon-color-1:+#f51120;+/*+red++*/\n++--btn-rating-icon-color-2:+#fd870d;+/*+orange+*/\n++--btn-rating-icon-color-3:+#ffca3d;+/*+neutral+yellow+*/\n++--btn-rating-icon-color-4:+#77d62f;+/*+light+green+*/\n++--btn-rating-icon-color-5:+#37b647;+/*+dark+green+*/\n++--btn-rating-icon-color-n:+cadetblue;+/*+neutral+color+*/\n}\n\n/*+\n++show+survey+"inline"+(as+opposed+to+in+a+"modal"+overlay)+\n++(this+is+the+"small+screen"+version,+see+@media+block+below+for+larger)\n*/\n.c-q-survey.c-q-inline+{\n++++/*+position+-+"docked"+10px+from+bottom+of+page+*/\n++++position:+fixed;\n++++bottom:+10px;\n++++margin-left:+10px;\n++++margin-right:+10px;\n++++z-index:+2147483647;\n++++/*+size+*/\n++++min-width:+250px;\n++++width:+calc(100%25+-+20px);\n++++height:+auto;\n++++box-sizing:+border-box;\n++++/*+styling+*/\n++++background-color:+var(--bgcolor);\n++++border:+2px+solid;\n++++border-color:+var(--gray-3);\n++++border-radius:+5px;\n++++padding:+15px+20px;\n++++filter:+drop-shadow(2px+2px+2px+var(--gray-4));\n}\n/*+show+survey+"inline"+-+overrides+for+non-small+screens+*/\n@media+screen+and+(min-width:+600px)+{\n++.c-q-survey.c-q-inline+{\n++++bottom:+20px;\n++++left:+0;\n++++right:+0;\n++++margin:+auto;\n++++width:+50%25;\n++++min-width:+550px;\n++++max-width:+850px;\n++}\n}\n/*+entrance+animation+*/\n.c-q-survey.c-q-inline.c-q-animate-in:not(.c-q-submitted)+{\n++++animation:+c-q-fadeIn+var(--anim-enter-duration)+ease+backwards;\n++++animation-delay:+var(--anim-enter-delay);\n}\n/*+exit/hide+animation+*/+\n.c-q-survey.c-q-inline.c-q-animate-out.c-q-submitted+{\n++++animation:+c-q-fadeOut+var(--anim-exit-duration)+ease+forwards;\n++++animation-delay:+var(--anim-exit-delay);\n}\n\n@keyframes+c-q-fadeIn+{\n++from+{opacity:0;+transform:+translateY(80px)+translateX(0);}\n++to+{opacity:1;+transform:+translateY(0)+translateX(0)}\n}\n@keyframes+c-q-fadeOut+{\n++from+{opacity:1;+visibility:+visible;+transform:+translateY(0)+translateX(0);++}\n++to+{opacity:0;+visibility:+hidden;+transform:+translate3d(0,+100%25,+0);+}\n}\n\n@keyframes+c-q-appear+{\n++from+{opacity:0;+visibility:+hidden;+}\n++to+{opacity:1;+visibility:+visible;+}\n}\n\n.c-q-appear-anim+{\n++animation:+c-q-appear+var(--anim-enter-duration)+ease+backwards;\n}\n\n.c-q-heading+{\n++background-repeat:+no-repeat;\n++background-position:+center;\n++background-size:+contain;\n++margin-bottom:+10px;\n++color:+var(--text-color);\n}\n\n.c-q-farewell+{\n++text-align:+center;\n++font-size:+15px;\n++padding:+15px+10px;\n}\n\n/*+Basic+survey+theme+*/\n.c-q-field+{\n++display:+block;\n++margin-bottom:+10px;\n}\n.c-q-survey+.c-q-field-label+{\n++font-size:+14px;\n++display:+block;\n++color:+var(--text-color);\n++margin-bottom:+5px;\n++text-align:+var(--align-horiz);\n++border:+none;\n++font-weight:+500;\n}\n\n.c-q-field-subtitle+{\n++display:+block;\n++color:+var(--gray-2);\n}\n\n\n/*+for+randomizing+the+order+of+field+options/answers,+CSS+\'order\'+property+*/\n/*+NOTE:+possibly+these+should+apply+to+all+radio+buttons,+as+opposed+to+just+randomly-ordered+ones+*/\n.c-q-has-random-items+{\n++display:+flex;+/*+so+CSS+\'order\'+property+(set+at+runtime)+will+have+an+effect+*/\n++flex-wrap:+wrap;\n}\n.c-q-has-random-items+.c-q-field-option+{\n++display:+flex;\n++width:+100%25;+/*+so+each+option+takes+up+a+whole+line+*/\n}\n.c-q-has-random-items+.c-q-field-option.c-q-radio-group-item+{\n++align-items:+start;+/*+for+alignment+of+radio+button+to+its+label+*/\n}\n\n\n/*+normal+text+inputs/textareas+*/\n.c-q-input-text+{\n++width:+100%25;\n++padding:+2px+5px;\n++border-color:+var(--gray-2);\n++border-radius:+4px;\n}\n.c-q-input-text:focus+{\n++outline:+none;\n}\n/*+normal+checks/radios+*/\n.c-q-radio-group,+.c-q-check-group+{\n++margin-bottom:+10px;\n}\n.c-q-radio-label,+.c-q-check-label+{\n++padding-left:+4px;\n++margin-bottom:+0;\n}\n\n.c-q-html-check+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-html-label+{\n++margin-bottom:+10px;\n}\n.c-q-html-group+{\n}\n\n/*+submit+button+*/\n.c-q-steps+{\n++display:+inline-block;\n}\n.c-q-submit+{\n++margin-top:+5px;\n++text-align:+var(--align-horiz);\n}\n.c-q-submit+button+{\n++background-color:+var(--btn-primary-bgcolor);\n++color:+var(--btn-primary-fgcolor);\n++border-radius:+4px;\n++border-color:+var(--btn-primary-bgcolor);\n++border-style:+solid;\n++padding:+5px+10px;\n++box-sizing:+border-box;\n++border-width:+1px;\n++cursor:+pointer;\n++margin:+0;\n++text-align:+center;\n++text-decoration:+none;\n++font-size:+16px;\n++padding:+8px+20px;\n}\n.c-q-submit+button:disabled+{\n++opacity:+0.6;\n++cursor:+not-allowed;\n}\n.c-q-submit+button.c-q-btn-secondary+{\n++background-color:+var(--btn-primary-fgcolor);\n++color:+var(--btn-primary-bgcolor);\n}\nbutton.c-q-btn-prev:before+{\n++content:+\'‹\';\n++padding-right:+5px;\n}\nbutton.c-q-btn-next:after+{\n++content:+\'›\';\n++padding-left:+5px;\n}\n\n/*+dismiss+button,+styled+as+an+"X"+at+top+right+*/\n.c-q-close-x+{\n++position:+absolute;\n++top:+0;\n++right:+0;\n++color:+var(--gray-2);\n++font-size:+20px;\n++font-family:+sans-serif;\n++padding:+10px;\n++background-color:+var(--bgcolor);\n++border:+none;\n++cursor:+pointer;\n}\n.c-q-close-x:before+{\n++content:++"⨂";\n}\n\n/*+SPECIAL+INPUT+STYLE:+Radio+buttons,+styled+as+\'blocky+buttons\',+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap+*/\n.c-q-radio-group.c-q-radio-group-buttons+input[type=\'radio\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-radio-group.c-q-radio-group-buttons+label+{\n++++display:+inline-block;\n++++background-color:+var(--bgcolor);\n++++padding:+3px+9px;\n++++border:+2px+solid;\n++++border-color:+var(--gray-3);\n++++border-radius:+5px;\n++++margin:+2px;\n++++cursor:+pointer;\n++++color:+var(--gray-1);\n++++width:+100%25;\n}\n.c-q-radio-group.c-q-radio-group-buttons+input[type="radio"]:checked+%2B+label+{\n++color:+var(--btn-primary-fgcolor);\n++background-color:+var(--btn-secondary-bgcolor);\n++border-color:+var(--btn-secondary-bgcolor);\n}\n.c-q-radio-group.c-q-radio-group-buttons+input[type="radio"]:focus+%2B+label+{\n++border-color:+var(--input-focus-color);\n}\n.c-q-radio-group.c-q-radio-group-buttons+>+.c-q-radio-group-item+{\n++text-align:+var(--align-horiz);\n}\n.c-q-btn,.c-q-close-x,+.c-q-submit+button+{\n++outline-color:+var(--input-focus-color);\n}\n\n\n/*+SPECIAL+INPUT+STYLE:+Checkbox+buttons,+styled+as+\'blocky+buttons\',+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap+*/\n.c-q-check-group.c-q-check-group-buttons+input[type=\'checkbox\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-check-group.c-q-check-group-buttons+label+{\n++++display:+inline-block;\n++++background-color:+var(--bgcolor);\n++++padding:+3px+9px;\n++++border:+1px+solid;\n++++border-color:+var(--gray-3);\n++++border-radius:+5px;\n++++margin:+2px;\n++++cursor:+pointer;\n++++color:+var(--gray-1);\n++++width:+100%25;\n++++font-size:+16px;\n}\n.c-q-check-group.c-q-check-group-buttons+input[type="checkbox"]:checked+%2B+label+{\n++color:+var(--btn-primary-fgcolor);\n++background-color:+var(--btn-secondary-bgcolor);\n++border-color:+var(--btn-secondary-bgcolor);\n}\n.c-q-check-group.c-q-check-group-buttons+>+.c-q-check-group-item+{\n++text-align:+var(--align-horiz);\n}\n\n\n.c-q-rating-label-before,+.c-q-rating-label-after+{\n++++padding:+5px;\n}\n\n.c-q-survey+fieldset.c-q-options-fieldset+{\n++display:+block;+/*+TODO+-+was+display:contents+but+resulted+in+uncentered+text+*/\n}\n\n/*+SPECIAL+INPUT+TYPE:+"rating+dots"+(radio+buttons,+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap)+*/\n.c-q-rating-radios+{\n++white-space:+nowrap;\n++display:+flex;\n++align-items:+center;\n}\n.c-q-rating-radios+input[type=\'radio\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-rating-radios+label+{\n++display:+inline-block;\n++background-color:+var(--bgcolor);\n++font-size:+16px;\n++border:+2px+solid+var(--gray-3);\n++border-radius:+50px;\n++margin:+2px;\n++cursor:+pointer;\n++color:+var(--gray-1);\n++flex-grow:+1;\n++text-align:+center;\n++padding-bottom:+4px;\n++padding-top:+4px;\n}\n@media+screen+and+(min-width:+600px)+{\n++.c-q-rating-radios+label+{\n++++padding-top:+8px;\n++++padding-bottom:+8px;\n++}\n}\n.c-q-rating-radios+input[type="radio"]:checked+%2B+label+{\n++background-color:+var(--gray-1);\n++color:+var(--bgcolor);\n}\n.c-q-rating-radios+input[type="radio"]:focus+%2B+label+{\n++border-color:+var(--input-focus-color);\n}\n\n/*+SPECIAL+INPUT+TYPE:+"smileys"+/+emoticons+(radio+buttons,+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap)+*/\n.c-q-rating-icons+{\n++text-align:+var(--align-horiz);\n}\n.c-q-rating-icons+input[type=\'radio\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-rating-icons+label+{\n++display:+inline-block;\n++background-color:+var(--bgcolor);\n++cursor:+pointer;\n++color:+var(--gray-1);\n++border:+2px+solid;\n++border-color:+var(--bgcolor);\n++font-size:+40px;\n++border-radius:+50px;\n++line-height:+55px;\n++padding:+0+8px;\n}\n/*+colors+for+each+radio+*/\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-1+{\n++color:+var(--btn-rating-icon-color-1);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-2+{\n++color:+var(--btn-rating-icon-color-2);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-3+{\n++color:+var(--btn-rating-icon-color-3);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-4+{\n++color:+var(--btn-rating-icon-color-4);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-5+{\n++color:+var(--btn-rating-icon-color-5);\n}\n.c-q-rating-icons.c-q-rating-icons-neutral+label+{\n++color:+var(--btn-rating-icon-color-n);\n}\n\n/*+show+the+border+for+the+selected+radio+*/\n.c-q-rating-icons+input[type="radio"]:checked+%2B+label+{\n++border-color:+unset;\n}\n/*+use+a+dim+color+for+the+other+radios+(after+one+is+selected)+*/\n.c-q-field-filled+.c-q-rating-icons+input[type="radio"]:not(:checked)+%2B+label+{\n++color:+#33333363;\n}\n/*+the+emoticon+itself+*/\n.c-q-emoticon+{\n++overflow:+visible;\n++width:+1em;\n++height:+1em;\n++display:+inline-block;\n++vertical-align:+-0.125em;\n}\n\n\n/*+SPECIAL+INPUT+TYPE:+"1-5+Stars"+styled+rating+widgets+*/\n.c-q-rating-stars-container+{\n++display:+flex;\n++justify-content:+var(--align-horiz);\n}\n.c-q-rating-stars+{+\n++font-size:+38px;\n++border:+none;\n++float:+left;\n}\n.c-q-rating-stars+>+label+>+svg+{\n++overflow:+visible;\n}\n.c-q-rating-stars+>+input+{+\n++display:+none;+/*+hide+"normal"+radio+ui+*/\n}\n.c-q-rating-stars+>+label+{+\n++color:+var(--gray-5);+\n++float:+right;+\n++padding-right:+10px;\n++background-color:+unset+!important;+/*+in+case+host+page+defines+a+background+color+for+radio+labels+*/\n}\n.c-q-rating-stars+>+input:checked+~+label,+/*+show+gold+star+when+clicked+*/\n.c-q-rating-stars:not(:checked)+>+label:hover,+/*+hover+current+star+*/\n.c-q-rating-stars:not(:checked)+>+label:hover+~+label+{+color:+#FFD700;++}+/*+hover+previous+stars+in+list+*/\n\n.c-q-rating-stars+>+input:checked+%2B+label:hover,+/*+hover+current+star+when+changing+rating+*/\n.c-q-rating-stars+>+input:checked+~+label:hover,\n.c-q-rating-stars+>+label:hover+~+input:checked+~+label,+/*+lighten+current+selection+*/\n.c-q-rating-stars+>+input:checked+~+label:hover+~+label+{+color:+#FFED85;++}+\n\n\n/*+when+the+survey+is+displayed+in+a+"modal"+overlay/dialog+*/\n.c-q-modal+{\n++display:+none;\n++position:+relative;\n++font-family:+-apple-system,BlinkMacSystemFont,avenir+next,avenir,helvetica+neue,helvetica,ubuntu,roboto,noto,segoe+ui,arial,sans-serif;\n}\n.c-q-modal.is-open+{\n++display:+block;\n++z-index:+9999;\n}\n.c-q-modal-overlay+{\n++position:+fixed;\n++top:+0;\n++left:+0;\n++right:+0;\n++bottom:+0;\n++background:+rgba(0,0,0,0.2);\n++display:+flex;\n++justify-content:+center;\n++align-items:+center;\n}\n.c-q-modal-container+{\n++background-color:+var(--bgcolor);\n++padding:+30px;\n++max-width:+700px;\n++max-height:+100vh;\n++border-radius:+6px;\n++overflow-y:+auto;\n++box-sizing:+border-box;\n++border:+1px+solid+rgba(0,0,0,0.5);\n++box-shadow:+0+3px+7px+rgb(0+0+0+/+30%25);\n++opacity:+1;\n++position:+relative;\n}\n\n.c-q-survey+.c-q-a-sr-only,+.c-q-survey+.c-q-radio-group-focus+{\n++border:+0;\n++clip:+rect(0+0+0+0);\n++height:+1px;\n++margin:+-1px;\n++overflow:+hidden;\n++padding:+0;\n++position:+absolute;\n++width:+1px;\n}\n\n/*+give+"custom+radio+buttons"+a+different+appearance+when+none+of+the+radios+in+the+"radiogroup"+have+been+checked,+as+an+extra+"affordance"+for+accessibility+(see+#904)+*/\n.c-q-survey+[role=\'radiogroup\'].c-q-radio-group-unfilled+[role=\'radio\']+{\n++border:+2px+solid;\n++border-color:+var(--input-focus-color);\n}\n\n.c-q-input.c-q-input-text:focus-visible,+.c-q-input.c-q-input-select:focus-visible+{\n++outline-color:+var(--input-focus-color);\n++outline-width:+2px;\n++outline-style:+solid;\n}\n\n.c-q-survey+.c-q-a-sr-only-focusable+{\n++position:+static;\n++width:+auto;\n++height:+auto;\n++overflow:+visible;\n++clip:+auto;\n++white-space:+normal;\n}\n\n.c-q-survey+fieldset+{\n++min-width:+0;\n++padding:+0;\n++margin:+0;\n++border:+0;++\n}\n\n@keyframes+cqFadeIn+{\n++++from+{+opacity:+0;+}\n++++++to+{+opacity:+1;+}\n}\n@keyframes+cqFadeOut+{\n++++from+{+opacity:+1;+}\n++++++to+{+opacity:+0;+}\n}\n@keyframes+cqSlideIn+{\n++from+{+transform:+translateY(15%25);+}\n++++to+{+transform:+translateY(0);+}\n}\n@keyframes+cqSlideOut+{\n++++from+{+transform:+translateY(0);+}\n++++to+{+transform:+translateY(-10%25);+}\n}\n\n.c-q-modal-slide+{\n++display:+none;\n}\n\n.c-q-modal-slide.is-open+{\n++display:+block;\n}\n\n.c-q-modal-slide[aria-hidden="false"]+.c-q-modal-overlay+{\n++animation:+cqFadeIn+.35s+cubic-bezier(0.0,+0.0,+0.2,+1);\n}\n\n.c-q-modal-slide[aria-hidden="false"]+.c-q-modal-container+{\n++animation:+cqSlideIn+.35s+cubic-bezier(0,+0,+0.2,+1);\n}\n\n.c-q-modal-slide[aria-hidden="true"]+.c-q-modal-overlay+{\n++animation:+cqFadeOut+.35s+cubic-bezier(0.0,+0.0,+0.2,+1);\n}\n\n.c-q-modal-slide[aria-hidden="true"]+.c-q-modal-container+{\n++animation:+cqSlideOut+.35s+cubic-bezier(0,+0,+0.2,+1);\n}\n\n.c-q-modal-slide+.c-q-modal-container,\n.c-q-modal-slide+.c-q-modal-overlay+{\n++will-change:+transform;\n}\n\ntextarea.c-q-input-text+%2B+.c-q-field-status-msg+{\n++color:+var(--gray-1);\n++text-align:+end;\n++margin-top:+-4px;\n++margin-bottom:+calc(-1lh+%2B+4px);\n}\ntextarea.c-q-input-text+%2B+.c-q-field-status-msg:after+{\n++content:+\' \';\n}\ntextarea.c-q-input-text+%2B+.c-q-field-status-msg+>+span+{\n++visibility:+hidden;\n}\ntextarea.c-q-input-text:focus+%2B+.c-q-field-status-msg+>+span:not(:empty)+{\n++visibility:+visible;\n++animation:+cqFadeIn+1s+cubic-bezier(0.0,+0.0,+0.2,+1);\n}</style><style+class=\'c-q-theme-style\'+data-survey=\'su-1cEok1WqEMLM\'+media=\'not+all\'+data-c-q-style-nonce>/*+CSS+Variables+used+by+Basic+Survey+Theme+*/\n.c-q-survey+{\n\n++++/*+general+colors+for+the+survey+UI+"chrome"+*/\n++++--bgcolor:+#fff;+/*+white+background+by+default+*/\n++++--text-color:+#444;+/*+dark+grey+text+*/\n++++--gray-1:+#333;\n++++--gray-2:+#777;\n++++--gray-3:+#aaa;\n++++--gray-4:+#c0c0c0;\n++++--gray-5:+#ddd;\n++\n++++/*+these+colors+affect+most+buttons+in+the+survey+*/\n++++--btn-primary-bgcolor:+#000000;+/*+submit+buttons,+etc+(navy+by+default)+*/\n++++--btn-primary-fgcolor:+#fff;+/*+white+*/\n++++--btn-secondary-bgcolor:+#010080;+/*+most+other+buttons+(navy+by+default)+*/\n++++--btn-secondary-fgcolor:+#fff;+/*+white+*/\n++\n++++/*+color+of+focus+outlines+for+numeric+rating+and+\'blocky+buttons\'+radios+*/\n++++--input-focus-color:+#219ebc;\n}\n\n.c-q-survey+.c-q-close-x+{\n++++color:+#000000;\n\n}\n.c-q-survey+.c-q-submit+button:disabled+{\n++++opacity:+0.9;\n}\n.c-q-radio-group+.c-q-field-option.c-q-radio-group-item+{\n++++align-items:+baseline+!important;\n}\n</style><aside+class="c-q-vars+c-q-survey+c-q-inline+c-q-animate-in+c-q-animate-out"+role="dialog"+aria-labelledby="c-q-field-id-sf_rkxuIoBSh0-label"+aria-modal="false"+id="_c_q_su_1cEok1WqEMLM">\n<div+class=\'c-q-container+c-q-survey-su-1cEok1WqEMLM+c-q-theme-st-iuMzbHF0lPetzE0\'><div+class=\'c-q-heading\'></div><form+class=\'c-q-survey+c-q-su-1cEok1WqEMLM\'>+<div+class=\'c-q-field+c-q-appear-anim\'+data-field="sf_rkxuIoBSh0"+class="{\'c-q-field-filled\':+values.sf_rkxuIoBSh0}"+rv-show="visible.sf_rkxuIoBSh0"><fieldset+class=\'c-q-options-fieldset\'>\n	<legend+id=\'c-q-field-id-sf_rkxuIoBSh0-label\'+class=\'c-q-field-label+c-q-field-title\'><span+data-lang-text=\'sf_rkxuIoBSh0.title\'>Kuinka+helppoa+ostaminen+oli?</span>+<span+class=\'c-q-field-subtitle\'+data-lang-text=\'sf_rkxuIoBSh0.subtitle\'>Auta+meitä+kehittämään+palvelua</span></legend>\n	<div+class=\'c-q-rating-stars-container\'>\n	<div+class=\'c-q-rating-stars+\'+>\n		<input+rv-checked=\'values.sf_rkxuIoBSh0+%7C+integer\'+data-field=\'sf_rkxuIoBSh0\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_rkxuIoBSh0_5\'+name=\'sf_rkxuIoBSh0\'+value=\'5\'/>\n<label+for=\'sf_rkxuIoBSh0_5\'+aria-label=\'5+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-5\'+data-lang-label=\'a11y.emoticons-5-5\'>5+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_rkxuIoBSh0+%7C+integer\'+data-field=\'sf_rkxuIoBSh0\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_rkxuIoBSh0_4\'+name=\'sf_rkxuIoBSh0\'+value=\'4\'/>\n<label+for=\'sf_rkxuIoBSh0_4\'+aria-label=\'4+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-4\'+data-lang-label=\'a11y.emoticons-5-4\'>4+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_rkxuIoBSh0+%7C+integer\'+data-field=\'sf_rkxuIoBSh0\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_rkxuIoBSh0_3\'+name=\'sf_rkxuIoBSh0\'+value=\'3\'/>\n<label+for=\'sf_rkxuIoBSh0_3\'+aria-label=\'3+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-3\'+data-lang-label=\'a11y.emoticons-5-3\'>3+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_rkxuIoBSh0+%7C+integer\'+data-field=\'sf_rkxuIoBSh0\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_rkxuIoBSh0_2\'+name=\'sf_rkxuIoBSh0\'+value=\'2\'/>\n<label+for=\'sf_rkxuIoBSh0_2\'+aria-label=\'2+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-2\'+data-lang-label=\'a11y.emoticons-5-2\'>2+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_rkxuIoBSh0+%7C+integer\'+data-field=\'sf_rkxuIoBSh0\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_rkxuIoBSh0_1\'+name=\'sf_rkxuIoBSh0\'+value=\'1\'/>\n<label+for=\'sf_rkxuIoBSh0_1\'+aria-label=\'1+Star\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-1\'+data-lang-label=\'a11y.emoticons-5-1\'>1+Star</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label>\n	</div>\n	<div+style=\'clear:both\'></div>\n</div>\n</fieldset></div>++<div+class=\'c-q-field+c-q-appear-anim\'+data-field="sf_eC32io3q8M"+class="{\'c-q-field-filled\':+values.sf_eC32io3q8M}"+rv-show="visible.sf_eC32io3q8M"><label+id=\'c-q-field-id-sf_eC32io3q8M-label\'+for=\'c-q-field-id-sf_eC32io3q8M\'+class=\'c-q-field-label+c-q-field-title\'><span+data-lang-text=\'sf_eC32io3q8M.title\'>Mikä+tilaamisessa+tuntui+hankalalta?</span>+<span+class=\'c-q-field-subtitle\'+data-lang-text=\'sf_eC32io3q8M.subtitle\'></span></label>\n<textarea+id=\'c-q-field-id-sf_eC32io3q8M\'+maxlength=\'1000\'+rv-value=\'values.sf_eC32io3q8M\'+rv-on-input=\'onFieldValue\'+data-field=\'sf_eC32io3q8M\'+type=\'text\'+class=\'c-q-input+c-q-input-text+\'++placeholder=\'Vastauksesi\'+rows=\'2\'></textarea></div>++<div+class=\'c-q-field+c-q-appear-anim\'+data-field="sf_fcQpMznG7D"+class="{\'c-q-field-filled\':+values.sf_fcQpMznG7D}"+rv-show="visible.sf_fcQpMznG7D"><label+id=\'c-q-field-id-sf_fcQpMznG7D-label\'+for=\'c-q-field-id-sf_fcQpMznG7D\'+class=\'c-q-field-label+c-q-field-title\'><span+data-lang-text=\'sf_fcQpMznG7D.title\'></span>+<span+class=\'c-q-field-subtitle\'+data-lang-text=\'sf_fcQpMznG7D.subtitle\'></span></label>\n<input+id=\'c-q-field-id-sf_fcQpMznG7D\'+type=\'hidden\'+x-model=\'values.sf_fcQpMznG7D\'></div>+++<div+class=\'c-q-submit\'+rv-show=\'buttonsVisible\'><div+class=\'c-q-steps\'><button+type=\'button\'+class=\'c-q-btn-prev+c-q-btn-secondary\'+rv-on-click=\'stepPrev\'+rv-enabled=\'stepPrevEnabled\'+rv-tabindex=\'stepPrevEnabled\'+rv-show=\'stepPrevVisible\'+data-lang-text=\'label.prev\'>Back</button>+<button+type=\'button\'+class=\'c-q-btn-next\'+rv-on-click=\'stepNext\'+rv-enabled=\'stepNextEnabled\'+rv-tabindex=\'stepNextEnabled\'+rv-show=\'stepNextVisible\'+data-lang-text=\'label.next\'>Next</button></div>+<button+type=\'button\'+class=\'c-q-submit-btn\'+rv-on-click=\'surveySubmit\'+rv-enabled=\'submitEnabled\'+rv-tabindex=\'submitEnabled\'+rv-show=\'submitVisible\'+data-lang-text=\'label.submit\'>Lähetä</button></div></form><button+type=\'button\'+class=\'c-q-close-x\'+rv-on-click=\'surveyClose\'+aria-label=\'Close+Survey\'+data-lang-label=\'a11y.survey-close\'></button></div>\n</aside>|values|auto_submit|steps|numeric|dl|chars_max|${dl::page.pageInfo.pageName}|wa-survey-submit|value_trait_map|assoc|q_names|q_vals|sel_g|sw|https://www.hs.fi/u/oma/tilaa/kiitos/hs-|sw-not|https://www.hs.fi/u/oma/tilaa/kiitos/hs-digi-nayte|.ab-test-nav-profile-button|js-XIocLrJLNX94jLuSenSQ-1727874134|${targ.cust/isLoggedIn}|LoggedIn|${targ.cust/isSubscriber}|Subscriber|${targ.rand/r100}|31|${v.sels::a-hzYzlUnhDH::c}|https://www.hs.fi/|js-H0IG0pjG57SZDdRWgK2X-1732277208|${v.sels::a-ZlXJtDXr5t::c}|js-xxxdldtcM437KDOxUyLG-1724140755|hs.fi|${v.sels::a-DmWe1dbaXQ::c}|su-6SWS7m7zpPOZ|sf_mj077oKM7K|Kuinka+helppoa+ostaminen+oli?|Auta+meitä+kehittämään+palvelua|sf_YMBPLKvQNJ|Mikä+tilaamisessa+tuntui+hankalalta?|${qfv::sf_mj077oKM7K}|sf_uJufJhpNaF|_c_q_su_6SWS7m7zpPOZ|<style+class=\'c-q-theme-style\'+data-survey=\'su-6SWS7m7zpPOZ\'+media=\'not+all\'+data-c-q-style-nonce>/*+CSS+Variables+used+by+Basic+Survey+Theme+*/\n.c-q-vars+{\n\n++/*+general+colors+for+the+survey+UI+"chrome"+*/\n++--bgcolor:+#fff;+/*+white+background+by+default+*/\n++--text-color:+#444;+/*+dark+grey+text+*/\n++--gray-1:+#333;\n++--gray-2:+#777;\n++--gray-3:+#aaa;\n++--gray-4:+#c0c0c0;\n++--gray-5:+#ddd;\n\n++/*+these+colors+affect+most+buttons+in+the+survey+*/\n++--btn-primary-bgcolor:+#010080;+/*+submit+buttons,+etc+(navy+by+default)+*/\n++--btn-primary-fgcolor:+#fff;+/*+white+*/\n++--btn-secondary-bgcolor:+#010080;+/*+most+other+buttons+(navy+by+default)+*/\n++--btn-secondary-fgcolor:+#fff;+/*+white+*/\n\n++/*+color+of+focus+outlines+for+numeric+rating+and+\'blocky+buttons\'+radios+*/\n++--input-focus-color:+#bf90ff;\n\n++/*+should+most+survey+content+be+centered+or+left-aligned?+*/\n++--align-horiz:+left;+/*+\'center\'+likely+better+if+multiple+questions+*/\n\n++/*+control+over+the+animation+used+to+show/hide+the+survey+*/\n++--anim-enter-duration:+0.5s;+/*+how+fast+should+the+survey+fade/slide+in?+*/\n++--anim-exit-duration:+0.5s;+/*+how+fast+should+the+survey+fade/slide+out?+*/\n++--anim-enter-delay:+0s;+/*+don\'t+use+this+to+delay+when+the+survey+appears+*/\n++--anim-exit-delay:+0.5s;+/*+a+small+delay+here+feels+more+natural+*/\n\n++/*+colors+for+the+"smiley/frowny"+question+type+*/\n++--btn-rating-icon-color-1:+#f51120;+/*+red++*/\n++--btn-rating-icon-color-2:+#fd870d;+/*+orange+*/\n++--btn-rating-icon-color-3:+#ffca3d;+/*+neutral+yellow+*/\n++--btn-rating-icon-color-4:+#77d62f;+/*+light+green+*/\n++--btn-rating-icon-color-5:+#37b647;+/*+dark+green+*/\n++--btn-rating-icon-color-n:+cadetblue;+/*+neutral+color+*/\n}\n\n/*+\n++show+survey+"inline"+(as+opposed+to+in+a+"modal"+overlay)+\n++(this+is+the+"small+screen"+version,+see+@media+block+below+for+larger)\n*/\n.c-q-survey.c-q-inline+{\n++++/*+position+-+"docked"+10px+from+bottom+of+page+*/\n++++position:+fixed;\n++++bottom:+10px;\n++++margin-left:+10px;\n++++margin-right:+10px;\n++++z-index:+2147483647;\n++++/*+size+*/\n++++min-width:+250px;\n++++width:+calc(100%25+-+20px);\n++++height:+auto;\n++++box-sizing:+border-box;\n++++/*+styling+*/\n++++background-color:+var(--bgcolor);\n++++border:+2px+solid;\n++++border-color:+var(--gray-3);\n++++border-radius:+5px;\n++++padding:+15px+20px;\n++++filter:+drop-shadow(2px+2px+2px+var(--gray-4));\n}\n/*+show+survey+"inline"+-+overrides+for+non-small+screens+*/\n@media+screen+and+(min-width:+600px)+{\n++.c-q-survey.c-q-inline+{\n++++bottom:+20px;\n++++left:+0;\n++++right:+0;\n++++margin:+auto;\n++++width:+50%25;\n++++min-width:+550px;\n++++max-width:+850px;\n++}\n}\n/*+entrance+animation+*/\n.c-q-survey.c-q-inline.c-q-animate-in:not(.c-q-submitted)+{\n++++animation:+c-q-fadeIn+var(--anim-enter-duration)+ease+backwards;\n++++animation-delay:+var(--anim-enter-delay);\n}\n/*+exit/hide+animation+*/+\n.c-q-survey.c-q-inline.c-q-animate-out.c-q-submitted+{\n++++animation:+c-q-fadeOut+var(--anim-exit-duration)+ease+forwards;\n++++animation-delay:+var(--anim-exit-delay);\n}\n\n@keyframes+c-q-fadeIn+{\n++from+{opacity:0;+transform:+translateY(80px)+translateX(0);}\n++to+{opacity:1;+transform:+translateY(0)+translateX(0)}\n}\n@keyframes+c-q-fadeOut+{\n++from+{opacity:1;+visibility:+visible;+transform:+translateY(0)+translateX(0);++}\n++to+{opacity:0;+visibility:+hidden;+transform:+translate3d(0,+100%25,+0);+}\n}\n\n@keyframes+c-q-appear+{\n++from+{opacity:0;+visibility:+hidden;+}\n++to+{opacity:1;+visibility:+visible;+}\n}\n\n.c-q-appear-anim+{\n++animation:+c-q-appear+var(--anim-enter-duration)+ease+backwards;\n}\n\n.c-q-heading+{\n++background-repeat:+no-repeat;\n++background-position:+center;\n++background-size:+contain;\n++margin-bottom:+10px;\n++color:+var(--text-color);\n}\n\n.c-q-farewell+{\n++text-align:+center;\n++font-size:+15px;\n++padding:+15px+10px;\n}\n\n/*+Basic+survey+theme+*/\n.c-q-field+{\n++display:+block;\n++margin-bottom:+10px;\n}\n.c-q-survey+.c-q-field-label+{\n++font-size:+14px;\n++display:+block;\n++color:+var(--text-color);\n++margin-bottom:+5px;\n++text-align:+var(--align-horiz);\n++border:+none;\n++font-weight:+500;\n}\n\n.c-q-field-subtitle+{\n++display:+block;\n++color:+var(--gray-2);\n}\n\n\n/*+for+randomizing+the+order+of+field+options/answers,+CSS+\'order\'+property+*/\n/*+NOTE:+possibly+these+should+apply+to+all+radio+buttons,+as+opposed+to+just+randomly-ordered+ones+*/\n.c-q-has-random-items+{\n++display:+flex;+/*+so+CSS+\'order\'+property+(set+at+runtime)+will+have+an+effect+*/\n++flex-wrap:+wrap;\n}\n.c-q-has-random-items+.c-q-field-option+{\n++display:+flex;\n++width:+100%25;+/*+so+each+option+takes+up+a+whole+line+*/\n}\n.c-q-has-random-items+.c-q-field-option.c-q-radio-group-item+{\n++align-items:+start;+/*+for+alignment+of+radio+button+to+its+label+*/\n}\n\n\n/*+normal+text+inputs/textareas+*/\n.c-q-input-text+{\n++width:+100%25;\n++padding:+2px+5px;\n++border-color:+var(--gray-2);\n++border-radius:+4px;\n}\n.c-q-input-text:focus+{\n++outline:+none;\n}\n/*+normal+checks/radios+*/\n.c-q-radio-group,+.c-q-check-group+{\n++margin-bottom:+10px;\n}\n.c-q-radio-label,+.c-q-check-label+{\n++padding-left:+4px;\n++margin-bottom:+0;\n}\n\n.c-q-html-check+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-html-label+{\n++margin-bottom:+10px;\n}\n.c-q-html-group+{\n}\n\n/*+submit+button+*/\n.c-q-steps+{\n++display:+inline-block;\n}\n.c-q-submit+{\n++margin-top:+5px;\n++text-align:+var(--align-horiz);\n}\n.c-q-submit+button+{\n++background-color:+var(--btn-primary-bgcolor);\n++color:+var(--btn-primary-fgcolor);\n++border-radius:+4px;\n++border-color:+var(--btn-primary-bgcolor);\n++border-style:+solid;\n++padding:+5px+10px;\n++box-sizing:+border-box;\n++border-width:+1px;\n++cursor:+pointer;\n++margin:+0;\n++text-align:+center;\n++text-decoration:+none;\n++font-size:+16px;\n++padding:+8px+20px;\n}\n.c-q-submit+button:disabled+{\n++opacity:+0.6;\n++cursor:+not-allowed;\n}\n.c-q-submit+button.c-q-btn-secondary+{\n++background-color:+var(--btn-primary-fgcolor);\n++color:+var(--btn-primary-bgcolor);\n}\nbutton.c-q-btn-prev:before+{\n++content:+\'‹\';\n++padding-right:+5px;\n}\nbutton.c-q-btn-next:after+{\n++content:+\'›\';\n++padding-left:+5px;\n}\n\n/*+dismiss+button,+styled+as+an+"X"+at+top+right+*/\n.c-q-close-x+{\n++position:+absolute;\n++top:+0;\n++right:+0;\n++color:+var(--gray-2);\n++font-size:+20px;\n++font-family:+sans-serif;\n++padding:+10px;\n++background-color:+var(--bgcolor);\n++border:+none;\n++cursor:+pointer;\n}\n.c-q-close-x:before+{\n++content:++"⨂";\n}\n\n/*+SPECIAL+INPUT+STYLE:+Radio+buttons,+styled+as+\'blocky+buttons\',+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap+*/\n.c-q-radio-group.c-q-radio-group-buttons+input[type=\'radio\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-radio-group.c-q-radio-group-buttons+label+{\n++++display:+inline-block;\n++++background-color:+var(--bgcolor);\n++++padding:+3px+9px;\n++++border:+2px+solid;\n++++border-color:+var(--gray-3);\n++++border-radius:+5px;\n++++margin:+2px;\n++++cursor:+pointer;\n++++color:+var(--gray-1);\n++++width:+100%25;\n}\n.c-q-radio-group.c-q-radio-group-buttons+input[type="radio"]:checked+%2B+label+{\n++color:+var(--btn-primary-fgcolor);\n++background-color:+var(--btn-secondary-bgcolor);\n++border-color:+var(--btn-secondary-bgcolor);\n}\n.c-q-radio-group.c-q-radio-group-buttons+input[type="radio"]:focus+%2B+label+{\n++border-color:+var(--input-focus-color);\n}\n.c-q-radio-group.c-q-radio-group-buttons+>+.c-q-radio-group-item+{\n++text-align:+var(--align-horiz);\n}\n.c-q-btn,.c-q-close-x,+.c-q-submit+button+{\n++outline-color:+var(--input-focus-color);\n}\n\n\n/*+SPECIAL+INPUT+STYLE:+Checkbox+buttons,+styled+as+\'blocky+buttons\',+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap+*/\n.c-q-check-group.c-q-check-group-buttons+input[type=\'checkbox\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-check-group.c-q-check-group-buttons+label+{\n++++display:+inline-block;\n++++background-color:+var(--bgcolor);\n++++padding:+3px+9px;\n++++border:+1px+solid;\n++++border-color:+var(--gray-3);\n++++border-radius:+5px;\n++++margin:+2px;\n++++cursor:+pointer;\n++++color:+var(--gray-1);\n++++width:+100%25;\n++++font-size:+16px;\n}\n.c-q-check-group.c-q-check-group-buttons+input[type="checkbox"]:checked+%2B+label+{\n++color:+var(--btn-primary-fgcolor);\n++background-color:+var(--btn-secondary-bgcolor);\n++border-color:+var(--btn-secondary-bgcolor);\n}\n.c-q-check-group.c-q-check-group-buttons+>+.c-q-check-group-item+{\n++text-align:+var(--align-horiz);\n}\n\n\n.c-q-rating-label-before,+.c-q-rating-label-after+{\n++++padding:+5px;\n}\n\n.c-q-survey+fieldset.c-q-options-fieldset+{\n++display:+block;+/*+TODO+-+was+display:contents+but+resulted+in+uncentered+text+*/\n}\n\n/*+SPECIAL+INPUT+TYPE:+"rating+dots"+(radio+buttons,+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap)+*/\n.c-q-rating-radios+{\n++white-space:+nowrap;\n++display:+flex;\n++align-items:+center;\n}\n.c-q-rating-radios+input[type=\'radio\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-rating-radios+label+{\n++display:+inline-block;\n++background-color:+var(--bgcolor);\n++font-size:+16px;\n++border:+2px+solid+var(--gray-3);\n++border-radius:+50px;\n++margin:+2px;\n++cursor:+pointer;\n++color:+var(--gray-1);\n++flex-grow:+1;\n++text-align:+center;\n++padding-bottom:+4px;\n++padding-top:+4px;\n}\n@media+screen+and+(min-width:+600px)+{\n++.c-q-rating-radios+label+{\n++++padding-top:+8px;\n++++padding-bottom:+8px;\n++}\n}\n.c-q-rating-radios+input[type="radio"]:checked+%2B+label+{\n++background-color:+var(--gray-1);\n++color:+var(--bgcolor);\n}\n.c-q-rating-radios+input[type="radio"]:focus+%2B+label+{\n++border-color:+var(--input-focus-color);\n}\n\n/*+SPECIAL+INPUT+TYPE:+"smileys"+/+emoticons+(radio+buttons,+styled+via+a+similar+approach+as+.custom-control+radios+in+bootstrap)+*/\n.c-q-rating-icons+{\n++text-align:+var(--align-horiz);\n}\n.c-q-rating-icons+input[type=\'radio\']+{\n++opacity:+0;\n++position:+fixed;\n++width:+0;\n}\n.c-q-rating-icons+label+{\n++display:+inline-block;\n++background-color:+var(--bgcolor);\n++cursor:+pointer;\n++color:+var(--gray-1);\n++border:+2px+solid;\n++border-color:+var(--bgcolor);\n++font-size:+40px;\n++border-radius:+50px;\n++line-height:+55px;\n++padding:+0+8px;\n}\n/*+colors+for+each+radio+*/\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-1+{\n++color:+var(--btn-rating-icon-color-1);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-2+{\n++color:+var(--btn-rating-icon-color-2);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-3+{\n++color:+var(--btn-rating-icon-color-3);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-4+{\n++color:+var(--btn-rating-icon-color-4);\n}\n.c-q-rating-icons.c-q-rating-icons-colors+label.c-q-rating-icons-label-5+{\n++color:+var(--btn-rating-icon-color-5);\n}\n.c-q-rating-icons.c-q-rating-icons-neutral+label+{\n++color:+var(--btn-rating-icon-color-n);\n}\n\n/*+show+the+border+for+the+selected+radio+*/\n.c-q-rating-icons+input[type="radio"]:checked+%2B+label+{\n++border-color:+unset;\n}\n/*+use+a+dim+color+for+the+other+radios+(after+one+is+selected)+*/\n.c-q-field-filled+.c-q-rating-icons+input[type="radio"]:not(:checked)+%2B+label+{\n++color:+#33333363;\n}\n/*+the+emoticon+itself+*/\n.c-q-emoticon+{\n++overflow:+visible;\n++width:+1em;\n++height:+1em;\n++display:+inline-block;\n++vertical-align:+-0.125em;\n}\n\n\n/*+SPECIAL+INPUT+TYPE:+"1-5+Stars"+styled+rating+widgets+*/\n.c-q-rating-stars-container+{\n++display:+flex;\n++justify-content:+var(--align-horiz);\n}\n.c-q-rating-stars+{+\n++font-size:+38px;\n++border:+none;\n++float:+left;\n}\n.c-q-rating-stars+>+label+>+svg+{\n++overflow:+visible;\n}\n.c-q-rating-stars+>+input+{+\n++display:+none;+/*+hide+"normal"+radio+ui+*/\n}\n.c-q-rating-stars+>+label+{+\n++color:+var(--gray-5);+\n++float:+right;+\n++padding-right:+10px;\n++background-color:+unset+!important;+/*+in+case+host+page+defines+a+background+color+for+radio+labels+*/\n}\n.c-q-rating-stars+>+input:checked+~+label,+/*+show+gold+star+when+clicked+*/\n.c-q-rating-stars:not(:checked)+>+label:hover,+/*+hover+current+star+*/\n.c-q-rating-stars:not(:checked)+>+label:hover+~+label+{+color:+#FFD700;++}+/*+hover+previous+stars+in+list+*/\n\n.c-q-rating-stars+>+input:checked+%2B+label:hover,+/*+hover+current+star+when+changing+rating+*/\n.c-q-rating-stars+>+input:checked+~+label:hover,\n.c-q-rating-stars+>+label:hover+~+input:checked+~+label,+/*+lighten+current+selection+*/\n.c-q-rating-stars+>+input:checked+~+label:hover+~+label+{+color:+#FFED85;++}+\n\n\n/*+when+the+survey+is+displayed+in+a+"modal"+overlay/dialog+*/\n.c-q-modal+{\n++display:+none;\n++position:+relative;\n++font-family:+-apple-system,BlinkMacSystemFont,avenir+next,avenir,helvetica+neue,helvetica,ubuntu,roboto,noto,segoe+ui,arial,sans-serif;\n}\n.c-q-modal.is-open+{\n++display:+block;\n++z-index:+9999;\n}\n.c-q-modal-overlay+{\n++position:+fixed;\n++top:+0;\n++left:+0;\n++right:+0;\n++bottom:+0;\n++background:+rgba(0,0,0,0.2);\n++display:+flex;\n++justify-content:+center;\n++align-items:+center;\n}\n.c-q-modal-container+{\n++background-color:+var(--bgcolor);\n++padding:+30px;\n++max-width:+700px;\n++max-height:+100vh;\n++border-radius:+6px;\n++overflow-y:+auto;\n++box-sizing:+border-box;\n++border:+1px+solid+rgba(0,0,0,0.5);\n++box-shadow:+0+3px+7px+rgb(0+0+0+/+30%25);\n++opacity:+1;\n++position:+relative;\n}\n\n.c-q-survey+.c-q-a-sr-only,+.c-q-survey+.c-q-radio-group-focus+{\n++border:+0;\n++clip:+rect(0+0+0+0);\n++height:+1px;\n++margin:+-1px;\n++overflow:+hidden;\n++padding:+0;\n++position:+absolute;\n++width:+1px;\n}\n\n/*+give+"custom+radio+buttons"+a+different+appearance+when+none+of+the+radios+in+the+"radiogroup"+have+been+checked,+as+an+extra+"affordance"+for+accessibility+(see+#904)+*/\n.c-q-survey+[role=\'radiogroup\'].c-q-radio-group-unfilled+[role=\'radio\']+{\n++border:+2px+solid;\n++border-color:+var(--input-focus-color);\n}\n\n.c-q-input.c-q-input-text:focus-visible,+.c-q-input.c-q-input-select:focus-visible+{\n++outline-color:+var(--input-focus-color);\n++outline-width:+2px;\n++outline-style:+solid;\n}\n\n.c-q-survey+.c-q-a-sr-only-focusable+{\n++position:+static;\n++width:+auto;\n++height:+auto;\n++overflow:+visible;\n++clip:+auto;\n++white-space:+normal;\n}\n\n.c-q-survey+fieldset+{\n++min-width:+0;\n++padding:+0;\n++margin:+0;\n++border:+0;++\n}\n\n@keyframes+cqFadeIn+{\n++++from+{+opacity:+0;+}\n++++++to+{+opacity:+1;+}\n}\n@keyframes+cqFadeOut+{\n++++from+{+opacity:+1;+}\n++++++to+{+opacity:+0;+}\n}\n@keyframes+cqSlideIn+{\n++from+{+transform:+translateY(15%25);+}\n++++to+{+transform:+translateY(0);+}\n}\n@keyframes+cqSlideOut+{\n++++from+{+transform:+translateY(0);+}\n++++to+{+transform:+translateY(-10%25);+}\n}\n\n.c-q-modal-slide+{\n++display:+none;\n}\n\n.c-q-modal-slide.is-open+{\n++display:+block;\n}\n\n.c-q-modal-slide[aria-hidden="false"]+.c-q-modal-overlay+{\n++animation:+cqFadeIn+.35s+cubic-bezier(0.0,+0.0,+0.2,+1);\n}\n\n.c-q-modal-slide[aria-hidden="false"]+.c-q-modal-container+{\n++animation:+cqSlideIn+.35s+cubic-bezier(0,+0,+0.2,+1);\n}\n\n.c-q-modal-slide[aria-hidden="true"]+.c-q-modal-overlay+{\n++animation:+cqFadeOut+.35s+cubic-bezier(0.0,+0.0,+0.2,+1);\n}\n\n.c-q-modal-slide[aria-hidden="true"]+.c-q-modal-container+{\n++animation:+cqSlideOut+.35s+cubic-bezier(0,+0,+0.2,+1);\n}\n\n.c-q-modal-slide+.c-q-modal-container,\n.c-q-modal-slide+.c-q-modal-overlay+{\n++will-change:+transform;\n}\n\ntextarea.c-q-input-text+%2B+.c-q-field-status-msg+{\n++color:+var(--gray-1);\n++text-align:+end;\n++margin-top:+-4px;\n++margin-bottom:+calc(-1lh+%2B+4px);\n}\ntextarea.c-q-input-text+%2B+.c-q-field-status-msg:after+{\n++content:+\' \';\n}\ntextarea.c-q-input-text+%2B+.c-q-field-status-msg+>+span+{\n++visibility:+hidden;\n}\ntextarea.c-q-input-text:focus+%2B+.c-q-field-status-msg+>+span:not(:empty)+{\n++visibility:+visible;\n++animation:+cqFadeIn+1s+cubic-bezier(0.0,+0.0,+0.2,+1);\n}</style><style+class=\'c-q-theme-style\'+data-survey=\'su-6SWS7m7zpPOZ\'+media=\'not+all\'+data-c-q-style-nonce>/*+CSS+Variables+used+by+Basic+Survey+Theme+*/\n.c-q-survey+{\n\n++++/*+general+colors+for+the+survey+UI+"chrome"+*/\n++++--bgcolor:+#fff;+/*+white+background+by+default+*/\n++++--text-color:+#444;+/*+dark+grey+text+*/\n++++--gray-1:+#333;\n++++--gray-2:+#777;\n++++--gray-3:+#aaa;\n++++--gray-4:+#c0c0c0;\n++++--gray-5:+#ddd;\n++\n++++/*+these+colors+affect+most+buttons+in+the+survey+*/\n++++--btn-primary-bgcolor:+#000000;+/*+submit+buttons,+etc+(navy+by+default)+*/\n++++--btn-primary-fgcolor:+#fff;+/*+white+*/\n++++--btn-secondary-bgcolor:+#010080;+/*+most+other+buttons+(navy+by+default)+*/\n++++--btn-secondary-fgcolor:+#fff;+/*+white+*/\n++\n++++/*+color+of+focus+outlines+for+numeric+rating+and+\'blocky+buttons\'+radios+*/\n++++--input-focus-color:+#219ebc;\n}\n\n.c-q-survey+.c-q-close-x+{\n++++color:+#000000;\n\n}\n.c-q-survey+.c-q-submit+button:disabled+{\n++++opacity:+0.9;\n}\n.c-q-radio-group+.c-q-field-option.c-q-radio-group-item+{\n++++align-items:+baseline+!important;\n}\n</style><aside+class="c-q-vars+c-q-survey+c-q-inline+c-q-animate-in+c-q-animate-out"+role="dialog"+aria-labelledby="c-q-field-id-sf_mj077oKM7K-label"+aria-modal="false"+id="_c_q_su_6SWS7m7zpPOZ">\n<div+class=\'c-q-container+c-q-survey-su-6SWS7m7zpPOZ+c-q-theme-st-iuMzbHF0lPetzE0\'><div+class=\'c-q-heading\'></div><form+class=\'c-q-survey+c-q-su-6SWS7m7zpPOZ\'>+<div+class=\'c-q-field+c-q-appear-anim\'+data-field="sf_mj077oKM7K"+class="{\'c-q-field-filled\':+values.sf_mj077oKM7K}"+rv-show="visible.sf_mj077oKM7K"><fieldset+class=\'c-q-options-fieldset\'>\n	<legend+id=\'c-q-field-id-sf_mj077oKM7K-label\'+class=\'c-q-field-label+c-q-field-title\'><span+data-lang-text=\'sf_mj077oKM7K.title\'>Kuinka+helppoa+ostaminen+oli?</span>+<span+class=\'c-q-field-subtitle\'+data-lang-text=\'sf_mj077oKM7K.subtitle\'>Auta+meitä+kehittämään+palvelua</span></legend>\n	<div+class=\'c-q-rating-stars-container\'>\n	<div+class=\'c-q-rating-stars+\'+>\n		<input+rv-checked=\'values.sf_mj077oKM7K+%7C+integer\'+data-field=\'sf_mj077oKM7K\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_mj077oKM7K_5\'+name=\'sf_mj077oKM7K\'+value=\'5\'/>\n<label+for=\'sf_mj077oKM7K_5\'+aria-label=\'5+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-5\'+data-lang-label=\'a11y.emoticons-5-5\'>5+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_mj077oKM7K+%7C+integer\'+data-field=\'sf_mj077oKM7K\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_mj077oKM7K_4\'+name=\'sf_mj077oKM7K\'+value=\'4\'/>\n<label+for=\'sf_mj077oKM7K_4\'+aria-label=\'4+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-4\'+data-lang-label=\'a11y.emoticons-5-4\'>4+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_mj077oKM7K+%7C+integer\'+data-field=\'sf_mj077oKM7K\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_mj077oKM7K_3\'+name=\'sf_mj077oKM7K\'+value=\'3\'/>\n<label+for=\'sf_mj077oKM7K_3\'+aria-label=\'3+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-3\'+data-lang-label=\'a11y.emoticons-5-3\'>3+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_mj077oKM7K+%7C+integer\'+data-field=\'sf_mj077oKM7K\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_mj077oKM7K_2\'+name=\'sf_mj077oKM7K\'+value=\'2\'/>\n<label+for=\'sf_mj077oKM7K_2\'+aria-label=\'2+Stars\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-2\'+data-lang-label=\'a11y.emoticons-5-2\'>2+Stars</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label><input+rv-checked=\'values.sf_mj077oKM7K+%7C+integer\'+data-field=\'sf_mj077oKM7K\'+rv-on-change=\'onFieldValue\'+type=\'radio\'+id=\'sf_mj077oKM7K_1\'+name=\'sf_mj077oKM7K\'+value=\'1\'/>\n<label+for=\'sf_mj077oKM7K_1\'+aria-label=\'1+Star\'><span+class=\'c-q-a-sr-only\'+data-lang-text=\'a11y.emoticons-5-1\'+data-lang-label=\'a11y.emoticons-5-1\'>1+Star</span>+<svg+aria-hidden="true"+focusable="false"+data-prefix="fas"+data-icon="smile"+role="img"+xmlns="http://www.w3.org/2000/svg"+viewBox="0+0+496+512"+class="c-q-emoticon"><path+fill="currentColor"+d="M259.3+17.8L194+150.2+47.9+171.5c-26.2+3.8-36.7+36.1-17.7+54.6l105.7+103-25+145.5c-4.5+26.3+23.2+46+46.4+33.7L288+439.6l130.7+68.7c23.2+12.2+50.9-7.4+46.4-33.7l-25-145.5+105.7-103c19-18.5+8.5-50.8-17.7-54.6L382+150.2+316.7+17.8c-11.7-23.6-45.6-23.9-57.4+0z"+class=""></path></svg>+</label>\n	</div>\n	<div+style=\'clear:both\'></div>\n</div>\n</fieldset></div>++<div+class=\'c-q-field+c-q-appear-anim\'+data-field="sf_YMBPLKvQNJ"+class="{\'c-q-field-filled\':+values.sf_YMBPLKvQNJ}"+rv-show="visible.sf_YMBPLKvQNJ"><label+id=\'c-q-field-id-sf_YMBPLKvQNJ-label\'+for=\'c-q-field-id-sf_YMBPLKvQNJ\'+class=\'c-q-field-label+c-q-field-title\'><span+data-lang-text=\'sf_YMBPLKvQNJ.title\'>Mikä+tilaamisessa+tuntui+hankalalta?</span>+<span+class=\'c-q-field-subtitle\'+data-lang-text=\'sf_YMBPLKvQNJ.subtitle\'></span></label>\n<textarea+id=\'c-q-field-id-sf_YMBPLKvQNJ\'+maxlength=\'1000\'+rv-value=\'values.sf_YMBPLKvQNJ\'+rv-on-input=\'onFieldValue\'+data-field=\'sf_YMBPLKvQNJ\'+type=\'text\'+class=\'c-q-input+c-q-input-text+\'++placeholder=\'Vastauksesi\'+rows=\'2\'></textarea></div>++<div+class=\'c-q-field+c-q-appear-anim\'+data-field="sf_uJufJhpNaF"+class="{\'c-q-field-filled\':+values.sf_uJufJhpNaF}"+rv-show="visible.sf_uJufJhpNaF"><label+id=\'c-q-field-id-sf_uJufJhpNaF-label\'+for=\'c-q-field-id-sf_uJufJhpNaF\'+class=\'c-q-field-label+c-q-field-title\'><span+data-lang-text=\'sf_uJufJhpNaF.title\'></span>+<span+class=\'c-q-field-subtitle\'+data-lang-text=\'sf_uJufJhpNaF.subtitle\'></span></label>\n<input+id=\'c-q-field-id-sf_uJufJhpNaF\'+type=\'hidden\'+x-model=\'values.sf_uJufJhpNaF\'></div>+++<div+class=\'c-q-submit\'+rv-show=\'buttonsVisible\'><div+class=\'c-q-steps\'><button+type=\'button\'+class=\'c-q-btn-prev+c-q-btn-secondary\'+rv-on-click=\'stepPrev\'+rv-enabled=\'stepPrevEnabled\'+rv-tabindex=\'stepPrevEnabled\'+rv-show=\'stepPrevVisible\'+data-lang-text=\'label.prev\'>Back</button>+<button+type=\'button\'+class=\'c-q-btn-next\'+rv-on-click=\'stepNext\'+rv-enabled=\'stepNextEnabled\'+rv-tabindex=\'stepNextEnabled\'+rv-show=\'stepNextVisible\'+data-lang-text=\'label.next\'>Next</button></div>+<button+type=\'button\'+class=\'c-q-submit-btn\'+rv-on-click=\'surveySubmit\'+rv-enabled=\'submitEnabled\'+rv-tabindex=\'submitEnabled\'+rv-show=\'submitVisible\'+data-lang-text=\'label.submit\'>Lähetä</button></div></form><button+type=\'button\'+class=\'c-q-close-x\'+rv-on-click=\'surveyClose\'+aria-label=\'Close+Survey\'+data-lang-label=\'a11y.survey-close\'></button></div>\n</aside>|re|https:\\/\\/www\\.hs\\.fi\\/tilaus\\/.%2B\\/kiitos\\/|https://www.hs.fi/u/oma/tilaa/|.ab-test-hard-paywall-title|js-WzEdgyKyh8OFgTnwCfE0-1738660508|confirm|${v.sels::a-JkfFeSEDP1::c}|js-LAiIl91JykA4P4gEKCPI-1738660508|js-CuYBcurQuiPkaSmhUNKd-1740139337|https://test.hs.fi/suomi/art-2000010515972.html|art-|https://test.hs.fi/s|.ab-hs-digi-button|js-TREEhWAvZ2ViiF0Hp6LT-1749618702|${v.sels::a-1zhM9p5gMa::c}|js-d0HEFw70Qdt995gQjxNU-1749627168|js-JQJ4DhnzM70JgtGqBGEy-1749627168|https://kampanjat.hs.fi/tilaa/|[data-ab="hard-paywall"]|js-WzEdgyKyh8OFgTnwCfE0-1750924733|${targ.ua/os}|i|m|${v.sels::a-8MxYZEQSzU::c}|js-n7tENWaxEdGhjkJiS4Dc-1750924733|js-V3HqmOQAONCQTI1ph7Tt-1750924733|js-3tjRvxpTwBJGo24sBxN1-1750924733|${v.loc}|sub-not|?ab-test=HS25-|re-not|/tutkiva/%7C/visio/%7C/maailma/%7C/politiikka/%7C/talous/|www.hs.fi+all+(except+tutkiva)|js_id|js-mBpVeboXukBhuXghZLhr|[data-ab="offer-used-error-modal"]|js-2nUdrfXeidXc4tGsgsSc-1755170836|${v.sels::a-3sqAucqDjkrR::c}|js-byi18mnb4o7xAluBNUja-1755170836|https://www.hs.fi/tilaus/|js-WzEdgyKyh8OFgTnwCfE0-1756117034|${v.sels::a-SBdF7QI6si::c}|js-LAiIl91JykA4P4gEKCPI-1756117034|js-CuYBcurQuiPkaSmhUNKd-1756117034|js-L6xIGJ03uOy17vKF1bfD-1756117034|js-auidL0xxTlCljeshgx09-1756117034|js-l6lT0kT7pPgB5fal19T4-1756117034|/tutkiva/%7C/visio/%7C/maailma/%7C/politiikka/%7C/talous/|www.hs.fi+articles+except+tutkivat|#lisaa|js-xby7SLcXZIpBXuXQSOO4-1754982659|${v.sels::a-0GeSRnvACI::c}|js-j7F90kNILNcobEHSOFMG-1754982659|js-lbgDtCAZzAXAEyQ9iywV-1754983057|https://kampanjat.hs.fi/tutustu/helsingin-sanomat-digi-tarjous/|[data-ab="app-download-banner"]|js-N92HpHWB1sQvjVxmIvLs-1755854956|${v.sels::a-ubDfHDfHPI::c}|js-IPRyDeaZcQDJPWbgJ0tM-1755854956|js-MBFpfmpnSTNZ21tp75YX-1755854956|js-tcNMXVEvaIua783tfLmz-1755854956|[data-testid="main-lane-container"]+>+article.list|[data-testid="main-lane-container"]+>+article.list|js-H0IG0pjG57SZDdRWgK2X-1756978172|${targ.ua/mo}|${v.sels::a-YCGg52869M::c}|/art-|hs.fi+frontpage|[data-testid="main-lane-container"]+>+article.list|js-WzEdgyKyh8OFgTnwCfE0-1756718341|${v.sels::a-QpSwuvtF7l::c}|js-LAiIl91JykA4P4gEKCPI-1756713389|js-CuYBcurQuiPkaSmhUNKd-1756716745|js-L6xIGJ03uOy17vKF1bfD-1756716745|js-auidL0xxTlCljeshgx09-1756718341|/tutkiva/%7C/visio/%7C/maailma/%7C/politiikka/%7C/talous/|www.hs.fi+tutkivat|[data-ab="article-body"]|js-6n1RTqrlS23ZWbk4jjYf-1756899461|${st::=userAdParams:user_is_logged_in}|false|Not_LoggedIn|metered|${v.sels::a-ijfonTLQT6AI::c}|js-AW2BzjeBLbIbzK04M8Q8-1756898738|js-Kxnv6jH2xzVkOCwZJUid-1756899382|https://www.hs.fi/paakirjoitukset/|HS+article+pages|js-fZMMbMYuxKfsqGYSCMkd|.ab-test-hard-paywall-subscribe-button|js-4MrY6KAvdzX1gllgzcJz-1741095692|${v.sels::a-JJetqsaXHjuv::c}|js-h1uk3dXPTHGwYoR0IexJ-1741095760|https://apps-html.hs.fi/pelit/art-2000010961995.html|[data-testid="modal-button-container"]|js-6NUo2fgz3OYvATtdfvrX-1745830242|${v.sels::a-gkHBEiSOkFZ2::c}|js-YcVXpTYKzS4uADV5huwi-1745830242|https://test.hs.fi/tilaus/hs-digi-jatkuva-single-test/?aid=G0IQRQJ3YGLJ4|wa-goal|${v.loc.path}|mp|*/art-*|event|dl_eventName|articleScroll|scrolledTo|/100/|wa-reward|/click+subscribe/|click+login|login|login+done|conductricsg|g|detail|valueSelectorType|valueSelector|purchase|brand|Helsingin+Sanomat|conductricsg.v|/tilaa/|gtm.linkClick|Helsingin+Sanomat|aid|/G4TTYLZXHVRWS%7CGUTXP963T7QG9%7CGIXVMLOGB5XBO%7CG33TCO8PXGGQJ%7CGTTX92ZKVGXGV%7CG6B28FF59K263%7CG7UKHYXG7D3Z5%7CGQ4H3XH69DZY2%7CGZHWG5I3IV5MG%7CG8W4W3LOUQFI7%7CGUMDQXYIS8JTM%7CGMBBOSXL5RKGH%7CG9JM5KJ7ZNX9Q%7CGKQ7IWF4W39ZM%7CG45VPHOK2M8DP%7CGMJQNNLF4XKGD%7CGCGD5VW265RTH%7CGNHRFO5M3Z3ZH/|application+download|accept|application+download|dismiss|Helsingin+Sanomat|/GI6TVNZUTDHTG%7CGQGHONHHUI8PR%7CGU9LH5SRJ7VSL%7CGQMKBFO93CF8Z%7CGLFQ2TY7D2HWJ%7CGY5DRWQRDOB5Z%7CGC5VGQCYLTU84%7CGK8HTBY5VDLK8%7CGWR84WQ4XCK8U%7CGMBD24CGU8XO9%7CGGWLORYTBVNS6%7CGMHDYKFMMD7N3%7CGOHNUXS56QS93%7CG8JX2Q5Y2LPUF%7CGTTLP98QFLWRO%7CGD5H3I8W3M6J3%7CG3X5ZQT6TGCKG%7CGZ6NPB89MKN4H%7CGIRGLZII8RB4G/|Conductrics|conductrics_event|eventLabel|/script+error/|/script+failed/|${dl::ecommerce.aid}|GC6SQ8SRXDVUC|GFB6FNRRKZZQJ|G6QWCUNRNVIKP|GD5H3I8W3M6J3|GBGT8CB9YKZUR|GDHBS76HJXY4H|gtm.load|giosg|/Lähetä+clicked/|GFYTLWU9LP5BP|vs|${gc::g-EZVMtdANpx}|gt|${gc::g-b3iGMY1S5x}|G9GHP54BPVKMY%7CGGK385ND7WZQR%7CGXNGT7C2P97OB%7CGXNGT7C2P97OB%7CGK3UG8JRS954B|/click+subscribe+from+quarantine+offer/|mdn_only|flow|f-AXhbfRaelo|acc|api-rEBOUSkIQDfzLyWuZIpa|rt|https://api-sanoma.conductrics.com/ac-HxAwTabhao/v3/agent-api/js/f-AXhbfRaelo/dt-SuukBPeXknRdSFajR8ddXY7aW3Vmwl?apikey=api-rEBOUSkIQDfzLyWuZIpa|js|la|ds|b|eph|tt|x-gcp-bq/hs_p2p_lightgbm|x-gcp-bq/hs_p2p|rand/r100|ttt|mvt|3.7.15|250318.23|d|dt-SuukBPeXknRdSFajR8ddXY7aW3Vmwl|di|#d1|dn|HS+production|27866^S9X2HP|SAC2NG|0|2S|SQY0X0|STDGPN|MFJ4XP7Y|1|1Q1C3|1Q1C3|8TE|48TA|NC7|EJ|14P|N7Y|1C3|1CIJ|N4K|QC|28DW|N9B|H6|1PW|ND8|CA|SU|N3U|GE|1G6|NBY|GT|1JX|N33|KS|3DG|N5Z|DN|1MN|N6P|GL|1LL|N4J|EQ|26U|N54|DU|1LM|N4X|IF|16H|N20|EW|16O|N6W|ET|11R|N6E|D8|14U|D2L|B1|XX|CO6|8X|ZD|8TX|4L|DN|2FD|E|M|0|1FD97|0|W62Y|0|AZBV|0|59DA|4|1|5PYL|4|3|6|1|L6R3|0|BL0M|4|1|9LQH|4|3|7|2|4|1|J769|0|8VRQ|3|1|ABEJ|3|2|3|1|2|1|EM0J|0|3LG2|2|1|B0KH|2|1|5|0|1|0|2S|SO9N2F|STDG0A|MFIWFHVW|1|1RH25|1RH25|91L|124L|NCC|ED|40V|NBW|JO|3GA|NEF|ND|1H1|NA6|M3|1EP|N2V|FY|1TW|N2P|7W|N2|NE1|8R|2QB|N74|130|5YA|N9N|QN|22R|N7C|QG|2BE|N6Z|R2|1YC|ND2|H1|1G3|NEO|HI|210|N0Q|F8|1WI|NG5|CW|2G2|N8N|GO|1B6|FZS|6U|J6|CJP|57|EX|8QC|2U|6I|1|0|1QR|0|0|1C1|8|C|0|1FJQR|0|Q77S|0|HCPF|3|1|8UID|3|2|4|1|PCIZ|0|F9R5|0|4X64|4|1|ACL1|4|3|6|1|A2RU|3|2|3|1|2|1|GRQ5|0|8EQ3|2|1|8D02|0|2NM9|3|1|5PDT|3|2|7|1|5|0|1|SSP3Y3|MFJ3MMOF|1|MI4I|MI4I|JV1|J4B|JVA|J2M|J91|JYI|8SG|B7T|B74|1|0|5U7|0|0|1|0|5NW|0|0|0|NO3Y|0|7RBL|0|1UM2|0|16TN|0|ELD|5|0|1|S8A|5|0|4|7|1|NSF|4|3|6|1|5WPJ|3|2|3|1|FWSD|0|LYA|0|96E|4|1|CRW|4|3|5|1|FAU3|3|2|4|1|2|1|560J|1|0|1|STETTP|MFJ5ATI7|1|2DF4|2DF4|26G|24S|22X|1GB|1VI|1ZR|22S|21Z|0|2A6F|0|1Q6O|0|19VN|3|1|GB1|3|2|4|1|JZR|0|FC9|0|E4H|4|1|17S|4|3|7|1|4NI|3|2|3|1|2|1|ICS|0|E20|0|9X3|3|1|44X|3|2|6|1|4AS|2|1|5|0|1|0|2S|SSR1BM|2I|A|SW5HAG|SWAXU4|MFJ5C1F8|1|G|1|0|G|0|0|1|0|1|0|0|1|0|0|0|0|1|0|0|0|0|1|0|0|0|0|1|0|0|0|0|1|0|0|0|0|1|0|1|0|0|1|0|0|0|0|1|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|SWAXYX|MFJ5C1QJ|1|1X|1|0|1X|0|0|1|0|0|0|0|1|0|0|0|0|1|0|0|0|0|1|0|1|0|0|1|0|3|0|0|1|0|1|0|0|1|0|0|0|0|1|0|1|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|T0KH7Y|SV5Y8G|0|2S|SDS33D|SKQB2L|1|0|SEVAPR|0|2S|SSEA6G|0|0|2S|SS1824|SXN3G6|A|0|19|19|SYAWPP|SYG5UG|K|K|K|K|K|T1JNS9|C|F|1|T1JNEW|X|X|X|T18PHW|SYGHD2|P|P|P|P|T1WFQ7|1|1E|1E|T2055M|0|1|SSQXTE|SVF3ZB|5K00|1UO0|1UO0|5K00|3PC0|3PC0|1UO0|1UO0|5K00|1UO0|1UO0|1UO0|1JK00|CYO0|4MO00|5K00|1UO0|1UO0|1UO0|CYO0|3PC0|3PC0|3PC0|3PC0|3PC0|3PC0|3PC0|3PC0|3PC0|3PC0|3PC0|3PC0|1JK00|8|4MO00|6Y|1E0|1|1JK|0|0|0|0|0|0|0|1|0|0|255R|1|F|7PR|1|A|RR|1|F|7PR|0|5|1|F|RR|1|U|2R|0|7PR|1|F|2R|0|7PR|1|F|255R|1|F|RR|1|U|3|0|RR|O|2I|RR|1|F|RR|1|F|RR|1|U|3|0|RR|11|2I|5YC1R|1|F|255R|1|5|255R|1|5|5|0|2R|9|2I|2S|1|1UO0|1|1|1|1|1|255R|1|F|255R|1|F|255R|1|F|255R|1|F|255R|1|1E0|255R|1|F|RR|1|F|5|0|2R|1E|2I|LFLR|0|1|3|255R|1|1UO0|RR|1|CYO0|1|1|1|1|1|3|0|2BB|2S|2I|3|0|2BB|2S|2I|9|1|F|5|1|F|LFLR|1|8C|LFLR|1|8C|LFLR|1|P0|5|1|F|7PR|1|5K|1|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|7PR|1|5K|F|2S|2S|15O|1|RS|1|1|1|1|2S|2S|2S|15O|1|RS|1|1|1|1|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|2S|255R|1|F|7PR|1|A|RR|1|F|7PR|0|5|1|F|RR|1|U|2R|0|7PR|1|F|2R|0|7PR|1|F|255R|1|F|RR|1|U|3|0|RR|O|2I|RR|1|F|RR|1|F|RR|1|U|3|0|RR|11|2I|5YC1R|1|F|255R|1|5|255R|1|5|5|0|2R|9|2I|2S|1|1UO0|RR|1|F|5|0|2R|1E|2I|LFLR|0|1|3|255R|1|1UO0|RR|1|CYO0|3|0|2BB|2S|2I|3|0|2BB|2S|2I|9|1|F|T2LQDW|T2LQDV^0.3740605591834356|0.02160782163051495|0.0481371692840105|0.017290971005388966|2.0860476946710538|0.057519771382999935|3.4750263659604257|0.03162952088616042|0.07349643671933959|0.020502272501078195|0.034063630972237496|0.014595165764099855|0.06232679054947651|0.019702130501569493|0.06617373410375077|0.020007937032872545|0.1455077002132198|0.02500083558942478|0.07004763583058332|0.0163541285014822|0.06859488394727377|0.019867549668874173|0.0943819688584072|0.01768376096893664|0.06887836334006808|0.01660442784742598|0.05050494831193612|0.022111055527763882|0.051085545255645785|0.0179384203480589|0.044902612223610805|0.01773356401384083|0.04868851819777602|0.0158465943138691|0.07152872456090577|0.023434271884776578|0.07714057787602188|0.019546949214468395|0.04269671722990477|0.014416775884665793|0.006977633223704172|0.004451510333863275|0.017494926364961357|0.048630883092098245|0.028630018922667033|0.020566414798543153|0.014875490696886531|0.019805373944240902|0.02009588340547698|0.02472743826358722|0.01665379917235326|0.019965718136072477|0.017941840493097272|0.016887979016907955|0.02208642588579341|0.018119895060767964|0.017912250321427636|0.016122995729735388|0.02320407281384239|0.019826474771735977|0.015618539326594757|0.010632071992106723|0.0012615742048183026|0.008325935031130213|0.010767908167482522|0.0015615413066530964|0.0010606024306655363|0.0014427187914268016|0.001479380406672645|0.002205376778102015|0.0015275074531557382|0.0015109305010604108|0.00177462843831247|0.0015154874885941905|0.001297862587495716|0.0013075928451944073|0.0012223174034117583|0.0012731850677807329|0.0020549115039056047|0.0021674609331322806|0.0019316166828786381|0.0014898140926497808|0.02150764358323786|0.05966683991765141|0.03325089523876328|0.02230685678741525|0.015508963003026522|0.023800789990598967|0.021904439052768048|0.0265326590312032|0.01744429323079143|0.021329875797901698|0.020019330339936154|0.01761011936285999|0.023320975800758755|0.019340280056563727|0.01926952036568087|0.018072919439777364|0.026198278178325998|0.021769945827633176|0.0178390644129125|0.010998035322730462|0.019656181278287107|0.06471520190132592|0.03211872275177113|0.016142988728609843|0.011045335385065155|0.020256735000603262|0.017144271651133806|0.021581305923934813|0.013812608967820748|0.015976374699289135|0.015196510903460341|0.014334789132148322|0.01741652804420201|0.01477970979214343|0.014601036203056882|0.015873930986814187|0.024817995682508344|0.017403375219769503|0.01567115915179032|0.009803059422460972|0.015426002691787274|0.04684584614633281|0.024594477291856466|0.017184546709669835|0.011524483908175762|0.010748999861609397|0.01465038987347965|0.018995301813506615|0.013612974968195536|0.01433920114646178|0.01541510185982413|0.013052679124494114|0.01696355889885995|0.01391750237432075|0.012522290525058788|0.012999643637790267|0.01999491437094881|0.01638584395074412|0.013996551253881377|0.009443220533007592|0.012999759817973194|0.05272688847040872|0.031148958261919595|0.01781775860507436|0.011124670608710686|0.014041188803944114|0.013825565912899873|0.013483393994387104|0.0132108083357793|0.014468805307061702|0.01569964820162284|0.01142872696624792|0.016322982752709606|0.013291865279435901|0.00872202983887806|0.011780836694386726|0.024277887233566733|0.019117960510906928|0.021171535272688585|0.012349192786107938|0.27094987833262707|0.027938439623378646|0.015414425022592012|0.0068600222063074315|0.012888388875671|0.005222659371577289|0.004273044397559689|0.005826575697320606|0.006029490815632124|0.004725951289015738|0.0045136223234756145|0.004811861166075344|0.007295192512512222|0.014873531416146238|0.0055960251896246755|0.0047756681667119275|0.005890484883944167|0.004750641651168942|0.004642748093345339|0.007470379593397882|0.02720652475338964|0.028438736805155174|0.0443860126371307|0.0242992156990687|0.02779897958800435|0.02148818167260178|0.02016914106788909|0.024619943865053416|0.03040820159544558|0.022938372840246395|0.025932297496630556|0.026261229926882002|0.025004467654352873|0.027655618821910845|0.022488486709458865|0.02198122748527594|0.023862502139563393|0.02571721329707194|0.02934438694965967|0.02084501466807079|0.01095456950902849|0.02243292088170735|0.01590470556339545|0.013029728558137|0.007614781710007518|0.013319226654906587|0.006592981963022628|0.004562407483250556|0.004550962488429588|0.005820432253556394|0.024590427081383506|0.004508919417174574|0.004568329011526195|0.008010050578852136|0.004750643376959057|0.007794532797833739|0.005264869651345726|0.005137015633418228|0.004663571088738152|0.00426602846450169|0.008428208940258607|0.35614686281404734|0.021955041715778698|0.0744261760714747|0.03620772038061254|0.015576961458826508|0.010784945531318363|0.02542364597474884|0.018499553948842673|0.022986651447555594|0.013921098643689572|0.016866085011263573|0.01507771920440965|0.01503154268825458|0.01766269090147581|0.015248270275161803|0.01573071574283029|0.017435941984113707|0.027439064884960965|0.01795634534394777|0.016581212892098046|0.009998611305181778|0.013950803631266688|0.06692551439038728|0.04030416038160118|0.004418524905923182|0.004107126659210823|0.025166984531569108|0.009738217539272393|0.01090694941051523|0.007438530027124484|0.007361517135762674|0.0074727220399763645|0.006137824016034597|0.007913994310690255|0.00902631209584701|0.00778115273127614|0.012978939351123212|0.02868925680273177|0.01147161730420574|0.017922711418102498|0.009683030832904602|0.25|0.014544377956404378|0.010545536045129733|0.005118684849367703|0.02016945200554934|0.009170657798856138|0.011081356516618414|0.0032253468747777997|0.003464621397957462|0.005192451309018574|0.003301979417978405|0.0061817770370482215|0.00582969065961993|0.0031603999641035482|0.00337127627726258|0.003979011091628828|0.004474853496456722|0.0032852275906793613|0.0037824976033564318|0.005619372388867567|0.0033481379133576475|0.03053566828555162|0.06250765803881153|0.034011127260113974|0.015764374604255418|0.014595948325526716|0.03254542880197854|0.021598551639188782|0.02878170577121958|0.017487592104908717|0.020317972284653447|0.018567484072970104|0.02010517111066532|0.020206422167184452|0.018518664847464703|0.02190281214202812|0.02520742488405823|0.029313198483091468|0.021942191225475062|0.016837069518418353|0.008189438060267184|0.017314204575235182|0.01227558925263973|0.018979416207614393|0.005877250240323081|0.010056621853586639|0.01028006222922135|0.003521362984027499|0.0050886034620492866|0.0036666474307264075|0.0034800797381081146|0.004063538231962777|0.0035125294913074187|0.00352593332545149|0.0060159859668320395|0.004492333204005848|0.0035994432024777246|0.0039648577482185865|0.006182327233928194|0.0032926113776067887|0.006505070775601734|0.27524571607929366|0.4206076864450327|0.02595481556347326|0.047540784799029914|0.03597034880121583|0.03711233311155595|0.02623049895853746|0.03231353259722825|0.033338257085774564|0.03842570094948364|0.026167519435374972|0.03418886839972108|0.0316036371909473|0.025477390972489813|0.037503330230287|0.03029467012953048|0.030483117262943293|0.023354841629999394|0.02951368655785168|0.032258352966728174|0.023046325455866275|0.013868341310880947|0.023266670239068886|0.041470767835754235|0.02797194132938557|0.04685708161132474|0.030382541279333233|0.020128702179478306|0.035838158940250886|0.041185625324538636|0.029414360502454495|0.037976945089622974|0.03642591469324251|0.028444328652959133|0.04325408480611669|0.03281112977624968|0.030434561905743705|0.02008153804586278|0.024742045851399854|0.03543056407669359|0.0227479719683785|0.015524648779692023|0.00398814441932952|0.003331779454182165|0.009539546044751736|0.0037757211590670526|0.004794282885482529|0.005755665583551395|0.0033889256605863114|0.019135876113630358|0.004002092689541817|0.012285099209310863|0.004846826040556605|0.004245903971439515|0.004938056346040275|0.0072331233752327626|0.0041775770840013085|0.02225459472048284|0.014200422023458096|0.007903499830790198|0.0037858209788011873|0.00542547602404546|0.02447375737281599|0.057684073435477844|0.037518496116925676|0.03449629281515549|0.02307325298773084|0.03176464097510327|0.03261000696072241|0.03853118358073358|0.023622109688484105|0.03218934138513701|0.028169225396623268|0.023262216175738013|0.03553740141180385|0.028372030545565446|0.030297695543412315|0.021342248411484865|0.02810444335656283|0.027954712332389862|0.018716398620172995|0.012756646609958388|0.017755916531929584|0.011399174743724467|0.008851613739933593|0.0030915123806396177|0.020649733141837344|0.0037005444139978265|0.003503439788916775|0.003144537558884415|0.005340603019459052|0.006711515816292617|0.004497303304276283|0.004448549222461153|0.00371348682564794|0.013176376696193051|0.004581954645593019|0.0038763163823527184|0.003939715971214318|0.0035128112758598846|0.007333548927664343|0.0050342246724070245|0.473223566350695|0.5556084030083255|0.003327813549676416|0.009667847107375095|0.012315767876656024|0.014421691245010443|0.012638982829955753|0.0056993438420085505|0.01371068093688685|0.018354009766102554|0.013862917608434819|0.015149486529981215|0.01060715144530616|0.014338423891773686|0.017727781363883498|0.013811260543794562|0.01312033581766871|0.009238685752560184|0.012632870587688489|0.012964946235229147|0.007778856713588333|0.009340018874685508|0.0005659341388603144|0.009438312188926682|0.0035325696745846635|0.018258115195886538|0.01258683765224855|-0.00636832754909977|0.011816927558894358|0.016746599143525418|0.013705663384802695|0.01382808473279037|0.010930547568252664|0.014190411301724713|0.017917015544463802|0.012019853709332914|0.008906248613186838|0.004211129659472394|0.006853821509999115|0.012160474518472707|0.005753199736710433|0.009845050408954177|0.006619181833857761|0.015149388674115008|0.009626197005674453|0.006806497141003158|0.005795013239589965|0.006125897509944741|0.005698012250136052|0.006012582245678896|0.007865311336030972|0.006246131619028292|0.007445856456056301|0.00838685927674093|0.007794659827955261|0.007895411671954915|0.005865026411473812|0.009750775981486489|0.01768562744866371|0.018871234024312573|0.03394674884471447|0.02826039066284605|0.0005637528840562802|0.026976693914571817|0.012900584559939794|0.005594919151054254|0.005250075020765782|0.00294255319082662|0.008287558376902782|0.014284374106422262|0.007948899921536271|0.00794446284075762|0.00272243596863251|0.009107223568281999|0.009930045020716578|0.007655596246764873|0.008297449634879214|0.005184447787230048|0.009833863784994167|0.004304299097862532|0.0013818169742585078|0.007070126170210788|0.008655107220656138|0.016145647189227348|0.0037816526182098656|0.010104102534767241|0.00331079076918353|0.004510784532726044|0.003568522504823825|0.003255372427142169|0.003435091768698857|0.004253946203318244|0.0038886690015104666|0.0054996123735104865|0.004493587662374217|0.0034998308593515376|0.01939437251609775|0.003350790580710961|0.0047915571389330865|0.004453223465983394|0.005570786297360285|0.010781464255521596|0.3832770566208171|0.09192931501273346|0.02192000628369773|0.17209892513172212|0.01708977918815285|0.14742588445893678|0.023415795740177273|0.06218024713328232|0.02773106472780031|0.05979034192410826|0.026347186319347782|0.07893630184570406|0.019190264451205242|0.02766529313577175|0.009496739675639526|0.11664445275572428|0.010391581169795137|0.2544134875746209|0.046700372538584355|0.08823046833033198|0.03180235450174101|0.09882817988736402|0.03165735567970205|0.08318715601769998|0.032402940882930234|0.06151829348420002|0.020245722967170882|0.08620130327378034|0.02076740506329114|0.08232273553007902|0.018368304618891197|0.10408435340283567|0.015268682747046628|0.0559813869424486|0.01992098011222152|0.03314905537997161|0.011868004631416441|0.03289357424660896|0.01149990775475063|0.020599257079046994|0.009013785790031814|0.006923023370391792|0.004626951995373048|0.01786149841039918|0.023191794621184824|0.027136995609468105|0.025899448873999007|0.019506412915362467|0.010391028329036609|0.011947937123331448|0.04201168641366149|0.030613088354905827|0.030421352429522628|0.03116849488694186|0.020416437201090373|0.020903616816285712|0.018788781308750977|0.016120496041823248|0.020117731169183303|0.013157352522266748|0.01331507639074965|0.011896187779833312|0.020985754469265514|0.017358634998927137|0.002385196125370423|0.002208192421023793|0.001431938455571433|0.0014077061653705264|0.001624560013068759|0.0009618541245206444|0.001961688191704728|0.002909098300334956|0.001710575685361525|0.0018128916583520917|0.0016636180387012596|0.0014254481621123914|0.0016857391855921167|0.0016611811234460985|0.0018507466864759734|0.0013633725717001706|0.00126466396138598|0.0014223417669852502|0.0013493018502637988|0.021040210398588194|0.0020013205337212183|0.01968073511763005|0.026221732880611484|0.029862446234999018|0.02848446492392133|0.02186709890955664|0.011344657121759168|0.013435675580936926|0.05497372708341546|0.03396715828705168|0.03391563314655545|0.03438833600896334|0.022122464450362606|0.02301198853941788|0.0218748667304195|0.01832349193371963|0.023426460553997733|0.014043408282439879|0.015369666762742734|0.013500429469757654|0.021154049446405993|0.01769872077087117|0.020759286549171384|0.028687557540318275|0.039083495061911916|0.031425674245452256|0.02403639420178544|0.011707316640390352|0.011610559149942017|0.07123274216978213|0.036493788732928224|0.040151975752838874|0.043143082240038065|0.025139024973490683|0.025277102305585067|0.02428707323121304|0.019037865585176745|0.02523425618782065|0.01496074443686248|0.016021153451180735|0.014518695184115978|0.020964008521264253|0.01804440735810055|0.01800035078379006|0.0284583682186523|0.032955939207376425|0.029586383145875438|0.02051659388110275|0.01123382508864298|0.008854865946807431|0.0736591158797909|0.03829138057961132|0.04040289955890999|0.03870417740277589|0.023130427879971882|0.023642381813818936|0.021831269457955004|0.013820881908099061|0.02301015758221021|0.013148423265099553|0.013610975473967075|0.014325584213419087|0.022188775374182894|0.01730948837777189|0.004488498184471597|0.00330828617098178|0.0032694304324935894|0.003425063956374098|0.002977649424395553|0.0024913074783849774|0.004739472476223657|0.003227308064381803|0.0026605373316181207|0.002577089696210414|0.006472973846571887|0.003065940894790062|0.0037942784612057592|0.003619801197980358|0.009714571154109015|0.0028704888126003226|0.003710578846846876|0.0030858414828479437|0.0016257672644472618|0.0019549068590287667|0.0036774258930000834|0.02907392561396663|0.035210249600577|0.05877642107687829|0.040494276075520884|0.0323488307368972|0.015194946414465898|0.01757117281634806|0.061694591136859434|0.042274404638561504|0.047092099037603107|0.0597195075650258|0.03315405571586791|0.03163337894152099|0.03172032425065242|0.030817496527900657|0.0314727220738643|0.020524504823165292|0.02350402660006222|0.01656536579357573|0.01989566692748963|0.020077944696053427|0.307882559722433|0.007827507025599612|0.003960760653505946|0.003067553116376845|0.005019132321688739|0.0046924099592800025|0.0035007203258963014|0.006746334978507831|0.0038233892955422902|0.005284842794662177|0.004210000620333679|0.004154360896875419|0.004678966481521813|0.00412932543409278|0.005401877244975005|0.004708624621099513|0.00464167253682842|0.006260883869569202|0.008412537871372456|0.0042737439090632726|0.005322211529471768|0.002835443626578804|0.4756281501809016|0.018555637064908145|0.023649491593030907|0.020243448219867566|0.02541632298508683|0.019604184191083264|0.010966346448498178|0.015339557846030768|0.03801302805888673|0.03133148704183241|0.027410151147974265|0.025255764627939596|0.01897571940767236|0.020649120146701262|0.019358557579610202|0.017578288338725902|0.02154064659292714|0.013086483011331272|0.014690064118770215|0.01243821886127438|0.021352291893230138|0.01733811552315661|0.015353552969550061|0.020901060504763168|0.013632351318826164|0.02179127875843508|0.016124113176075705|0.009578855360226984|0.013556140176889551|0.04259964347836216|0.02898012418731889|0.024620033216666105|0.019984332408740892|0.015474983371818893|0.018005141413761947|0.016026903210992465|0.012955336036808054|0.018721978752728005|0.010488627918005615|0.011457372072267867|0.011099153091871594|0.02141014581088175|0.016460913461775854|0.012006389491323826|0.011881100377377286|0.005488026058629292|0.018318393078415325|0.012738654248032338|0.007131216008197866|0.008550689803020336|0.03388789981504207|0.023961104779015547|0.020242669503117688|0.012116713178070422|0.013588072879184404|0.016516844441296877|0.014590162721160073|0.009496733201869457|0.01860039993800249|0.011398116603293379|0.011556503888907572|0.012366356383911866|0.022435625919525876|0.015364109880731244|0.31105141656098206|0.009359178991642323|0.005701879573284181|0.002898192143827436|0.005970468399483858|0.004239336317682613|0.007542538050585142|0.004752557143767944|0.005643990410761026|0.006552574123676843|0.005485778617645649|0.006459277801840019|0.004740186396796302|0.008650836081328583|0.006650202724492485|0.00692742007038242|0.004973952812559986|0.004316282452229976|0.005189447536922061|0.0026398592296140292|0.0057084541354015675|0.0038237224073075357|0.016657699988954694|0.025614079830136437|0.014960316499953105|0.023902533985410625|0.018421984006896975|0.011383561442327746|0.013837913717436721|0.04272103537694242|0.03182918854658009|0.027450772565983553|0.020378374682064722|0.017488887877036553|0.019157188157939722|0.018124035172817358|0.014938806142980657|0.02041053088808568|0.011631867462622654|0.012918699620959276|0.012663671030135765|0.022286479523703967|0.01736372427696487|0.29665406273730344|0.007461340125313154|0.0033603556660332227|0.003993765678763019|0.005444024035462125|0.0028336787016843283|0.004552592120533794|0.0018298767966520063|0.00320401260682218|0.0037679871667269894|0.004607772195371884|0.0036121711810315877|0.0032076366870487484|0.0037017886758857494|0.004014443594400721|0.0038553483862412215|0.0044648014610600036|0.003311817292171113|0.00308091787759363|0.002612880366249213|0.0020695741118965418|0.002480126415971326|0.39237596151079596|0.02642543672935157|0.028023557363302393|0.03699679787511528|0.03296775196434937|0.02844579132535076|0.01370669201912383|0.02065762348870531|0.028307447278808576|0.03396555831298002|0.032207421857751134|0.0383034310450532|0.02620799162754071|0.026538517526944753|0.02687815840132681|0.02949319466981457|0.027833993661029136|0.01864134592331796|0.022351829728076755|0.014860172067819023|0.020269323395296416|0.019396577671724712|0.3337612220761135|0.003711266924044274|0.004396828642149008|0.0028743237499405244|0.0032802051662815476|0.004702970316561815|0.0063213741201677935|0.003869213577680084|0.0038926720275040366|0.004951943327495739|0.003582548777487426|0.0039448069255237925|0.004384231987657277|0.005061605609909098|0.007334441658454815|0.004412021924250436|0.005866502213836513|0.0049869581503534655|0.004349287245712238|0.007882620630527335|0.004004534941398206|0.0026568351577981307|0.7254823794507059|0.6609286089493789|0.012246507667013982|0.013840029008668337|0.018725017128007407|0.017920915275746352|0.012220263755797812|0.007447696753502801|0.007356100538883711|0.0020049417790751825|0.020260905185552267|0.0196364150967697|0.021230602789964026|0.015150862262682509|0.014396224093860908|0.009263720052516264|0.009321050157982014|0.009905489521762574|0.010422582015646857|0.006973677344470682|0.006944769306758995|0.020466319733232517|0.01630897584581484|0.01089389085668313|0.013833304002027688|0.02268206216352033|0.017046105386999987|0.011547778704178988|0.006136127125488562|0.005141918040532723|0.025396837813712738|0.01997210941022875|0.022407421816066784|0.026556073439403183|0.014538434939188124|0.014368274827679607|0.008182017761246711|0.00562205137633935|0.00824404055876986|0.008076147961644452|0.0035163496290521764|0.005418136550140522|0.01941278347268239|0.015596984417119661|0.005069108676219593|0.004639643348425359|0.0037412276214630726|0.0036852320559354135|0.0028716681074848023|0.001593467366951594|0.008746145509337097|0.003427812077786904|0.004058262436520036|0.002956111128887203|0.00568970424433535|0.0050851044755585864|0.004495851940683105|0.004001111478678679|0.004357776531762543|0.0032006635015995495|0.004052361988105836|0.0028913502888503148|0.0028062250532369603|0.003297061003698076|0.00479462100234301|0.011121409614292078|0.01126778772108776|0.009106019112875955|0.014852773336911852|0.009957349037324436|0.007069386080241811|0.009259982803977553|-0.01495575724545355|0.017625233940332996|0.013130933098188517|0.01209803140894028|0.012004117219992264|0.012033355701144293|0.006747410901706967|0.008575846562988286|0.008019675560691981|0.00946565674453825|0.006294074700498163|0.0058825586982757215|0.02066456218005666|0.01594837059810028|0.004053099205123115|-0.002580478808455771|-0.004209557470744397|0.005791498310926336|0.00240352774364668|0.0018747398555889923|0.004679787108727963|-0.012518530266192629|0.006839308739031899|0.0030713349211542265|0.0006661116976816878|0.0045002412630433955|0.006482393812732284|0.0003370623557542068|0.0006234000626251742|0.0034964928046903967|0.005976738241564471|0.0015279579234328195|0.0034267692464151622|0.019944923909748648|0.01356201972796076|0.28322795542040097|0.0028353701144310725|0.005260018540936586|0.006557394744735377|0.00510976277538206|0.0072211539685450524|0.006099348965939482|0.007999788414888824|0.005695167332836622|0.008531408919680183|0.006657031687575997|0.005866694365075589|0.009019823740950514|0.007210655042972261|0.004993314861193434|0.009048286123448143|0.007119460839486687|0.005144784622503013|0.007754100455283865|0.008255645536769385|0.010124093825912877|0.015562635616206752|0.008598293943212258|0.010737505628361862|0.004467138087878968|0.011255918827919632|0.007798640094180423|0.0059301479591034306|0.0098707104172944|-0.004992569851262019|0.014146639549504073|0.009804885702283777|0.008167198324178103|0.008349126377696733|0.008979075849053187|0.0036003129299081106|0.006017847524608953|0.005207381605957455|0.0062541405801379854|0.0026415771265450375|0.003582050601831812|0.019731190544349648|0.015549314943421443|0.001934579074195483|0.0044741253013276866|0.0034864026896994017|0.0035889223494938237|0.0045421077752807225|0.00690769243808424|0.006154246687911111|0.00416159972366866|0.0049270098391250945|0.005458273636466924|0.0061736666835529586|0.005632846221569445|0.005820999803231589|0.004919846299855003|0.0038858257174478315|0.004857624617433565|0.0052906405479305795|0.003406950287617604|0.004002858926583868|0.0035102982085102393|0.010618422388095032|0.45107436106350185|9.84520113298927|0.32587851374117255|67506.05999999764|2061432.1892000493|10.196294638034777|0.3678326405345578|9468.380000000052|265935.4031999998|14.015941733122329|0.4477295290366859|11094.290000000039|352254.2455000015|11.65351763734984|0.4214885436893225|10853.330000000054|304640.9799000006|13.223308614957073|0.44012136904280463|10878.920000000046|331628.5642000012|12.884828950253343|0.4455324862719965|11115.59000000004|326403.0691000006|12.273723583927946|0.33665854790072064|8708.01000000004|320391.4865000013|12.917540039689174|0.4249736657303379|4841.300000000009|149201.12359999967|0.4128860732642104|0.02032537662516338|295.47|6007.717499999999|0.34217258278411683|0.017280181918412352|250.77000000000007|4969.599700000001|0.3636018249675959|0.4328380988921287|0.41125697523952665|0.42646816451606034|0.4315680665095906|0.3354850259465639|0.39523563416590785|0.03575370990622962|0.031564950112629345|0.05884520239043401|0.06108041661127336|0.019903234093844185|0.023783985879308966|0.021274284506956058|0.023130172566698574|0.02272626846752079|0.021784043454949865|0.03367569763905311|0.005329740787899506|0.004856098748105399|0.011497016640868891|0.011673471987673123|0.19535638451945625|0.27469474086903245|0.2399841299067515|0.25959668521864815|0.28447344760340243|0.18829760129959638|0.2906296788244218|0.00430217794183111|0.008618805760582098|0.35249277924328276|0.5435531904858293|0.49000978396445855|0.4848074085468418|0.3871553682171546|0.4514499743124926|0.26650790775515026|-0.009483062932453955|0.003358435609214239|0.4424214028641478|0.6715724726637105|0.5975525964481876|0.5960386160700507|0.45052511762113834|0.5512876120426592|0.29452113959079407|-0.004797824461369369|0.005591670251412408|0.2934332727634329|0.49053580529527796|0.4280969673534376|0.42120580524432993|0.3846850556228822|0.36003215643283804|0.2884915226619074|0.35559799919057733|0.3298428309618048|0.30988709312828105|0.37417978301598365|0.24421650776144366|0.29554991024658817|0.035614197698451325|0.021899416543709253|0.058845202390434004|0.06108041661127335|0.19769781870801703|0.19192467117422715|0.1572449950540063|0.11605672929298216|0.13680473826023676|0.16751534761396583|0.15041689478247283|0.00007508485241300214|0.0003419397500575247|0.06744783957796262|0.09531961824532063|0.2501095770062481|0.34287959106700117|0.3287230398220218|0.25932005800240016|0.3641120382323591|0.2446261879245879|0.33119781632639467|-0.009314209652034514|0.002734603011864619|0.05884520239043402|0.14212940741141883|0.11304685944511302|0.0834354956528163|0.13797895990709141|0.09835179335040047|0.1081376112162208|0.12043056214323865|0.00005397952539078206|0.00024582516708283853|0.04848997326866337|0.06852784763096025|0.5098669118246072|0.5991399445227198|0.8785943985107703|0.7874912493098284|0.8168563599709939|0.5241240986295215|0.8224088439627|0.27633926973275197|0.007576840009710931|0.011123553367488477|0.2833360482169675|0.15482871937923276|0.1503074283100442|0.12314765487371106|0.10713959853550442|0.1311910724950435|0.09089053938826197|0.11779982886432688|0.00005880272147430385|0.0002677902154603489|0.052822527950975584|0.07465074451141562|0.5603284772094617|0.026979746646453882|0.07636508522329302|0.09195285144813437|0.10118783636602752|0.15776424175642964|0.05417707703025791|0.12329785542518204|-0.011832841417824664|0.00019563673643635293|0.06108041661127334|0.5000379018228241|0.035842057530084064|0.028849455415675372|0.04253850155675161|0.0458262514300839|0.000015917466665365066|0.051393044133360224|0.000068497680972911|0.05683228818036774|0.05184542656099978|0.014049477486259433|0.01981197036268957|0.7959909974609041|0.12401293027726733|0.15262696318090566|0.12646686459727408|0.15734595608072824|0.23785354826256236|0.06882051061181908|0.30158150493412567|0.010560987069154072|0.011007132015939308|0.2095157699663766|0.2766105857138307|0.2131951439213027|0.2852466641823772|0.2962410184105085|0.12930097145669184|0.28376970030701276|0.026114648383910102|0.017420168970001912|0.6249949325086019|0.798683899042361|0.6238156647818227|0.7223171188463271|0.8686098704319918|0.6266699035284661|0.5714625218393595|0.07333248356955416|0.06449185701398054|0.37715092737463896|0.22515978732033012|0.16247494459610476|0.20272405128243023|0.21165910848167097|0.00010577976533082103|0.23226253588913526|0.0003716596578756152|0.19265758209517908|0.10098643117652814|0.07937316545625386|0.20768572328482718|0.9631608941561054|1.234510319802744|1.0425241365137001|1.1232527337025295|1.1039192917080711|1.0403583951980082|0.5720418349617733|0.08765411819799064|0.0703886747867411|0.3716050524485115|0.1718197663387252|0.17939273882210965|0.16328792143826668|0.1968556648456997|0.13770622025226337|0.17602516751662903|0.19083488211720093|0.00008965264281255331|0.0003149966680235476|0.08559196985517893|0.06727339815839063|0.5896925156574891|0.11736204523914935|0.17757101227685207|0.15546342433126295|0.17826340904967194|0.21915652125939966|0.1203903938958803|0.3158738168866723|-0.005208928162842503|0.002476331158105099|0.025479358491862655|0.02128456159267086|0.000019008364456993236|0.0000538123436862468|0.028308649804318745|0.034603284681801794|0.031873593885726165|0.03447746264654924|0.030830738348123148|0.003559358935541113|0.0060977021125487195|0.5733463790971017|0.8455995286532264|1.1581375633464122|1.2059337473038618|1.1880910005935894|1.1953642495597359|1.1499663251441898|0.9216375412334523|0.9020611628418592|0.194310180921396|0.14111337852681421|0.3124929338886329|0.04090438624758638|0.03814618499035048|0.03952656687113501|0.049309641664381475|0.045633296790351816|0.04844040890527262|0.08616176612015349|0.03384122719941161|0.04562927546516383|0.00005629541847269099|0.00010378023986792766|7.823812923966169|0.24694146864043642|5071.190000000002|161914.28549999997|2.9631202010197493|0.12607648725212464|356.04|8409.7766|7.510814781066533|0.25096237337192473|693.66|20926.4638|4.415267234530289|0.14088987764182428|379.9800000000001|11957.0958|25.91906268187368|0.5325278810408923|1002.7500000000003|49313.66830000002|11.238185322348102|0.44497119341563773|1081.2799999999997|27778.6906|5.06371578065244|0.21736353077816495|561.45|13196.5529|3.377106593645209|0.15014487369985144|404.19000000000005|9148.4809|7.908348148529547|0.22224558768306418|591.8399999999999|21183.5566|0.17081373067830516|0.24898643976633023|0.18697821052034075|0.3150656115171019|0.3283080744150925|0.23119350132609545|0.1891205407654262|0.2348853989490808|0.03239956218132269|0.052138005195850025|0.04046961405138288|0.11733822102915925|0.0680171429002899|0.04428554234236729|0.03542674197466143|0.0545050715857589|0.16462174957440662|0.2467605110256612|0.1801909669730817|0.19992348969035398|0.3217781919333812|0.21480076154793326|0.1959424276950396|0.2057438284546979|0.1632112869494931|0.24371205336114146|0.16372091530657112|0.09070007246686061|0.3133748019533835|0.19859000621815132|0.19519772568282837|0.19214393924668852|0.18701463874902388|0.24763818164832138|0.19868297992979356|-0.02503463639236583|0.31561743895956956|0.20915969312997043|0.19958845590043303|0.20598925285986475|0.34207031695666684|0.08606333068972305|0.06599221461261186|0.058600617929402535|0.06301877322621019|0.0889785667396431|0.06546902824209894|0.06537137723467316|0.22754885541259734|0.1626369385763546|0.24768640137539913|0.12412231549191687|0.2734422469534744|0.3109836568301704|0.17908695748260625|0.17400937291807944|0.18070823878259057|0.33005750626868674|0.32091711323014654|0.14318689716394217|0.1112758617884902|0.1625666771240725|0.10329935503271927|0.1183674051726326|0.10652567278819426|0.1327277510343263|0.4930709495629193|0.16885599284308092|0.25591205543232187|0.22963446456871364|0.5278148573815309|0.34700537401417675|0.2634658452040591|0.19817804133461908|0.2465710282092896|0.1667775297517766|0.2521537611854466|0.23804193051473316|0.43400863454427996|0.3486088282988188|0.2682332502595638|0.2054507861444576|0.24120335337537613|0.16504040504730294|0.24921284106853153|0.20593546218772854|0.3378735134854455|0.35714593495058855|0.2556085418164164|0.20478664776383498|0.210163015245328|0.2995385341746168|0.16158255878011565|0.11811479726751781|0.13235686989804368|0.18654022866415154|0.1436803310855697|0.12974485109712883|0.12074969515771322|0.16716603435874094|0.24835802936472648|0.1917697706096625|0.5899917214259811|0.32445825220842095|0.2296279120311638|0.1915799776884336|0.22675931090051482|1.1033031360650918|0.46955513782116626|0.5712112586299374|0.4272244976490224|0.42354285671405534|0.6157921187546072|0.4561262924559207|0.3977396045706669|0.17289321848988431|0.26090533938207866|0.18653709781345706|0.5560654747666681|0.34683670600220706|0.23881494971148115|0.18798140732606053|0.23547996366188545|0.5221540214340602|0.2816705799237248|0.2307238546736867|0.3251726636495347|0.20589679003940692|0.25045995620285283|0.22616773799575782|0.2104874996511572|0.5073671113939073|0.5452082276083783|0.19704887839440677|0.25841760054299995|0.2157354586546071|0.80291764526575|0.35597489519537906|0.30064880849441444|0.16021651016554803|0.3583569331431961|0.19563841576949326|0.2553691428784802|0.19926540698809653|0.6936942280422567|0.3475715052153814|0.2844380531646325|0.15947180815333678|0.34475704393518675|0.1559693544239512|0.23383076700933528|0.20094099226864773|0.5528683311120691|0.31511225928050624|0.2811797136587434|0.15780843554369003|0.33563589910682495|0.2929960641150658|0.3410522916766666|0.22345237744763255|0.20191226973970403|0.1370220873229307|0.16754555830681905|0.16646865813487757|0.15865125374880784|0.15962572714144926|0.15803027608247447|0.256279100328156|0.16792857066501685|0.7086812156829122|0.3406048805166126|0.25733777462392643|0.17593420309504731|0.3027081937695107|0.5284333804263673|0.31284441570925214|0.34622021869005176|0.21230436097395036|0.25959761141581106|0.2458133043617214|0.2579269334676246|0.24732377124115162|0.38949024198018456|0.15526884754026238|0.2576463051848342|0.20570253860879756|0.9886433391581532|0.3610489316733059|0.29775679868546207|0.1864764045619341|0.320567257978782|0.5183083659230135|0.3068503190392309|0.3395865687888892|0.20823654238301578|0.25462365772596046|0.2529850988042773|0.24110362525726897|0.24258512448460487|0.37470124488293544|1.0007066071344901|1.0007071067811866|1.000408248290464|1.0004080816918108|0.5777576532879143|0.5|0.1|0.05|54.71|66.54|26.77|44.79|21.92|29.31|48.09|22.51^$0|$1|$2|$3|4|5|$6|-5]]|7|@8|9|A|B|C|D|E|F]|G|$0|-5|H|-5]|I|$0|$J|K]|H|$J|L]]|M|0|N|18M|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|U|$2|$3|4|5|$6|-5]]|7|@V|9|A|B|C|D]|G|$0|-5|H|-5]|I|$0|$J|W]|H|$J|X]]|M|0|N|18N|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|Y|$2|$3|4|5|$6|-5]]|7|@F|E|8|9|A|B|C|D|Z]|G|$0|18O|H|18P]|I|$0|$J|10]|H|$J|11]]|M|H|N|18Q|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|12|$2|$3|4|5|$6|-5]]|7|@E|Z|8|D|13]|G|$H|-5|14|-5|15|-5|16|-5|17|-5|18|-5|19|-5|1A|-5|1B|-5|1C|-5|1D|-5|1E|-5|1F|-5|O|-5|1G|-5|1H|-5|1I|-5|1J|-5|1K|-5|1L|-5]|I|$H|$J|1M]|14|$J|1N]|15|$J|1O]|16|$J|1P]|17|$J|1Q]|18|$J|1R]|19|$J|1S]|1A|$J|1T]|1B|$J|1U]|1C|$J|1V]|1D|$J|1W]|1E|$J|1X]|1F|$J|1Y]|O|$J|1Z]|1G|$J|20]|1H|$J|21]|1I|$J|22]|1J|$J|23]|1K|$J|24]|1L|$J|25]]|M|H|N|18R|O|$26|18S|27|28|29|18T|2A|18U|2B|@14|15|1A|1I|1F|16|19|1C|1J|18|O|1D|1G|H|1E|1B|1H|1K|17|1L]|2C|$2D|1ZP|2E|1ZQ|2F|18V|2G|18W|2H|18X]|2I|$H|$2D|1ZR|2E|1ZS|2F|18Y|2G|18Z|2H|190]|14|$2D|1ZT|2E|1ZU|2F|191|2G|192|2H|193]|15|$2D|1ZV|2E|1ZW|2F|194|2G|195|2H|196]|16|$2D|1ZX|2E|1ZY|2F|197|2G|198|2H|199]|17|$2D|1ZZ|2E|200|2F|19A|2G|19B|2H|19C]|18|$2D|201|2E|202|2F|19D|2G|19E|2H|19F]|19|$2D|203|2E|204|2F|19G|2G|19H|2H|19I]|1A|$2D|205|2E|206|2F|19J|2G|19K|2H|19L]|1B|$2D|207|2E|208|2F|19M|2G|19N|2H|19O]|1C|$2D|209|2E|20A|2F|19P|2G|19Q|2H|19R]|1D|$2D|20B|2E|20C|2F|19S|2G|19T|2H|19U]|1E|$2D|20D|2E|20E|2F|19V|2G|19W|2H|19X]|1F|$2D|20F|2E|20G|2F|19Y|2G|19Z|2H|1A0]|O|$2D|20H|2E|20I|2F|1A1|2G|1A2|2H|1A3]|1G|$2D|20J|2E|20K|2F|1A4|2G|1A5|2H|1A6]|1H|$2D|20L|2E|20M|2F|1A7|2G|1A8|2H|1A9]|1I|$2D|20N|2E|20O|2F|1AA|2G|1AB|2H|1AC]|1J|$2D|20P|2E|20Q|2F|1AD|2G|1AE|2H|1AF]|1K|$2D|20R|2E|20S|2F|1AG|2G|1AH|2H|1AI]|1L|$2D|20T|2E|20U|2F|1AJ|2G|1AK|2H|1AL]]|2J|$H|20V|14|20W|15|20X|16|20Y|17|20Z|18|210|19|211|1A|212|1B|213|1C|214|1D|215|1E|216|1F|217|O|218|1G|219|1H|21A|1I|21B|1J|21C|1K|21D|1L|21E]|2D|$H|21F|14|21G|15|21H|16|21I|17|21J|18|21K|19|21L|1A|21M|1B|21N|1C|21O|1D|21P|1E|21Q|1F|21R|O|21S|1G|21T|1H|21U|1I|21V|1J|21W|1K|21X|1L|21Y]|2K|$27|2L|29|1AM|2A|1AN|2B|@14|15|1A|1I|18|1F|16|19|1J|H|1C|1D|O|1G|1H|1K|1E|1B|17|1L]|2J|$H|21Z|14|220|15|221|16|222|17|223|18|224|19|225|1A|226|1B|227|1C|228|1D|229|1E|22A|1F|22B|O|22C|1G|22D|1H|22E|1I|22F|1J|22G|1K|22H|1L|22I]|2K|$27|2M|29|1AO|2A|1AP|2B|@14|15|1I|1A|18|H|1F|1J|19|16|1C|1H|1K|1D|O|1G|1E|1B|17|1L]|2J|$H|22J|14|22K|15|22L|16|22M|17|22N|18|22O|19|22P|1A|22Q|1B|22R|1C|22S|1D|22T|1E|22U|1F|22V|O|22W|1G|22X|1H|22Y|1I|22Z|1J|230|1K|231|1L|232]|2K|$27|2N|29|1AQ|2A|1AR|2B|@14|15|1I|1A|16|1F|1J|H|1D|19|1C|1K|O|1B|1E|1H|1G|17|18|1L]|2J|$H|233|14|234|15|235|16|236|17|237|18|238|19|239|1A|23A|1B|23B|1C|23C|1D|23D|1E|23E|1F|23F|O|23G|1G|23H|1H|23I|1I|23J|1J|23K|1K|23L|1L|23M]|2K|$27|2O|29|1AS|2A|1AT|2B|@14|15|1I|1K|1J|16|1F|1D|1C|18|19|1A|O|1B|H|1L|1H|1E|17|1G]|2J|$H|23N|14|23O|15|23P|16|23Q|17|23R|18|23S|19|23T|1A|23U|1B|23V|1C|23W|1D|23X|1E|23Y|1F|23Z|O|240|1G|241|1H|242|1I|243|1J|244|1K|245|1L|246]|2K|-3|2P|-3|2Q|1AU|2R|@2S|247]|2D|$14|248|15|249|1I|24A|1A|24B|16|24C|1F|24D|1J|24E|1D|24F|19|24G|1C|24H|O|24I|1K|24J|H|24K|1B|24L|1E|24M|1G|24N|1H|24O|17|24P|1L|24Q|18|24R]]|2P|$27|2O|29|1AV|2A|1AW|2B|@14|1A|1J|H|16|1F|1D|1C|1I|1E|19|15|1H|1B|O|1G|17|1K|18|1L]|2J|$H|24S|14|24T|15|24U|16|24V|17|24W|18|24X|19|24Y|1A|24Z|1B|250|1C|251|1D|252|1E|253|1F|254|O|255|1G|256|1H|257|1I|258|1J|259|1K|25A|1L|25B]|2K|-3|2P|-3|2Q|1AX|2T|@2U|2V|2W]|2R|@2S|247]|2D|$14|25C|15|25D|H|25E|1I|25F|1A|25G|1J|25H|1H|25I|1F|25J|1D|25K|18|25L|1C|25M|1E|25N|16|25O|19|25P|1K|25Q|1G|25R|1B|25S|O|25T|17|25U|1L|25V]]|2Q|1AY|2R|@2X|25W]|2Y|1AZ]|2P|$27|2N|29|1B0|2A|1B1|2B|@14|15|1I|18|1A|H|19|1J|1F|1H|1C|1K|1G|16|O|1D|1E|1B|17|1L]|2J|$H|25X|14|25Y|15|25Z|16|260|17|261|18|262|19|263|1A|264|1B|265|1C|266|1D|267|1E|268|1F|269|O|26A|1G|26B|1H|26C|1I|26D|1J|26E|1K|26F|1L|26G]|2K|$27|2O|29|1B2|2A|1B3|2B|@14|15|1I|18|1K|H|1H|1J|1A|19|1L|O|1F|1G|1D|1B|1C|1E|16|17]|2J|$H|26H|14|26I|15|26J|16|26K|17|26L|18|26M|19|26N|1A|26O|1B|26P|1C|26Q|1D|26R|1E|26S|1F|26T|O|26U|1G|26V|1H|26W|1I|26X|1J|26Y|1K|26Z|1L|270]|2K|-3|2P|-3|2Q|1B4|2R|@-3|271]|2D|$14|272|15|273|1I|274|18|275|1A|276|H|277|19|278|1F|279|1J|27A|1C|27B|1K|27C|16|27D|1H|27E|O|27F|1G|27G|1D|27H|1E|27I|1B|27J|1L|27K|17|27L]]|2P|$27|2O|29|1B5|2A|1B6|2B|@14|15|18|H|1I|1A|1H|1J|1G|19|1C|1F|1E|1D|O|1B|1K|16|17|1L]|2J|$H|27M|14|27N|15|27O|16|27P|17|27Q|18|27R|19|27S|1A|27T|1B|27U|1C|27V|1D|27W|1E|27X|1F|27Y|O|27Z|1G|280|1H|281|1I|282|1J|283|1K|284|1L|285]|2K|-3|2P|-3|2Q|1B7|2T|@2U|2V|2W]|2R|@-3|271]|2D|$14|286|15|287|18|288|1I|289|H|28A|1A|28B|1H|28C|1J|28D|19|28E|1C|28F|1G|28G|1F|28H|1E|28I|1K|28J|1D|28K|O|28L|1B|28M|16|28N|17|28O|1L|28P]]|2Q|1B8|2T|@2Z]|2R|@2X|28Q]|2Y|1B9]|2Q|1BA|2R|@30|28R]|2Y|1BB]|2P|$27|2M|29|1BC|2A|1BD|2B|@14|1A|1F|16|15|1C|19|18|1J|1D|1G|O|1I|17|1B|H|1E|1H|1K|1L]|2J|$H|28S|14|28T|15|28U|16|28V|17|28W|18|28X|19|28Y|1A|28Z|1B|290|1C|291|1D|292|1E|293|1F|294|O|295|1G|296|1H|297|1I|298|1J|299|1K|29A|1L|29B]|2K|$27|2N|29|1BE|2A|1BF|2B|@16|1F|14|1A|1C|1D|19|1J|O|1G|17|1B|1E|15|1I|H|1K|18|1H|1L]|2J|$H|29C|14|29D|15|29E|16|29F|17|29G|18|29H|19|29I|1A|29J|1B|29K|1C|29L|1D|29M|1E|29N|1F|29O|O|29P|1G|29Q|1H|29R|1I|29S|1J|29T|1K|29U|1L|29V]|2K|-3|2P|-3|2Q|1BG|2R|@-3|271]|2D|$16|29W|1F|29X|1A|29Y|1C|29Z|1D|2A0|1J|2A1|19|2A2|14|2A3|O|2A4|15|2A5|1G|2A6|17|2A7|1B|2A8|1I|2A9|1E|2AA|18|2AB|H|2AC|1K|2AD|1H|2AE|1L|2AF]]|2P|$27|2N|29|1BH|2A|1BI|2B|@14|1A|15|1F|16|19|1C|18|1G|O|1D|1I|1J|H|1B|1E|17|1H|1K|1L]|2J|$H|2AG|14|2AH|15|2AI|16|2AJ|17|2AK|18|2AL|19|2AM|1A|2AN|1B|2AO|1C|2AP|1D|2AQ|1E|2AR|1F|2AS|O|2AT|1G|2AU|1H|2AV|1I|2AW|1J|2AX|1K|2AY|1L|2AZ]|2K|-3|2P|-3|2Q|1BJ|2T|@2Z]|2R|@2S|247]|2D|$14|2B0|15|2B1|1A|2B2|1F|2B3|18|2B4|16|2B5|1C|2B6|19|2B7|1J|2B8|1I|2B9|1G|2BA|1D|2BB|O|2BC|H|2BD|1B|2BE|1E|2BF|17|2BG|1H|2BH|1K|2BI|1L|2BJ]]|2Q|1BK|2T|@2V|2X|2W]|2R|@30|2BK]|2Y|1BL]|2Q|1BM|2R|@2U|2BL]|2Y|1BN]|2P|$27|2L|29|1BO|2A|1BP|2B|@1A|1F|1C|16|1E|1B|O|19|1G|1J|17|1I|15|1D|14|1L|1H|1K|18|H]|2J|$H|2BM|14|2BN|15|2BO|16|2BP|17|2BQ|18|2BR|19|2BS|1A|2BT|1B|2BU|1C|2BV|1D|2BW|1E|2BX|1F|2BY|O|2BZ|1G|2C0|1H|2C1|1I|2C2|1J|2C3|1K|2C4|1L|2C5]|2K|$27|2N|29|1BQ|2A|1BR|2B|@16|1F|1A|1E|1C|1B|17|1J|O|19|1D|1L|14|1G|1I|1K|1H|15|H|18]|2J|$H|2C6|14|2C7|15|2C8|16|2C9|17|2CA|18|2CB|19|2CC|1A|2CD|1B|2CE|1C|2CF|1D|2CG|1E|2CH|1F|2CI|O|2CJ|1G|2CK|1H|2CL|1I|2CM|1J|2CN|1K|2CO|1L|2CP]|2K|-3|2P|-3|2Q|1BS|2R|@-3|271]|2D|$1F|2CQ|1A|2CR|16|2CS|1B|2CT|1C|2CU|17|2CV|1E|2CW|O|2CX|1J|2CY|19|2CZ|1G|2D0|1D|2D1|1L|2D2|1I|2D3|1H|2D4|1K|2D5|15|2D6|H|2D7|18|2D8|14|2D9]]|2P|$27|2N|29|1BT|2A|1BU|2B|@14|1A|15|1F|1I|1E|1G|19|1B|1C|O|1L|16|17|1H|1J|18|1D|1K|H]|2J|$H|2DA|14|2DB|15|2DC|16|2DD|17|2DE|18|2DF|19|2DG|1A|2DH|1B|2DI|1C|2DJ|1D|2DK|1E|2DL|1F|2DM|O|2DN|1G|2DO|1H|2DP|1I|2DQ|1J|2DR|1K|2DS|1L|2DT]|2K|-3|2P|-3|2Q|1BV|2T|@2Z]|2R|@-3|271]|2D|$1A|2DU|14|2DV|1F|2DW|15|2DX|1C|2DY|1I|2DZ|19|2E0|1E|2E1|O|2E2|1G|2E3|1B|2E4|16|2E5|1J|2E6|17|2E7|18|2E8|1H|2E9|1D|2EA|1L|2EB|1K|2EC|H|2ED]]|2Q|1BW|2T|@2U|2X|2W]|2R|@30|2EE]|2Y|1BX]|2Q|1BY|2Y|1BZ|2T|@]]|P|-5|Q|-5|R|-5|S|-5|T|31]|32|$2|$3|4|5|$6|-5]]|7|@F|E|8|9|A|B|C|D|Z]|G|$0|1C0|H|1C1]|I|$0|$J|33]|H|$J|34]]|M|H|N|1C2|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|35|$2|$3|4|5|$6|-5]]|7|@F|E|Z|A|D|13]|G|$H|-5|14|-5|16|-5|17|-5|18|-5|36|-5|19|-5|1A|-5|37|-5|1B|-5|1F|-5|O|-5|1H|-5|38|-5|39|-5|3A|-5|3B|-5|1L|-5|3C|-5|3D|-5|3E|-5]|I|$H|$J|1U]|14|$J|1N]|16|$J|1P]|17|$J|1Q]|18|$J|3F]|36|$J|3G]|19|$J|3H]|1A|$J|1V]|37|$J|1W]|1B|$J|1X]|1F|$J|1Y]|O|$J|1Z]|1H|$J|3I]|38|$J|21]|39|$J|3J]|3A|$J|3K]|3B|$J|3L]|1L|$J|23]|3C|$J|24]|3D|$J|25]|3E|$J|3M]]|M|H|N|1C3|O|$26|1C4|27|28|29|1C5|2A|1C6|2B|@1A|1F|37|1B|16|17|14|3D|1H|O|3A|18|38|H|3E|39|1L|3B|19|3C|36]|2C|$2D|2EF|2E|2EG|2F|1C7|2G|1C8|2H|1C9]|2I|$H|$2D|2EH|2E|2EI|2F|1CA|2G|1CB|2H|1CC]|14|$2D|2EJ|2E|2EK|2F|1CD|2G|1CE|2H|1CF]|16|$2D|2EL|2E|2EM|2F|1CG|2G|1CH|2H|1CI]|17|$2D|2EN|2E|2EO|2F|1CJ|2G|1CK|2H|1CL]|18|$2D|2EP|2E|2EQ|2F|1CM|2G|1CN|2H|1CO]|36|$2D|2ER|2E|2ES|2F|1CP|2G|1CQ|2H|1CR]|19|$2D|2ET|2E|2EU|2F|1CS|2G|1CT|2H|1CU]|1A|$2D|2EV|2E|2EW|2F|1CV|2G|1CW|2H|1CX]|37|$2D|2EX|2E|2EY|2F|1CY|2G|1CZ|2H|1D0]|1B|$2D|2EZ|2E|2F0|2F|1D1|2G|1D2|2H|1D3]|1F|$2D|2F1|2E|2F2|2F|1D4|2G|1D5|2H|1D6]|O|$2D|2F3|2E|2F4|2F|1D7|2G|1D8|2H|1D9]|1H|$2D|2F5|2E|2F6|2F|1DA|2G|1DB|2H|1DC]|38|$2D|2F7|2E|2F8|2F|1DD|2G|1DE|2H|1DF]|39|$2D|2F9|2E|2FA|2F|1DG|2G|1DH|2H|1DI]|3A|$2D|2FB|2E|2FC|2F|1DJ|2G|1DK|2H|1DL]|3B|$2D|2FD|2E|2FE|2F|1DM|2G|1DN|2H|1DO]|1L|$2D|2FF|2E|2FG|2F|1DP|2G|1DQ|2H|1DR]|3C|$2D|2FH|2E|2FI|2F|1DS|2G|1DT|2H|1DU]|3D|$2D|1DV|2E|1DW|2F|1DX|2G|1DY|2H|1DZ]|3E|$2D|2FJ|2E|2FK|2F|1E0|2G|1E1|2H|1E2]]|2J|$H|2FL|14|2FM|16|2FN|17|2FO|18|2FP|36|2FQ|19|2FR|1A|2FS|37|2FT|1B|2FU|1F|2FV|O|2FW|1H|2FX|38|2FY|39|2FZ|3A|2G0|3B|2G1|1L|2G2|3C|2G3|3D|2G4|3E|2G5]|2D|$H|2G6|14|2G7|16|2G8|17|2G9|18|2GA|36|2GB|19|2GC|1A|2GD|37|2GE|1B|2GF|1F|2GG|O|2GH|1H|2GI|38|2GJ|39|2GK|3A|2GL|3B|2GM|1L|2GN|3C|2GO|3D|2GP|3E|2GQ]|2K|$27|2L|29|1E3|2A|1E4|2B|@1A|1F|37|1B|16|17|14|3A|1H|O|38|18|3D|H|39|3E|1L|3B|3C|19|36]|2J|$H|2GR|14|2GS|16|2GT|17|2GU|18|2GV|36|2GW|19|2GX|1A|2GY|37|2GZ|1B|2H0|1F|2H1|O|2H2|1H|2H3|38|2H4|39|2H5|3A|2H6|3B|2H7|1L|2H8|3C|2H9|3D|2HA|3E|2HB]|2K|$27|3N|29|1E5|2A|1E6|2B|@1A|1F|1B|16|37|17|14|1H|3A|O|38|18|3D|H|39|3E|1L|3B|3C|36|19]|2J|$H|2HC|14|2HD|16|2HE|17|2HF|18|2HG|36|2HH|19|2HI|1A|2HJ|37|2HK|1B|2HL|1F|2HM|O|2HN|1H|2HO|38|2HP|39|2HQ|3A|2HR|3B|2HS|1L|2HT|3C|2HU|3D|2HV|3E|2HW]|2K|$27|2M|29|1E7|2A|1E8|2B|@1A|1B|1F|37|16|17|14|1H|O|3A|3D|38|18|H|3E|3C|39|1L|3B|36|19]|2J|$H|2HX|14|2HY|16|2HZ|17|2I0|18|2I1|36|2I2|19|2I3|1A|2I4|37|2I5|1B|2I6|1F|2I7|O|2I8|1H|2I9|38|2IA|39|2IB|3A|2IC|3B|2ID|1L|2IE|3C|2IF|3D|2IG|3E|2IH]|2K|-3|2P|-3|2Q|1E9|2R|@-3|271]|2D|$1A|2II|1F|2IJ|1B|2IK|37|2IL|16|2IM|17|2IN|14|2IO|1H|2IP|3A|2IQ|O|2IR|3D|2IS|38|2IT|18|2IU|H|2IV|3E|2IW|39|2IX|3C|2IY|1L|2IZ|3B|2J0|36|2J1|19|2J2]]|2P|$27|2M|29|1EA|2A|1EB|2B|@1A|1F|16|1B|37|17|14|O|18|38|1H|3A|39|H|1L|3B|3E|3D|19|3C|36]|2J|$H|2J3|14|2J4|16|2J5|17|2J6|18|2J7|36|2J8|19|2J9|1A|2JA|37|2JB|1B|2JC|1F|2JD|O|2JE|1H|2JF|38|2JG|39|2JH|3A|2JI|3B|2JJ|1L|2JK|3C|2JL|3D|2JM|3E|2JN]|2K|-3|2P|-3|2Q|1EC|2T|@2V|2W|2X]|2R|@2S|2JO]|2D|$1A|2JP|1F|2JQ|16|2JR|1B|2JS|37|2JT|17|2JU|14|2JV|O|2JW|18|2JX|38|2JY|3A|2JZ|1H|2K0|39|2K1|H|2K2|1L|2K3|3B|2K4|3D|2K5|3E|2K6|3C|2K7|19|2K8|36|2K9]]|2Q|1ED|2R|@2U|2KA]|2Y|1EE]|2P|$27|3N|29|1EF|2A|1EG|2B|@1A|37|1B|17|1F|14|3A|3D|1H|16|18|38|O|H|39|3E|19|1L|3B|3C|36]|2J|$H|2KB|14|2KC|16|2KD|17|2KE|18|2KF|36|2KG|19|2KH|1A|2KI|37|2KJ|1B|2KK|1F|2KL|O|2KM|1H|2KN|38|2KO|39|2KP|3A|2KQ|3B|2KR|1L|2KS|3C|2KT|3D|2KU|3E|2KV]|2K|$27|2M|29|1EH|2A|1EI|2B|@1A|37|1B|17|3D|14|1F|3A|1H|3E|18|38|O|H|16|19|39|1L|3C|3B|36]|2J|$H|2KW|14|2KX|16|2KY|17|2KZ|18|2L0|36|2L1|19|2L2|1A|2L3|37|2L4|1B|2L5|1F|2L6|O|2L7|1H|2L8|38|2L9|39|2LA|3A|2LB|3B|2LC|1L|2LD|3C|2LE|3D|2LF|3E|2LG]|2K|$27|2S|29|1EJ|2A|1EK|2B|@1A|37|3D|1B|3A|17|1H|3E|38|O|18|3C|1F|H|14|1L|3B|39|19|36|16]|2J|$H|2LH|14|2LI|16|2LJ|17|2LK|18|2LL|36|2LM|19|2LN|1A|2LO|37|2LP|1B|2LQ|1F|2LR|O|2LS|1H|2LT|38|2LU|39|2LV|3A|2LW|3B|2LX|1L|2LY|3C|2LZ|3D|2M0|3E|2M1]|2K|-3|2P|-3|2Q|1EL|2R|@3O|2M2]|2D|$1A|2M3|37|2M4|3D|2M5|1B|2M6|17|2M7|3E|2M8|3A|2M9|1H|2MA|1F|2MB|38|2MC|H|2MD|O|2ME|14|2MF|18|2MG|19|2MH|1L|2MI|3C|2MJ|39|2MK|3B|2ML|16|2MM|36|2MN]]|2P|$27|2S|29|1EM|2A|1EN|2B|@1A|37|1B|14|17|3D|3A|1F|1H|18|38|O|3E|H|16|39|19|1L|3C|3B|36]|2J|$H|2MO|14|2MP|16|2MQ|17|2MR|18|2MS|36|2MT|19|2MU|1A|2MV|37|2MW|1B|2MX|1F|2MY|O|2MZ|1H|2N0|38|2N1|39|2N2|3A|2N3|3B|2N4|1L|2N5|3C|2N6|3D|2N7|3E|2N8]|2K|-3|2P|-3|2Q|1EO|2T|@]|2R|@3O|2N9]|2D|$1A|2NA|37|2NB|1B|2NC|14|2ND|17|2NE|1F|2NF|3D|2NG|3A|2NH|1H|2NI|18|2NJ|38|2NK|O|2NL|3E|2NM|H|2NN|16|2NO|19|2NP|39|2NQ|1L|2NR|3C|2NS|3B|2NT|36|2NU]]|2Q|1EP|2R|@2S|2NV]|2Y|1EQ]|2P|$27|2M|29|1ER|2A|1ES|2B|@1F|16|37|17|1B|39|18|1A|14|3A|38|1H|H|O|1L|19|3D|3E|3B|3C|36]|2J|$H|2NW|14|2NX|16|2NY|17|2NZ|18|2O0|36|2O1|19|2O2|1A|2O3|37|2O4|1B|2O5|1F|2O6|O|2O7|1H|2O8|38|2O9|39|2OA|3A|2OB|3B|2OC|1L|2OD|3C|2OE|3D|2OF|3E|2OG]|2K|-3|2P|-3|2Q|1ET|2T|@2V|2W|2X]|2R|@3O|2OH]|2D|$1F|2OI|37|2OJ|16|2OK|17|2OL|1B|2OM|14|2ON|39|2OO|3A|2OP|18|2OQ|O|2OR|38|2OS|1H|2OT|H|2OU|1A|2OV|1L|2OW|3D|2OX|19|2OY|3B|2OZ|3E|2P0|3C|2P1|36|2P2]]|2Q|1EU|2T|@]|2R|@2U|2P3]|2Y|1EV]|2Q|1EW|2R|@3P|2P4]|2Y|1EX]|2P|$27|2L|29|1EY|2A|1EZ|2B|@1F|3D|37|1B|16|17|3E|O|1H|14|H|18|3B|3A|39|38|36|19|1L|3C|1A]|2J|$H|2P5|14|2P6|16|2P7|17|2P8|18|2P9|36|2PA|19|2PB|1A|2PC|37|2PD|1B|2PE|1F|2PF|O|2PG|1H|2PH|38|2PI|39|2PJ|3A|2PK|3B|2PL|1L|2PM|3C|2PN|3D|2PO|3E|2PP]|2K|$27|3N|29|1F0|2A|1F1|2B|@1F|1A|16|1B|37|3D|17|3E|O|1H|14|18|H|3A|38|3B|36|39|3C|19|1L]|2J|$H|2PQ|14|2PR|16|2PS|17|2PT|18|2PU|36|2PV|19|2PW|1A|2PX|37|2PY|1B|2PZ|1F|2Q0|O|2Q1|1H|2Q2|38|2Q3|39|2Q4|3A|2Q5|3B|2Q6|1L|2Q7|3C|2Q8|3D|2Q9|3E|2QA]|2K|-3|2P|-3|2Q|1F2|2R|@3O|2OH]|2D|$1F|2QB|16|2QC|1B|2QD|37|2QE|17|2QF|3D|2QG|1A|2QH|O|2QI|1H|2QJ|3E|2QK|14|2QL|18|2QM|H|2QN|3A|2QO|38|2QP|3B|2QQ|39|2QR|3C|2QS|36|2QT|1L|2QU|19|2QV]]|2P|$27|3N|29|1F3|2A|1F4|2B|@3D|37|3E|17|1B|1F|1H|O|14|H|18|3B|19|16|39|3A|36|38|1L|3C|1A]|2J|$H|2QW|14|2QX|16|2QY|17|2QZ|18|2R0|36|2R1|19|2R2|1A|2R3|37|2R4|1B|2R5|1F|2R6|O|2R7|1H|2R8|38|2R9|39|2RA|3A|2RB|3B|2RC|1L|2RD|3C|2RE|3D|2RF|3E|2RG]|2K|$27|2S|29|1F5|2A|1F6|2B|@3D|3E|37|1H|3B|17|19|O|H|3A|3C|1B|18|36|1L|1F|39|38|14|16|1A]|2J|$H|2RH|14|2RI|16|2RJ|17|2RK|18|2RL|36|2RM|19|2RN|1A|2RO|37|2RP|1B|2RQ|1F|2RR|O|2RS|1H|2RT|38|2RU|39|2RV|3A|2RW|3B|2RX|1L|2RY|3C|2RZ|3D|2S0|3E|2S1]|2K|-3|2P|-3|2Q|1F7|2R|@3Q|2S2]|2D|$3D|2S3|3E|2S4|37|2S5|17|2S6|1H|2S7|O|2S8|H|2S9|3B|2SA|19|2SB|1B|2SC|1L|2SD|1F|2SE|39|2SF|36|2SG|18|2SH|3A|2SI|3C|2SJ|38|2SK|16|2SL|14|2SM|1A|2SN]]|2P|$27|2S|29|1F8|2A|1F9|2B|@3D|3E|37|17|14|19|1B|1H|H|O|1F|18|3B|39|36|3A|16|38|3C|1L|1A]|2J|$H|2SO|14|2SP|16|2SQ|17|2SR|18|2SS|36|2ST|19|2SU|1A|2SV|37|2SW|1B|2SX|1F|2SY|O|2SZ|1H|2T0|38|2T1|39|2T2|3A|2T3|3B|2T4|1L|2T5|3C|2T6|3D|2T7|3E|2T8]|2K|-3|2P|-3|2Q|1FA|2T|@]|2R|@3Q|2S2]|2D|$3D|2T9|37|2TA|17|2TB|3E|2TC|1B|2TD|14|2TE|1F|2TF|O|2TG|1H|2TH|H|2TI|18|2TJ|16|2TK|19|2TL|39|2TM|3B|2TN|3A|2TO|38|2TP|36|2TQ|1L|2TR|3C|2TS|1A|2TT]]|2Q|1FB|2T|@]|2R|@2S|2NV]|2Y|1FC]|2Q|1FD|2T|@2U|2W|2X]|2R|@3P|2TU]|2Y|1FE]|2Q|1FF|2Y|1FG|2T|@]]|P|-5|Q|-5|R|-5|S|-5|T|31]|3R|$2|$3|4|5|$6|-5]]|7|@F|E|Z|8|3S|A|D|13]|G|$H|-5|15|-5|17|-5|37|-5|1C|-5|3T|-5|1F|-5|1H|-5|38|-5|3U|-5|39|-5]|I|$H|$3V|3W|3X|3Y|3Z|40]|15|$3V|41|3X|3Y|3Z|40]|17|$3V|42|3X|3Y|3Z|40]|37|$3V|43|3X|3Y|3Z|40]|1C|$3V|44|3X|3Y|3Z|40]|3T|$3V|3Y|3X|3Y|3Z|3Y]|1F|$3V|45|3X|3Y|3Z|40]|1H|$3V|46|3X|3Y|3Z|40]|38|$3V|46|3X|40|3Z|40]|3U|$3V|47|3X|3Y|3Z|40]|39|$3V|48|3X|3Y|3Z|40]]|M|H|N|1FH|O|$26|1FI|27|28|29|1FJ|2A|1FK|2B|@15|1C|37|17|1F|H|3T|39|3U|1H|38]|2C|$2D|2TV|2E|2TW|2F|1FL|2G|2TX|2H|2TY]|2I|$H|$2D|2TZ|2E|2U0|2F|1FM|2G|2U1|2H|2U2]|15|$2D|2U3|2E|2U4|2F|1FN|2G|2U5|2H|2U6]|17|$2D|2U7|2E|2U8|2F|1FO|2G|2U9|2H|2UA]|37|$2D|2UB|2E|2UC|2F|1FP|2G|2UD|2H|2UE]|1C|$2D|2UF|2E|2UG|2F|1FQ|2G|2UH|2H|2UI]|3T|$2D|2UJ|2E|2UK|2F|1FR|2G|2UL|2H|2UM]|1F|$2D|2UN|2E|2UO|2F|1FS|2G|2UP|2H|2UQ]|1H|$2D|2UR|2E|2US|2F|1FT|2G|2UT|2H|2UU]|38|$2D|2UV|2E|2UW|2F|1FU|2G|2UX|2H|2UY]|3U|$2D|1FV|2E|1FW|2F|1FX|2G|1FY|2H|1FZ]|39|$2D|1G0|2E|1G1|2F|1G2|2G|1G3|2H|1G4]]|2J|$H|2UZ|15|2V0|17|2V1|37|2V2|1C|2V3|3T|2V4|1F|2V5|1H|2V6|38|2V7|3U|2V8|39|2V9]|2D|$H|2VA|15|2VB|17|2VC|37|2VD|1C|2VE|3T|2VF|1F|2VG|1H|2VH|38|2VI|3U|2VJ|39|2VK]|2K|$27|2N|29|1G5|2A|1G6|2B|@1F|1C|15|37|17|H|3T|39|3U|38|1H]|2J|$H|2VL|15|2VM|17|2VN|37|2VO|1C|2VP|3T|2VQ|1F|2VR|1H|2VS|38|2VT|3U|2V8|39|2V9]|2K|$27|2L|29|1G7|2A|1G8|2B|@15|17|37|3T|1C|H|1F|39|3U|38|1H]|2J|$H|2VU|15|2VV|17|2VW|37|2VX|1C|2VY|3T|2VZ|1F|2W0|1H|2W1|38|2W2|3U|2V8|39|2V9]|2K|$27|2O|29|1G9|2A|1GA|2B|@15|17|37|3T|1C|H|1F|39|3U|38|1H]|2J|$H|2W3|15|2W4|17|2W5|37|2W6|1C|2W7|3T|2W8|1F|2W9|1H|2WA|38|2WB|3U|2V8|39|2V9]|2K|$27|49|29|1GB|2A|1GC|2B|@15|17|37|1C|3T|1F|H|39|3U|38|1H]|2J|$H|2WC|15|2WD|17|2WE|37|2WF|1C|2WG|3T|2WH|1F|2W9|1H|2WA|38|2WB|3U|2V8|39|2V9]|2K|$27|4A|29|1GD|2A|1GE|2B|@1C|15|17|37|1F|H|3T|39|3U|1H|38]|2J|$H|2WI|15|2WJ|17|2WK|37|2WL|1C|2WM|3T|2WN|1F|2WO|1H|2WP|38|2WQ|3U|2WR|39|2WS]|2K|-3|2P|-3|2Q|1GF|2R|@-3|1GG]|2D|$15|2WT|37|2WU|17|2WV|1C|2WW|3T|2WX|H|2WY|1F|2WZ|39|2X0|3U|2X1|38|2X2|1H|2X3]]|2P|$27|4A|29|1GH|2A|1GI|2B|@1C|15|1F|17|37|H|3T|39|3U|38|1H]|2J|$H|2X4|15|2X5|17|2X6|37|2X7|1C|2X8|3T|2X9|1F|2XA|1H|2XB|38|2XC|3U|2XD|39|2V9]|2K|-3|2P|-3|2Q|1GJ|2T|@4B|30|4C]|2R|@-3|1GK]|2D|$15|2XE|17|2XF|1C|2XG|37|2XH|3T|2XI|1F|2XJ|H|2XK|39|2XL|3U|2XM|38|2XN|1H|2XO]]|2Q|1GL|2R|@2Z|2XP]|2Y|1GM]|2P|$27|49|29|1GN|2A|1GO|2B|@15|3T|37|17|H|1C|1F|39|3U|38|1H]|2J|$H|2XQ|15|2XR|17|2XS|37|2XT|1C|2XU|3T|2XV|1F|2XW|1H|2XX|38|2XY|3U|2V8|39|2WS]|2K|-3|2P|-3|2Q|1GP|2T|@4D]|2R|@2Z|2XZ]|2D|$15|2Y0|37|2Y1|17|2Y2|3T|2Y3|H|2Y4|1C|2Y5|1F|2Y6|39|2Y7|3U|2Y8|38|2Y9|1H|2YA]]|2Q|1GQ|2R|@4E|2YB]|2Y|1GR]|2P|$27|2O|29|1GS|2A|1GT|2B|@1C|1F|37|17|15|39|3U|3T|H|38|1H]|2J|$H|2YC|15|2YD|17|2YE|37|2YF|1C|2YG|3T|2YH|1F|2YI|1H|2YJ|38|2YK|3U|2WR|39|2YL]|2K|-3|2P|-3|2Q|1GU|2T|@2V]|2R|@4E|2YM]|2D|$1F|2YN|1C|2YO|17|2YP|3T|2YQ|39|2YR|37|2YS|3U|2YT|15|2YU|H|2YV|38|2YW|1H|2YX]]|2Q|1GV|2R|@2X|2YY]|2Y|1GW]|2P|$27|2L|29|1GX|2A|1GY|2B|@1F|1C|37|15|17|H|3T|39|3U|38|1H]|2J|$H|2YZ|15|2Z0|17|2Z1|37|2Z2|1C|2Z3|3T|2Z4|1F|2Z5|1H|2Z6|38|2Z7|3U|2V8|39|2V9]|2K|$27|4A|29|1GZ|2A|1H0|2B|@1C|37|1F|15|17|H|3T|39|3U|1H|38]|2J|$H|2Z8|15|2Z9|17|2ZA|37|2ZB|1C|2ZC|3T|2ZD|1F|2ZE|1H|2ZF|38|2ZG|3U|2V8|39|2V9]|2K|$27|49|29|1H1|2A|1H2|2B|@1C|15|37|3T|H|17|1F|1H|38|39|3U]|2J|$H|2ZH|15|2ZI|17|2ZJ|37|2ZK|1C|2ZL|3T|2ZM|1F|2ZN|1H|2ZO|38|2ZP|3U|2V8|39|2V9]|2K|-3|2P|-3|2Q|1H3|2R|@4F|2ZQ]|2D|$1F|2ZR|1C|2ZS|37|2ZT|15|2ZU|39|2ZV|H|2ZW|3U|2ZX|17|2ZY|1H|2ZZ|38|300|3T|301]]|2P|$27|49|29|1H4|2A|1H5|2B|@15|37|1C|17|3T|H|1F|1H|38|39|3U]|2J|$H|302|15|303|17|304|37|305|1C|306|3T|307|1F|308|1H|309|38|30A|3U|2V8|39|2WS]|2K|-3|2P|-3|2Q|1H6|2T|@4D]|2R|@4F|30B]|2D|$37|30C|15|30D|17|30E|H|30F|1C|30G|3T|30H|1F|30I|39|30J|3U|30K|1H|30L|38|30M]]|2Q|1H7|2R|@4E|30N]|2Y|1H8]|2P|$27|4A|29|1H9|2A|1HA|2B|@1F|1C|37|15|17|3T|H|39|3U|38|1H]|2J|$H|30O|15|30P|17|30Q|37|30R|1C|30S|3T|30T|1F|30U|1H|30V|38|30W|3U|2WR|39|2WS]|2K|-3|2P|-3|2Q|1HB|2T|@4B|30|4C]|2R|@4E|2YM]|2D|$1F|30X|1C|30Y|39|30Z|3U|310|17|311|H|312|37|313|15|314|3T|315|38|316|1H|317]]|2Q|1HC|2T|@2X]|2R|@2Z|318]|2Y|1HD]|2Q|1HE|2R|@2V|319]|2Y|1HF]|2P|$27|2N|29|1HG|2A|1HH|2B|@15|37|17|H|1C|3T|1F|1H|38|39|3U]|2J|$H|31A|15|31B|17|31C|37|31D|1C|31E|3T|31F|1F|31G|1H|31H|38|31I|3U|2V8|39|2WS]|2K|-3|2P|-3|2Q|1HI|2T|@2Z|4B|4C]|2R|@2V|31J]|2D|$17|31K|37|31L|15|31M|H|31N|1C|31O|3T|31P|1F|31Q|1H|31R|38|31S|39|31T|3U|31U]]|2Q|1HJ|2Y|1HK|2T|@]]|P|-5|Q|-5|R|-5|S|-5|T|-5]|4G|$2|$3|4|5|$6|-5]]|7|@4H|F|13|D]|G|$H|-5|15|-5|17|-5|4I|-5|18|-5|36|-5|19|-5|1A|-5]|I|$H|$J|4J]|15|$J|4K]|17|$J|4L]|4I|$J|4M]|18|$J|4N]|36|$J|4O]|19|$J|4P]|1A|$J|4Q]]|M|H|N|1HL|O|$26|1HM|27|28|29|1HN|2A|1HO|2B|@18|4I|15|1A|36|19|17|H]|2C|$2D|31V|2E|31W|2F|1HP|2G|31X|2H|31Y]|2I|$H|$2D|31Z|2E|320|2F|1HQ|2G|321|2H|322]|15|$2D|323|2E|324|2F|1HR|2G|325|2H|326]|17|$2D|327|2E|328|2F|1HS|2G|329|2H|32A]|4I|$2D|32B|2E|32C|2F|1HT|2G|32D|2H|32E]|18|$2D|32F|2E|32G|2F|1HU|2G|32H|2H|32I]|36|$2D|32J|2E|32K|2F|1HV|2G|32L|2H|32M]|19|$2D|32N|2E|32O|2F|1HW|2G|32P|2H|32Q]|1A|$2D|32R|2E|32S|2F|1HX|2G|32T|2H|32U]]|2J|$H|32V|15|32W|17|32X|4I|32Y|18|32Z|36|330|19|331|1A|332]|2D|$H|333|15|334|17|335|4I|336|18|337|36|338|19|339|1A|33A]|2K|$27|4R|29|1HY|2A|1HZ|2B|@18|15|36|1A|4I|19|17|H]|2J|$H|33B|15|33C|17|33D|4I|33E|18|33F|36|33G|19|33H|1A|33I]|2K|$27|4S|29|1I0|2A|1I1|2B|@18|15|36|19|1A|17|H|4I]|2J|$H|33J|15|33K|17|33L|4I|33M|18|33N|36|33O|19|33P|1A|33Q]|2K|$27|4T|29|1I2|2A|1I3|2B|@18|15|36|1A|19|17|H|4I]|2J|$H|33R|15|33S|17|33T|4I|33U|18|33V|36|33W|19|33X|1A|33Y]|2K|-3|2P|-3|2Q|1I4|2R|@4U|33Z]|2D|$18|340|15|341|36|342|19|343|1A|344|17|345|H|346|4I|347]]|2P|$27|4T|29|1I5|2A|1I6|2B|@18|4I|15|1A|36|19|H|17]|2J|$H|348|15|349|17|34A|4I|34B|18|34C|36|34D|19|34E|1A|34F]|2K|-3|2P|-3|2Q|1I7|2T|@]|2R|@4V|34G]|2D|$4I|34H|18|34I|15|34J|1A|34K|36|34L|19|34M|H|34N|17|34O]]|2Q|1I8|2R|@4W|34P]|2Y|1I9]|2P|$27|4S|29|1IA|2A|1IB|2B|@4I|18|36|15|1A|17|19|H]|2J|$H|34Q|15|34R|17|34S|4I|34T|18|34U|36|34V|19|34W|1A|34X]|2K|$27|4T|29|1IC|2A|1ID|2B|@4I|18|36|15|1A|17|19|H]|2J|$H|34Y|15|34Z|17|350|4I|351|18|352|36|353|19|354|1A|355]|2K|$27|4X|29|1IE|2A|1IF|2B|@18|4I|36|15|1A|17|19|H]|2J|$H|356|15|357|17|358|4I|359|18|35A|36|35B|19|35C|1A|35D]|2K|-3|2P|-3|2Q|1IG|2R|@4V|34G]|2D|$4I|35E|18|35F|36|35G|15|35H|1A|35I|17|35J|19|35K|H|35L]]|2P|$27|4X|29|1IH|2A|1II|2B|@4I|18|15|36|1A|17|19|H]|2J|$H|35M|15|35N|17|35O|4I|35P|18|35Q|36|35R|19|35S|1A|35T]|2K|-3|2P|-3|2Q|1IJ|2T|@]|2R|@-3|271]|2D|$4I|35U|17|35V|18|35W|36|35X|15|35Y|1A|35Z|19|360|H|361]]|2Q|1IK|2R|@4U|33Z]|2Y|1IL]|2P|$27|4T|29|1IM|2A|1IN|2B|@4I|18|15|36|1A|19|17|H]|2J|$H|362|15|363|17|364|4I|365|18|366|36|367|19|368|1A|369]|2K|-3|2P|-3|2Q|1IO|2T|@]|2R|@-3|271]|2D|$4I|36A|18|36B|15|36C|1A|36D|36|36E|17|36F|19|36G|H|36H]]|2Q|1IP|2T|@]|2R|@4W|36I]|2Y|1IQ]|2Q|1IR|2R|@4Y|36J]|2Y|1IS]|2P|$27|4R|29|1IT|2A|1IU|2B|@4I|1A|18|36|15|17|H|19]|2J|$H|36K|15|36L|17|36M|4I|36N|18|36O|36|36P|19|36Q|1A|36R]|2K|$27|4S|29|1IV|2A|1IW|2B|@4I|18|1A|36|15|17|H|19]|2J|$H|36S|15|36T|17|36U|4I|36V|18|36W|36|36X|19|36Y|1A|36Z]|2K|$27|4T|29|1IX|2A|1IY|2B|@4I|1A|18|36|15|17|19|H]|2J|$H|370|15|371|17|372|4I|373|18|374|36|375|19|376|1A|377]|2K|-3|2P|-3|2Q|1IZ|2R|@4V|378]|2D|$4I|379|18|37A|1A|37B|36|37C|15|37D|17|37E|H|37F|19|37G]]|2P|$27|4T|29|1J0|2A|1J1|2B|@4I|18|1A|36|15|19|17|H]|2J|$H|37H|15|37I|17|37J|4I|37K|18|37L|36|37M|19|37N|1A|37O]|2K|-3|2P|-3|2Q|1J2|2T|@]|2R|@-3|271]|2D|$4I|37P|1A|37Q|18|37R|36|37S|15|37T|H|37U|17|37V|19|37W]]|2Q|1J3|2R|@4W|37X]|2Y|1J4]|2P|$27|4S|29|1J5|2A|1J6|2B|@4I|18|1A|36|15|17|19|H]|2J|$H|37Y|15|37Z|17|380|4I|381|18|382|36|383|19|384|1A|385]|2K|-3|2P|-3|2Q|1J7|2T|@]|2R|@-3|271]|2D|$4I|386|1A|387|18|388|36|389|15|38A|17|38B|H|38C|19|38D]]|2Q|1J8|2T|@4Z|50]|2R|@4Y|38E]|2Y|1J9]|2Q|1JA|2Y|1JB|2T|@]]|P|-5|Q|-5|R|-5|S|-5|T|-5]|51|$2|$3|4|5|$6|-5]]|7|@F|E|8|9|A|B|C|D|Z]|G|$0|1JC|H|1JD]|I|$0|$J|52]|H|$J|53]]|M|H|N|1JE|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|54|$2|$3|4|5|$6|-5]]|7|@55|9|A|B|C|D]|G|$0|1JF|H|1JG]|I|$0|$]|H|$]]|M|0|N|1JH|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|56|$2|$3|4|5|$6|-5]]|7|@4H|F|13|D|A|C|9|B]|G|$H|-5|14|-5|15|-5|16|-5|17|-5|4I|-5|18|-5|36|-5|19|-5|1A|-5]|I|$H|$J|4J]|14|$J|57]|15|$J|4K]|16|$J|58]|17|$J|4L]|4I|$J|4M]|18|$J|4N]|36|$J|4O]|19|$J|4P]|1A|$J|4Q]]|M|H|N|1JI|O|$26|1JJ|27|28|29|1JK|2A|1JL|2B|@H|14|15|16|17|4I|18|36|19|1A]|2C|$2D|1JM|2E|1JN|2F|1JO|2G|1JP|2H|1JQ]|2I|$H|$2D|1JR|2E|1JS|2F|1JT|2G|1JU|2H|1JV]|14|$2D|1JW|2E|1JX|2F|1JY|2G|1JZ|2H|1K0]|15|$2D|1K1|2E|1K2|2F|1K3|2G|1K4|2H|1K5]|16|$2D|1K6|2E|1K7|2F|1K8|2G|1K9|2H|1KA]|17|$2D|1KB|2E|1KC|2F|1KD|2G|1KE|2H|1KF]|4I|$2D|1KG|2E|1KH|2F|1KI|2G|1KJ|2H|1KK]|18|$2D|1KL|2E|1KM|2F|1KN|2G|1KO|2H|1KP]|36|$2D|1KQ|2E|1KR|2F|1KS|2G|1KT|2H|1KU]|19|$2D|1KV|2E|1KW|2F|1KX|2G|1KY|2H|1KZ]|1A|$2D|1L0|2E|1L1|2F|1L2|2G|1L3|2H|1L4]]|2J|$H|1L5|14|1L6|15|1L7|16|1L8|17|1L9|4I|1LA|18|1LB|36|1LC|19|1LD|1A|1LE]|2D|$H|38F|14|38G|15|38G|16|38G|17|38G|4I|38G|18|38F|36|38G|19|38G|1A|38G]|2K|-3|2P|-3|2Q|1LF|2Y|1LG|2T|@]]|P|-5|Q|-5|R|-5|S|-5|T|-5]|59|$2|$3|4|5|$6|-5]]|7|@F|E|Z|8|3S|A|D|13|C|9|B]|G|$H|-5|14|-5|15|-5|17|-5|37|-5|1C|-5|3T|-5|1F|-5|38|-5]|I|$H|$3V|5A|3X|3Y|3Z|40]|14|$3V|5A|3X|3Y|3Z|3Y]|15|$3V|5B|3X|3Y|3Z|40]|17|$3V|5C|3X|40|3Z|40]|37|$3V|5C|3X|3Y|3Z|40]|1C|$3V|5D|3X|3Y|3Z|40]|3T|$3V|3Y|3X|3Y|3Z|3Y]|1F|$3V|5C|3X|3Y|3Z|40]|38|$3V|5E|3X|40|3Z|40]]|M|H|N|1LH|O|$26|1LI|27|28|29|1LJ|2A|1LK|2B|@H|14|15|17|37|1C|3T|1F|38]|2C|$2D|1LL|2E|1LM|2F|1LN|2G|1LO|2H|1LP]|2I|$H|$2D|1LQ|2E|1LR|2F|1LS|2G|1LT|2H|1LU]|14|$2D|1LV|2E|1LW|2F|1LX|2G|1LY|2H|1LZ]|15|$2D|1M0|2E|1M1|2F|1M2|2G|1M3|2H|1M4]|17|$2D|1M5|2E|1M6|2F|1M7|2G|1M8|2H|1M9]|37|$2D|1MA|2E|1MB|2F|1MC|2G|1MD|2H|1ME]|1C|$2D|1MF|2E|1MG|2F|1MH|2G|1MI|2H|1MJ]|3T|$2D|1MK|2E|1ML|2F|1MM|2G|1MN|2H|1MO]|1F|$2D|1MP|2E|1MQ|2F|1MR|2G|1MS|2H|1MT]|38|$2D|1MU|2E|1MV|2F|1MW|2G|1MX|2H|1MY]]|2J|$H|1MZ|14|1N0|15|1N1|17|1N2|37|1N3|1C|1N4|3T|1N5|1F|1N6|38|1N7]|2D|$H|38H|14|38H|15|38H|17|38I|37|38J|1C|38I|3T|38H|1F|38I|38|38H]|2K|-3|2P|-3|2Q|1N8|2Y|1N9|2T|@]]|P|-5|Q|-5|R|-5|S|-5|T|-5]|5F|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$5G|-5|5H|-5|5I|-5]|I|$5G|$]|5H|$]|5I|$]]|M|5G|N|1NA|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|5J|$2|$3|4|5|$6|-5]]|7|@9|A|B|C|D|5K]|G|$0|-5|H|-5]|I|$0|$]|H|$]]|M|0|N|1NB|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|5L|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|1NC|H|1ND]|I|$0|$]|H|$]]|M|H|N|1NE|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|5M|$2|$3|4|5|$6|-5]]|7|@9|A|B|C|D]|G|$0|-5]|I|$0|$]]|M|0|N|1NF|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|5N|$2|$3|4|5|$6|-5]]|7|@5O|5P|9|A|B|C|D|5Q|5K|5R]|G|$H|1NG|14|1NH]|I|$H|$]|14|$]]|M|H|N|1NI|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|5S|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|1NJ|H|1NK]|I|$0|$]|H|$]]|M|H|N|1NL|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|5T|$2|$3|4|5|$6|-5]]|7|@5O|5U|5V|5W|5Q|Z|5P|9|A|B|C|D|5X]|G|$0|1NM|H|1NN|14|1NO]|I|$0|$]|H|$]|14|$]]|M|14|N|1NP|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|5Y|$2|$3|4|5|$6|-5]]|7|@5U|5W|5Z|9|A|B|C|D|5O|Z]|G|$0|-5|H|-5|15|-5]|I|$0|$]|H|$]|15|$]]|M|0|N|1NQ|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|60|$2|$3|4|5|$6|-5]]|7|@5O|5U|5V|5W|5Q|9|A|B|C|D|5X]|G|$0|1NR|H|1NS|14|1NT|15|1NU]|I|$0|$]|H|$]|14|$]|15|$]]|M|0|N|1NV|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|61|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|-5|H|-5]|I|$0|$]|H|$]]|M|0|N|1NW|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|62|$2|$3|4|5|$6|-5]]|7|@5O|5U|5V|5W|5Q|Z|5P|9|A|B|C|D|5X]|G|$0|38K|H|1NX|14|1NY|15|1NZ|16|1O0|17|1O1]|I|$0|$]|H|$]|14|$]|15|$]|16|$]|17|$]]|M|0|N|1O2|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|63|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|1O3|H|1O4|14|1O5]|I|$0|$]|H|$]|14|$]]|M|0|N|1O6|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|64|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|38L|H|1O7|14|1O8|15|1O9]|I|$0|$]|H|$]|14|$]|15|$]]|M|0|N|1OA|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|65|$2|$3|4|5|$6|-5]]|7|@9|A|B|C|D|5O|5P]|G|$H|-5]|I|$H|$]]|M|H|N|1OB|O|-5|P|-5|Q|-5|R|38M|S|-5|T|-5]|66|$2|$3|4|5|$6|-5]]|7|@5O|5U|5V|5W|5Q|Z|5P|9|A|B|C|D|5X]|G|$0|38L|H|1OC|14|1OD|15|1OE|16|1OF]|I|$0|$]|H|$]|14|$]|15|$]|16|$]]|M|0|N|1OG|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|67|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|1OH|H|1OI|14|1OJ]|I|$0|$]|H|$]|14|$]]|M|0|N|1OK|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|68|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|1OL|H|1OM]|I|$0|$]|H|$]]|M|H|N|1ON|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]|69|$2|$3|4|5|$6|-5]]|7|@A|C|9|B|D]|G|$0|-5|H|-5]|I|$0|$]|H|$]]|M|0|N|1OO|O|-5|P|-5|Q|-5|R|-5|S|-5|T|-5]]|4I|$6A|$2|@U]|6B|@]|6C|-5|6D|-5|6E|1OP|6F|-5]|6G|$2|@67]|6B|@67]|6C|-5|6D|-5|6E|-5|6F|-5]|6H|$2|@60|66|62]|6B|@60|66|62]|6C|-5|6D|-5|6E|-5|6F|-5]|6I|$2|@67]|6B|@67]|6C|-5|6D|-5|6E|-5|6F|-5]|6J|$2|@67]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|6K|$2|@60]|6B|@60]|6C|-5|6D|-5|6E|-5|6F|-5]|6L|$2|@61|60]|6B|@60]|6C|-5|6D|-5|6E|-5|6F|-5]|6M|$2|@60]|6B|@60]|6C|-5|6D|-5|6E|-5|6F|-5]|6N|$2|@5Y]|6B|@5Y]|6C|-5|6D|-5|6E|-5|6F|-5]|6O|$2|@61|60]|6B|@61|60]|6C|-5|6D|-5|6E|-5|6F|-5]|6P|$2|@60]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|6Q|$2|@64]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|6R|$2|@64]|6B|@64]|6C|-5|6D|-5|6E|-5|6F|-5]|6S|$2|@60]|6B|@60]|6C|-5|6D|-5|6E|-5|6F|-5]|6T|$2|@60]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|6U|$2|@67]|6B|@67]|6C|-5|6D|-5|6E|-5|6F|-5]|6V|$2|@5Y|61|60|66|62|65|67|64]|6B|@5Y|61|60|66|62|65|67|64]|6C|-5|6D|-5|6E|-5|6F|-5]|6W|$2|@5Y|61|60|66|62|65|67|64]|6B|@5Y|61|60|66|62|65|67|64]|6C|-5|6D|-5|6E|-5|6F|-5]|6X|$2|@U]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|6Y|$2|@60]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|6Z|$2|@U]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|70|$2|@U]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|71|$2|@1]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|72|$2|@54]|6B|@54]|6C|-5|6D|-5|6E|-5|6F|-5]|73|$2|@5L]|6B|@5L]|6C|-5|6D|-5|6E|-5|6F|-5]|74|$2|@5L]|6B|@5L]|6C|-5|6D|-5|6E|-5|6F|-5]|75|$2|@5F|54]|6B|@54]|6C|-5|6D|-5|6E|-5|6F|-5]|76|$2|@54]|6B|@54]|6C|-5|6D|-5|6E|-5|6F|-5]|77|$2|@5F|54]|6B|@54]|6C|-5|6D|-5|6E|-5|6F|-5]|78|$2|@54]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|79|$2|@54]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7A|$2|@54]|6B|@54]|6C|-5|6D|-5|6E|-5|6F|-5]|7B|$2|@U]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7C|$2|@1|Y|51]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7D|$2|@1]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7E|$2|@12|1|35|Y|32|51]|6B|@12|35|Y|32|51]|6C|-5|6D|-5|6E|-5|6F|-5]|7F|$2|@3R|12|1|35|Y|56|59|32|51|4G]|6B|@3R|12|35|Y|56|59|32|51|4G]|6C|-5|6D|-5|6E|1OQ|6F|-5]|7G|$2|@12|1]|6B|@12]|6C|-5|6D|-5|6E|-5|6F|-5]|7H|$2|@12|1|35|Y|32|51]|6B|@12|35|Y|32|51]|6C|-5|6D|-5|6E|-5|6F|-5]|7I|$2|@1|32]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7J|$2|@1]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7K|$2|@12|35]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7L|$2|@12|1|35]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7M|$2|@3R|1|56|59|4G]|6B|@3R|59]|6C|-5|6D|-5|6E|1OR|6F|-5]|7N|$2|@65]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7O|$2|@5F]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7P|$2|@Y|32|51]|6B|@Y|32|51]|6C|-5|6D|-5|6E|-5|6F|-5]|7Q|$2|@1|56|4G]|6B|@]|6C|-5|6D|-5|6E|1OS|6F|-5]|7R|$2|@1]|6B|@]|6C|-5|6D|-5|6E|1OT|6F|-5]|7S|$2|@1]|6B|@]|6C|-5|6D|-5|6E|1OU|6F|-5]|7T|$2|@1]|6B|@]|6C|-5|6D|-5|6E|1OV|6F|-5]|7U|$2|@1|56|4G]|6B|@]|6C|-5|6D|-5|6E|1OW|6F|-5]|7V|$2|@12|35]|6B|@]|6C|-5|6D|-5|6E|1OX|6F|-5]|7W|$2|@3R|1|32]|6B|@3R|32]|6C|-5|6D|-5|6E|1OY|6F|-5]|7X|$2|@1]|6B|@]|6C|-5|6D|-5|6E|1OZ|6F|-5]|7Y|$2|@60]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|7Z|$2|@67]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|80|$2|@67]|6B|@67]|6C|-5|6D|1P0|6E|1P1|6F|-5]|81|$2|@67]|6B|@67]|6C|-5|6D|1P2|6E|1P3|6F|-5]|82|$2|@56|4G]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|83|$2|@1|56|4G]|6B|@]|6C|-5|6D|-5|6E|1P4|6F|-5]|84|$2|@1]|6B|@]|6C|-5|6D|-5|6E|1P5|6F|-5]|85|$2|@5S]|6B|@5S]|6C|-5|6D|-5|6E|-5|6F|-5]|86|$2|@5S]|6B|@5S]|6C|-5|6D|-5|6E|-5|6F|-5]|87|$2|@1]|6B|@]|6C|-5|6D|-5|6E|1P6|6F|-5]|88|$2|@1]|6B|@]|6C|-5|6D|-5|6E|1P7|6F|-5]|89|$2|@1|56|4G]|6B|@]|6C|-5|6D|-5|6E|1P8|6F|-5]|8A|$2|@3R|1|59]|6B|@]|6C|-5|6D|-5|6E|1P9|6F|-5]|8B|$2|@3R|1|59]|6B|@3R]|6C|-5|6D|-5|6E|1PA|6F|-5]|8C|$2|@3R|1|59|32]|6B|@59]|6C|-5|6D|-5|6E|1PB|6F|-5]|8D|$2|@3R|1|59]|6B|@]|6C|-5|6D|-5|6E|1PC|6F|-5]|8E|$2|@3R|1|59]|6B|@]|6C|-5|6D|-5|6E|1PD|6F|-5]|8F|$2|@3R|1|59]|6B|@]|6C|-5|6D|-5|6E|1PE|6F|-5]|8G|$2|@3R|1|59]|6B|@]|6C|-5|6D|-5|6E|1PF|6F|-5]|8H|$2|@3R|1|59]|6B|@]|6C|-5|6D|-5|6E|1PG|6F|-5]|8I|$2|@5F]|6B|@]|6C|-1|6D|-5|6E|-5|6F|-5]|8J|$2|@63|5Y|66|62]|6B|@63]|6C|-5|6D|-5|6E|-5|6F|-5]|8K|$2|@3R|1|59]|6B|@3R]|6C|-5|6D|-5|6E|1PH|6F|-5]|8L|$2|@1|59|4G]|6B|@]|6C|-5|6D|-5|6E|1PI|6F|-5]|8M|$2|@63]|6B|@]|6C|-5|6D|-5|6E|-5|6F|-5]|8N|$2|@61]|6B|@61]|6C|-5|6D|-5|6E|-5|6F|-5]|8O|$2|@3R|1]|6B|@]|6C|-5|6D|-5|6E|1PJ|6F|-5]|8P|$2|@3R|1]|6B|@]|6C|-5|6D|-5|6E|1PK|6F|-5]]|O|$5U|$8Q|8R|8S|$]]|5W|$8Q|8R|8S|$]]|5K|$8Q|8R|8S|$]]|5P|$8Q|8R|8S|$]]|5Q|$8Q|8R|8S|$]]|5Z|$8Q|8R|8S|$]]|5O|$8Q|2|8S|$]]|5V|$8Q|8R|8S|$]]|5R|$8Q|2|8S|$]]|55|$8Q|2|8S|$]]|Z|$8Q|8R|8S|$]]|3S|$8Q|8R|8S|$]]|5X|$8Q|8R|8S|$]]]|8T|$8U|$]|8V|$]|8W|$]|8X|$]|8Y|$]]|8Z|$90|-5|91|-2|92|93|94|-2|95|@]|96|-2|97|-5|98|99|9A|-1|9B|9C|9D|-2|9E|-5|9F|-5|9G|9H|9I|@]|9J|1PL|9K|9L|9M|-5|9N|$9O|9P|9Q|9R|9S|9T|9U|9V|9W|9X|9Y|9Z|A0|A1|A2|A3|A4|A5|A6|A7|A8|A9|AA|AB|AC|AD|AE|AF|AG|AH|AI|AJ|AK|AL|AM|AN|AO|AP|AQ|AR|AS|AT|AU|AV|AW|AX|AY|AZ|B0|B1|B2|B3|B4|B5|B6|B7|B8|B9|BA|BB|BC|BD|BE|BF|BG|BH|BI|BJ|BK|BL|BM|BN|BO|BP|BQ|BR|BS|BT|BU|BV|BW|BX|BY|BZ|C0|C1|C2|C3|C4|C5|C6|C7|C8|C9|CA|CB|CC|CD|CE|CF|CG|CH|CI|CJ|CK|CL|CM|CN|CO|CP|CQ|CR|CS|CT|CU|CV|CW|CX|CY|CZ|D0|D1|D2|D3|D4|D5|D6|D7|D8|D9|DA|DB|DC|DD|DE|DF|DG|DH|DI|DJ|DK|DL|DM|DN|DO|DP|DQ|DR|DS|DT|DU|DV|DW|DX|DY|DZ|E0|E1|E2|E3|E4|E5|E6|E7|E8|E9|EA|EB|EC|ED|EE|EF|EG|EH|EI|EJ|EK|EL|EM|EN|EO|EP|EQ|ER|ES|ET|EU|EV|EW|EX|EY|EZ|F0|F1|F2|F3|F4|F5|F6|F7|F8|F9|FA|FB|FC|FD|FE|FF|FG|FH|FI|FJ|FK|FL|FM|FN|FO|FP|FQ|FR|FS|FT|FU|FV|FW|FX|FY|FZ|G0|G1|G2|G3|G4|G5|G6|G7|G8|G9|GA|GB|GC|GD|GE|GF|4B|GG|2Z|4A|30|2N|4C|GH|GI|GJ|GK|GL|GM|GN|GO|GP|GQ|GR|GS|GT|3P|3N|GU|GV|GW|GX|3Q|GY|GZ|H0|H1|H2|H3|H4|H5|H6|H7|H8|H9|HA|HB|HC|HD|HE|HF|HG|HH|HI|HJ|HK|HL|HM|HN|HO|HP|HQ|HR|HS|HT|HU|HV|HW|HX|HY|HZ|I0|I1|I2|I3|I4|I5|I6|I7|I8|I9|IA|IB|IC|ID|IE|IF|IG|IH|II|IJ|IK|IL|IM|IN|IO|IP|IQ|IR|IS|IT|IU|IV|IW|IX|IY|IZ|J0|J1|J2|J3|J4|J5|J6|J7|J8|3O|J9|JA|JB|JC|JD|JE|JF|JG|JH|JI|JJ|JK|JL|JM|JN|JO|JP|JQ|JR|JS|JT|JU|JV|JW|JX|JY|JZ|K0|K1|K2|K3|K4|K5|K6|K7|K8|K9|KA|KB|KC|KD|KE|KF|KG|KH|KI|KJ|KK|KL|KM|KN|KO|KP|KQ|KR|KS|KT|KU|KV|KW|KX|KY|KZ|L0|L1|L2|L3|L4|L5|L6|L7|L8|L9|LA|LB|2W|LC|LD|LE|LF|LG|LH|LI|LJ|LK|LL|LM|2V|2L|2X|2O|2U|2M|LN|LO|LP|LQ|LR|LS|LT|LU|LV|LW|LX|LY|LZ|M0|M1|M2|M3|M4|M5|M6|M7|M8|M9|MA|MB|MC|MD|ME|MF|MG|MH|MI|MJ|MK|ML|MM|MN|MO|MP|MQ|MR|MS|4E|49|MT|MU|MV|MW|MX|MY|4D|MZ|N0|N1|N2|N3|N4|N5|N6|N7|4W|4T|N8|N9|NA|NB|NC|ND|NE|NF|NG|NH|NI|4R|50|NJ|NK|NL|4Z|NM|NN|NO|NP|NQ|4U|4X|NR|NS|NT|NU|NV|NW|NX|NY|NZ|O0|O1|O2|4V|O3|4Y|4S|O4|O5|O6|O7|O8|O9|OA|OB|OC|OD|OE|OF|OG|OH|OI|OJ|OK|OL]|OM|@ON|OO|OP|OQ|1|U|OR|OS|OT|OU|OV|OW|5L|OX|OY|OZ|5N|Y|P0|P1|12|P2|5M|32|35|3R|P3|P4|P5|P6|P7|P8|P9|PA|PB|PC|PD|PE|PF|4G|51|5T|5S|68|PG|PH|5J|PI|69|PJ|PK|54|56|59|PL|PM|PN|PO|PP|PQ|5Y|PR|60|PS|PT|PU|PV|PW|PX|61|PY|PZ|65|Q0|Q1|Q2|Q3|Q4|Q5|Q6|Q7|Q8|Q9|QA|QB|QC|5F|QD|QE|QF|QG|QH|64|63|62|QI|66|67|QJ|QK]|QL|-2|QM|@QN|QO|QP|QQ|QR|QS|QT|QU|QV|QW|QX|QY|QZ|R0|R1|R2|R3|R4|R5|R6|R7|R8|R9|RA|RB|RC|RD|RE|RF|RG|RH|RI|RJ|RK|RL|RM|RN|RO|RP|RQ|RR|RS|RT|RU|RV|RW|RX|RY|RZ|S0|S1|S2|S3|S4|S5|S6|S7|S8|S9|SA|SB|SC|SD|SE|SF|SG|SH|SI|SJ|SK|SL]|SM|@QP|SK]|SN|@SO]|SP|@QN]|SQ|SR|SS|-5|ST|SU|SV|$SK|1PM]|SW|-1|SX|-5|SY|-5|SZ|-2|T0|-2|T1|T2|T3|2J|T4|T5|T6|T7|T8|-2|T9|-2|TA|-2|TB|-2|TC|-1|TD|-2|TE|-2|TF|-5|6|1PN|TG|@QP|R3|R9|RJ|RL|RN|RU|S6|S7|SA|SK]|TH|1PO|TI|1PP|TJ|1PQ|TK|TL|TM|1PR|TN|@TO]|TP|TQ|TR|TS|TT|-1|TU|TV|TW|TX|TY|@6A|TZ|U0|U1|U2|U3|U4|U5|U6|U7|U8|U9|UA|UB|UC|UD|UE|UF|UG|UH|UI|6G|6H|6I|UJ|6J|6K|6L|6M|UK|6N|UL|6O|6P|6Q|6R|UM|6S|6T|UN|UO|6U|UP|6V|6W|6X|6Y|6Z|70|71|UQ|UR|US|UT|UU|72|73|74|UV|UW|UX|UY|75|76|77|UZ|V0|78|79|7A|7B|V1|V2|V3|V4|7C|7D|7E|7F|7G|V5|V6|7H|7I|7J|7K|7L|7M|7N|V7|V8|7O|7P|V9|7Q|7R|7S|7T|7U|7V|7W|7X|7Y|VA|7Z|80|81|82|83|84|85|86|87|88|89|VB|VC|8A|8B|8C|8D|8E|8F|8G|8H|8I|VD|VE|VF|VG|VH|VI|VJ|8J|VK|VL|8K|8L|VM|VN|VO|VP|VQ|VR|VS|VT|VU|8M|VV|VW|8N|VX|VY|VZ|W0|W1|W2|W3|W4|W5|W6|W7|W8|W9|WA|WB|WC|WD|WE|WF|WG|WH|WI|WJ|WK|WL|WM|8O|8P|WN]]|WO|$WP|WQ|WR|@$WP|WS|WS|WT|WR|@$WP|WU|WV|RJ|WW|@$WX|WY|WZ|1PS|X0|@@X1|X2|40]|@X3|X4|@X5|X6]]|$WX|X7]]|X8|X9|XA|@$XB|XC|3|XD]|$XB|XE|3|XF]]]]|XG|-2]|$WP|WU|WV|QV|WW|@$WX|WY|WZ|1PT|X0|@@X1|X2|40]|$WX|X7]]|X8|XH|XA|@$XB|XI|3|XJ]]]]|XG|-2]|$WP|WU|WV|QX|WW|@$WX|WY|WZ|1PU|X0|@@X1|X2|40]|$WX|X7]]|X8|XK|XA|@]]]|XG|-2]|$WP|WU|WV|SJ|XL|@@XM|XN|XO]|$WX|X7]]|WW|@$WX|WY|WZ|1PV|X8|XP|XA|@$XB|XQ|3|XR]]]]|XG|-2]|$WP|WU|WV|S9|WW|@$WX|WY|WZ|1PW|X8|XS|XA|@]]]|XG|-2]|$WP|WU|WV|S5|WW|@$WX|WY|WZ|1PX|X8|XT|XA|@]]]|XG|-2]|$WP|WU|WV|QW|XL|@@X1|X2|40]|@X3|X2|X5]|$WX|X7]]|WW|@$WX|WY|WZ|1PY|X8|X9|XA|@$XB|XC|3|XD]|$XB|XE|3|XU]]]]|XG|-1]|$WP|WU|WV|R7|XL|@@X1|X2|40]|$WX|X7]]|WW|@$WX|XV|XW|XX|XY|1PZ|XZ|Y0|WZ|1Q0|XA|@]]]|XG|-1]|$WP|WU|WV|SA|WW|@$WX|WY|WZ|1Q1|X8|XP|XA|@$XB|Y1|3|Y2]|$XB|XQ|3|Y3]]]]|XG|-1]]]|$WP|WS|WS|Y4|WR|@$WP|Y5|WR|@$WP|Y6|Y6|Y7|WR|@$WP|Y8|Y9|@]|WR|@$WP|YA|YB|YC|YD|YE|YF|YG]|$WP|YA|YB|YC|YD|YH|YF|YI]|$WP|YA|YB|YC|YD|YJ|YF|YI]|$WP|YA|YB|YC|YD|YK|YF|YL]|$WP|YA|YB|YC|YD|YM|YF|YN]|$WP|YA|YB|YC|YD|YO|YF|YP]|$WP|YQ|YR|FW|XL|@@YS|X2|40]|@YS|X2|YT]|@YU|X2|40]|@YU|X2|YT]|$WX|YV]]]|$WP|YQ|YR|FY|XL|@@@YS|X2|YW]|@YS|X2|YX]|@YU|X2|YW]|@YU|X2|YX]|$WX|YV]]|@@YS|YY|@40|YT]]|@YU|YY|@40|YT]]|$WX|X7]]|$WX|YZ]]]|$WP|YQ|YR|G0|XL|@@@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|YV]]|@@YS|YY|@40|YT|YW|YX]]|@YU|YY|@40|YT|YW|YX]]|$WX|X7]]|$WX|YZ]]]]]]]]|Z6|$54|$WP|Z7|Z8|54|XG|-1|XL|@]|WR|@$WP|Z9|Z8|54|ZA|@0|H]|ZB|ZC|WR|@]]]]|6G|$WP|ZD|ZE|6G|ZF|1Q2|ZG|1Q3|ZH|1Q4]|6H|$WP|ZD|ZE|6H|ZF|1Q5|ZG|1Q6|ZH|1Q7]|6I|$WP|ZD|ZE|6I|ZF|1Q8|ZG|1Q9|ZH|1QA]|6J|$WP|ZD|ZE|6J|ZF|1QB|ZI|1QC|ZJ|1QD|ZG|1QE|ZH|1QF]|6K|$WP|ZD|ZE|6K|ZF|1QG|ZG|1QH|ZH|1QI]|6L|$WP|ZD|ZE|6L|ZF|1QJ|ZI|1QK|ZJ|1QL|ZG|1QM|ZH|1QN]|6M|$WP|ZD|ZE|6M|ZF|1QO|ZI|1QP|ZJ|1QQ|ZG|1QR|ZH|1QS]|6N|$WP|ZD|ZE|6N|ZF|1QT|ZG|1QU|ZH|1QV]|6O|$WP|ZD|ZE|6O|ZF|1QW|ZG|1QX|ZH|1QY]|6P|$WP|ZD|ZE|6P|ZF|1QZ|ZI|1R0|ZJ|1R1|ZG|1R2|ZH|1R3]|6Q|$WP|ZD|ZE|6Q|ZF|1R4|ZG|1R5|ZH|1R6]|6R|$WP|ZD|ZE|6R|ZF|1R7|ZG|1R8|ZH|1R9]|6S|$WP|ZD|ZE|6S|ZF|1RA|ZG|1RB|ZH|1RC]|6T|$WP|ZD|ZE|6T|ZF|1RD|ZI|1RE|ZJ|1RF|ZG|1RG|ZH|1RH]|6U|$WP|ZD|ZE|6U|ZF|1RI|ZG|1RJ|ZH|1RK]|6V|$WP|ZD|ZE|6V|ZF|1RL|ZG|1RM|ZH|1RN]|6W|$WP|ZD|ZE|6W|ZF|1RO|ZG|1RP|ZH|1RQ]|6Y|$WP|ZD|ZE|6Y|ZF|1RR|ZI|1RS|ZJ|1RT|ZG|1RU|ZH|1RV]|72|$WP|ZD|ZE|72|ZF|1RW|ZG|1RX|ZH|1RY]|73|$WP|ZD|ZE|73|ZF|1RZ|ZG|1S0|ZK|1S1]|74|$WP|ZD|ZE|74|ZF|1S2|ZG|1S3]|75|$WP|ZD|ZE|75|ZF|1S4|ZG|1S5|ZH|1S6]|76|$WP|ZD|ZE|76|ZF|1S7|ZG|1S8|ZH|1S9]|77|$WP|ZD|ZE|77|ZF|1SA|ZG|1SB|ZH|1SC]|78|$WP|ZD|ZE|78|ZF|1SD|ZG|1SE|ZH|1SF]|79|$WP|ZD|ZE|79|ZF|1SG|ZG|1SH|ZH|1SI]|7A|$WP|ZD|ZE|7A|ZF|1SJ|ZG|1SK|ZH|1SL]|7N|$WP|ZD|ZE|7N|ZF|1SM|ZG|1SN|ZH|1SO]|7Y|$WP|ZD|ZE|7Y|ZF|1SP|ZI|1SQ|ZJ|1SR|ZG|1SS|ZH|1ST]|7Z|$WP|ZD|ZE|7Z|ZF|1SU|ZI|1SV|ZJ|1SW|ZG|38M|ZH|1SX]|80|$WP|ZD|ZE|80|ZF|1SY|ZG|1SZ|ZH|1T0]|81|$WP|ZD|ZE|81|ZF|1T1|ZG|1T2|ZH|1T3]|85|$WP|ZD|ZE|85|ZF|1T4|ZG|1T5|ZK|1T6]|86|$WP|ZD|ZE|86|ZF|1T7|ZG|1T8]|8J|$WP|ZD|ZE|8J|ZF|1T9|ZI|1TA|ZJ|1TB|ZG|1TC|ZH|1TD]|8M|$WP|ZD|ZE|8M|ZF|1TE|ZI|1TF|ZJ|1TG|ZG|1TH|ZH|1TI]|8N|$WP|ZD|ZE|8N|ZF|1TJ|ZG|1TK|ZH|1TL]|8U|$WP|ZL|ZM|8U|WR|@$WP|ZN|XL|@@ZO|X2|ZP]|$WX|X7]]|WR|@$WP|ZN|XL|@@ZQ|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|7V|ZF|1TM|ZG|1TN|ZH|1TO]]]|$WP|ZN|XL|@@ZR|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|7L|ZF|1TP|ZG|1TQ|ZH|1TR|XL|@@ZS|ZT|ZU]|$WX|X7]]]]]]]]]|8V|$WP|ZL|ZM|8V|WR|@$WP|ZD|WR|@$WP|ZN|XL|@@ZO|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|7L|ZF|1TS|ZG|1TT|ZH|1TU|XL|@@ZS|ZT|ZU]|$WX|X7]]]]]]|ZE|7E|ZF|1TV|ZG|1TW|ZH|1TX]]]|8W|$WP|ZL|ZM|8W|WR|@$WP|ZD|WR|@$WP|ZN|XL|@@ZO|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|7V|ZF|1TY|ZG|1TZ|ZH|1U0]]]]|ZE|7F|ZF|1U1|ZI|1U2|ZJ|1U3|ZG|1U4|ZH|1U5]]]|8X|$WP|ZL|ZM|8X|WR|@$WP|ZN|XL|@@ZV|X4|@H|14|15|17|37|1C|3T|1F]]|$WX|X7]]|WR|@$WP|ZN|XL|@@ZW|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8D|ZF|1U6|ZI|1U7|ZJ|1U8|ZG|38N|ZH|1U9|XL|@@ZV|X4|@15|3T]]|$WX|X7]]]]]|$WP|ZN|XL|@@ZX|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8E|ZF|1UA|ZI|1UB|ZJ|1UC|ZG|38O|ZH|1UD|XL|@@ZV|X4|@1C|3T]]|$WX|X7]]]]]|$WP|ZN|XL|@@ZY|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8B|ZF|1UE|ZI|1UF|ZJ|1UG|ZG|38P|ZH|1UH|XL|@@ZV|X4|@H|15|17|37|1C|3T|1F|1H|38|3U|39]]|$WX|X7]]]]]|$WP|ZN|XL|@@ZZ|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8C|ZF|1UI|ZI|1UJ|ZJ|1UK|ZG|38Q|ZH|1UL|XL|@@ZV|X4|@1H|38]]|@100|X2|101]|$WX|X7]]]]]|$WP|ZN|XL|@@102|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8F|ZF|1UM|ZI|1UN|ZJ|1UO|ZG|38R|ZH|1UP|XL|@@ZV|X4|@H|3T]]|@100|103|101]|$WX|X7]]]]]|$WP|ZN|XL|@@104|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8A|ZF|1UQ|ZI|1UR|ZJ|1US|ZG|38S|ZH|1UT|XL|@@ZV|X4|@3T|1F]]|@100|X2|105]|$WX|X7]]]]]|$WP|ZN|XL|@@106|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8G|ZF|1UU|ZI|1UV|ZJ|1UW|ZG|38T|ZH|1UX|XL|@@ZV|X4|@37|3T]]|$WX|X7]]]]]|$WP|ZN|XL|@@107|X2|ZP]|$WX|X7]]|WR|@$WP|ZD|ZE|8H|ZF|1UY|ZI|1UZ|ZJ|1V0|ZG|38U|ZH|1V1|XL|@@ZV|X4|@17|3T]]|$WX|X7]]]]]]]]]|8Y|$WP|ZL|ZM|8Y|WR|@$WP|ZD|ZE|7X|WR|@$WP|ZN|XL|@@ZV|X2|1F]|$WX|X7]]|WR|@$WP|ZD|ZE|8A|ZF|1V2|ZI|1V3|ZJ|1V4|ZG|38S|ZH|1V5|XL|@@ZV|X4|@3T|1F]]|@100|X2|105]|$WX|X7]]]]]]|ZF|1V6|ZI|1V7|ZJ|1V8|ZG|38S|ZH|1V9]]]]]]]|$WP|WS|WS|SO|WR|@$WP|108|WR|@$WP|Y6|Y6|Y7|WR|@$WP|Y8|Y9|@]|WR|@$WP|YA|YB|YC|YD|YE|YF|YG]|$WP|YA|YB|YC|YD|YH|YF|YI]|$WP|YA|YB|YC|YD|YJ|YF|YI]|$WP|YA|YB|YC|YD|YK|YF|YL]|$WP|YA|YB|YC|YD|YM|YF|YN]|$WP|YA|YB|YC|YD|YO|YF|YP]|$WP|YQ|YR|FW|XL|@@YS|X2|40]|@YS|X2|YT]|@YU|X2|40]|@YU|X2|YT]|$WX|YV]]]|$WP|YQ|YR|FY|XL|@@@YS|X2|YW]|@YS|X2|YX]|@YU|X2|YW]|@YU|X2|YX]|$WX|YV]]|@@YS|YY|@40|YT]]|@YU|YY|@40|YT]]|$WX|X7]]|$WX|YZ]]]|$WP|YQ|YR|G0|XL|@@@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|YV]]|@@YS|YY|@40|YT|YW|YX]]|@YU|YY|@40|YT|YW|YX]]|$WX|X7]]|$WX|YZ]]]]]]]|$WP|109|WR|@$WP|10A|Z8|5J|WR|@$WP|Z7|Z8|5J|WR|@$WP|Z9|Z8|5J|ZA|@0|H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@10D]|10E|-2|WR|@$WP|10F|10G|10D|10H|-2|10I|-2|J|10J|WR|@$WP|Z7|Z8|5J|3|10K|XG|-1|XL|@]|WR|@$WP|Z9|Z8|5J|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5J|10L|1VA]]|XL|@@10M|X2|0]]]|$WP|10B|10C|@10D]|10E|-2|WR|@$WP|10F|10G|10D|10H|-2|10I|-2|J|10N|WR|@$WP|Z7|Z8|5J|3|10K|XG|-1|XL|@]|WR|@$WP|Z9|Z8|5J|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5J|Y9|@A|C|9|B|D|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S]|10L|1VB]]|XL|@@10M|X2|H]]]]|3|T5|XG|-1|XL|@]]]|XL|@@XM|X2|10T]]|10U|-4|10V|@QU]|10G|10D|10W|$0|$]|H|$]]|XG|-1|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|5L|WR|@$WP|Z7|Z8|5L|WR|@$WP|Z9|Z8|5L|ZA|@0|H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@]|10E|-2|WR|@$WP|10Y|Z8|5L|10Z|-1]|$WP|Z7|Z8|5L|3|10K|XL|@@X1|X2|40]|$WX|X7]]|WR|@$WP|Z9|Z8|5L|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|XL|@@110|X2|0]]]|$WP|10B|10C|@111]|10E|-2|WR|@$WP|112|113|114|115|-3|WR|@$WP|Z7|Z8|5L|3|10K|XL|@@X1|X2|40]|$WX|X7]]|WR|@$WP|Z9|Z8|5L|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]|$WP|116|113|114|117|-2|118|-2|10G|111|119|11A|11B|11C|115|-3|Z8|5L|11D|1VC|11E|$11F|114|11G|@$YD|11H|11F|11I|11J|-1|11K|11L|11M|11N|11O|-1|11P|-4|XL|@]]|$YD|11Q|11F|11R|11J|-1|11K|11S|11M|-4|11O|-2|11T|11U|11P|-4|XL|@@11V|11W|YW]|$WX|X7]]]|$YD|11X|11F|11Y|11J|-1|11K|-4|11M|-4|11O|-2|11P|-4|XL|@]|11Z|120]]|10W|$121|-1|122|-1|123|1VD|124|-2|125|-2]|126|$127|128]|129|@]]|12A|12B|12C|12D|12E|$11I|-4|11R|-4|11Y|-4]|12F|@]|12G|@$11G|@11I|11R|11Y]]]|11G|$11I|$11O|-1|12H|-1|12I|-1]|11R|$11O|-2|12H|-2|12I|-1|12J|1VE]|11Y|$11O|-2|11Z|12K|12H|-2|12I|-1]]|WR|@$WP|12L|113|114|115|-3|125|-2|12M|$]|12N|@]|12O|$]|12P|$]]]]|$WP|ZD|ZE|73|ZF|1VF|ZG|1VG|ZK|1VH]]|Z8|5L|ZF|1VI|12Q|73]|$WP|10Y|Z8|5L|10Z|-1]]|XL|@@110|X2|H]]]]|3|T5|XL|@@X1|X2|40]|$WX|X7]]]]|XL|@@XM|12R|12S]|@XM|12T|12U]|$WX|X7]]|10U|-4|10V|@QP]|10G|-4|10W|$0|$]|H|$]]]|$WP|10Y|Z8|5L|10Z|-2]]]|$WP|109|WR|@$WP|10A|Z8|5M|WR|@$WP|Z7|Z8|5M|WR|@$WP|Z9|Z8|5M|ZA|@0]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@12V]|10E|-2|WR|@$WP|10F|10G|12V|10H|-2|10I|-4|J|12W|WR|@$WP|Z7|Z8|5M|3|10K|XG|-1|XL|@@12X|X2|12Y]|@X1|X2|40]|@12Z|X2|130]|@131|ZT|132]|$WX|X7]]|WR|@$WP|Z9|Z8|5M|ZA|@0]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5M|10L|1VJ]]|XL|@@133|X2|0]]]]|3|T5|XG|-1|XL|@@12X|X2|12Y]|@X1|X2|40]|@12Z|X2|130]|@131|ZT|132]|$WX|X7]]]]|XL|@@XM|X2|134]|$WX|X7]]|10U|134|10V|@QU]|10G|12V|10W|$0|$]|H|$]|14|$]|15|$]]|XG|-1|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|5N|WR|@$WP|Z7|Z8|5N|WR|@$WP|Z9|Z8|5N|ZA|@H|14]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@]|10E|-2|WR|@$WP|10F|10G|-4|10H|-2|10I|-4|J|135|WR|@$WP|Z7|Z8|5N|3|10K|XL|@@X1|X2|40]|@12X|X2|12Y]|@131|ZT|Z3]|$WX|X7]]|WR|@$WP|Z9|Z8|5N|ZA|@H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5N|10L|1VK]]|XL|@@136|X2|H]]]|$WP|10B|10C|@]|10E|-2|WR|@$WP|10F|10G|-4|10H|-2|10I|-4|J|137|WR|@$WP|Z7|Z8|5N|3|10K|XL|@@X1|X2|40]|@12X|X2|12Y]|@131|ZT|Z3]|$WX|X7]]|WR|@$WP|Z9|Z8|5N|ZA|@H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5N|10L|1VL]]|XL|@@136|X2|14]]]]|3|T5|XL|@@X1|X2|40]|@12X|X2|12Y]|@131|ZT|Z3]|$WX|X7]]]]|XL|@@XM|X2|134]|$WX|X7]]|10U|138|10V|@QP]|10G|-4|10W|$H|$]|14|$]]]]]|$WP|109|WR|@$WP|10A|Z8|5S|WR|@$WP|Z7|Z8|5S|WR|@$WP|Z9|Z8|5S|ZA|@0|H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@]|10E|-2|WR|@$WP|10Y|Z8|5S|10Z|-1]|$WP|Z7|Z8|5S|3|10K|XL|@@X1|X2|40]|$WX|X7]]|WR|@$WP|Z9|Z8|5S|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|XL|@@139|X2|0]]]|$WP|10B|10C|@111]|10E|-2|WR|@$WP|112|113|13A|115|-3|WR|@$WP|Z7|Z8|5S|3|10K|XL|@@X1|X2|40]|$WX|X7]]|WR|@$WP|Z9|Z8|5S|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]|$WP|116|113|13A|117|-2|118|-2|10G|111|119|11A|11B|11C|115|-3|Z8|5S|11D|1VM|11E|$11F|13A|11G|@$YD|11H|11F|13B|11J|-1|11K|13C|11M|13D|11O|-1|11P|-4|XL|@]]|$YD|11Q|11F|13E|11J|-1|11K|13F|11M|-4|11O|-2|11T|11U|11P|-4|XL|@@13G|11W|YW]|$WX|X7]]]|$YD|11X|11F|13H|11J|-1|11K|-4|11M|-4|11O|-2|11P|-4|XL|@]|11Z|120]]|10W|$121|-1|122|-1|123|1VN|124|-2|125|-2]|126|$127|128]|129|@]]|12A|13I|12C|13J|12E|$13B|-4|13E|-4|13H|-4]|12F|@]|12G|@$11G|@13B|13E|13H]]]|11G|$13B|$11O|-1|12H|-1|12I|-1]|13E|$11O|-2|12H|-2|12I|-1|12J|1VO]|13H|$11O|-2|11Z|12K|12H|-2|12I|-1]]|WR|@$WP|12L|113|13A|115|-3|125|-2|12M|$]|12N|@]|12O|$]|12P|$]]]]|$WP|ZD|ZE|85|ZF|1VP|ZG|1VQ|ZK|1VR]]|Z8|5S|ZF|1VS|12Q|85]|$WP|10Y|Z8|5S|10Z|-1]]|XL|@@139|X2|H]]]]|3|T5|XL|@@X1|X2|40]|$WX|X7]]]]|XL|@@@XM|13K|13L]|$WX|X7]]|@@XM|12T|13M]|$WX|X7]]|$WX|YZ]]|10U|-4|10V|@QP]|10G|-4|10W|$0|$]|H|$]]]|$WP|10Y|Z8|5S|10Z|-2]]]|$WP|109|WR|@$WP|10A|Z8|5T|WR|@$WP|Z7|Z8|5T|WR|@$WP|Z9|Z8|5T|ZA|@0|14|H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@13N]|10E|-2|WR|@$WP|10F|10G|13N|10H|-2|10I|-2|J|13O|13P|-1|WR|@$WP|Z7|Z8|5T|3|10K|XL|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|WR|@$WP|Z9|Z8|5T|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5T|10L|1VT]]|XL|@@13Q|X2|0]]]|$WP|10B|10C|@13N]|10E|-2|WR|@$WP|10F|10G|13N|10H|-2|10I|-2|J|13R|13P|-1|WR|@$WP|Z7|Z8|5T|3|10K|XL|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|WR|@$WP|Z9|Z8|5T|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5T|10L|1VU]]|XL|@@13Q|X2|H]]]|$WP|10B|10C|@13N]|10E|-2|WR|@$WP|10F|10G|13N|10H|-2|10I|-2|J|13S|13P|-1|WR|@$WP|Z7|Z8|5T|3|10K|XL|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|WR|@$WP|Z9|Z8|5T|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5T|10L|1VV]]|XL|@@13Q|X2|14]]]]|3|T5|XL|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]]]|XL|@@XM|12R|13T]|@XM|XN|13U]|$WX|X7]]|10U|13V|10V|@RJ|QV]|10G|13N|10W|$0|$]|H|$]|14|$]|15|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|5Y|WR|@$WP|Z7|Z8|5Y|WR|@$WP|Z9|Z8|5Y|ZA|@0|H|15]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@13W]|10E|-2|WR|@$WP|10F|10G|13W|10H|-2|10I|-2|J|13X|13P|-1|WR|@$WP|Z7|Z8|5Y|3|10K|XL|@@X1|X2|40]|$WX|X7]]|WR|@$WP|Z9|Z8|5Y|ZA|@0|H|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5Y|10L|1VW]]|XL|@@13Y|X2|0]]]|$WP|10B|10C|@13W]|10E|-2|WR|@$WP|10F|10G|13W|10H|-2|10I|-4|J|13Z|13P|-1|WR|@$WP|Z7|Z8|5Y|3|10K|XL|@@X1|X2|40]|$WX|X7]]|WR|@$WP|Z9|Z8|5Y|ZA|@0|H|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5Y|10L|1VX]]|XL|@@13Y|X2|H]]]|$WP|10B|10C|@13W]|10E|-2|WR|@$WP|10F|10G|13W|10H|-2|10I|-2|J|140|13P|-1|WR|@$WP|Z7|Z8|5Y|3|10K|XL|@@X1|X2|40]|$WX|X7]]|WR|@$WP|Z9|Z8|5Y|ZA|@0|H|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|5Y|10L|1VY]]|XL|@@13Y|X2|15]]]]|3|T5|XL|@@X1|X2|40]|$WX|X7]]]]|XL|@@XM|12R|141]|$WX|X7]]|10U|-4|10V|@QV|QP|QX]|10G|13W|10W|$0|$]|H|$]|14|$]|15|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|60|WR|@$WP|Z7|Z8|60|WR|@$WP|Z9|Z8|60|ZA|@0|H|14|15]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|143|13P|-1|WR|@$WP|Z7|Z8|60|3|10K|XL|@@@YU|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|X4|@145|146]]|@12X|X2|12Y]|@YS|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|YV]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|60|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|60|Y9|@A|C|9|B|D|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S]|10L|1VZ]]|XL|@@147|X2|0]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|148|13P|-1|WR|@$WP|Z7|Z8|60|3|10K|XL|@@@YU|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|X4|@145|146]]|@12X|X2|12Y]|@YS|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|YV]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|60|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|60|Y9|@A|C|9|B|D|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S]|10L|1W0]]|XL|@@147|X2|H]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|149|13P|-1|WR|@$WP|Z7|Z8|60|3|10K|XL|@@@YU|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|X4|@145|146]]|@12X|X2|12Y]|@YS|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|YV]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|60|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|60|Y9|@A|C|9|B|D|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S]|10L|1W1]]|XL|@@147|X2|14]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|14A|13P|-1|WR|@$WP|Z7|Z8|60|3|10K|XL|@@@YU|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|X4|@145|146]]|@12X|X2|12Y]|@YS|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|YV]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|60|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|60|Y9|@A|C|9|B|D|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S]|10L|1W2]]|XL|@@147|X2|15]]]]|3|T5|XL|@@@YU|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|X4|@145|146]]|@12X|X2|12Y]|@YS|YY|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|YV]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]]]|XL|@@XM|12R|134]|@XM|XN|13U]|@14B|14C|14D]|@XM|14E|14F]|$WX|X7]]|10U|14G|10V|@RJ|QV]|10G|142|10W|$0|$]|H|$]|14|$]|15|$]]|14H|14I|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|61|WR|@$WP|Z7|Z8|61|WR|@$WP|Z9|Z8|61|ZA|@0|H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@14J]|10E|-2|WR|@$WP|10F|10G|14J|10H|-2|10I|-2|J|14K|13P|-1|WR|@$WP|Z7|Z8|61|3|10K|XL|@]|WR|@$WP|Z9|Z8|61|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|61|10L|1W3]]|XL|@@14L|X2|0]]]|$WP|10B|10C|@14J]|10E|-2|WR|@$WP|10F|10G|14J|10H|-2|10I|-2|J|14M|13P|-1|WR|@$WP|Z7|Z8|61|3|10K|XL|@]|WR|@$WP|Z9|Z8|61|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|61|10L|1W4]]|XL|@@14L|X2|H]]]]|3|T5|XL|@]]]|XL|@@14B|12R|14N]|$WX|X7]]|10U|14N|10V|@SJ]|10G|14J|10W|$0|$]|H|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|62|WR|@$WP|Z7|Z8|62|WR|@$WP|Z9|Z8|62|ZA|@0|14|H|15|16|17]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|14O|WR|@$WP|Z7|Z8|62|3|10K|XL|@@@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|YY|@145|146]]|@12X|103|12Y]|@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|X7]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|62|ZA|@0|H|14|15|16|17]|ZB|ZC|3|10K|WR|@]]]]]|Z8|62|10L|1W5]]|XL|@@14P|X2|0]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|14Q|13P|-1|WR|@$WP|Z7|Z8|62|3|10K|XL|@@@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|YY|@145|146]]|@12X|103|12Y]|@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|X7]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|62|ZA|@0|H|14|15|16|17]|ZB|ZC|3|10K|WR|@]]]]]|Z8|62|10L|1W6]]|XL|@@14P|X2|H]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|14R|13P|-1|WR|@$WP|Z7|Z8|62|3|10K|XL|@@@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|YY|@145|146]]|@12X|103|12Y]|@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|X7]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|62|ZA|@0|H|14|15|16|17]|ZB|ZC|3|10K|WR|@]]]]]|Z8|62|10L|1W7]]|XL|@@14P|X2|14]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|14S|13P|-1|WR|@$WP|Z7|Z8|62|3|10K|XL|@@@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|YY|@145|146]]|@12X|103|12Y]|@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|X7]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|62|ZA|@0|H|14|15|16|17]|ZB|ZC|3|10K|WR|@]]]]]|Z8|62|10L|1W8]]|XL|@@14P|X2|15]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|14T|13P|-1|WR|@$WP|Z7|Z8|62|3|10K|XL|@@@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|YY|@145|146]]|@12X|103|12Y]|@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|X7]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|62|ZA|@0|H|14|15|16|17]|ZB|ZC|3|10K|WR|@]]]]]|Z8|62|10L|1W9]]|XL|@@14P|X2|16]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|14U|13P|-1|WR|@$WP|Z7|Z8|62|3|10K|XL|@@@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|YY|@145|146]]|@12X|103|12Y]|@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|X7]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|62|ZA|@0|H|14|15|16|17]|ZB|ZC|3|10K|WR|@]]]]]|Z8|62|10L|1WA]]|XL|@@14P|X2|17]]]]|3|T5|XL|@@@YU|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|@144|YY|@145|146]]|@12X|103|12Y]|@YS|X4|@Z0|Z1|Z2|Z3|Z4|Z5]]|$WX|X7]]|@@X3|X2|X5]|@12Z|103|130]|$WX|X7]]|$WX|YZ]]]]|XL|@@XM|12R|134]|@XM|XN|13U]|@XM|14E|14V]|$WX|X7]]|10U|14W|10V|@RJ|QV]|10G|142|10W|$0|$]|H|$]|14|$]|15|$]|16|$]|17|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|63|WR|@$WP|Z7|Z8|63|WR|@$WP|Z9|Z8|63|ZA|@0|H|14]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@14X]|10E|-2|WR|@$WP|10F|10G|14X|10H|-2|10I|-2|J|14Y|13P|-1|WR|@$WP|Z7|Z8|63|3|10K|XL|@]|WR|@$WP|Z9|Z8|63|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|63|10L|1WB]]|XL|@@14Z|X2|0]]]|$WP|10B|10C|@14X]|10E|-2|WR|@$WP|10F|10G|14X|10H|-2|10I|-2|J|150|13P|-1|WR|@$WP|Z7|Z8|63|3|10K|XL|@]|WR|@$WP|Z9|Z8|63|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|63|10L|1WC]]|XL|@@14Z|X2|H]]]|$WP|10B|10C|@14X]|10E|-2|WR|@$WP|10F|10G|14X|10H|-2|10I|-2|J|151|13P|-1|WR|@$WP|Z7|Z8|63|3|10K|XL|@]|WR|@$WP|Z9|Z8|63|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|63|10L|1WD]]|XL|@@14Z|X2|14]]]]|3|T5|XL|@]]]|XL|@@XM|X2|152]]|10U|-4|10V|@S9|QV|S5]|10G|14X|10W|$0|$]|H|$]|14|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|64|WR|@$WP|Z7|Z8|64|WR|@$WP|Z9|Z8|64|ZA|@0|H|14|15]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@153]|10E|-2|WR|@$WP|10F|10G|153|10H|-2|10I|-2|J|154|WR|@$WP|Z7|Z8|64|3|10K|XL|@]|WR|@$WP|Z9|Z8|64|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|64|10L|1WE]]|XL|@@155|X2|0]]]|$WP|10B|10C|@153]|10E|-2|WR|@$WP|10F|10G|153|10H|-2|10I|-2|J|156|13P|-1|WR|@$WP|Z7|Z8|64|3|10K|XL|@]|WR|@$WP|Z9|Z8|64|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|64|10L|1WF]]|XL|@@155|X2|H]]]|$WP|10B|10C|@153]|10E|-2|WR|@$WP|10F|10G|153|10H|-2|10I|-2|J|157|13P|-1|WR|@$WP|Z7|Z8|64|3|10K|XL|@]|WR|@$WP|Z9|Z8|64|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|64|10L|1WG]]|XL|@@155|X2|14]]]|$WP|10B|10C|@153]|10E|-2|WR|@$WP|10F|10G|153|10H|-2|10I|-2|J|158|13P|-1|WR|@$WP|Z7|Z8|64|3|10K|XL|@]|WR|@$WP|Z9|Z8|64|ZA|@0|H|14|15]|ZB|ZC|3|10K|WR|@]]]]]|Z8|64|10L|1WH]]|XL|@@155|X2|15]]]]|3|T5|XL|@]]]|XL|@@XM|X2|134]]|10U|-4|10V|@QP|S9|S5]|10G|153|10W|$0|$]|H|$]|14|$]|15|$]|16|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|65|WR|@$WP|Z7|Z8|65|WR|@$WP|Z9|Z8|65|ZA|@H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@159]|10E|-2|WR|@$WP|10F|10G|15A|10H|-2|10I|-2|J|15B|13P|-1|WR|@$WP|Z7|Z8|65|3|10K|XL|@@12X|X2|12Y]|@15C|X2|146]|$WX|X7]]|WR|@$WP|Z9|Z8|65|ZA|@H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|65|10L|1WI]]|XL|@@15D|X2|H]]]]|3|T5|XL|@@12X|X2|12Y]|@15C|X2|146]|$WX|X7]]]]|XL|@@XM|X2|134]|@14B|14C|15E]|$WX|X7]]|10U|15F|10V|@QP]|10G|15G|10W|$H|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|66|WR|@$WP|Z7|Z8|66|WR|@$WP|Z9|Z8|66|ZA|@0|14|H|15|16]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|15H|WR|@$WP|Z7|Z8|66|3|10K|XL|@@X3|X2|X5]|$WX|X7]]|WR|@$WP|Z9|Z8|66|ZA|@0|H|14|15|16]|ZB|ZC|3|10K|WR|@]]]]]|Z8|66|10L|1WJ]]|XL|@@15I|X2|0]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|15J|13P|-1|WR|@$WP|Z7|Z8|66|3|10K|XL|@@X3|X2|X5]|$WX|X7]]|WR|@$WP|Z9|Z8|66|ZA|@0|H|14|15|16]|ZB|ZC|3|10K|WR|@]]]]]|Z8|66|10L|1WK]]|XL|@@15I|X2|H]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|15K|13P|-1|WR|@$WP|Z7|Z8|66|3|10K|XL|@@X3|X2|X5]|$WX|X7]]|WR|@$WP|Z9|Z8|66|ZA|@0|H|14|15|16]|ZB|ZC|3|10K|WR|@]]]]]|Z8|66|10L|1WL]]|XL|@@15I|X2|14]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|15L|13P|-1|WR|@$WP|Z7|Z8|66|3|10K|XL|@@X3|X2|X5]|$WX|X7]]|WR|@$WP|Z9|Z8|66|ZA|@0|H|14|15|16]|ZB|ZC|3|10K|WR|@]]]]]|Z8|66|10L|1WM]]|XL|@@15I|X2|15]]]|$WP|10B|10C|@142]|10E|-2|WR|@$WP|10F|10G|142|10H|-2|10I|-2|J|15M|13P|-1|WR|@$WP|Z7|Z8|66|3|10K|XL|@@X3|X2|X5]|$WX|X7]]|WR|@$WP|Z9|Z8|66|ZA|@0|H|14|15|16]|ZB|ZC|3|10K|WR|@]]]]]|Z8|66|10L|1WN]]|XL|@@15I|X2|16]]]]|3|T5|XL|@@X3|X2|X5]|$WX|X7]]]]|XL|@@XM|12R|134]|@XM|XN|13U]|@XM|13K|15N]|$WX|X7]]|10U|15O|10V|@RJ|QV]|10G|142|10W|$0|$]|H|$]|14|$]|15|$]|16|$]|17|$]]|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|67|WR|@$WP|Z7|Z8|67|WR|@$WP|Z9|Z8|67|ZA|@0|H|14]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@15P]|10E|-2|WR|@$WP|10F|10G|15P|10H|-2|10I|-2|J|15Q|13P|-1|WR|@$WP|Z7|Z8|67|3|10K|XL|@@@15R|X4|@3Y|15S]]|@12X|X2|15T]|$WX|YV]]|@@X3|X2|15U]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|67|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|67|10L|1WO]]|XL|@@15V|X2|0]]]|$WP|10B|10C|@15P]|10E|-2|WR|@$WP|10F|10G|15P|10H|-2|10I|-2|J|15W|13P|-1|WR|@$WP|Z7|Z8|67|3|10K|XL|@@@15R|X4|@3Y|15S]]|@12X|X2|15T]|$WX|YV]]|@@X3|X2|15U]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|67|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|67|10L|1WP]]|XL|@@15V|X2|H]]]|$WP|10B|10C|@15P]|10E|-2|WR|@$WP|10F|10G|15P|10H|-2|10I|-2|J|15X|13P|-1|WR|@$WP|Z7|Z8|67|3|10K|XL|@@@15R|X4|@3Y|15S]]|@12X|X2|15T]|$WX|YV]]|@@X3|X2|15U]|$WX|X7]]|$WX|YZ]]|WR|@$WP|Z9|Z8|67|ZA|@0|H|14]|ZB|ZC|3|10K|WR|@]]]]]|Z8|67|10L|1WQ]]|XL|@@15V|X2|14]]]]|3|T5|XL|@@@15R|X4|@3Y|15S]]|@12X|X2|15T]|$WX|YV]]|@@X3|X2|15U]|$WX|X7]]|$WX|YZ]]]]|XL|@@XM|12R|134]|@XM|XN|15E]|@XM|12T|15Y]|$WX|X7]]|10U|15Z|10V|@QP]|10G|15P|10W|$0|$]|H|$]|14|$]]|14H|160|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|68|WR|@$WP|Z7|Z8|68|WR|@$WP|Z9|Z8|68|ZA|@0|H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@161]|10E|-2|WR|@$WP|10F|10G|161|10H|-2|10I|-2|J|162|WR|@$WP|Z7|Z8|68|3|10K|XG|-1|XL|@]|WR|@$WP|Z9|Z8|68|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|68|10L|1WR]]|XL|@@163|X2|0]]]|$WP|10B|10C|@161]|10E|-2|WR|@$WP|10F|10G|161|10H|-2|10I|-2|J|164|WR|@$WP|Z7|Z8|68|3|10K|XG|-1|XL|@]|WR|@$WP|Z9|Z8|68|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|68|10L|1WS]]|XL|@@163|X2|H]]]]|3|T5|XG|-1|XL|@]]]|XL|@@XM|XN|165]|$WX|X7]]|10U|-4|10V|@QW|RJ|QP|R7]|10G|161|10W|$0|$]|H|$]]|XG|-1|10X|-1]]]|$WP|109|WR|@$WP|10A|Z8|69|WR|@$WP|Z7|Z8|69|WR|@$WP|Z9|Z8|69|ZA|@0|H]|ZB|ZC|3|T5|WR|@]]|$WP|10B|10C|@166]|10E|-2|WR|@$WP|10F|10G|166|10H|-2|10I|-2|J|167|13P|-1|WR|@$WP|Z7|Z8|69|3|10K|XG|-1|XL|@]|WR|@$WP|Z9|Z8|69|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|69|10L|1WT]]|XL|@@168|X2|0]]]|$WP|10B|10C|@166]|10E|-2|WR|@$WP|10F|10G|166|10H|-2|10I|-2|J|169|13P|-1|WR|@$WP|Z7|Z8|69|3|10K|XG|-1|XL|@]|WR|@$WP|Z9|Z8|69|ZA|@0|H]|ZB|ZC|3|10K|WR|@]]]]]|Z8|69|10L|1WU]]|XL|@@168|X2|H]]]]|3|T5|XG|-1|XL|@]]]|XL|@@14B|XN|16A]|$WX|X7]]|10U|-4|10V|@SA]|10G|166|10W|$0|$]|H|$]]|XG|-1|10X|-1]]]|$WP|16B|ZE|6G|XL|@@16C|16D|16E]]|X0|@@X1|X2|40]|@12X|X2|12Y]|$WX|X7]]|16F|WY|16G|16H|XA|@$XB|16I|3|16J]]|WR|@$WP|16K|ZE|6G|WR|@$WP|ZD|ZE|6G|ZF|1WV|ZG|1WW|ZH|1WX]]]]|XG|-2]|$WP|16B|ZE|6H|XL|@@16C|16D|16E]]|X0|@@X3|X2|X5]|@X1|X2|40]|$WX|X7]]|16F|WY|16G|X9|XA|@$XB|XC|3|XD]|$XB|XE|3|16L]]|WR|@$WP|16K|ZE|6H|WR|@$WP|ZD|ZE|6H|ZF|1WY|ZG|1WZ|ZH|1X0]]]]|XG|-2]|$WP|16B|ZE|6I|XL|@@16C|16D|28]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|X9|XA|@$XB|XC|3|XD]|$XB|XE|3|16M]]|WR|@$WP|16K|ZE|6I|WR|@$WP|ZD|ZE|6I|ZF|1X1|ZG|1X2|ZH|1X3]]]]|XG|-2]|$WP|16B|ZE|6J|XL|@@16C|16D|28]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|X9|XA|@$XB|XC|3|16N]|$XB|XE|3|16O]]|WR|@$WP|16K|ZE|6J|WR|@$WP|ZD|ZE|6J|ZF|1X4|ZI|1X5|ZJ|1X6|ZG|1X7|ZH|1X8]]]]|XG|-2]|$WP|16B|ZE|6K|XL|@@16C|16D|28]]|X0|@]|16F|WY|16G|16P|XA|@$XB|16Q|3|16R]]|WR|@$WP|16K|ZE|6K|WR|@$WP|ZD|ZE|6K|ZF|1X9|ZG|1XA|ZH|1XB]]]]|XG|-2]|$WP|16B|ZE|6L|XL|@@16C|16D|28]]|X0|@]|16F|WY|16S|12I|16T|29|16G|16P|XA|@$XB|16Q|3|16U]|$XB|16V|3|16W]]|WR|@$WP|16K|ZE|6L|16T|29|16S|12I|WR|@$WP|ZD|ZE|6L|ZF|1XC|ZI|1XD|ZJ|1XE|ZG|1XF|ZH|1XG]]]]|XG|-2]|$WP|16B|ZE|6M|XL|@@16C|16D|28]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16S|12I|16T|16X|16G|16P|XA|@$XB|16Q|3|16U]]|WR|@$WP|16K|ZE|6M|16T|16X|16S|12I|WR|@$WP|ZD|ZE|6M|ZF|1XH|ZI|1XI|ZJ|1XJ|ZG|1XK|ZH|1XL]]]]|XG|-2]|$WP|16B|ZE|6N|XL|@@16C|16D|16Y]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|16Z|XA|@]|WR|@$WP|16K|ZE|6N|WR|@$WP|ZD|ZE|6N|ZF|1XM|ZG|1XN|ZH|1XO]]]]|XG|-2]|$WP|16B|ZE|6O|XL|@@16C|16D|28]]|X0|@]|16F|WY|16G|16P|XA|@$XB|16Q|3|16R]|$XB|16V|3|170]]|WR|@$WP|16K|ZE|6O|WR|@$WP|ZD|ZE|6O|ZF|1XP|ZG|1XQ|ZH|1XR]]]]|XG|-2]|$WP|16B|ZE|6P|XL|@@16C|16D|28]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|16P|XA|@$XB|16Q|3|16U]|$XB|171|3|172]]|16S|12I|16T|29|WR|@$WP|16K|ZE|6P|16T|29|16S|12I|WR|@$WP|ZD|ZE|6P|ZF|1XS|ZI|1XT|ZJ|1XU|ZG|1XV|ZH|1XW]]]]|XG|-2]|$WP|16B|ZE|6Q|XL|@@16C|16D|28]]|X0|@]|16F|WY|16G|X9|XA|@$XB|XC|3|173]|$XB|XE|3|174]]|WR|@$WP|16K|ZE|6Q|WR|@$WP|ZD|ZE|6Q|ZF|1XX|ZG|1XY|ZH|1XZ]]]]|XG|-2]|$WP|16B|ZE|6R|XL|@@16C|16D|28]]|X0|@]|16F|WY|16G|X9|XA|@$XB|XC|3|175]|$XB|XE|3|176]]|WR|@$WP|16K|ZE|6R|WR|@$WP|ZD|ZE|6R|ZF|1Y0|ZG|1Y1|ZH|1Y2]]]]|XG|-2]|$WP|16B|ZE|6S|XL|@@16C|16D|28]]|X0|@]|16F|WY|16G|16P|XA|@$XB|16Q|3|16R]|$XB|16V|3|177]]|WR|@$WP|16K|ZE|6S|WR|@$WP|ZD|ZE|6S|ZF|1Y3|ZG|1Y4|ZH|1Y5]]]]|XG|-2]|$WP|16B|ZE|6T|XL|@@16C|16D|28]]|X0|@]|16F|WY|16G|16P|XA|@$XB|16Q|3|16U]|$XB|171|3|178]]|16S|12I|16T|29|WR|@$WP|16K|ZE|6T|16T|29|16S|12I|WR|@$WP|ZD|ZE|6T|ZF|1Y6|ZI|1Y7|ZJ|1Y8|ZG|1Y9|ZH|1YA]]]]|XG|-2]|$WP|16B|ZE|6U|XL|@@16C|16D|16E]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|16H|XA|@$XB|16I|3|16J]]|WR|@$WP|16K|ZE|6U|WR|@$WP|ZD|ZE|6U|ZF|1YB|ZG|1YC|ZH|1YD]]]]|XG|-2]|$WP|16B|ZE|6V|XL|@@16C|16D|28]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|X9|XA|@$XB|XC|3|179]|$XB|XE|3|17A]|$XB|17B|3|17C]]|WR|@$WP|16K|ZE|6V|WR|@$WP|ZD|ZE|6V|ZF|1YE|ZG|1YF|ZH|1YG]]]]|XG|-2]|$WP|16B|ZE|6W|XL|@@16C|16D|28]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|X9|XA|@$XB|XC|3|179]|$XB|XE|3|17A]|$XB|17B|3|17D]]|WR|@$WP|16K|ZE|6W|WR|@$WP|ZD|ZE|6W|ZF|1YH|ZG|1YI|ZH|1YJ]]]]|XG|-2]|$WP|16B|ZE|6Y|XL|@@16C|16D|28]|$WX|X7]]|X0|@@17E|X4|@17F|17G|17H|17I|17J|17K]]|@X1|X2|40]|$WX|X7]]|16F|WY|16G|16U|XA|@]|WR|@$WP|16K|ZE|6Y|WR|@$WP|ZD|ZE|6Y|ZF|1YK|ZI|1YL|ZJ|1YM|ZG|1YN|ZH|1YO]]]]|XG|-2]|$WP|16B|ZE|72|XL|@@16C|16D|28]]|X0|@]|16F|WY|16G|17L|XA|@]|WR|@$WP|16K|ZE|72|WR|@$WP|ZD|ZE|72|ZF|1YP|ZG|1YQ|ZH|1YR]]]]|XG|-2]|$WP|16B|ZE|7N|XL|@@16C|16D|28]]|X0|@@X1|X2|40]|$WX|X7]]|16F|WY|16G|X9|XA|@$XB|XC|3|17M]|$XB|17B|3|17N]]|WR|@$WP|16K|ZE|7N|WR|@$WP|ZD|ZE|7N|ZF|1YS|ZG|1YT|ZH|1YU]]]]|XG|-2]|$WP|16B|ZE|7Y|XL|@@16C|16D|28]|$WX|X7]]|X0|@@17E|X4|@17O]]|@X1|X2|40]|$WX|X7]]|16F|WY|16G|16U|XA|@]|WR|@$WP|16K|ZE|7Y|WR|@$WP|ZD|ZE|7Y|ZF|1YV|ZI|1YW|ZJ|1YX|ZG|1YY|ZH|1YZ]]]]|XG|-2]|$WP|16B|ZE|7Z|XL|@@16C|16D|16E]]|X0|@]|16F|17P|16G|-4|XA|@]|17P|@QP]|WR|@$WP|16K|ZE|7Z|WR|@$WP|ZD|ZE|7Z|ZF|1Z0|ZI|1Z1|ZJ|1Z2|ZG|38M|ZH|1Z3]]]]|XG|-2]|$WP|16B|ZE|80|XL|@@16C|16D|16E]]|X0|@@17Q|17R|Z1]|$WX|X7]]|16F|17P|16G|-4|XA|@]|17P|@QP]|WR|@$WP|16K|ZE|80|WR|@$WP|ZD|ZE|80|ZF|1Z4|ZG|1Z5|ZH|1Z6]]]]|XG|-2]|$WP|16B|ZE|81|XL|@@16C|16D|16E]]|X0|@@17S|17R|YW]|$WX|X7]]|16F|17P|16G|-4|XA|@]|17P|@QP]|WR|@$WP|16K|ZE|81|WR|@$WP|ZD|ZE|81|ZF|1Z7|ZG|1Z8|ZH|1Z9]]]]|XG|-2]|$WP|16B|ZE|8J|XL|@@16C|16D|28]]|X0|@]|16F|WY|16S|12I|16T|29|16G|16P|XA|@$XB|16Q|3|16U]]|WR|@$WP|16K|ZE|8J|16T|29|16S|12I|WR|@$WP|ZD|ZE|8J|ZF|1ZA|ZI|1ZB|ZJ|1ZC|ZG|1ZD|ZH|1ZE]]]]|XG|-2]|$WP|16B|ZE|8M|XL|@@16C|16D|28]]|X0|@@17E|13K|17T]|$WX|X7]]|16F|WY|16S|12I|16T|29|16G|16P|XA|@$XB|16Q|3|16U]]|WR|@$WP|16K|ZE|8M|16T|29|16S|12I|WR|@$WP|ZD|ZE|8M|ZF|1ZF|ZI|1ZG|ZJ|1ZH|ZG|1ZI|ZH|1ZJ]]]]|XG|-2]|$WP|16B|ZE|8N|XL|@@16C|16D|XO]]|X0|@]|16F|WY|16G|X9|XA|@$XB|XC|3|179]|$XB|17B|3|17U]|$XB|XE|3|17A]]|WR|@$WP|16K|ZE|8N|WR|@$WP|ZD|ZE|8N|ZF|1ZK|ZG|1ZL|ZH|1ZM]]]]|XG|-2]]|XL|@]|17V|-1]]]]|17W|17X]|17Y|$5|T7|XB|17Z]|180|$3|181|182|-5|183|-5|T5|-2|26|1ZN|184|185|186|@5U|5K|5P|5Q|5Z|5O|5V|5R|55|Z|3S|5X]|187|@A|C|9|B|D|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S|188|189|18A]|18B|@A|C|9|B|D|5U|5W|5K|5P|5Q|5Z|10O|10P|10Q|10R|5V|8|F|10S]]|18C|-3|29|$29|18D|185|18E|146|1ZO|18F|18G|18H|18I|18J|18K|2A|18L]]';  var _wa_preboot = function(visitor_callback) {function on_dl_event(e,n){window.dataLayer=window.dataLayer||[];var o=window.dataLayer.push;window.dataLayer.push=function(t){o(t),t&&t.event==e&&n()}}function is_consented(){try{var e=JSON.parse(localStorage.getItem("cookieConsent"))}catch(n){}return e&&e.spcx}function proceed(){proceeded||visitor_callback({}),proceeded=!0}var proceeded=!1;is_consented()?proceed():on_dl_event("consent",function(){is_consented()&&proceed()});}; var _wa_cjs = { 'js-mBpVeboXukBhuXghZLhr': function (cdx) { window.conductrics_checkIfEligibileForP2p = function(isLoggedIn, p2p_lightgbm, p2p) {
    var isIphone = false;
    var isNotDirect = false;
    var isNotLoggedIn = false;
    var isNotTopDeciles = false;
    var topDecilesArray = ['1', '2', '3', '4']; //which deciles we look at (these are strings)

    if(navigator.userAgent.includes("iPhone")) {
    	isIphone = true; //is iphone because useragent has iphone
    }

    if(document.referrer != '' && document.referrer.includes('.hs.fi') === false) {
        isNotDirect = true; //is not direct because referrer exists and it's not hs.fi
    }

    if(isLoggedIn === 'Not_LoggedIn') {
        isNotLoggedIn = true; //is not logged-in because isLoggedIn=Not_LoggedIn
    }

    if(!topDecilesArray.includes(p2p_lightgbm) || !topDecilesArray.includes(p2p)) {
        isNotTopDeciles = true; // is not top deciles because either p2p or p2p_lightgbm is bottom decile
    }

    //if ALL of those are TRUE, then exclude from this agent.
    if(isIphone && isNotDirect && isNotLoggedIn && isNotTopDeciles) {
        return false;
    }
    return true;
}
return true;
 },'js-fZMMbMYuxKfsqGYSCMkd': function (cdx) { //if article publishDate older than 30 days but younger than 90 days
window.conductrics_checkIfEligibileArticlePublishedDate = function(minDays, maxDays) {
  var headerLoginLink = document.querySelector('[data-ab="nav-login-button"]');
  var publishedDate = false;
  var now = new Date();
  var minAge = 60 * 60 * 1000 * 24 * (minDays || 30); // default 30 days
  var maxAge = 60 * 60 * 1000 * 24 * (maxDays || 90); // default 90 days
  var d = window.dataLayer;
  for(var i = 0; i<d.length;i++) {
    if(d[i].page && d[i].page.publishedDate) {
      publishedDate = d[i].page.publishedDate;
    }
  }

  if(headerLoginLink && publishedDate) {
    var articleAge = now - publishedDate;
    if(articleAge > minAge && articleAge < maxAge) {
      //console.log('--- article is between ' + (minDays || 30) + ' and ' + (maxDays || 90) + ' days old');
      return true;
    }
    else {
      //console.log('--- article is not between ' + (minDays || 30) + ' and ' + (maxDays || 90) + ' days old');
      return false;
    }
  }
  return false;
}
return true;
 },'js-2nUdrfXeidXc4tGsgsSc-1755170836': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-47';
const variantId = 'A';
const experimentName = experimentId + ' karenssi popup';
const variantName = variantId + ' control';

const currentQuarantineText = 'Olet jo käyttänyt edun. Sinulle voimassaolevat tarjoukset löydät alta';
const currentQuarantineButtonText = 'Katso tarjous';

const oldActive0AID = 'G65KS7LFLXSC8';
const oldActive90AID = '46DRP57V85BX';
const newActive0AID = 'G8F6PLOM4YGRV';
const newActive90AID = 'G8G87O6XGHC5F';
const newActive0PagePath = '/hs-digionly-karenssi';
const newActive90PagePath = '/hs-digi-karenssi';

let newQuarantineText = 'Valitettavasti tilaussivun etu on tarkoitettu vain uusille tilaajille. Palaaville tilaajille soveltuvat tarjoukset näet alta.';
let newQuarantineButtonText = 'Katso tarjoukset';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    //helper function to change button url
    const changeButtonUrl = function (button) {
        let newAID = false;
        let newPagePath = false;
        if(button.href.indexOf(oldActive0AID)) {
            newAID = newActive0AID;
            newPagePath = newActive0PagePath;
        }
        else if(button.href.indexOf(oldActive90AID)) {
            newAID = newActive90AID;
            newPagePath = newActive90PagePath;
        }
    
        let pagePath = newPagePath;
        let urlParams = {
            'aid': newAID,
        }     
        
        let url = new URL(button.href);
        // Update search params
        if (urlParams) {
            Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) {
                url.searchParams.delete(key)
            } else if (urlParams[key] !== undefined) {
                url.searchParams.set(key, urlParams[key])
            }
            })
        }
        // Update path
        if (pagePath) {
            url.pathname = pagePath;
        }
        button.href = url.toString();
        return button;
    }

    //helper function to replace text in correct child node
    function replaceText(node, newText) {
        if (node.nodeType === Node.TEXT_NODE) {
            node.nodeValue = newText;
        } else {
            node.childNodes.forEach((child) => replaceText(child, newText));
        }
    }

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.ab-test-quarantine-modified');
        let quarantineModal = document.querySelector('[data-ab="offer-used-error-modal"]');
        let quarantineText = document.querySelector('[data-ab="offer-used-error-modal-description"]');
        let quarantineButton = document.querySelector('[data-ab="offer-used-error-modal-button"]');
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        }
        else if(quarantineModal && quarantineButton && quarantineText && quarantineText.innerText.indexOf(currentQuarantineText) > -1 && quarantineButton.innerText.trim() === currentQuarantineButtonText) { 
            if(quarantineButton.href.indexOf(oldActive0AID) > -1 || quarantineButton.href.indexOf(oldActive90AID) > -1) {
                let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                quarantineText.classList.add('ab-test-quarantine-modified', namelower);
                quarantineText.innerText = newQuarantineText;
                quarantineText.style.marginBottom = '0';

                quarantineButton = changeButtonUrl(quarantineButton);
                quarantineButton.onclick = function (e) {
                    sendGAEvent('click subscribe from quarantine offer at ' + variantId);
                };
                replaceText(quarantineButton, newQuarantineButtonText);
                    
                dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                
                if(requireCdx) {
                    cdx.confirm(true);
                }
                return true;
            }
            else {
                sendGAEvent('script failed, wrong quarantine AID');
                return false;
            }
        }
        else {
            sendGAEvent('script failed, quarantine button or text not found');
            return false;
        }
    }

    doExperimentChanges();
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-3tjRvxpTwBJGo24sBxN1-1750924733': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-46b';
const variantId = 'D';
const experimentName = experimentId + ' Timanttimuuri ot';
const variantName = variantId + ' radio sykloni 2+6 -50% new';

let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
// currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const commonDateUntil = 60; //false or number of days
const miniDateUntil = 60;
const digiDateUntil = 60;
const cycloneDateUntil = 240;
const miniAID = 'GG3NF6QHXOQCZ'; //HS Digi
const miniPath = '/shopping-ui/hs-digionly-tutustu-65'; //HS Digi
const digiAID = 'G5CRFBZRNLKMB'; //HS Digi+
const digiPath = '/shopping-ui/hs-digionly-tutustu-65'; //HS Digi+
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
const defaultProduct = 'Digi+'; //which product is pre-selected

const paywallEvent = 'radio sykloni 2+6 -50%'; //change this to describe how paywall offering is change from default (or set false if offering default)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment
const sendConfirmEvents = false; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
const paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    //if(true) { //use this if not HS ot
    if(requireCdx === false || window.conductrics_checkIfEligibileForP2p(cdx.trait('isLoggedIn'), cdx.trait('p2p_lightgbm'), cdx.trait('p2p'))) {
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else if(testing) {
                        console.log('no paywall change offer event - this is control version?');
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };
        
        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));  
            }
        }

        //helper function to create product element 
        const createProductElement = function(productname, title, features, button) {
            let product = createElem('label', 'ab-test-paywall-product', false);
            product.setAttribute('product', productname);
            
            if(productname === defaultProduct) { //this is the default option
                product.classList.add('selected'); //mark it selected
            }
            let container = createElem('div', 'ab-product-container', false);

            let check = createElem('input', 'ab-radio', false);
            check.type = 'radio';
            check.name = 'product';
            check.value = productname;
            if(productname === defaultProduct) {
                check.checked = 'checked';
            }
            let productcontent = createElem('div', 'ab-product-content', false);
            let producttitle = createElem('p', 'ab-product-title', title);

            container.appendChild(check);
            productcontent.appendChild(producttitle);

            if(features) {
                let producttext = createElem('p', 'ab-product-text', features);
                productcontent.appendChild(producttext);
            }
            
            container.appendChild(productcontent);
            product.appendChild(container);
            check.onchange = function(e) {
                sendGAEvent('click product ' + productname);
                changeButtonUrlAndText(button, productname);
            }
            return product;
        }

        //helper function to change button url and text
        const changeButtonUrlAndText = function (button, pos) {          
            let urlParams = false;
            let pagePath = false;
            //ab-test-hard-paywall-subtitle
            let cancelAnytime = 'Voit irtisanoa tilauksen koska tahansa.';
            let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
            allProductElements.forEach(function (element) {
                element.classList.remove('selected');
                if(element.getAttribute('product') === pos) {
                    element.classList.add('selected');
                }
            });

            if(pos === 'Digi') {
                pagePath = miniPath;
                urlParams = {
                  'embedded': null,
                  'aid': miniAID,
                  'ref': 'maksumuuri_kova_ot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }

                replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
            }
            else if(pos === 'Digi+') {
                pagePath = digiPath;
                urlParams = {
                  'embedded': null,
                  'aid': digiAID,
                  'ref': 'maksumuuri_kova_ot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
  
                replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
            }
            else {  //sample?
                //shouldnt happen
            }
          
            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
              Object.keys(urlParams).forEach(function (key) {
                if (urlParams[key] === null) {
                  url.searchParams.delete(key)
                } else if (urlParams[key] !== undefined) {
                  url.searchParams.set(key, urlParams[key])
                }
              })
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }

            let productContainsText = document.querySelector('.ab-test-paywall-product-contains-title');
            if(productContainsText) {  
                productContainsText.innerText = 'Mitä HS ' + pos + ' sisältää?';
            }
            let productContainsBoxes = document.querySelectorAll('.ab-test-paywall-product-contains-box');
            productContainsBoxes.forEach(function (box) {
                box.classList.remove('selected');
                if(box.getAttribute('product') === pos) {
                    box.classList.add('selected');
                }
            });

            button.href = url.toString();
            button.setAttribute('data-product-name', pos);
            button.onclick = function (e) {
                sendGAEvent('click subscribe ' + pos + ' at ' + variantId)
            }
            return button;
        }

        //helper function to calculate days d.m. 
        const calculateDays = function(d, suffix) {
            let date = new Date();
            date.setDate(date.getDate() + d);
            let dd = date.getDate();
            let mm = date.getMonth()+1;
            let pvmSpan = false;
            if(suffix) {
                pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
            }
            else {
                pvmSpan = dd.toString() + '.' + mm.toString() + '.'
            }
            return pvmSpan;
        }

        //helper function to insert style
        const insertStyle = function(containerdiv) {
            let style = `
                    :root {
                        --main-color: #191919;
                        --underline-color: #787878;
                        --line-color: #E9EAED;
                        --main-font: 'Helsingin', Arial, sans-serif;
                    }
                        
                    .ab-test-paywall-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        max-width: calc(100% - 16px);
                    }

                    .ab-test-paywall-container [data-ab="hard-paywall-title"] {
                        font-size: 26px;
                        margin-bottom: 16px;
                        text-align: center;
                    }

                    .ab-test-paywall-product {
                        display: flex;
                        flex-direction: column;
                        align-items: baseline;
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        border-top: 1px solid var(--line-color);
                        padding: 12px 0px;
                        cursor: pointer;
                        width: 100%;
                        border: 1px solid #000;
                        border-radius: 4px;
                        padding:0;
                        margin-bottom: 8px;
                        background: #F8F8F8;
                    }

                    .ab-test-paywall-product[product="Kaikki"] {
                        background: #FFF6E5;
                    }

                    .ab-product-container {
                        display: flex;
                        flex-direction: row;
                        align-items: baseline;
                        padding: 12px 12px 8px;
                        width: 100%;
                    }

                    .ab-legend {
                        font-family: var(--main-font);
                        font-size: 18px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        margin-bottom: 20px;
                    }

                    .ab-test-paywall-delimeter {
                        overflow: hidden;
                        margin-top: 0;
                        margin-bottom: 8px;

                        text-align: center;
                        font-family: var(--main-font);
                        font-size: 14px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        letter-spacing: 0.36px;
                    }
                    
                    .ab-test-paywall-delimeter:before, .ab-test-paywall-delimeter:after {
                        background-color: #ccc;
                        content: "";
                        display: inline-block;
                        height: 0.5px;
                        position: relative;
                        vertical-align: middle;
                        width: 50%;
                    }

                    .ab-test-paywall-delimeter:before {
                        right: 8px;
                        margin-left: -50%;
                    }
    
                    .ab-test-paywall-delimeter:after {
                        left: 8px;
                        margin-right: -50%;
                    }

                    .ab-test-paywall-product .ab-product-content {
                        display: flex;
                        flex-direction: column;
                        margin-left: 12px;
                        width: 100%;
                    }

                    .ab-test-paywall-product .ab-radio {
                        transform: scale(1.6);
                        accent-color: var(--main-color);
                        cursor: pointer;
                    }

                    @supports (-moz-appearance:none) {
                        .ab-test-paywall-product .ab-radio {
                            transform: scale(1.5);
                        }
                    }

                    .ab-test-paywall-product .ab-product-title {
                        font-weight: 600;
                        padding-bottom: 4px;
                        font-size: 14px;
                        display: flex;
                        justify-content: space-between;
                    }

                    .ab-test-paywall-product .ab-product-title > span {
                        font-size: 14px;
                        font-weight: 600;
                        float: right;
                        letter-spacing: -0.5px;
                    }

                    .ab-test-paywall-product .ab-product-title > span > span {
                        font-size: 12px;
                        font-weight: 300;
                        color: #666;
                        text-decoration: line-through;
                        padding-left: 4px;
                        letter-spacing: 0;
                    }

                    .ab-test-paywall-product .ab-product-text {
                        font-size: 12px;
                        margin-top: 2px;
                        color: #555;
                        text-align: left;
                    }

                    .ab-test-paywall-product .ab-product-text > span {
                        margin-right: 8px;
                    }

                    .ab-test-paywall-product .ab-product-text svg {
                        fill: #191919;
                        display: inline;
                        margin-right: 2px;
                        vertical-align: baseline;
                        height: 10px;
                    }

                    .ab-test-paywall-additional-info {
                        font-family: var(--main-font);
                        font-size: 15px;
                        font-weight: 600;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 16px;
                    }

                    .ab-test-paywall-additional-info span {
                        /* no line break */
                        white-space: nowrap;
                    }

                    [data-ab="hard-paywall-subtitle"] {
                        font-size: 15px;
                        font-family: var(--main-font);
                        margin-top: 8px;
                        margin-bottom: 0px;
                        text-align: center;
                    }

                    [data-ab="hard-paywall-subscribe-button"] {
                        margin: 12px auto 24px;
                        width: 260px;
                        font-family: var(--main-font);
                        font-size: 16px;
                        font-weight: 600;
                    }

                    [data-ab="hard-paywall-subscribe-button"]:active {
                        margin: 12px auto 5px;
                        width: 258px;
                    }

                    [data-ab="hard-paywall-login-link"] {
                        text-decoration: underline;
                        font-size: 14px;   
                        margin-bottom: 24px;
                        margin-top: 16px;
                    }

                    [data-ab="hard-paywall-offering"] {
                        max-width: 480px;
                    }

                    .ab-test-paywall-product-contains-fieldset {
                        border: 1px solid #191919;
                        margin-bottom: 16px;
                    }

                    .ab-test-paywall-product-contains-title {
                        font-family: var(--main-font);
                        font-size: 18px;
                        font-weight: 600;
                        line-height: 1;
                        text-align: center;
                        margin-bottom: 0;
                        text-align: center;
                        margin: 0 auto;
                        display: inline;
                        padding: 0 16px;
                    }

                    .ab-test-paywall-product-contains-box {
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        margin-top: -8px;
                        text-align: left;
                        display: none;
                        list-style: none;
                        padding: 24px 36px 14px 12px;
                        max-width: 350px;
                    }

                    .ab-test-paywall-product-contains-box li {
                        line-height: 1.2;
                        margin-bottom: 8px;
                        position: relative;
                    }

                    .ab-test-paywall-product-contains-box li.included:before {
                        position: absolute;
                        content: '✓';
					    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.58075 12.1462L6.25765 9.82308C6.1192 9.68461 5.94517 9.61378 5.73555 9.61058C5.52593 9.60736 5.34869 9.67819 5.20382 9.82308C5.05896 9.96794 4.98653 10.1436 4.98653 10.35C4.98653 10.5564 5.05896 10.732 5.20382 10.8769L7.94805 13.6211C8.12882 13.8019 8.33972 13.8923 8.58075 13.8923C8.82177 13.8923 9.03266 13.8019 9.21343 13.6211L14.7769 8.05765C14.9153 7.9192 14.9862 7.74517 14.9894 7.53555C14.9926 7.32593 14.9218 7.14869 14.7769 7.00383C14.632 6.85896 14.4564 6.78653 14.25 6.78653C14.0436 6.78653 13.8679 6.85896 13.7231 7.00383L8.58075 12.1462ZM10.0016 19.5C8.68772 19.5 7.45268 19.2506 6.29655 18.752C5.1404 18.2533 4.13472 17.5765 3.2795 16.7217C2.42427 15.8669 1.74721 14.8616 1.24833 13.706C0.749442 12.5504 0.5 11.3156 0.5 10.0017C0.5 8.68772 0.749334 7.45268 1.248 6.29655C1.74667 5.1404 2.42342 4.13472 3.27825 3.2795C4.1331 2.42427 5.13834 1.74721 6.29398 1.24833C7.44959 0.749443 8.68437 0.5 9.9983 0.5C11.3122 0.5 12.5473 0.749334 13.7034 1.248C14.8596 1.74667 15.8652 2.42342 16.7205 3.27825C17.5757 4.1331 18.2527 5.13834 18.7516 6.29398C19.2505 7.44959 19.5 8.68437 19.5 9.9983C19.5 11.3122 19.2506 12.5473 18.752 13.7034C18.2533 14.8596 17.5765 15.8652 16.7217 16.7205C15.8669 17.5757 14.8616 18.2527 13.706 18.7516C12.5504 19.2505 11.3156 19.5 10.0016 19.5Z' fill='%23191919'/%3E%3C/svg%3E");
                    }

                    .ab-test-paywall-product-contains-box li.not-included:before {
                        position: absolute;
                        content: '';
                        content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M9.99998 11.0538L13.0731 14.1269C13.2115 14.2653 13.3856 14.3362 13.5952 14.3394C13.8048 14.3426 13.982 14.2718 14.1269 14.1269C14.2718 13.982 14.3442 13.8064 14.3442 13.6C14.3442 13.3936 14.2718 13.2179 14.1269 13.0731L11.0538 9.99998L14.1269 6.92688C14.2653 6.78843 14.3362 6.61439 14.3394 6.40478C14.3426 6.19518 14.2718 6.01794 14.1269 5.87308C13.982 5.72819 13.8064 5.65575 13.6 5.65575C13.3936 5.65575 13.2179 5.72819 13.0731 5.87308L9.99998 8.94615L6.92688 5.87308C6.78842 5.73461 6.61439 5.66378 6.40478 5.66058C6.19518 5.65736 6.01794 5.72819 5.87308 5.87308C5.72819 6.01794 5.65575 6.19358 5.65575 6.39998C5.65575 6.60638 5.72819 6.78201 5.87308 6.92688L8.94615 9.99998L5.87308 13.0731C5.73461 13.2115 5.66378 13.3856 5.66058 13.5952C5.65736 13.8048 5.72819 13.982 5.87308 14.1269C6.01794 14.2718 6.19358 14.3442 6.39998 14.3442C6.60638 14.3442 6.78201 14.2718 6.92688 14.1269L9.99998 11.0538ZM10.0016 19.5C8.68772 19.5 7.45268 19.2506 6.29655 18.752C5.1404 18.2533 4.13472 17.5765 3.2795 16.7217C2.42427 15.8669 1.74721 14.8616 1.24833 13.706C0.749442 12.5504 0.5 11.3156 0.5 10.0017C0.5 8.68772 0.749334 7.45268 1.248 6.29655C1.74667 5.1404 2.42342 4.13472 3.27825 3.2795C4.1331 2.42427 5.13834 1.74721 6.29398 1.24833C7.44959 0.749443 8.68437 0.5 9.9983 0.5C11.3122 0.5 12.5473 0.749334 13.7034 1.248C14.8596 1.74667 15.8652 2.42342 16.7205 3.27825C17.5757 4.1331 18.2527 5.13834 18.7516 6.29398C19.2505 7.44959 19.5 8.68437 19.5 9.9983C19.5 11.3122 19.2506 12.5473 18.752 13.7034C18.2533 14.8596 17.5765 15.8652 16.7217 16.7205C15.8669 17.5757 14.8616 18.2527 13.706 18.7516C12.5504 19.2505 11.3156 19.5 10.0016 19.5ZM9.99998 18C12.2333 18 14.125 17.225 15.675 15.675C17.225 14.125 18 12.2333 18 9.99998C18 7.76664 17.225 5.87498 15.675 4.32498C14.125 2.77498 12.2333 1.99998 9.99998 1.99998C7.76664 1.99998 5.87498 2.77498 4.32498 4.32498C2.77498 5.87498 1.99998 7.76664 1.99998 9.99998C1.99998 12.2333 2.77498 14.125 4.32498 15.675C5.87498 17.225 7.76664 18 9.99998 18Z' fill='%236A6A6D'/%3E%3C/svg%3E");
                    }

                    .ab-test-paywall-product-contains-box li span {
                        position: relative;
                        left: 28px;
                    }

                    .ab-test-paywall-product-contains-box.selected {
                        display: block;
                    }

                    .ab-test-paywall-product-contains-box svg {
                        fill: #191919;
                        display: inline-block;
                        margin-right: 6px;
                    }

                    .ab-test-paywall-product-contains-box .not-included, .ab-test-paywall-product-contains-box .not-included svg {
                        color: #6A6A6D;
                        fill: #6A6A6D;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-paywall-product {
                        border: 1px solid #ccc;
                        background: #262626;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span > span {
                        color: #bcbcbc;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-radio {
                        accent-color: #444444;
                    }

                    .sndp-dark .ab-test-paywall-product-contains-title {
                        background: #101010;
                    }

                    .sndp-dark .ab-test-paywall-product-contains-fieldset {
                        border: 1px solid #ccc;
                    }

                    .sndp-dark .ab-test-paywall-product-contains-box li.included:before {
                        content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.58075 12.1462L6.25765 9.82308C6.1192 9.68461 5.94517 9.61378 5.73555 9.61058C5.52593 9.60736 5.34869 9.67819 5.20382 9.82308C5.05896 9.96794 4.98653 10.1436 4.98653 10.35C4.98653 10.5564 5.05896 10.732 5.20382 10.8769L7.94805 13.6211C8.12882 13.8019 8.33972 13.8923 8.58075 13.8923C8.82177 13.8923 9.03266 13.8019 9.21343 13.6211L14.7769 8.05765C14.9153 7.9192 14.9862 7.74517 14.9894 7.53555C14.9926 7.32593 14.9218 7.14869 14.7769 7.00383C14.632 6.85896 14.4564 6.78653 14.25 6.78653C14.0436 6.78653 13.8679 6.85896 13.7231 7.00383L8.58075 12.1462ZM10.0016 19.5C8.68772 19.5 7.45268 19.2506 6.29655 18.752C5.1404 18.2533 4.13472 17.5765 3.2795 16.7217C2.42427 15.8669 1.74721 14.8616 1.24833 13.706C0.749442 12.5504 0.5 11.3156 0.5 10.0017C0.5 8.68772 0.749334 7.45268 1.248 6.29655C1.74667 5.1404 2.42342 4.13472 3.27825 3.2795C4.1331 2.42427 5.13834 1.74721 6.29398 1.24833C7.44959 0.749443 8.68437 0.5 9.9983 0.5C11.3122 0.5 12.5473 0.749334 13.7034 1.248C14.8596 1.74667 15.8652 2.42342 16.7205 3.27825C17.5757 4.1331 18.2527 5.13834 18.7516 6.29398C19.2505 7.44959 19.5 8.68437 19.5 9.9983C19.5 11.3122 19.2506 12.5473 18.752 13.7034C18.2533 14.8596 17.5765 15.8652 16.7217 16.7205C15.8669 17.5757 14.8616 18.2527 13.706 18.7516C12.5504 19.2505 11.3156 19.5 10.0016 19.5Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
                    }

                    .sndp-dark .ab-test-paywall-product-contains-box li.not-included:before {
                        content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath class='ruksi' d='M9.99998 11.0538L13.0731 14.1269C13.2115 14.2653 13.3856 14.3362 13.5952 14.3394C13.8048 14.3426 13.982 14.2718 14.1269 14.1269C14.2718 13.982 14.3442 13.8064 14.3442 13.6C14.3442 13.3936 14.2718 13.2179 14.1269 13.0731L11.0538 9.99998L14.1269 6.92688C14.2653 6.78843 14.3362 6.61439 14.3394 6.40478C14.3426 6.19518 14.2718 6.01794 14.1269 5.87308C13.982 5.72819 13.8064 5.65575 13.6 5.65575C13.3936 5.65575 13.2179 5.72819 13.0731 5.87308L9.99998 8.94615L6.92688 5.87308C6.78842 5.73461 6.61439 5.66378 6.40478 5.66058C6.19518 5.65736 6.01794 5.72819 5.87308 5.87308C5.72819 6.01794 5.65575 6.19358 5.65575 6.39998C5.65575 6.60638 5.72819 6.78201 5.87308 6.92688L8.94615 9.99998L5.87308 13.0731C5.73461 13.2115 5.66378 13.3856 5.66058 13.5952C5.65736 13.8048 5.72819 13.982 5.87308 14.1269C6.01794 14.2718 6.19358 14.3442 6.39998 14.3442C6.60638 14.3442 6.78201 14.2718 6.92688 14.1269L9.99998 11.0538ZM10.0016 19.5C8.68772 19.5 7.45268 19.2506 6.29655 18.752C5.1404 18.2533 4.13472 17.5765 3.2795 16.7217C2.42427 15.8669 1.74721 14.8616 1.24833 13.706C0.749442 12.5504 0.5 11.3156 0.5 10.0017C0.5 8.68772 0.749334 7.45268 1.248 6.29655C1.74667 5.1404 2.42342 4.13472 3.27825 3.2795C4.1331 2.42427 5.13834 1.74721 6.29398 1.24833C7.44959 0.749443 8.68437 0.5 9.9983 0.5C11.3122 0.5 12.5473 0.749334 13.7034 1.248C14.8596 1.74667 15.8652 2.42342 16.7205 3.27825C17.5757 4.1331 18.2527 5.13834 18.7516 6.29398C19.2505 7.44959 19.5 8.68437 19.5 9.9983C19.5 11.3122 19.2506 12.5473 18.752 13.7034C18.2533 14.8596 17.5765 15.8652 16.7217 16.7205C15.8669 17.5757 14.8616 18.2527 13.706 18.7516C12.5504 19.2505 11.3156 19.5 10.0016 19.5ZM9.99998 18C12.2333 18 14.125 17.225 15.675 15.675C17.225 14.125 18 12.2333 18 9.99998C18 7.76664 17.225 5.87498 15.675 4.32498C14.125 2.77498 12.2333 1.99998 9.99998 1.99998C7.76664 1.99998 5.87498 2.77498 4.32498 4.32498C2.77498 5.87498 1.99998 7.76664 1.99998 9.99998C1.99998 12.2333 2.77498 14.125 4.32498 15.675C5.87498 17.225 7.76664 18 9.99998 18Z' fill='%23999999' /%3E%3C/svg%3E");
                    }

                    .sndp-dark .ab-test-paywall-product-contains-box .not-included, .sndp-dark .ab-test-paywall-product-contains-box .not-included svg {
                        color: #AFAFAF;
                    }
                    
                    @media (min-width: 380px) {
                        .ab-test-paywall-container {
                            max-width: 350px;
                        }

                        .ab-test-paywall-container [data-ab="hard-paywall-title"] {
                            font-size: 28px;
                        }

                        .ab-test-paywall-product .ab-product-text {
                            font-size: 14px;
                            margin-top: 4px;
                        }

                        .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span {
                            font-size: 16px;
                            letter-spacing: 0;
                        }

                        .ab-test-paywall-product .ab-product-title > span > span {
                            font-size: 14px;
                            padding-left: 8px;
                        }

                        .ab-test-paywall-product .ab-product-content {
                            margin-left: 16px;
                        }

                        .ab-test-paywall-product .ab-product-text svg {
                            margin-right: 4px;
                            height: 12px;
                        }

                        .ab-test-paywall-product .ab-product-text > span {
                            margin-right: 12px;
                        }
                    }
            `;
            
            if(document.location.pathname.indexOf('/visio/') > -1 ||
            document.location.pathname.indexOf('/teknologia/') > -1 ||
            document.location.pathname.indexOf('/talous/') > -1 ||
            document.location.pathname.indexOf('/autot/') > -1) {
            style += `	
                    .ab-test-paywall-product {
                        background: #F5E6DC;
                    }
            
                    .ab-test-paywall-grid .ab-grid-choose-button {
                        background: #b7384b;
                    }

                    .ab-test-paywall-product .ab-radio {
                        accent-color: #b7384b;
                    }

                    .ab-test-paywall-grid .ab-grid-choose-button:hover, .ab-test-paywall-grid .ab-grid-choose-button:active, .ab-test-paywall-grid .ab-grid-choose-button:focus {
                        background: #752f35;
                    }

                    .ab-test-paywall-product-contains-title {
                        background: #f9eee7;
                    }
                `;
            }
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            containerdiv.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    title.classList.add('ab-test-paywall-modified', namelower);

                    if(secondaryButton) { //katso muut tarjoukset button on HS
                        secondaryButton.style.display = 'none';
                    }

                    let loginLink = paywall.querySelector('[data-ab="' + paywallType + '-paywall-login-link"]');
                    if(loginLink) {
                        let paywallIndicator = paywall.querySelector('[data-ab="' + paywallType + '-paywall-logo"]').parentNode;
                        paywallIndicator.insertBefore(loginLink, paywallIndicator.childNodes[2]); //insert in between paywall indicators
                    }

                    //create container div - which contains all the elements
                    let containerdiv = createElem('div', 'ab-test-paywall-container', false);

                    //change subscribe button url and text
                    button = changeButtonUrlAndText(button, 'Digi+');

                    //main date until in title
                    if(commonDateUntil) {
                        let pvmSpan = calculateDays(commonDateUntil, 'asti');
                        title.innerHTML = 'Lue maksutta <nobr>' + pvmSpan + '</nobr>';
                    }

                    //let checkIconSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M6.05367 8.43079L4.50494 6.88207C4.41264 6.78976 4.29662 6.74254 4.15687 6.74041C4.01713 6.73826 3.89897 6.78548 3.80239 6.88207C3.70581 6.97865 3.65752 7.09574 3.65752 7.23334C3.65752 7.37094 3.70581 7.48803 3.80239 7.5846L5.63187 9.41409C5.75238 9.5346 5.89298 9.59486 6.05367 9.59486C6.21435 9.59486 6.35494 9.5346 6.47545 9.41409L10.1844 5.70512C10.2767 5.61282 10.324 5.4968 10.3261 5.35705C10.3282 5.21731 10.281 5.09915 10.1844 5.00257C10.0878 4.90599 9.97076 4.8577 9.83316 4.8577C9.69556 4.8577 9.57847 4.90599 9.48189 5.00257L6.05367 8.43079ZM7.00094 13.3333C6.12498 13.3333 5.30163 13.1671 4.53087 12.8347C3.7601 12.5022 3.08965 12.051 2.5195 11.4812C1.94935 10.9113 1.49798 10.2411 1.16539 9.47067C0.832798 8.70026 0.666504 7.87708 0.666504 7.00112C0.666504 6.12517 0.832726 5.30181 1.16517 4.53105C1.49762 3.76029 1.94878 3.08983 2.51867 2.51969C3.08857 1.94953 3.75873 1.49816 4.52915 1.16557C5.29957 0.832982 6.12275 0.666687 6.9987 0.666687C7.87466 0.666687 8.69802 0.83291 9.46877 1.16535C10.2395 1.4978 10.91 1.94897 11.4801 2.51885C12.0503 3.08875 12.5017 3.75892 12.8343 4.52934C13.1668 5.29975 13.3331 6.12293 13.3331 6.99889C13.3331 7.87484 13.1669 8.6982 12.8345 9.46895C12.502 10.2397 12.0509 10.9102 11.481 11.4803C10.9111 12.0505 10.2409 12.5019 9.47049 12.8344C8.70008 13.167 7.87689 13.3333 7.00094 13.3333ZM6.99982 12.3333C8.48871 12.3333 9.74982 11.8167 10.7832 10.7833C11.8165 9.75001 12.3332 8.48889 12.3332 7C12.3332 5.51112 11.8165 4.25 10.7832 3.21667C9.74982 2.18334 8.48871 1.66667 6.99982 1.66667C5.51093 1.66667 4.24982 2.18334 3.21649 3.21667C2.18315 4.25 1.66649 5.51112 1.66649 7C1.66649 8.48889 2.18315 9.75001 3.21649 10.7833C4.24982 11.8167 5.51093 12.3333 6.99982 12.3333Z" fill="#191919"/></svg>';
                    /*
                    let readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
                    let readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
                    let facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';
                    */

                    let fieldset = createElem('fieldset', 'ab-fieldset', false);
                    let legend = createElem('legend', 'ab-legend', 'Valitse sinulle sopiva tilaus');
                    let product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', false, button);
                    let product2 = createProductElement('Digi', 'HS Digi <span>2 kk 0 € <span>(norm. 14,90 €/kk)<span></span>', false, button);
                    
                    let boxFieldset = createElem('fieldset', 'ab-test-paywall-product-contains-fieldset', false);
                    let productContainsTitle = createElem('legend', 'ab-test-paywall-product-contains-title', 'Mitä HS Digi+ sisältää?');
                    boxFieldset.appendChild(productContainsTitle);

                    let product1ContainsBox = createElem('ul', 'ab-test-paywall-product-contains-box', false);
                    let product2ContainsBox = createElem('ul', 'ab-test-paywall-product-contains-box', false);
                    product1ContainsBox.setAttribute('product', 'Digi');
                    if(defaultProduct === 'Digi') { //this is dumb code, should refactor
                        product1ContainsBox.classList.add('selected');
                    }
                    product2ContainsBox.setAttribute('product', 'Digi+');
                    if(defaultProduct === 'Digi+') {
                        product2ContainsBox.classList.add('selected');
                    }

                    let includedSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M8.58075 12.1462L6.25765 9.82308C6.1192 9.68461 5.94517 9.61378 5.73555 9.61058C5.52593 9.60736 5.34869 9.67819 5.20382 9.82308C5.05896 9.96794 4.98653 10.1436 4.98653 10.35C4.98653 10.5564 5.05896 10.732 5.20382 10.8769L7.94805 13.6211C8.12882 13.8019 8.33972 13.8923 8.58075 13.8923C8.82177 13.8923 9.03266 13.8019 9.21343 13.6211L14.7769 8.05765C14.9153 7.9192 14.9862 7.74517 14.9894 7.53555C14.9926 7.32593 14.9218 7.14869 14.7769 7.00383C14.632 6.85896 14.4564 6.78653 14.25 6.78653C14.0436 6.78653 13.8679 6.85896 13.7231 7.00383L8.58075 12.1462ZM10.0016 19.5C8.68772 19.5 7.45268 19.2506 6.29655 18.752C5.1404 18.2533 4.13472 17.5765 3.2795 16.7217C2.42427 15.8669 1.74721 14.8616 1.24833 13.706C0.749442 12.5504 0.5 11.3156 0.5 10.0017C0.5 8.68772 0.749334 7.45268 1.248 6.29655C1.74667 5.1404 2.42342 4.13472 3.27825 3.2795C4.1331 2.42427 5.13834 1.74721 6.29398 1.24833C7.44959 0.749443 8.68437 0.5 9.9983 0.5C11.3122 0.5 12.5473 0.749334 13.7034 1.248C14.8596 1.74667 15.8652 2.42342 16.7205 3.27825C17.5757 4.1331 18.2527 5.13834 18.7516 6.29398C19.2505 7.44959 19.5 8.68437 19.5 9.9983C19.5 11.3122 19.2506 12.5473 18.752 13.7034C18.2533 14.8596 17.5765 15.8652 16.7217 16.7205C15.8669 17.5757 14.8616 18.2527 13.706 18.7516C12.5504 19.2505 11.3156 19.5 10.0016 19.5Z" fill="#191919"/></svg>';
                    let notIncludedSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M8.58075 12.1462L6.25765 9.82308C6.1192 9.68461 5.94517 9.61378 5.73555 9.61058C5.52593 9.60736 5.34869 9.67819 5.20382 9.82308C5.05896 9.96794 4.98653 10.1436 4.98653 10.35C4.98653 10.5564 5.05896 10.732 5.20382 10.8769L7.94805 13.6211C8.12882 13.8019 8.33972 13.8923 8.58075 13.8923C8.82177 13.8923 9.03266 13.8019 9.21343 13.6211L14.7769 8.05765C14.9153 7.9192 14.9862 7.74517 14.9894 7.53555C14.9926 7.32593 14.9218 7.14869 14.7769 7.00383C14.632 6.85896 14.4564 6.78653 14.25 6.78653C14.0436 6.78653 13.8679 6.85896 13.7231 7.00383L8.58075 12.1462ZM10.0016 19.5C8.68772 19.5 7.45268 19.2506 6.29655 18.752C5.1404 18.2533 4.13472 17.5765 3.2795 16.7217C2.42427 15.8669 1.74721 14.8616 1.24833 13.706C0.749442 12.5504 0.5 11.3156 0.5 10.0017C0.5 8.68772 0.749334 7.45268 1.248 6.29655C1.74667 5.1404 2.42342 4.13472 3.27825 3.2795C4.1331 2.42427 5.13834 1.74721 6.29398 1.24833C7.44959 0.749443 8.68437 0.5 9.9983 0.5C11.3122 0.5 12.5473 0.749334 13.7034 1.248C14.8596 1.74667 15.8652 2.42342 16.7205 3.27825C17.5757 4.1331 18.2527 5.13834 18.7516 6.29398C19.2505 7.44959 19.5 8.68437 19.5 9.9983C19.5 11.3122 19.2506 12.5473 18.752 13.7034C18.2533 14.8596 17.5765 15.8652 16.7217 16.7205C15.8669 17.5757 14.8616 18.2527 13.706 18.7516C12.5504 19.2505 11.3156 19.5 10.0016 19.5ZM9.99998 18C12.2333 18 14.125 17.225 15.675 15.675C17.225 14.125 18 12.2333 18 9.99998C18 7.76664 17.225 5.87498 15.675 4.32498C14.125 2.77498 12.2333 1.99998 9.99998 1.99998C7.76664 1.99998 5.87498 2.77498 4.32498 4.32498C2.77498 5.87498 1.99998 7.76664 1.99998 9.99998C1.99998 12.2333 2.77498 14.125 4.32498 15.675C5.87498 17.225 7.76664 18 9.99998 18Z" fill="#999999"/></svg>';
                    includedSvg = '';
                    notIncludedSvg = '';

                    //create an array. Array items then added to the box as <li>
                    let product1ContainsArray = [];
                    product1ContainsArray.push('<li class="included">' + includedSvg + '<span>Timanttijutut ja erikoisartikkelit</span></li>');
                    product1ContainsArray.push('<li class="not-included">' + notIncludedSvg + '<span>Lukuoikeus 3 perheenjäsenelle</span></li>');
                    product1ContainsArray.push('<li class="not-included">' + notIncludedSvg + '<span>Helsingin Sanomat, Kuukausiliite ja HS Viikko näköislehtinä</span></li>');
                    //render the array items to the box
                    for(let i = 0; i < product1ContainsArray.length; i++) {
                        product1ContainsBox.innerHTML += product1ContainsArray[i];
                    }

                    //create an array. Array items then added to the box as <li>
                    let product2ContainsArray = [];
                    product2ContainsArray.push('<li class="included">' + includedSvg + '<span>Timanttijutut ja erikoisartikkelit</span></li>');
                    product2ContainsArray.push('<li class="included">' + includedSvg + '<span>Lukuoikeus 3 perheenjäsenelle</span></li>');
                    product2ContainsArray.push('<li class="included">' + includedSvg + '<span>Helsingin Sanomat, Kuukausiliite ja HS Viikko näköislehtinä</span></li>');
                    //render the array items to the box
                    for(let i = 0; i < product2ContainsArray.length; i++) {
                        product2ContainsBox.innerHTML += product2ContainsArray[i];
                    }
                    
                    subtitle.innerText = 'Voit irtisanoa tilauksen koska tahansa.';
                    subtitle.classList.remove('paywall__ingress');

                    //append elements to container one by one
                    containerdiv.appendChild(title);
                    
                    //delimeter element with TAI and border
                    /*let delimeter = createElem('div', 'ab-test-paywall-delimeter', '<span>TAI</span>');
                    containerdiv.appendChild(delimeter);*/
                    
                    fieldset.appendChild(legend);
                    fieldset.appendChild(product1);
                    fieldset.appendChild(product2);
                    containerdiv.appendChild(fieldset);

                    if(cycloneDateUntil) { //cyclone subtitle
                        let pvmSpan = calculateDays(cycloneDateUntil, 'asti');
                        let cycloneText = createElem('div', 'paywall__text-block ab-test-paywall-additional-info', 'Lisäksi voit maksuttoman jakson jälkeen jatkaa tilausta 50 % alennuksella ' + pvmSpan);
                        containerdiv.appendChild(cycloneText);
                    }

                    containerdiv.appendChild(button);
                    boxFieldset.appendChild(productContainsTitle);
                    boxFieldset.appendChild(product1ContainsBox);
                    boxFieldset.appendChild(product2ContainsBox);
                    containerdiv.appendChild(boxFieldset);
                    containerdiv.appendChild(subtitle);

                    insertStyle(containerdiv);
                    
                    let paywall_content = document.querySelector('[data-ab="paywall-content"]');
                    if(paywall_content) {
                        paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]);
                    }
                    else {
                        paywall.insertBefore(containerdiv, paywall.childNodes[1]); //insert as 2nd element on paywall after paywall indicator	
                    }
            
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    return confirmExperiment();
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    };
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-5wVT6XuGhIjNmVV1z4pG-1745398789': function (cdx) { cdx&&console.log("---isSubscriber: "+cdx.trait("isSubscriber"));
 },'js-6NUo2fgz3OYvATtdfvrX-1745830242': function (cdx) { let requireCdx = false; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-46';
const variantId = 'A';
const experimentName = experimentId + ' karenssi popup';
const variantName = variantId + ' control';

const currentQuarantineText = 'Olet jo käyttänyt edun. Sinulle voimassaolevat tarjoukset löydät alta';
const currentQuarantineButtonText = 'Katso tarjous';

let newQuarantineText = 'Voi ei! Olet jo käyttänyt edun. Ei hätää! Meillä on sinulle vaihtoehtoinen tarjous, jonka näet alla olevan napin takaa.';
 newQuarantineText = 'Hei! Tämä etu on tarjolla vain uusille tilaajille. Toivomme sinun palaavan tilaajaksemme, klikkaa alta ja näet tarjoukset palaaville tilaajille.';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    //helper function to create any html element
    const createElem = function(tag, classes, text) {
        let elem = document.createElement(tag);
        if(classes) {
            //split classes by space
            classes = classes.split(' ');
            for(let i = 0; i < classes.length; i++) {
                elem.classList.add(classes[i]);
            }
        }
        if(text) {
            elem.innerHTML = text;
        }
        return elem;
    }

    //helper function to calculate days d.m. 
    const calculateDays = function(d, suffix) {
        let date = new Date();
        date.setDate(date.getDate() + d);
        let dd = date.getDate();
        let mm = date.getMonth()+1;
        let pvmSpan = false;
        if(suffix) {
            pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
        }
        else {
            pvmSpan = dd.toString() + '.' + mm.toString() + '.'
        }
        return pvmSpan;
    }

    //helper function to insert style
    const insertStyle = function(elem) {
        let style = `
                :root {
                    --border-color: #e1e1e4;
                    --title-font: Sanomat,Georgia,Baskerville,serif;
                    --body-font: Helsingin, Helvetica, Arial, sans-serif;
                    --primary-button-color: #191919;
                    --primary-button-hover-color: #555558;
                    --primary-button-dark-mode-color: #fff;
                    --primary-button-dark-mode-hover-color: #afafb2;
                    --button-font-weight: 500;
                }
                    
                .paywall__text-with-lines-around:after, .paywall__text-with-lines-around:before {
                    height: .5px;
                }

                /* dark mode support */
                .sndp-dark .ab-test-subscribe-button {
                    background-color: var(--primary-button-dark-mode-color);
                    color: #191919;
                }

                .sndp-dark .ab-test-dynamic-paywall-element-benefits li {
                    list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path xmlns="http://www.w3.org/2000/svg" d="M6.05392 8.43073L4.50518 6.88201C4.41288 6.7897 4.29686 6.74248 4.15711 6.74034C4.01737 6.7382 3.89921 6.78542 3.80263 6.88201C3.70605 6.97859 3.65777 7.09568 3.65777 7.23328C3.65777 7.37088 3.70605 7.48797 3.80263 7.58454L5.63212 9.41403C5.75263 9.53454 5.89323 9.5948 6.05392 9.5948C6.21459 9.5948 6.35519 9.53454 6.4757 9.41403L10.1847 5.70506C10.277 5.61276 10.3242 5.49674 10.3263 5.35699C10.3285 5.21725 10.2813 5.09909 10.1847 5.00251C10.0881 4.90593 9.971 4.85764 9.8334 4.85764C9.6958 4.85764 9.57871 4.90593 9.48213 5.00251L6.05392 8.43073ZM7.00118 13.3333C6.12523 13.3333 5.30187 13.167 4.53112 12.8346C3.76035 12.5021 3.08989 12.051 2.51975 11.4811C1.94959 10.9112 1.49822 10.241 1.16563 9.47061C0.833043 8.7002 0.666748 7.87702 0.666748 7.00106C0.666748 6.1251 0.83297 5.30175 1.16541 4.53099C1.49786 3.76023 1.94903 3.08977 2.51891 2.51963C3.08881 1.94947 3.75898 1.4981 4.5294 1.16551C5.29981 0.832921 6.12299 0.666626 6.99895 0.666626C7.8749 0.666626 8.69826 0.832849 9.46902 1.16529C10.2398 1.49774 10.9102 1.9489 11.4804 2.51879C12.0505 3.08869 12.5019 3.75885 12.8345 4.52928C13.1671 5.29969 13.3334 6.12287 13.3334 6.99883C13.3334 7.87478 13.1672 8.69814 12.8347 9.46889C12.5023 10.2397 12.0511 10.9101 11.4812 11.4803C10.9113 12.0504 10.2412 12.5018 9.47073 12.8344C8.70032 13.167 7.87714 13.3333 7.00118 13.3333Z" fill="white"></path></svg>');
                }

                .sndp-dark .ab-test-subscribe-button:active, .sndp-dark .ab-test-subscribe-button:hover, .sndp-dark .ab-test-subscribe-button:focus {
                    background-color: var(--primary-button-dark-mode-hover-color);
                }

                @media (min-width: 460px) {
                    .ab-test-dynamic-paywall-element-container {
                        padding: 24px 24px 16px;
                    }
                }
        `;
                    
        let styleSheet = document.createElement("style");
        styleSheet.type = "text/css";
        elem.appendChild(styleSheet);
        styleSheet.innerText = style;
    };

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.ab-test-quarantine-modified');
        let quarantineButton = document.querySelector('[data-testid="modal-button-container"]');
        let quarantineText = document.querySelector('.nof-ui-body-medium.text-nof-foreground-primary.mb-nof-16');
        let quarantineButtonLink = quarantineButton.querySelector('a');
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        }
        else if(quarantineButton && quarantineButtonLink && quarantineText && quarantineText.innerText.trim() === currentQuarantineText && quarantineButton.innerText.trim() === currentQuarantineButtonText) { 
            let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
            quarantineText.classList.add('ab-test-quarantine-modified', namelower);
            quarantineText.innerText = newQuarantineText;

            quarantineButtonLink.onclick = function (e) {
                sendGAEvent('click subscribe from quarantine offer at ' + variantId)
            };

            console.log('experimentId: ' + experimentId);
            console.log(quarantineButton);
            console.log(quarantineText);
                
            dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
            
            if(requireCdx) {
                cdx.confirm(true);
            }
            return true;
        }
        else {
            sendGAEvent('script failed, quarantine button or text not found');
            return false;
        }
    }

    doExperimentChanges();
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-6n1RTqrlS23ZWbk4jjYf-1756899461': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; }
const experimentId = 'HS25-58';
const variantId = 'A';
const experimentName = experimentId + ' ';
const variantName = variantId + ' control';

const articlePublishedDateRequiredInDays = 30; //how many days old article must be to show login wall
const articlePublishedDateMaxInDays = 90;
const paragraphsRequiredAtLeast = 5; //minimum amount of paragraphs required in article to show login element (some articles have only like 4 paragraphs and it makes no sense to show login wall in those)

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    if(requireCdx === false || window.conductrics_checkIfEligibileArticlePublishedDate(articlePublishedDateRequiredInDays, articlePublishedDateMaxInDays)) {

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-article-html-modified');
            let elementToInsertLoginElementInto = document.querySelector('[data-ab="article-body"]'); //this is where we include new stuff
            let userIsLoggedIn = document.querySelector('[data-ab="nav-profile-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, page already modified');
            } else if(userIsLoggedIn) {
                sendGAEvent('script failed, user is logged in');
            }
            else if(elementToInsertLoginElementInto && elementToInsertLoginElementInto.clientHeight > 0) { 
                let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                elementToInsertLoginElementInto.classList.add('ab-test-article-html-modified', namelower);

                let articleBody = document.querySelector('[data-ab="article-body"]');
                if(articleBody) {
                    let articleParagraphs = articleBody.querySelectorAll('p.article-body, div.picture-fragment-container');
                    if(articleParagraphs.length >= paragraphsRequiredAtLeast) { //if article has more than n paragraphs
                        //do nothing, this is control
                        dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                        
                        if(requireCdx) {
                            cdx.confirm(true);
                        }
                        return true;
                    }
                }
            }
            else {
                sendGAEvent('script failed.');
            }
        };

        doExperimentChanges();
    }
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-AW2BzjeBLbIbzK04M8Q8-1756898738': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; }
const experimentId = 'HS25-58';
const variantId = 'B';
const experimentName = experimentId + ' ';
const variantName = variantId + ' control';

const articlePublishedDateRequiredInDays = 30; //how many days old article must be to show login wall
const articlePublishedDateMaxInDays = 90;
const paragraphsRequiredAtLeast = 5; //minimum amount of paragraphs required in article to show login element (some articles have only like 4 paragraphs and it makes no sense to show login wall in those)

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    if(requireCdx === false || window.conductrics_checkIfEligibileArticlePublishedDate(articlePublishedDateRequiredInDays, articlePublishedDateMaxInDays)) {

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-article-html-modified');
            let elementToInsertLoginElementInto = document.querySelector('[data-ab="article-body"]'); //this is where we include new stuff
            let userIsLoggedIn = document.querySelector('[data-ab="nav-profile-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, page already modified');
            } else if(userIsLoggedIn) {
                sendGAEvent('script failed, user is logged in');
            }
            else if(elementToInsertLoginElementInto && elementToInsertLoginElementInto.clientHeight > 0) { 
                let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                elementToInsertLoginElementInto.classList.add('ab-test-article-html-modified', namelower);

                let articleBody = document.querySelector('[data-ab="article-body"]');
                if(articleBody) {
                    let articleParagraphs = articleBody.querySelectorAll('p.article-body, div.picture-fragment-container');
                    if(articleParagraphs.length >= paragraphsRequiredAtLeast) { //if article has more than n paragraphs
                        //do nothing, this is control
                        dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                        
                        if(requireCdx) {
                            cdx.confirm(true);
                        }
                        return true;
                    }
                }
            }
            else {
                sendGAEvent('script failed.');
            }
        };

        doExperimentChanges();
    }
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-CuYBcurQuiPkaSmhUNKd-1740139337': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = true;
if (!requireCdx) { testing = true; }
const experimentId = 'HS25-37';
const variantId = 'C';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' radios sykloni and sample';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const commonDateUntil = 60; //false or number of days
const miniDateUntil = 60;
const digiDateUntil = 60;
const cycloneDateUntil = 180;
const miniAID = 'GNHRFO5M3Z3ZH'; //HS Digi
const digiAID = 'GIRGLZII8RB4G'; //HS Digi+
const miniPath = '/api/safe/v1/web/subscription-funnel/hs-mini-tutustu-v624';
const digiPath = '/api/safe/v1/web/subscription-funnel/hs-digi-tutustu-v624';
const samplePath = '/shopping-ui/sample';
const sampleAID = 'GFGQSTSB5LBJH';
const showProductFeatures = true;
const feedTitle = 'Hesarin digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttiartikkelia kuukaudessa';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    if(true) {  
        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to create product element 
        const createProductElement = function(productname, title, features, button) {
            let product = createElem('label', 'ab-test-paywall-product', false);
            product.setAttribute('product', productname);
            if(productname === 'Digi+') { //this is the default option
                product.classList.add('selected'); //mark it selected
            }
            let check = createElem('input', 'ab-radio', false);
            check.type = 'radio';
            check.name = 'product';
            //check.id = 'radio_'+productname;  
            if(productname === 'Digi+') {
                check.checked = 'checked';
            }
            let productcontent = createElem('div', 'ab-product-content', false);
            let producttitle = createElem('p', 'ab-product-title', title);

            product.appendChild(check);
            productcontent.appendChild(producttitle);

            if(features) {
                let producttext = createElem('p', 'ab-product-text', features);
                productcontent.appendChild(producttext);
            }
            
            product.appendChild(productcontent);
            check.onchange = function(e) {
                //sendGAEvent('click product ' + productname);
                changeButtonUrlAndText(button, productname);
            }
            return product;
        }

        //helper function to change button url and text
        const changeButtonUrlAndText = function (button, pos) {          
            let urlParams = false;
            let pagePath = false;
            //ab-test-hard-paywall-subtitle
            let cancelAnytime = 'Voit irtisanoa tilauksen koska tahansa.';
            let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
            allProductElements.forEach(function (element) {
                element.classList.remove('selected');
                if(element.getAttribute('product') === pos) {
                    element.classList.add('selected');
                }
            });

            if(pos === 'Digi') {
              pagePath = miniPath;
              urlParams = {
                embedded: null,
                aid: miniAID,
                ref: 'maksumuuri_kova_eiot',
                showPaymentPeriodList: null,
                offer: 3,
                variant: null
              }

              button.innerText = 'Tutustu HS ' + pos + ' 2 kk 0 €';
              document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
            }
            else if(pos === 'Digi+') {
                pagePath = digiPath;
                urlParams = {
                  embedded: null,
                  aid: digiAID,
                  ref: 'maksumuuri_kova_eiot',
                  showPaymentPeriodList: null,
                  offer: null,
                  variant: null
                }
  
                button.innerText = 'Tutustu HS ' + pos + ' 2 kk 0 €';
                document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
              }
            else {  //sample
                pagePath = samplePath;
                urlParams = {
                  embedded: null,
                  aid: sampleAID,
                  ref: 'maksumuuri_kova_eiot',
                  showPaymentPeriodList: null,
                  offer: null,
                  variant: null
                }
                
                button.innerText = 'Näytetilaus HS Digi+';

                //change subtitle for sample
                let subtitle = document.querySelector('.ab-test-hard-paywall-subtitle');
                let pvmSpan = calculateDays(14, false);
                subtitle.innerText = 'Tilaus päättyy automaattisesti ' + pvmSpan;
            }
          
            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
              Object.keys(urlParams).forEach(function (key) {
                if (urlParams[key] === null) {
                  url.searchParams.delete(key)
                } else if (urlParams[key] !== undefined) {
                  url.searchParams.set(key, urlParams[key])
                }
              })
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
            button.setAttribute('data-product-name', pos);
            button.onclick = function (e) {
                sendGAEvent('click subscribe ' + pos + ' at ' + variantId)
            }
            return button;
        }

        //helper function to calculate days d.m. 
        const calculateDays = function(d, suffix) {
            let date = new Date();
            date.setDate(date.getDate() + d);
            let dd = date.getDate();
            let mm = date.getMonth()+1;
            let pvmSpan = false;
            if(suffix) {
                pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
            }
            else {
                pvmSpan = dd.toString() + '.' + mm.toString() + '.'
            }
            return pvmSpan;
        }

        //helper function to insert style
        const insertStyle = function(containerdiv) {
            let style = `
                    :root {
                        --main-color: #191919;
                        --underline-color: #787878;
                        --line-color: #E9EAED;
                        --main-font: 'Helsingin', Arial, sans-serif;
                    }
                        
                    .ab-test-paywall-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        max-width: calc(100% - 16px);
                    }

                    .ab-test-paywall-container .ab-test-hard-paywall-title {
                        font-size: 26px;
                        margin-bottom: 16px;
                        text-align: center;
                    }

                    .ab-test-paywall-product {
                        display: flex;
                        flex-direction: row;
                        align-items: baseline;
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        border-top: 1px solid var(--line-color);
                        padding: 12px 0px;
                        cursor: pointer;
                        width: 100%;
                        border: 1px solid #000;
                        border-radius: 4px;
                        padding: 12px 12px 8px;
                        margin-bottom: 8px;
                        background: #F8F8F8;
                    }

                    .ab-test-paywall-product.selected {
                        background: #fff;
                    }

                    .ab-test-paywall-delimeter {
                        overflow: hidden;
                        margin-top: 0;
                        margin-bottom: 8px;

                        text-align: center;
                        font-family: var(--main-font);
                        font-size: 14px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        letter-spacing: 0.36px;
                    }
                    
                    .ab-test-paywall-delimeter:before, .ab-test-paywall-delimeter:after {
                        background-color: #ccc;
                        content: "";
                        display: inline-block;
                        height: 0.5px;
                        position: relative;
                        vertical-align: middle;
                        width: 50%;
                    }

                    .ab-test-paywall-delimeter:before {
                        right: 8px;
                        margin-left: -50%;
                    }
    
                    .ab-test-paywall-delimeter:after {
                        left: 8px;
                        margin-right: -50%;
                    }

                    .ab-test-paywall-product .ab-product-content {
                        display: flex;
                        flex-direction: column;
                        margin-left: 12px;
                        width: 100%;
                    }

                    .ab-test-paywall-product .ab-radio {
                        transform: scale(1.6);
                        accent-color: var(--main-color);
                        cursor: pointer;
                    }

                    @supports (-moz-appearance:none) {
                        .ab-test-paywall-product .ab-radio {
                            transform: scale(1.5);
                        }
                    }

                    .ab-test-paywall-product .ab-product-title {
                        font-weight: 600;
                        padding-bottom: 4px;
                        font-size: 14px;
                    }

                    .ab-test-paywall-product .ab-product-title > span {
                        font-size: 14px;
                        font-weight: 600;
                        float: right;
                        letter-spacing: -0.5px;
                    }

                    .ab-test-paywall-product .ab-product-title > span > span {
                        font-size: 12px;
                        font-weight: 300;
                        color: #666;
                        text-decoration: line-through;
                        padding-left: 4px;
                        letter-spacing: 0;
                    }

                    .ab-test-paywall-product .ab-product-text {
                        font-size: 12px;
                        margin-top: 2px;
                        color: #555;
                        text-align: left;
                    }

                    .ab-test-paywall-product .ab-product-text > span {
                        margin-right: 8px;
                    }

                    .ab-test-paywall-product .ab-product-text svg {
                        fill: #191919;
                        display: inline;
                        margin-right: 2px;
                        vertical-align: baseline;
                        height: 10px;
                    }

                    .ab-test-paywall-additional-info {
                        font-size: 15px;
                        font-weight: 600;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 16px;
                    }

                    .ab-test-hard-paywall-subtitle {
                        font-size: 15px;
                        font-family: var(--main-font);
                        margin-top: 12px;
                        margin-bottom: 32px;
                        text-align: center;
                    }

                    .ab-test-hard-paywall-subscribe-button {
                        margin: 12px auto 4px;
                        width: 260px;
                        font-family: var(--main-font);
                        font-size: 16px;
                    }

                    .ab-test-hard-paywall-subscribe-button:active {
                        margin: 12px auto 5px;
                        width: 258px;
                    }

                    .ab-test-hard-paywall-login-button {
                        margin-top: 24px;
                        position: relative;
                        width: 240px;
                        text-decoration: none !important;
                        padding: 9px;
                    }

                    .ab-test-hard-paywall-login-link {
                        text-decoration: underline;
                        font-size: 14px;   
                        margin-bottom: 24px;
                        margin-top: 16px;
                    }

                    .ab-test-hard-paywall-offering {
                        max-width: 480px;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-paywall-product {
                        border: 1px solid #ccc;
                        background: #262626;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-text svg {
                        fill: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span, .sndp-dark .ab-test-paywall-product .ab-product-text {
                        color: #fff;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span > span {
                        color: #AFAFAF;
                    }
                    
                    @media (min-width: 360px) {
                        .ab-test-paywall-container {
                            max-width: 350px;
                        }

                        .ab-test-paywall-product .ab-product-text {
                            font-size: 14px;
                            margin-top: 4px;
                        }

                        .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span {
                            font-size: 16px;
                            letter-spacing: 0;
                        }

                        .ab-test-paywall-product .ab-product-title > span > span {
                            font-size: 14px;
                            padding-left: 8px;
                        }

                        .ab-test-paywall-product .ab-product-content {
                            margin-left: 16px;
                        }

                        .ab-test-paywall-product .ab-product-text svg {
                            margin-right: 4px;
                            height: 12px;
                        }

                        .ab-test-paywall-product .ab-product-text > span {
                            margin-right: 12px;
                        }
                    }
            `;
            
            if(document.location.pathname.indexOf('/visio/') > -1 ||
            document.location.pathname.indexOf('/teknologia/') > -1 ||
            document.location.pathname.indexOf('/talous/') > -1 ||
            document.location.pathname.indexOf('/autot/') > -1) {
            style += `	
                    .ab-test-paywall-product {
                        background: #F5E6DC;
                    }

                    .ab-test-paywall-product.selected {
                        background: #f9eee7;
                    }

                    .sndp-dark .ab-test-paywall-product.selected {
                        background: #262626;
                    }
            
                    .ab-test-paywall-grid .ab-grid-choose-button {
                        background: #b7384b;
                    }

                    .ab-test-paywall-product .ab-radio {
                        accent-color: #b7384b;
                    }

                    .ab-test-paywall-grid .ab-grid-choose-button:hover, .ab-test-paywall-grid .ab-grid-choose-button:active, .ab-test-paywall-grid .ab-grid-choose-button:focus {
                        background: #752f35;
                    }
                `;
            }
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            containerdiv.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('.ab-test-' + paywallType + '-paywall');
            let title = document.querySelector('.ab-test-' + paywallType + '-paywall-title');
            let subtitle = document.querySelector('.ab-test-' + paywallType + '-paywall-subtitle');
            let button = document.querySelector('.ab-test-' + paywallType + '-paywall-subscribe-button');
            let secondaryButton = document.querySelector('.ab-test-' + paywallType + '-paywall-secondary-subscribe-button');
            let brazeModifiedPaywall = document.querySelector('.ab-test-paywall-modified-by-braze');
            if(brazeModifiedPaywall) {
                //sendGAEvent('script failed, paywall already modified by Braze');
            }
            else if(experimentExists) {
                //sendGAEvent('script failed, paywall already modified');
            } else if(title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    title.classList.add('ab-test-paywall-modified', namelower);

                    if(secondaryButton) { //katso muut tarjoukset button on HS
                        secondaryButton.style.display = 'none';
                    }

                    let loginLink = paywall.querySelector('.ab-test-hard-paywall-login-link');
                    if(loginLink) {
                        let paywallIndicator = paywall.querySelector('.paywall__indicator');
                        paywallIndicator.insertBefore(loginLink, paywallIndicator.childNodes[2]); //insert in between paywall indicators
                    }

                    //create container div - which contains all the elements
                    let containerdiv = createElem('div', 'ab-test-paywall-container', false);

                    //change subscribe button url and text
                    button = changeButtonUrlAndText(button, 'Digi+');

                    //main date until in title
                    if(commonDateUntil) {
                        let pvmSpan = calculateDays(commonDateUntil, 'asti');
                        title.innerText = 'Lue maksutta ' + pvmSpan;
                    }

                    let readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
                    let readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
                    let facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

                    let product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
                    let product2 = createProductElement('Digi', 'HS Digi  <span>2 kk 0 € <span>(norm. 14,90 €/kk)<span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
                    let product3 = createProductElement('Sample', 'Näytetilaus HS Digi+ <span>2 vkoa 0 € </span>', false, button);
                    
                    subtitle.innerText = 'Voit irtisanoa tilauksen koska tahansa.';
                    subtitle.classList.remove('paywall__ingress');

                    //append elements to container one by one
                    containerdiv.appendChild(title);

                    if(cycloneDateUntil) { //cyclone subtitle
                        let pvmSpan = calculateDays(cycloneDateUntil, 'asti');
                        let cycloneText = createElem('div', 'paywall__text-block ab-test-paywall-additional-info', 'Maksuttoman jakson jälkeen voit jatkaa tilausta -40 % hinnalla ' + pvmSpan);
                        containerdiv.appendChild(cycloneText);
                    }

                    containerdiv.appendChild(product1);
                    containerdiv.appendChild(product2);

                    //delimeter element with TAI and border
                    let delimeter = createElem('div', 'ab-test-paywall-delimeter', '<span>TAI</span>');

                    containerdiv.appendChild(delimeter);
                    containerdiv.appendChild(product3);

                    containerdiv.appendChild(button);
                    containerdiv.appendChild(subtitle);

                    insertStyle(containerdiv);
                    paywall.insertBefore(containerdiv, paywall.childNodes[1]); //insert as 2nd element on paywall after paywall indicator	
            
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': 'change offer to cyclone at timanttimuuri', 'eventLabel': experimentName + ' ' + variantName});

                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    if(requireCdx) {
                        cdx.confirm(true);
                    }
                    return true;
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    };
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-CuYBcurQuiPkaSmhUNKd-1756117034': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-48b';
const variantId = 'C';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' radios sykloni and sample';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const commonDateUntil = 60; //false or number of days
const miniDateUntil = 60;
const digiDateUntil = 60;
const cycloneDateUntil = 240;
const miniAID = 'GHGZG2PT3BHQB'; //HS Digi
const digiAID = 'GBZYWV3IOY2ML'; //HS Digi+
const miniPath = '/shopping-ui/hs-digionly-tutustu-65';
const digiPath = '/shopping-ui/hs-digionly-tutustu-65';
const samplePath = '/shopping-ui/sample';
const sampleAID = 'GGPQBYGPIZUGR';
const showProductFeatures = true;
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';

const paywallEvent = 'radio sykloni 2+4 -40% and sample 2w'; //change this to describe how paywall offering is change from default (or set false if offering default)
const sendConfirmEvents = true; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
let paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;
if(!paywallEvent) {
    paywallEventLabel = 'default offer: ' + stringIdPlusVariant;
}

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    if(true) {  
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else {
                        if(testing) {
                            console.log('no paywall change offer event - this is control version?');
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));
            }
        }

        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to create product element 
        const createProductElement = function(productname, title, features, button) {
            let product = createElem('label', 'ab-test-paywall-product', false);
            product.setAttribute('product', productname);
            if(productname === 'Digi+') { //this is the default option
                product.classList.add('selected'); //mark it selected
            }
            let check = createElem('input', 'ab-radio', false);
            check.type = 'radio';
            check.name = 'product';
            //check.id = 'radio_'+productname;  
            if(productname === 'Digi+') {
                check.checked = 'checked';
            }
            let productcontent = createElem('div', 'ab-product-content', false);
            let producttitle = createElem('p', 'ab-product-title', title);

            product.appendChild(check);
            productcontent.appendChild(producttitle);

            if(features) {
                let producttext = createElem('p', 'ab-product-text', features);
                productcontent.appendChild(producttext);
            }
            
            product.appendChild(productcontent);
            check.onchange = function(e) {
                //sendGAEvent('click product ' + productname);
                changeButtonUrlAndText(button, productname);
            }
            return product;
        }

        //helper function to change button url and text
        const changeButtonUrlAndText = function (button, pos) {          
            let urlParams = false;
            let pagePath = false;
            //ab-test-hard-paywall-subtitle
            let cancelAnytime = 'Voit irtisanoa tilauksen koska tahansa.';
            let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
            allProductElements.forEach(function (element) {
                element.classList.remove('selected');
                if(element.getAttribute('product') === pos) {
                    element.classList.add('selected');
                }
            });

            if(pos === 'Digi') {
                pagePath = miniPath;
                urlParams = {
                  'embedded': null,
                  'aid': miniAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }

                replaceText(button, 'Tutustu HS ' + pos + ' 2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
            }
            else if(pos === 'Digi+') {
                pagePath = digiPath;
                urlParams = {
                  'embedded': null,
                  'aid': digiAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
  
                replaceText(button, 'Tutustu HS ' + pos + ' 2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
            }
            else {  //sample
                pagePath = samplePath;
                urlParams = {
                  'embedded': null,
                  'aid': sampleAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
                
                replaceText(button, 'Lue 2 viikkoa maksutta'); //use replaceText function to change text, so it keeps all nodes intact

                //change subtitle for sample
                let subtitle = document.querySelector('.ab-test-hard-paywall-subtitle');
                let pvmSpan = calculateDays(14, false);
                subtitle.innerText = 'Tilaus päättyy automaattisesti ' + pvmSpan;
            }
          
            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
              Object.keys(urlParams).forEach(function (key) {
                if (urlParams[key] === null) {
                  url.searchParams.delete(key)
                } else if (urlParams[key] !== undefined) {
                  url.searchParams.set(key, urlParams[key])
                }
              })
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
            button.setAttribute('data-product-name', pos);
            button.onclick = function (e) {
                sendGAEvent('click subscribe ' + pos + ' at ' + variantId)
            }
            return button;
        }

        //helper function to calculate days d.m. 
        const calculateDays = function(d, suffix) {
            let date = new Date();
            date.setDate(date.getDate() + d);
            let dd = date.getDate();
            let mm = date.getMonth()+1;
            let pvmSpan = false;
            if(suffix) {
                pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
            }
            else {
                pvmSpan = dd.toString() + '.' + mm.toString() + '.'
            }
            return pvmSpan;
        }

        //helper function to insert style
        const insertStyle = function(containerdiv) {
            let style = `
                    :root {
                        --main-color: #191919;
                        --underline-color: #787878;
                        --line-color: #E9EAED;
                        --main-font: 'Helsingin', Arial, sans-serif;
                    }
                        
                    .ab-test-paywall-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        max-width: calc(100% - 16px);
                    }

                    .ab-test-paywall-container .ab-test-hard-paywall-title {
                        font-size: 26px;
                        margin-bottom: 16px;
                        text-align: center;
                    }

                    .ab-test-paywall-product {
                        display: flex;
                        flex-direction: row;
                        align-items: baseline;
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        border-top: 1px solid var(--line-color);
                        padding: 12px 0px;
                        cursor: pointer;
                        width: 100%;
                        border: 1px solid #000;
                        border-radius: 4px;
                        padding: 12px 12px 8px;
                        margin-bottom: 8px;
                        background: #F8F8F8;
                    }

                    .ab-test-paywall-product.selected {
                        background: #fff;
                    }

                    .ab-test-paywall-delimeter {
                        overflow: hidden;
                        margin-top: 0;
                        margin-bottom: 8px;

                        text-align: center;
                        font-family: var(--main-font);
                        font-size: 14px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        letter-spacing: 0.36px;
                    }
                    
                    .ab-test-paywall-delimeter:before, .ab-test-paywall-delimeter:after {
                        background-color: #ccc;
                        content: "";
                        display: inline-block;
                        height: 0.5px;
                        position: relative;
                        vertical-align: middle;
                        width: 50%;
                    }

                    .ab-test-paywall-delimeter:before {
                        right: 8px;
                        margin-left: -50%;
                    }
    
                    .ab-test-paywall-delimeter:after {
                        left: 8px;
                        margin-right: -50%;
                    }

                    .ab-test-paywall-product .ab-product-content {
                        display: flex;
                        flex-direction: column;
                        margin-left: 12px;
                        width: 100%;
                    }

                    .ab-test-paywall-product .ab-radio {
                        transform: scale(1.6);
                        accent-color: var(--main-color);
                        cursor: pointer;
                    }

                    @supports (-moz-appearance:none) {
                        .ab-test-paywall-product .ab-radio {
                            transform: scale(1.5);
                        }
                    }

                    .ab-test-paywall-product .ab-product-title {
                        font-weight: 600;
                        padding-bottom: 4px;
                        font-size: 14px;
                        display: flex;
                        justify-content: space-between;
                    }

                    .ab-test-paywall-product .ab-product-title > span {
                        font-size: 14px;
                        font-weight: 600;
                        float: right;
                        letter-spacing: -0.5px;
                    }

                    .ab-test-paywall-product .ab-product-title > span > span {
                        font-size: 12px;
                        font-weight: 300;
                        color: #666;
                        text-decoration: line-through;
                        padding-left: 4px;
                        letter-spacing: 0;
                    }

                    .ab-test-paywall-product .ab-product-text {
                        font-size: 12px;
                        margin-top: 2px;
                        color: #555;
                        text-align: left;
                    }

                    .ab-test-paywall-product .ab-product-text > span {
                        margin-right: 8px;
                    }

                    .ab-test-paywall-product .ab-product-text svg {
                        fill: #191919;
                        display: inline;
                        margin-right: 2px;
                        vertical-align: baseline;
                        height: 10px;
                    }

                    .ab-test-paywall-additional-info {
                        font-size: 15px;
                        font-weight: 600;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 16px;
                    }

                    .ab-test-paywall-additional-info span {
                        /* no line break */
                        white-space: nowrap;
                    }

                    .ab-test-hard-paywall-subtitle {
                        font-size: 15px;
                        font-family: var(--main-font);
                        margin-top: 12px;
                        margin-bottom: 32px;
                        text-align: center;
                    }

                    .ab-test-hard-paywall-subscribe-button {
                        margin: 12px auto 4px;
                        width: 260px;
                        font-family: var(--main-font);
                        font-size: 16px;
                    }

                    .ab-test-hard-paywall-subscribe-button:active {
                        margin: 12px auto 5px;
                        width: 258px;
                    }

                    .ab-test-hard-paywall-login-button {
                        margin-top: 24px;
                        position: relative;
                        width: 240px;
                        text-decoration: none !important;
                        padding: 9px;
                    }

                    .ab-test-hard-paywall-login-link {
                        text-decoration: underline;
                        font-size: 14px;   
                        margin-bottom: 24px;
                        margin-top: 16px;
                    }

                    .ab-test-hard-paywall-offering {
                        max-width: 480px;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-paywall-product {
                        border: 1px solid #ccc;
                        background: #262626;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-text svg {
                        fill: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span, .sndp-dark .ab-test-paywall-product .ab-product-text {
                        color: #fff;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span > span {
                        color: #AFAFAF;
                    }
                    
                    @media (min-width: 360px) {
                        .ab-test-paywall-container {
                            max-width: 350px;
                        }

                        .ab-test-paywall-product .ab-product-text {
                            font-size: 14px;
                            margin-top: 4px;
                        }

                        .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span {
                            font-size: 16px;
                            letter-spacing: 0;
                        }

                        .ab-test-paywall-product .ab-product-title > span > span {
                            font-size: 14px;
                            padding-left: 8px;
                        }

                        .ab-test-paywall-product .ab-product-content {
                            margin-left: 16px;
                        }

                        .ab-test-paywall-product .ab-product-text svg {
                            margin-right: 4px;
                            height: 12px;
                        }

                        .ab-test-paywall-product .ab-product-text > span {
                            margin-right: 12px;
                        }
                    }
            `;
            
            if(document.location.pathname.indexOf('/visio/') > -1 ||
            document.location.pathname.indexOf('/teknologia/') > -1 ||
            document.location.pathname.indexOf('/talous/') > -1 ||
            document.location.pathname.indexOf('/autot/') > -1) {
            style += `	
                    .ab-test-paywall-product {
                        background: #F5E6DC;
                    }

                    .ab-test-paywall-product.selected {
                        background: #f9eee7;
                    }

                    .sndp-dark .ab-test-paywall-product.selected {
                        background: #262626;
                    }
            
                    .ab-test-paywall-grid .ab-grid-choose-button {
                        background: #b7384b;
                    }

                    .ab-test-paywall-product .ab-radio {
                        accent-color: #b7384b;
                    }

                    .ab-test-paywall-grid .ab-grid-choose-button:hover, .ab-test-paywall-grid .ab-grid-choose-button:active, .ab-test-paywall-grid .ab-grid-choose-button:focus {
                        background: #752f35;
                    }
                `;
            }
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            containerdiv.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    title.classList.add('ab-test-paywall-modified', namelower);

                    if(secondaryButton) { //katso muut tarjoukset button on HS
                        secondaryButton.style.display = 'none';
                    }

                    let loginLink = paywall.querySelector('.ab-test-hard-paywall-login-link');
                    if(loginLink) {
                        let paywallIndicator = paywall.querySelector('.paywall__indicator');
                        paywallIndicator.insertBefore(loginLink, paywallIndicator.childNodes[2]); //insert in between paywall indicators
                    }

                    //create container div - which contains all the elements
                    let containerdiv = createElem('div', 'ab-test-paywall-container', false);

                    //change subscribe button url and text
                    button = changeButtonUrlAndText(button, 'Digi+');

                    //main date until in title
                    if(commonDateUntil) {
                        let pvmSpan = calculateDays(commonDateUntil, 'asti');
                        title.innerText = 'Lue maksutta ' + pvmSpan;
                    }

                    let readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
                    let readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
                    let facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

                    let product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
                    let product2 = createProductElement('Digi', 'HS Digi  <span>2 kk 0 € <span>(norm. 14,90 €/kk)<span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
                    let product3 = createProductElement('Sample', 'Tutustumistilaus <span>2 vkoa 0 € </span>', false, button);
                    
                    subtitle.innerText = 'Voit irtisanoa tilauksen koska tahansa.';
                    subtitle.classList.remove('paywall__ingress');

                    //append elements to container one by one
                    containerdiv.appendChild(title);

                    if(cycloneDateUntil) { //cyclone subtitle
                        let pvmSpan = calculateDays(cycloneDateUntil, 'asti');
                        let cycloneText = createElem('div', 'paywall__text-block ab-test-paywall-additional-info', 'Maksuttoman jakson jälkeen voit jatkaa tilausta <span>-50 % hinnalla</span> ' + pvmSpan);
                        containerdiv.appendChild(cycloneText);
                    }

                    containerdiv.appendChild(product1);
                    containerdiv.appendChild(product2);

                    //delimeter element with TAI and border
                    let delimeter = createElem('div', 'ab-test-paywall-delimeter', '<span>TAI</span>');

                    containerdiv.appendChild(delimeter);
                    containerdiv.appendChild(product3);

                    containerdiv.appendChild(button);
                    containerdiv.appendChild(subtitle);

                    insertStyle(containerdiv);

                    let paywall_content = document.querySelector('[data-ab="paywall-content"]');
                    if(paywall_content) {
                        paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]);
                    }
                    else {
                        paywall.insertBefore(containerdiv, paywall.childNodes[1]); //insert as 2nd element on paywall after paywall indicator	
                    }
            
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    if(confirmExperiment()) {
                        return true;
                    }
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    };
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-CuYBcurQuiPkaSmhUNKd-1756716745': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

// EXPERIMENT CONFIGURATION - Change these values for each test
const experimentId = 'HS25-54';
const variantId = 'C';
const experimentName = experimentId + ' timanttimuuri yhteiskuntamuuri';
const variantName = variantId + ' press jotta suomi näkee';

const sendGAEvent = function (label) { if (testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': experimentId + ' ' + variantId + ': ' + label});}};

// RUN THE EXPERIMENT - Wrap everything in try-catch for comprehensive error handling
try {
    // CONTENT VARIABLES - Edit these to change what the experiment shows
    const newPaywallTitle = 'Jotta Suomi näkee, mitä tapahtuu';
    const newPaywallSubtitle = 'Helsingin Sanomat matkustaa kriisien keskelle ja näyttää, mitä todella tapahtuu. Tämä työ vaatii aikaa ja resursseja. Tilaus tekee siitä mahdollista.';
    const currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; // current button text to ensure we modify the right element
    const backgroundImageUrl = 'https://kampanjat.hs.fi/maksumuurit/HS_yhteiskuntamuuri_image_press_color_cropped.png'; // CHANGED URL per requirements
    const paywallSelectorTitle = 'Lue maksutta p.k. asti';
    const paywallSelectorSubtitle = 'Lisäksi voit maksuttoman jakson jälkeen jatkaa tilausta 50 % alennuksella x.y. asti.';
    
    // TEST TYPE CLASSIFICATION
    const testType = 'timanttimuuri';
    const brand = 'HS';
    const paywallType = 'hard';
    const targetAudience = 'ot';

    // EXPERIMENT SETTINGS (copied from B)
    const commonDateUntil = 60; // false or number of days
    const cycloneDateUntil = 240;
    const miniAID = 'GT8X4W2X56765'; // HS Digi
    const miniPath = '/shopping-ui/hs-digionly-tutustu-65'; // HS Digi
    const digiAID = 'GGBIO947NWGKX'; // HS Digi+
    const digiPath = '/shopping-ui/hs-digionly-tutustu-65'; // HS Digi+
    const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
    const defaultProduct = 'Digi+'; // which product is pre-selected
    const paywallEvent = 'logo first, indicator second, background third'; // describes change
    const timeToWaitForConfirm = 500; // time to wait before confirming experiment
    const sendConfirmEvents = true; // if you want to send confirm events to GA

    // ELEMENT SELECTORS - These tell the script what to look for on the page
    const experimentExistsSelector = '.ab-test-paywall-modified';
    const paywallSelector = '[data-ab="' + paywallType + '-paywall"]';
    const paywallTitleSelector = '[data-ab="' + paywallType + '-paywall-title"]';
    const paywallSubtitleSelector = '[data-ab="' + paywallType + '-paywall-subtitle"]';
    const paywallLogoSelector = '[data-ab="' + paywallType + '-paywall-logo"]';
    const subscribeButtonSelector = '[data-ab="' + paywallType + '-paywall-subscribe-button"]';
    const secondaryButtonSelector = '[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]';

    // DATE HELPER (moved after content vars) - returns 'dd.mm.' or 'dd.mm. asti'
    const calculateDaysFormatted = function(days, includeTime) {
        let date = new Date();
        date.setDate(date.getDate() + days);
        let dd = date.getDate();
        let mm = date.getMonth() + 1;
        if (includeTime) { return dd.toString() + '.' + mm.toString() + '. asti'; }
        else { return dd.toString() + '.' + mm.toString() + '.'; }
    };

    // HELPER FUNCTION - Confirm experiment after delay
    const confirmExperiment = function() {
        setTimeout(function() {
            let paywall = document.querySelector(paywallSelector);
            if (paywall) {
                dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                if (paywallEvent) {
                    if (testing) {
                        console.log('change offer: ' + paywallEvent + ': ' + experimentId + '-' + variantId);
                    } else {
                        dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': 'change offer', 'eventLabel': paywallEvent + ': ' + experimentId + '-' + variantId});
                    }
                }
                if (sendConfirmEvents) {
                    sendGAEvent('experiment confirmed');
                }
                if (requireCdx) {
                    cdx.confirm(true);
                }                    
                return true;
            } else {
                sendGAEvent('paywall not found after delay (braze modified it)');
                return false;
            }
        }, timeToWaitForConfirm);
    };

    // HELPER FUNCTION - Create HTML elements with classes and text
    const createElem = function(tag, classes, text) {
        let elem = document.createElement(tag);
        if (classes) {
            classes = classes.split(' ');
            for (let i = 0; i < classes.length; i++) { elem.classList.add(classes[i]); }
        }
        if (text) { elem.innerHTML = text; }
        return elem;
    };

    // HELPER FUNCTION - Replace text in correct child node
    function replaceText(node, newText) {
        if (node.nodeType === Node.TEXT_NODE) { node.nodeValue = newText; }
        else { node.childNodes.forEach((child) => replaceText(child, newText)); }
    }

    // HELPER FUNCTION - Change button url and text (copied from B)
    const changeButtonUrlAndText = function (button, pos) {          
        let urlParams = false;
        let pagePath = false;
        let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
        allProductElements.forEach(function (element) {
            element.classList.remove('selected');
            if (element.getAttribute('product') === pos) { element.classList.add('selected'); }
        });

        if (pos === 'Digi') {
            pagePath = miniPath;
            urlParams = { 'embedded': null,'aid': miniAID,'ref': 'maksumuuri_kova_ot','showPaymentPeriodList': null,'offer': null,'variant': null };
            replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €');
        } else if (pos === 'Digi+') {
            pagePath = digiPath;
            urlParams = { 'embedded': null,'aid': digiAID,'ref': 'maksumuuri_kova_ot','showPaymentPeriodList': null,'offer': null,'variant': null };
            replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €');
        }
      
        let url = new URL(button.href);
        if (urlParams) {
          Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) { url.searchParams.delete(key); }
            else if (urlParams[key] !== undefined) { url.searchParams.set(key, urlParams[key]); }
          });
        }
        if (pagePath) { url.pathname = pagePath; }

        button.href = url.toString();
        button.setAttribute('data-product-name', pos);
        button.onclick = function () { sendGAEvent('click subscribe ' + pos + ' at ' + variantId); };
        return button;
    };

    // HELPER FUNCTION - Insert CSS styles (modified slightly for new ordering)
    const insertStyle = function(containerdiv) {
        let style = `
            :root { --main-color: #191919; --underline-color: #787878; --line-color: #E9EAED; --main-font: 'Helsingin', Arial, sans-serif; }
            [data-ab="hard-paywall"] .hidden { display: none !important; }
            .ab-test-paywall-background { position: relative; background-size: cover; background-position: top; background-repeat: no-repeat; min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; border-radius: 8px; overflow: hidden; margin: 0 auto 0; border: none !important; box-shadow: none !important; width: 100%; max-width: calc(100% - 16px); }
            .ab-test-paywall-background.has-image { background-image: var(--background-image); }
            .ab-test-paywall-background::after { content: ''; position: absolute; bottom:0; left:0; right:0; height:calc(60% - 100px); background: linear-gradient(to top, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 50%); pointer-events:none; }
            .sndp-dark .ab-test-paywall-background::after { background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 50%); }
            [data-ab="hard-paywall"] [data-ab="hard-paywall-logo"] { display:block; margin: 0 auto 4px; max-width:160px; }
            .paywall__indicator--title { margin:12px auto; }
            .ab-test-paywall-container { display:flex; flex-direction:column; width:100%; max-width:350px; position:relative; }
            .ab-test-paywall-container [data-ab="hard-paywall-subtitle"] { font-size:16px; font-family:var(--main-font); margin-top:12px; margin-bottom:24px; text-align:center; line-height:1.3; max-width:500px; margin-left:auto; margin-right:auto; padding:0; }
            .ab-paywall-extra-title { font-size:22px; font-weight:600; font-family:var(--main-font); margin:0px auto 16px; text-align:center; line-height:1.3; padding:0 16px; }
            .ab-paywall-extra-subtitle { font-size:15px; font-weight:600; line-height:1.2; text-align:center; margin-bottom:16px; font-family:var(--main-font); padding:0 16px; max-width:500px; margin-left:auto; margin-right:auto; }
            .ab-test-paywall-product { display:flex; flex-direction:column; align-items:baseline; font-size:16px; font-family:var(--main-font); margin:0 auto 8px; border:1px solid #000; border-radius:4px; padding:0; background:#F8F8F8; cursor:pointer; width:100%; max-width:350px; margin-left:auto; margin-right:auto; }
            .ab-product-container { display:flex; flex-direction:row; align-items:baseline; padding:12px 12px 8px; width:100%; }
            .ab-legend { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
            .ab-test-paywall-product .ab-product-content { display:flex; flex-direction:column; margin-left:12px; width:100%; }
            .ab-test-paywall-product .ab-radio { transform:scale(1.6); accent-color:var(--main-color); cursor:pointer; }
            @supports (-moz-appearance:none){ .ab-test-paywall-product .ab-radio { transform:scale(1.5); } }
            .ab-test-paywall-product .ab-product-title { font-weight:600; padding-bottom:4px; font-size:14px; display:flex; justify-content:space-between; }
            .ab-test-paywall-product .ab-product-title > span { font-size:14px; font-weight:600; letter-spacing:-0.5px; }
            .ab-test-paywall-product .ab-product-title > span > span { font-size:12px; font-weight:300; color:#666; text-decoration:line-through; padding-left:4px; letter-spacing:0; }
            .ab-test-paywall-product .ab-product-text { font-size:12px; margin-top:2px; color:#555; text-align:left; }
            .ab-test-paywall-product .ab-product-text > span { margin-right:8px; }
            .ab-test-paywall-product .ab-product-text svg { fill:#191919; display:inline; margin-right:2px; vertical-align:baseline; height:10px; }
            .ab-test-paywall-cancel-text { font-family:var(--main-font); font-size:15px; text-align:center; margin-top:16px; margin-bottom:24px; color:#666; }
            [data-ab="hard-paywall-subscribe-button"] { margin:12px auto 4px; width:260px; font-family:var(--main-font); font-size:16px; font-weight:600; }
            [data-ab="hard-paywall-subscribe-button"]:active { margin:12px auto 5px; width:258px; }
            [data-ab="hard-paywall-login-link"] { text-decoration:underline; font-size:14px; margin: 16px auto 24px; }
            .sndp-dark .ab-test-paywall-product { border:1px solid #ccc; background:#262626; }
            .sndp-dark .ab-test-paywall-product .ab-product-text svg { fill:#AFAFAF; }
            .sndp-dark .ab-test-paywall-product .ab-product-title > span, 
            .sndp-dark .ab-test-paywall-product .ab-product-text { color:#fff; }
            .sndp-dark .ab-test-paywall-product .ab-product-title > span > span { color:#AFAFAF; }
            .sndp-dark .ab-test-paywall-product .ab-radio { accent-color:#666666; }
            .sndp-dark .ab-test-paywall-cancel-text { color:#AFAFAF; }
            @media (min-width:400px){ .ab-test-paywall-container{max-width:380px;} .ab-test-paywall-container [data-ab="hard-paywall-title"]{font-size:32px;} .ab-test-paywall-background{min-height:350px;} .ab-test-paywall-product .ab-product-text{font-size:16px;} }
            @media (min-width:380px){ .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span { font-size:16px; letter-spacing:0; } }
            @media (min-width:600px){ .ab-test-paywall-container [data-ab="hard-paywall-title"]{font-size:36px;} .ab-test-paywall-background{min-height:400px;} }
        `;
        // brand section color adjustments (same logic as B)
        if (document.location.pathname.match(/\/(visio|teknologia|talous|autot)\//)) {
            style += `
                [data-ab="hard-paywall-subscribe-button"] { background:#b7384b; }
                [data-ab="hard-paywall-subscribe-button"]:hover,
                [data-ab="hard-paywall-subscribe-button"]:active,
                [data-ab="hard-paywall-subscribe-button"]:focus { background:#752f35; }
            `;
        }
        // visio section specific light gradient to blend with page background rgb(249,238,231)
        if (document.location.pathname.match(/\/visio\//)) {
            style += `
                .ab-test-paywall-background::after { background: linear-gradient(to top, rgba(249,238,231,0.95) 0%, rgba(249,238,231,0) 50%); }
            `;
        }
        let styleSheet = document.createElement('style');
        styleSheet.type = 'text/css';
        containerdiv.appendChild(styleSheet);
        styleSheet.innerText = style;
    };

    // HELPER - create product element (copied & simplified naming)
    const createProductElement = function(productname, title, features, button) {
        const createElemLocal = createElem; // reuse
        let product = createElemLocal('label', 'ab-test-paywall-product', false);
        product.setAttribute('product', productname);
        if (productname === defaultProduct) { product.classList.add('selected'); }
        let container = createElemLocal('div', 'ab-product-container', false);
        let check = createElemLocal('input', 'ab-radio', false);
        check.type = 'radio'; check.name = 'product'; check.value = productname; if (productname === defaultProduct) { check.checked = 'checked'; }
        let productcontent = createElemLocal('div', 'ab-product-content', false);
        let producttitle = createElemLocal('p', 'ab-product-title', title);
        container.appendChild(check); productcontent.appendChild(producttitle);
        if (features) { let producttext = createElemLocal('p', 'ab-product-text', features); productcontent.appendChild(producttext); }
        container.appendChild(productcontent); product.appendChild(container);
        check.onchange = function() { sendGAEvent('click product ' + productname); changeButtonUrlAndText(button, productname); };
        return product;
    };

    // MAIN EXPERIMENT FUNCTION
    const executeExperiment = function() {
        // Check if experiment already ran
        if (document.querySelector(experimentExistsSelector)) { sendGAEvent('script failed, already modified'); return false; }

        // Find required elements
        const paywall = document.querySelector(paywallSelector);
        const title = document.querySelector(paywallTitleSelector);
        const subtitle = document.querySelector(paywallSubtitleSelector);
        const logo = document.querySelector(paywallLogoSelector);
        const button = document.querySelector(subscribeButtonSelector);
        const secondaryButton = document.querySelector(secondaryButtonSelector);

        if (!(paywall && title && button)) { sendGAEvent('script failed, required elements not found'); return false; }
        if (button.innerText.trim() !== currentDefaultButtonText) { sendGAEvent('script failed, primary button text unexpected'); return false; }

        // Mark as modified
        title.classList.add('ab-test-paywall-modified', 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId.toLowerCase());

        // Hide secondary button if exists
        if (secondaryButton) { secondaryButton.classList.add('hidden'); }
        // Hide other offers button
        const otherOffersButton = paywall.querySelector('[data-ab="' + paywallType + '-paywall-other-offers-button"]');
        if (otherOffersButton) { otherOffersButton.classList.add('hidden'); }

        // LOGIN link for later positioning
        const loginLink = paywall.querySelector('[data-ab="' + paywallType + '-paywall-login-link"]');

        // 1. Move logo as FIRST element
        if (logo) { paywall.insertBefore(logo, paywall.firstChild); }

        // 2. Move existing indicator span (paywall__indicator--title) as SECOND element (where greeting was)
        const indicator = paywall.querySelector('.paywall__indicator--title');
        if (indicator) {
            // Wrap indicator in a lightweight container for spacing consistency if needed (optional skipped)
            paywall.insertBefore(indicator, logo ? logo.nextSibling : paywall.firstChild);
            // Change the indicator text from "tilaajille" to "Hyvä lukijamme"
            indicator.textContent = 'Hyvä lukijamme';
        } else {
            sendGAEvent('indicator element not found');
        }

        // 3. Background image container as THIRD element
        const backgroundDiv = createElem('div', 'ab-test-paywall-background', false);
        if (backgroundImageUrl) { backgroundDiv.classList.add('has-image'); backgroundDiv.style.setProperty('--background-image', `url(${backgroundImageUrl})`); }
        paywall.insertBefore(backgroundDiv, (indicator || logo) ? (indicator ? indicator.nextSibling : logo.nextSibling) : paywall.firstChild);

        // Create container for rest of content
        const containerdiv = createElem('div', 'ab-test-paywall-container', false);
        // Update title & subtitle
        title.textContent = newPaywallTitle;
        if (subtitle) { subtitle.textContent = newPaywallSubtitle; subtitle.classList.remove('paywall__ingress'); }

        // Product icons (same as B)
        const readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
        const readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
        const facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

        const fieldset = createElem('fieldset', 'ab-fieldset', false);
        const legend = createElem('legend', 'ab-legend', 'Valitse sinulle sopiva tilaus:');
        const product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
        const product2 = createProductElement('Digi', 'HS Digi <span>2 kk 0 € <span>(norm. 14,90 €/kk)</span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
        changeButtonUrlAndText(button, defaultProduct); // initialize button

        const cancelText = createElem('div', 'ab-test-paywall-cancel-text', 'Voit irtisanoa koska tahansa');

        // Assemble container
        containerdiv.appendChild(title);
        if (subtitle) { containerdiv.appendChild(subtitle); }
        // Insert extra title under original subtitle
        // Resolve date placeholders just before creating elements
        const resolvedExtraTitle = paywallSelectorTitle.replace(/p\.k\./g, calculateDaysFormatted(commonDateUntil, false));
        const resolvedExtraSubtitle = paywallSelectorSubtitle.replace(/x\.y\./g, calculateDaysFormatted(cycloneDateUntil, false));
        const extraTitleEl = createElem('p', 'ab-paywall-extra-title', resolvedExtraTitle);
        const extraSubtitleEl = createElem('p', 'ab-paywall-extra-subtitle', resolvedExtraSubtitle);
        containerdiv.appendChild(extraTitleEl);
        fieldset.appendChild(legend); fieldset.appendChild(product1); fieldset.appendChild(product2);
        containerdiv.appendChild(fieldset);
        // Insert extra subtitle after product selectors
        containerdiv.appendChild(extraSubtitleEl);
        containerdiv.appendChild(button);
        containerdiv.appendChild(cancelText);
        if (loginLink) { containerdiv.appendChild(loginLink); }

        // Insert styles
        insertStyle(containerdiv);

        // Insert container into paywall content
        const paywall_content = document.querySelector('[data-ab="paywall-content"]');
        if (paywall_content) { paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]); }
        else { paywall.insertBefore(containerdiv, backgroundDiv.nextSibling); }

        // Feed title update
        if (feedTitle) {
            const paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
            if (paywallOffering) { paywallOffering.innerText = feedTitle; }
        }

        return confirmExperiment();
    };

    // Execute the experiment
    executeExperiment();
    
} catch (e) {
    if (e.toString().indexOf('confirm') < 0 && e.toString().indexOf('cdx') < 0) {
        console.log(e);
        let err = e;
        let err_split = e.stack.split('\n');
        let err_line = false;
        if (err_split[1]) { err_line = err_split[1].split('>:'); }
        if (err_line && err_line[1]) { err = err_line[1]; }
        sendGAEvent('script error: ' + err);
    }
}

 },'js-H0IG0pjG57SZDdRWgK2X-1732277208': function (cdx) { !function(e,n,s){var t,o,c="script",i="_giosg",r="https://service.giosg.com";t=n.createElement(c),t.async=1,t.src=r+"/live/",e[i]=e[i]||function(){(e[i]._e=e[i]._e||[]).push(arguments)},e[i]._c=s,e[i]._h=r,o=n.getElementsByTagName(c)[0],o.parentNode.insertBefore(t,o)}(window,document,5502),window.showGiosgHSfeedback4=!0;
 },'js-H0IG0pjG57SZDdRWgK2X-1756978172': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true;}
const experimentId = 'HS25-52';
const variantId = 'p';
const experimentName = experimentId + '  survey';
const namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
const description = 'frontpage new grouping survey';
const cookieNameMax = 'sndp_' + experimentId + '_amount_shown';
const cookieDays = 90;               //how many days the cookie lives
const howManyTimesIsShown = 1;      //what is the maximum amount of times the element is shown
//const noCookies = false; //no cookie based frequency capping
const embeddedId = 'embed-groups-survey'; //id of the embedded element

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {   
    const setCookie = function(name,value,d) {
        let expires = "";
        if (d) {
            let date = new Date();
            date.setTime(date.getTime() + (d*24*60*60*1000));
            expires = "; expires=" + date.toUTCString();
        }
        document.cookie = name + "=" + (value || "")  + expires + "; path=/";
    };
    
    const getCookie = function(name) {
        let nameEQ = name + "=";
        let ca = document.cookie.split(';');
        for(let i=0;i < ca.length;i++) {
            let c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return 0; //return null;
    };

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.page-modified-by-conductrics');
        let groups = document.querySelectorAll('[data-testid="main-lane-container"] > article.list');
        let group = groups[1];
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        } 
        else if(group) {
            let amount = getCookie(cookieNameMax);
            amount++;
            setCookie(cookieNameMax, amount, cookieDays);
            //if(noCookies) {
            if(amount <= howManyTimesIsShown) {
                group.classList.add('page-modified-by-conductrics');

                //load giosg tag
                (function(w, t, f) {
                    var s='script',o='_giosg',h='https://service.giosg.com',e,n;e=t.createElement(s);e.async=1;e.src=h+'/live/';
                    w[o]=w[o]||function(){(w[o]._e=w[o]._e||[]).push(arguments)};w[o]._c=f;w[o]._h=h;n=t.getElementsByTagName(s)[0];n.parentNode.insertBefore(e,n);
                })(window,document,5502);

                let newEmptyElement = document.createElement('div');
                newEmptyElement.id = embeddedId;
                newEmptyElement.style.position = 'relative';
                newEmptyElement.style.height = '300px';
                newEmptyElement.style.width = '320px';
                newEmptyElement.style.margin = '0 auto';

                if(group.appendChild(newEmptyElement)) {

                    //setting giosg variable, which triggers the popup
                    window.showGiosgFrontpageNewGroupsSurvey = true;

                    newEmptyElement.classList.add('conductrics-survey-added', namelower);

                    sendGAEvent('element added');
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': description});
                    if(requireCdx) {
                        cdx.confirm(true);
                    }
                    return true;
                }
              	else {
                  sendGAEvent('script failed, no element');
                }
            }
            else {
                   sendGAEvent('script failed, cookie limit');
            }
            return true;
        } else {
            sendGAEvent('script failed, html unexpected');
        }
    };

    doExperimentChanges();
} catch(e) {
    //if e does not contain text "confirm" or "cdx", then call the sendGAEvent function
    if(e.toString().indexOf('confirm') < 0 && e.toString().indexOf('cdx') < 0) {
        sendGAEvent('script error: ' + e);
    }
}
 },'js-IPRyDeaZcQDJPWbgJ0tM-1755854956': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

// EXPERIMENT CONFIGURATION - Change these values for each test
const experimentId = 'HS25-51b';
const variantId = 'B';

const sendGAEvent = function (label) { 
    if (testing) {
        console.log(label); 
    } else { 
        dataLayer.push({
            'event': 'eventInfo', 
            'eventCategory': 'Conductrics', 
            'eventAction': 'conductrics_event', 
            'eventLabel': experimentId + ' ' + variantId + ': ' + label
        });
    }
};

// RUN THE EXPERIMENT - Wrap everything in try-catch for comprehensive error handling
try {
    const experimentName = experimentId + ' sovelluslatausbanneri';
    const variantName = variantId + ': control';
    const namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

    // CONTENT VARIABLES - Edit these to change what the experiment shows
    const currentTitle = 'Lataa HS-sovellus';
    const currentTitle2 = 'Lataa palkittu HS-sovellus';
    const currentButtonText = 'Avaa sovellus';
    const newButtonText = 'Avaa sovellus';

    // ELEMENT SELECTORS - These tell the script what to look for on the page
    const experimentExistsSelector = '.app-download-banner-modified-by-conductrics';
    const bannerSelector = '[data-ab="app-download-banner"]';
    const titleSelector = '[data-ab="app-download-banner-title"]';
    const descriptionSelector = '[data-ab="app-download-banner-text"]';
    const rejectButtonSelector = '[data-ab="app-download-banner-close-button"]';
    const acceptButtonSelector = '[data-ab="app-download-banner-accept-button"]';
    const bannerInnerContainerSelector = '[data-ab="app-download-banner"] > div > div';

    let store_parameter = experimentId + '_' + variantId;
    store_parameter = store_parameter.replace(/\s+/g, '-').toLowerCase(); //make lowercase and remove whitespace for store parameter
    const successEvents = true;

    // HELPER FUNCTION - Change button URL with store parameters
    const changeButtonUrl = function (buttonLink) {
        if (buttonLink.href.indexOf('https://apps.apple.com/') > -1) {
            if (buttonLink.href.indexOf('https://apps.apple.com/app/apple-store/id380643421?pt=350676&ct=alasticky') > -1) {
                buttonLink.href = buttonLink.href.replace('alasticky', 'alasticky_' + store_parameter);
                if (successEvents) {
                    sendGAEvent('apple store link parameter ct changed to: alasticky_' + store_parameter);
                }
                return true;
            } else {
                sendGAEvent('script error: apple store link error');
            }
        }
        if (buttonLink.href.indexOf('https://play.google.com/') > -1) {
            if (buttonLink.href.indexOf('https://play.google.com/store/apps/details?id=fi.hs.android&referrer=utm_source=hsfi&utm_medium=referral&utm_campaign=hs_alasticky') > -1) {
                buttonLink.href = buttonLink.href.replace('alasticky', 'alasticky_' + store_parameter);
                if (successEvents) {
                    sendGAEvent('google store link parameter utm_campaign changed to: hs_alasticky_' + store_parameter);
                }
                return true;
            } else {
                sendGAEvent('script error: google store link error');
            }
        } else {
            return false;
        }
        return true;
    };
    
    // MAIN EXPERIMENT FUNCTION
    const executeExperiment = function () {
        let experimentExists = document.querySelector(experimentExistsSelector);
        let banner = document.querySelector(bannerSelector);
        let title = document.querySelector(titleSelector);
        let description = document.querySelector(descriptionSelector);
        let rejectbutton = document.querySelector(rejectButtonSelector);
        let acceptbutton = document.querySelector(acceptButtonSelector);
        let bannerInnerContainer = document.querySelector(bannerInnerContainerSelector);
        let buttonLink = acceptbutton;
        
        if (experimentExists) {
            //sendGAEvent('script failed, already modified');
            return false;
        } 
        
        if (!(banner && title && acceptbutton && buttonLink && rejectbutton)) {
            sendGAEvent('script failed, banner elements not found');
            return false;
        }
        
        if (!((title.innerText.trim() === currentTitle || title.innerText.trim() === currentTitle2) && acceptbutton.innerText.trim() === currentButtonText)) {
            sendGAEvent('script failed, unexpected banner text');
            return false;
        }

        if (!changeButtonUrl(buttonLink)) {
            sendGAEvent('script failed, button URL change failed');
            return false;
        }
        
        // Make the changes (this is control variant, so minimal changes)
        title.classList.add('app-download-banner-modified-by-conductrics', namelower);
        bannerInnerContainer.classList.add('ab-test-app-download-banner-inner');

        acceptbutton.onclick = function (e) {
            sendGAEvent('click application download');
        };

        if (requireCdx) {
            cdx.confirm(true);
        }

        dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
        return true;
    };

    // Execute the experiment
    executeExperiment();
    
} catch (e) {
    // Handle errors - this catches ALL errors including syntax errors in variables
    if (e.toString().indexOf('confirm') < 0 && e.toString().indexOf('cdx') < 0) {
        console.log(e);
        
        let err = e;
        let err_split = e.stack.split("\n");
        let err_line = false;
        if (err_split[1]) {
            err_line = err_split[1].split('>:');
        }
        if (err_line[1]) {
            err = err_line[1];
        }
        
        sendGAEvent('script error: ' + err);
    }
}
 },'js-JQJ4DhnzM70JgtGqBGEy-1749627168': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
const experimentId = 'HS25-39b';
const experimentName = experimentId + ' tv';
const variantId = 'D';
const description = 'digi pysyvästi edullisempi ja digiplussa alhaisempi 12kk';
if(testing) { requireCdx = false; }
const noEligibilityRules = true;

if(!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//current AIDs that we use atm, changes these
const curKaikkiAID = 'GZ4Z5T4MX258U';
const curDigiAID = 'G3HVNURN6Z3CP';
const curDigiplusAID = 'G8P3NSPPK3JGR';
const curPrint7pvAID = 'G83FKCWHCSRDG';
const curPrintLasuAID = 'GIO62QN9VMR7R';
const curPrintPesuAID = 'GTMVT5QMKRVYG';

//new AIDs that are switched in use by script
const newDigiAID = 'G67PMXIVYCNS2';
const newDigiplusAID = 'GZKWQWIF6Z32X';
const newPrint7pvAID = 'GXUN4NXSKY9B8';
const newPrintLasuAID = 'G55Y42FB23W2O';
const newPrintPesuAID = 'GPQ58XZTO2XG9';
const newKaikkiAID = 'G6PN5FUUKI3TB';

const order_pagePath = false;

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

try {
    if(requireCdx === false || noEligibilityRules) {
        //actual code begins

        let mainElement = document.querySelector('.ab-hs-mini'); //main element to look for

        //in this function we switch the AID of the button. AID is one of the url parameters. Leave other url parameters as they were.
        const switchLinkAID = function (button, oldAid, newAID) {
            if(button.href.indexOf(oldAid) === -1) {
                sendGAEvent('script error: AID ' + oldAid + ' not found in url for ' + variantId);
            }
            let url = new URL(button.href);
            return url.toString().replace(oldAid, newAID);
        };

        const switchInputAID = function (input, oldAid, newAID) {
            let value = input.value;
            if(value.indexOf(oldAid) === -1) {
                sendGAEvent('script error: AID ' + oldAid + ' not found in url for ' + variantId);
            }
            return value.replace(oldAid, newAID);
        };

        const switchLinkAIDs = function (button) {
            button.href = button.href.replace(curPrint7pvAID, newPrint7pvAID)
                .replace(curPrintLasuAID, newPrintLasuAID)
                .replace(curPrintPesuAID, newPrintPesuAID);
            return button.href;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-hs-mini.ab-hs-mini-modified');
            if(experimentExists) {
                sendGAEvent('exp already exists at ' + variantId);
            } else if(mainElement) {
                let miniPrice = document.querySelector('.ab-hs-mini-price');
                let miniNormPrice = document.querySelector('.ab-hs-mini-norm');
                let miniButton = document.querySelector('.ab-hs-mini-button');
                let digiPrice = document.querySelector('.ab-hs-digi-price');

                if(mainElement && miniPrice && miniNormPrice && miniButton) { //---------actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    mainElement.classList.add('ab-hs-mini-modified', namelower, 'modified-by-conductrics-' + experimentId);

                    if(miniButton.href = switchLinkAID(miniButton, curDigiAID, newDigiAID)) {
                        let miniRibbon = document.querySelector('.ab-hs-mini .hss-product-ribbon');
                        miniRibbon.classList.add('blue-ribbon');
                        miniRibbon.innerHTML = '<span class="hide-from-narrow">Säästötilaus: </span>12 kk 10 kk hinnalla pysyvästi!';
                        miniRibbon.style.backgroundColor = '#3860FF';
                        miniRibbon.style.color = '#ffffff';
                        miniRibbon.style.fontSize = '13px';
                        if(miniRibbon.clientWidth < 271) {
                            document.querySelector('.hide-from-narrow').style.display = 'none';
                        }

                        miniPrice.innerHTML = 'alk. <span>12,42</span> €/kk';
                        miniNormPrice.classList.add('hss-note-striked');
                        miniNormPrice.innerText = 'norm. 14,90 €/kk';
                        digiPrice.innerHTML = 'alk. <span>13,90</span> €/kk';
                        let buttonDigiplus = document.querySelector('.ab-hs-digi-button');
                        buttonDigiplus.href = switchLinkAID(buttonDigiplus, curDigiplusAID, newDigiplusAID);

                        //switch AID for other buttons
                        let buttonKaikki = document.querySelector('.ab-hs-kaikki-button');
                        buttonKaikki.href = switchLinkAID(buttonKaikki, curKaikkiAID, newKaikkiAID);
                        
                        let print7pvUrl = document.querySelector('input[name="hs-7pv-url"]');
                        let printLasuUrl = document.querySelector('input[name="hs-lasu-url"]');
                        let printPesuUrl = document.querySelector('input[name="hs-pesu-url"]');
                        
                        print7pvUrl.value = switchInputAID(print7pvUrl, curPrint7pvAID, newPrint7pvAID);
                        printLasuUrl.value = switchInputAID(printLasuUrl, curPrintLasuAID, newPrintLasuAID);
                        printPesuUrl.value = switchInputAID(printPesuUrl, curPrintPesuAID, newPrintPesuAID);
                        let buttonPrint = document.querySelector('.ab-hs-print-button');
                        buttonPrint.href = switchLinkAIDs(buttonPrint);

                        window.hsLasuUrl = printLasuUrl.value;
                        window.hsPesuUrl = printPesuUrl.value;
                        window.hsPrintUrl = print7pvUrl.value;

                        if(requireCdx) {
                            cdx.confirm(true);
                        }
                        return true;
                    }
                }
                else {
                    sendGAEvent('script error at ' + variantId + ': html invalid');
                }
            } else {
                sendGAEvent('script failed, element n/a at ' + variantId);
            }
        };

        doExperimentChanges(); //finally call the function to do the changes
    };
} catch(err) {
    sendGAEvent('script error at ' + variantId + ': ' + err);
}
 },'js-Kxnv6jH2xzVkOCwZJUid-1756899382': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; }
const experimentId = 'HS25-58';
const variantId = 'C';
const experimentName = experimentId + ' ';
const variantName = variantId + ' login wall';

//login funnel parameters at tili.sanoma.fi, these are needed to provide correct login styles and service
const brandStyle = 'hs'; //styles: al, hs, sk, is, etc

const articlePublishedDateRequiredInDays = 30; //how many days old article must be to show login wall
const articlePublishedDateMaxInDays = 90;
const paragraphsRequiredAtLeast = 5; //minimum amount of paragraphs required in article to show login element (some articles have only like 4 paragraphs and it makes no sense to show login wall in those)

//texts for login element
const indicatorText = 'Vain kirjautuneille';
const titleText = 'Tämä juttu on maksuton';
//const titleText = 'Ei hätää, tämäkin juttu on maksuton!';
const descriptionText = 'Lue juttu kirjautumalla tai luomalla ilmainen tili.';
//const descriptionText = 'Pääset lukemaan kiinnostavimmat artikkelimme kokonaan kirjautumalla Sanoma-tilillesi. Sinulla todennäköisesti on jo sellainen, jos käytät esimerkiksi Helsingin Sanomia, Ruutua tai muita Sanoma-konsernin tuotteita. Tarvittaessa voit luoda uuden Sanoma-tilin. Se on helppoa, eikä maksa mitään.';
const loginButtonText = 'Kirjaudu tai luo tili';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    if(requireCdx === false || window.conductrics_checkIfEligibileArticlePublishedDate(articlePublishedDateRequiredInDays, articlePublishedDateMaxInDays)) {

        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to create login button
        const createButton = function (buttonText) {
            let service = false;
            if (brandStyle === 'hs') { service = 'helsinginsanomat'; }
            else if (brandStyle === 'al') { service = 'aamulehti'; }
            else if (brandStyle === 'sk') { service = 'satakunnankansa'; }
            else if (brandStyle === 'is') { service = 'iltasanomat'; }
            
            let domain = document.location.origin;
            let button = createElem('a', 'ab-test-login-element-login-button', buttonText);
            let articlePathName = document.location.pathname;
            let cancelUri = encodeURIComponent(domain + '/jsRedirect/?target=' + articlePathName + '#kirjaudu');
            let redirectUri = encodeURIComponent(domain + '/jsRedirect/?target=' + articlePathName + '#kirjaudu');
            let accessTokenUrl = encodeURIComponent(domain + '/api/safe/v1/web/access-token');
            let finalUrl = domain + '/api/safe/v1/web/start-login?redirectUri=' + redirectUri + '&accessTokenUri=' + accessTokenUrl + '&cancelUri=' + cancelUri + '&style=' + brandStyle + '&service=' + service;
            button.href = finalUrl;
            return button;
        }

        const createLoginElement = function() {
            let container = createElem('div', 'ab-test-login-element-container', false);

            let hs_circle = '<svg width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="12" fill="#000"></circle><g transform="scale(0.3,0.3)"><path fill-rule="evenodd" clip-rule="evenodd" d="M40.6991 24.5395C40.4983 24.0039 40.1635 23.6692 39.7618 23.5353C38.0882 23.2005 35.9459 23.2005 34.2723 23.5353C33.8036 23.7361 33.6697 24.3386 33.8036 24.8742C33.9869 25.3958 34.185 25.9084 34.3823 26.4191C35.1221 28.3335 35.8508 30.2194 35.7451 32.4391C35.7451 33.2425 35.4103 33.845 34.6739 34.1127C32.2639 34.5814 29.3852 34.4475 26.8412 34.2466C26.2707 34.0565 26.0603 33.6862 25.8122 33.2495C25.7983 33.2251 25.7843 33.2004 25.7701 33.1755C25.1006 30.4307 25.7701 27.7529 27.109 25.6106C27.4438 24.8742 27.8454 23.87 27.109 23.5353C26.6509 23.3317 24.4126 23.3603 22.4243 23.3857C21.7976 23.3937 21.1957 23.4014 20.6822 23.4014C20.58 23.4354 20.4866 23.4608 20.4006 23.4842C20.1486 23.5526 19.9617 23.6034 19.8119 23.803C19.4416 24.4203 19.7541 25.2651 20.015 25.9704C20.0371 26.03 20.0588 26.0887 20.0797 26.1462C21.8203 29.8282 21.0839 34.7822 19.6111 38.2634C19.1162 39.9504 18.3493 41.5391 17.582 43.1286C17.555 43.1846 17.528 43.2406 17.5009 43.2967L17.2042 43.9142C15.8273 46.7992 14.5959 49.7403 15.1257 53.3263C15.4604 54.7322 16.0629 56.205 17.6696 56.5397L17.7164 56.5413C19.6716 56.6088 23.4302 56.7384 23.8287 56.4727C24.8721 55.7945 24.1265 54.3437 23.6516 53.4196C23.6279 53.3735 23.6049 53.3287 23.5829 53.2854L23.4873 53.0942C23.4294 52.9746 23.3844 52.8719 23.36 52.7907C23.3322 52.7051 23.3041 52.619 23.2758 52.5324C22.3533 49.7053 21.2536 46.3353 22.4228 43.2174C23.2931 41.209 25.5693 41.0082 27.6446 41.0082C28.1634 41.0417 28.6948 41.05 29.2272 41.0574L29.8659 41.0672C31.2476 41.0941 32.6053 41.1789 33.7367 41.7446C35.4479 43.3336 35.039 46.0384 34.7002 48.2802C34.6678 48.4941 34.6362 48.7037 34.607 48.9078C34.4953 49.9133 34.0922 50.8256 33.6896 51.737C33.1271 53.0102 32.5653 54.2817 32.7994 55.8033C32.9333 56.138 33.2011 56.4058 33.6697 56.5397C33.7461 56.5454 33.8261 56.5514 33.9095 56.5576C35.8009 56.6997 39.4195 56.9716 40.766 56.138C41.1008 55.8702 41.0338 55.2677 40.9669 54.933C39.5035 48.4697 39.9838 41.2288 40.4353 34.4245C40.4795 33.7581 40.5234 33.0959 40.5652 32.4391C40.5864 31.6115 40.6547 30.7838 40.7232 29.9541C40.8708 28.1662 41.0192 26.3684 40.6991 24.5395ZM63.6024 23.4181L55.6358 23.2842C53.9622 23.3512 52.3555 23.6859 50.9496 24.4892C48.0709 26.3637 46.0625 29.711 46.3973 33.46C46.5312 37.7446 50.414 40.1546 53.7613 41.8283C54.428 42.2727 55.1922 42.6379 55.9639 43.0067C57.7492 43.8598 59.5742 44.7319 60.3221 46.6484C60.7237 47.7865 60.4559 49.1254 59.7195 49.9957C58.4476 51.6694 56.2383 51.8702 54.3638 51.4016C53.2399 51.1549 52.1946 50.7061 51.1497 50.2575C49.6428 49.6106 48.1367 48.9641 46.3973 48.9246C45.9956 49.0585 45.5939 49.3263 45.46 49.9288C45.4325 50.2727 45.3993 50.6222 45.3658 50.9762C45.2359 52.3452 45.0996 53.7814 45.2592 55.2175C45.3931 55.82 45.9286 56.0878 46.5981 56.2887C48.5111 56.49 50.5755 56.4643 52.592 56.4391C53.2572 56.4308 53.9171 56.4225 54.5647 56.4225C58.2467 56.2887 61.5271 54.548 63.3346 51.3346C65.4769 47.7195 65.7447 41.8952 62.9999 38.5479C61.369 36.5773 59.2381 35.4861 57.1497 34.4167C55.1231 33.3789 53.1367 32.3617 51.686 30.5813C51.0835 29.8449 51.1504 28.3721 51.4852 27.9035C52.2885 26.8993 53.0919 26.5646 54.0961 26.4976C56.0643 26.6583 57.8156 27.3974 59.5669 28.1365C60.7344 28.6292 61.902 29.1219 63.1338 29.4433C64.1226 29.3114 64.2027 27.9462 64.2688 26.8178L64.2719 26.7654C64.2889 26.5692 64.3093 26.3719 64.3294 26.1766C64.4672 24.839 64.5955 23.5934 63.6024 23.4181Z" fill="white"/></g></svg>';
            container.innerHTML = hs_circle;

            /*let indicatorLogo = createElem('div', 'paywall__indicator--icon paywall__logo--hs ab-test-hard-paywall-logo', false);
            indicatorLogo.setAttribute('data-ab', 'hard-paywall-logo');
            container.appendChild(indicatorLogo);*/

            let indicatorTitle = createElem('div', 'ab-test-login-element-indicator paid-label paywall__text-with-lines-around paywall__indicator--title', indicatorText);
            container.appendChild(indicatorTitle);

            let title = createElem('h2', 'nof-ui-title-large ab-test-login-element-title', titleText);
            container.appendChild(title);

            let subtitle = createElem('p', 'ab-test-login-element-subtitle nof-ui-body-medium mb-12', descriptionText);
            container.appendChild(subtitle);

            let loginButton = createButton(loginButtonText);
            loginButton.addEventListener('click', function() {
                sendGAEvent('click login button');
            });
            container.appendChild(loginButton); //lisää loginButton-elementti container-elementtiin
            return container;
        }

        //helper function to insert style
        const insertStyle = function(elem) {
            let style = `
                    :root {
                        --border-color: #e1e1e4;
                        --title-font: Sanomat,Georgia,Baskerville,serif;
                        --body-font: Helsingin, Helvetica, Arial, sans-serif;
                        --primary-button-color: #191919;
                        --primary-button-hover-color: #555558;
                        --primary-button-dark-mode-color: #fff;
                        --primary-button-dark-mode-hover-color: #afafb2;
                        --button-font-weight: 500;
                    }

                     .ab-test-login-element-container svg {
                        fill: var(--primary-button-color);
                        width: 50px;
                        height: 50px;
                        margin-bottom: 8px;
                    }

                    .ab-test-login-element-container svg .is-extra-logo--logo-fill {
                        fill: white;
                    }

                    .paywall__indicator--icon {
                        width: 40px;
                        height: 40px;
                    }
                        
                    .ab-test-login-element-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        margin: 16px auto 24px;
                        padding: 0 16px;
                        align-items: center;
                        text-align: center;
                    }

                    .ab-test-login-element-indicator {
                        margin-bottom: 16px;
                    }

                    .ab-test-login-element-title {
                        margin-bottom: 16px;
                        font-family: var(--title-font);
                        font-weight: 800;
                        letter-spacing: 0;
                        line-height: 1.15;
                        font-size: 1.8125rem;
                    }

                    .ab-test-login-element-subtitle {
                        margin-bottom: 16px;
                        font-family: var(--body-font);
                        letter-spacing: 0;
                        line-height: 1.2;
                        font-size: 1rem;
                        font-weight: 400;
                    }

                    .ab-test-login-element-login-button {
                        align-items: center;
                        cursor: pointer;
                        display: flex;
                        justify-content: center;
                        text-decoration: none;
                        transition: opacity .15s ease-out, transform .15s ease-out;
                        font-family: var(--body-font);
                        padding: 12px 24px;
                        min-height: 36px;
                        font-size: 1rem;
                        font-weight: var(--button-font-weight);
                        max-width: 280px;
                        margin-bottom: 8px;
                        border-radius: 9999px;
                    }

                    .ab-test-login-element-login-button {
                        background-color: var(--primary-button-color);
                        color: white;
                        margin-top: 8px;
                    }

                    .ab-test-login-element-login-button:active, .ab-test-login-element-login-button:hover, .ab-test-login-element-login-button:focus {
                        background-color: var(--primary-button-hover-color);
                    }

                    .paywall__text-with-lines-around:after, .paywall__text-with-lines-around:before {
                        height: .5px;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-login-element-login-button {
                        background-color: var(--primary-button-dark-mode-color);
                        color: #191919;
                    }

                    .sndp-dark .ab-test-login-element-benefits li {
                        list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path xmlns="http://www.w3.org/2000/svg" d="M6.05392 8.43073L4.50518 6.88201C4.41288 6.7897 4.29686 6.74248 4.15711 6.74034C4.01737 6.7382 3.89921 6.78542 3.80263 6.88201C3.70605 6.97859 3.65777 7.09568 3.65777 7.23328C3.65777 7.37088 3.70605 7.48797 3.80263 7.58454L5.63212 9.41403C5.75263 9.53454 5.89323 9.5948 6.05392 9.5948C6.21459 9.5948 6.35519 9.53454 6.4757 9.41403L10.1847 5.70506C10.277 5.61276 10.3242 5.49674 10.3263 5.35699C10.3285 5.21725 10.2813 5.09909 10.1847 5.00251C10.0881 4.90593 9.971 4.85764 9.8334 4.85764C9.6958 4.85764 9.57871 4.90593 9.48213 5.00251L6.05392 8.43073ZM7.00118 13.3333C6.12523 13.3333 5.30187 13.167 4.53112 12.8346C3.76035 12.5021 3.08989 12.051 2.51975 11.4811C1.94959 10.9112 1.49822 10.241 1.16563 9.47061C0.833043 8.7002 0.666748 7.87702 0.666748 7.00106C0.666748 6.1251 0.83297 5.30175 1.16541 4.53099C1.49786 3.76023 1.94903 3.08977 2.51891 2.51963C3.08881 1.94947 3.75898 1.4981 4.5294 1.16551C5.29981 0.832921 6.12299 0.666626 6.99895 0.666626C7.8749 0.666626 8.69826 0.832849 9.46902 1.16529C10.2398 1.49774 10.9102 1.9489 11.4804 2.51879C12.0505 3.08869 12.5019 3.75885 12.8345 4.52928C13.1671 5.29969 13.3334 6.12287 13.3334 6.99883C13.3334 7.87478 13.1672 8.69814 12.8347 9.46889C12.5023 10.2397 12.0511 10.9101 11.4812 11.4803C10.9113 12.0504 10.2412 12.5018 9.47073 12.8344C8.70032 13.167 7.87714 13.3333 7.00118 13.3333Z" fill="white"></path></svg>');
                    }

                    .sndp-dark .ab-test-login-element-login-button:active, .sndp-dark .ab-test-login-element-login-button:hover, .sndp-dark .ab-test-login-element-login-button:focus {
                        background-color: var(--primary-button-dark-mode-hover-color);
                    }

                    .sndp-dark .ab-test-login-element-container svg circle {
                        fill: var(--primary-button-dark-mode-color);
                    }

                    .sndp-dark .ab-test-login-element-container svg path {
                        fill: var(--primary-button-color);
                    }

                    @media (min-width: 460px) {
                        .ab-test-login-element-container {
                            padding: 24px 24px 16px;
                        }
                    }
            `;
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            elem.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        // Function to hide softwall and summary elements
        const hideSoftwallAndSummary = function() {
            let summary = document.querySelector('.summary');
            let softwall = document.querySelector('[data-ab="metered-softwall"]');
            
            if(softwall) {
                softwall.classList.add('hidden', 'hidden-by-conductrics');
                softwall.style.display = 'none';
                if(testing) { sendGAEvent('softwall hidden'); }
            }
            if(summary) {
                summary.classList.add('hidden', 'hidden-by-conductrics');
                summary.style.display = 'none';
                if(testing) { sendGAEvent('summary hidden'); }
            }
            
            return (softwall || summary); // Return true if at least one element was found
        };

        // Function to wait for softwall and summary to appear in DOM
        const waitForSoftwallAndSummary = function() {
            let attempts = 0;
            const maxAttempts = 80; // 80 attempts * 100ms = 8 seconds max
            let summaryFound = false;
            let softwallFound = false;
            
            const checkInterval = setInterval(function() {
                attempts++;
                let summary = document.querySelector('.summary');
                let softwall = document.querySelector('[data-ab="metered-softwall"]');
                
                // Hide summary if found and not already hidden
                if(summary && !summaryFound) {
                    summary.classList.add('hidden', 'hidden-by-conductrics');
                    summary.style.display = 'none';
                    summaryFound = true;
                    sendGAEvent('summary found and hidden after ' + (attempts * 100) + 'ms');
                }
                
                // Hide softwall if found and not already hidden
                if(softwall && !softwallFound) {
                    softwall.classList.add('hidden', 'hidden-by-conductrics');
                    softwall.style.display = 'none';
                    softwallFound = true;
                    sendGAEvent('softwall found and hidden after ' + (attempts * 100) + 'ms');
                }
                
                // Stop checking if both are found or max attempts reached
                if((summaryFound && softwallFound) || attempts >= maxAttempts) {
                    clearInterval(checkInterval);
                    if(attempts >= maxAttempts && (!summaryFound || !softwallFound)) {
                        if(testing) { sendGAEvent('stopped waiting after 5 seconds - summary: ' + summaryFound + ', softwall: ' + softwallFound); }
                    }
                }
            }, 100); // Check every 100ms
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-article-html-modified');
            let elementToInsertLoginElementInto = document.querySelector('[data-ab="article-body"]'); //this is where we include new stuff
            let userIsLoggedIn = document.querySelector('[data-ab="nav-profile-button"]');
            
            if(experimentExists) {
                sendGAEvent('script failed, page already modified');
            } else if(userIsLoggedIn) {
                sendGAEvent('script failed, user is logged in');
            }
            else if(elementToInsertLoginElementInto && elementToInsertLoginElementInto.clientHeight > 0) { 
                // Try to hide softwall and summary immediately, if not found start waiting
                if(!hideSoftwallAndSummary()) {
                    waitForSoftwallAndSummary();
                }

                let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                elementToInsertLoginElementInto.classList.add('ab-test-article-html-modified', namelower);

                let articleBody = document.querySelector('[data-ab="article-body"]');
                if(articleBody) {
                    let articleBodyAds = articleBody.querySelectorAll('.article-ad-placeholder');
                    for (let i = 0; i < articleBodyAds.length; i++) { //loop through paragraphs
                        let ad = articleBodyAds[i];
                        ad.style.display = 'none';
                    }

                    let articleParagraphs = document.querySelectorAll('[data-ab="article-body"] > p, [data-ab="article-body"] > div:not(.summary, .article-ad-placeholder), [data-ab="article-body"] > h3');
                    if(articleParagraphs.length >= paragraphsRequiredAtLeast) { //if article has more than n paragraphs
                        for (let i = 0; i < articleParagraphs.length; i++) { //loop through paragraphs
                            let paragraph = articleParagraphs[i];
                            if(i === 1) {   //second paragraph: insert login element
                                let loginElement = createLoginElement();
                                insertStyle(loginElement);
                                paragraph.insertAdjacentElement('afterend', loginElement);
            
                                let fadeOut = createElem('div', 'fadeout-above', false);
                                paragraph.insertAdjacentElement('afterend', fadeOut);
                            }
                            else if(i > 1) {
                                //hide paragraphs after login element
                                paragraph.style.display = 'none';
                            }
                        }
                    
                        dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                        
                        if(requireCdx) {
                            cdx.confirm(true);
                        }
                        return true;
                    }
                }
            }
            else {
                sendGAEvent('script failed.');
            }
        };

        doExperimentChanges();
    }
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-L6xIGJ03uOy17vKF1bfD-1756117034': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-48b';
const variantId = 'D';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' radios sykloni and sample';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const commonDateUntil = 60; //false or number of days
const miniDateUntil = 60;
const digiDateUntil = 60;
const cycloneDateUntil = 240;
const miniAID = 'GOPWK34VVQIRD'; //HS Digi
const digiAID = 'GHXXFN53824W2'; //HS Digi+
const miniPath = '/shopping-ui/hs-digionly-tutustu-65';
const digiPath = '/shopping-ui/hs-digionly-tutustu-65';
const samplePath = '/shopping-ui/hs-digi-nayte-24';
const sampleAID = 'GQV5QILNSVKLR';
const showProductFeatures = true;
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';

const paywallEvent = 'radio sykloni 2+6 -50% and sample 1d'; //change this to describe how paywall offering is change from default (or set false if offering default)
const sendConfirmEvents = true; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
let paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;
if(!paywallEvent) {
    paywallEventLabel = 'default offer: ' + stringIdPlusVariant;
}

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    if(true) {  
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else {
                        if(testing) {
                            console.log('no paywall change offer event - this is control version?');
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));
            }
        }

        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to create product element 
        const createProductElement = function(productname, title, features, button) {
            let product = createElem('label', 'ab-test-paywall-product', false);
            product.setAttribute('product', productname);
            if(productname === 'Digi+') { //this is the default option
                product.classList.add('selected'); //mark it selected
            }
            let check = createElem('input', 'ab-radio', false);
            check.type = 'radio';
            check.name = 'product';
            //check.id = 'radio_'+productname;  
            if(productname === 'Digi+') {
                check.checked = 'checked';
            }
            let productcontent = createElem('div', 'ab-product-content', false);
            let producttitle = createElem('p', 'ab-product-title', title);

            product.appendChild(check);
            productcontent.appendChild(producttitle);

            if(features) {
                let producttext = createElem('p', 'ab-product-text', features);
                productcontent.appendChild(producttext);
            }
            
            product.appendChild(productcontent);
            check.onchange = function(e) {
                //sendGAEvent('click product ' + productname);
                changeButtonUrlAndText(button, productname);
            }
            return product;
        }

        //helper function to change button url and text
        const changeButtonUrlAndText = function (button, pos) {          
            let urlParams = false;
            let pagePath = false;
            //ab-test-hard-paywall-subtitle
            let cancelAnytime = 'Voit irtisanoa tilauksen koska tahansa.';
            let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
            allProductElements.forEach(function (element) {
                element.classList.remove('selected');
                if(element.getAttribute('product') === pos) {
                    element.classList.add('selected');
                }
            });

            if(pos === 'Digi') {
                pagePath = miniPath;
                urlParams = {
                  'embedded': null,
                  'aid': miniAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }

                replaceText(button, 'Tutustu HS ' + pos + ' 2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
            }
            else if(pos === 'Digi+') {
                pagePath = digiPath;
                urlParams = {
                  'embedded': null,
                  'aid': digiAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
  
                replaceText(button, 'Tutustu HS ' + pos + ' 2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
            }
            else {  //sample
                pagePath = samplePath;
                urlParams = {
                  'embedded': null,
                  'aid': sampleAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
                
                replaceText(button, 'Lue 24 tuntia maksutta'); //use replaceText function to change text, so it keeps all nodes intact

                //change subtitle for sample
                let subtitle = document.querySelector('.ab-test-hard-paywall-subtitle');
                let pvmSpan = calculateDays(1, false);
                subtitle.innerText = 'Tilaus päättyy automaattisesti huomenna ' + pvmSpan;
            }
          
            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
              Object.keys(urlParams).forEach(function (key) {
                if (urlParams[key] === null) {
                  url.searchParams.delete(key)
                } else if (urlParams[key] !== undefined) {
                  url.searchParams.set(key, urlParams[key])
                }
              })
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
            button.setAttribute('data-product-name', pos);
            button.onclick = function (e) {
                sendGAEvent('click subscribe ' + pos + ' at ' + variantId)
            }
            return button;
        }

        //helper function to calculate days d.m. 
        const calculateDays = function(d, suffix) {
            let date = new Date();
            date.setDate(date.getDate() + d);
            let dd = date.getDate();
            let mm = date.getMonth()+1;
            let pvmSpan = false;
            if(suffix) {
                pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
            }
            else {
                pvmSpan = dd.toString() + '.' + mm.toString() + '.'
            }
            return pvmSpan;
        }

        //helper function to insert style
        const insertStyle = function(containerdiv) {
            let style = `
                    :root {
                        --main-color: #191919;
                        --underline-color: #787878;
                        --line-color: #E9EAED;
                        --main-font: 'Helsingin', Arial, sans-serif;
                    }
                        
                    .ab-test-paywall-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        max-width: calc(100% - 16px);
                    }

                    .ab-test-paywall-container .ab-test-hard-paywall-title {
                        font-size: 26px;
                        margin-bottom: 16px;
                        text-align: center;
                    }

                    .ab-test-paywall-product {
                        display: flex;
                        flex-direction: row;
                        align-items: baseline;
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        border-top: 1px solid var(--line-color);
                        padding: 12px 0px;
                        cursor: pointer;
                        width: 100%;
                        border: 1px solid #000;
                        border-radius: 4px;
                        padding: 12px 12px 8px;
                        margin-bottom: 8px;
                        background: #F8F8F8;
                    }

                    .ab-test-paywall-product.selected {
                        background: #fff;
                    }

                    .ab-test-paywall-delimeter {
                        overflow: hidden;
                        margin-top: 0;
                        margin-bottom: 8px;

                        text-align: center;
                        font-family: var(--main-font);
                        font-size: 14px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        letter-spacing: 0.36px;
                    }
                    
                    .ab-test-paywall-delimeter:before, .ab-test-paywall-delimeter:after {
                        background-color: #ccc;
                        content: "";
                        display: inline-block;
                        height: 0.5px;
                        position: relative;
                        vertical-align: middle;
                        width: 50%;
                    }

                    .ab-test-paywall-delimeter:before {
                        right: 8px;
                        margin-left: -50%;
                    }
    
                    .ab-test-paywall-delimeter:after {
                        left: 8px;
                        margin-right: -50%;
                    }

                    .ab-test-paywall-product .ab-product-content {
                        display: flex;
                        flex-direction: column;
                        margin-left: 12px;
                        width: 100%;
                    }

                    .ab-test-paywall-product .ab-radio {
                        transform: scale(1.6);
                        accent-color: var(--main-color);
                        cursor: pointer;
                    }

                    @supports (-moz-appearance:none) {
                        .ab-test-paywall-product .ab-radio {
                            transform: scale(1.5);
                        }
                    }

                    .ab-test-paywall-product .ab-product-title {
                        font-weight: 600;
                        padding-bottom: 4px;
                        font-size: 14px;
                        display: flex;
                        justify-content: space-between;
                    }

                    .ab-test-paywall-product .ab-product-title > span {
                        font-size: 14px;
                        font-weight: 600;
                        float: right;
                        letter-spacing: -0.5px;
                    }

                    .ab-test-paywall-product .ab-product-title > span > span {
                        font-size: 12px;
                        font-weight: 300;
                        color: #666;
                        text-decoration: line-through;
                        padding-left: 4px;
                        letter-spacing: 0;
                    }

                    .ab-test-paywall-product .ab-product-text {
                        font-size: 12px;
                        margin-top: 2px;
                        color: #555;
                        text-align: left;
                    }

                    .ab-test-paywall-product .ab-product-text > span {
                        margin-right: 8px;
                    }

                    .ab-test-paywall-product .ab-product-text svg {
                        fill: #191919;
                        display: inline;
                        margin-right: 2px;
                        vertical-align: baseline;
                        height: 10px;
                    }

                    .ab-test-paywall-additional-info {
                        font-size: 15px;
                        font-weight: 600;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 16px;
                    }

                    .ab-test-paywall-additional-info span {
                        /* no line break */
                        white-space: nowrap;
                    }

                    .ab-test-hard-paywall-subtitle {
                        font-size: 15px;
                        font-family: var(--main-font);
                        margin-top: 12px;
                        margin-bottom: 32px;
                        text-align: center;
                    }

                    .ab-test-hard-paywall-subscribe-button {
                        margin: 12px auto 4px;
                        width: 260px;
                        font-family: var(--main-font);
                        font-size: 16px;
                    }

                    .ab-test-hard-paywall-subscribe-button:active {
                        margin: 12px auto 5px;
                        width: 258px;
                    }

                    .ab-test-hard-paywall-login-button {
                        margin-top: 24px;
                        position: relative;
                        width: 240px;
                        text-decoration: none !important;
                        padding: 9px;
                    }

                    .ab-test-hard-paywall-login-link {
                        text-decoration: underline;
                        font-size: 14px;   
                        margin-bottom: 24px;
                        margin-top: 16px;
                    }

                    .ab-test-hard-paywall-offering {
                        max-width: 480px;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-paywall-product {
                        border: 1px solid #ccc;
                        background: #262626;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-text svg {
                        fill: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span, .sndp-dark .ab-test-paywall-product .ab-product-text {
                        color: #fff;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span > span {
                        color: #AFAFAF;
                    }
                    
                    @media (min-width: 360px) {
                        .ab-test-paywall-container {
                            max-width: 350px;
                        }

                        .ab-test-paywall-product .ab-product-text {
                            font-size: 14px;
                            margin-top: 4px;
                        }

                        .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span {
                            font-size: 16px;
                            letter-spacing: 0;
                        }

                        .ab-test-paywall-product .ab-product-title > span > span {
                            font-size: 14px;
                            padding-left: 8px;
                        }

                        .ab-test-paywall-product .ab-product-content {
                            margin-left: 16px;
                        }

                        .ab-test-paywall-product .ab-product-text svg {
                            margin-right: 4px;
                            height: 12px;
                        }

                        .ab-test-paywall-product .ab-product-text > span {
                            margin-right: 12px;
                        }
                    }
            `;
            
            if(document.location.pathname.indexOf('/visio/') > -1 ||
            document.location.pathname.indexOf('/teknologia/') > -1 ||
            document.location.pathname.indexOf('/talous/') > -1 ||
            document.location.pathname.indexOf('/autot/') > -1) {
            style += `	
                    .ab-test-paywall-product {
                        background: #F5E6DC;
                    }

                    .ab-test-paywall-product.selected {
                        background: #f9eee7;
                    }

                    .sndp-dark .ab-test-paywall-product.selected {
                        background: #262626;
                    }
            
                    .ab-test-paywall-grid .ab-grid-choose-button {
                        background: #b7384b;
                    }

                    .ab-test-paywall-product .ab-radio {
                        accent-color: #b7384b;
                    }

                    .ab-test-paywall-grid .ab-grid-choose-button:hover, .ab-test-paywall-grid .ab-grid-choose-button:active, .ab-test-paywall-grid .ab-grid-choose-button:focus {
                        background: #752f35;
                    }
                `;
            }
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            containerdiv.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    title.classList.add('ab-test-paywall-modified', namelower);

                    if(secondaryButton) { //katso muut tarjoukset button on HS
                        secondaryButton.style.display = 'none';
                    }

                    let loginLink = paywall.querySelector('.ab-test-hard-paywall-login-link');
                    if(loginLink) {
                        let paywallIndicator = paywall.querySelector('.paywall__indicator');
                        paywallIndicator.insertBefore(loginLink, paywallIndicator.childNodes[2]); //insert in between paywall indicators
                    }

                    //create container div - which contains all the elements
                    let containerdiv = createElem('div', 'ab-test-paywall-container', false);

                    //change subscribe button url and text
                    button = changeButtonUrlAndText(button, 'Digi+');

                    //main date until in title
                    if(commonDateUntil) {
                        let pvmSpan = calculateDays(commonDateUntil, 'asti');
                        title.innerText = 'Lue maksutta ' + pvmSpan;
                    }

                    let readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
                    let readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
                    let facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

                    let product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
                    let product2 = createProductElement('Digi', 'HS Digi  <span>2 kk 0 € <span>(norm. 14,90 €/kk)<span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
                    let product3 = createProductElement('Sample', 'Kokeile 24 tuntia <span>1 pv 0 € </span>', false, button);
                    
                    subtitle.innerText = 'Voit irtisanoa tilauksen koska tahansa.';
                    subtitle.classList.remove('paywall__ingress');

                    //append elements to container one by one
                    containerdiv.appendChild(title);

                    if(cycloneDateUntil) { //cyclone subtitle
                        let pvmSpan = calculateDays(cycloneDateUntil, 'asti');
                        let cycloneText = createElem('div', 'paywall__text-block ab-test-paywall-additional-info', 'Maksuttoman jakson jälkeen voit jatkaa tilausta <span>-50 % hinnalla</span> ' + pvmSpan);
                        containerdiv.appendChild(cycloneText);
                    }

                    containerdiv.appendChild(product1);
                    containerdiv.appendChild(product2);

                    //delimeter element with TAI and border
                    let delimeter = createElem('div', 'ab-test-paywall-delimeter', '<span>TAI</span>');

                    containerdiv.appendChild(delimeter);
                    containerdiv.appendChild(product3);

                    containerdiv.appendChild(button);
                    containerdiv.appendChild(subtitle);

                    insertStyle(containerdiv);

                    let paywall_content = document.querySelector('[data-ab="paywall-content"]');
                    if(paywall_content) {
                        paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]);
                    }
                    else {
                        paywall.insertBefore(containerdiv, paywall.childNodes[1]); //insert as 2nd element on paywall after paywall indicator	
                    }
            
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    if(confirmExperiment()) {
                        return true;
                    }
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    };
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-L6xIGJ03uOy17vKF1bfD-1756716745': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

// EXPERIMENT CONFIGURATION - Change these values for each test
const experimentId = 'HS25-54';
const variantId = 'D';
const experimentName = experimentId + ' timanttimuuri yhteiskuntamuuri';
const variantName = variantId + ' protest tutkiva journalismi';

const sendGAEvent = function (label) { if (testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': experimentId + ' ' + variantId + ': ' + label});}};

// RUN THE EXPERIMENT - Wrap everything in try-catch for comprehensive error handling
try {
    // CONTENT VARIABLES - Edit these to change what the experiment shows
    const newPaywallTitle = 'Tutkiva journalismi ei ole itsestäänselvyys';
    const newPaywallSubtitle = 'Laadukas toimitustyö vaatii aikaa, rohkeutta ja ammattitaitoa. Tilaamalla Helsingin Sanomat teet tästä mahdollista.';
    const currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; // current button text to ensure we modify the right element
    const backgroundImageUrl = 'https://kampanjat.hs.fi/maksumuurit/HS_yhteiskuntamuuri_image_protesti_color_cropped.png';
    const paywallSelectorTitle = 'Lue maksutta p.k. asti';
    const paywallSelectorSubtitle = 'Lisäksi voit maksuttoman jakson jälkeen jatkaa tilausta 50 % alennuksella x.y. asti.';
    
    // TEST TYPE CLASSIFICATION
    const testType = 'timanttimuuri';
    const brand = 'HS';
    const paywallType = 'hard';
    const targetAudience = 'ot';

    // EXPERIMENT SETTINGS (copied from variant B)
    const commonDateUntil = 60; // false or number of days
    const cycloneDateUntil = 240;
    const miniAID = 'GWXU2X8BTBTDJ'; // HS Digi
    const miniPath = '/shopping-ui/hs-digionly-tutustu-65'; // HS Digi
    const digiAID = 'GLJGPGR5PH2Y2'; // HS Digi+
    const digiPath = '/shopping-ui/hs-digionly-tutustu-65'; // HS Digi+
    const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
    const defaultProduct = 'Digi+'; // which product is pre-selected
    const paywallEvent = 'logo first, indicator second, background third'; // describes change
    const timeToWaitForConfirm = 500; // time to wait before confirming experiment
    const sendConfirmEvents = true; // if you want to send confirm events to GA

    // ELEMENT SELECTORS - These tell the script what to look for on the page
    const experimentExistsSelector = '.ab-test-paywall-modified';
    const paywallSelector = '[data-ab="' + paywallType + '-paywall"]';
    const paywallTitleSelector = '[data-ab="' + paywallType + '-paywall-title"]';
    const paywallSubtitleSelector = '[data-ab="' + paywallType + '-paywall-subtitle"]';
    const paywallLogoSelector = '[data-ab="' + paywallType + '-paywall-logo"]';
    const subscribeButtonSelector = '[data-ab="' + paywallType + '-paywall-subscribe-button"]';
    const secondaryButtonSelector = '[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]';

    // DATE HELPER - returns 'dd.mm.' or 'dd.mm. asti'
    const calculateDaysFormatted = function(days, includeTime) {
        let date = new Date();
        date.setDate(date.getDate() + days);
        let dd = date.getDate();
        let mm = date.getMonth() + 1;
        if (includeTime) { return dd.toString() + '.' + mm.toString() + '. asti'; }
        else { return dd.toString() + '.' + mm.toString() + '.'; }
    };

    // HELPER FUNCTION - Confirm experiment after delay
    const confirmExperiment = function() {
        setTimeout(function() {
            let paywall = document.querySelector(paywallSelector);
            if (paywall) {
                dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                if (paywallEvent) {
                    if (testing) {
                        console.log('change offer: ' + paywallEvent + ': ' + experimentId + '-' + variantId);
                    } else {
                        dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': 'change offer', 'eventLabel': paywallEvent + ': ' + experimentId + '-' + variantId});
                    }
                }
                if (sendConfirmEvents) {
                    sendGAEvent('experiment confirmed');
                }
                if (requireCdx) {
                    cdx.confirm(true);
                }                    
                return true;
            } else {
                sendGAEvent('paywall not found after delay (braze modified it)');
                return false;
            }
        }, timeToWaitForConfirm);
    };

    // HELPER FUNCTION - Create HTML elements with classes and text
    const createElem = function(tag, classes, text) {
        let elem = document.createElement(tag);
        if (classes) {
            classes = classes.split(' ');
            for (let i = 0; i < classes.length; i++) { elem.classList.add(classes[i]); }
        }
        if (text) { elem.innerHTML = text; }
        return elem;
    };

    // HELPER FUNCTION - Replace text in correct child node
    function replaceText(node, newText) {
        if (node.nodeType === Node.TEXT_NODE) { node.nodeValue = newText; }
        else { node.childNodes.forEach((child) => replaceText(child, newText)); }
    }

    // HELPER FUNCTION - Change button url and text (copied from B)
    const changeButtonUrlAndText = function (button, pos) {          
        let urlParams = false;
        let pagePath = false;
        let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
        allProductElements.forEach(function (element) {
            element.classList.remove('selected');
            if (element.getAttribute('product') === pos) { element.classList.add('selected'); }
        });

        if (pos === 'Digi') {
            pagePath = miniPath;
            urlParams = { 'embedded': null,'aid': miniAID,'ref': 'maksumuuri_kova_ot','showPaymentPeriodList': null,'offer': null,'variant': null };
            replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €');
        } else if (pos === 'Digi+') {
            pagePath = digiPath;
            urlParams = { 'embedded': null,'aid': digiAID,'ref': 'maksumuuri_kova_ot','showPaymentPeriodList': null,'offer': null,'variant': null };
            replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €');
        }
      
        let url = new URL(button.href);
        if (urlParams) {
          Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) { url.searchParams.delete(key); }
            else if (urlParams[key] !== undefined) { url.searchParams.set(key, urlParams[key]); }
          });
        }
        if (pagePath) { url.pathname = pagePath; }

        button.href = url.toString();
        button.setAttribute('data-product-name', pos);
        button.onclick = function () { sendGAEvent('click subscribe ' + pos + ' at ' + variantId); };
        return button;
    };

    // HELPER FUNCTION - Insert CSS styles (copied from B with same fade adjustment)
    const insertStyle = function(containerdiv) {
        let style = `
            :root { --main-color: #191919; --underline-color: #787878; --line-color: #E9EAED; --main-font: 'Helsingin', Arial, sans-serif; }
            [data-ab="hard-paywall"] .hidden { display: none !important; }
            .ab-test-paywall-background { position: relative; background-size: cover; background-position: top; background-repeat: no-repeat; min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; border-radius: 8px; overflow: hidden; margin: 0 auto 0; border: none !important; box-shadow: none !important; width: 100%; max-width: calc(100% - 16px); }
            .ab-test-paywall-background.has-image { background-image: var(--background-image); }
            .ab-test-paywall-background::after { content: ''; position: absolute; bottom:0; left:0; right:0; height:calc(60% - 100px); background: linear-gradient(to top, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 50%); pointer-events:none; }
            .sndp-dark .ab-test-paywall-background::after { background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 50%); }
            [data-ab="hard-paywall"] [data-ab="hard-paywall-logo"] { display:block; margin: 0 auto 4px; max-width:160px; }
            .paywall__indicator--title { margin:12px auto; }
            .ab-test-paywall-container { display:flex; flex-direction:column; width:100%; max-width:350px; position:relative; }
            .ab-test-paywall-container [data-ab="hard-paywall-subtitle"] { font-size:16px; font-family:var(--main-font); margin-top:12px; margin-bottom:24px; text-align:center; line-height:1.3; max-width:500px; margin-left:auto; margin-right:auto; padding:0; }
            .ab-test-paywall-product { display:flex; flex-direction:column; align-items:baseline; font-size:16px; font-family:var(--main-font); margin:0 auto 8px; border:1px solid #000; border-radius:4px; padding:0; background:#F8F8F8; cursor:pointer; width:100%; max-width:350px; margin-left:auto; margin-right:auto; }
            .ab-paywall-extra-title { font-size:22px; font-weight:600; font-family:var(--main-font); margin:0px auto 16px; text-align:center; line-height:1.3; padding:0 16px; }
            .ab-paywall-extra-subtitle { font-size:15px; font-weight:600; line-height:1.2; text-align:center; margin-bottom:16px; font-family:var(--main-font); padding:0 16px; max-width:500px; margin-left:auto; margin-right:auto; }
            .ab-product-container { display:flex; flex-direction:row; align-items:baseline; padding:12px 12px 8px; width:100%; }
            .ab-legend { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
            .ab-test-paywall-product .ab-product-content { display:flex; flex-direction:column; margin-left:12px; width:100%; }
            .ab-test-paywall-product .ab-radio { transform:scale(1.6); accent-color:var(--main-color); cursor:pointer; }
            @supports (-moz-appearance:none){ .ab-test-paywall-product .ab-radio { transform:scale(1.5); } }
            .ab-test-paywall-product .ab-product-title { font-weight:600; padding-bottom:4px; font-size:14px; display:flex; justify-content:space-between; }
            .ab-test-paywall-product .ab-product-title > span { font-size:14px; font-weight:600; letter-spacing:-0.5px; }
            .ab-test-paywall-product .ab-product-title > span > span { font-size:12px; font-weight:300; color:#666; text-decoration:line-through; padding-left:4px; letter-spacing:0; }
            .ab-test-paywall-product .ab-product-text { font-size:12px; margin-top:2px; color:#555; text-align:left; }
            .ab-test-paywall-product .ab-product-text > span { margin-right:8px; }
            .ab-test-paywall-product .ab-product-text svg { fill:#191919; display:inline; margin-right:2px; vertical-align:baseline; height:10px; }
            .ab-test-paywall-cancel-text { font-family:var(--main-font); font-size:15px; text-align:center; margin-top:16px; margin-bottom:24px; color:#666; }
            [data-ab="hard-paywall-subscribe-button"] { margin:12px auto 4px; width:260px; font-family:var(--main-font); font-size:16px; font-weight:600; }
            [data-ab="hard-paywall-subscribe-button"]:active { margin:12px auto 5px; width:258px; }
            [data-ab="hard-paywall-login-link"] { text-decoration:underline; font-size:14px; margin: 16px auto 24px; }
            .sndp-dark .ab-test-paywall-product { border:1px solid #ccc; background:#262626; }
            .sndp-dark .ab-test-paywall-product .ab-product-text svg { fill:#AFAFAF; }
            .sndp-dark .ab-test-paywall-product .ab-product-title > span, 
            .sndp-dark .ab-test-paywall-product .ab-product-text { color:#fff; }
            .sndp-dark .ab-test-paywall-product .ab-product-title > span > span { color:#AFAFAF; }
            .sndp-dark .ab-test-paywall-product .ab-radio { accent-color:#666666; }
            .sndp-dark .ab-test-paywall-cancel-text { color:#AFAFAF; }
            @media (min-width:400px){ .ab-test-paywall-container{max-width:380px;} .ab-test-paywall-container [data-ab="hard-paywall-title"]{font-size:32px;} .ab-test-paywall-background{min-height:350px;} .ab-test-paywall-product .ab-product-text{font-size:16px;} }
            @media (min-width:380px){ .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span { font-size:16px; letter-spacing:0; } }
            @media (min-width:600px){ .ab-test-paywall-container [data-ab="hard-paywall-title"]{font-size:36px;} .ab-test-paywall-background{min-height:400px;} }
        `;
        // brand section color adjustments (same logic as B)
        if (document.location.pathname.match(/\/(visio|teknologia|talous|autot)\//)) {
            style += `
                [data-ab="hard-paywall-subscribe-button"] { background:#b7384b; }
                [data-ab="hard-paywall-subscribe-button"]:hover,
                [data-ab="hard-paywall-subscribe-button"]:active,
                [data-ab="hard-paywall-subscribe-button"]:focus { background:#752f35; }
            `;
        }
        if (document.location.pathname.match(/\/visio\//)) {
            style += `
                .ab-test-paywall-background::after { background: linear-gradient(to top, rgba(249,238,231,0.95) 0%, rgba(249,238,231,0) 50%); }
            `;
        }
        let styleSheet = document.createElement('style');
        styleSheet.type = 'text/css';
        containerdiv.appendChild(styleSheet);
        styleSheet.innerText = style;
    };

    // HELPER - create product element (copied & simplified naming)
    const createProductElement = function(productname, title, features, button) {
        const createElemLocal = createElem; // reuse
        let product = createElemLocal('label', 'ab-test-paywall-product', false);
        product.setAttribute('product', productname);
        if (productname === defaultProduct) { product.classList.add('selected'); }
        let container = createElemLocal('div', 'ab-product-container', false);
        let check = createElemLocal('input', 'ab-radio', false);
        check.type = 'radio'; check.name = 'product'; check.value = productname; if (productname === defaultProduct) { check.checked = 'checked'; }
        let productcontent = createElemLocal('div', 'ab-product-content', false);
        let producttitle = createElemLocal('p', 'ab-product-title', title);
        container.appendChild(check); productcontent.appendChild(producttitle);
        if (features) { let producttext = createElemLocal('p', 'ab-product-text', features); productcontent.appendChild(producttext); }
        container.appendChild(productcontent); product.appendChild(container);
        check.onchange = function() { sendGAEvent('click product ' + productname); changeButtonUrlAndText(button, productname); };
        return product;
    };

    // MAIN EXPERIMENT FUNCTION
    const executeExperiment = function() {
        // Check if experiment already ran
        if (document.querySelector(experimentExistsSelector)) { sendGAEvent('script failed, already modified'); return false; }

        // Find required elements
        const paywall = document.querySelector(paywallSelector);
        const title = document.querySelector(paywallTitleSelector);
        const subtitle = document.querySelector(paywallSubtitleSelector);
        const logo = document.querySelector(paywallLogoSelector);
        const button = document.querySelector(subscribeButtonSelector);
        const secondaryButton = document.querySelector(secondaryButtonSelector);

        if (!(paywall && title && button)) { sendGAEvent('script failed, required elements not found'); return false; }
        if (button.innerText.trim() !== currentDefaultButtonText) { sendGAEvent('script failed, primary button text unexpected'); return false; }

        // Mark as modified
        title.classList.add('ab-test-paywall-modified', 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId.toLowerCase());

        // Hide secondary button if exists
        if (secondaryButton) { secondaryButton.classList.add('hidden'); }
        // Hide other offers button
        const otherOffersButton = paywall.querySelector('[data-ab="' + paywallType + '-paywall-other-offers-button"]');
        if (otherOffersButton) { otherOffersButton.classList.add('hidden'); }

        // LOGIN link for later positioning
        const loginLink = paywall.querySelector('[data-ab="' + paywallType + '-paywall-login-link"]');

        // 1. Move logo as FIRST element
        if (logo) { paywall.insertBefore(logo, paywall.firstChild); }

        // 2. Move existing indicator span (paywall__indicator--title) as SECOND element
        const indicator = paywall.querySelector('.paywall__indicator--title');
        if (indicator) {
            paywall.insertBefore(indicator, logo ? logo.nextSibling : paywall.firstChild);
            // Change the indicator text from "tilaajille" to "Hyvä lukijamme"
            indicator.textContent = 'Hyvä lukijamme';
        } else {
            sendGAEvent('indicator element not found');
        }

        // 3. Background image container as THIRD element
        const backgroundDiv = createElem('div', 'ab-test-paywall-background', false);
        if (backgroundImageUrl) { backgroundDiv.classList.add('has-image'); backgroundDiv.style.setProperty('--background-image', `url(${backgroundImageUrl})`); }
        paywall.insertBefore(backgroundDiv, (indicator || logo) ? (indicator ? indicator.nextSibling : logo.nextSibling) : paywall.firstChild);

        // Create container for rest of content
        const containerdiv = createElem('div', 'ab-test-paywall-container', false);
        // Update title & subtitle
        title.textContent = newPaywallTitle;
        if (subtitle) { subtitle.textContent = newPaywallSubtitle; subtitle.classList.remove('paywall__ingress'); }

        // Product icons (same as B)
        const readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
        const readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
        const facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

        const fieldset = createElem('fieldset', 'ab-fieldset', false);
        const legend = createElem('legend', 'ab-legend', 'Valitse sinulle sopiva tilaus:');
        const product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
        const product2 = createProductElement('Digi', 'HS Digi <span>2 kk 0 € <span>(norm. 14,90 €/kk)</span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
        changeButtonUrlAndText(button, defaultProduct); // initialize button

        const cancelText = createElem('div', 'ab-test-paywall-cancel-text', 'Voit irtisanoa koska tahansa');

        // Assemble container
        containerdiv.appendChild(title);
        if (subtitle) { containerdiv.appendChild(subtitle); }
    // Resolve placeholders & add extra title
    const resolvedExtraTitle = paywallSelectorTitle.replace(/p\.k\./g, calculateDaysFormatted(commonDateUntil, false));
    const resolvedExtraSubtitle = paywallSelectorSubtitle.replace(/x\.y\./g, calculateDaysFormatted(cycloneDateUntil, false));
    const extraTitleEl = createElem('p', 'ab-paywall-extra-title', resolvedExtraTitle);
    const extraSubtitleEl = createElem('p', 'ab-paywall-extra-subtitle', resolvedExtraSubtitle);
    containerdiv.appendChild(extraTitleEl);
    fieldset.appendChild(legend); fieldset.appendChild(product1); fieldset.appendChild(product2);
        containerdiv.appendChild(fieldset);
        // Insert extra subtitle after product selectors
        containerdiv.appendChild(extraSubtitleEl);
        containerdiv.appendChild(button);
        containerdiv.appendChild(cancelText);
        if (loginLink) { containerdiv.appendChild(loginLink); }

        // Insert styles
        insertStyle(containerdiv);

        // Insert container into paywall content
        const paywall_content = document.querySelector('[data-ab="paywall-content"]');
        if (paywall_content) { paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]); }
        else { paywall.insertBefore(containerdiv, backgroundDiv.nextSibling); }

        // Feed title update
        if (feedTitle) {
            const paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
            if (paywallOffering) { paywallOffering.innerText = feedTitle; }
        }

        return confirmExperiment();
    };

    // Execute the experiment
    executeExperiment();
    
} catch (e) {
    if (e.toString().indexOf('confirm') < 0 && e.toString().indexOf('cdx') < 0) {
        console.log(e);
        let err = e;
        let err_split = e.stack.split('\n');
        let err_line = false;
        if (err_split[1]) { err_line = err_split[1].split('>:'); }
        if (err_line && err_line[1]) { err = err_line[1]; }
        sendGAEvent('script error: ' + err);
    }
}

 },'js-LAiIl91JykA4P4gEKCPI-1738660508': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; }
const experimentId = 'HS25-37';
const variantId = 'B';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' sample';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const newAID = 'GM9H298X5RVX4';
const feedTitle = 'Hesarin digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttiartikkelia kuukaudessa';
const newDateUntil = 14; //sample
const newButtonText = 'Lue 2 viikkoa maksutta'; //sample
let pagePath = '/shopping-ui/sample';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    if(true) {
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));  
            }
        }
        
        const changeButtonUrlAndText = function(button) {
            let urlParams = {
                'embedded': null,
                'offer': null,
                'aid': newAID,
                'ref': null,
                'showPaymentPeriodList': null,
                'variant': null
            };

            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
                Object.keys(urlParams).forEach(function(key) {
                    if (urlParams[key] === null) {
                        url.searchParams.delete(key);
                    } else if (urlParams[key] !== undefined) {
                        url.searchParams.set(key, urlParams[key]);
                    }
                });
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
           
            replaceText(button, newButtonText); //finds the child text node and replaces it
            
            return button;
        };
    
        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    button = changeButtonUrlAndText(button);
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

                    subtitle.innerText = 'Kahden viikon tutustumisjakso päättyy automaattisesti.';
                    
                    title.classList.add('ab-test-paywall-modified', namelower);
                    if(newDateUntil) {
                        let date = new Date();
                        date.setDate(date.getDate() + newDateUntil);
                        let dd = date.getDate();
                        let mm = date.getMonth()+1;
                        let pvmSpan = createElem('span', 'ab-date-span', dd.toString() + '.' + mm.toString() + '. asti');
                        title.innerText = 'Lue maksutta ';
                        title.appendChild(pvmSpan);
                    }

                    secondaryButton.classList.add('ab-test-paywall-modified', namelower);
                    secondaryButton.href = 'https://kampanjat.hs.fi/tilaa/?ref=kovamuuri';
            
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': 'change offer to sample at timanttimuuri', 'eventLabel': experimentName + ' ' + variantName});
                    
                    if(feedTitle) {
                        let paywallOffering = document.querySelector('[data-ab="' + paywallType + '-paywall-offering"]');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }

                    if(requireCdx) {
                        cdx.confirm(true);
                    }
                    return true;
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    }
} catch(err) {   
    sendGAEvent('script error: ' + err);
}
 },'js-LAiIl91JykA4P4gEKCPI-1756117034': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-48b';
const variantId = 'B';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' radios sykloni and sample';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const commonDateUntil = 60; //false or number of days
const miniDateUntil = 60;
const digiDateUntil = 60;
const cycloneDateUntil = 240;
const miniAID = 'GRFZWGR4S6RMT'; //HS Digi
const digiAID = 'GTWXGBD56Y9TO'; //HS Digi+
const miniPath = '/shopping-ui/hs-digionly-tutustu-65';
const digiPath = '/shopping-ui/hs-digionly-tutustu-65';
const samplePath = '/shopping-ui/sample';
const sampleAID = 'GFGQSTSB5LBJH';
const showProductFeatures = true;
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';

const paywallEvent = 'radio sykloni 2+6 -50% and sample 2w'; //change this to describe how paywall offering is change from default (or set false if offering default)
const sendConfirmEvents = true; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
let paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;
if(!paywallEvent) {
    paywallEventLabel = 'default offer: ' + stringIdPlusVariant;
}

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    if(true) {  
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else {
                        if(testing) {
                            console.log('no paywall change offer event - this is control version?');
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));
            }
        }

        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to create product element 
        const createProductElement = function(productname, title, features, button) {
            let product = createElem('label', 'ab-test-paywall-product', false);
            product.setAttribute('product', productname);
            if(productname === 'Digi+') { //this is the default option
                product.classList.add('selected'); //mark it selected
            }
            let check = createElem('input', 'ab-radio', false);
            check.type = 'radio';
            check.name = 'product';
            //check.id = 'radio_'+productname;  
            if(productname === 'Digi+') {
                check.checked = 'checked';
            }
            let productcontent = createElem('div', 'ab-product-content', false);
            let producttitle = createElem('p', 'ab-product-title', title);

            product.appendChild(check);
            productcontent.appendChild(producttitle);

            if(features) {
                let producttext = createElem('p', 'ab-product-text', features);
                productcontent.appendChild(producttext);
            }
            
            product.appendChild(productcontent);
            check.onchange = function(e) {
                //sendGAEvent('click product ' + productname);
                changeButtonUrlAndText(button, productname);
            }
            return product;
        }

        //helper function to change button url and text
        const changeButtonUrlAndText = function (button, pos) {          
            let urlParams = false;
            let pagePath = false;
            //ab-test-hard-paywall-subtitle
            let cancelAnytime = 'Voit irtisanoa tilauksen koska tahansa.';
            let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
            allProductElements.forEach(function (element) {
                element.classList.remove('selected');
                if(element.getAttribute('product') === pos) {
                    element.classList.add('selected');
                }
            });

            if(pos === 'Digi') {
                pagePath = miniPath;
                urlParams = {
                  'embedded': null,
                  'aid': miniAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }

                replaceText(button, 'Tutustu HS ' + pos + ' 2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
            }
            else if(pos === 'Digi+') {
                pagePath = digiPath;
                urlParams = {
                  'embedded': null,
                  'aid': digiAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
  
                replaceText(button, 'Tutustu HS ' + pos + ' 2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
            }
            else {  //sample
                pagePath = samplePath;
                urlParams = {
                  'embedded': null,
                  'aid': sampleAID,
                  'ref': 'maksumuuri_kova_eiot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
                
                replaceText(button, 'Lue 2 viikkoa maksutta'); //use replaceText function to change text, so it keeps all nodes intact

                //change subtitle for sample
                let subtitle = document.querySelector('.ab-test-hard-paywall-subtitle');
                let pvmSpan = calculateDays(14, false);
                subtitle.innerText = 'Tilaus päättyy automaattisesti ' + pvmSpan;
            }
          
            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
              Object.keys(urlParams).forEach(function (key) {
                if (urlParams[key] === null) {
                  url.searchParams.delete(key)
                } else if (urlParams[key] !== undefined) {
                  url.searchParams.set(key, urlParams[key])
                }
              })
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
            button.setAttribute('data-product-name', pos);
            button.onclick = function (e) {
                sendGAEvent('click subscribe ' + pos + ' at ' + variantId)
            }
            return button;
        }

        //helper function to calculate days d.m. 
        const calculateDays = function(d, suffix) {
            let date = new Date();
            date.setDate(date.getDate() + d);
            let dd = date.getDate();
            let mm = date.getMonth()+1;
            let pvmSpan = false;
            if(suffix) {
                pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
            }
            else {
                pvmSpan = dd.toString() + '.' + mm.toString() + '.'
            }
            return pvmSpan;
        }

        //helper function to insert style
        const insertStyle = function(containerdiv) {
            let style = `
                    :root {
                        --main-color: #191919;
                        --underline-color: #787878;
                        --line-color: #E9EAED;
                        --main-font: 'Helsingin', Arial, sans-serif;
                    }
                        
                    .ab-test-paywall-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        max-width: calc(100% - 16px);
                    }

                    .ab-test-paywall-container .ab-test-hard-paywall-title {
                        font-size: 26px;
                        margin-bottom: 16px;
                        text-align: center;
                    }

                    .ab-test-paywall-product {
                        display: flex;
                        flex-direction: row;
                        align-items: baseline;
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        border-top: 1px solid var(--line-color);
                        padding: 12px 0px;
                        cursor: pointer;
                        width: 100%;
                        border: 1px solid #000;
                        border-radius: 4px;
                        padding: 12px 12px 8px;
                        margin-bottom: 8px;
                        background: #F8F8F8;
                    }

                    .ab-test-paywall-product.selected {
                        background: #fff;
                    }

                    .ab-test-paywall-delimeter {
                        overflow: hidden;
                        margin-top: 0;
                        margin-bottom: 8px;

                        text-align: center;
                        font-family: var(--main-font);
                        font-size: 14px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        letter-spacing: 0.36px;
                    }
                    
                    .ab-test-paywall-delimeter:before, .ab-test-paywall-delimeter:after {
                        background-color: #ccc;
                        content: "";
                        display: inline-block;
                        height: 0.5px;
                        position: relative;
                        vertical-align: middle;
                        width: 50%;
                    }

                    .ab-test-paywall-delimeter:before {
                        right: 8px;
                        margin-left: -50%;
                    }
    
                    .ab-test-paywall-delimeter:after {
                        left: 8px;
                        margin-right: -50%;
                    }

                    .ab-test-paywall-product .ab-product-content {
                        display: flex;
                        flex-direction: column;
                        margin-left: 12px;
                        width: 100%;
                    }

                    .ab-test-paywall-product .ab-radio {
                        transform: scale(1.6);
                        accent-color: var(--main-color);
                        cursor: pointer;
                    }

                    @supports (-moz-appearance:none) {
                        .ab-test-paywall-product .ab-radio {
                            transform: scale(1.5);
                        }
                    }

                    .ab-test-paywall-product .ab-product-title {
                        font-weight: 600;
                        padding-bottom: 4px;
                        font-size: 14px;
                        display: flex;
                        justify-content: space-between;
                    }

                    .ab-test-paywall-product .ab-product-title > span {
                        font-size: 14px;
                        font-weight: 600;
                        float: right;
                        letter-spacing: -0.5px;
                    }

                    .ab-test-paywall-product .ab-product-title > span > span {
                        font-size: 12px;
                        font-weight: 300;
                        color: #666;
                        text-decoration: line-through;
                        padding-left: 4px;
                        letter-spacing: 0;
                    }

                    .ab-test-paywall-product .ab-product-text {
                        font-size: 12px;
                        margin-top: 2px;
                        color: #555;
                        text-align: left;
                    }

                    .ab-test-paywall-product .ab-product-text > span {
                        margin-right: 8px;
                    }

                    .ab-test-paywall-product .ab-product-text svg {
                        fill: #191919;
                        display: inline;
                        margin-right: 2px;
                        vertical-align: baseline;
                        height: 10px;
                    }

                    .ab-test-paywall-additional-info {
                        font-size: 15px;
                        font-weight: 600;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 16px;
                    }

                    .ab-test-paywall-additional-info span {
                        /* no line break */
                        white-space: nowrap;
                    }

                    .ab-test-hard-paywall-subtitle {
                        font-size: 15px;
                        font-family: var(--main-font);
                        margin-top: 12px;
                        margin-bottom: 32px;
                        text-align: center;
                    }

                    .ab-test-hard-paywall-subscribe-button {
                        margin: 12px auto 4px;
                        width: 260px;
                        font-family: var(--main-font);
                        font-size: 16px;
                    }

                    .ab-test-hard-paywall-subscribe-button:active {
                        margin: 12px auto 5px;
                        width: 258px;
                    }

                    .ab-test-hard-paywall-login-button {
                        margin-top: 24px;
                        position: relative;
                        width: 240px;
                        text-decoration: none !important;
                        padding: 9px;
                    }

                    .ab-test-hard-paywall-login-link {
                        text-decoration: underline;
                        font-size: 14px;   
                        margin-bottom: 24px;
                        margin-top: 16px;
                    }

                    .ab-test-hard-paywall-offering {
                        max-width: 480px;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-paywall-product {
                        border: 1px solid #ccc;
                        background: #262626;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-text svg {
                        fill: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span, .sndp-dark .ab-test-paywall-product .ab-product-text {
                        color: #fff;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span > span {
                        color: #AFAFAF;
                    }
                    
                    @media (min-width: 360px) {
                        .ab-test-paywall-container {
                            max-width: 350px;
                        }

                        .ab-test-paywall-product .ab-product-text {
                            font-size: 14px;
                            margin-top: 4px;
                        }

                        .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span {
                            font-size: 16px;
                            letter-spacing: 0;
                        }

                        .ab-test-paywall-product .ab-product-title > span > span {
                            font-size: 14px;
                            padding-left: 8px;
                        }

                        .ab-test-paywall-product .ab-product-content {
                            margin-left: 16px;
                        }

                        .ab-test-paywall-product .ab-product-text svg {
                            margin-right: 4px;
                            height: 12px;
                        }

                        .ab-test-paywall-product .ab-product-text > span {
                            margin-right: 12px;
                        }
                    }
            `;
            
            if(document.location.pathname.indexOf('/visio/') > -1 ||
            document.location.pathname.indexOf('/teknologia/') > -1 ||
            document.location.pathname.indexOf('/talous/') > -1 ||
            document.location.pathname.indexOf('/autot/') > -1) {
            style += `	
                    .ab-test-paywall-product {
                        background: #F5E6DC;
                    }

                    .ab-test-paywall-product.selected {
                        background: #f9eee7;
                    }

                    .sndp-dark .ab-test-paywall-product.selected {
                        background: #262626;
                    }
            
                    .ab-test-paywall-grid .ab-grid-choose-button {
                        background: #b7384b;
                    }

                    .ab-test-paywall-product .ab-radio {
                        accent-color: #b7384b;
                    }

                    .ab-test-paywall-grid .ab-grid-choose-button:hover, .ab-test-paywall-grid .ab-grid-choose-button:active, .ab-test-paywall-grid .ab-grid-choose-button:focus {
                        background: #752f35;
                    }
                `;
            }
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            containerdiv.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    title.classList.add('ab-test-paywall-modified', namelower);

                    if(secondaryButton) { //katso muut tarjoukset button on HS
                        secondaryButton.style.display = 'none';
                    }

                    let loginLink = paywall.querySelector('.ab-test-hard-paywall-login-link');
                    if(loginLink) {
                        let paywallIndicator = paywall.querySelector('.paywall__indicator');
                        paywallIndicator.insertBefore(loginLink, paywallIndicator.childNodes[2]); //insert in between paywall indicators
                    }

                    //create container div - which contains all the elements
                    let containerdiv = createElem('div', 'ab-test-paywall-container', false);

                    //change subscribe button url and text
                    button = changeButtonUrlAndText(button, 'Digi+');

                    //main date until in title
                    if(commonDateUntil) {
                        let pvmSpan = calculateDays(commonDateUntil, 'asti');
                        title.innerText = 'Lue maksutta ' + pvmSpan;
                    }

                    let readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
                    let readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
                    let facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

                    let product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
                    let product2 = createProductElement('Digi', 'HS Digi  <span>2 kk 0 € <span>(norm. 14,90 €/kk)<span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
                    let product3 = createProductElement('Sample', 'Tutustumistilaus <span>2 vkoa 0 € </span>', false, button);
                    
                    subtitle.innerText = 'Voit irtisanoa tilauksen koska tahansa.';
                    subtitle.classList.remove('paywall__ingress');

                    //append elements to container one by one
                    containerdiv.appendChild(title);

                    if(cycloneDateUntil) { //cyclone subtitle
                        let pvmSpan = calculateDays(cycloneDateUntil, 'asti');
                        let cycloneText = createElem('div', 'paywall__text-block ab-test-paywall-additional-info', 'Maksuttoman jakson jälkeen voit jatkaa tilausta <span>-50 % hinnalla</span> ' + pvmSpan);
                        containerdiv.appendChild(cycloneText);
                    }

                    containerdiv.appendChild(product1);
                    containerdiv.appendChild(product2);

                    //delimeter element with TAI and border
                    let delimeter = createElem('div', 'ab-test-paywall-delimeter', '<span>TAI</span>');

                    containerdiv.appendChild(delimeter);
                    containerdiv.appendChild(product3);

                    containerdiv.appendChild(button);
                    containerdiv.appendChild(subtitle);

                    insertStyle(containerdiv);

                    let paywall_content = document.querySelector('[data-ab="paywall-content"]');
                    if(paywall_content) {
                        paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]);
                    }
                    else {
                        paywall.insertBefore(containerdiv, paywall.childNodes[1]); //insert as 2nd element on paywall after paywall indicator	
                    }
            
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    if(confirmExperiment()) {
                        return true;
                    }
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    };
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-LAiIl91JykA4P4gEKCPI-1756713389': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-54';
const variantId = 'B';
const experimentName = experimentId + ' timanttimuuri yhteiskuntamuuri';
const variantName = variantId + ' control';

let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
// currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const commonDateUntil = 60; //false or number of days
const miniDateUntil = 60;
const digiDateUntil = 60;
const cycloneDateUntil = 240;
const miniAID = 'GPGYW25KQPSPK'; //HS Digi
const miniPath = '/shopping-ui/hs-digionly-tutustu-65'; //HS Digi
const digiAID = 'GV4XBVL52YXUR'; //HS Digi+
const digiPath = '/shopping-ui/hs-digionly-tutustu-65'; //HS Digi+
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
const defaultProduct = 'Digi+'; //which product is pre-selected

const paywallEvent = 'radio sykloni 2+6 -50%'; //change this to describe how paywall offering is change from default (or set false if offering default)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment
const sendConfirmEvents = true; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
const paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    //if(true) { //use this if not HS ot
    if(true) {
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else if(testing) {
                        console.log('no paywall change offer event - this is control version?');
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };
        
        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));  
            }
        }

        //helper function to create product element 
        const createProductElement = function(productname, title, features, button) {
            let product = createElem('label', 'ab-test-paywall-product', false);
            product.setAttribute('product', productname);
            if(productname === defaultProduct) { //this is the default option
                product.classList.add('selected'); //mark it selected
            }
            let container = createElem('div', 'ab-product-container', false);

            let check = createElem('input', 'ab-radio', false);
            check.type = 'radio';
            check.name = 'product';
            check.value = productname;
            if(productname === defaultProduct) {
                check.checked = 'checked';
            }
            let productcontent = createElem('div', 'ab-product-content', false);
            let producttitle = createElem('p', 'ab-product-title', title);

            container.appendChild(check);
            productcontent.appendChild(producttitle);

            if(features) {
                let producttext = createElem('p', 'ab-product-text', features);
                productcontent.appendChild(producttext);
            }
            
            container.appendChild(productcontent);
            product.appendChild(container);
            check.onchange = function(e) {
                sendGAEvent('click product ' + productname);
                changeButtonUrlAndText(button, productname);
            }
            return product;
        }

        //helper function to change button url and text
        const changeButtonUrlAndText = function (button, pos) {          
            let urlParams = false;
            let pagePath = false;
            //ab-test-hard-paywall-subtitle
            let cancelAnytime = 'Voit irtisanoa tilauksen koska tahansa.';
            let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
            allProductElements.forEach(function (element) {
                element.classList.remove('selected');
                if(element.getAttribute('product') === pos) {
                    element.classList.add('selected');
                }
            });

            if(pos === 'Digi') {
                pagePath = miniPath;
                urlParams = {
                  'embedded': null,
                  'aid': miniAID,
                  'ref': 'maksumuuri_kova_ot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }

                replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
            }
            else if(pos === 'Digi+') {
                pagePath = digiPath;
                urlParams = {
                  'embedded': null,
                  'aid': digiAID,
                  'ref': 'maksumuuri_kova_ot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
  
                replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                //document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
                //let pvmSpan = calculateDays(60, ' asti');
                //document.querySelector('.ab-test-hard-paywall-title').innerHTML = 'Lue maksutta <nobr>' + pvmSpan + '</nobr>';
            }
            else {  //sample?
                //shouldnt happen
            }
          
            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
              Object.keys(urlParams).forEach(function (key) {
                if (urlParams[key] === null) {
                  url.searchParams.delete(key)
                } else if (urlParams[key] !== undefined) {
                  url.searchParams.set(key, urlParams[key])
                }
              })
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }

            button.href = url.toString();
            button.setAttribute('data-product-name', pos);
            button.onclick = function (e) {
                sendGAEvent('click subscribe ' + pos + ' at ' + variantId)
            }
            return button;
        }

        //helper function to calculate days d.m. 
        const calculateDays = function(d, suffix) {
            let date = new Date();
            date.setDate(date.getDate() + d);
            let dd = date.getDate();
            let mm = date.getMonth()+1;
            let pvmSpan = false;
            if(suffix) {
                pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
            }
            else {
                pvmSpan = dd.toString() + '.' + mm.toString() + '.'
            }
            return pvmSpan;
        }

        //helper function to insert style
        const insertStyle = function(containerdiv) {
            let style = `
                    :root {
                        --main-color: #191919;
                        --underline-color: #787878;
                        --line-color: #E9EAED;
                        --main-font: 'Helsingin', Arial, sans-serif;
                    }
                        
                    .ab-test-paywall-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        max-width: calc(100% - 16px);
                    }

                    .ab-test-paywall-container [data-ab="hard-paywall-title"] {
                        font-size: 26px;
                        margin-bottom: 16px;
                        text-align: center;
                    }

                    .ab-test-paywall-product {
                        display: flex;
                        flex-direction: column;
                        align-items: baseline;
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        border-top: 1px solid var(--line-color);
                        padding: 12px 0px;
                        cursor: pointer;
                        width: 100%;
                        border: 1px solid #000;
                        border-radius: 4px;
                        padding:0;
                        margin-bottom: 8px;
                        background: #F8F8F8;
                    }

                    .ab-test-paywall-product[product="Kaikki"] {
                        background: #FFF6E5;
                    }

                    .ab-product-container {
                        display: flex;
                        flex-direction: row;
                        align-items: baseline;
                        padding: 12px 12px 8px;
                        width: 100%;
                    }

                    .ab-legend {
                        position: absolute;
                        width: 1px;
                        height: 1px;
                        margin: -1px;
                        padding: 0;
                        overflow: hidden;
                        clip: rect(0, 0, 0, 0);
                        border: 0;
                    }

                    .ab-test-paywall-delimeter {
                        overflow: hidden;
                        margin-top: 0;
                        margin-bottom: 8px;

                        text-align: center;
                        font-family: var(--main-font);
                        font-size: 14px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        letter-spacing: 0.36px;
                    }
                    
                    .ab-test-paywall-delimeter:before, .ab-test-paywall-delimeter:after {
                        background-color: #ccc;
                        content: "";
                        display: inline-block;
                        height: 0.5px;
                        position: relative;
                        vertical-align: middle;
                        width: 50%;
                    }

                    .ab-test-paywall-delimeter:before {
                        right: 8px;
                        margin-left: -50%;
                    }
    
                    .ab-test-paywall-delimeter:after {
                        left: 8px;
                        margin-right: -50%;
                    }

                    .ab-test-paywall-product .ab-product-content {
                        display: flex;
                        flex-direction: column;
                        margin-left: 12px;
                        width: 100%;
                    }

                    .ab-test-paywall-product .ab-radio {
                        transform: scale(1.6);
                        accent-color: var(--main-color);
                        cursor: pointer;
                    }

                    @supports (-moz-appearance:none) {
                        .ab-test-paywall-product .ab-radio {
                            transform: scale(1.5);
                        }
                    }

                    .ab-test-paywall-product .ab-product-title {
                        font-weight: 600;
                        padding-bottom: 4px;
                        font-size: 14px;
                        display: flex;
                        justify-content: space-between;
                    }

                    .ab-test-paywall-product .ab-product-title > span {
                        font-size: 14px;
                        font-weight: 600;
                        float: right;
                        letter-spacing: -0.5px;
                    }

                    .ab-test-paywall-product .ab-product-title > span > span {
                        font-size: 12px;
                        font-weight: 300;
                        color: #666;
                        text-decoration: line-through;
                        padding-left: 4px;
                        letter-spacing: 0;
                    }

                    .ab-test-paywall-product .ab-product-text {
                        font-size: 12px;
                        margin-top: 2px;
                        color: #555;
                        text-align: left;
                    }

                    .ab-test-paywall-product .ab-product-text > span {
                        margin-right: 8px;
                    }

                    .ab-test-paywall-product .ab-product-text svg {
                        fill: #191919;
                        display: inline;
                        margin-right: 2px;
                        vertical-align: baseline;
                        height: 10px;
                    }

                    .ab-test-paywall-additional-info {
                        font-family: var(--main-font);
                        font-size: 15px;
                        font-weight: 600;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 16px;
                    }

                    .ab-test-paywall-additional-info span {
                        /* no line break */
                        white-space: nowrap;
                    }

                    [data-ab="hard-paywall-subtitle"] {
                        font-size: 15px;
                        font-family: var(--main-font);
                        margin-top: 12px;
                        margin-bottom: 32px;
                        text-align: center;
                    }

                    [data-ab="hard-paywall-subscribe-button"] {
                        margin: 12px auto 4px;
                        width: 260px;
                        font-family: var(--main-font);
                        font-size: 16px;
                        font-weight: 600;
                    }

                    [data-ab="hard-paywall-subscribe-button"]:active {
                        margin: 12px auto 5px;
                        width: 258px;
                    }

                    [data-ab="hard-paywall-login-link"] {
                        text-decoration: underline;
                        font-size: 14px;   
                        margin-bottom: 24px;
                        margin-top: 16px;
                    }

                    [data-ab="hard-paywall-offering"] {
                        max-width: 480px;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-paywall-product {
                        border: 1px solid #ccc;
                        background: #262626;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-text svg {
                        fill: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span, .sndp-dark .ab-test-paywall-product .ab-product-text {
                        color: #fff;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span > span {
                        color: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-radio {
                        accent-color: #666666;
                    }

                    @media (min-width: 360px) {
                        .ab-test-paywall-product .ab-product-text {
                            font-size: 14px;
                        }
                    }
                    
                    @media (min-width: 380px) {
                        .ab-test-paywall-container {
                            max-width: 350px;
                        }

                        .ab-test-paywall-product .ab-product-text {
                            font-size: 15px;
                            margin-top: 4px;
                        }

                        .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span {
                            font-size: 16px;
                            letter-spacing: 0;
                        }

                        .ab-test-paywall-product .ab-product-title > span > span {
                            font-size: 14px;
                            padding-left: 8px;
                        }

                        .ab-test-paywall-product .ab-product-content {
                            margin-left: 16px;
                        }

                        .ab-test-paywall-product .ab-product-text svg {
                            margin-right: 4px;
                            height: 12px;
                        }

                        .ab-test-paywall-product .ab-product-text > span {
                            margin-right: 12px;
                        }
                    }

                    @media (min-width: 400px) {
                        .ab-test-paywall-product .ab-product-text {
                            font-size: 16px;
                        }
                    }
            `;
            
            if(document.location.pathname.indexOf('/visio/') > -1 ||
            document.location.pathname.indexOf('/teknologia/') > -1 ||
            document.location.pathname.indexOf('/talous/') > -1 ||
            document.location.pathname.indexOf('/autot/') > -1) {
            style += `	
                    .ab-test-paywall-product {
                        background: #F5E6DC;
                    }
            
                    .ab-test-paywall-grid .ab-grid-choose-button {
                        background: #b7384b;
                    }

                    .ab-test-paywall-product .ab-radio {
                        accent-color: #b7384b;
                    }

                    .ab-test-paywall-grid .ab-grid-choose-button:hover, .ab-test-paywall-grid .ab-grid-choose-button:active, .ab-test-paywall-grid .ab-grid-choose-button:focus {
                        background: #752f35;
                    }
                `;
            }
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            containerdiv.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    title.classList.add('ab-test-paywall-modified', namelower);

                    if(secondaryButton) { //katso muut tarjoukset button on HS
                        secondaryButton.style.display = 'none';
                    }

                    let loginLink = paywall.querySelector('[data-ab="' + paywallType + '-paywall-login-link"]');
                    if(loginLink) {
                        let paywallIndicator = paywall.querySelector('[data-ab="' + paywallType + '-paywall-logo"]').parentNode;
                        paywallIndicator.insertBefore(loginLink, paywallIndicator.childNodes[2]); //insert in between paywall indicators
                    }

                    //create container div - which contains all the elements
                    let containerdiv = createElem('div', 'ab-test-paywall-container', false);

                    //change subscribe button url and text
                    button = changeButtonUrlAndText(button, 'Digi+');

                    //main date until in title
                    if(commonDateUntil) {
                        let pvmSpan = calculateDays(commonDateUntil, 'asti');
                        title.innerHTML = 'Lue maksutta <nobr>' + pvmSpan + '</nobr>';
                    }

                    //let checkIconSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M6.05367 8.43079L4.50494 6.88207C4.41264 6.78976 4.29662 6.74254 4.15687 6.74041C4.01713 6.73826 3.89897 6.78548 3.80239 6.88207C3.70581 6.97865 3.65752 7.09574 3.65752 7.23334C3.65752 7.37094 3.70581 7.48803 3.80239 7.5846L5.63187 9.41409C5.75238 9.5346 5.89298 9.59486 6.05367 9.59486C6.21435 9.59486 6.35494 9.5346 6.47545 9.41409L10.1844 5.70512C10.2767 5.61282 10.324 5.4968 10.3261 5.35705C10.3282 5.21731 10.281 5.09915 10.1844 5.00257C10.0878 4.90599 9.97076 4.8577 9.83316 4.8577C9.69556 4.8577 9.57847 4.90599 9.48189 5.00257L6.05367 8.43079ZM7.00094 13.3333C6.12498 13.3333 5.30163 13.1671 4.53087 12.8347C3.7601 12.5022 3.08965 12.051 2.5195 11.4812C1.94935 10.9113 1.49798 10.2411 1.16539 9.47067C0.832798 8.70026 0.666504 7.87708 0.666504 7.00112C0.666504 6.12517 0.832726 5.30181 1.16517 4.53105C1.49762 3.76029 1.94878 3.08983 2.51867 2.51969C3.08857 1.94953 3.75873 1.49816 4.52915 1.16557C5.29957 0.832982 6.12275 0.666687 6.9987 0.666687C7.87466 0.666687 8.69802 0.83291 9.46877 1.16535C10.2395 1.4978 10.91 1.94897 11.4801 2.51885C12.0503 3.08875 12.5017 3.75892 12.8343 4.52934C13.1668 5.29975 13.3331 6.12293 13.3331 6.99889C13.3331 7.87484 13.1669 8.6982 12.8345 9.46895C12.502 10.2397 12.0509 10.9102 11.481 11.4803C10.9111 12.0505 10.2409 12.5019 9.47049 12.8344C8.70008 13.167 7.87689 13.3333 7.00094 13.3333ZM6.99982 12.3333C8.48871 12.3333 9.74982 11.8167 10.7832 10.7833C11.8165 9.75001 12.3332 8.48889 12.3332 7C12.3332 5.51112 11.8165 4.25 10.7832 3.21667C9.74982 2.18334 8.48871 1.66667 6.99982 1.66667C5.51093 1.66667 4.24982 2.18334 3.21649 3.21667C2.18315 4.25 1.66649 5.51112 1.66649 7C1.66649 8.48889 2.18315 9.75001 3.21649 10.7833C4.24982 11.8167 5.51093 12.3333 6.99982 12.3333Z" fill="#191919"/></svg>';
                    let readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
                    let readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
                    let facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

                    let fieldset = createElem('fieldset', 'ab-fieldset', false);
                    let legend = createElem('legend', 'ab-legend', 'Valitse sinulle sopiva tilaus:');
                    let product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
                    let product2 = createProductElement('Digi', 'HS Digi <span>2 kk 0 € <span>(norm. 14,90 €/kk)<span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
                    
                    subtitle.innerText = 'Voit irtisanoa tilauksen koska tahansa.';
                    subtitle.classList.remove('paywall__ingress');

                    //append elements to container one by one
                    containerdiv.appendChild(title);
                    
                    //delimeter element with TAI and border
                    /*let delimeter = createElem('div', 'ab-test-paywall-delimeter', '<span>TAI</span>');
                    containerdiv.appendChild(delimeter);*/
                    
                    fieldset.appendChild(legend);
                    fieldset.appendChild(product1);
                    fieldset.appendChild(product2);
                    containerdiv.appendChild(fieldset);

                    if(cycloneDateUntil) { //cyclone subtitle
                        let pvmSpan = calculateDays(cycloneDateUntil, 'asti');
                        let cycloneText = createElem('div', 'paywall__text-block ab-test-paywall-additional-info', 'Lisäksi voit maksuttoman jakson jälkeen jatkaa tilausta 50 % alennuksella ' + pvmSpan);
                        containerdiv.appendChild(cycloneText);
                    }

                    containerdiv.appendChild(button);
                    containerdiv.appendChild(subtitle);

                    insertStyle(containerdiv);
                    
                    let paywall_content = document.querySelector('[data-ab="paywall-content"]');
                    if(paywall_content) {
                        paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]);
                    }
                    else {
                        paywall.insertBefore(containerdiv, paywall.childNodes[1]); //insert as 2nd element on paywall after paywall indicator	
                    }
            
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    return confirmExperiment();
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    };
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-MBFpfmpnSTNZ21tp75YX-1755854956': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

// EXPERIMENT CONFIGURATION - Change these values for each test
const experimentId = 'HS25-51b';
const variantId = 'C';

const sendGAEvent = function (label) { 
    if (testing) {
        console.log(label); 
    } else { 
        dataLayer.push({
            'event': 'eventInfo', 
            'eventCategory': 'Conductrics', 
            'eventAction': 'conductrics_event', 
            'eventLabel': experimentId + ' ' + variantId + ': ' + label
        });
    }
};

// RUN THE EXPERIMENT - Wrap everything in try-catch for comprehensive error handling
try {
    const experimentName = experimentId + ' sovelluslatausbanneri';
    const variantName = variantId + ': new';
    const namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

    // CONTENT VARIABLES - Edit these to change what the experiment shows
    const currentTitle = 'Lataa HS-sovellus';
    const currentTitle2 = 'Lataa palkittu HS-sovellus';
    const currentButtonText = 'Avaa sovellus';
    const newTitleCopy = 'Lataa uusi HS-sovellus';
    const firstTextCopy = 'Ota käyttöön uusi nopeampi etusivu parannetulla muistinkäytöllä';
    const lastTextCopy = 'Ei edellytä tilausta';
    const newButtonText = 'Avaa sovellus';

    // ELEMENT SELECTORS - These tell the script what to look for on the page
    const experimentExistsSelector = '.app-download-banner-modified-by-conductrics';
    const bannerSelector = '[data-ab="app-download-banner"]';
    const titleSelector = '[data-ab="app-download-banner-title"]';
    const descriptionSelector = '[data-ab="app-download-banner-text"]';
    const rejectButtonSelector = '[data-ab="app-download-banner-close-button"]';
    const acceptButtonSelector = '[data-ab="app-download-banner-accept-button"]';
    const bannerInnerContainerSelector = '[data-ab="app-download-banner"] > div > div';

    let store_parameter = experimentId + '_' + variantId;
    store_parameter = store_parameter.replace(/\s+/g, '-').toLowerCase(); //make lowercase and remove whitespace for store parameter
    const successEvents = true;

    // HELPER FUNCTION - Insert CSS styles
    const insertStyle = function (element) {
        let style = `		
            .ab-test-app-download-banner-inner {
                padding: 0;
            }

            .ab-test-app-download-banner-inner h2 {
                text-align: center;
                font-size: 22px;
            }

            .ab-test-app-download-banner-inner p {
                margin: 0 auto;
                font-size: 16px;
                line-height: 19.2px;
                text-align: center;
                font-family: Helsingin, Helvetica, Arial, sans-serif;
            }

            .ab-test-app-download-banner-inner .ab-second-div {
                margin-top: 16px;
            }
        `;
            
        var styleSheet = document.createElement("style");
        styleSheet.type = "text/css";
        element.appendChild(styleSheet);
        styleSheet.innerText = style;
    };

    // HELPER FUNCTION - Change button URL with store parameters
    const changeButtonUrl = function (buttonLink) {
        if (buttonLink.href.indexOf('https://apps.apple.com/') > -1) {
            if (buttonLink.href.indexOf('https://apps.apple.com/app/apple-store/id380643421?pt=350676&ct=alasticky') > -1) {
                buttonLink.href = buttonLink.href.replace('alasticky', 'alasticky_' + store_parameter);
                if (successEvents) {
                    sendGAEvent('apple store link parameter ct changed to: alasticky_' + store_parameter);
                }
                return true;
            } else {
                sendGAEvent('script error: apple store link error');
            }
        }
        if (buttonLink.href.indexOf('https://play.google.com/') > -1) {
            if (buttonLink.href.indexOf('https://play.google.com/store/apps/details?id=fi.hs.android&referrer=utm_source=hsfi&utm_medium=referral&utm_campaign=hs_alasticky') > -1) {
                buttonLink.href = buttonLink.href.replace('alasticky', 'alasticky_' + store_parameter);
                if (successEvents) {
                    sendGAEvent('google store link parameter utm_campaign changed to: hs_alasticky_' + store_parameter);
                }
                return true;
            } else {
                sendGAEvent('script error: google store link error');
            }
        } else {
            return false;
        }
        return true;
    };
    
    // MAIN EXPERIMENT FUNCTION
    const executeExperiment = function () {
        let experimentExists = document.querySelector(experimentExistsSelector);
        let banner = document.querySelector(bannerSelector);
        let title = document.querySelector(titleSelector);
        let description = document.querySelector(descriptionSelector);
        let rejectbutton = document.querySelector(rejectButtonSelector);
        let acceptbutton = document.querySelector(acceptButtonSelector);
        let bannerInnerContainer = document.querySelector(bannerInnerContainerSelector);
        let buttonLink = acceptbutton;
        
        if (experimentExists) {
            //sendGAEvent('script failed, already modified');
            return false;
        }
        
        if (!(banner && title && acceptbutton && buttonLink && rejectbutton)) {
            sendGAEvent('script failed, banner elements not found');
            return false;
        }

        if (!((title.innerText.trim() === currentTitle || title.innerText.trim() === currentTitle2) && acceptbutton.innerText.trim() === currentButtonText)) {
            sendGAEvent('script failed, unexpected banner text');
            return false;
        }
        
        if (!changeButtonUrl(buttonLink)) {
            sendGAEvent('script failed, button URL change failed');
            return false;
        }
        
        // Make the changes
        title.classList.add('app-download-banner-modified-by-conductrics', namelower);
        bannerInnerContainer.classList.add('ab-test-app-download-banner-inner');
        title.innerText = newTitleCopy;

        if (!banner.querySelector('style')) {
            insertStyle(banner);
        }

        if (description) {
            description.classList.add('hidden');
        }

        let mainDiv = bannerInnerContainer.querySelector('div:nth-child(2)');
        if (mainDiv) {
            mainDiv.classList.add('ab-main-div');

            let firstDiv = mainDiv.querySelector('div:nth-child(1)');
            if (firstDiv) {
                firstDiv.classList.add('ab-first-div');
            
                let firstText = document.createElement('p');
                firstText.classList.add('ab-first-text');
                firstText.innerText = firstTextCopy;
                firstDiv.appendChild(firstText);
            }

            let secondDiv = mainDiv.querySelector('div:nth-child(2)');
            if (secondDiv) {
                secondDiv.classList.add('ab-second-div');
                secondDiv.appendChild(acceptbutton);
                let lastText = document.createElement('p');
                lastText.classList.add('ab-last-text');
                lastText.innerText = lastTextCopy;
                secondDiv.appendChild(lastText);
            }
        }

        acceptbutton.onclick = function (e) {
            sendGAEvent('click application download');
        };

        if (requireCdx) {
            cdx.confirm(true);
        }

        return true;
    };

    // Execute the experiment
    executeExperiment();
    
} catch (e) {
    // Handle errors - this catches ALL errors including syntax errors in variables
    if (e.toString().indexOf('confirm') < 0 && e.toString().indexOf('cdx') < 0) {
        console.log(e);
        
        let err = e;
        let err_split = e.stack.split("\n");
        let err_line = false;
        if (err_split[1]) {
            err_line = err_split[1].split('>:');
        }
        if (err_line[1]) {
            err = err_line[1];
        }
        
        sendGAEvent('script error: ' + err);
    }
}
 },'js-TREEhWAvZ2ViiF0Hp6LT-1749618702': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
const experimentId = 'HS25-39b';
const experimentName = experimentId + ' tv';
const variantId = 'A';
const description = 'default';
if(testing) { requireCdx = false; }
const noEligibilityRules = true;

if(!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//current AIDs that we use atm, changes these
const curKaikkiAID = 'GZ4Z5T4MX258U';
const curDigiAID = 'G3HVNURN6Z3CP';
const curDigiplusAID = 'G8P3NSPPK3JGR';
const curPrint7pvAID = 'G83FKCWHCSRDG';
const curPrintLasuAID = 'GIO62QN9VMR7R';
const curPrintPesuAID = 'GTMVT5QMKRVYG';

//new AIDs that are switched in use by script
const newDigiAID = 'GLHM2VKNSD374';
const newDigiplusAID = 'G3ULN83XSL8RM';
const newPrint7pvAID = 'G5K9TUB9TYHJY';
const newPrintLasuAID = 'GH4QBXSWQROZU';
const newPrintPesuAID = 'GUBJSN98KU7F4';
const newKaikkiAID = 'G3WZMID2RGH4X';

const order_pagePath = false;

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

try {
    if(requireCdx === false || noEligibilityRules) {
        //actual code begins

        let mainElement = document.querySelector('.ab-hs-mini'); //main element to look for

        //in this function we switch the AID of the button. AID is one of the url parameters. Leave other url parameters as they were.
        const switchLinkAID = function (button, oldAid, newAID) {
            if(button.href.indexOf(oldAid) === -1) {
                sendGAEvent('script error: AID ' + oldAid + ' not found in url for ' + variantId);
            }
            let url = new URL(button.href);
            return url.toString().replace(oldAid, newAID);
        };

        const switchInputAID = function (input, oldAid, newAID) {
            let value = input.value;
            if(value.indexOf(oldAid) === -1) {
                sendGAEvent('script error: AID ' + oldAid + ' not found in url for ' + variantId);
            }
            return value.replace(oldAid, newAID);
        };

        const switchLinkAIDs = function (button) {
            button.href = button.href.replace(curPrint7pvAID, newPrint7pvAID)
                .replace(curPrintLasuAID, newPrintLasuAID)
                .replace(curPrintPesuAID, newPrintPesuAID);
            return button.href;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-hs-mini.ab-hs-mini-modified');
            if(experimentExists) {
                sendGAEvent('exp already exists at ' + variantId);
            } else if(mainElement) {
                let miniPrice = document.querySelector('.ab-hs-mini-price');
                let miniNormPrice = document.querySelector('.ab-hs-mini-norm');
                let miniButton = document.querySelector('.ab-hs-mini-button');
                let digiPrice = document.querySelector('.ab-hs-digi-price');

                if(mainElement && miniPrice && miniNormPrice && miniButton) { //---------actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    mainElement.classList.add('ab-hs-mini-modified', namelower, 'modified-by-conductrics-' + experimentId);

                    if(miniButton.href = switchLinkAID(miniButton, curDigiAID, newDigiAID)) {
                        /*miniPrice.innerHTML = 'alk. <span>12,90</span> €/kk';
                        miniNormPrice.classList.add('hss-note-striked');
                        miniNormPrice.innerText = 'norm. 14,90 €/kk';
                        digiPrice.innerHTML = 'alk. <span>14,90</span> €/kk';*/
                        let buttonDigiplus = document.querySelector('.ab-hs-digi-button');
                        buttonDigiplus.href = switchLinkAID(buttonDigiplus, curDigiplusAID, newDigiplusAID);

                        //switch AID for other buttons
                        let buttonKaikki = document.querySelector('.ab-hs-kaikki-button');
                        buttonKaikki.href = switchLinkAID(buttonKaikki, curKaikkiAID, newKaikkiAID);

                        let print7pvUrl = document.querySelector('input[name="hs-7pv-url"]');
                        let printLasuUrl = document.querySelector('input[name="hs-lasu-url"]');
                        let printPesuUrl = document.querySelector('input[name="hs-pesu-url"]');
                        
                        print7pvUrl.value = switchInputAID(print7pvUrl, curPrint7pvAID, newPrint7pvAID);
                        printLasuUrl.value = switchInputAID(printLasuUrl, curPrintLasuAID, newPrintLasuAID);
                        printPesuUrl.value = switchInputAID(printPesuUrl, curPrintPesuAID, newPrintPesuAID);
                        let buttonPrint = document.querySelector('.ab-hs-print-button');
                        buttonPrint.href = switchLinkAIDs(buttonPrint);

                        window.hsLasuUrl = printLasuUrl.value;
                        window.hsPesuUrl = printPesuUrl.value;
                        window.hsPrintUrl = print7pvUrl.value;

                        if(requireCdx) {
                            cdx.confirm(true);
                        }
                        return true;
                    }
                }
                else {
                    sendGAEvent('script error at ' + variantId + ': html invalid');
                }
            } else {
                sendGAEvent('script failed, element n/a at ' + variantId);
            }
        };

        doExperimentChanges(); //finally call the function to do the changes
    };
} catch(e) {
    let err = e;
    let err_split = e.stack.split("\n");
    let err_line = false;
    if(err_split[1]) {
        err_line = err_split[1].split('>:');
    }
    if(err_line[1]) {
        err = err_line[1];
    }
    sendGAEvent('script error at ' + variantId + ': ' + err);
}
 },'js-V3HqmOQAONCQTI1ph7Tt-1750924733': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-46b';
const variantId = 'C';
const experimentName = experimentId + ' Timanttimuuri ot';
const variantName = variantId + ' radio sykloni 2+6 -50%';

let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
// currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const commonDateUntil = 60; //false or number of days
const miniDateUntil = 60;
const digiDateUntil = 60;
const cycloneDateUntil = 240;
const miniAID = 'GCF3VBIKU6ZTQ'; //HS Digi
const miniPath = '/shopping-ui/hs-digionly-tutustu-65'; //HS Digi
const digiAID = 'GNTMUZIQNV525'; //HS Digi+
const digiPath = '/shopping-ui/hs-digionly-tutustu-65'; //HS Digi+
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
const defaultProduct = 'Digi+'; //which product is pre-selected

const paywallEvent = 'radio sykloni 2+6 -50%'; //change this to describe how paywall offering is change from default (or set false if offering default)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment
const sendConfirmEvents = false; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
const paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    //if(true) { //use this if not HS ot
    if(requireCdx === false || window.conductrics_checkIfEligibileForP2p(cdx.trait('isLoggedIn'), cdx.trait('p2p_lightgbm'), cdx.trait('p2p'))) {
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else if(testing) {
                        console.log('no paywall change offer event - this is control version?');
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };
        
        //helper function to create any html element
        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));  
            }
        }

        //helper function to create product element 
        const createProductElement = function(productname, title, features, button) {
            let product = createElem('label', 'ab-test-paywall-product', false);
            product.setAttribute('product', productname);
            if(productname === defaultProduct) { //this is the default option
                product.classList.add('selected'); //mark it selected
            }
            let container = createElem('div', 'ab-product-container', false);

            let check = createElem('input', 'ab-radio', false);
            check.type = 'radio';
            check.name = 'product';
            check.value = productname;
            if(productname === defaultProduct) {
                check.checked = 'checked';
            }
            let productcontent = createElem('div', 'ab-product-content', false);
            let producttitle = createElem('p', 'ab-product-title', title);

            container.appendChild(check);
            productcontent.appendChild(producttitle);

            if(features) {
                let producttext = createElem('p', 'ab-product-text', features);
                productcontent.appendChild(producttext);
            }
            
            container.appendChild(productcontent);
            product.appendChild(container);
            check.onchange = function(e) {
                sendGAEvent('click product ' + productname);
                changeButtonUrlAndText(button, productname);
            }
            return product;
        }

        //helper function to change button url and text
        const changeButtonUrlAndText = function (button, pos) {          
            let urlParams = false;
            let pagePath = false;
            //ab-test-hard-paywall-subtitle
            let cancelAnytime = 'Voit irtisanoa tilauksen koska tahansa.';
            let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
            allProductElements.forEach(function (element) {
                element.classList.remove('selected');
                if(element.getAttribute('product') === pos) {
                    element.classList.add('selected');
                }
            });

            if(pos === 'Digi') {
                pagePath = miniPath;
                urlParams = {
                  'embedded': null,
                  'aid': miniAID,
                  'ref': 'maksumuuri_kova_ot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }

                replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
            }
            else if(pos === 'Digi+') {
                pagePath = digiPath;
                urlParams = {
                  'embedded': null,
                  'aid': digiAID,
                  'ref': 'maksumuuri_kova_ot',
                  'showPaymentPeriodList': null,
                  'offer': null,
                  'variant': null
                }
  
                replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €'); //use replaceText function to change text, so it keeps all nodes intact
                //document.querySelector('.ab-test-hard-paywall-subtitle').innerText = cancelAnytime;
                //let pvmSpan = calculateDays(60, ' asti');
                //document.querySelector('.ab-test-hard-paywall-title').innerHTML = 'Lue maksutta <nobr>' + pvmSpan + '</nobr>';
            }
            else {  //sample?
                //shouldnt happen
            }
          
            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
              Object.keys(urlParams).forEach(function (key) {
                if (urlParams[key] === null) {
                  url.searchParams.delete(key)
                } else if (urlParams[key] !== undefined) {
                  url.searchParams.set(key, urlParams[key])
                }
              })
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }

            button.href = url.toString();
            button.setAttribute('data-product-name', pos);
            button.onclick = function (e) {
                sendGAEvent('click subscribe ' + pos + ' at ' + variantId)
            }
            return button;
        }

        //helper function to calculate days d.m. 
        const calculateDays = function(d, suffix) {
            let date = new Date();
            date.setDate(date.getDate() + d);
            let dd = date.getDate();
            let mm = date.getMonth()+1;
            let pvmSpan = false;
            if(suffix) {
                pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
            }
            else {
                pvmSpan = dd.toString() + '.' + mm.toString() + '.'
            }
            return pvmSpan;
        }

        //helper function to insert style
        const insertStyle = function(containerdiv) {
            let style = `
                    :root {
                        --main-color: #191919;
                        --underline-color: #787878;
                        --line-color: #E9EAED;
                        --main-font: 'Helsingin', Arial, sans-serif;
                    }
                        
                    .ab-test-paywall-container {
                        display: flex;
                        flex-direction: column;
                        width: 100%;
                        max-width: calc(100% - 16px);
                    }

                    .ab-test-paywall-container [data-ab="hard-paywall-title"] {
                        font-size: 26px;
                        margin-bottom: 16px;
                        text-align: center;
                    }

                    .ab-test-paywall-product {
                        display: flex;
                        flex-direction: column;
                        align-items: baseline;
                        font-size: 16px;
                        font-family: var(--main-font);
                        margin: 0 auto;
                        border-top: 1px solid var(--line-color);
                        padding: 12px 0px;
                        cursor: pointer;
                        width: 100%;
                        border: 1px solid #000;
                        border-radius: 4px;
                        padding:0;
                        margin-bottom: 8px;
                        background: #F8F8F8;
                    }

                    .ab-test-paywall-product[product="Kaikki"] {
                        background: #FFF6E5;
                    }

                    .ab-product-container {
                        display: flex;
                        flex-direction: row;
                        align-items: baseline;
                        padding: 12px 12px 8px;
                        width: 100%;
                    }

                    .ab-legend {
                        position: absolute;
                        width: 1px;
                        height: 1px;
                        margin: -1px;
                        padding: 0;
                        overflow: hidden;
                        clip: rect(0, 0, 0, 0);
                        border: 0;
                    }

                    .ab-test-paywall-delimeter {
                        overflow: hidden;
                        margin-top: 0;
                        margin-bottom: 8px;

                        text-align: center;
                        font-family: var(--main-font);
                        font-size: 14px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        letter-spacing: 0.36px;
                    }
                    
                    .ab-test-paywall-delimeter:before, .ab-test-paywall-delimeter:after {
                        background-color: #ccc;
                        content: "";
                        display: inline-block;
                        height: 0.5px;
                        position: relative;
                        vertical-align: middle;
                        width: 50%;
                    }

                    .ab-test-paywall-delimeter:before {
                        right: 8px;
                        margin-left: -50%;
                    }
    
                    .ab-test-paywall-delimeter:after {
                        left: 8px;
                        margin-right: -50%;
                    }

                    .ab-test-paywall-product .ab-product-content {
                        display: flex;
                        flex-direction: column;
                        margin-left: 12px;
                        width: 100%;
                    }

                    .ab-test-paywall-product .ab-radio {
                        transform: scale(1.6);
                        accent-color: var(--main-color);
                        cursor: pointer;
                    }

                    @supports (-moz-appearance:none) {
                        .ab-test-paywall-product .ab-radio {
                            transform: scale(1.5);
                        }
                    }

                    .ab-test-paywall-product .ab-product-title {
                        font-weight: 600;
                        padding-bottom: 4px;
                        font-size: 14px;
                        display: flex;
                        justify-content: space-between;
                    }

                    .ab-test-paywall-product .ab-product-title > span {
                        font-size: 14px;
                        font-weight: 600;
                        float: right;
                        letter-spacing: -0.5px;
                    }

                    .ab-test-paywall-product .ab-product-title > span > span {
                        font-size: 12px;
                        font-weight: 300;
                        color: #666;
                        text-decoration: line-through;
                        padding-left: 4px;
                        letter-spacing: 0;
                    }

                    .ab-test-paywall-product .ab-product-text {
                        font-size: 12px;
                        margin-top: 2px;
                        color: #555;
                        text-align: left;
                    }

                    .ab-test-paywall-product .ab-product-text > span {
                        margin-right: 8px;
                    }

                    .ab-test-paywall-product .ab-product-text svg {
                        fill: #191919;
                        display: inline;
                        margin-right: 2px;
                        vertical-align: baseline;
                        height: 10px;
                    }

                    .ab-test-paywall-additional-info {
                        font-family: var(--main-font);
                        font-size: 15px;
                        font-weight: 600;
                        line-height: 1.2;
                        text-align: center;
                        margin-bottom: 16px;
                    }

                    .ab-test-paywall-additional-info span {
                        /* no line break */
                        white-space: nowrap;
                    }

                    [data-ab="hard-paywall-subtitle"] {
                        font-size: 15px;
                        font-family: var(--main-font);
                        margin-top: 12px;
                        margin-bottom: 32px;
                        text-align: center;
                    }

                    [data-ab="hard-paywall-subscribe-button"] {
                        margin: 12px auto 4px;
                        width: 260px;
                        font-family: var(--main-font);
                        font-size: 16px;
                        font-weight: 600;
                    }

                    [data-ab="hard-paywall-subscribe-button"]:active {
                        margin: 12px auto 5px;
                        width: 258px;
                    }

                    [data-ab="hard-paywall-login-link"] {
                        text-decoration: underline;
                        font-size: 14px;   
                        margin-bottom: 24px;
                        margin-top: 16px;
                    }

                    [data-ab="hard-paywall-offering"] {
                        max-width: 480px;
                    }

                    /* dark mode support */
                    .sndp-dark .ab-test-paywall-product {
                        border: 1px solid #ccc;
                        background: #262626;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-text svg {
                        fill: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span, .sndp-dark .ab-test-paywall-product .ab-product-text {
                        color: #fff;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-product-title > span > span {
                        color: #AFAFAF;
                    }

                    .sndp-dark .ab-test-paywall-product .ab-radio {
                        accent-color: #666666;
                    }

                    @media (min-width: 360px) {
                        .ab-test-paywall-product .ab-product-text {
                            font-size: 14px;
                        }
                    }
                    
                    @media (min-width: 380px) {
                        .ab-test-paywall-container {
                            max-width: 350px;
                        }

                        .ab-test-paywall-product .ab-product-text {
                            font-size: 15px;
                            margin-top: 4px;
                        }

                        .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span {
                            font-size: 16px;
                            letter-spacing: 0;
                        }

                        .ab-test-paywall-product .ab-product-title > span > span {
                            font-size: 14px;
                            padding-left: 8px;
                        }

                        .ab-test-paywall-product .ab-product-content {
                            margin-left: 16px;
                        }

                        .ab-test-paywall-product .ab-product-text svg {
                            margin-right: 4px;
                            height: 12px;
                        }

                        .ab-test-paywall-product .ab-product-text > span {
                            margin-right: 12px;
                        }
                    }

                    @media (min-width: 400px) {
                        .ab-test-paywall-product .ab-product-text {
                            font-size: 16px;
                        }
                    }
            `;
            
            if(document.location.pathname.indexOf('/visio/') > -1 ||
            document.location.pathname.indexOf('/teknologia/') > -1 ||
            document.location.pathname.indexOf('/talous/') > -1 ||
            document.location.pathname.indexOf('/autot/') > -1) {
            style += `	
                    .ab-test-paywall-product {
                        background: #F5E6DC;
                    }
            
                    .ab-test-paywall-grid .ab-grid-choose-button {
                        background: #b7384b;
                    }

                    .ab-test-paywall-product .ab-radio {
                        accent-color: #b7384b;
                    }

                    .ab-test-paywall-grid .ab-grid-choose-button:hover, .ab-test-paywall-grid .ab-grid-choose-button:active, .ab-test-paywall-grid .ab-grid-choose-button:focus {
                        background: #752f35;
                    }
                `;
            }
                        
            let styleSheet = document.createElement("style");
            styleSheet.type = "text/css";
            containerdiv.appendChild(styleSheet);
            styleSheet.innerText = style;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    title.classList.add('ab-test-paywall-modified', namelower);

                    if(secondaryButton) { //katso muut tarjoukset button on HS
                        secondaryButton.style.display = 'none';
                    }

                    let loginLink = paywall.querySelector('[data-ab="' + paywallType + '-paywall-login-link"]');
                    if(loginLink) {
                        let paywallIndicator = paywall.querySelector('[data-ab="' + paywallType + '-paywall-logo"]').parentNode;
                        paywallIndicator.insertBefore(loginLink, paywallIndicator.childNodes[2]); //insert in between paywall indicators
                    }

                    //create container div - which contains all the elements
                    let containerdiv = createElem('div', 'ab-test-paywall-container', false);

                    //change subscribe button url and text
                    button = changeButtonUrlAndText(button, 'Digi+');

                    //main date until in title
                    if(commonDateUntil) {
                        let pvmSpan = calculateDays(commonDateUntil, 'asti');
                        title.innerHTML = 'Lue maksutta <nobr>' + pvmSpan + '</nobr>';
                    }

                    //let checkIconSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M6.05367 8.43079L4.50494 6.88207C4.41264 6.78976 4.29662 6.74254 4.15687 6.74041C4.01713 6.73826 3.89897 6.78548 3.80239 6.88207C3.70581 6.97865 3.65752 7.09574 3.65752 7.23334C3.65752 7.37094 3.70581 7.48803 3.80239 7.5846L5.63187 9.41409C5.75238 9.5346 5.89298 9.59486 6.05367 9.59486C6.21435 9.59486 6.35494 9.5346 6.47545 9.41409L10.1844 5.70512C10.2767 5.61282 10.324 5.4968 10.3261 5.35705C10.3282 5.21731 10.281 5.09915 10.1844 5.00257C10.0878 4.90599 9.97076 4.8577 9.83316 4.8577C9.69556 4.8577 9.57847 4.90599 9.48189 5.00257L6.05367 8.43079ZM7.00094 13.3333C6.12498 13.3333 5.30163 13.1671 4.53087 12.8347C3.7601 12.5022 3.08965 12.051 2.5195 11.4812C1.94935 10.9113 1.49798 10.2411 1.16539 9.47067C0.832798 8.70026 0.666504 7.87708 0.666504 7.00112C0.666504 6.12517 0.832726 5.30181 1.16517 4.53105C1.49762 3.76029 1.94878 3.08983 2.51867 2.51969C3.08857 1.94953 3.75873 1.49816 4.52915 1.16557C5.29957 0.832982 6.12275 0.666687 6.9987 0.666687C7.87466 0.666687 8.69802 0.83291 9.46877 1.16535C10.2395 1.4978 10.91 1.94897 11.4801 2.51885C12.0503 3.08875 12.5017 3.75892 12.8343 4.52934C13.1668 5.29975 13.3331 6.12293 13.3331 6.99889C13.3331 7.87484 13.1669 8.6982 12.8345 9.46895C12.502 10.2397 12.0509 10.9102 11.481 11.4803C10.9111 12.0505 10.2409 12.5019 9.47049 12.8344C8.70008 13.167 7.87689 13.3333 7.00094 13.3333ZM6.99982 12.3333C8.48871 12.3333 9.74982 11.8167 10.7832 10.7833C11.8165 9.75001 12.3332 8.48889 12.3332 7C12.3332 5.51112 11.8165 4.25 10.7832 3.21667C9.74982 2.18334 8.48871 1.66667 6.99982 1.66667C5.51093 1.66667 4.24982 2.18334 3.21649 3.21667C2.18315 4.25 1.66649 5.51112 1.66649 7C1.66649 8.48889 2.18315 9.75001 3.21649 10.7833C4.24982 11.8167 5.51093 12.3333 6.99982 12.3333Z" fill="#191919"/></svg>';
                    let readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
                    let readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
                    let facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

                    let fieldset = createElem('fieldset', 'ab-fieldset', false);
                    let legend = createElem('legend', 'ab-legend', 'Valitse sinulle sopiva tilaus:');
                    let product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
                    let product2 = createProductElement('Digi', 'HS Digi <span>2 kk 0 € <span>(norm. 14,90 €/kk)<span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
                    
                    subtitle.innerText = 'Voit irtisanoa tilauksen koska tahansa.';
                    subtitle.classList.remove('paywall__ingress');

                    //append elements to container one by one
                    containerdiv.appendChild(title);
                    
                    //delimeter element with TAI and border
                    /*let delimeter = createElem('div', 'ab-test-paywall-delimeter', '<span>TAI</span>');
                    containerdiv.appendChild(delimeter);*/
                    
                    fieldset.appendChild(legend);
                    fieldset.appendChild(product1);
                    fieldset.appendChild(product2);
                    containerdiv.appendChild(fieldset);

                    if(cycloneDateUntil) { //cyclone subtitle
                        let pvmSpan = calculateDays(cycloneDateUntil, 'asti');
                        let cycloneText = createElem('div', 'paywall__text-block ab-test-paywall-additional-info', 'Lisäksi voit maksuttoman jakson jälkeen jatkaa tilausta 50 % alennuksella ' + pvmSpan);
                        containerdiv.appendChild(cycloneText);
                    }

                    containerdiv.appendChild(button);
                    containerdiv.appendChild(subtitle);

                    insertStyle(containerdiv);
                    
                    let paywall_content = document.querySelector('[data-ab="paywall-content"]');
                    if(paywall_content) {
                        paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]);
                    }
                    else {
                        paywall.insertBefore(containerdiv, paywall.childNodes[1]); //insert as 2nd element on paywall after paywall indicator	
                    }
            
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    return confirmExperiment();
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    };
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-WzEdgyKyh8OFgTnwCfE0-1738660508': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; }
const experimentId = 'HS25-37';
const variantId = 'A';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' control';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const newAID = 'GBGT8CB9YKZUR';
const pagePath = false;
const feedTitle = 'Hesarin digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttiartikkelia kuukaudessa';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    if(true) {       
        const changeButtonUrlAndText = function(button) {
            let urlParams = {
                'embedded': null,
                'offer': null,
                'aid': newAID,
                'ref': null,
                'showPaymentPeriodList': null,
                'variant': null
            };

            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
                Object.keys(urlParams).forEach(function(key) {
                    if (urlParams[key] === null) {
                        url.searchParams.delete(key);
                    } else if (urlParams[key] !== undefined) {
                        url.searchParams.set(key, urlParams[key]);
                    }
                });
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
            return button;
        };
    
        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    button = changeButtonUrlAndText(button);
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    
                    title.classList.add('ab-test-paywall-modified', namelower);
            
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    //dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': 'change offer to sample at timanttimuuri', 'eventLabel': experimentName + ' ' + variantName});
                    
                    if(feedTitle) {
                        let paywallOffering = document.querySelector('[data-ab="' + paywallType + '-paywall-offering"]');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }

                    if(requireCdx) {
                        cdx.confirm(true);
                    }
                    return true;
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    }
} catch(err) {   
    sendGAEvent('script error: ' + err);
}
 },'js-WzEdgyKyh8OFgTnwCfE0-1750924733': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-46b';
const variantId = 'A';
const experimentName = experimentId + ' Timanttimuuri ot';
const variantName = variantId + ' control';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
// currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const newAID = 'G6QWCUNRNVIKP';
const pagePath = false;
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';

const paywallEvent = false; //change this to describe how paywall offering is change from default (or set false if offering default)
let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]

const timeToWaitForConfirm = 500; //time to wait before confirming experiment

const sendConfirmEvents = false; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
let paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;
if(!paywallEvent) {
    paywallEventLabel = 'default offer: ' + stringIdPlusVariant;
}

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    //if(true) { //use this if not HS ot
    if(requireCdx === false || window.conductrics_checkIfEligibileForP2p(cdx.trait('isLoggedIn'), cdx.trait('p2p_lightgbm'), cdx.trait('p2p'))) {       
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else {
                        if(testing) {
                            console.log('no paywall change offer event - this is control version?');
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };

        const changeButtonUrl = function(button) {
            let urlParams = {
                'embedded': null,
                'offer': null,
                'aid': newAID,
                'ref': 'maksumuuri_kova_ot',
                'showPaymentPeriodList': null,
                'variant': null
            };

            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
                Object.keys(urlParams).forEach(function(key) {
                    if (urlParams[key] === null) {
                        url.searchParams.delete(key);
                    } else if (urlParams[key] !== undefined) {
                        url.searchParams.set(key, urlParams[key]);
                    }
                });
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
            return button;
        };
    
        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    button = changeButtonUrl(button);
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    
                    title.classList.add('ab-test-paywall-modified', namelower);
                    
                    if(feedTitle) {
                        let paywallOffering = document.querySelector('[data-ab="' + paywallType + '-paywall-offering"]');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }

                    return confirmExperiment();
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    }
} catch(err) {   
    sendGAEvent('script error: ' + err);
}
 },'js-XIocLrJLNX94jLuSenSQ-1727874134': function (cdx) { const experimentId = 'HS24-23';
const variantId = 'debug';
const experimentName = experimentId + ' subscription sharing';
const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
let remaining = false;

let gtmCont = window.google_tag_manager['GTM-5NBQVZ5'];
if(gtmCont) {
	if (typeof(gtmCont.dataLayer.get('user.subscriptionDetails.subscriptionSharing')) !== 'undefined') {
		remaining = gtmCont.dataLayer.get('user.subscriptionDetails.subscriptionSharing.remaining');
		remaining = 'remaining: ' + remaining;
	}
    else {
      remaining = 'remaining: N/A';
    }
}

if(remaining) {
    if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || [] }
    dataLayer.push({event: 'eventInfo',eventCategory: 'Conductrics',eventAction: 'conductrics_event',eventLabel: stringIdPlusVariant + remaining})
}
 },'js-YcVXpTYKzS4uADV5huwi-1745830242': function (cdx) { let requireCdx = false; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-46';
const variantId = 'A';
const experimentName = experimentId + ' karenssi popup';
const variantName = variantId + ' control';

const currentQuarantineText = 'Olet jo käyttänyt edun. Sinulle voimassaolevat tarjoukset löydät alta';
const currentQuarantineButtonText = 'Katso tarjous';

let newQuarantineText = 'Voi ei! Olet jo käyttänyt edun. Ei hätää! Meillä on sinulle vaihtoehtoinen tarjous, jonka näet alla olevan napin takaa.';
 newQuarantineText = 'Hei! Tämä etu on tarjolla vain uusille tilaajille. Toivomme sinun palaavan tilaajaksemme, klikkaa alta ja näet tarjoukset palaaville tilaajille.';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    //helper function to create any html element
    const createElem = function(tag, classes, text) {
        let elem = document.createElement(tag);
        if(classes) {
            //split classes by space
            classes = classes.split(' ');
            for(let i = 0; i < classes.length; i++) {
                elem.classList.add(classes[i]);
            }
        }
        if(text) {
            elem.innerHTML = text;
        }
        return elem;
    }

    //helper function to calculate days d.m. 
    const calculateDays = function(d, suffix) {
        let date = new Date();
        date.setDate(date.getDate() + d);
        let dd = date.getDate();
        let mm = date.getMonth()+1;
        let pvmSpan = false;
        if(suffix) {
            pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
        }
        else {
            pvmSpan = dd.toString() + '.' + mm.toString() + '.'
        }
        return pvmSpan;
    }

    //helper function to insert style
    const insertStyle = function(elem) {
        let style = `
                :root {
                    --border-color: #e1e1e4;
                    --title-font: Sanomat,Georgia,Baskerville,serif;
                    --body-font: Helsingin, Helvetica, Arial, sans-serif;
                    --primary-button-color: #191919;
                    --primary-button-hover-color: #555558;
                    --primary-button-dark-mode-color: #fff;
                    --primary-button-dark-mode-hover-color: #afafb2;
                    --button-font-weight: 500;
                }
                    
                .paywall__text-with-lines-around:after, .paywall__text-with-lines-around:before {
                    height: .5px;
                }

                /* dark mode support */
                .sndp-dark .ab-test-subscribe-button {
                    background-color: var(--primary-button-dark-mode-color);
                    color: #191919;
                }

                .sndp-dark .ab-test-dynamic-paywall-element-benefits li {
                    list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path xmlns="http://www.w3.org/2000/svg" d="M6.05392 8.43073L4.50518 6.88201C4.41288 6.7897 4.29686 6.74248 4.15711 6.74034C4.01737 6.7382 3.89921 6.78542 3.80263 6.88201C3.70605 6.97859 3.65777 7.09568 3.65777 7.23328C3.65777 7.37088 3.70605 7.48797 3.80263 7.58454L5.63212 9.41403C5.75263 9.53454 5.89323 9.5948 6.05392 9.5948C6.21459 9.5948 6.35519 9.53454 6.4757 9.41403L10.1847 5.70506C10.277 5.61276 10.3242 5.49674 10.3263 5.35699C10.3285 5.21725 10.2813 5.09909 10.1847 5.00251C10.0881 4.90593 9.971 4.85764 9.8334 4.85764C9.6958 4.85764 9.57871 4.90593 9.48213 5.00251L6.05392 8.43073ZM7.00118 13.3333C6.12523 13.3333 5.30187 13.167 4.53112 12.8346C3.76035 12.5021 3.08989 12.051 2.51975 11.4811C1.94959 10.9112 1.49822 10.241 1.16563 9.47061C0.833043 8.7002 0.666748 7.87702 0.666748 7.00106C0.666748 6.1251 0.83297 5.30175 1.16541 4.53099C1.49786 3.76023 1.94903 3.08977 2.51891 2.51963C3.08881 1.94947 3.75898 1.4981 4.5294 1.16551C5.29981 0.832921 6.12299 0.666626 6.99895 0.666626C7.8749 0.666626 8.69826 0.832849 9.46902 1.16529C10.2398 1.49774 10.9102 1.9489 11.4804 2.51879C12.0505 3.08869 12.5019 3.75885 12.8345 4.52928C13.1671 5.29969 13.3334 6.12287 13.3334 6.99883C13.3334 7.87478 13.1672 8.69814 12.8347 9.46889C12.5023 10.2397 12.0511 10.9101 11.4812 11.4803C10.9113 12.0504 10.2412 12.5018 9.47073 12.8344C8.70032 13.167 7.87714 13.3333 7.00118 13.3333Z" fill="white"></path></svg>');
                }

                .sndp-dark .ab-test-subscribe-button:active, .sndp-dark .ab-test-subscribe-button:hover, .sndp-dark .ab-test-subscribe-button:focus {
                    background-color: var(--primary-button-dark-mode-hover-color);
                }

                @media (min-width: 460px) {
                    .ab-test-dynamic-paywall-element-container {
                        padding: 24px 24px 16px;
                    }
                }
        `;
                    
        let styleSheet = document.createElement("style");
        styleSheet.type = "text/css";
        elem.appendChild(styleSheet);
        styleSheet.innerText = style;
    };

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.ab-test-quarantine-modified');
        let quarantineButton = document.querySelector('[data-testid="modal-button-container"]');
        let quarantineText = document.querySelector('.nof-ui-body-medium.text-nof-foreground-primary.mb-nof-16');
        let quarantineButtonLink = quarantineButton.querySelector('a');
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        }
        else if(quarantineButton && quarantineButtonLink && quarantineText && quarantineText.innerText.trim() === currentQuarantineText && quarantineButton.innerText.trim() === currentQuarantineButtonText) { 
            let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
            quarantineText.classList.add('ab-test-quarantine-modified', namelower);
            quarantineText.innerText = newQuarantineText;

            quarantineButtonLink.onclick = function (e) {
                sendGAEvent('click subscribe from quarantine offer at ' + variantId)
            };

            console.log('experimentId: ' + experimentId);
            console.log(quarantineButton);
            console.log(quarantineText);
                
            dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
            
            if(requireCdx) {
                cdx.confirm(true);
            }
            return true;
        }
        else {
            sendGAEvent('script failed, quarantine button or text not found');
            return false;
        }
    }

    doExperimentChanges();
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-auidL0xxTlCljeshgx09-1756117034': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-48b';
const variantId = 'E';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' sample';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const newAID = 'GRK9HBVBLDV72';
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
const newDateUntil = 14; //sample
const newButtonText = 'Lue 2 viikkoa maksutta'; //sample
let pagePath = '/shopping-ui/sample';

const paywallEvent = 'sample 2w'; //change this to describe how paywall offering is change from default (or set false if offering default)
const sendConfirmEvents = true; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
let paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;
if(!paywallEvent) {
    paywallEventLabel = 'default offer: ' + stringIdPlusVariant;
}

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    if(true) {
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else {
                        if(testing) {
                            console.log('no paywall change offer event - this is control version?');
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };

        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));  
            }
        }
        
        const changeButtonUrlAndText = function(button) {
            let urlParams = {
                'embedded': null,
                'offer': null,
                'aid': newAID,
                'ref': null,
                'showPaymentPeriodList': null,
                'variant': null
            };

            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
                Object.keys(urlParams).forEach(function(key) {
                    if (urlParams[key] === null) {
                        url.searchParams.delete(key);
                    } else if (urlParams[key] !== undefined) {
                        url.searchParams.set(key, urlParams[key]);
                    }
                });
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
           
            replaceText(button, newButtonText); //finds the child text node and replaces it
            
            return button;
        };
    
        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    button = changeButtonUrlAndText(button);
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

                    subtitle.innerText = 'Kahden viikon tutustumisjakso päättyy automaattisesti.';
                    
                    title.classList.add('ab-test-paywall-modified', namelower);
                    if(newDateUntil) {
                        let date = new Date();
                        date.setDate(date.getDate() + newDateUntil);
                        let dd = date.getDate();
                        let mm = date.getMonth()+1;
                        let pvmSpan = createElem('span', 'ab-date-span', dd.toString() + '.' + mm.toString() + '. asti');
                        title.innerText = 'Lue maksutta ';
                        title.appendChild(pvmSpan);
                    }

                    secondaryButton.classList.add('ab-test-paywall-modified', namelower);
                    secondaryButton.href = 'https://kampanjat.hs.fi/tilaa/?ref=kovamuuri';
                    
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    if(confirmExperiment()) {
                        return true;
                    }
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    }
} catch(err) {   
    sendGAEvent('script error: ' + err);
}
 },'js-auidL0xxTlCljeshgx09-1756718341': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

// EXPERIMENT CONFIGURATION - Change these values for each test
const experimentId = 'HS25-54';
const variantId = 'E';
const experimentName = experimentId + ' timanttimuuri yhteiskuntamuuri';
const variantName = variantId + ' eduskunta jotta tärkeät asiat';

const sendGAEvent = function (label) { if (testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': experimentId + ' ' + variantId + ': ' + label});}};

// RUN THE EXPERIMENT - Wrap everything in try-catch for comprehensive error handling
try {
    // CONTENT VARIABLES - Edit these to change what the experiment shows
    const newPaywallTitle = 'Jotta tärkeät asiat eivät jää varjoon';
    const newPaywallSubtitle = 'Tutkiva journalismi vaatii aikaa, rohkeutta ja ammattitaitoa. Tilaamalla Helsingin Sanomat teet työstämme mahdollista.';
    const currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; // current button text to ensure we modify the right element
    const backgroundImageUrl = 'https://kampanjat.hs.fi/maksumuurit/HS_yhteiskuntamuuri_image_eduskunta_color_cropped.png';
    const paywallSelectorTitle = 'Lue maksutta p.k. asti';
    const paywallSelectorSubtitle = 'Lisäksi voit maksuttoman jakson jälkeen jatkaa tilausta 50 % alennuksella x.y. asti.';
    
    // TEST TYPE CLASSIFICATION
    const testType = 'timanttimuuri';
    const brand = 'HS';
    const paywallType = 'hard';
    const targetAudience = 'ot';

    // EXPERIMENT SETTINGS (copied from B)
    const commonDateUntil = 60; // false or number of days
    const cycloneDateUntil = 240;
    const miniAID = 'GIR77JH6XOF8I'; // HS Digi
    const miniPath = '/shopping-ui/hs-digionly-tutustu-65'; // HS Digi
    const digiAID = 'G8FLOPBLVG9V8'; // HS Digi+
    const digiPath = '/shopping-ui/hs-digionly-tutustu-65'; // HS Digi+
    const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
    const defaultProduct = 'Digi+'; // which product is pre-selected
    const paywallEvent = 'logo first, indicator second, background third'; // describes change
    const timeToWaitForConfirm = 500; // time to wait before confirming experiment
    const sendConfirmEvents = true; // if you want to send confirm events to GA

    // ELEMENT SELECTORS - These tell the script what to look for on the page
    const experimentExistsSelector = '.ab-test-paywall-modified';
    const paywallSelector = '[data-ab="' + paywallType + '-paywall"]';
    const paywallTitleSelector = '[data-ab="' + paywallType + '-paywall-title"]';
    const paywallSubtitleSelector = '[data-ab="' + paywallType + '-paywall-subtitle"]';
    const paywallLogoSelector = '[data-ab="' + paywallType + '-paywall-logo"]';
    const subscribeButtonSelector = '[data-ab="' + paywallType + '-paywall-subscribe-button"]';
    const secondaryButtonSelector = '[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]';

    // DATE HELPER (moved after content vars) - returns 'dd.mm.' or 'dd.mm. asti'
    const calculateDaysFormatted = function(days, includeTime) {
        let date = new Date();
        date.setDate(date.getDate() + days);
        let dd = date.getDate();
        let mm = date.getMonth() + 1;
        if (includeTime) { return dd.toString() + '.' + mm.toString() + '. asti'; }
        else { return dd.toString() + '.' + mm.toString() + '.'; }
    };

    // HELPER FUNCTION - Confirm experiment after delay
    const confirmExperiment = function() {
        setTimeout(function() {
            let paywall = document.querySelector(paywallSelector);
            if (paywall) {
                dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                if (paywallEvent) {
                    if (testing) {
                        console.log('change offer: ' + paywallEvent + ': ' + experimentId + '-' + variantId);
                    } else {
                        dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': 'change offer', 'eventLabel': paywallEvent + ': ' + experimentId + '-' + variantId});
                    }
                }
                if (sendConfirmEvents) {
                    sendGAEvent('experiment confirmed');
                }
                if (requireCdx) {
                    cdx.confirm(true);
                }                    
                return true;
            } else {
                sendGAEvent('paywall not found after delay (braze modified it)');
                return false;
            }
        }, timeToWaitForConfirm);
    };

    // HELPER FUNCTION - Create HTML elements with classes and text
    const createElem = function(tag, classes, text) {
        let elem = document.createElement(tag);
        if (classes) {
            classes = classes.split(' ');
            for (let i = 0; i < classes.length; i++) { elem.classList.add(classes[i]); }
        }
        if (text) { elem.innerHTML = text; }
        return elem;
    };

    // HELPER FUNCTION - Replace text in correct child node
    function replaceText(node, newText) {
        if (node.nodeType === Node.TEXT_NODE) { node.nodeValue = newText; }
        else { node.childNodes.forEach((child) => replaceText(child, newText)); }
    }

    // HELPER FUNCTION - Change button url and text (copied from B)
    const changeButtonUrlAndText = function (button, pos) {          
        let urlParams = false;
        let pagePath = false;
        let allProductElements = document.querySelectorAll('.ab-test-paywall-product');
        allProductElements.forEach(function (element) {
            element.classList.remove('selected');
            if (element.getAttribute('product') === pos) { element.classList.add('selected'); }
        });

        if (pos === 'Digi') {
            pagePath = miniPath;
            urlParams = { 'embedded': null,'aid': miniAID,'ref': 'maksumuuri_kova_ot','showPaymentPeriodList': null,'offer': null,'variant': null };
            replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €');
        } else if (pos === 'Digi+') {
            pagePath = digiPath;
            urlParams = { 'embedded': null,'aid': digiAID,'ref': 'maksumuuri_kova_ot','showPaymentPeriodList': null,'offer': null,'variant': null };
            replaceText(button, 'Tutustu HS ' + pos + '  2 kk 0 €');
        }
      
        let url = new URL(button.href);
        if (urlParams) {
          Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) { url.searchParams.delete(key); }
            else if (urlParams[key] !== undefined) { url.searchParams.set(key, urlParams[key]); }
          });
        }
        if (pagePath) { url.pathname = pagePath; }

        button.href = url.toString();
        button.setAttribute('data-product-name', pos);
        button.onclick = function () { sendGAEvent('click subscribe ' + pos + ' at ' + variantId); };
        return button;
    };

    // HELPER FUNCTION - Insert CSS styles (modified slightly for new ordering)
    const insertStyle = function(containerdiv) {
        let style = `
            :root { --main-color: #191919; --underline-color: #787878; --line-color: #E9EAED; --main-font: 'Helsingin', Arial, sans-serif; }
            [data-ab="hard-paywall"] .hidden { display: none !important; }
            .ab-test-paywall-background { position: relative; background-size: cover; background-position: top; background-repeat: no-repeat; min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; border-radius: 8px; overflow: hidden; margin: 0 auto 0; border: none !important; box-shadow: none !important; width: 100%; max-width: calc(100% - 16px); }
            .ab-test-paywall-background.has-image { background-image: var(--background-image); }
            .ab-test-paywall-background::after { content: ''; position: absolute; bottom:0; left:0; right:0; height:calc(60% - 100px); background: linear-gradient(to top, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 50%); pointer-events:none; }
            .sndp-dark .ab-test-paywall-background::after { background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 50%); }
            [data-ab="hard-paywall"] [data-ab="hard-paywall-logo"] { display:block; margin: 0 auto 4px; max-width:160px; }
            .paywall__indicator--title { margin:12px auto; }
            .ab-test-paywall-container { display:flex; flex-direction:column; width:100%; max-width:350px; position:relative; }
            .ab-test-paywall-container [data-ab="hard-paywall-subtitle"] { font-size:16px; font-family:var(--main-font); margin-top:12px; margin-bottom:24px; text-align:center; line-height:1.3; max-width:500px; margin-left:auto; margin-right:auto; padding:0; }
            .ab-paywall-extra-title { font-size:22px; font-weight:600; font-family:var(--main-font); margin:0px auto 16px; text-align:center; line-height:1.3; padding:0 16px; }
            .ab-paywall-extra-subtitle { font-size:15px; font-weight:600; line-height:1.2; text-align:center; margin-bottom:16px; font-family:var(--main-font); padding:0 16px; max-width:500px; margin-left:auto; margin-right:auto; }
            .ab-test-paywall-product { display:flex; flex-direction:column; align-items:baseline; font-size:16px; font-family:var(--main-font); margin:0 auto 8px; border:1px solid #000; border-radius:4px; padding:0; background:#F8F8F8; cursor:pointer; width:100%; max-width:350px; margin-left:auto; margin-right:auto; }
            .ab-product-container { display:flex; flex-direction:row; align-items:baseline; padding:12px 12px 8px; width:100%; }
            .ab-legend { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
            .ab-test-paywall-product .ab-product-content { display:flex; flex-direction:column; margin-left:12px; width:100%; }
            .ab-test-paywall-product .ab-radio { transform:scale(1.6); accent-color:var(--main-color); cursor:pointer; }
            @supports (-moz-appearance:none){ .ab-test-paywall-product .ab-radio { transform:scale(1.5); } }
            .ab-test-paywall-product .ab-product-title { font-weight:600; padding-bottom:4px; font-size:14px; display:flex; justify-content:space-between; }
            .ab-test-paywall-product .ab-product-title > span { font-size:14px; font-weight:600; letter-spacing:-0.5px; }
            .ab-test-paywall-product .ab-product-title > span > span { font-size:12px; font-weight:300; color:#666; text-decoration:line-through; padding-left:4px; letter-spacing:0; }
            .ab-test-paywall-product .ab-product-text { font-size:12px; margin-top:2px; color:#555; text-align:left; }
            .ab-test-paywall-product .ab-product-text > span { margin-right:8px; }
            .ab-test-paywall-product .ab-product-text svg { fill:#191919; display:inline; margin-right:2px; vertical-align:baseline; height:10px; }
            .ab-test-paywall-cancel-text { font-family:var(--main-font); font-size:15px; text-align:center; margin-top:16px; margin-bottom:24px; color:#666; }
            [data-ab="hard-paywall-subscribe-button"] { margin:12px auto 4px; width:260px; font-family:var(--main-font); font-size:16px; font-weight:600; }
            [data-ab="hard-paywall-subscribe-button"]:active { margin:12px auto 5px; width:258px; }
            [data-ab="hard-paywall-login-link"] { text-decoration:underline; font-size:14px; margin: 16px auto 24px; }
            .sndp-dark .ab-test-paywall-product { border:1px solid #ccc; background:#262626; }
            .sndp-dark .ab-test-paywall-product .ab-product-text svg { fill:#AFAFAF; }
            .sndp-dark .ab-test-paywall-product .ab-product-title > span, 
            .sndp-dark .ab-test-paywall-product .ab-product-text { color:#fff; }
            .sndp-dark .ab-test-paywall-product .ab-product-title > span > span { color:#AFAFAF; }
            .sndp-dark .ab-test-paywall-product .ab-radio { accent-color:#666666; }
            .sndp-dark .ab-test-paywall-cancel-text { color:#AFAFAF; }
            @media (min-width:400px){ .ab-test-paywall-container{max-width:380px;} .ab-test-paywall-container [data-ab="hard-paywall-title"]{font-size:32px;} .ab-test-paywall-background{min-height:350px;} .ab-test-paywall-product .ab-product-text{font-size:16px;} }
            @media (min-width:380px){ .ab-test-paywall-product .ab-product-title, .ab-test-paywall-product .ab-product-title > span { font-size:16px; letter-spacing:0; } }
            @media (min-width:600px){ .ab-test-paywall-container [data-ab="hard-paywall-title"]{font-size:36px;} .ab-test-paywall-background{min-height:400px;} }
        `;
        // brand section color adjustments (same logic as B)
        if (document.location.pathname.match(/\/(visio|teknologia|talous|autot)\//)) {
            style += `
                [data-ab="hard-paywall-subscribe-button"] { background:#b7384b; }
                [data-ab="hard-paywall-subscribe-button"]:hover,
                [data-ab="hard-paywall-subscribe-button"]:active,
                [data-ab="hard-paywall-subscribe-button"]:focus { background:#752f35; }
            `;
        }
        // visio section specific light gradient to blend with page background rgb(249,238,231)
        if (document.location.pathname.match(/\/visio\//)) {
            style += `
                .ab-test-paywall-background::after { background: linear-gradient(to top, rgba(249,238,231,0.95) 0%, rgba(249,238,231,0) 50%); }
            `;
        }
        let styleSheet = document.createElement('style');
        styleSheet.type = 'text/css';
        containerdiv.appendChild(styleSheet);
        styleSheet.innerText = style;
    };

    // HELPER - create product element (copied & simplified naming)
    const createProductElement = function(productname, title, features, button) {
        const createElemLocal = createElem; // reuse
        let product = createElemLocal('label', 'ab-test-paywall-product', false);
        product.setAttribute('product', productname);
        if (productname === defaultProduct) { product.classList.add('selected'); }
        let container = createElemLocal('div', 'ab-product-container', false);
        let check = createElemLocal('input', 'ab-radio', false);
        check.type = 'radio'; check.name = 'product'; check.value = productname; if (productname === defaultProduct) { check.checked = 'checked'; }
        let productcontent = createElemLocal('div', 'ab-product-content', false);
        let producttitle = createElemLocal('p', 'ab-product-title', title);
        container.appendChild(check); productcontent.appendChild(producttitle);
        if (features) { let producttext = createElemLocal('p', 'ab-product-text', features); productcontent.appendChild(producttext); }
        container.appendChild(productcontent); product.appendChild(container);
        check.onchange = function() { sendGAEvent('click product ' + productname); changeButtonUrlAndText(button, productname); };
        return product;
    };

    // MAIN EXPERIMENT FUNCTION
    const executeExperiment = function() {
        // Check if experiment already ran
        if (document.querySelector(experimentExistsSelector)) { sendGAEvent('script failed, already modified'); return false; }

        // Find required elements
        const paywall = document.querySelector(paywallSelector);
        const title = document.querySelector(paywallTitleSelector);
        const subtitle = document.querySelector(paywallSubtitleSelector);
        const logo = document.querySelector(paywallLogoSelector);
        const button = document.querySelector(subscribeButtonSelector);
        const secondaryButton = document.querySelector(secondaryButtonSelector);

        if (!(paywall && title && button)) { sendGAEvent('script failed, required elements not found'); return false; }
        if (button.innerText.trim() !== currentDefaultButtonText) { sendGAEvent('script failed, primary button text unexpected'); return false; }

        // Mark as modified
        title.classList.add('ab-test-paywall-modified', 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId.toLowerCase());

        // Hide secondary button if exists
        if (secondaryButton) { secondaryButton.classList.add('hidden'); }
        // Hide other offers button
        const otherOffersButton = paywall.querySelector('[data-ab="' + paywallType + '-paywall-other-offers-button"]');
        if (otherOffersButton) { otherOffersButton.classList.add('hidden'); }

        // LOGIN link for later positioning
        const loginLink = paywall.querySelector('[data-ab="' + paywallType + '-paywall-login-link"]');

        // 1. Move logo as FIRST element
        if (logo) { paywall.insertBefore(logo, paywall.firstChild); }

        // 2. Move existing indicator span (paywall__indicator--title) as SECOND element (where greeting was)
        const indicator = paywall.querySelector('.paywall__indicator--title');
        if (indicator) {
            // Wrap indicator in a lightweight container for spacing consistency if needed (optional skipped)
            paywall.insertBefore(indicator, logo ? logo.nextSibling : paywall.firstChild);
            // Change the indicator text from "tilaajille" to "Hyvä lukijamme"
            indicator.textContent = 'Hyvä lukijamme';
        } else {
            sendGAEvent('indicator element not found');
        }

        // 3. Background image container as THIRD element
        const backgroundDiv = createElem('div', 'ab-test-paywall-background', false);
        if (backgroundImageUrl) { backgroundDiv.classList.add('has-image'); backgroundDiv.style.setProperty('--background-image', `url(${backgroundImageUrl})`); }
        paywall.insertBefore(backgroundDiv, (indicator || logo) ? (indicator ? indicator.nextSibling : logo.nextSibling) : paywall.firstChild);

        // Create container for rest of content
        const containerdiv = createElem('div', 'ab-test-paywall-container', false);
        // Update title & subtitle
        title.textContent = newPaywallTitle;
        if (subtitle) { subtitle.textContent = newPaywallSubtitle; subtitle.classList.remove('paywall__ingress'); }

        // Product icons (same as B)
        const readingRightsForOneSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="2 2 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.3725 13.5C20.0293 13.5 21.3725 12.1569 21.3725 10.5C21.3725 8.84315 20.0293 7.5 18.3725 7.5C16.7156 7.5 15.3725 8.84315 15.3725 10.5C15.3725 12.1569 16.7156 13.5 18.3725 13.5ZM18.3725 16.5C21.6862 16.5 24.3725 13.8137 24.3725 10.5C24.3725 7.18629 21.6862 4.5 18.3725 4.5C15.0588 4.5 12.3725 7.18629 12.3725 10.5C12.3725 13.8137 15.0588 16.5 18.3725 16.5ZM18.3725 18C23.8903 18 27.2436 20.6846 28.948 23.6222C28.9709 23.6617 28.9918 23.7017 29.0107 23.7423C29.3011 24.1997 29.3328 24.7992 29.0421 25.3002C27.3377 28.2379 23.8903 31.1253 18.3725 31.1253C12.8547 31.1253 9.40724 28.2379 7.70281 25.3002C7.41216 24.7992 7.44389 24.1999 7.73416 23.7425C7.7531 23.7019 7.77402 23.6617 7.79695 23.6222C9.50137 20.6846 12.8547 18 18.3725 18ZM10.7754 24.5282C12.1114 26.3666 14.5065 28.1253 18.3725 28.1253C22.2385 28.1253 24.6335 26.3666 25.9696 24.5282C24.6675 22.6761 22.3285 21 18.3725 21C14.4164 21 12.0774 22.6761 10.7754 24.5282Z"></path></svg>';
        const readingRightsForFourSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="13" viewBox="0 0 14 13" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.5809 3.16667C7.5809 4.63943 6.387 5.83333 4.91424 5.83333C3.44148 5.83333 2.24757 4.63943 2.24757 3.16667C2.24757 1.69391 3.44148 0.5 4.91424 0.5C6.387 0.5 7.5809 1.69391 7.5809 3.16667ZM6.24757 3.16667C6.24757 3.90305 5.65062 4.5 4.91424 4.5C4.17786 4.5 3.5809 3.90305 3.5809 3.16667C3.5809 2.43029 4.17786 1.83333 4.91424 1.83333C5.65062 1.83333 6.24757 2.43029 6.24757 3.16667Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.61447 8.99877C8.85695 7.69314 7.3666 6.5 4.91424 6.5C2.46188 6.5 0.97153 7.69314 0.214008 8.99877C0.20382 9.01633 0.194523 9.03416 0.186103 9.05221C0.0570957 9.2555 0.0429897 9.52189 0.17217 9.74454C0.929692 11.0502 2.46188 12.3334 4.91425 12.3334C7.36661 12.3334 8.8988 11.0502 9.65632 9.74454C9.78552 9.52186 9.77139 9.25543 9.64234 9.05214C9.63393 9.03411 9.62464 9.0163 9.61447 8.99877ZM4.91425 11.0001C3.19602 11.0001 2.13155 10.2185 1.53775 9.40141C2.11643 8.57826 3.15599 7.83333 4.91424 7.83333C6.67249 7.83333 7.71205 8.57827 8.29073 9.40142C7.69693 10.2185 6.63246 11.0001 4.91425 11.0001Z"></path><path d="M8.58091 5.83333C8.1137 5.83333 7.67455 5.71318 7.29267 5.50209C7.60603 5.183 7.85567 4.80114 8.021 4.37709C8.19125 4.45598 8.38094 4.5 8.58091 4.5C9.31729 4.5 9.91424 3.90305 9.91424 3.16667C9.91424 2.43029 9.31729 1.83333 8.58091 1.83333C8.38094 1.83333 8.19125 1.87736 8.021 1.95624C7.85567 1.5322 7.60603 1.15033 7.29267 0.831247C7.67455 0.620154 8.1137 0.5 8.58091 0.5C10.0537 0.5 11.2476 1.69391 11.2476 3.16667C11.2476 4.63943 10.0537 5.83333 8.58091 5.83333Z"></path><path d="M9.66834 10.8844C9.21539 11.4261 8.63188 11.9239 7.91194 12.3003C8.12684 12.322 8.34979 12.3334 8.58092 12.3334C11.0333 12.3334 12.5655 11.0502 13.323 9.74454C13.4522 9.52186 13.4381 9.25543 13.309 9.05214C13.3006 9.03411 13.2913 9.0163 13.2811 8.99877C12.5236 7.69314 11.0333 6.5 8.58091 6.5C8.36457 6.5 8.15572 6.50929 7.95419 6.52711C8.67207 6.90013 9.24931 7.39617 9.6959 7.94617C10.7985 8.18463 11.5135 8.77001 11.9574 9.40142C11.5006 10.0299 10.7654 10.6374 9.66834 10.8844Z"></path></svg>';
        const facsimileSvg = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.0282 0.519266C14.9956 0.319292 14.822 0.166664 14.6128 0.166664H3.13458L3.06631 0.172173C2.86634 0.20479 2.71371 0.378338 2.71371 0.587534L2.71295 3.94837L0.838847 3.94897L0.768529 3.95481C0.562854 3.98937 0.408842 4.1729 0.41839 4.38847L0.818935 13.4318L0.847872 13.5654C1.0317 14.3071 1.55045 14.7823 2.27412 14.7823H13.6125L13.7284 14.7778C14.455 14.7212 15.0337 14.1365 15.0337 13.4132V0.587534L15.0282 0.519266ZM3.55469 1.0084H14.1912L14.192 13.4132L14.1868 13.4837C14.1491 13.7378 13.9103 13.9406 13.6125 13.9406H2.27412L2.18767 13.9352C1.90852 13.8994 1.72045 13.6867 1.65272 13.3339L1.27816 4.79011H2.71295L2.71371 12.0658L2.71922 12.1341C2.75184 12.334 2.92539 12.4867 3.13458 12.4867L3.20285 12.4812C3.40282 12.4485 3.55545 12.275 3.55545 12.0658L3.55469 1.0084Z"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M9.25632 2.46232H12.3172C12.5496 2.46232 12.7381 2.65075 12.7381 2.88319V7.47449C12.7381 7.70693 12.5496 7.89536 12.3172 7.89536H9.25632C9.02388 7.89536 8.83545 7.70693 8.83545 7.47449V2.88319C8.83545 2.65075 9.02388 2.46232 9.25632 2.46232ZM11.8963 7.05362V3.30406H9.67719V7.05362H11.8963Z"></path><path d="M7.34328 4.75797V5.59971H5.04763V4.75797H7.34328Z"></path><path d="M7.34328 2.46232V3.30406H5.04763V2.46232H7.34328Z"></path><path d="M7.34328 7.05362V7.89536H5.04763V7.05362H7.34328Z"></path><path d="M12.6998 9.34927V10.191H5.04763V9.34927H12.6998Z"></path><path d="M12.6998 11.6449V12.4867H5.04763V11.6449H12.6998Z"></path></svg>';

        const fieldset = createElem('fieldset', 'ab-fieldset', false);
        const legend = createElem('legend', 'ab-legend', 'Valitse sinulle sopiva tilaus:');
        const product1 = createProductElement('Digi+', 'HS Digi+ <span>2 kk 0 € <span>(norm. 20,90 €/kk)</span></span>', readingRightsForFourSvg + '<span>Lukuoikeus neljälle</span> ' + facsimileSvg + '<span>Näköislehti</span>', button);
        const product2 = createProductElement('Digi', 'HS Digi <span>2 kk 0 € <span>(norm. 14,90 €/kk)</span></span>', readingRightsForOneSvg + '<span>Lukuoikeus yhdelle</span>', button);
        changeButtonUrlAndText(button, defaultProduct); // initialize button

        const cancelText = createElem('div', 'ab-test-paywall-cancel-text', 'Voit irtisanoa koska tahansa');

        // Assemble container
        containerdiv.appendChild(title);
        if (subtitle) { containerdiv.appendChild(subtitle); }
        // Insert extra title under original subtitle
        // Resolve date placeholders just before creating elements
        const resolvedExtraTitle = paywallSelectorTitle.replace(/p\.k\./g, calculateDaysFormatted(commonDateUntil, false));
        const resolvedExtraSubtitle = paywallSelectorSubtitle.replace(/x\.y\./g, calculateDaysFormatted(cycloneDateUntil, false));
        const extraTitleEl = createElem('p', 'ab-paywall-extra-title', resolvedExtraTitle);
        const extraSubtitleEl = createElem('p', 'ab-paywall-extra-subtitle', resolvedExtraSubtitle);
        containerdiv.appendChild(extraTitleEl);
        fieldset.appendChild(legend); fieldset.appendChild(product1); fieldset.appendChild(product2);
        containerdiv.appendChild(fieldset);
        // Insert extra subtitle after product selectors
        containerdiv.appendChild(extraSubtitleEl);
        containerdiv.appendChild(button);
        containerdiv.appendChild(cancelText);
        if (loginLink) { containerdiv.appendChild(loginLink); }

        // Insert styles
        insertStyle(containerdiv);

        // Insert container into paywall content
        const paywall_content = document.querySelector('[data-ab="paywall-content"]');
        if (paywall_content) { paywall_content.insertBefore(containerdiv, paywall_content.childNodes[0]); }
        else { paywall.insertBefore(containerdiv, backgroundDiv.nextSibling); }

        // Feed title update
        if (feedTitle) {
            const paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
            if (paywallOffering) { paywallOffering.innerText = feedTitle; }
        }

        return confirmExperiment();
    };

    // Execute the experiment
    executeExperiment();
    
} catch (e) {
    if (e.toString().indexOf('confirm') < 0 && e.toString().indexOf('cdx') < 0) {
        console.log(e);
        let err = e;
        let err_split = e.stack.split('\n');
        let err_line = false;
        if (err_split[1]) { err_line = err_split[1].split('>:'); }
        if (err_line && err_line[1]) { err = err_line[1]; }
        sendGAEvent('script error: ' + err);
    }
}

 },'js-byi18mnb4o7xAluBNUja-1755170836': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-47';
const variantId = 'B';
const experimentName = experimentId + ' karenssi popup';
const variantName = variantId + ' tarjoukset';

const currentQuarantineText = 'Olet jo käyttänyt edun. Sinulle voimassaolevat tarjoukset löydät alta';
const currentQuarantineButtonText = 'Katso tarjous';

const oldActive0AID = 'G65KS7LFLXSC8';
const oldActive90AID = '46DRP57V85BX';
const newActive0AID = 'GZJOD7RKDHKYV';
const newActive90AID = 'GX62GSRFY68KZ';
const newActive0PagePath = '/hs-digionly-karenssi-1';
const newActive90PagePath = '/hs-digi-karenssi-1';

let newQuarantineText = 'Valitettavasti tilaussivun etu on tarkoitettu vain uusille tilaajille. Palaaville tilaajille soveltuvat tarjoukset näet alta.';
let newQuarantineButtonText = 'Katso tarjoukset';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

try {
    //helper function to change button url
    const changeButtonUrl = function (button) {
        let newAID = false;
        let newPagePath = false;
        if(button.href.indexOf(oldActive0AID)) {
            newAID = newActive0AID;
            newPagePath = newActive0PagePath;
        }
        else if(button.href.indexOf(oldActive90AID)) {
            newAID = newActive90AID;
            newPagePath = newActive90PagePath;
        }
    
        let pagePath = newPagePath;
        let urlParams = {
            'aid': newAID,
        }     
        
        let url = new URL(button.href);
        // Update search params
        if (urlParams) {
            Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) {
                url.searchParams.delete(key)
            } else if (urlParams[key] !== undefined) {
                url.searchParams.set(key, urlParams[key])
            }
            })
        }
        // Update path
        if (pagePath) {
            url.pathname = pagePath;
        }
        button.href = url.toString();
        return button;
    }

    //helper function to replace text in correct child node
    function replaceText(node, newText) {
        if (node.nodeType === Node.TEXT_NODE) {
            node.nodeValue = newText;
        } else {
            node.childNodes.forEach((child) => replaceText(child, newText));
        }
    }

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.ab-test-quarantine-modified');
        let quarantineModal = document.querySelector('[data-ab="offer-used-error-modal"]');
        let quarantineText = document.querySelector('[data-ab="offer-used-error-modal-description"]');
        let quarantineButton = document.querySelector('[data-ab="offer-used-error-modal-button"]');
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        }
        else if(quarantineModal && quarantineButton && quarantineText && quarantineText.innerText.indexOf(currentQuarantineText) > -1 && quarantineButton.innerText.trim() === currentQuarantineButtonText) { 
            if(quarantineButton.href.indexOf(oldActive0AID) > -1 || quarantineButton.href.indexOf(oldActive90AID) > -1) {
                let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                quarantineText.classList.add('ab-test-quarantine-modified', namelower);
                quarantineText.innerText = newQuarantineText;
                quarantineText.style.marginBottom = '0';

                quarantineButton = changeButtonUrl(quarantineButton);
                quarantineButton.onclick = function (e) {
                    sendGAEvent('click subscribe from quarantine offer at ' + variantId);
                };
                replaceText(quarantineButton, newQuarantineButtonText);
                    
                dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                
                if(requireCdx) {
                    cdx.confirm(true);
                }
                return true;
            }
            else {
                sendGAEvent('script failed, wrong quarantine AID');
                return false;
            }
        }
        else {
            sendGAEvent('script failed, quarantine button or text not found');
            return false;
        }
    }

    doExperimentChanges();
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-d0HEFw70Qdt995gQjxNU-1749627168': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
const experimentId = 'HS25-39b';
const experimentName = experimentId + ' tv';
const variantId = 'B';
const description = 'alhaisemmat 12kk';
if(testing) { requireCdx = false; }
const noEligibilityRules = true;

if(!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//current AIDs that we use atm, changes these
const curKaikkiAID = 'GZ4Z5T4MX258U';
const curDigiAID = 'G3HVNURN6Z3CP';
const curDigiplusAID = 'G8P3NSPPK3JGR';
const curPrint7pvAID = 'G83FKCWHCSRDG';
const curPrintLasuAID = 'GIO62QN9VMR7R';
const curPrintPesuAID = 'GTMVT5QMKRVYG';

//new AIDs that are switched in use by script
const newDigiAID = 'G8VCURVF42YUL';
const newDigiplusAID = 'GV43UTHZKWOL7';
const newPrint7pvAID = 'G6L49V46NTKZT';
const newPrintLasuAID = 'GVKZZTNOLV5NX';
const newPrintPesuAID = 'GLKQ2X3T8K9YX';
const newKaikkiAID = 'GI2S27YVM2U99';

const order_pagePath = false;

const stringIdPlusVariant = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariant + label});}};

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

try {
    if(requireCdx === false || noEligibilityRules) {
        //actual code begins

        let mainElement = document.querySelector('.ab-hs-mini'); //main element to look for

        //in this function we switch the AID of the button. AID is one of the url parameters. Leave other url parameters as they were.
        const switchLinkAID = function (button, oldAid, newAID) {
            if(button.href.indexOf(oldAid) === -1) {
                sendGAEvent('script error: AID ' + oldAid + ' not found in url for ' + variantId);
            }
            let url = new URL(button.href);
            return url.toString().replace(oldAid, newAID);
        };

        const switchInputAID = function (input, oldAid, newAID) {
            let value = input.value;
            if(value.indexOf(oldAid) === -1) {
                sendGAEvent('script error: AID ' + oldAid + ' not found in url for ' + variantId);
            }
            return value.replace(oldAid, newAID);
        };

        const switchLinkAIDs = function (button) {
            button.href = button.href.replace(curPrint7pvAID, newPrint7pvAID)
                .replace(curPrintLasuAID, newPrintLasuAID)
                .replace(curPrintPesuAID, newPrintPesuAID);
            return button.href;
        };

        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-hs-mini.ab-hs-mini-modified');
            if(experimentExists) {
                sendGAEvent('exp already exists at ' + variantId);
            } else if(mainElement) {
                let miniPrice = document.querySelector('.ab-hs-mini-price');
                let miniNormPrice = document.querySelector('.ab-hs-mini-norm');
                let miniButton = document.querySelector('.ab-hs-mini-button');
                let digiPrice = document.querySelector('.ab-hs-digi-price');

                if(mainElement && miniPrice && miniNormPrice && miniButton) { //---------actual changes here
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    mainElement.classList.add('ab-hs-mini-modified', namelower, 'modified-by-conductrics-' + experimentId);

                    if(miniButton.href = switchLinkAID(miniButton, curDigiAID, newDigiAID)) {
                        miniPrice.innerHTML = 'alk. <span>12,90</span> €/kk';
                        miniNormPrice.classList.add('hss-note-striked');
                        miniNormPrice.innerText = 'norm. 14,90 €/kk';
                        digiPrice.innerHTML = 'alk. <span>13,90</span> €/kk';
                        let buttonDigiplus = document.querySelector('.ab-hs-digi-button');
                        buttonDigiplus.href = switchLinkAID(buttonDigiplus, curDigiplusAID, newDigiplusAID);

                        //switch AID for other buttons
                        let buttonKaikki = document.querySelector('.ab-hs-kaikki-button');
                        buttonKaikki.href = switchLinkAID(buttonKaikki, curKaikkiAID, newKaikkiAID);
                        
                        let print7pvUrl = document.querySelector('input[name="hs-7pv-url"]');
                        let printLasuUrl = document.querySelector('input[name="hs-lasu-url"]');
                        let printPesuUrl = document.querySelector('input[name="hs-pesu-url"]');
                        
                        print7pvUrl.value = switchInputAID(print7pvUrl, curPrint7pvAID, newPrint7pvAID);
                        printLasuUrl.value = switchInputAID(printLasuUrl, curPrintLasuAID, newPrintLasuAID);
                        printPesuUrl.value = switchInputAID(printPesuUrl, curPrintPesuAID, newPrintPesuAID);
                        let buttonPrint = document.querySelector('.ab-hs-print-button');
                        buttonPrint.href = switchLinkAIDs(buttonPrint);

                        window.hsLasuUrl = printLasuUrl.value;
                        window.hsPesuUrl = printPesuUrl.value;
                        window.hsPrintUrl = print7pvUrl.value;

                        if(requireCdx) {
                            cdx.confirm(true);
                        }
                        return true;
                    }
                }
                else {
                    sendGAEvent('script error at ' + variantId + ': html invalid');
                }
            } else {
                sendGAEvent('script failed, element n/a at ' + variantId);
            }
        };

        doExperimentChanges(); //finally call the function to do the changes
    };
} catch(err) {
    sendGAEvent('script error at ' + variantId + ': ' + err);
}
 },'js-h1uk3dXPTHGwYoR0IexJ-1741095760': function (cdx) { document.querySelector(".ab-test-hard-paywall-subscribe-button span").innerText="Tutustu Hesariin 1 kk 0 €";
 },'js-j7F90kNILNcobEHSOFMG-1754982659': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-49b';
const variantId = 'B';
const experimentName = experimentId + ' näytetilausländäri';
const variantName = variantId + ' näyte+jatkuva';

const currentAID = 'UNFF56YI95XK';
const sampleAID = 'GGK385ND7WZQR';
const continuousAID = 'GXNGT7C2P97OB';
const sampleFunnel = '/tilaus/hs-digi-nayte/';
const continuousFunnel = '/tilaus/hs-digi-tutustu/';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {       
    //helper function to change button url and text
    const changeButtonUrlAndText = function (button, newAID, pagePath, newText) {
        let urlParams = false;

        urlParams = {
            aid: newAID,
        }

        let url = new URL(button.href);
        // Update search params
        if (urlParams) {
            Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) {
                url.searchParams.delete(key)
            } else if (urlParams[key] !== undefined) {
                url.searchParams.set(key, urlParams[key])
            }
            })
        }
        // Update path
        if (pagePath) {
            url.pathname = pagePath;
        }

        button.href = url.toString();
        if(newText) {
            button.innerText = newText;
        }
        return button;
    }

    //helper function to calculate days d.m. 
    const calculateDays = function(d, suffix) {
        let date = new Date();
        date.setDate(date.getDate() + d);
        let dd = date.getDate();
        let mm = date.getMonth()+1;
        let pvmSpan = false;
        if(suffix) {
            pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
        }
        else {
            pvmSpan = dd.toString() + '.' + mm.toString() + '.'
        }
        return pvmSpan;
    }

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.ab-test-page-modified');
        let elem = document.querySelector('#lisaa');
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        } else if(elem) { 
            let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

            let button = document.querySelector('.ab-test-subscribe-button');
            button = changeButtonUrlAndText(button, sampleAID, sampleFunnel, false);

            let clone = elem.cloneNode(true);
            clone.classList.add('ab-test-page-modified', namelower);

            let clonedButton = clone.querySelector('.ab-test-subscribe-button');
            clonedButton = changeButtonUrlAndText(clonedButton, continuousAID, continuousFunnel, 'Tilaa HS Digi+');
            clone.querySelector('.hss-feature-info > h2').innerText = 'Erikoistarjous';
            clone.querySelector('.hss-feature-info > p').innerText = 'Lue maksutta ' + calculateDays(30, 'asti');
            clone.querySelector('.hss-price').innerHTML = '<span>1 kk 0 €</span>';
            clone.querySelector('.hss-col-box-section > .disclaimer').innerHTML = 'Voit irtisanoa tilauksen koska tahansa';

            //insert clone before the original element
            elem.parentNode.insertBefore(clone, elem);

            if(requireCdx) {
                cdx.confirm(true);
            }
            return true;
        } else {
            sendGAEvent('script failed, page html unexpected');
        }
    };

    doExperimentChanges();
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-l6lT0kT7pPgB5fal19T4-1756117034': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-48b';
const variantId = 'F';
const experimentName = experimentId + ' Timanttimuuri ei-ot';
const variantName = variantId + ' sample';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
 //currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const newAID = 'GDS54JGWB62SB';
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';
const newDateUntil = 1; //sample
const newButtonText = 'Lue 24 tuntia maksutta'; //sample
let pagePath = '/shopping-ui/hs-digi-nayte-24';

const newSubtitleText = 'Kaikki HS:n jutut maksutta yhden päivän ajan. Tutustumisjakso päättyy automaattisesti.';
const newTitleText = 'Lue maksutta 24 tuntia';

const paywallEvent = 'sample 2w'; //change this to describe how paywall offering is change from default (or set false if offering default)
const sendConfirmEvents = true; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]
const timeToWaitForConfirm = 500; //time to wait before confirming experiment

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
let paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;
if(!paywallEvent) {
    paywallEventLabel = 'default offer: ' + stringIdPlusVariant;
}

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    if(true) {
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else {
                        if(testing) {
                            console.log('no paywall change offer event - this is control version?');
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };

        const createElem = function(tag, classes, text) {
            let elem = document.createElement(tag);
            if(classes) {
                //split classes by space
                classes = classes.split(' ');
                for(let i = 0; i < classes.length; i++) {
                    elem.classList.add(classes[i]);
                }
            }
            if(text) {
                elem.innerHTML = text;
            }
            return elem;
        }

        //helper function to replace text in correct child node
        function replaceText(node, newText) {
            if (node.nodeType === Node.TEXT_NODE) {
                node.nodeValue = newText;
            } else {
                node.childNodes.forEach((child) => replaceText(child, newText));  
            }
        }
        
        const changeButtonUrlAndText = function(button) {
            let urlParams = {
                'embedded': null,
                'offer': null,
                'aid': newAID,
                'ref': null,
                'showPaymentPeriodList': null,
                'variant': null
            };

            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
                Object.keys(urlParams).forEach(function(key) {
                    if (urlParams[key] === null) {
                        url.searchParams.delete(key);
                    } else if (urlParams[key] !== undefined) {
                        url.searchParams.set(key, urlParams[key]);
                    }
                });
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
           
            replaceText(button, newButtonText); //finds the child text node and replaces it
            
            return button;
        };
    
        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    button = changeButtonUrlAndText(button);
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

                    subtitle.innerText = newSubtitleText;
                    title.classList.add('ab-test-paywall-modified', namelower);
                    title.innerText = newTitleText;

                    secondaryButton.classList.add('ab-test-paywall-modified', namelower);
                    secondaryButton.href = 'https://kampanjat.hs.fi/tilaa/?ref=kovamuuri';
                    
                    if(feedTitle) { //rss feed under paywall element and this is the title of that feed
                        let paywallOffering = document.querySelector('.ab-test-hard-paywall-offering');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }
                    
                    if(confirmExperiment()) {
                        return true;
                    }
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    }
} catch(err) {   
    sendGAEvent('script error: ' + err);
}
 },'js-lbgDtCAZzAXAEyQ9iywV-1754983057': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-49b';
const variantId = 'C';
const experimentName = experimentId + ' näytetilausländäri';
const variantName = variantId + ' näyte 24h';

const currentAID = 'UNFF56YI95XK';
const sampleAID = 'GK3UG8JRS954B';
const continuousAID = false;
const sampleFunnel = '/tilaus/hs-digi-nayte-24/';
const continuousFunnel = false;

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {       
    //helper function to change button url and text
    const changeButtonUrlAndText = function (button, newAID, pagePath, newText) {
        let urlParams = false;

        urlParams = {
            aid: newAID,
        }

        let url = new URL(button.href);
        // Update search params
        if (urlParams) {
            Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) {
                url.searchParams.delete(key)
            } else if (urlParams[key] !== undefined) {
                url.searchParams.set(key, urlParams[key])
            }
            })
        }
        // Update path
        if (pagePath) {
            url.pathname = pagePath;
        }

        button.href = url.toString();
        if(newText) {
            button.innerText = newText;
        }
        return button;
    }

    //helper function to calculate days d.m. 
    const calculateDays = function(d, suffix) {
        let date = new Date();
        date.setDate(date.getDate() + d);
        let dd = date.getDate();
        let mm = date.getMonth()+1;
        let pvmSpan = false;
        if(suffix) {
            pvmSpan = dd.toString() + '.' + mm.toString() + '. ' + suffix;
        }
        else {
            pvmSpan = dd.toString() + '.' + mm.toString() + '.'
        }
        return pvmSpan;
    }

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.ab-test-page-modified');
        let elem = document.querySelector('#lisaa');
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        } else if(elem) { 
            let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

            let button = document.querySelector('.ab-test-subscribe-button');
            button = changeButtonUrlAndText(button, sampleAID, sampleFunnel, false);
            button.classList.add('ab-test-page-modified', namelower);

            let priceInfo = document.querySelector('.hss-price');
            priceInfo.innerHTML = '<span>0,00</span> €/24 tuntia';

            let headerText = document.querySelector('.ab-two-week-header-text');
            if(headerText) {
                headerText.innerHTML = 'Kokeile vuorokausi maksutta.';
            }
            let blueSection = document.querySelector('.hss-col-third-blue.hss-product-heading-highlight');
            if(blueSection) {
                blueSection.classList.add('hidden');
            }
            let footerText = document.querySelector('.ab-two-week-footer-text');
            if(footerText) {
                footerText.innerHTML = 'Tue faktapohjaista ja riippumatonta journalismia kokeilemalla Helsingin Sanomia ensin vuorokausi maksutta. Päätä sen jälkeen, haluatko siirtyä pitkäaikaiseksi tilaajaksi. Pidemmän tilausjakson valitsemalla säästät enemmän.';
            }

            if(requireCdx) {
                cdx.confirm(true);
            }

            return true;
        } else {
            sendGAEvent('script failed, page html unexpected');
        }
    };

    doExperimentChanges();
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-n7tENWaxEdGhjkJiS4Dc-1750924733': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-46b';
const variantId = 'B';
const experimentName = experimentId + ' Timanttimuuri ot';
const variantName = variantId + ' control tupla';
let currentDefaultButtonText = 'Tilaa HS Digi+ 1. kk 0 €'; //nykyisen napin teksti
// currentDefaultButtonText = 'Lue 2 viikkoa maksutta'; //nykyisen napin teksti
const paywallType = 'hard'; // hard or archived
const newAID = 'GOOUYNOPR8KTB';
const pagePath = false;
const feedTitle = 'HS:n digitilauksella pääset lukemaan rajoituksetta tämän ja yli 400 uutta timanttijuttua kuukaudessa';

const paywallEvent = false; //change this to describe how paywall offering is change from default (or set false if offering default)
let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]'); //main element to use: [data-ab="hard-paywall"]

const timeToWaitForConfirm = 500; //time to wait before confirming experiment

const sendConfirmEvents = false; //if you want to send confirm events to GA - they might be good in the beginning to see that experiment gets confirmed equally (although you should see that from Conductrics also)

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;
const paywallEventName = 'change offer'; //do not change this
let paywallEventLabel = paywallEvent + ': ' + stringIdPlusVariant;
if(!paywallEvent) {
    paywallEventLabel = 'default offer: ' + stringIdPlusVariant;
}

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {
    //if(true) { //use this if not HS ot
    if(requireCdx === false || window.conductrics_checkIfEligibileForP2p(cdx.trait('isLoggedIn'), cdx.trait('p2p_lightgbm'), cdx.trait('p2p'))) {       
        //helper to confirm experiment - we wait a while to see if Braze has modified the paywall and removed Conductrics paywall
        const confirmExperiment = function() {
            setTimeout(function() {
                paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
                if(paywall) { //paywall found after delay
                    dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
                    if(paywallEvent) {
                        if(testing) {
                            console.log(paywallEventName + ': ' + paywallEventLabel);
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    else {
                        if(testing) {
                            console.log('no paywall change offer event - this is control version?');
                        }
                        else {
                            dataLayer.push({'event': 'eventInfo', 'eventCategory': 'paywall', 'eventAction': paywallEventName, 'eventLabel': paywallEventLabel});
                        }
                    }
                    if(sendConfirmEvents) {
                        sendGAEvent('experiment confirmed');
                    }
                    if(requireCdx) {
                        cdx.confirm(true);
                    }                   
                    return true;
                }
                else {
                    sendGAEvent('paywall not found after delay (braze modified it)');
                    return false;
                }
            }, timeToWaitForConfirm);
        };

        const changeButtonUrl = function(button) {
            let urlParams = {
                'embedded': null,
                'offer': null,
                'aid': newAID,
                'ref': 'maksumuuri_kova_ot',
                'showPaymentPeriodList': null,
                'variant': null
            };

            let url = new URL(button.href);
            // Update search params
            if (urlParams) {
                Object.keys(urlParams).forEach(function(key) {
                    if (urlParams[key] === null) {
                        url.searchParams.delete(key);
                    } else if (urlParams[key] !== undefined) {
                        url.searchParams.set(key, urlParams[key]);
                    }
                });
            }
            // Update path
            if (pagePath) {
                url.pathname = pagePath;
            }
            button.href = url.toString();
            return button;
        };
    
        const doExperimentChanges = function () {
            let experimentExists = document.querySelector('.ab-test-paywall-modified');
            let paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            let title = document.querySelector('[data-ab="' + paywallType + '-paywall-title"]');
            let subtitle = document.querySelector('[data-ab="' + paywallType + '-paywall-subtitle"]');
            let button = document.querySelector('[data-ab="' + paywallType + '-paywall-subscribe-button"]');
            let secondaryButton = document.querySelector('[data-ab="' + paywallType + '-paywall-secondary-subscribe-button"]');
            paywall = document.querySelector('[data-ab="' + paywallType + '-paywall"]');
            if(experimentExists) {
                sendGAEvent('script failed, paywall already modified');
            } else if(paywall && title && button) { 
                if(button.innerText.trim() === currentDefaultButtonText) { //actual changes here
                    button = changeButtonUrl(button);
                    let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
                    
                    title.classList.add('ab-test-paywall-modified', namelower);
                    
                    if(feedTitle) {
                        let paywallOffering = document.querySelector('[data-ab="' + paywallType + '-paywall-offering"]');
                        if(paywallOffering) {
                            paywallOffering.innerText = feedTitle;
                        }
                    }

                    return confirmExperiment();
                }
                else {
                    sendGAEvent('script failed, primary button text unexpected');
                }
            } else {
                sendGAEvent('script failed, paywall html unexpected');
            }
        };

        doExperimentChanges();
    }
} catch(err) {   
    sendGAEvent('script error: ' + err);
}
 },'js-tcNMXVEvaIua783tfLmz-1755854956': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if (!requireCdx) { testing = true; } //set this to true if not in conductrics for easier testing

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

// EXPERIMENT CONFIGURATION - Change these values for each test
const experimentId = 'HS25-51b';
const variantId = 'D';

const sendGAEvent = function (label) { 
    if (testing) {
        console.log(label); 
    } else { 
        dataLayer.push({
            'event': 'eventInfo', 
            'eventCategory': 'Conductrics', 
            'eventAction': 'conductrics_event', 
            'eventLabel': experimentId + ' ' + variantId + ': ' + label
        });
    }
};

// RUN THE EXPERIMENT - Wrap everything in try-catch for comprehensive error handling
try {
    const experimentName = experimentId + ' sovelluslatausbanneri';
    const variantName = variantId + ': slightly smaller';
    const namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;

    // CONTENT VARIABLES - Edit these to change what the experiment shows
    const currentTitle = 'Lataa HS-sovellus';
    const currentTitle2 = 'Lataa palkittu HS-sovellus';
    const currentButtonText = 'Avaa sovellus';
    const firstTextCopy = 'Kokeile Helsingin Sanomien uutta sovellusta';
    const lastTextCopy = 'Ei edellytä tilausta';
    const newButtonText = 'Avaa sovellus';

    // ELEMENT SELECTORS - These tell the script what to look for on the page
    const experimentExistsSelector = '.app-download-banner-modified-by-conductrics';
    const bannerSelector = '[data-ab="app-download-banner"]';
    const titleSelector = '[data-ab="app-download-banner-title"]';
    const descriptionSelector = '[data-ab="app-download-banner-text"]';
    const rejectButtonSelector = '[data-ab="app-download-banner-close-button"]';
    const acceptButtonSelector = '[data-ab="app-download-banner-accept-button"]';
    const bannerInnerContainerSelector = '[data-ab="app-download-banner"] > div > div';

    let store_parameter = experimentId + '_' + variantId;
    store_parameter = store_parameter.replace(/\s+/g, '-').toLowerCase(); //make lowercase and remove whitespace for store parameter
    const successEvents = true;

    // HELPER FUNCTION - Insert CSS styles
    const insertStyle = function (element) {
        let style = `		
            .ab-test-app-download-banner-inner {
                padding: 0;
            }

            .ab-test-app-download-banner-inner h2 {
                text-align: center;
            }

            .ab-test-app-download-banner-inner p {
                margin: 0 auto;
                font-size: 16px;
                line-height: 19.2px;
                text-align: center;
                font-family: Helsingin, Helvetica, Arial, sans-serif;
            }

            .ab-test-app-download-banner-inner .ab-second-div {
                margin-top: 16px;
            }
        `;
            
        var styleSheet = document.createElement("style");
        styleSheet.type = "text/css";
        element.appendChild(styleSheet);
        styleSheet.innerText = style;
    };

    // HELPER FUNCTION - Change button URL with store parameters
    const changeButtonUrl = function (buttonLink) {
        if (buttonLink.href.indexOf('https://apps.apple.com/') > -1) {
            if (buttonLink.href.indexOf('https://apps.apple.com/app/apple-store/id380643421?pt=350676&ct=alasticky') > -1) {
                buttonLink.href = buttonLink.href.replace('alasticky', 'alasticky_' + store_parameter);
                if (successEvents) {
                    sendGAEvent('apple store link parameter ct changed to: alasticky_' + store_parameter);
                }
                return true;
            } else {
                sendGAEvent('script error: apple store link error');
            }
        }
        if (buttonLink.href.indexOf('https://play.google.com/') > -1) {
            if (buttonLink.href.indexOf('https://play.google.com/store/apps/details?id=fi.hs.android&referrer=utm_source=hsfi&utm_medium=referral&utm_campaign=hs_alasticky') > -1) {
                buttonLink.href = buttonLink.href.replace('alasticky', 'alasticky_' + store_parameter);
                if (successEvents) {
                    sendGAEvent('google store link parameter utm_campaign changed to: hs_alasticky_' + store_parameter);
                }
                return true;
            } else {
                sendGAEvent('script error: google store link error');
            }
        } else {
            return false;
        }
        return true;
    };
    
    // MAIN EXPERIMENT FUNCTION
    const executeExperiment = function () {
        let experimentExists = document.querySelector(experimentExistsSelector);
        let banner = document.querySelector(bannerSelector);
        let title = document.querySelector(titleSelector);
        let description = document.querySelector(descriptionSelector);
        let rejectbutton = document.querySelector(rejectButtonSelector);
        let acceptbutton = document.querySelector(acceptButtonSelector);
        let bannerInnerContainer = document.querySelector(bannerInnerContainerSelector);
        let buttonLink = acceptbutton;
        
        if (experimentExists) {
            //sendGAEvent('script failed, already modified');
            return false;
        }
        
        if (!(banner && title && acceptbutton && buttonLink && rejectbutton)) {
            sendGAEvent('script failed, banner elements not found');
            return false;
        }

        if (!((title.innerText.trim() === currentTitle || title.innerText.trim() === currentTitle2) && acceptbutton.innerText.trim() === currentButtonText)) {
            sendGAEvent('script failed, unexpected banner text');
            return false;
        }
        
        if (!changeButtonUrl(buttonLink)) {
            sendGAEvent('script failed, button URL change failed');
            return false;
        }
        
        // Make the changes
        title.classList.add('app-download-banner-modified-by-conductrics', namelower);
        bannerInnerContainer.classList.add('ab-test-app-download-banner-inner');

        if (!banner.querySelector('style')) {
            insertStyle(banner);
        }

        if (description) {
            description.classList.add('hidden');
        }

        let mainDiv = bannerInnerContainer.querySelector('div:nth-child(2)');
        if (mainDiv) {
            mainDiv.classList.add('ab-main-div');

            let firstDiv = mainDiv.querySelector('div:nth-child(1)');
            if (firstDiv) {
                firstDiv.classList.add('ab-first-div');
            
                let firstText = document.createElement('p');
                firstText.classList.add('ab-first-text');
                firstText.innerText = firstTextCopy;
                firstDiv.appendChild(firstText);
            }

            let secondDiv = mainDiv.querySelector('div:nth-child(2)');
            if (secondDiv) {
                secondDiv.classList.add('ab-second-div');
                secondDiv.appendChild(acceptbutton);
                let lastText = document.createElement('p');
                lastText.classList.add('ab-last-text');
                lastText.innerText = lastTextCopy;
                secondDiv.appendChild(lastText);
            }
        }

        acceptbutton.onclick = function (e) {
            sendGAEvent('click application download');
        };

        if (requireCdx) {
            cdx.confirm(true);
        }

        dataLayer.push({'experiment': 'Conductrics', 'experimentID': experimentName, 'description': variantName});
        return true;
    };

    // Execute the experiment
    executeExperiment();
    
} catch (e) {
    // Handle errors - this catches ALL errors including syntax errors in variables
    if (e.toString().indexOf('confirm') < 0 && e.toString().indexOf('cdx') < 0) {
        console.log(e);
        
        let err = e;
        let err_split = e.stack.split("\n");
        let err_line = false;
        if (err_split[1]) {
            err_line = err_split[1].split('>:');
        }
        if (err_line[1]) {
            err = err_line[1];
        }
        
        sendGAEvent('script error: ' + err);
    }
}
 },'js-xby7SLcXZIpBXuXQSOO4-1754982659': function (cdx) { let requireCdx = true; //on Conductrics set this to true!
//requireCdx: false = use vanilla js only. true = use Conductrics functions such as cdx.trait() and cdx.confirm()

let testing = false;
if(!requireCdx) { testing = true; }
const experimentId = 'HS25-49b';
const variantId = 'A';
const experimentName = experimentId + ' näytetilausländäri';
const variantName = variantId + ' control';

const currentAID = 'UNFF56YI95XK';
const sampleAID = 'G9GHP54BPVKMY';

//these are just to remove warnings shown in editor
if (typeof cdx === 'undefined') { window.cdx = window.cdx || {}; }
if (typeof dataLayer === 'undefined') { window.dataLayer = window.dataLayer || []; }

//do not change these
const stringIdPlusVariant = experimentId + '-' + variantId;

const stringIdPlusVariantForEvents = experimentId + ' ' + variantId + ': ';
const sendGAEvent = function (label) { if(testing) {console.log(label); } else { dataLayer.push({'event': 'eventInfo', 'eventCategory': 'Conductrics', 'eventAction': 'conductrics_event', 'eventLabel': stringIdPlusVariantForEvents + label});}};

try {       
    //helper function to change button url and text
    const changeButtonUrlAndText = function (button, newAID, pagePath, newText) {
        let urlParams = false;

        urlParams = {
            aid: newAID,
        }

        let url = new URL(button.href);
        // Update search params
        if (urlParams) {
            Object.keys(urlParams).forEach(function (key) {
            if (urlParams[key] === null) {
                url.searchParams.delete(key)
            } else if (urlParams[key] !== undefined) {
                url.searchParams.set(key, urlParams[key])
            }
            })
        }
        // Update path
        if (pagePath) {
            url.pathname = pagePath;
        }

        button.href = url.toString();
        return button;
    }

    const doExperimentChanges = function () {
        let experimentExists = document.querySelector('.ab-test-page-modified');
        let elem = document.querySelector('#lisaa');
        if(experimentExists) {
            sendGAEvent('script failed, page already modified');
        } else if(elem) { 
            let namelower = 'ab-test-from-conductrics-' + experimentId.toLowerCase() + '-' + variantId;
            elem.classList.add('ab-test-page-modified', namelower);

            let button = document.querySelector('.ab-test-subscribe-button');
            button = changeButtonUrlAndText(button, sampleAID, false, false);

            if(requireCdx) {
                cdx.confirm(true);
            }
        } else {
            sendGAEvent('script failed, page html unexpected');
        }
    };

    doExperimentChanges();
} catch(e) {
    console.log(e)

  let err = e
  let err_split = e.stack.split('\n')
  let err_line = false
  if (err_split[1]) {
    err_line = err_split[1].split('>:')
  }
  if (err_line[1]) {
    err = err_line[1]
  }
  sendGAEvent('script error: ' + err)
}
 },'js-xxxdldtcM437KDOxUyLG-1724140755': function (cdx) { !function(e,n,s){var t,o,i="script",c="_giosg",r="https://service.giosg.com";t=n.createElement(i),t.async=1,t.src=r+"/live/",e[c]=e[c]||function(){(e[c]._e=e[c]._e||[]).push(arguments)},e[c]._c=s,e[c]._h=r,o=n.getElementsByTagName(i)[0],o.parentNode.insertBefore(t,o)}(window,document,5502),window.showGiosgHSnqs=!0;
 } }; var _wa_js = {  }; if (!Array.isArray) {Array.isArray = function(arg) {return Object.prototype.toString.call(arg) === '[object Array]'}};
if (!String.prototype.trim) {String.prototype.trim = function () {return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '')}};
if (!String.prototype.startsWith) {String.prototype.startsWith = function(s) {return this.indexOf(s) == 0}}
if (!Array.prototype.filter) {Array.prototype.filter = function(fn) { res = []; for (var i = 0; i < this.length; i++) { v = this[i]; if ( fn(v) ) { res.push(v); }} return res; }}
if (!Array.prototype.map) {Array.prototype.map = function(fn) { res = []; for (var i = 0; i < this.length; i++) { v = this[i]; res.push(fn(v)); } return res; }}
if (!Object.keys) {Object.keys = function(o) { var ar = []; for (var k in o) {ar.push(k)}; return ar; }}
if (!Object.assign) {Object.assign = function(r){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var f in a)r[f]=a[f]}return r};}
if (!Array.prototype.includes) {Array.prototype.includes = function(v) {return this.indexOf(v) >= 0}}  var require = undefined; var define = undefined; require=(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({"./modules/api-steps":[function(require,module,exports){
(function(){var t,e=function(t,e){function s(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype,t},o={}.hasOwnProperty;t=require("../diagrams").M,exports.m=function(t){function o(conf){this.conf=conf}return e(o,t),o.prototype.process=function(t,e){var o,s,n,r,i,l,u,p,c,m,a;if((a=null!=(i=null!=(l=t.steps)?l:e.r.steps)?i:[]).length>0){for(null==t.items&&(t.items=[]),null==t._items&&(t._items=t.items.concat()),s={module:"group",items:[]},n=0,r=a.length;r>n;n++)m=a[n],s.items.push({module:"step-set",step:m}),null!=(o=t.diags[null!=(u=null!=(p=m.a)?p:m.g)?u:m.t])&&s.items.push(o);0,"pre"!==(null!=(c=t._items[0])?c.group:void 0)&&e.log("No prelude!","e"),t.items=t._items.concat(),t.items.splice(1,0,s)}},o}(t)}).call(this);
},{"../diagrams":16}],"./modules/api-task":[function(require,module,exports){
(function(){var t,r=function(t,r){function n(){this.constructor=t}for(var e in r)o.call(r,e)&&(t[e]=r[e]);return n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype,t},o={}.hasOwnProperty;t=require("../diagrams").M,exports.m=function(t){function o(){return o.__super__.constructor.apply(this,arguments)}return r(o,t),o.prototype.process=function(t,r){r.log("Flowlet: '"+t.task+"'","a")},o}(t)}).call(this);
},{"../diagrams":16}],"./modules/condition":[function(require,module,exports){
(function(){var r,t=function(r,t){function n(){this.constructor=r}for(var e in t)o.call(t,e)&&(r[e]=t[e]);return n.prototype=t.prototype,r.prototype=new n,r.__super__=t.prototype,r},o={}.hasOwnProperty;r=require("../diagrams").M,exports.m=function(r){function o(){return o.__super__.constructor.apply(this,arguments)}return t(o,r),o}(r)}).call(this);
},{"../diagrams":16}],"./modules/decision":[function(require,module,exports){
(function(){var n,t=function(n,t){function e(){this.constructor=n}for(var o in t)r.call(t,o)&&(n[o]=t[o]);return e.prototype=t.prototype,n.prototype=new e,n.__super__=t.prototype,n},r={}.hasOwnProperty;n=require("../diagrams").M,exports.m=function(n){function r(){return r.__super__.constructor.apply(this,arguments)}return t(r,n),r.prototype.active=function(n,t){var r;return t.qa()&&t.selsOnly()&&!t.selPre(n.agent)?(t.log("Skipping agent '"+n.agent+"' during preview","q"),!1):!(n.qa&&(r=t.qa(),t.log("QA-only agent '"+n.agent+"' (QA visitor? "+r+")","q"),!r))},r.prototype.getConds=function(n,t){if(t.selPre(n.agent)){if(!t.enfVcPre())return t.log("Skipping entry conditions for '"+n.agent+"'","q"),[];t.log("Enforcing entry conditions during preview for '"+n.agent+"'","q")}return n.conds},r}(n)}).call(this);
},{"../diagrams":16}],"./modules/entry":[function(require,module,exports){
(function(){var t,r=function(t,r){function n(){this.constructor=t}for(var e in r)o.call(r,e)&&(t[e]=r[e]);return n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype,t},o={}.hasOwnProperty;t=require("../diagrams").M,exports.m=function(t){function o(){return o.__super__.constructor.apply(this,arguments)}return r(o,t),o.prototype.active=function(t,r){return r.data["d.ep"]===t.entry},o}(t)}).call(this);
},{"../diagrams":16}],"./modules/feature-set":[function(require,module,exports){
(function(){var t,r=function(t,r){function e(){this.constructor=t}for(var n in r)o.call(r,n)&&(t[n]=r[n]);return e.prototype=r.prototype,t.prototype=new e,t.__super__=r.prototype,t},o={}.hasOwnProperty;t=require("../diagrams").M,exports.m=function(t){function o(){return o.__super__.constructor.apply(this,arguments)}return r(o,t),o.prototype.process=function(t,r){r.tAdd(t.feature,t.def?"def":"set")},o}(t)}).call(this);
},{"../diagrams":16}],"./modules/features-profile":[function(require,module,exports){
arguments[4]["./modules/condition"][0].apply(exports,arguments)
},{"../diagrams":16,"dup":"./modules/condition"}],"./modules/group":[function(require,module,exports){
arguments[4]["./modules/condition"][0].apply(exports,arguments)
},{"../diagrams":16,"dup":"./modules/condition"}],"./modules/reward":[function(require,module,exports){
(function(){var e,o,t,r=function(e,o){function t(){this.constructor=e}for(var r in o)n.call(o,r)&&(e[r]=o[r]);return t.prototype=o.prototype,e.prototype=new t,e.__super__=o.prototype,e},n={}.hasOwnProperty;e=require("../diagrams").M,t=require("../../../utils"),o=require("../../../rewards"),exports.m=function(e){function n(conf){this.conf=conf,this.rewarder=new o.Rewarder(this.conf),n.__super__.constructor.call(this,this.conf)}return r(n,e),n.prototype.process=function(e,o){var r,n,s,a,l,i,u,c,d,g,p,f,v;if(null==o.sess)throw"No session";if(o.reread(),f=null!=(l=o.step)?l:{},v={goal:e.goal,value:function(){switch(!1){case!(f.g===e.goal&&"number"==typeof f.v):return f.v;default:return parseFloat(e.value)}}(),vc:null!=(i=f.vc)?i:e.vc,agents:null!=(u=e.to)?u:f.to},!0===e.er)return this.sendViaRest(e,o,v);for(a={countMax:e.countMax,valueMin:e.valueMin,valueMax:e.valueMax,valueDef:e.valueDef,rw:e.rw,ps_ok:e.ps_ok,forex:e.forex},0===(g=this.rewarder.handleStep(o,v,a)).items.length&&o.log("No agents to reward for "+e.goal,"g"),p={g:e.goal,rs:[]},r=0,s=(c=g.items).length;s>r;r++)null!=(n=c[r])&&(o.log("Reward of "+v.value+" ("+n.v+" accepted) to agent "+n.a+" for goal "+n.g,"g"),n=t.Obj.extend({},n,{t:"r",rts:o.ts(),c:function(){switch(!1){case!Array.isArray(n.c):return n.c.join(",");default:return n.c}}(),s:void 0}),!0===this.conf["sqs:use-ddid"]&&(n.ddid=n.a+":"+n.g+":"+(null!=(d=n.ri)?d:0)),o.done(n),p.rs.push({a:n.a.split(":")[1],v:n.v}));return o.resp(p)},n.prototype.sendViaRest=function(e,o,r){var n,s,a,l,i,u,c;return n={g:r.goal,v:r.value,to:r.agents},a=o.qa()?"q":"p",(i=null!=(l=_d.rt.use_rest)?l[a]:void 0)?(u=o.data["v.sid"],t.Strings.isId(u)?(o.log("Sending Goal '"+r.goal+"' to REST API","g"),c=i+"&session="+encodeURIComponent(u),(s=null!=s?s:require("harness")).beacon(c,JSON.stringify({commands:[n]}))):void o.log("Could not send Goal '"+r.goal+"' to REST API (no Session ID)","e")):void o.log("Could not send Goal '"+r.goal+"' to REST API (no endpoint)","e")},n}(e)}).call(this);
},{"../../../rewards":9,"../../../utils":22,"../diagrams":16,"harness":"harness"}],"./modules/root":[function(require,module,exports){
arguments[4]["./modules/condition"][0].apply(exports,arguments)
},{"../diagrams":16,"dup":"./modules/condition"}],"./modules/select":[function(require,module,exports){
(function(){var n,e,t,c=function(n,e){function t(){this.constructor=n}for(var c in e)a.call(e,c)&&(n[c]=e[c]);return t.prototype=e.prototype,n.prototype=new t,n.__super__=e.prototype,n},a={}.hasOwnProperty;n=require("../diagrams").M,t=require("../../../utils"),e=require("../../../selection"),exports.m=function(n){function a(n){this.conf=n,this.chooser=new e.Chooser(this.conf),a.__super__.constructor.call(this,this.conf)}var r;return c(a,n),a.prototype.process=function(n,e){var t,c,conf,a,s,o,i,l,u,p,d,f,_,g,h,m,y,v,b,x,w,A,O,k,j,q,C,E,N,P,S,D,J,M,R,U;if(conf=this.conf,null==e.sess)throw"No session for dec";if(N=e.data,P=null!=(y=e.step)?y:{},c=null!=(v="undefined"!=typeof _d&&null!==_d?_d.A[n.agent]:void 0)?v:{a:{c:{}},md:{}},s=function(n){var e;return n===D.a?e=c.aac:_d.A[n]&&(e=_d.A[n].aac),null!=e?e:n},!0!==P.discard||P.a!==n.agent)if(D={a:n.agent,c:function(){switch(!1){case!(P.a===n.agent&&null!=P.c):return P.c;default:return n.choices}}(),x:null!=(b=P.x)?b:[],p:n.policy,exr:n.exr,gdy:n.gdy,n:function(){var e,t;switch(typeof n.num){case"number":return null!=(e=null!=(t=P.n)?t:n.num)?e:1;default:return}}(),w:c.w},null!=(S=c.a.s)){if("running"!==S&&(D.p="p"),C=this.chooser.handleStep(e,D),M="p"===(m=null!=(x=null!=(w=n.s)?w:P.s)?x:C.ps),R="ok"===m,C.s=M&&"ok"!==C.ps?"p":"ok",d=!M,p=R&&"p"===C.ps,f=n.silent||P.silent,q=null!=(A=C.pp)?A:C.p,"p"===n.rap&&(q=C.p=n.rap),C.dp=e.pool(),e.selAdd(C),p?e.log("Confirming selection '"+C.c+"' for agent '"+n.agent+"'","a"):(e.log("selection '"+C.c+"' for agent '"+n.agent+"' (policy "+C.p+", traits ["+C.fs+"])","a"),"p"===C.s&&e.log("selection for '"+n.agent+"' is pending","a")),(!M&&"p"!==(O=C.p)&&"b"!==O&&"s"!==O&&"x"!==O||p)&&e.done({t:"d",a:D.a,c:Array.isArray(C.c)?C.c.join(","):C.c,p:q,fs:C.fs,dts:C.ts}),"api"===N["d.ep"]&&(f||e.resp({a:D.a,c:C.c,p:C.p,md:r(c,C),s:C.s})),(U=conf["dl:names"])&&(h=e.c_name(D.a,C.c)),o=s(D.a),d&&null!=e.handlers){for(_ in E={},k=N["v.sels"])J=k[_],E[i=_===D.a?o:s(_)]={c:J.c,p:J.p},U&&(t=e.c_name(_,J.c),Object.assign(E[i],{a_name:t.a,c_name:t.c}));for(u=0,g=(j=e.handlers).length;g>u;u++){l=j[u];try{l(E,D.a)}catch(n){a=n,e.log("Could not call post-selection handler: "+a,"e")}}}!function(){var n,t,c,a,r,s,i,l,u,p;d&&(t=e.r._dl,a=conf["dl:ev-style"],s=t.enabled()&&"none"!==a,i=conf["dl:cdl"],(s||i)&&((r=conf["dl:px"]).length>0&&r.indexOf(q)>=0||f&&(u=null!=t._rm?t._rm:t._rm={})[l="s:"+D.a+":"+C.c+":"+q]||f&&conf["dl:slx"]||(p=function(){var n;return n={item:{t:"s",a:o,c:C.c,p:q},ep:N["d.ep"]},U&&Object.assign(n.item,{a_name:h.a,c_name:h.c}),n},n=function(){var n,e,t,c;switch(a){case"ga4":n={event:"experience_impression",exp_variant_string:"conductrics-"+o+"-"+C.c,conductrics_agent_code:o,conductrics_variation_code:C.c,conductrics_selection_policy:q},U&&(n.conductrics_agent_name=h.a,n.conductrics_variation_name=h.c);break;case"cust":e=null!=(t=conf["dl:ev-cust"])?t:"",c={agent_code:o,variation_code:C.c,policy_code:q,agent_name:U?h.a:o,variation_name:U?h.c:C.c},Object.keys(c).forEach(function(n){var t;return e=e.replaceAll("${"+n+"}",null!=(t=c[n])?t:"")}),n=function(){try{return JSON.parse(e)}catch(n){}}();break;default:n=p()}return n},s&&(c="ga4"===a||"cust"===a?null:conf["dl:key-sl"],e.log("Pushing selection '"+C.c+"' into data layer for Agent '"+D.a+"' (policy "+q+")","a"),t.push(c,n())),i&&e.cdl_push(p()),f&&(u[l]=!0))))}()}else e.log("Unknown agent '"+n.agent+"' or status '"+S+"'","a");else e.selDel(n.agent)},r=function(n,e){var c,a;return a=n.mdrd,c=function(e){var c,r,s;if(s=n.md[e],a)for(c in s=Object.assign({},s))"string"==typeof(r=s[c])&&r.includes(a)&&(s[c]=t.Rand.pull(r.split(a)));return s},Array.isArray(e.c)?function(){var n;return n={},e.c.forEach(function(e){return n[e]=Object.assign({},c(e))}),n}():Object.assign({},c(e.c))},a}(n)}).call(this);
},{"../../../selection":10,"../../../utils":22,"../diagrams":16}],"./modules/step-set":[function(require,module,exports){
(function(){var t,r=function(t,r){function n(){this.constructor=t}for(var e in r)o.call(r,e)&&(t[e]=r[e]);return n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype,t},o={}.hasOwnProperty;t=require("../diagrams").M,exports.m=function(t){function o(){return o.__super__.constructor.apply(this,arguments)}return r(o,t),o.prototype.process=function(t,r){r.stepSet(t.step)},o}(t)}).call(this);
},{"../diagrams":16}],"./modules/switch":[function(require,module,exports){
(function(){var t,o,r,n={}.hasOwnProperty;o=(r=require("../diagrams")).M,t=r.Conds,exports.m=function(o){function r(){return r.__super__.constructor.apply(this,arguments)}return function(t,o){function r(){this.constructor=t}for(var e in o)n.call(o,e)&&(t[e]=o[e]);r.prototype=o.prototype,t.prototype=new r,t.__super__=o.prototype}(r,o),r.prototype.process=function(o,r){var n,e,s,i;for(o.items=[],e=0,s=(i=o.cases).length;s>e;e++)if(n=i[e],t.evalConds(n.conds,r))return void(o.items=n.items)},r}(o)}).call(this);
},{"../diagrams":16}],"./modules/trait-read":[function(require,module,exports){
(function(){var r,t,e=function(r,t){function e(){this.constructor=r}for(var o in t)n.call(t,o)&&(r[o]=t[o]);return e.prototype=t.prototype,r.prototype=new e,r.__super__=t.prototype,r},n={}.hasOwnProperty,o=[].indexOf||function(r){for(var t=0,e=this.length;e>t;t++)if(t in this&&this[t]===r)return t;return-1};r=require("../diagrams").M,t=require("../../../utils"),exports.m=function(r){function n(){return n.__super__.constructor.apply(this,arguments)}return e(n,r),n.prototype.process=function(r,e){var n,i,s,a,p;for(a=t.Strings.interpolate(r.expr,e.data),n=0,i=(p=function(){var r;switch(!1){case!Array.isArray(a):return a;case"string"!=typeof a:return a.split(/[,; ]+/);case r=typeof a,o.call("boolean",r)<0:case!1:return[a]}}()).length;i>n;n++)s=p[n],this.isId(s)&&e.tAdd(r.ns+"/"+r.type+":"+s,"read")},n}(r)}).call(this);
},{"../../../utils":22,"../diagrams":16}],"./modules/vstate-apply":[function(require,module,exports){
(function(){var e,t,r,n,o,i,s,u,c=function(e,t){function r(){this.constructor=e}for(var n in t)a.call(t,n)&&(e[n]=t[n]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},a={}.hasOwnProperty;r=require("../diagrams").M,o=require("../../../dom-utils").doc_ready,s=require("../../../utils"),i=s.nested,u=s.waitFor,e=s.Conds,n=require("../wa-utils").dl_eventMsgApplies,t=require("../../client/exit-intent").ExitIntent,exports.m=function(r){function s(){return s.__super__.constructor.apply(this,arguments)}var a,l;return c(s,r),s.prototype.active=function(e,t){return!(e.qa&&!t.qa())},s.prototype.process=function(e,t){return o(function(){var r,n,o,i;for(r=0,n=(o=e.trigs).length;n>r;r++)i=o[r],a(e,t,i)})},a=function(r,o,s){var c,a,v,d,g,f,m,h,b,p,w,_;switch(h="view-state '"+r.vstate+"'",v=function(){var t;return!((t=s.ev_conds)&&t.length>0)||e.evalConds(t,o,"Event Conditions for view-state '"+r.vstate+"'","x")},p=function(){var e;return e=function(){var e;if(v())return o.log("Triggering view-state '"+r.vstate+"'","x"),e=new CustomEvent("ConductricsStateChange",{detail:r.vstate}),window.dispatchEvent(e)},s.ms>0?(o.log("Will trigger "+h+" in "+s.ms+" ms (trigger mode '"+s.mode+"')","x"),setTimeout(e,s.ms)):e()},s.mode){case"timeout":return p();case"scroll":if(!IntersectionObserver)return;return l(s.sel,function(e){return o.log("Will trigger "+h+" on '"+s.sel+"' scroll (trigger mode '"+s.mode+"')","x"),new IntersectionObserver(function(e){return e.some(function(e){return e.isIntersecting})?p():void 0},{threshold:.5}).observe(e)});case"visible":case"not-visible":if(!IntersectionObserver)return;return l(s.sel,function(e){var t,r,n,i;i="visible"===s.mode,r=function(e){return e.some(function(e){return e.isIntersecting===i})?p():void 0};try{n=document.querySelector(s.container)}catch(e){}return n?(t=new IntersectionObserver(r,{root:n,threshold:1}),o.log("Will trigger "+h+" on '"+s.sel+"' visibility (trigger mode '"+s.mode+"')","x"),t.observe(e)):void 0});case"class-has":case"class-not":if(!MutationObserver)return;return o.log("Prerequisite for "+h+" (trigger mode '"+s.mode+"'})","x"),l(s.sel,function(e){var t;return o.log("Will trigger "+h+" on CSS class changes (trigger mode '"+s.mode+"' for '"+s.css_class+"')","x"),t=function(){var t;return t=e.classList.contains(s.css_class),"class-has"===s.mode===t},new MutationObserver(function(e,r){return t()?p():void 0}).observe(e,{attributes:!0,attributeFilter:["class"],childList:!1,subtree:!1})});case"present":case"not-present":if(!MutationObserver)return;try{c=document.querySelector(s.container)}catch(e){}if(!c)return;return o.log("Will trigger "+h+" upon DOM changes (trigger mode '"+s.mode+"')","x"),b=function(){var e,t,r,n;r=c.matches(s.sel)?1:0;try{e=c.querySelectorAll(s.sel).length}catch(t){e=0}return t=r+e>=(null!=(n=s.num)?n:1),"present"===s.mode===t},new MutationObserver(function(e,t){return b()?p():void 0}).observe(c,{childList:!0,subtree:!0});case"js-ev":return o.log("Will trigger "+h+" upon JS event '"+s.js_ev+"'","x"),u(300,100,function(){return i(s.js_obj,window)},function(e){try{return e[s.js_fn](s.js_ev,function(){return o.log("Detected '"+s.js_ev+"' event for "+h,"x"),p()})}catch(e){}});case"dl-ev":if((a=o.r._dl).enabled())return o.log("Will trigger "+h+" on Data Layer event '"+s.dl_ev+"'","x"),a.sub(function(e){var t;return e=null!=(t=e.eventInfo)?t:e,n(s.dl_ev,s.dl_crit,e,a)?p():void 0});break;case"exit-intent":return o.log("Will trigger "+h+" on 'exit-intent'","x"),t.waitForIntent(h,Object.assign({},s,{cb:function(){return o.log("Detected 'exit-intent' for "+h,"x"),p()}}));case"ui-inact":for(_="mousedown mousemove touchstart scroll keydown".split(" "),o.log("Will trigger "+h+" after "+s.ms+" ms of inaction","x"),f=function(e){return o.data["v.uits"]=Date.now()},m={passive:!0},u(1e3,7200,function(){var e;return e=o.data["v.uits"],Date.now()-e>s.ms},function(){var e,t,r,n;for(o.log("No UI action detected for "+s.ms,"x"),p(),r=[],e=0,t=_.length;t>e;e++)n=_[e],r.push(document.removeEventListener(n,f,m));return r}),d=0,g=_.length;g>d;d++)w=_[d],document.addEventListener(w,f,m)}},l=function(e,t){var r,n;return(r=(n=function(){try{return document.querySelector(e)}catch(e){}})())?t(r):MutationObserver?new MutationObserver(function(e,o){return(r=n())?(o.disconnect(),t(r)):void 0}).observe(document,{childList:!0,subtree:!0}):void 0},s}(r)}).call(this);
},{"../../../dom-utils":4,"../../../utils":22,"../../client/exit-intent":12,"../diagrams":16,"../wa-utils":18}],"./modules/wa-await":[function(require,module,exports){
(function(){var e,r,t,o={}.hasOwnProperty;e=(r=require("../diagrams")).M,r.Reapplyer,require("../../../dom-utils").await_selector,t=require("sentinel-js"),exports.m=function(e){function r(){return r.__super__.constructor.apply(this,arguments)}return function(e,r){function t(){this.constructor=e}for(var n in r)o.call(r,n)&&(e[n]=r[n]);t.prototype=r.prototype,e.prototype=new t,e.__super__=r.prototype}(r,e),r.prototype.process=function(e,r,o){var n,u,s,c,i,l,p,a;if(!(e.selectors.length>0))return!1;for(n=0,a=(new Date).getTime(),l=function(){var t;return e.resumed?void 0:(t=(new Date).getTime(),r.log("Selector found ("+p+") after "+(t-a)+" ms","s"),o.resume(e,r),e.resumed=!0)},u=0,s=(i=e.selectors).length;s>u;u++){p=i[u];try{c=null!==document.querySelector(p)}catch(e){}if(r.log("Selector matches? "+(null!=c)+" ("+p+")","x"),c&&!0===e.one)return!1;c||(t.on(p,l),n++)}return n>0},r}(e)}).call(this);
},{"../../../dom-utils":4,"../diagrams":16,"sentinel-js":5}],"./modules/wa-decision":[function(require,module,exports){
(function(){var e,t,r=function(e,t){function r(){this.constructor=e}for(var o in t)n.call(t,o)&&(e[o]=t[o]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},n={}.hasOwnProperty,o=[].indexOf||function(e){for(var t=0,r=this.length;r>t;t++)if(t in this&&this[t]===e)return t;return-1};e=require("../diagrams").M,t=require("../../../dom-utils").await_selector,exports.m=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}var i,s;return r(n,e),n.prototype.active=function(e,t){var r,n,i;return t.qa()&&t.selsOnly()&&!t.selPre(e.agent)?(t.log("Skipping agent '"+e.agent+"' during preview","q"),!1):!(e.qa&&(n=t.qa(),t.log("QA-only agent '"+e.agent+"' (QA visitor? "+n+")","q"),!n))&&(i=t.vstate(),r=o.call(e.vstates,i)>=0,t.log("Agent '"+e.agent+"' used at view-state '"+t.vstate()+"'? "+r,"a"),r)},n.prototype.process=function(e,t,r){return!(!e.await||!i(e,t,r))||(e.js_id&&!s(e,t)?"skip":void 0)},s=function(e,t){var r,n;if(!e.js_id)return!0;try{n=(0,_wa_cjs[e.js_id])()}catch(n){return r=n,t.log("Precondition JS error for Agent '"+e.agent+"': "+r,"e"),!1}return!0===n?(t.log("Precondition JS for Agent '"+e.agent+"' returned true (eligible)","s"),!0):(t.log("Precondition JS for Agent '"+e.agent+"' returned "+n+" (not eligible)","s"),!1)},i=function(e,r,n){var o;return document.querySelector(e.selector)?(r.log("Precondition selector already present ("+e.selector+")","s"),!1):(o=(new Date).getTime(),r.log("Precondition selector not yet present ("+e.selector+")","x"),t(e.selector,function(){var t;return r.pvd[e.agent+"_res"]?void 0:(t=(new Date).getTime()-o,r.log("Precondition selector found ("+e.selector+") after "+t+" ms","s"),e.js_id&&!s(e,r)?"skip":(n.resume(e,r),r.pvd[e.agent+"_res"]=!0))}),!0)},n}(e)}).call(this);
},{"../../../dom-utils":4,"../diagrams":16}],"./modules/wa-entry":[function(require,module,exports){
(function(){var r,t=function(r,t){function n(){this.constructor=r}for(var e in t)o.call(t,e)&&(r[e]=t[e]);return n.prototype=t.prototype,r.prototype=new n,r.__super__=t.prototype,r},o={}.hasOwnProperty;r=require("../diagrams").M,exports.m=function(r){function o(){return o.__super__.constructor.apply(this,arguments)}return t(o,r),o.prototype.active=function(r,t){var o;return!r.mdn_only||"m"===(o=t.mdn())||(t.log("Stopping because 'modern' browser features not available ("+o+")","cf"),!1)},o}(r)}).call(this);
},{"../diagrams":16}],"./modules/wa-goal":[function(require,module,exports){
(function(){var e,t,n,r,o,i,l,a,u=function(e,t){function n(){this.constructor=e}for(var r in t)c.call(t,r)&&(e[r]=t[r]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},c={}.hasOwnProperty,s=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};n=require("../diagrams").M,t=require("../../client/ga").GA,l=require("../../../utils"),i=l.nested,a=l.waitFor,e=l.Conds,o=require("../../../dom-utils").doc_ready,r=require("../wa-utils").dl_eventMsgApplies,exports.m=function(n){function l(){return l.__super__.constructor.apply(this,arguments)}var c,v,g;return u(l,n),l.prototype.active=function(e,t){return!(e.qa&&!t.qa())&&!e._done},l.prototype.process=function(n,l,u){var v,d,f,p,_,h,w;switch(v=function(){var t,r;return!((t=null!=(r=n.ev_conds)?r:[]).length>0)||e.evalConds(t,l,"wa-goal ("+n.goal+" "+n.event+")","g")},p=function(e,t){if(v()){if(l.log(e+" triggered goal "+n.goal,"g"),t)try{n.items[0].items[0].to=t}catch(e){return void e}return u.resume(n,l)}},!1){case"load"!==n.event:o(function(){return p("Page load")});break;case"ga-ev"!==n.event:this.conf["x-ga:wgi"]&&t.init(this.conf),g(document,"ga.conductrics",function(e,r){return"event"===(null!=(r=null!=r?r:e.detail)?r.get("hitType"):void 0)&&t.eventApplies(n,r)?p("GA Event"):void 0});break;case"dl-ev"!==n.event:(d=l.r._dl).enabled()&&(l.log("Goal "+n.goal+" will watch for DL event '"+n.dl_eventName+"'","g"),d.sub(function(e){return r(n.dl_eventName,n.dl_crit,e,d)?p("DL event '"+n.dl_eventName+"'"):void 0}));break;case"js-ev"!==n.event:l.log("Goal "+n.goal+" will watch for JS event '"+n.js_ev+"'","g"),a(300,100,function(){return i(n.js_obj,window)},function(e){try{return e[n.js_fn](n.js_ev,function(){return p("JS Event '"+n.js_ev+"'")})}catch(e){}});break;case"vs"!==n.event:window.addEventListener("ConductricsStateChanged",function(e){var t;return t=e.detail,s.call(n.vs,t)>=0?p("View-state '"+e.detail+"'"):void 0});break;case!(null!=n.eventSelector&&null!=n.event):h=this,f=null!=(_=n.events)?_:n.event,w=void 0,l.log("Goal "+n.goal+" will watch for DOM event '"+f+"' on '"+n.eventSelector+"'","g"),c(document,f,n.eventSelector,n.sel_i,n.sel_n,n.evuc,function(e){var t,r,o,i;if(f.indexOf(" ")){if(o=(new Date).getTime(),w>=o)return void l.log(e.type+" too soon for goal "+n.goal,"g");w=o+100}return l.log(e.type+" from '"+n.eventSelector+"' triggered goal "+n.goal,"g"),n.gpa?(r=h.conf["wa:gpa-att"],(t=h.closest(e.target,"["+r+"]"))?p("DOM event '"+e.type+"'",null!=(i=t.getAttribute(r))?i.split(" "):void 0):void 0):p("DOM event '"+e.type+"'")});break;default:l.log("Unknown trigger for "+n.goal,"g")}return n._done=!0,!0},g=function(e,t,n){return e.addEventListener(t,n)},c=function(e,t,n,r,o,i,l){var a,u,c,s,g;for(null==i&&(i=!1),g=[],u=0,c=(s=t.split(" ")).length;c>u;u++)a=s[u],g.push(e.addEventListener(a,function(t){return v(e,n,t.target,r,o)?(i||t.stopPropagation(),l(t)):void 0},i));return g},v=function(e,t,n,r,o){var i,l,a,u,c;null==r&&(r=0),null==o&&(o=9999);try{for(c=e.querySelectorAll(t),l=a=0,u=c.length;u>a;l=++a)if(i=c[l],l>=r&&r+o>l&&i.contains(n))return!0}catch(e){}return!1},function(e,t,n,r){var o,i;i=0,(o=function(){var l;return i++,(l=n())?r(l):i>=t?void 0:setTimeout(o,e)})()},l}(n)}).call(this);
},{"../../../dom-utils":4,"../../../utils":22,"../../client/ga":13,"../diagrams":16,"../wa-utils":18}],"./modules/wa-pre-un":[function(require,module,exports){
(function(){var t,r=function(t,r){function n(){this.constructor=t}for(var o in r)e.call(r,o)&&(t[o]=r[o]);return n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype,t},e={}.hasOwnProperty;t=require("../diagrams").M,exports.m=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.active=function(t,r){var e;switch(e=r.selHas(t.agent),!1){case!t.exists:return e;case!!e:return!0;case!t.qa:return!1===r.qa();default:return!1}},e.prototype.process=function(t,r){var e,n,o,u,a;for(a="style.__c-pre-"+t.agent,n=0,o=(u=document.querySelectorAll(a)).length;o>n;n++)e=u[n],r.log("un-pre-hiding for "+t.agent,"x"),e.disabled=!0},e}(t)}).call(this);
},{"../diagrams":16}],"./modules/wa-reward":[function(require,module,exports){
(function(){var e,t,r=function(e,t){function r(){this.constructor=e}for(var o in t)n.call(t,o)&&(e[o]=t[o]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},n={}.hasOwnProperty;e=require("../diagrams").M,exports.m=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return r(n,e),n.prototype.process=function(e,t){var r,n,o,u,l,c;for(c=this.val(e,t),r=0,n=(u=e.items).length;n>r;r++)"reward"===(o=u[r]).module&&(l=o);null!=l?(l.value=c,e.forex&&(l.vc=this.cur(e,t))):e.items=[]},n.prototype.val=function(e,r){var n,o,u,l,c;return u=null!=(o=e.valueSelector)?o:"",l=function(){var o,l;switch(e.valueSelectorType){case"dl":if((n=r.r._dl).enabled())return c=function(e,r){var o,u;return u=n.get(r.trim())+"",e+(null!=(o=t(u))?o:0)},u.split("+").reduce(c,0);break;case"dom":return null!=(o=document.querySelector(u))?o.textContent:void 0;case"meta":return null!=(l=document.querySelector("meta[name='"+u+"']"))?l.content:void 0;default:return""}}(),t(l)},n.prototype.cur=function(e,t){var r,n,o,u;return o=null!=(n=e.currSelector)?n:"",null!=(u=function(){var n,u;switch(e.currSelectorType){case"dl":if((r=t.r._dl).enabled())return r.get(o);break;case"dom":return null!=(n=document.querySelector(o))?n.textContent:void 0;case"meta":return null!=(u=document.querySelector("meta[name='"+o+"']"))?u.content:void 0}}())?(""+u).trim().toUpperCase():void 0},n}(e),t=function(e){var t;return"number"==typeof e?e:(null!=e?e.length:void 0)>0?(t=parseFloat(parseFloat(e.replace(/[^0-9. ]/g," ")).toFixed(2)),isFinite(t)?t:null):null}}).call(this);
},{"../diagrams":16}],"./modules/wa-script":[function(require,module,exports){
(function(){var t,n,r,e,o,i,c=function(t,n){function r(){this.constructor=t}for(var e in n)u.call(n,e)&&(t[e]=n[e]);return r.prototype=n.prototype,t.prototype=new r,t.__super__=n.prototype,t},u={}.hasOwnProperty,s=function(t,n){return function(){return t.apply(n,arguments)}},l=[].indexOf||function(t){for(var n=0,r=this.length;r>n;n++)if(n in this&&this[n]===t)return n;return-1};n=(i=require("../diagrams")).M,r=i.Reapplyer,e=require("./wa-script-reg").ScriptReg,exports.m=function(n){function i(){return i.__super__.constructor.apply(this,arguments)}var u;return c(i,n),i.prototype.process=function(t,n,r){var o;return t.ext?(n.log("Loading "+t.id,"s"),(null!=(o=window.Conductrics).reg?o.reg:o.reg=new e).load(t.id,function(e){return n.log("Loaded "+t.id,"s"),u(t,n,r)})):u(t,n,r),t.confirm},u=function(n,e,i){var c,u,s,l,f,a,p,d,m;p=!0===n.confirm,u=n.agent,c=function(t,n){return e.log("Custom script "+t+" for agent '"+u+"'",null!=n?n:"s")},s=new o(e.tr(),n.types),Object.assign(s,{agent:n.agent,sel:function(){var t;return(t=e.data["v.sels"][n.agent])?{c:t.c,p:t.p}:null}});try{"function"!=typeof(f=_wa_cjs[n.id])&&(c("empty"),f=t),(l=function(){var t,r;return c(""+(null!=(t=n.id)?t:"")),f(s),p?(r=function(){var t;return!1===(t=s.confirmed())?(c("called confirm(false)"),e.keep()):t?n.resumed?c("re-confirmed selection"):(c("confirmed selection"),i.resume(n,e),n.resumed=!0):c("declined to confirm")},null!=s._ok?r():s.on_confirm=r):void 0})()}catch(t){c("error: "+t,"e"),n.items&&(n.items=n.items.filter(function(t){return"decision"!==t.module}))}try{n.watch&&(d=null!=(a=n.watch_sel)?a:n.selector,(m=document.querySelectorAll(d)).length>0&&new r(l,m,null,n["ra-max"]).start())}catch(t){}},function(t,n){var r;return(null!=(r=window.Conductrics).reg?r.reg:r.reg=new e).load(t.id,n)},i}(n),t=function(){},o=function(){function t(t,n){this.tr=t,this.ok=n,this.confirm=s(this.confirm,this)}return t.prototype.trait=function(t){var n,r,e,o,i,c;if(null==t&&(t=""),l.call(t,"/")<0&&(t="cust/"+t),l.call(this.ok,t)<0)return"";for(n=0,r=(e=this.tr).length;r>n;n++)if(c=(o=e[n].split(":"))[0],i=o[1],c===t)return i;return""},t.prototype.confirm=function(t){return this._ok=t,"function"==typeof this.on_confirm?this.on_confirm(t):void 0},t.prototype.confirmed=function(){return this._ok},t}()}).call(this);
},{"../diagrams":16,"./wa-script-reg":17}],"./modules/wa-start":[function(require,module,exports){
arguments[4]["./modules/condition"][0].apply(exports,arguments)
},{"../diagrams":16,"dup":"./modules/condition"}],"./modules/wa-survey-show":[function(require,module,exports){
(function(){var e,t,n,r,i,s,u,o,a,l={}.hasOwnProperty,d=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};t=require("../diagrams").M,o=require("../../../utils"),e=o.Conds,i=o.Strings,s=o.arrayFrom,u=require("../../../dom-utils").doc_ready,r=require("./wa-script-reg").ScriptReg;try{a=require("tinybind")}catch(e){}try{n=require("../../../lib/micromodal.min.js")}catch(e){}exports.m=function(t){function o(){return o.__super__.constructor.apply(this,arguments)}return function(e,t){function n(){this.constructor=e}for(var r in t)l.call(t,r)&&(e[r]=t[r]);n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype}(o,t),o.prototype.process=function(t,o,l){var c,f,v,g,p,h,b,m,y,_;return _=t.survey,p=(m=this).isId,f=m.closest,v=m.getStyleNonce,o.log("Survey: Show '"+_.code+"' via agent '"+t.agent+"' (CSP)","x"),!(y=this.getNodes(t).find(function(e){return"wa-survey-submit"===e.module}))||(g=function(){return document.getElementById(t.dom_id)},b=function(e,t){var n,i,s;return e?(s=null!=(n=window.Conductrics).reg?n.reg:n.reg=new r,i=_.code+"/"+e,o.log("Loading language '"+e+"' for survey '"+_.code+"'","s"),s.load_lang(i,function(n){return o.log("Loaded '"+e+"' for survey '"+_.code+"'","s"),t(n)})):(o.log("No language for survey '"+_.code+"'","s"),t())},h=function(e){var t,n,r;if(null==e&&(e=[]),!e.length)return null;r=o.data["v.lang"];try{n=new Intl.Locale(r)}catch(e){}return(null!=n?n.language:void 0)?(t=[n.language+"-"+n.region,""+n.language,n.language+"-"+n.language],e=e.map(function(e){return e.toLowerCase()}),t.find(function(t){return e.includes(t.toLowerCase())})):null}(_.langs),c=t.values,u(function(){return b(h,function(r){var u,b,m,S,x;return m={agent:t.agent,survey:_.code,values:Object.assign({},c),focus:{},status:"init",step:0,visible:{},stepNextVisible:!1,stepNextEnabled:!1,stepPrevVisible:!1,stepPrevEnabled:!1,buttonsVisible:!0,submitVisible:!1,submitEnabled:!1,farewellVisible:!1,lang_code:h,init:function(){this.status="init",this._stepSet(0),0===this.visible.length&&this.stepNext(),Object.assign(t.values,this._getValuesFromPage()),this.randomizeAnswers(),o.qs=this,this.status="show",this._onChange(),this.applyLang(r),(t.modal||t.focus_first)&&this.focusFirstInput()},applyLang:function(e){return null==e&&(e={}),Object.keys(e).forEach(function(t){var n;return(n=document.querySelector("[data-lang-text='"+t+"']"))&&(n.innerText=e[t]),(n=document.querySelector("[data-lang-label='"+t+"']"))?n.setAttribute("aria-label",e[t]):void 0})},randomizeAnswers:function(){document.querySelectorAll(".c-q-has-random-items[data-rand-from][data-rand-thru]").forEach(function(e){var t,n,r;return n=parseInt(e.getAttribute("data-rand-from")),r=parseInt(e.getAttribute("data-rand-thru")),(t=s(e.querySelectorAll(".c-q-field-option")).map(function(e,t){return{el:e,order:function(){switch(!1){case!(t>=n&&r>=t):return Math.floor(1e3*Math.random());case!(t>=r):return 9999;default:return-1}}()}})).sort(function(e,t){return e.order-t.order}),t.forEach(function(t){return e.appendChild(t.el)})})},stepNext:function(){return m.stepNextEnabled?(m._stepSet(m._getNextStepIndex()),m.focusFirstInput()):void 0},stepPrev:function(){return m.stepPrevEnabled?(m._stepSet(m._getPrevStepIndex()),m.focusFirstInput()):void 0},_stepSet:function(e,n){e>=0&&e<t.steps.length&&(this.step=e,this._onChange(),o.log("Survey: Now at step "+(e+1)+" of "+t.steps.length,"x"))},_getValuesFromPage:function(){var e,n,r,s,u,a;for(n in u={},s=t.fields)(e=s[n]).readFrom&&(r=i.interpolate(e.readFrom,o.data),null!=(a=function(){switch(typeof r){case"string":return r.slice(0,300);case"number":if(isFinite(val)&&!isNaN(val))return r;break;case"object":if(Array.isArray(r))return r.join(",").slice(0,300);break;default:return null}}())&&(o.log("Survey: found value '"+a+"' for survey response field '"+n+"'","x"),this.values[n]=a));return u},_getNextStepIndex:function(){return t.steps.findIndex((e=this,function(t,n){return n>e.step?e._fieldsForStep(n,!0).length>0:void 0}));var e},_getPrevStepIndex:function(){return t.steps.findLastIndex((e=this,function(t,n){return n<e.step?e._fieldsForStep(n,!0).length>0:void 0}));var e},onFieldValue:function(e){var t;return t=e.target.getAttribute("data-field"),m._onFieldValueChanged(t)},_onFieldValueChanged:function(e){return o.log("Survey: Question '"+e+"' now has value: "+m.values[e]+" ("+typeof m.values[e]+")","x"),m._onChange(),m._textFieldUpdateCharsMsg(e),d.call(t.auto_submit,e)>=0&&m.isValid()?m.surveySubmit():void 0},_textFieldUpdateCharsMsg:function(e){var n,r,i,s,u,o,a;return(i=null!=(o=t.fields[e])?o:{}).chars_max>0&&"string"==typeof m.values[e]&&g().querySelector("textarea")&&(n=g().querySelector("#c-q-field-id-"+e+"-chars-str"))?(u=m.values[e].length,r=i.chars_max-u,u>0?(s=null!=(a=n.getAttribute("data-chars-str"))?a:"",n.querySelector("span").textContent=s.replace("%n",u).replace("%m",i.chars_max).replace("%r",r)):void(n.querySelector("span").textContent="")):void 0},onFieldFocus:function(e){var t;return t=e.target.getAttribute("data-field"),m.focus[t]=!0,!0},onFieldBlur:function(e){var t;return t=e.target.getAttribute("data-field"),m.focus[t]=!1,!0},_onChange:function(){var n,r,i,s,u,a,l;return l=m.step,s=t.steps.length>1,i=-1===m._getNextStepIndex(),u=m.isStepValid(l),n=m._fieldsForStep(l,!0),r=n.filter(function(t){var n;return!((n=_.fields.find(function(e){return e.code===t}))&&n.conds&&n.conds.length)||e.evalConds(n.conds,o,"Survey")}),Object.keys(m.visible).forEach(function(e){return d.call(r,e)<0?m.visible[e]=!1:void 0}),r.forEach(function(e){return m.visible[e]=!0}),m.submitVisible=i,m.submitEnabled=m.submitVisible&&u&&m.isValid(),m.stepNextVisible=s&&!m.submitVisible&&!i,m.stepNextEnabled=m.stepNextVisible&&u,a=m._getPrevStepIndex(),m.stepPrevVisible=s&&m.step>0&&a>-1&&a<m.step,m.stepPrevEnabled=m.stepPrevVisible},isValid:function(){return!0},isStepValid:function(e){var n,r,i,s,u;for(i=0,s=(r=this._fieldsForStep(e,!0)).length;s>i;i++)if(n=r[i],t.fields[n].required)if(u=this.values[n],Array.isArray(u)){if(!(u.length>0))return!1}else if(null==u||""===u)return!1;return!0},surveySubmit:function(){return m.isValid()?(o.log("Visitor submitted survey","x"),m.status="submit",m._submit(),_.options.farewell?(m.visible=[],m.buttonsVisible=!1,m.farewellVisible=!0):m.hide()):void o.log("Survey input failed validation","x")},surveyClose:function(e){null==e&&(e=!1),o.log("Visitor closed survey","x"),_.options.send_on_close&&"show"===m.status?(m.status="close",m._submit(),m.hide(e)):m.hide(e)},_submit:function(){y.model=this,l.resume(t,o)},getValues:function(){var e,n,r,i,s,u,o,a,l,d;for(l=function(){switch(this.status){case"close":return this.step-1;case"submit":return this.step;default:return-1}}.call(this),d={},a=n=0,i=(u=t.steps).length;i>n;a=++n)if(u[a],l>=a)for(r=0,s=(o=this._fieldsForStep(a,!0)).length;s>r;r++)e=o[r],this._isFieldSilent(e)||(d[e]=this.getFieldValue(e));return d},_isFieldSilent:function(e){var n;return(null!=(n=t.fields[e])?n:{}).silent},isFieldDlEnabled:function(e){var n;return(null!=(n=t.fields[e])?n:{}).dl&&!this._isFieldSilent(e)},getFieldValue:function(e){var n,r,i;return n=null!=(i=t.fields[e])?i:{},r=this.values[e],n.numeric&&"string"==typeof r&&!isNaN(+r)&&(r=+r),r},answer:function(e){var t,n,r,i;e&&2===e.eventPhase&&(n=f(e.target,"[data-c-q-answer]"))&&(r=(i=n.getAttribute("data-c-q-answer").split(" "))[0],t=i[1],p(r)&&p(t)&&(m.values[r]=t,m._onFieldValueChanged(r)))},hide:function(e){var r;return null==e&&(e=!1),t.modal?!0!==e&&n.close(t.dom_id):null!=(r=document.getElementById(t.dom_id))&&r.classList.add("c-q-submitted"),setTimeout(function(){var n,r,i;return null!=(r=document.getElementById(t.dom_id))&&r.remove(),o.qs===this&&(o.qs=null),e&&(n=document.querySelector(".c-q.modal [data-micromodal-close]"))&&(null!=(i=n.querySelector(":focus"))&&i.blur(),n.remove()),document.querySelectorAll("style.c-q-theme-style[data-survey='"+_.code+"']").forEach(function(e){return e.remove()})},t.exit_ms)},_fieldsForStep:function(n,r){var i,s,u;return i=null!=(s=null!=(u=t.steps[n])?u.fields:void 0)?s:[],!0===r&&(i=i.filter(function(t){var n;return!((n=_.fields.find(function(e){return e.code===t}))&&n.conds&&n.conds.length)||e.evalConds(n.conds,o,"Survey")})),i},_getFocusableNodes:function(e){var t,n,r,i,u;return(u=g())?(t=m._fieldsForStep(m.step,!0),r=":not([disabled]):not([tabindex^='-'])",i=t.map(function(e){return[".c-q-field[data-field='"+e+"'] input"+r,".c-q-field[data-field='"+e+"'] select"+r,".c-q-field[data-field='"+e+"'] textarea"+r].join(",")}).concat("button"),n=s(u.querySelectorAll(i)),e&&(n=n.filter(function(e){return null!==e.offsetParent||parseInt(e.getAttribute("tabindex"))>=0})),n):[]},focusFirstInput:function(){var e,t;t=m._getFocusableNodes(!0),(e=t[0])&&setTimeout(function(){return e.focus()},250)}},(u=document.querySelector(t.selector))?(b=""+t.markup,b=(S=v())?b.replace(/data-c-q-style-nonce/g," nonce='"+S+"'"):b.replace(/data-c-q-style-nonce/g,""),u.insertAdjacentHTML(t.adjacency,b),a.formatters.number={read:function(e){return(+e).toFixed(0)},publish:function(e){return parseInt(e)}},a.binders.checkedvals={bind:function(e){return this.callback=function(){var t,n,r,i;return n=e.getAttribute("data-field"),i=m.values[n],Array.isArray(i)?(t=e.getAttribute("value"),e.checked?i.push(t):(r=i.indexOf(t))?i.splice(r,1):void 0):void 0},e.addEventListener("click",this.callback)},unbind:function(e){return e.removeEventListener(e,this.callback)}},a.binders.tabindex=function(e,t){var n;return n=!0===t||""===t?0:-1,e.setAttribute("tabindex",n)},a.binders.tabindexval=function(e,t){var n,r,i;return r=e.getAttribute("data-option-value"),n=e.getAttribute("data-field"),i=r===t&&m.visible[n]?0:-1,e.setAttribute("tabindex",i)},a.binders.ariachecked=function(e,t){var n;return n=e.getAttribute("data-option-value"),e.setAttribute("aria-checked",n===t)},a.binders.classunfilled=function(e,t){return t?e.classList.add("c-q-radio-group-unfilled"):e.classList.remove("c-q-radio-group-unfilled")},g=function(){return document.getElementById(t.dom_id)},function(e){return g().querySelector("#c-q-field-id-"+e)},m.init(),x=g(),a.bind(x,m),document.querySelectorAll("style.c-q-theme-style[data-survey='"+_.code+"']").forEach(function(e){return e.setAttribute("media","all")}),t.modal?(n.show(t.dom_id,{awaitOpenAnimation:!0,awaitCloseAnimation:!0,getFocusableNodes:function(){return m._getFocusableNodes()},onClose:function(){return m.surveyClose(!0)}}),document.querySelector(".c-q-modal-container").addEventListener("click",function(e){return e.stopPropagation()})):void 0):(o.log("No container for survey '"+_.code+"' using selector '"+t.selector+"'","x"),!0)})}),!0)},o}(t)}).call(this);
},{"../../../dom-utils":4,"../../../lib/micromodal.min.js":"/opt/mpath/api/bin/lib/micromodal.min.js","../../../utils":22,"../diagrams":16,"./wa-script-reg":17,"tinybind":"tinybind"}],"./modules/wa-survey-submit":[function(require,module,exports){
(function(){var e,r,t,n,s=function(e,r){function t(){this.constructor=e}for(var n in r)a.call(r,n)&&(e[n]=r[n]);return t.prototype=r.prototype,e.prototype=new t,e.__super__=r.prototype,e},a={}.hasOwnProperty;r=require("../diagrams").M,e=require("../../../utils").Dates,exports.m=function(r){function a(){return a.__super__.constructor.apply(this,arguments)}return s(a,r),a.prototype.process=function(r,s,a){var o,l,conf,u,i,c,d,p,f,y,v,h,m,g,_,w,b,S,x,A,P,q;if(h=r.model,conf=this.conf,null!=h)if(h.isValid())if(w=s.selGet(h.agent))if(A=h.getValues(),Object.keys(A).length>0){for(p in b={t:"qs",rid:"qs-"+e.stamp()+"-"+n(10),s:r.survey_code,v:A,a:w.a,c:w.c,fs:w.fs,p:w.p,dts:w.dts,aa:{},ev:"close"===h.status?"x":"s",lang:h.lang_code},s.dnt()&&"allow"===r.dnt&&Object.defineProperty(b,"_dnt",{value:r.dnt,enumerable:!1,writable:!1}),g=r.value_trait_map)S=g[p],(x=h.values[p])&&(Array.isArray(x)?x.forEach(function(e){return s.tAdd(S+":"+e,"surv")}):s.tAdd(S+":"+x,"surv"));for(f=0,v=(_=r.assoc).length;v>f;f++)o=_[f],(l=s.selGet(o))&&(b.aa[o]={c:l.c,p:l.p});r.keepUrl&&(b.url=function(){try{return window.location.href.split("?")[0]}catch(e){}}(),r.keepUrlParams&&"undefined"!=typeof URLSearchParams&&null!==URLSearchParams&&(m=new URLSearchParams(window.location.search),q=new URLSearchParams,r.keepUrlParams.filter(function(e){return m.has(e)}).forEach(function(e){return q.set(e,m.get(e))}),q.size>0&&(b.url+="?"+q))),s.log("Submitting survey response item: "+JSON.stringify(b),"x"),s.done(b),h.status="done",r.submit_vstate&&(P=new CustomEvent("ConductricsStateChange",{detail:r.submit_vstate}),window.dispatchEvent(P)),!0===conf["dl:sr"]&&(i=conf["dl:qs-style"],d=conf["dl:qs-cust"],c=t(r,b,i,d),(u=s.r._dl).enabled()&&(s.log("Pushing survey response item into Analytics Data Layer","x"),y="cust"===i?null:conf["dl:key-sr"],u.push(y,c)),conf["dl:cdl"]&&(s.log("Pushing survey response item into Simple Data Layer","x"),s.cdl_push(c)))}else s.log("Survey response empty, abort","x");else s.log("Survey selection missing, abort","x");else s.log("Survey failed validation, abort","x");else s.log("Survey data model missing, abort","x")},a}(r),t=function(e,r,t,n){var s,a,o,l,u,i,c,d,p;for(l in c=e.model.agent,s=[],o=function(r){var t;return null!=(t=e.q_names[r])?t:r},a=function(r,t){var n;return null!=(n=e.q_vals[r+":"+t])?n:t},i=r.v)p=i[l],e.model.isFieldDlEnabled(l)&&(Array.isArray(p)?p.forEach(function(e){return s.push({Q:o(l),A:a(l,e)})}):s.push({Q:o(l),A:a(l,p)}));return function(){switch(t){case"cust":return u=null!=n?n:"{}",d={response_id:r.rid,survey_code:c,survey_name:o("."),lang:r.lang,answers:s},Object.keys(d).forEach(function(e){var r;return u=u.replaceAll('"${'+e+'}"',JSON.stringify(null!=(r=d[e])?r:""))}),function(){try{return JSON.parse(u)}catch(e){}}();default:return{item:{t:"qs",rid:r.rid,survey:c,survey_name:o("."),answers:s,lang:r.lang},ep:"wax"}}}()},n=function(e,r){var t;return null==r&&(r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"),function(){t=[];for(var r=0;e>=0?e>r:r>e;e>=0?r++:r--)t.push(r);return t}.apply(this).map(function(){return r[Math.floor(Math.random()*r.length)]}).join("")}}).call(this);
},{"../../../utils":22,"../diagrams":16}],"./modules/wa-survey":[function(require,module,exports){
(function(){var e,r=function(e,r){function o(){this.constructor=e}for(var n in r)t.call(r,n)&&(e[n]=r[n]);return o.prototype=r.prototype,e.prototype=new o,e.__super__=r.prototype,e},t={}.hasOwnProperty;e=require("../diagrams").M,exports.m=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return r(t,e),t.prototype.active=function(e,r){var t;if(r.dnt()){if("allow"!==e.dnt)return r.log("Survey: Not showing survey '"+e.survey_code+"' due to Do-Not-Track (DNT) preference","e"),!1;r.log("Survey: Ignoring DNT status for Survey '"+e.survey_code+"' due to survey-level setting","e")}return null!=document.querySelector(".c-q-survey")?(r.log("Survey: Not showing '"+e.survey_code+"' because there is already a survey present in the DOM","x"),!1):(t=r.rwdCnt(e.sel_g,e.agent))>=e.countMax?r.qa()?(r.log("Showing survey for QA Visitor, even though already offered "+t+"x for agent '"+e.agent+"'","q"),!0):(r.log("Survey already offered "+t+"x for agent '"+e.agent+"'","x"),!1):(r.log("Prior-offer count for Survey #agent '"+e.agent+"': "+t,"x"),!0)},t}(e)}).call(this);
},{"../diagrams":16}],"./plugins/cust":[function(require,module,exports){
(function(){var t,n=function(t,n){function r(){this.constructor=t}for(var e in n)o.call(n,e)&&(t[e]=n[e]);return r.prototype=n.prototype,t.prototype=new r,t.__super__=n.prototype,t},o={}.hasOwnProperty;t=require("../targeting"),exports.p=function(t){function o(conf){this.conf=conf}return n(o,t),o.ns="cust",o.modes=["b"],o.sync=!0,o.prototype.resolve=function(t,n,o,r){return r(!1,null)},o}(t.Plugin)}).call(this);
},{"../targeting":21}],"./plugins/dt":[function(require,module,exports){
(function(){var t,r,o=function(t,r){function o(){this.constructor=t}for(var e in r)n.call(r,e)&&(t[e]=r[e]);return o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype,t},n={}.hasOwnProperty;t=require("../targeting"),r=require("../dt-resolve")._resolve,exports.p=function(t){function n(conf){this.conf=conf}return o(n,t),n.ns="dt",n.modes=["s","b"],n.sync=!0,n.prototype.ttl=function(t){return 60},n.prototype.resolve=function(t,o,n,e){return e(!1,r(o,t.ts(),t.data["v.tzo"]))},n}(t.Plugin)}).call(this);
},{"../dt-resolve":19,"../targeting":21}],"./plugins/geo":[function(require,module,exports){
(function(){var t,n=function(t,n){function r(){this.constructor=t}for(var e in n)o.call(n,e)&&(t[e]=n[e]);return r.prototype=n.prototype,t.prototype=new r,t.__super__=n.prototype,t},o={}.hasOwnProperty;t=require("../targeting"),exports.p=function(t){function o(conf){this.conf=conf}return n(o,t),o.ns="geo",o.modes=["b","s"],o.sync=!0,o.prototype.resolve=function(t,n,o,r){return r(!1,null)},o}(t.Plugin)}).call(this);
},{"../targeting":21}],"./plugins/rand":[function(require,module,exports){
(function(){var t,r=function(t,r){function o(){this.constructor=t}for(var e in r)n.call(r,e)&&(t[e]=r[e]);return o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype,t},n={}.hasOwnProperty;t=require("../targeting"),exports.p=function(t){function n(conf){this.conf=conf}return r(n,t),n.ns="rdm",n.modes=["b","s"],n.sync=!0,n.prototype.ttl=function(t){return 31536e3},n.prototype.resolve=function(t,r,n,o){return o(!1,function(){switch(r){case"r100":return this.rand(100)}}.call(this))},n.prototype.rand=function(t){return Math.floor(Math.random()*t)+1},n}(t.Plugin)}).call(this);
},{"../targeting":21}],"./plugins/ua":[function(require,module,exports){
(function(){var e,r,n,t=function(e,r){function n(){this.constructor=e}for(var t in r)a.call(r,t)&&(e[t]=r[t]);return n.prototype=r.prototype,e.prototype=new n,e.__super__=r.prototype,e},a={}.hasOwnProperty;r=require("ua-parser-js"),e=require("../targeting"),n={},exports.p=function(e){function a(conf){this.conf=conf}var o,s,u,i;return t(a,e),a.ns="ua",a.modes=["s","b"],a.sync=!0,a.UA_CACHE={},a.prototype.ttl=function(e){return 0},i=function(e){return"os"===e||"br"===e||"dv"===e||"mo"===e},u=function(){return"object"==typeof window&&"ontouchstart"in window},s=function(e){var r,n;return null!=(r=e.data["v.ua"])?r:null!=(n=e.r)?n.ua:void 0},o=function(e,t){var a,o;return n[a="ua:"+t]?n[a]:(o=new r(t).getResult(),n[a]=Object.assign({},o),o)},a.prototype.resolve=function(e,r,n,t){var a,c,d;if(i(r)){if("string"!=typeof(d=s(e)))return t(!1);c=o(0,d)}return t(!1,function(){switch(r){case"os":switch(c.os.name){case"Android":return"a";case"iOS":return"i";case"Mac OS":return"m";case"Windows":case"Windows Phone":case"Windows Mobile":return"w";default:return"o"}break;case"br":switch(c.browser.name){case"Chrome":return"c";case"Firefox":return"f";case"Safari":case"Mobile Safari":return"s";case"IE":case"IEMobile":case"Edge":return"i";default:return"o"}break;case"dv":switch(c.device.type){case"mobile":return"m";case"tablet":return"t";case void 0:case null:case"":return"d";default:return"o"}break;case"mo":switch(c.device.type){case"mobile":case"tablet":return"m";default:return"n"}break;case"vi":return e.mdn();case"wi":return a="undefined"!=typeof window&&null!==window?window.innerWidth:void 0;case"wb":switch(a="undefined"!=typeof window&&null!==window?window.innerWidth:void 0,!1){case!(a>=1400):return"xxl";case!(a>=1200):return"xl";case!(a>=992):return"lg";case!(a>=768):return"md";case!(a>=576):return"sm";case!(576>a):return"xs"}break;case"te":return u()?"t":"n";case"ag":return s(e)}}())},a}(e.Plugin)}).call(this);
},{"../targeting":21,"ua-parser-js":8}],"./plugins/x-gcp-bq":[function(require,module,exports){
(function(){var t,r=function(t,r){function o(){this.constructor=t}for(var e in r)n.call(r,e)&&(t[e]=r[e]);return o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype,t},n={}.hasOwnProperty;t=require("../targeting"),exports.p=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return r(n,t),n.ns="x-gcp-bq",n.modes=["b","s"],n.sync=!0,n.prototype.active=function(t){return null!=t.data["v.vid"]},n.prototype.resolve=function(t,r,n,o){return o(!1,null)},n}(t.Plugin)}).call(this);
},{"../targeting":21}],1:[function(require,module,exports){
(function(){exports.Bots=function(){function t(conf){this.conf=conf}var n;return t.prototype.detect=function(t){var o,e,i,r;if(!((null!=t?t.length:void 0)>0))return null;for(t=t.toLowerCase(),o=0,e=(i=n.concat(this.conf["bots:cust"])).length;e>o;o++)if(r=i[o],t.indexOf(r)>=0)return r;return null},n=["bot","spider","crawler","search","track","ping","monitor","google","twitter","yahoo","bing","akamai","y!j","mozilla/5.0 (compatible; msie 10.0; windows nt 6.1; wow64; trident/6.0)","synthetic","waitfor","delay","sleep"],t}()}).call(this);
},{}],2:[function(require,module,exports){
(function(){var n;n=exports,require("./data"),n.merged=function(n){return null==n&&(n=[]),_d.conf}}).call(this);
},{"./data":3}],3:[function(require,module,exports){
(function(){var c,t;if("string"==typeof _d)try{t=require,c=t("jsonpack"),_d=c.unpack(_d)}catch(a){}}).call(this);

},{}],4:[function(require,module,exports){
(function(){exports.doc_ready=function(e){return(document.attachEvent?"complete"===document.readyState:"loading"!==document.readyState)?e():document.addEventListener("DOMContentLoaded",e)},exports.await_selector=function(e,t){var o,n;try{o=document.querySelector(e)}catch(e){return}return o?t():(n=new MutationObserver(function(){return document.querySelector(e)?(n.disconnect(),t()):void 0})).observe(document,{childList:!0,subtree:!0})},exports.cookie_get=function(e){try{return decodeURIComponent(document.cookie.replace(RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null}catch(e){}},exports.cookie_set=function(e,t,o,n){var c;try{return null==o&&(o=_d.conf["a:session-ttl-secs"]),null==n&&(n=null!=(c=_d.conf["js:cook-dom"])?c:document.location.hostname.split(".").slice(-2).join(".")),document.cookie=e+"="+encodeURIComponent(t)+"; max-age="+o+"; domain="+n+"; path=/"}catch(e){}}}).call(this);
},{}],"/opt/mpath/api/bin/lib/micromodal.min.js":[function(require,module,exports){
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).MicroModal=t()}(this,function(){"use strict";function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function t(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}var n,i,a,r,s,l=(n=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])'],i=function(){function o(e){var n=e.targetModal,i=e.triggers,a=void 0===i?[]:i,r=e.onShow,s=void 0===r?function(){}:r,l=e.onClose,c=void 0===l?function(){}:l,d=e.openTrigger,u=void 0===d?"data-micromodal-trigger":d,f=e.closeTrigger,h=void 0===f?"data-micromodal-close":f,g=e.openClass,v=void 0===g?"is-open":g,m=e.disableScroll,b=void 0!==m&&m,y=e.disableFocus,p=void 0!==y&&y,w=e.awaitCloseAnimation,E=void 0!==w&&w,k=e.awaitOpenAnimation,M=void 0!==k&&k,A=e.getFocusableNodes,C=void 0===A?null:A,L=e.debugMode,T=void 0!==L&&L;!function(e,t){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this),this.modal=document.getElementById(n),this.config={debugMode:T,disableScroll:b,openTrigger:u,closeTrigger:h,openClass:v,onShow:s,onClose:c,awaitCloseAnimation:E,awaitOpenAnimation:M,disableFocus:p,getFocusableNodes:C},a.length>0&&this.registerTriggers.apply(this,t(a)),this.onClick=this.onClick.bind(this),this.onKeydown=this.onKeydown.bind(this)}var i,a;return i=o,(a=[{key:"registerTriggers",value:function(){for(var e=this,t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];o.filter(Boolean).forEach(function(t){t.addEventListener("click",function(t){return e.showModal(t)})})}},{key:"showModal",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(this.activeElement=document.activeElement,this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),this.scrollBehaviour("disable"),this.addEventListeners(),this.config.awaitOpenAnimation){this.modal.addEventListener("animationend",function t(){e.modal.removeEventListener("animationend",t,!1),e.setFocusToFirstNode()},!1)}else this.setFocusToFirstNode();this.config.onShow(this.modal,this.activeElement,t)}},{key:"closeModal",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.modal;if(this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),this.scrollBehaviour("enable"),this.activeElement&&this.activeElement.focus&&this.activeElement.focus(),this.config.onClose(this.modal,this.activeElement,e),this.config.awaitCloseAnimation){var o=this.config.openClass;this.modal.addEventListener("animationend",function e(){t.classList.remove(o),t.removeEventListener("animationend",e,!1)},!1)}else t.classList.remove(this.config.openClass)}},{key:"closeModalById",value:function(e){this.modal=document.getElementById(e),this.modal&&this.closeModal()}},{key:"scrollBehaviour",value:function(e){if(this.config.disableScroll){var t=document.querySelector("body");switch(e){case"enable":Object.assign(t.style,{overflow:""});break;case"disable":Object.assign(t.style,{overflow:"hidden"})}}}},{key:"addEventListeners",value:function(){this.modal.addEventListener("touchstart",this.onClick),this.modal.addEventListener("click",this.onClick),document.addEventListener("keydown",this.onKeydown)}},{key:"removeEventListeners",value:function(){this.modal.removeEventListener("touchstart",this.onClick),this.modal.removeEventListener("click",this.onClick),document.removeEventListener("keydown",this.onKeydown)}},{key:"onClick",value:function(e){(e.target.hasAttribute(this.config.closeTrigger)||e.target.parentNode.hasAttribute(this.config.closeTrigger))&&(e.preventDefault(),e.stopPropagation(),this.closeModal(e))}},{key:"onKeydown",value:function(e){27===e.keyCode&&this.closeModal(e),9===e.keyCode&&this.retainFocus(e)}},{key:"getFocusableNodes",value:function(){if(this.config.getFocusableNodes)return this.config.getFocusableNodes(this.modal);var e=this.modal.querySelectorAll(n);return Array.apply(void 0,t(e))}},{key:"setFocusToFirstNode",value:function(){var e=this;if(!this.config.disableFocus){var t=this.getFocusableNodes();if(0!==t.length){var o=t.filter(function(t){return!t.hasAttribute(e.config.closeTrigger)});o.length>0&&o[0].focus(),0===o.length&&t[0].focus()}}}},{key:"retainFocus",value:function(e){var t=this.getFocusableNodes();if(0!==t.length)if(t=t.filter(function(e){return null!==e.offsetParent||parseInt(e.getAttribute("tabindex"))>=0}),this.modal.contains(document.activeElement)){var o=t.indexOf(document.activeElement);e.shiftKey&&0===o&&(t[t.length-1].focus(),e.preventDefault()),!e.shiftKey&&t.length>0&&o===t.length-1&&(t[0].focus(),e.preventDefault())}else t[0].focus()}}])&&e(i.prototype,a),o}(),a=null,r=function(e){if(!document.getElementById(e))return console.warn("MicroModal: ❗Seems like you have missed %c'".concat(e,"'"),"background-color: #f8f9fa;color: #50596c;font-weight: bold;","ID somewhere in your code. Refer example below to resolve it."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",'<div class="modal" id="'.concat(e,'"></div>')),!1},s=function(e,t){if(function(e){e.length<=0&&(console.warn("MicroModal: ❗Please specify at least one %c'micromodal-trigger'","background-color: #f8f9fa;color: #50596c;font-weight: bold;","data attribute."),console.warn("%cExample:","background-color: #f8f9fa;color: #50596c;font-weight: bold;",'<a href="#" data-micromodal-trigger="my-modal"></a>'))}(e),!t)return!0;for(var o in t)r(o);return!0},{init:function(e){var o=Object.assign({},{openTrigger:"data-micromodal-trigger"},e),n=t(document.querySelectorAll("[".concat(o.openTrigger,"]"))),r=function(e,t){var o=[];return e.forEach(function(e){var n=e.attributes[t].value;void 0===o[n]&&(o[n]=[]),o[n].push(e)}),o}(n,o.openTrigger);if(!0!==o.debugMode||!1!==s(n,r))for(var l in r){var c=r[l];o.targetModal=l,o.triggers=t(c),a=new i(o)}},show:function(e,t){var o=t||{};o.targetModal=e,!0===o.debugMode&&!1===r(e)||(a&&a.removeEventListeners(),(a=new i(o)).showModal())},close:function(e){e?a.closeModalById(e):a.closeModal()}});return"undefined"!=typeof window&&(window.MicroModal=l),l});
},{}],5:[function(require,module,exports){
!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.sentinel=n()}(this,function(){var e,n,t,i=Array.isArray,o={},r={};return{on:function(a,f){if(f){if(!e){var s=document,c=s.head;s.addEventListener("animationstart",function(e,n,t,i){if(n=r[e.animationName])for(e.stopImmediatePropagation(),t=n.length,i=0;t>i;i++)n[i](e.target)},!0);e=s.createElement("style");var l=function(){var e=document.querySelector("style[nonce]")||document.querySelector("script[nonce]");return e?e.nonce||e.getAttribute("nonce"):void 0}();l&&(e.nonce=l),c.insertBefore(e,c.firstChild),n=e.sheet,t=n.cssRules}(i(a)?a:[a]).map(function(e,i,a){(i=o[e])||(a="!"==e[0],o[e]=i=a?e.slice(1):"sentinel-"+Math.random().toString(16).slice(2),t[n.insertRule("@keyframes "+i+"{from{transform:none;}to{transform:none;}}",t.length)]._id=e,a||(t[n.insertRule(e+"{animation-duration:0.0001s;animation-name:"+i+";}",t.length)]._id=e),o[e]=i),(r[i]=r[i]||[]).push(f)})}},off:function(e,a){(i(e)?e:[e]).map(function(e,i,f,s){if(i=o[e]){if(f=r[i],a)for(s=f.length;s--;)f[s]===a&&f.splice(s,1);else f=[];if(!f.length){for(s=t.length;s--;)t[s]._id==e&&n.deleteRule(s);delete o[e],delete r[i]}}})},reset:function(){o={},r={},e&&e.parentNode.removeChild(e),e=0}}});
},{}],6:[function(require,module,exports){

},{}],7:[function(require,module,exports){
var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(e){return[]},process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
},{}],8:[function(require,module,exports){
!function(i,e){"use strict";function o(i){for(var e={},o=0;o<i.length;o++)e[i[o].toUpperCase()]=i[o];return e}function a(i,e){return typeof i==d&&-1!==Z(e).indexOf(Z(i))}function r(i,e){if(typeof i==d)return i=i.replace(/^\s\s*/,""),typeof e==b?i:i.substring(0,500)}function t(i,o){for(var a,r,t,n,b,d=0;d<o.length&&!n;){for(var l=o[d],c=o[d+1],u=a=0;u<l.length&&!n&&l[u];)if(n=l[u++].exec(i))for(r=0;r<c.length;r++)b=n[++a],typeof(t=c[r])==w&&0<t.length?2===t.length?typeof t[1]==s?this[t[0]]=t[1].call(this,b):this[t[0]]=t[1]:3===t.length?typeof t[1]!=s||t[1].exec&&t[1].test?this[t[0]]=b?b.replace(t[1],t[2]):e:this[t[0]]=b?t[1].call(this,b,t[2]):e:4===t.length&&(this[t[0]]=b?t[3].call(this,b.replace(t[1],t[2])):e):this[t]=b||e;d+=2}}function n(i,o){for(var r in o)if(typeof o[r]==w&&0<o[r].length){for(var t=0;t<o[r].length;t++)if(a(o[r][t],i))return"?"===r?e:r}else if(a(o[r],i))return"?"===r?e:r;return o.hasOwnProperty("*")?o["*"]:i}var s="function",b="undefined",w="object",d="string",l="major",c="model",u="name",p="type",m="vendor",h="version",f="architecture",g="console",v="mobile",x="tablet",k="smarttv",y="wearable",_="embedded",T="Amazon",S="Apple",q="ASUS",z="BlackBerry",N="Browser",A="Chrome",O="Firefox",E="Google",C="Huawei",U="LG",P="Microsoft",j="Motorola",B="Opera",M="Samsung",R="Sharp",D="Sony",V="Xiaomi",I="Zebra",G="Facebook",L="Chromium OS",F="Mac OS",H=" Browser",Z=function(i){return i.toLowerCase()},$={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},W={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[h,[u,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[h,[u,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[u,h],[/opios[\/ ]+([\w\.]+)/i],[h,[u,B+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[h,[u,B+" GX"]],[/\bopr\/([\w\.]+)/i],[h,[u,B]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[h,[u,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[u,h],[/quark(?:pc)?\/([-\w\.]+)/i],[h,[u,"Quark"]],[/\bddg\/([\w\.]+)/i],[h,[u,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[h,[u,"UC"+N]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[h,[u,"WeChat"]],[/konqueror\/([\w\.]+)/i],[h,[u,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[h,[u,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[h,[u,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[h,[u,"Smart Lenovo "+N]],[/(avast|avg)\/([\w\.]+)/i],[[u,/(.+)/,"$1 Secure "+N],h],[/\bfocus\/([\w\.]+)/i],[h,[u,O+" Focus"]],[/\bopt\/([\w\.]+)/i],[h,[u,B+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[h,[u,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[h,[u,"Dolphin"]],[/coast\/([\w\.]+)/i],[h,[u,B+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[h,[u,"MIUI "+N]],[/fxios\/([-\w\.]+)/i],[h,[u,O]],[/\bqihu|(qi?ho?o?|360)browser/i],[[u,"360"+H]],[/\b(qq)\/([\w\.]+)/i],[[u,/(.+)/,"$1Browser"],h],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[u,/(.+)/,"$1"+H],h],[/samsungbrowser\/([\w\.]+)/i],[h,[u,M+" Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[u,/_/g," "],h],[/metasr[\/ ]?([\d\.]+)/i],[h,[u,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[u,"Sogou Mobile"],h],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[u,h],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[u],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[u,G],h],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[u,h],[/\bgsa\/([\w\.]+) .*safari\//i],[h,[u,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[h,[u,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[h,[u,A+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[u,A+" WebView"],h],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[h,[u,"Android "+N]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[u,h],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[h,[u,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[h,u],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[u,[h,n,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[u,h],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[u,"Netscape"],h],[/(wolvic)\/([\w\.]+)/i],[u,h],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[h,[u,O+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[u,[h,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[u,[h,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,Z]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",Z]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,Z]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[m,M],[p,x]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[c,[m,M],[p,v]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[m,S],[p,v]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[m,S],[p,x]],[/(macintosh);/i],[c,[m,S]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[m,R],[p,v]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[m,C],[p,x]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[m,C],[p,v]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i],[[c,/_/g," "],[m,V],[p,v]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[m,V],[p,x]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[m,"OPPO"],[p,v]],[/\b(opd2\d{3}a?) bui/i],[c,[m,"OPPO"],[p,x]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[m,"Vivo"],[p,v]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[c,[m,"Realme"],[p,v]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[m,j],[p,v]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[m,j],[p,x]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[m,U],[p,x]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[m,U],[p,v]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[m,"Lenovo"],[p,x]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[m,"Nokia"],[p,v]],[/(pixel c)\b/i],[c,[m,E],[p,x]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[m,E],[p,v]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[m,D],[p,v]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[m,D],[p,x]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[m,"OnePlus"],[p,v]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[m,T],[p,x]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[m,T],[p,v]],[/(playbook);[-\w\),; ]+(rim)/i],[c,m,[p,x]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[m,z],[p,v]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[m,q],[p,x]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[m,q],[p,v]],[/(nexus 9)/i],[c,[m,"HTC"],[p,x]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[m,[c,/_/g," "],[p,v]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[c,[m,"TCL"],[p,x]],[/(itel) ((\w+))/i],[[m,Z],c,[p,n,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[m,"Acer"],[p,x]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[m,"Meizu"],[p,v]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[c,[m,"Ulefone"],[p,v]],[/droid.+; (a(?:015|06[35]|142p?))/i],[c,[m,"Nothing"],[p,v]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[m,c,[p,v]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[m,c,[p,x]],[/(surface duo)/i],[c,[m,P],[p,x]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[m,"Fairphone"],[p,v]],[/(u304aa)/i],[c,[m,"AT&T"],[p,v]],[/\bsie-(\w*)/i],[c,[m,"Siemens"],[p,v]],[/\b(rct\w+) b/i],[c,[m,"RCA"],[p,x]],[/\b(venue[\d ]{2,7}) b/i],[c,[m,"Dell"],[p,x]],[/\b(q(?:mv|ta)\w+) b/i],[c,[m,"Verizon"],[p,x]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[m,"Barnes & Noble"],[p,x]],[/\b(tm\d{3}\w+) b/i],[c,[m,"NuVision"],[p,x]],[/\b(k88) b/i],[c,[m,"ZTE"],[p,x]],[/\b(nx\d{3}j) b/i],[c,[m,"ZTE"],[p,v]],[/\b(gen\d{3}) b.+49h/i],[c,[m,"Swiss"],[p,v]],[/\b(zur\d{3}) b/i],[c,[m,"Swiss"],[p,x]],[/\b((zeki)?tb.*\b) b/i],[c,[m,"Zeki"],[p,x]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[m,"Dragon Touch"],c,[p,x]],[/\b(ns-?\w{0,9}) b/i],[c,[m,"Insignia"],[p,x]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[m,"NextBook"],[p,x]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,"Voice"],c,[p,v]],[/\b(lvtel\-)?(v1[12]) b/i],[[m,"LvTel"],c,[p,v]],[/\b(ph-1) /i],[c,[m,"Essential"],[p,v]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[m,"Envizen"],[p,x]],[/\b(trio[-\w\. ]+) b/i],[c,[m,"MachSpeed"],[p,x]],[/\btu_(1491) b/i],[c,[m,"Rotor"],[p,x]],[/(shield[\w ]+) b/i],[c,[m,"Nvidia"],[p,x]],[/(sprint) (\w+)/i],[m,c,[p,v]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[m,P],[p,v]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[m,I],[p,x]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[m,I],[p,v]],[/smart-tv.+(samsung)/i],[m,[p,k]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[m,M],[p,k]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[m,U],[p,k]],[/(apple) ?tv/i],[m,[c,S+" TV"],[p,k]],[/crkey/i],[[c,A+"cast"],[m,E],[p,k]],[/droid.+aft(\w+)( bui|\))/i],[c,[m,T],[p,k]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[m,R],[p,k]],[/(bravia[\w ]+)( bui|\))/i],[c,[m,D],[p,k]],[/(mitv-\w{5}) bui/i],[c,[m,V],[p,k]],[/Hbbtv.*(technisat) (.*);/i],[m,c,[p,k]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[m,r],[c,r],[p,k]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,k]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,c,[p,g]],[/droid.+; (shield) bui/i],[c,[m,"Nvidia"],[p,g]],[/(playstation [345portablevi]+)/i],[c,[m,D],[p,g]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[m,P],[p,g]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[c,[m,M],[p,y]],[/((pebble))app/i],[m,c,[p,y]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[m,S],[p,y]],[/droid.+; (glass) \d/i],[c,[m,E],[p,y]],[/droid.+; (wt63?0{2,3})\)/i],[c,[m,I],[p,y]],[/(quest( \d| pro)?)/i],[c,[m,G],[p,y]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[m,[p,_]],[/(aeobc)\b/i],[c,[m,T],[p,_]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[c,[p,v]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[p,x]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,x]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,v]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[m,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[h,[u,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[h,[u,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[u,h],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[h,u]],os:[[/microsoft (windows) (vista|xp)/i],[u,h],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[u,[h,n,$]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[h,n,$],[u,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[h,/_/g,"."],[u,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[u,F],[h,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[h,u],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[u,h],[/\(bb(10);/i],[h,[u,z]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[h,[u,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[h,[u,O+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[h,[u,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[h,[u,"watchOS"]],[/crkey\/([\d\.]+)/i],[h,[u,A+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[u,L],h],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[u,h],[/(sunos) ?([\w\.\d]*)/i],[[u,"Solaris"],h],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[u,h]]},X=function(o,a){if(typeof o==w&&(a=o,o=e),!(this instanceof X))return new X(o,a).getResult();var n=typeof i!=b&&i.navigator?i.navigator:e,g=o||(n&&n.userAgent?n.userAgent:""),k=n&&n.userAgentData?n.userAgentData:e,y=a?function(i,e){var o,a={};for(o in i)e[o]&&e[o].length%2==0?a[o]=e[o].concat(i[o]):a[o]=i[o];return a}(W,a):W,_=n&&n.userAgent==g;return this.getBrowser=function(){var i,o={};return o[u]=e,o[h]=e,t.call(o,g,y.browser),o[l]=typeof(i=o[h])==d?i.replace(/[^\d\.]/g,"").split(".")[0]:e,_&&n&&n.brave&&typeof n.brave.isBrave==s&&(o[u]="Brave"),o},this.getCPU=function(){var i={};return i[f]=e,t.call(i,g,y.cpu),i},this.getDevice=function(){var i={};return i[m]=e,i[c]=e,i[p]=e,t.call(i,g,y.device),_&&!i[p]&&k&&k.mobile&&(i[p]=v),_&&"Macintosh"==i[c]&&n&&typeof n.standalone!=b&&n.maxTouchPoints&&2<n.maxTouchPoints&&(i[c]="iPad",i[p]=x),i},this.getEngine=function(){var i={};return i[u]=e,i[h]=e,t.call(i,g,y.engine),i},this.getOS=function(){var i={};return i[u]=e,i[h]=e,t.call(i,g,y.os),_&&!i[u]&&k&&k.platform&&"Unknown"!=k.platform&&(i[u]=k.platform.replace(/chrome os/i,L).replace(/macos/i,F)),i},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return g},this.setUA=function(i){return g=typeof i==d&&500<i.length?r(i,500):i,this},this.setUA(g),this};X.VERSION="0.7.39",X.BROWSER=o([u,h,l]),X.CPU=o([f]),X.DEVICE=o([c,m,p,g,v,k,x,y,_]),X.ENGINE=X.OS=o([u,h]),typeof exports!=b?(typeof module!=b&&module.exports&&(exports=module.exports=X),exports.UAParser=X):typeof define==s&&define.amd?define(function(){return X}):typeof i!=b&&(i.UAParser=X);var K,Q=typeof i!=b&&(i.jQuery||i.Zepto);Q&&!Q.ua&&(K=new X,Q.ua=K.getResult(),Q.ua.get=function(){return K.getUA()},Q.ua.set=function(i){K.setUA(i);var e,o=K.getResult();for(e in o)Q.ua[e]=o[e]})}("object"==typeof window?window:this);
},{}],9:[function(require,module,exports){
(function(){var l,e,n,t=[].indexOf||function(l){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===l)return e;return-1};e=exports,n=require("./utils"),l=999999,e.Rewarder=function(){function e(conf){this.conf=conf}var a;return e.prototype.handleStep=function(e,a,r){var o,s,g,u,i,d,v,p,c,f,w,h,y,G,x,M,b,m,A,N,_,D;for(h=n.Dates.stamp(),-l<(G=a.value)&&l>G||(a.value=null!=(x=r.valueDef)?x:1),i=null!=(M=_d.G[a.goal])?M:{},g=null!=(b=i.a)?b:[],Array.isArray(a.agents)&&(g=a.agents.filter(function(l){return t.call(g,l)>=0})),p=this.selsFor(e,a,g),D=!1,i.gpr,e.log("Goal '"+a.goal+"' mapped to agents: "+g+" (value "+a.value+" "+(null!=(m=a.vc)?m:"")+")","g"),d=c=0,f=p.length;f>c;d=++c)(v=p[d]).g=a.goal,v.v=this.val(e,a,r,v),v.vc=a.vc,o="running"===(s=null!=(A=_d.A[v.a])?A.a.s:void 0)&&"p"!==(N=v.p)&&"b"!==N&&"x"!==N,"p"===v.s&&("number"==typeof r.ps_ok&&h-v.dts<=r.ps_ok?e.log("Allowing reward for pending selection","g"):i.gpr?D?(e.log("Allowing 'pending' reward for goal '"+a.goal+"' and agent '"+v.a+"'","g"),o=!0):(e.log("Goal '"+a.goal+"' may not be sent via this Deploy Target","g"),o=!1):(e.log("Not rewarding '"+v.a+"' for Goal '"+a.goal+"' due to 'pending' selection","g"),o=!1)),i.gpr&&(e.log("Goal '"+a.goal+"' may only be sent via the REST API","g"),o=!1),o&&i.ews>0&&h-v.dts<i.ews&&(e.log("Not rewarding '"+v.a+"' for Goal '"+a.goal+"' due to eligibility window start ("+i.ews+")","g"),o=!1),o&&i.ewe>0&&h-v.dts>i.ewe&&(e.log("Not rewarding '"+v.a+"' for Goal '"+a.goal+"' due to eligibility window end ("+i.ewe+")","g"),o=!1),o&&null!=v.v&&null!=v.fs?(null==(u=e.sess.rwds)[w=v.a]&&(u[w]={}),_=this.getPrior(e,v.a,v.g),v.pr=_[0],v.ri=_[1],r.rw&&v.pr&&(y=h-v.pr.gts)<r.rw?(e.log("Not rewarding "+v.a+" for "+v.g+" ("+y+" of "+r.rw+" secs)","g"),p[d]=null):e.rwdAdd(v.a,v.g,v.v)):(e.log("Not rewarding "+v.a+" for "+v.g+" (policy "+v.p+" - status "+s+")","g"),p[d]=null);return{items:p}},e.prototype.selsFor=function(l,e,n){var t,a,r,o,s;for(r=[],o=0,s=n.length;s>o;o++)t=n[o],null!=(a=l.selGet(t))&&r.push({a:t,c:a.c,p:a.p,s:a.s,fs:a.fs.concat(),dts:a.ts,dp:a.dp});return r},e.prototype.getPrior=function(l,e,n){var t,r,o,s,g,u;for(t in g=0,r={v:0,n:0,gv:0,gn:0,gts:0,ts:0},u=null!=(s=l.sess.rwds[e])?s:{})null!=(o=u[t])&&"number"==typeof o.v&&(a(e,t)||(r.v+=o.v,r.n+=o.n),t===n&&(r.gv+=o.v,r.gn+=o.n,r.gts=o.ts,g=o.n),o.ts>r.ts&&(r.ts=o.ts));return 0===r.ts&&(r=void 0),[r,g]},e.prototype.val=function(l,e,n,t){var a,r,o,s,g,u,i;switch(a=null!=(r=null!=(o=l.sess.rwds[t.a])?o[t.g]:void 0)?r:{},i=null!=(s=null!=(g=e.value)?g:n.valueDef)?s:1,!1){case!(a.n>=(null!=(u=n.countMax)?u:1)):return l.log("Goal '"+t.g+"' already accepted "+a.n+"x for agent '"+t.a+"'","g"),null;case!(null==n.valueMin&&null==n.valueMax):return 1;case!(e.vc&&e.vc!==n.forex):return i;case!(null!=n.valueMin&&i<n.valueMin||null!=n.valueMax&&i>n.valueMax):return l.log("Goal '"+t.g+"' not accepted (reward "+i+" not between "+n.valueMin+" and "+n.valueMax+")","g"),null;default:return i}},a=function(l,e){var n,a;return!!(a=null!=(n=_d.G[e])?n.sec:void 0)&&t.call(a,l)>=0},e}()}).call(this);
},{"./utils":22}],10:[function(require,module,exports){
(function(){var r,n=[].indexOf||function(r){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===r)return n;return-1};r=require("./utils"),exports.Chooser=function(){function e(conf){this.conf=conf}var t;return e.prototype.handleStep=function(e,t){var l,c,a,u,i,s,o,p,f,h,d,v,g,x,w;return o=this.priorChoice(e,t),l=null!=(p=_d.A[t.a])?p:{},1>(d=l.sr)&&!e.enfVcPre()&&t.c&&1===t.c.length&&(e.log("Ignoring selection rate during preview","q"),d=1),g=e.tFor(t.a),v=e.polGet(t.a),c=function(){var r;switch(!1){case"p"!==v:return[];default:return null!=(r=e.selRed(t.a))?r:[]}}(),x=Array.isArray(t.x)?t.x:[],(c.length>0||x.length>0)&&(t.c=t.c.filter(function(r){return(0===c.length||n.call(c,r)>=0)&&n.call(x,r)<0}),null!=o&&(f=o.c,n.call(t.c,f)<0)&&(o=null)),s=function(){var n,l;switch(!1){case"x"!==v&&"p"!==v:return v;case!e.dnt():return"p";case null==o:return"s";case!(1>d&&!r.Rand.coin(d)):return"x";case!v:return v;case"ar"!==t.p:return"r";case!(1===c.length&&(!e.qa()||c[0]!==e.selPre(t.a))):return"f";case null==t.n:return"a";case"c"!==(n=t.p)&&"p"!==n&&"b"!==n&&"f"!==n&&"x"!==n:case"a"!==(l=t.p)&&"r"!==l:return t.p;default:return"r"}}(),1>d&&"s"!==s&&"p"!==s&&"x"!==v&&"x"!==t.p&&e.log("Selection rate ("+d+") "+("x"===s?"excluded":"allowed")+" visitor for agent "+t.a,"a"),"s"===s&&"p"===o.s&&(g=o.fs),"s"===s?u=o.c:"p"===s?u=l.dc:"x"===s?u="":(w=(a=function(){var r,e,c,a,u,s;for(s=[],r=0,e=(u=null!=(c=null!=(a=l.T)?a.rank:void 0)?c:t.c).length;e>r;r++)i=u[r],n.call(t.c,i)>=0&&s.push(i);return s}()).map(function(r){var n,e;switch(s){case"r":return null!=(n=null!=(e=t.w)?e[r]:void 0)?n:1/a.length;case"c":case"f":return r===a[0]?1:0;default:throw Error("Unknown policy '"+s+"'")}}),u=null!=t.n?r.Rand.pickn(a,w,t.n):r.Rand.pick(a,w)),{a:t.a,c:u,p:s,fs:g.concat(),ts:null!=(h=null!=o?o.ts:void 0)?h:e.ts(),ps:null!=o?o.s:void 0,pp:null!=o?o.p:void 0}},e.prototype.priorChoice=function(r,e){var l,c;return l=null!=(c=r.selGet(e.a))?c:{},void 0===e.n&&Array.isArray(l.c)&&(l.c=l.c[0]),function(){var r;switch(!1){case!(null!=e.n&&Array.isArray(l.c)):return e.n===l.c.length&&t(l.c,e.c);case!("x"===l.p&&""===l.c):return!0;default:return r=l.c,n.call(e.c,r)>=0}}()&&"p"!==l.p?l:null},t=function(r,e){var t,l,c;for(t=0,l=r.length;l>t;t++)if(c=r[t],n.call(e,c)<0)return!1;return!0},e}()}).call(this);
},{"./utils":22}],11:[function(require,module,exports){
(function (process){(function (){
(function(){var t,e,n,s,i,r,o,u,l,a,d,c,h,p,f,v,_=function(t,e){return function(){return t.apply(e,arguments)}},g=[].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1};s=require("../diagrams/diagrams"),e=require("../../configuration"),r=require("../targeting/targeting"),n=require("data-layers").DL,i=require("loader").Loader,f=require("../../dom-utils").doc_ready,v=null!=v?v:require("harness"),u=null,o=null,p=[],c=null,l=null,h=!0===(null!=v?v.single:void 0),d=null,t=function(){function t(t){var s,i;null==t&&(t={}),this.dev_sessDecoded=_(this.dev_sessDecoded,this),this.h_sess_set=_(this.h_sess_set,this),this._post=_(this._post,this),this.do_vs=_(this.do_vs,this),this.do=_(this.do,this),this._do=_(this._do,this),this.o=t,this.h=null!=(i=t.harness)?i:v,this.conf=e.merged(),this.dl=null!=o?o:o=new n(this.conf,this,this.o.dataLayer),this.use_q=!0===this.conf["js:ps-q"]&&null!=this.h.q_add,s=require("./sess-min").SM,this.sm=new s(this.conf["rt:tr-ids"],this.conf["rt:a_codes"])}var a,y,b,w,m;return t.loader=new i(_d,v),t._isRelevant=function(t){return t&&(null!=_d.A[t.a]||null!=_d.G[t.g]||null!=_d.TA[t.t])},t._hasRelevant=function(e){return Array.isArray(e)&&e.some(t._isRelevant)},t.version=function(){return _d.v.v+" build "+_d.v.b+" ("+_d.v.d+" - "+new Date(1e3*_d.v.m).toUTCString()+")"},t.prototype.exec=function(t,e){return this.push({t:"e",steps:t,cb:e})},t.prototype.run=function(){return this.push({t:"r"})},t.prototype.push=function(t){return p.push(t),this._do()},t.prototype._do=function(){var t;if(!l&&p.length)switch(l=t=p.shift(),t.t){case"e":this.do_exec(t.steps,t.cb);break;case"r":this.do_run();break;case"v":this.do_vs(t.vs)}},t.prototype.do=function(){return l=null,this._do()},t.prototype.select=function(t){return this.exec([{a:t}]).sels[t]},t.prototype.reward=function(t,e){this.exec([{g:t,v:e}])},t.prototype.listAgents=function(){return Object.keys(_d.A)},t.prototype.hasAgent=function(t){return g.call(this.listAgents(),t)>=0},t.prototype.version=function(){return t.version()},t.prototype.do_exec=function(t,e){var n,i,r,o,u;return r=this._req(),m(r)?"function"==typeof e?e():void 0:(t=null!=(i=a(t))?i:[],w(t),r.steps=t,this.o.qa&&r.v&&(r.v.qa=!0),(u=new s.State(this.conf,r)).log("Activating: Conductrics API","i"),this._ses(u),this._hello(u),n=function(t){return function(){var e,n,s,i,r,o;for(t._process(u),e=0,s=(r=(o={items:(i=u.out).res,sels:{},traits:u.tExt(),log:!0===t.o.debug?i.log.concat():void 0,ext:Object.keys(i.ext).length?i.ext:void 0}).items).length;s>e;e++)null!=(n=r[e]).a&&(o.sels[n.a]=n.c);return null!=t.o.sess&&(o.sess=JSON.stringify(u.sess)),o}}(this),"function"==typeof e?this._init(u,function(t){return function(s){return e(!1,n()),t.do()}}(this)):(this._targ(u),o=n(),setTimeout(this.do,1),o))},t.prototype.do_run=function(t){var e,n;return null==t&&(t="#init"),e=this._req(this.o.entry+"-pre"),m(e)?void 0:(n=null!=u?u.state:new s.State(this.conf,e),"#init"===t?n.log("Activating: Conductrics Express","i"):n.log("Activating: Conductrics View-State '"+t+"'","i"),this._ses(n),this._hello(n),!0===this.o.globalEvents&&this._spaInit(n),new s.Runner(this.conf,function(t){return function(){return n.ep(t.o.entry),t._init(n,function(e){return y(t.conf["wa:ready"],function(){return t._process(n),n.log("(end)","i"),t.do()})})}}(this)).run(_d.diag,n))},t.prototype.discard=function(){return v.sess_del()},t.prototype.do_vs=function(t){var e,n,s;return null==u?void this.do():(n=u.state,s=null!=(e=this.conf["rt:spa-states"])?e:[],g.call(s,t)>=0?t!==n.vstate()||g.call(this.conf["rt:spa-states-m"],t)>=0?(n.vstate(t),this._preboot(n,function(e){return function(){return e._process(n),n.log("(end view-state)","x"),window.dispatchEvent(new CustomEvent("ConductricsStateChanged",{detail:t}))}}(this))):n.log("Already at '"+t+"'","x"):n.log("Unknown view-state '"+t+"'","x"),this.do())},t.prototype._req=function(t){var e,n,s,i;return null==t&&(t="api"),n=this.o,(i=this.h.env_get()).acc=_d.acc.c,i.ep=t,i.v.traits=n.traits,i.debug=i.debug||n.debug,i.ud=n.inputs,null==(e=i.v).vid&&(e.vid=n.vid),(!0===(s=n.dnt)||1===s||"yes"===s||"on"===s||"DNT"===s)&&(i.v.dnt=!0),i._dl=this.dl,i},t.prototype._process=function(t){var e;if(this._pre(t),new s.Runner(this.conf,this._post).run(_d.diag,t),"function"==typeof CustomEvent)try{return e=new CustomEvent("c-rt",{detail:{log:t.out.log.concat(),sel:t.out.sel}}),document.dispatchEvent(e)}catch(t){}},t.prototype._init=function(t,e){var n;this._preboot(t,(n=this,function(){return n._q_send(t),n._targ(t,e)}))},t.prototype._preboot=function(t,e){var n,s,i,r,o,u,l,a;if("function"!=typeof _wa_preboot)return e();if(o=s=t.ep(),g.call(null!=(u=this.conf["js:preboot-eps"])?u:["wax"],o)<0)return t.log("Skipping preboot ("+s+")","s"),e();if(l=a=t.vstate(),g.call(this.conf["rt:spa-states-pb"],l)<0)return t.log("Skipping preboot (view-state '"+a+"')","s"),e();r=null,i=function(n,s){return null==s&&(s={}),"string"==typeof s&&(s={vstate:s}),n&&t.tAdds(n,"pre"),"string"==typeof s.vstate&&t.vstate(s.vstate),"string"==typeof s.vid&&(t.data["v.vid"]=s.vid),"string"==typeof s.sid&&(t.data["v.sid"]=s.sid),"object"==typeof s.inputs&&t.ud(s.inputs),"boolean"==typeof s.qa&&t.qa(s.qa),"boolean"==typeof s.dnt&&t.dnt(s.dnt),"function"==typeof s.selection_callback&&(null!=t.handlers?t.handlers:t.handlers=[]).push(s.selection_callback),"function"==typeof s.presend_callback&&(t.ps_cb=s.presend_callback),t.log("Preboot done ("+(Date.now()-r)+" ms elapsed)","s"),e()};try{r=Date.now(),t.log("Preboot running","s"),_wa_preboot(i)}catch(s){n=s,t.log("Preboot error: "+n,"e"),e()}},t.prototype._targ=function(t,e){var n,s,i,o;return t.dnt()?e():(o=_d.rt.tt,i=_d.rt.ttt,(n=void 0===e)&&(e=function(){}),o.length>0?(s=new r.Targeter(this.conf,this.h,n),t.log("Resolve targeting ("+o.length+")","t"),void s.resolve(t,o,function(n,s){var r,o,u;if(n)return e(n);for(r in o=s.values)null!=(u=o[r])&&(g.call(i,r)>=0?t.tAdd(r+":"+u,"apply"):(t.log("Set value '"+r+"' to "+u,"t"),t.data["targ."+r]=u));return e()})):e())},t.prototype._pre=function(t){var e,n,s,i,r;if((e=t.r._dl).enabled()&&(r=e.get(this.conf["dl:key-tr"]),Array.isArray(r)))for(n=0,s=r.length;s>n;n++)i=r[n],t.tAdd(i,"dl");t.data["v.sels"]=t.sess.sels},t.prototype._ses=function(t){var e,n,s,i,r,o,u,l,a,d,p,f,v,_;if(_=null!=(r=t.r.v)?r:{},"string"==typeof(p=null!=(o=this.o.sess)?o:this.h.sess_get())&&p.length&&"{"!==p[0])try{p=atob(p)}catch(t){p=null}if(process.env.C_SESS_FIX_652&&h&&null!=c&&(p={}),h&&null==p&&(c=null),t.r.newv&&(t.log("Treating as a new visitor","q"),c=this.o.sess=t.sess=p=null),d=t.sess=null!=c?c:{traits:null!=(u=null!=(l=_.traits)?l.cust:void 0)?u:[],sels:{},rwds:{}},"string"!=typeof(f=null!=(a=this.o.sess)?a:p)||f.startsWith("{")||(f=function(){try{return atob(f)}catch(t){}}()),s=function(){try{return JSON.parse(f,this.sm.reviver())}catch(t){}}.call(this),h&&(c=d),b(t.sess,s),t.vnAdv(),Array.isArray(i=null!=s?s.traits:void 0))for(e=0,n=i.length;n>e;e++)v=i[e],t.tAdd(v,"init")},t.prototype._post=function(t){var e,n;return e=t.out.work.splice(0),this.use_q&&e.length&&!t.dnt()&&this.h.q_add(e),this._presend(t,e,(n=this,function(){return n.h_sess_set(t),n._send(t,e),n.use_q?n.h.q_del():void 0}))},t.prototype.h_sess_set=function(t){var e,n;if(!t.dnt()&&!t.bot()){if(e=t.sess,h&&this.conf["rt:av-sels"]&&Object.assign(e.sels,t.data["v.sels"]),e.traits=t.tSti(),e.vals=t.targ,null!=this.o.sess)return;n=function(){try{return JSON.stringify(e,this.sm.replacer())}catch(t){}}.call(this),n=btoa(n),this.h.sess_set(n,t.dirty)}},b=function(t,e){return Object.assign(t,e)},t.prototype._q_send=function(t){var e,n;if(this.use_q&&!d&&(e=this.h.q_get(),d=!0,e.length))return this._presend(t,e,(n=this,function(){return n._send(t,e),n.use_q?n.h.q_del():void 0}))},t.prototype._presend=function(t,e,n){return t.ps_cb&&Array.isArray(e)&&e.length?(t.log("Waiting for presend callback","s"),t.ps_cb({},function(s){var i,r,o;if(t.log("Presend callback returned "+typeof s,"s"),s){for(i=0,o=e.length;o>i;i++)(r=e[i]).ctx&&s.vid&&(t.log("Using external id '"+s.vid+"' from presend callback","s"),r.ctx.vid=s.vid);s.traits&&t.tAdds(s.traits,"presend",e)}return n()})):n()},t.prototype._send=function(t,e){var n,s,i,r,o;switch((o=t.dnt())&&((s=e.filter(function(t){return"allow"===t._dnt})).length>0&&(t.log("Allowing "+s.length+" of "+e.length+" due to DNT","q"),e=s,o=!1)),i=e.length,!1){case 0!==i:return;case!o:t.log("Not sending events ("+i+") due to DNT","q");break;case!t.bot():t.log("Not sending events ("+i+") because 'bot'","q");break;case!t.muted():t.log("Not sending events ("+i+") because 'muted': "+JSON.stringify(e),"q");break;default:t.log("Sending events ("+i+")","i"),n=(r=this.conf["event-queue:sqs-url"])+"?Action=SendMessage&Version=2012-11-05&MessageBody="+encodeURIComponent(JSON.stringify(e)),r.endsWith(".fifo")&&(n+="&MessageGroupId=ctrx"),this.h.beacon(n)}},t.prototype._spaInit=function(t){h&&(null==u&&(window.addEventListener("ConductricsStateChange",function(t){return function(e){return t.on(e.type,e.detail)}}(this)),window.addEventListener("ConductricsInternalState",function(t){return function(e){return t.h_sess_set(e.detail.state)}}(this))),u={state:t})},t.prototype.on=function(t,e){var n,s,i,r;switch(t){case"ConductricsStateChange":if("wax"===this.o.entry&&(null!=(i=this.conf["rt:spa-states"])?i.length:void 0)>0)return s=function(t){return function(){return t.push({t:"v",vs:e})}}(this),(n=this.conf["rt:spa-states-ms"][e])>0?setTimeout(s,n):s();break;case"ConductricsCommands":if(Array.isArray(r=null!=e?e.commands:void 0))return this.exec(r,function(){})}},a=function(t){if("string"!=typeof t)return t;try{return JSON.parse(t)}catch(t){}},t.prototype._hello=function(t){var e;t.log(_d.v.v+" build "+_d.v.b+" ("+_d.v.d+" Deploy #"+_d.v.n+" - "+new Date(1e3*_d.v.m).toUTCString()+")","i"),t.debug&&_d.v.dn&&this.h.p_get&&(e=function(){try{return this.h.p_get()}catch(t){}}.call(this))&&t.log("Deploy Target '"+_d.v.dn+"' started loading at "+Math.ceil(e.startTime)+" ms, loaded in "+Math.ceil(e.duration)+" ms ("+e.initiatorType+")","i"),t.qa()&&t.log("QA visitor detected","q")},t.prototype.dev_sessDecoded=function(t){var e;if(null==t&&(t=this.h.sess_get()),"string"==typeof t&&t.length&&"{"!==t[0])try{t=atob(t)}catch(e){t=null}return e=JSON.parse(t,this.sm.reviver()),JSON.stringify(e)},w=function(t){},y=function(t,e){switch(t){case"doc":return f(e);default:return e()}},m=function(t){var e;if(e=!0===t.abort)try{console.log("C:\\ 'Abort' flag detected; stopping.")}catch(t){}return e},t}(),(null!=(a=function(){return"undefined"!=typeof window&&null!==window?window:this}()).Conductrics?a.Conductrics:a.Conductrics={}).ClientApi=t,("undefined"!=typeof define&&null!==define?define.amd:void 0)&&define(["ClientApi"],t),("undefined"!=typeof module&&null!==module?module.exports:void 0)&&(module.exports.ClientApi=t),("undefined"!=typeof __module&&null!==__module?__module.exports:void 0)&&(__module.exports.ClientApi=t),null!=v&&(v.ClientApi=t)}).call(this);
}).call(this)}).call(this,require('_process'))
},{"../../configuration":2,"../../dom-utils":4,"../diagrams/diagrams":16,"../targeting/targeting":21,"./sess-min":14,"_process":7,"data-layers":"data-layers","harness":"harness","loader":"loader"}],12:[function(require,module,exports){
(function(){var n,e;e={},n={mouse:null,scroll:null,has_mouse:!1,moused_down:!1},exports.ExitIntent=function(){function o(){}var u,t,r,l;return o.waitForIntent=function(n,o){return null==o&&(o={}),null==o.max&&(o.max=1),o.n=0,e[n]=o,o.mouse&&t(o),o.scroll?r(o):void 0},t=function(e){var o;if(!n.mouse)return o=function(e){return e.clientY>100?(n.moused_down=!0,document.body.removeEventListener("mousemove",o)):void 0},document.body.addEventListener("mousemove",o),n.mouse=document.body.addEventListener("mouseleave",function(e){var o,t,r,l;return(o=e.clientY<20)&&n.moused_down&&(t=o&&e.clientX<100,l=function(){try{return document.referrer.split("/").slice(0,3).join("/")}catch(n){}}(),r=0===document.location.href.indexOf(l),!t||!r)?u("mouse"):void 0})},r=function(e){var o,t,r,l,i,c,s,d,m;n.scroll||(i=null,t=null,m=null,r=null,d=null!=(c=e.scroll_speed)?c:-80,l=null!=(s=e.scroll_inter)?s:100,(o=function(){return i=null,r=0})(),function(){var e;e=function(o){return n.has_mouse=!0,document.body.removeEventListener("mousemove",e)},document.body.addEventListener("mousemove",e)}(),n.scroll=window.addEventListener("scroll",function(e){if(!n.has_mouse)return r=function(){var n;return t=window.scrollY,i&&(n=t-i),i=t,clearTimeout(m),m=setTimeout(o,l),n}(),0>d&&d>r||d>0&&r>d?u("scroll"):void 0}))},u=function(n){var o,u,t;for(o in t=[],e)(u=e[o])[n]&&(u.pns>0&&l()<u.pns||(u.n++,u.n<=u.max?t.push(u.cb()):t.push(void 0)));return t},l=function(){return"undefined"!=typeof performance&&null!==performance?performance.now():void 0},o}()}).call(this);
},{}],13:[function(require,module,exports){
(function(){exports.GA=function(){function t(){}var e,n,r;return t.get=function(conf){return window[n(conf)]},t.init=function(conf){var t,e,i,u,a,c,o,l;a=conf["x-ga:gtm"],t=window,c=n(conf),u="string"==typeof conf["x-ga:gat"],i=null!=(l=conf["x-ga:gat"])?l:"t0",a&&(null==t[c]&&(t[c]=function(){var e;return(null!=(e=t[c]).q?e.q:e.q=[]).push(arguments)}),null==(e=t[c]).l&&(e.l=1*new Date)),t[c]&&(t[c]._ci||(o=function(){var e,n;return(e=t[c]).getByName(i)?void r(e.getByName(i)):(n=e.create,e.create=function(){var t,a,c,o,l;if(o=n.apply(e,arguments),u)r(e.getByName(i));else for(t=0,a=(c=e.getAll()).length;a>t;t++)l=c[t],r(l);return o})},t[c](o),t[c]._ci=!0))},r=function(t){var n;t&&!t._ci&&(n=t.get("sendHitTask"),t.set("sendHitTask",function(t){var r;return r=n(t),e(document,"ga.conductrics",t),r}),t._ci=!0)},e=function(t,e,n){var r;window.CustomEvent?r=new CustomEvent(e,{detail:n}):(r=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,n),t.dispatchEvent(r)},t.eventApplies=function(t,e){var n,r,i,u;if("event"!==e.get("hitType"))return!1;if("Conductrics"===e.get("eventCategory"))return!1;for(i=function(n){var r,i,u,a,c,o,l,g;if(r=e.get(n),"/"===(g=null!=(o=t["ga_"+n])?o:"")[0]&&"/"===g[g.length-1])return RegExp(g.slice(1,-1)).test(r);for(i=0,u=(l=g.split(",")).length;u>i;i++)switch(c=l[i],!1){case!("*"===c||c===r):return!0;case!(c.indexOf("*")>=0):return a=c.replace("*","[ \\S]*"),RegExp("^"+a+"$").test(r);default:return!1}},n=0,r=(u=["eventCategory","eventAction","eventLabel"]).length;r>n;n++)if(!i(u[n]))return!1;return!0},n=function(conf){var t,e;return null!=(t=null!=(e=conf["x-ga:gao"])?e:window.GoogleAnalyticsObject)?t:"ga"},t}()}).call(this);
},{}],14:[function(require,module,exports){
(function(){var s,t,n,r=function(s,t){return function(){return s.apply(t,arguments)}};s={p:"r",s:"ok",dp:"p"},t=946684800,exports.SM=function(){function e(s,t){this.ids=s,this.known_agents=t,this.reviver=r(this.reviver,this),this.replacer=r(this.replacer,this),this.known_traits=Object.keys(this.ids),this.ids_rev=n(this.ids)}return e.prototype.replacer=function(){var n,r,e,i,u,l,a,c,o,f;return n=(l=this).ids,r=l.ids_rev,i=l.known_agents,u=l.known_traits,e=function(s){return 0===s.indexOf("cust/")||0===s.indexOf("#")},a=function(s){return null==s&&(s=[]),s.map(function(s){var t;return null!=(t=n[s])?t:s}).filter(function(s){return u.includes(s)||r[s]||!e(s)})},c=null,o=null,f=[],function(r,e){var u,l,p,d,v,h,k,b;switch(""===r&&(o=null!=(d=(c=e).vts)?d:0,c._strs=f),e){case c.traits:e=a(e).join(" ");break;case c.sels:for(p in e={},v=c.sels)b=v[p],i.includes(p)&&(u=a(b.fs).join(" "),-1===(l=f.indexOf(u))&&(l=f.push(u)-1),e[p]=Object.assign({},b,{a:void 0,fs:l,p:b.p===s.p?void 0:b.p,s:b.s===s.s?void 0:b.s,dp:b.dp===s.dp?void 0:b.dp}));break;case c.rwds:for(p in e={},h=c.rwds)b=h[p],i.includes(p)&&(e[null!=(k=n[p])?k:p]=b);break;default:("ts"===r||"pvts"===r||"tvts"===r)&&e>t&&(e-=o)}return e}},e.prototype.reviver=function(){var n,r,e,i;return this,this.ids,n=this.ids_rev,r=null,e=null,i=null,function(u,l){var a,c,o,f,p,d,v,h,k,b;switch(null===r&&(e=null!=(o=(r=this).vts)?o:0,i=null!=(f=r._strs)?f:[]),k=function(s){return"number"==typeof s&&(s=i[s]),"string"==typeof s?s.split(" ").map(function(s){var t;return null!=(t=n[s])?t:s}):s},u){case"":delete r._strs;break;case"_strs":return;case"traits":case"fs":l=k(l);break;case"sels":for(c in h={},l)b=l[c],h[a=null!=(p=n[c])?p:c]=Object.assign({a:a},s,b);l=h;break;case"rwds":for(c in v={},l)b=l[c],v[a=null!=(d=n[c])?d:c]=b;l=v;break;case"ts":case"pvts":case"tvts":t>=l&&(l=e+l)}return l}},e}(),n=function(s){var t,n;for(t in n={},s)n[s[t]]=t;return n}}).call(this);
},{}],15:[function(require,module,exports){
(function(){var e,t,n;require("../../data"),e=require("../../utils").Strings;try{n=require("log-styles").logger}catch(e){}t=function(e){try{return n("C:\\ "+e,"q")}catch(e){}},function(){var n,o,r,c,i,l,s,a,u,d,f,h,m,w,p,g,v,y;if(("undefined"!=typeof document&&null!==document?document.querySelector:void 0)&&(h="c-conductrics",(m=window.location.hash&&window.location.hash.indexOf(h)>=0?window.location.hash.slice(1):window.location.search).indexOf(h)>=0||m.indexOf("__c-token")>=0)){for(f=e.qs(m),i=0,l=(w=["abort","muted","qa","debug","new","entry-enforce","preview-only"]).length;l>i;i++)if("true"===(p=y=f[s=h+"-"+(r=w[i])])||"false"===p)try{"abort"===r||"qa"===r||"entry-enforce"===r||"preview-only"===r?sessionStorage.setItem(s,y):localStorage.setItem(s,y),t("Preview: set "+s+" to "+y)}catch(e){}null!=(v=f[h+"-preview"])&&(""===v?(t("Preview: clearing "+h+"-sels"),sessionStorage.removeItem(h+"-sels")):(d=function(){try{return decodeURIComponent(decodeURIComponent(unescape(atob(v))))}catch(e){}}())&&d.length>0&&(t("Preview: set "+h+"-sels to: "+d),sessionStorage.setItem(h+"-sels",d))),"true"===f[h+"-reload"]?function(){var e,t,n;for(e in n=""+window.location.href,f)0===e.indexOf(h)&&(t=e+"="+encodeURIComponent(f[e]),n=(n=n.replace("&"+t,"")).replace(""+t,""));"?"===n[n.length-1]&&(n=n.substr(0,n.length-1)),document.location.replace(n)}():(g=_d.rt,c=function(){var e,t;return(e=document.querySelector("script[nonce]"))?null!=(t=e.nonce)?t:e.getAttribute("nonce"):void 0},(u=f["__c-token"])&&(o="c-conductrics-preview-"+u,null==document.querySelector("script#"+o))&&((n=document.createElement("script")).id=o,n.src=g.s+"&__c-token="+u,(a=c())&&(n.nonce=a),document.head.appendChild(n)))}}()}).call(this);
},{"../../data":3,"../../utils":22,"log-styles":"log-styles"}],16:[function(require,module,exports){
(function(){var t,n,e,r,s=function(t,n){return function(){return t.apply(n,arguments)}},i=[].indexOf||function(t){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===t)return n;return-1};e=require("../../utils"),t=require("../../bots").Bots,n=module.exports;try{r=require("log-styles").logger}catch(t){}exports.M=function(){function t(t){this.conf=t}var n,r;return t.prototype.getNodes=function(t){var n;return null!=(n=t.items)?n:[]},t.prototype.active=function(t,n){return!0},t.prototype.getConds=function(t,n){return t.conds},t.prototype.process=function(t,n){},t.prototype.isId=e.Strings.isId,t.prototype.wait=function(t,n){return setTimeout(n,t)},t.prototype.clone=function(t){return JSON.parse(JSON.stringify(t))},t.prototype.sel=function(t){return r(t.selector,t.so)},t.prototype.closest=function(t,e){return n(t,e)},r=function(t,n){var e,r,s,i,o,u;null==n&&(n={});try{s=document.querySelectorAll(t)}catch(t){}if(!s)return[];if(n.t){for(e=[],i=0,o=s.length;o>i;i++)(null!=(u=(r=s[i]).textContent)?u.indexOf(n.t):void 0)>=0&&e.push(r);s=e}return(n.i>0||n.n>0)&&(s=Array.prototype.slice.call(s,n.i,n.n)),s},n=function(t,e){if(Element.prototype.closest)return t.closest(e);try{if(t.matches(e))return t;if(t.parentNode)return n(t.parentNode,e)}catch(t){}return null},t.prototype.addCSS=function(t,n,e){var r,s;null==e&&(e=null),"undefined"!=typeof document&&null!==document&&((s=document.createElement("style")).type="text/css",s.className=n,e&&(s.id=e),null!=s.styleSheet?s.styleSheet.cssText=t:s.appendChild(document.createTextNode(t)),(r=this.getStyleNonce())&&(s.nonce=r),document.getElementsByTagName("head")[0].appendChild(s))},t.prototype.getStyleNonce=function(){var t,n,e,r;return void 0===_d.style_nonce&&(_d.style_nonce=null!=(t=null!=(n=null!=(e=document.querySelector("style[nonce]"))?e.nonce:void 0)?n:null!=(r=document.querySelector("script[nonce]"))?r.nonce:void 0)?t:null),_d.style_nonce},t}(),n.Runner=function(){function t(t,e){this.conf=t,this.ph=e,this.mf=new n.MFactory(this.conf)}var r;return t.prototype.run=function(t,n){return this.exec(t,n)},t.prototype.exec=function(t,n){return this.walk(t,n),this.ph(n)},t.prototype.walk=function(t,n){var e,s,i,o,u,l;if(null!=(o=this.mf.provide(t))&&r(o,t,n)&&("skip"!==(u=o.process(t,n,this))&&!(!0===u)))for(s=0,i=(l=o.getNodes(t)).length;i>s;s++)e=l[s],this.walk(e,n)},t.prototype.find=function(t,n,e,s){var i,o,u,l,a;if(null==s&&(s=[]),null==(l=this.mf.provide(t)))return!1;if(!r(l,t,n))return!1;for(e(t)&&s.push(t),o=0,u=(a=l.getNodes(t)).length;u>o;o++)i=a[o],this.find(i,n,e,s);return s},t.prototype.findOne=function(t,n,e){var r,s,i,o,u,l;if(e(t))return t;if(null!=(u=this.mf.provide(t)))for(i=0,o=(l=u.getNodes(t)).length;o>i;i++)if(r=l[i],s=this.findOne(r,n,e))return s},t.prototype.resume=function(t,n){var e;return e={module:"root",items:t.items.concat()},this.exec(e,n)},r=function(t,n,r){var s,i;switch(!1){case!!t.active(n,r):case!((null!=(i=s=t.getConds(n,r))?i.length:void 0)>0&&!e.Conds.evalConds(s,r,n.module)):return!1;default:return!0}},t}(),exports.Conds=e.Conds,n.MFactory=function(){function t(t){this.conf=t}return t.prototype.provide=function(t){var n;n=t.module;try{return new(0,require("./modules/"+n).m)(this.conf)}catch(t){return console.log("Can't provide '"+n+"'","e"),null}},t}(),n.State=function(){function n(n,r){var o,u,l,a,c,d,p,f,h,v,y,g,m,w,x;if(this.conf=n,null==r&&(r={}),this.tAdd=s(this.tAdd,this),this.r=r,this.out={status:200,res:[],sel:{},log:[],work:[],ext:{}},w=null!=(p=r.v)?p:{},x=Array.isArray(w.vid)&&w.vid.length>0?w.vid.join("||"):w.vid,l=!0===this.conf["qa:v-qa"]||"true"===(f=w.qa)||!0===f,this.debug=r.debug||this.conf["js:debug-all"],this.dirty={},this.pvd={},this.data={"v.ip":w.ip,"v.ua":w.ua,"v.vid":x,"v.ref":w.ref,"v.tzo":w.tzo,"v.ts":w.ts>9999999999?Math.floor(w.ts/1e3):w.ts>0?Math.floor(w.ts):null,"v.traits":["*"],"v.qa":l,"v.bot":new t(this.conf).detect(w.ua),"v.lang":w.lang,ud:{},"d.ep":null!=(h=r.ep)?h:"wax","d.dc":function(){var t;return null!=(t=r.dt)?t:_d.v.d},selex:function(t){try{return null!=document.querySelector(decodeURIComponent(t))}catch(t){}},selval:function(t){try{return document.querySelector(decodeURIComponent(t)).value}catch(t){}},seltc:function(t){try{return document.querySelector(decodeURIComponent(t)).textContent}catch(t){}},vels:function(t){return function(){return t.vels()}}(this),pvels:function(t){return function(){return t.pvels()}}(this),gh:function(t){return function(n){return t.rwdHas(n)}}(this),gc:function(t){return function(n){return t.rwdN(n)}}(this),gse:function(t){return function(n){return t.rwdEls(n)}}(this),wf:function(t){var n;try{return"function"==typeof(n=e.nested(t,window))?n():n}catch(t){}},dl:function(t){var n;return null!=(n=r._dl)?n.get(t):void 0},st:function(t){var n,r,s,o,u;try{return(r="="===t[0]&&i.call(t,":")>=0)&&(o=t.slice(1).split(":"),t=o[0],s=o[1]),u="function"==typeof(n=null!=n?n:require("harness")).st_get?n.st_get(t):void 0,r&&(u=e.Obj.read(JSON.parse(u),s)),u}catch(t){}},qfv:function(t){return function(n){var e;return(e=t.qs)?e.values[n]:null}}(this)},this.dnt(w.dnt),this.loc(null!=(v=w.loc)?v:{}),this.data["v.sid"]=w.sid,this.ud(r.ud),"string"==typeof this.r.sels)for(a=0,c=(y=this.r.sels.split(",")).length;c>a;a++)o=(g=y[a].split(":"))[0],u=g[1],this.selPre(o,u);this.conf["dl:cdl"]&&("undefined"!=typeof window&&null!==window?this._cdl=null!=window[d=this.conf["dl:cdl-key"]]?window[d]:window[d]=[]:this._cdl=this.out.ext.cdl=[]),this.tAdds(w.traits,"api"),this.vstate(null!=(m=w.vstate)?m:"#init")}var o,u,l,a;return n.prototype._conf=function(t){return this.conf[t]},u=function(t,n){var e;return null!=(e=_d.A[t])?e.a.c[n]:void 0},n.prototype.a_dc=function(t){var n;return null!=(n=_d.A[t])?n.dc:void 0},n.prototype.c_name=function(t,n){var e;return(e=_d.A[t])&&e.cn?{a:e.n,c:e.cn[n]}:{a:t,c:n}},n.prototype.loc=function(t){return t?Object.assign(this.data,{"v.loc":t,"v.loc.path":t.pathname,"v.loc.qs":e.Strings.qs(t.search),"v.loc.qx":t.protocol+"//"+t.host+t.pathname}):void 0},n.prototype.ud=function(t){return Object.assign(this.data.ud,l(t))},n.prototype.stepSet=function(t){return this.step=t},n.prototype.resp=function(t){return this.out.res.push(t)},n.prototype.ts=function(){var t;return null!=(t=this.data["v.ts"])?t:a()},n.prototype.respGet=function(t){var n,e,r,s;for(e=0,r=(s=this.out.res).length;r>e;e++)if((n=s[e]).a===t)return n},n.prototype.keep=function(){try{return window.dispatchEvent(new CustomEvent("ConductricsInternalState",{detail:{state:this}}))}catch(t){}},n.prototype.pool=function(){return this.qa()?this.conf["qa:env"]:this.conf["acc:env"]},n.prototype.done=function(t){var n,r,conf,s,i,o,u,l;conf=this.conf,o=null!=(u=t.dp)?u:this.pool(),n=conf["acc:code"],null!=t.fs&&(i=conf["rt:tr-ids"],t.fs=t.fs.map(function(t){var n;return null!=(n=i[t])?n:t})),null==t.ds&&(t.ds=_d.rt.ds),t.di=_d.v.di,s=t.ctx={},conf["pass:ua"]&&(s.ua=this.data["v.ua"]),conf["pass:ip"]&&(s.ip=this.data["v.ip"]),conf["pass:loc"]&&(s.loc=null!=(l=this.data["v.loc"])?l.href:void 0),conf["pass:vid"]&&(s.vid=this.data["v.vid"],!s.vid&&conf["pass:sid"]&&(s.vid=this.data["v.sid"])),conf["pass:sess"]&&(s.sid=this.data["v.sid"]),(conf["pass:qa"]||conf["pass:qax"])&&(s.qa=this.qa()),null!=t.a&&(t.a=e.Strings.qualify(t.a,n,null!=r?r:o)),this.out.work.push(t)},n.prototype.dnt=function(t){return"boolean"==typeof t&&(t&&this.qa()&&(this.log("DO-NOT-TRACK flag detected, but ignoring because QA Mode is in effect.","e"),t=!1),t&&this.log("DO-NOT-TRACK visitor detected; will not persist/send data unless specifically exempted.","e"),this.data["v.dnt"]=t),!0===this.data["v.dnt"]},n.prototype.bot=function(){return null!=this.data["v.bot"]},n.prototype.ep=function(t){var n;return n=this.data,null!=t?(this.log("Entry point "+t,"i"),n["d.ep"]=t):n["d.ep"]},n.prototype.muted=function(){return this.r.muted},n.prototype.reread=function(){return this.data["v.sels"]=this.sess.sels},n.prototype.selAdd=function(t){var n,e;if(null!=(null!=t?t.a:void 0)&&null!=t.c)switch(e=this.data["v.sels"],this.out.sel[t.a]=t,n=e[t.a],t.p){case"s":if(n&&n.s!==t.s)return n.s=t.s,this.dirty.s=!0;break;default:return e[t.a]=t,null!=this.sess.rwds[t.a]&&(this.sess.rwds[t.a]={}),this.dirty.s=!0}},n.prototype.selDel=function(t){return this.selHas(t)?(this.log("Discarding selection for agent "+t,"a"),delete this.data["v.sels"][t],this.sess.rwds[t]={},this.dirty.s=!0):void 0},n.prototype.selGet=function(t){var n,e,r,s,i;return i=null!=(e=u(t,"a:sd-ttl"))?e:this.conf["a:sd-ttl"],n=this.data["v.sels"][t],s=this.ts(),null!=n&&n.ts+i>=s&&n.ts>=(null!=(r=_d.A[t])?r.drts:void 0)?(null==n.fs&&(n.fs=this.tr().concat()),n):void 0},n.prototype.selHas=function(t){return null!=this.data["v.sels"][t]},n.prototype.selRed=function(t,n){return n instanceof Array?(this.data["a.sel-reduce:"+t]=n,void this.log("Reducing choices for "+t+" to ["+n+"]","a")):this.data["a.sel-reduce:"+t]},n.prototype.selPre=function(t,n){return"string"==typeof n?(this.data["a.sel-pre:"+t]=n,this.selRed(t,[n])):this.data["a.sel-pre:"+t]},n.prototype.enfVcPre=function(){return!0===this.r.enforce_entry},n.prototype.selsOnly=function(){return!0===this.r.sels_only},n.prototype.rwdAdd=function(t,n,e){var r,s;return r=this.sess.rwds[t],Array.isArray(r[n])&&(r[n]=void 0),null==(s=null!=r[n]?r[n]:r[n]={}).n&&(s.n=0),s.n+=1,null==s.v&&(s.v=0),s.v+=e,s.ts=a(),this.dirty.r=!0},n.prototype.rwdHas=function(t){return this.rwdN(t)>0},n.prototype.rwdN=function(t){var n,e,r,s;for(n in e=0,r=this.sess.rwds)(s=r[n][t])&&s.n>e&&(e=s.n);return e},n.prototype.rwdEls=function(t){var n,e,r;for(n in e=this.sess.rwds)if((r=e[n][t])&&r.ts>0)return a()-r.ts;return null},n.prototype.rwdCnt=function(t,n){var e,r,s;return null!=(e=null!=(r=this.sess.rwds[n])&&null!=(s=r[t])?s.n:void 0)?e:0},n.prototype.polSet=function(t,n){return"string"!=typeof t||"a"!==n&&"r"!==n&&"c"!==n&&"p"!==n&&"b"!==n&&"x"!==n||(this.data["a.sel-pol:"+t]=n,0)?void 0:this.log("Setting policy for "+t+" to (policy "+n+")","a")},n.prototype.polHas=function(t){return null!=this.polGet(t)},n.prototype.polGet=function(t){return this.data["a.sel-pol:"+t]},n.prototype.vstate=function(t){var n,e,r,s,o;return e=this.data,0===arguments.length?e["v.vstate"]:(o=null!=(s=this.conf["rt:spa-states"])?s:"",n=this.vstate(),i.call(o,t)>=0&&i.call(this.conf["rt:spa-states-pv"],t)>=0&&(t!==n||i.call(this.conf["rt:spa-states-m"],t)>=0)&&(this.pvd={}),(r=i.call(o,t)>=0&&t!==n)&&(null!=e["v.vstate"]&&this.log("view-state is now '"+t+"' (was '"+n+"')","x"),"#init"!==t&&this.mdn()&&this.loc(window.location),e["v.vstate"]=t),r)},n.prototype.qa=function(t){return"boolean"==typeof t?(this.log("QA Mode: "+t,"q"),this.data["v.qa"]=t):!0===this.data["v.qa"]},n.prototype.tr=function(){return this.data["v.traits"]},n.prototype.tFor=function(t){var n,e,r,s,o,u,l,a,c,d;if(e=null!=(l=_d.A[t])?l:{},s=null!=(a=e.fs)?a:this.tr(),d=this.tr().filter(function(n){var e;return"*"===n||(e=n.split(":")[0],i.call(s,e)>=0)||0===n.indexOf("cust/c-i-")&&n!=="cust/c-i-"+t}).slice(0,this.conf["targ:traits-agent-max"]),e.aa)for(o=0,u=(c=e.aa).length;u>o;o++)(n=c[o]).tr&&(r=this.selGet(n.aa))&&d.push("cust/"+n.tr+":"+r.c);return d},n.prototype.ttFor=function(t){var n,e;return null!=(e=(null!=(n=_d.A[t])?n:{}).fs)?e:[]},n.prototype.tExt=function(){return this.tr().filter(function(t){return 0===t.indexOf("cust/")&&-1===t.indexOf("cust/c-i-")})},n.prototype.tSti=function(){return this.tr().filter(function(t){var n;return 0===t.indexOf("cust/")&&(n=t.split(":")[0],i.call(_d.rt.eph,n)<0)})},n.prototype.tMap=function(t){var n,e,r,s,i,o;for(i={"*":1},e=this.conf["rt:tr-ids"],r=0,s=t.length;s>r;r++)i[null!=(o=e[n=t[r]])?o:n]=1;return i},n.prototype.tHas=function(t){return t=o(t),i.call(this.data["v.traits"],t)>=0},n.prototype.ttHas=function(t){return this.data["v.traits"].some(function(n){return n.split(":")[0]===t})},n.prototype.tAdds=function(t,n,e){var r,s,o,u,l,a;if(Array.isArray(t))for(r=0,u=t.length;u>r;r++)l=t[r],this.tAdd(l,n,e);else if("object"==typeof t)for(s in t)switch(a=t[s],o=i.call(s,":")>=0,!1){case!(o&&a):this.tAdd(""+s,n,e);break;case!(!o&&"string"==typeof a):this.tAdd(s+":"+a,n,e)}},n.prototype.tAdd=function(t,n,e){var r,s,u,l,a,c,d,p,f,h,v,y,g,m,w;if(null==e&&(e=null),c=(f=(t=o(t)).split(":"))[0],m=f[1],"def"===n){if(this.ttHas(c))return}else if("init"===n&&i.call(_d.rt.eph,c)>=0)return;if(!m)return!1;if(t.indexOf(" ")>-1&&(t=(c=c.trim())+":"+(m=m.trim())),(r=null!=(v=(g=null!=(h=_d.T[c])?h:{}).al)?v:{})[m]&&(this.log("Trait alias '"+m+"' mapped to value '"+r[m]+"'","t"),t=c+":"+(m=r[m])),(l=0===c.indexOf("cust/"))&&!this.conf["rt:tr-ids"][t])return this.log("Unknown trait '"+t+"' ("+n+")","t"),!1;if(this.tHas(t))return!1;if(u="init"===n,null!=(s=this.data["targ."+c]))switch(p=null!=(y=g.me)?y:"l"){case"f":if(!u)return!1;this.tDel(c+":"+s);break;case"l":if(u)return!1;this.tDel(c+":"+s)}if(this.data["targ."+c]=m,this.data["v.traits"].push(t),u||l&&(this.dirty.t=!0),this.log("Added trait '"+t+"' ("+n+")","t"),e&&"l"===p)for(a=0,d=e.length;d>a;a++)w=e[a],this.tApp(c,m,w);return!0},n.prototype.tApp=function(t,n,e){var r,s,o,u,l;e.a&&(r=e.a.split(":")[1],i.call(this.ttFor(r),t)>=0&&(o=this.selGet(r))&&(u=t+":"+n,-1===o.fs.indexOf(u)&&(this.log("Post-applying trait '"+u+"' for selection '"+o.c+"' for agent '"+r+"'","t"),l=t+":",s=function(t){return!t.startsWith(l)},e.fs=e.fs.filter(s),e.fs.push(u),o.fs=o.fs.filter(s),o.fs.push(u))))},n.prototype.tDel=function(t){var n,e,r;return t=o(t),!!this.tHas(t)&&(n=(r=t.split(":"))[0],r[1],null!=n&&(this.data["targ."+n]=void 0,(e=this.data["v.traits"].indexOf(t))>-1&&this.data["v.traits"].splice(e,1),this.log("Removed trait '"+t+"'","t"),!0))},o=function(t){switch(!1){case"*"!==t:return"*";case i.call(t,"/")>=0:return"cust/"+t;default:return t}},n.prototype.plAdd=function(t){var n,e,r;return n=null!=(e=null!=(r=this.data["v.pl"])?r.split(","):void 0)?e:[],i.call(n,t)<0&&n.push(t),this.data["v.pl"]=n.join(",")},n.prototype.vn=function(){var t;return null!=(t=this.sess.vn)?t:0},n.prototype.vnAdv=function(){var t,n,e,r,s;t=null!=(e=(s=this.sess).vts)?e:0,(n=a())>t+this.conf["a:vis-ttl"]&&(t>0&&(s.pvts=t),s.vn=(null!=(r=s.vn)?r:0)+1,s.tvts=n),s.vts=n,this.log("Visit #"+s.vn,"i")},n.prototype.vels=function(){var t,n;return(t=a())-Math.min(null!=(n=this.sess.tvts)?n:0,t)},n.prototype.pvels=function(){var t,n;return(t=a())>(n=this.sess.pvts)?t-n:null},n.prototype.log=function(t,n){return this.out.log.push(t),this.debug?(t="C:\\ ["+this.out.log.length+"] "+t,r?r(t,n):console.log(t)):void 0},n.prototype.cdl_push=function(t){return this._cdl.push(t)},n.prototype.mdn=function(){return this.r.mdn},n.prototype.qualify=function(t){return e.Strings.qualify(t,this.conf["acc:code"],this.conf["acc:env"])},a=function(){return e.Dates.stamp()},l=function(t){var n,e,r,s;if(t){for(n in r={},t)("string"==(e=typeof(s=t[n]))||"number"===e||"boolean"===e)&&(r[n]=s);return r}},n}(),exports.Reapplyer=function(){function t(t,n,e,r){this.cb=t,this.targets=null!=n?n:[],this.opts=null!=e?e:{characterData:!0,subtree:!0,attributes:!0,childList:!0},this.max=null!=r?r:100,this.on=s(this.on,this);try{this.o=new MutationObserver(this.on)}catch(t){}this.n=0}return t.prototype.start=function(){var t,n,e,r,s;for(t=0,n=(e=this.targets).length;n>t;t++)s=e[t],this.o&&1===s.nodeType&&null!=(r=this.o)&&r.observe(s,this.opts)},t.prototype.stop=function(){var t;return null!=(t=this.o)?t.disconnect():void 0},t.prototype.on=function(t,n){return this.n++<this.max?(this.stop(),this.cb(),this.start()):void 0},t}()}).call(this);
},{"../../bots":1,"../../utils":22,"harness":"harness","log-styles":"log-styles"}],17:[function(require,module,exports){
(function(){exports.ScriptReg=function(){function t(){this.cbs={}}var e,n,c;return t.prototype.load=function(t,e){return this._load(t,n(t),e)},t.prototype.load_lang=function(t,n){var c;return(c=_wa_cjs[t])?n(c):void this._load(t,e(t),function(){return n(_wa_cjs[t])})},t.prototype._load=function(t,e,n){var o,r;return document.querySelector("script.c-wa[id='"+t+"']")?n():(this.cbs[t]=n,(o=document.createElement("script")).src=e,o.id=t,o.class="c-wa",(r=c())&&(o.nonce=r),void document.getElementsByTagName("head")[0].appendChild(o))},t.prototype.preload=function(t){var e,o;(e=document.createElement("link")).rel="preload",e.as="script",e.href=n(t),(o=c())&&(e.nonce=o),document.getElementsByTagName("head")[0].appendChild(e)},t.prototype.register=function(t,e){var n;"function"==typeof e&&(n=this.cbs[t])&&(_wa_cjs[t]=e,this.cbs[t]=null,n())},t.prototype.data=function(t,e){var n;null!=e&&(n=this.cbs[t])&&(_wa_cjs[t]=e,this.cbs[t]=null,n())},n=function(t){return _d.rt.js+"/"+t+"?apikey="+_d.acc.k},e=function(t){return _d.rt.la+"/"+t+"?apikey="+_d.acc.k},c=function(){var t,e;return(t=document.querySelector("script[nonce]"))?null!=(e=t.nonce)?e:t.getAttribute("nonce"):void 0},t}()}).call(this);
},{}],18:[function(require,module,exports){
(function(){var e,n=[].indexOf||function(e){for(var n=0,t=this.length;t>n;n++)if(n in this&&this[n]===e)return n;return-1};exports.dl_eventMsgApplies=function(n,t,r,i){var l;return!!n&&(((r=null!=(l=r.eventInfo)?l:r).event===n||r.eventAction===n||r.eventName===n)&&e(t,r,i))},e=function(e,t,r){var i,l,s,u,f,o,v;if(null==e&&(e=[]),0===e.length)return!0;for(i=0,f=e.length;f>i;i++){if(l="."===(u=e[i]).k[0],s="/"===u.s[0]&&"/"===u.s[u.s.length-1],null==(v=l?t[u.k.substr(1)]:r.get(u.k)))return!1;if(s){if(!RegExp(u.s.slice(1,-1)).test(v))return!1}else if(o=""+v,n.call(u.s.split(","),o)<0)return!1}return!0}}).call(this);
},{}],19:[function(require,module,exports){
(function(){exports._resolve=function(e,s,a){var r,t,c,n,u;return u=s+60*a,isFinite(u)?(t=new Date(1e3*u),r=t.getUTCDay(),c=t.getUTCHours(),n=60*c+t.getUTCMinutes(),function(){switch(e){case"wp":switch(r){case 0:case 6:return"we";default:return"wd"}break;case"dp":switch(c){case 6:case 7:case 8:case 9:case 10:case 11:return"m";case 12:case 13:case 14:case 15:case 16:return"a";case 17:case 18:case 19:case 20:return"e";default:return"n"}break;case"d":return["su","mo","tu","we","th","fr","sa"][r];case"h":return c;case"m":return n;case"z":return Math.floor(a/60);case"ts":return s}}()):null}}).call(this);
},{}],20:[function(require,module,exports){
(function(){exports.registry=function(){function n(conf){this.conf=conf}return n.prototype.getPlugin=function(n,e,t){var o,r;try{if(o=require("./plugins/"+n).p,!0===e&&!0!==r.sync)return;return(r=new o(this.conf))&&(r.harness=t),r}catch(e){return e,"undefined"!=typeof console&&null!==console&&console.log("Plugin '"+n+"' unavailable","e"),null}},n}()}).call(this);
},{}],21:[function(require,module,exports){
(function(){var t,n,r,e,l=[].indexOf||function(t){for(var n=0,r=this.length;r>n;n++)if(n in this&&this[n]===t)return n;return-1};r=require("../../utils"),t=require("./registry"),(n=exports).Plugin=function(){function t(){}return t.prototype.ttl=function(t){return 3600},t.prototype.as_code=function(t){return null!=t?t.replace(/[^A-Za-z0-9_-]/g,"-"):void 0},t.prototype.active=function(t){return!0},t.prototype.resolve=function(t,n,r,e){return e()},t}(),n.Targeter=function(){function n(n,r,e){this.conf=n,this.harness=r,this.sync_only=e,this.registry=new t.registry(this.conf),this.mode=null!=this.harness?"b":"s",this.account=null}return n.prototype.resolve=function(t,n,u){var o,s,i,a,c,d,v;return o="undefined"!=typeof _dd&&null!==_dd&&_dd.targ&&_dd.targ.v?_dd.targ.v:{},(null!=n?n.length:void 0)>0?(c={values:{}},s=null!=t.targ?t.targ:t.targ=null!=(i=null!=(a=t.sess)?a.vals:void 0)?i:{},this.sync_only&&t.log("In sync mode; async targeting lookups will be skipped.","t"),d=[],v=r.Dates.stamp(),e(n,function(n){return function(r,e){var u,i,a,f,g,h,p,y;return null!=(g=o[r])?(c.values[r]=g,e(!1,c)):(a=(h=r.split("/"))[0],u=h[1],(f=n.registry.getPlugin(a,n.sync_only,n.harness))?(f.account=n.account,f.active(t)?(y=f.ttl(u),void 0!==s[r]&&y>0&&s[r].ts+y>v?(c.values[r]=s[r].v,e(!1,c)):(i=null!=(p=f.constructor.modes)?p:[],"b"===n.mode&&l.call(i,"b")<0&&l.call(i,"s")>=0?(d.push(r),e(!1,c)):f.resolve(t,u,s[r],function(t,u){return t?e(t):(c.values[r]=u,s[r]=null!=u&&y>0?{v:u,ts:v}:void 0,null===u&&"b"===n.mode&&l.call(i,"s")>=0&&d.push(r),e())}))):e()):e())}}(this),function(n){return function(e){var l,conf,o,i,a,f,g,h,p,y,_,m;if(e)return u(e);if(conf=n.conf,0===d.length)return u(!1,c);if(y=function(t,n){s[t]={v:null!=n?n:null,ts:v}},p=conf["rt:sl-rate"],_=r.Rand.coin(p),t.log("Resolve ["+d+"] on server? "+_+" ("+p+")","t"),!_){for(i=0,f=d.length;f>i;i++)l=d[i],y(l,null);return u(!1,c)}for(m=conf["targ:lookup-url"]+"?codes="+d.join(",")+"&apikey="+_d.acc.k+"&vid="+t.data["v.vid"]+"&dt="+t.data["d.dc"](),a=0,g=(h=["ua","ip"]).length;g>a;a++)o=h[a],null!=t.data["v."+o]&&(m=m+"&"+o+"="+escape(t.data["v."+o]));return n.harness.http("GET",m,conf["targ:ext-tms"],function(n,r){var e,o,s,i,a,v,f;if(n)return t.log("Could not resolve: "+d+" ("+n+")","t"),u(!1,c);try{for(o=JSON.parse(r).data,v=[],s=0,i=d.length;i>s;s++)l=d[s],f=null!=(a=o.values[l])?a:null,t.log("Resolved on server: '"+l+"' ("+f+")","t"),null==(e=c.values)[l]&&(e[l]=f),v.push(y(l,f));return v}finally{return u(!1,c)}})}}(this))):u(!1,{})},n}(),n.geo_dm=function(conf,t){var n;switch(n=null!=conf?conf["acc:c-dom"]:void 0,!1){case void 0!==n:case null!=t&&""!==t:return"x";case l.call(n,t)<0:return"d";default:return"i"}},e=function(t,n,r){var e,l,u;return l=-1,u=t.length,(e=function(){return++l===u?r():n(t[l],function(t){return t&&r(t),e()})})()}}).call(this);
},{"../../utils":22,"./registry":20}],22:[function(require,module,exports){
(function (process){(function (){
(function(){var n,t=[].slice,r=[].indexOf||function(n){for(var t=0,r=this.length;r>t;t++)if(t in this&&this[t]===n)return t;return-1};switch(n={},!1){case"undefined"==typeof define||null===define:define(function(){return n});break;case"undefined"==typeof module||null===module:module.exports=n}n.Obj=function(){function n(){}return n.extend=function(){var n,r,e,i,o,u;for(n=arguments[0],r=0,i=(u=2<=arguments.length?t.call(arguments,1):[]).length;i>r;r++)for(e in o=u[r])n[e]=o[e];return n},n.read=function(n,t){var r;for(r=t.split(".");r.length&&(n=n[r.shift()]););return n},n}(),n.Dates=function(){function n(){}return n.now=function(){var n;return null!=(n="function"==typeof Date.now?Date.now():void 0)?n:(new Date).getTime()},n.stamp=function(){return Math.floor(this.now()/1e3)},n}(),n.Rand=function(){function n(){}return n.pull=function(n){return n[n.length*Math.random()|0]},n.pick=function(n,t){var r,e,i,o,u,f;for(u=0,e=0,i=t.length;i>e;e++)u+=t[e];for(r in 0===u&&(t=n.map(function(n){return 1}),u=n.length),o=Math.random()*u,f=0,t)if((f+=t[r])>o)return n[r]},n.pickn=function(n,t,r){var e,i,o,u,f;for(r=Math.min(r,n.length),n=n.concat(),t=t.concat(),u=[],e=0,f=r;f>e;e+=1)i=this.pick(n,t),u.push(i),o=n.indexOf(i),n.splice(o,1),t.splice(o,1);return u},n.coin=function(n){return n>1||n>=0&&this.pick([!0,!1],[n,1-n])},n}(),n.Conds=function(){function t(){}var e;return t.evalConds=function(r,e,i){var o,u,f,l,c,a,s,h,d;if(!((null!=r?r.length:void 0)>0))return!1;if(s=null!=(r=r.concat())[r.length-1].mode?r.pop():{mode:"all"},0===r.length)return"all"===(d=s.mode)||"any"===d;if("sets"===s.mode)return r.length>0&&r.every(function(t){return n.Conds.evalConds(t,e,i)});if("setsor"===s.mode)return r.some(function(t){return n.Conds.evalConds(t,e,i)});switch(s.mode){case"all":for(u=0,f=r.length;f>u;u++)if(o=r[u],!t.evalCond(o,e,i))return!1;return!0;case"any":for(a=0,l=r.length;l>a;a++)if(o=r[a],t.evalCond(o,e,i))return!0;return!1;case"none":for(h=0,c=r.length;c>h;h++)if(o=r[h],t.evalCond(o,e,i))return!1;return!0;default:throw Error("Unknown conds mode '"+s.mode+"'")}},t.evalCond=function(r,e,i){var o,u,f,l,c,a,s;return null==i&&(i=""),u=r[0],l=r[1],s=r[2],u=n.Strings.interpolate(u,e.data),s=n.Strings.interpolate(s,e.data),("gt"===l||"gte"===l||"lt"===l||"lte"===l)&&("string"==typeof u&&(u=parseFloat(u)),"string"==typeof s&&(s=parseFloat(s))),c=null!=(a="function"==typeof(o=t.ops)[l]?o[l](u,s):void 0)&&a,"undefined"!=typeof process&&null!==process&&(f=c?"ct":"cf",e.log("Condition "+c+": "+r+" ("+u+") ("+s+") ["+i+"]",f)),c},t.ops={is:function(n,t){return n===t},isnt:function(n,t){return n!==t},mp:function(t,r){return!0===n.Strings.pmatch(t,r,!0)},"mp-not":function(t,r){return!1===n.Strings.pmatch(t,r,!0)},gt:function(n,t){return n>t},lt:function(n,t){return t>n},gte:function(n,t){return n>=t},lte:function(n,t){return t>=n},inr:function(n,t){var r;return Array.isArray(t)&&t[0]<=(r=+n)&&r<=t[1]},ninr:function(n,t){return!(Array.isArray(t)&&t[0]<=n&&n<=t[1])},in:function(n,t){return""!==n&&t.indexOf(n)>=0},nin:function(n,t){return""===n||-1===t.indexOf(n)},sw:function(n,t){return n.slice(0,t.length)===t},ew:function(n,t){return n.slice(-t.length)===t},"sw-not":function(n,t){return n.slice(0,t.length)!==t},"ew-not":function(n,t){return n.slice(-t.length)!==t},re:function(n,t){try{return RegExp(t).test(n)}catch(n){return n,!1}},"re-not":function(n,t){try{return!1===RegExp(t).test(n)}catch(n){return n,!1}},sub:function(n,t){return("function"==typeof n.indexOf?n.indexOf(t):void 0)>=0},"sub-not":function(n,t){return!(("function"==typeof n.indexOf?n.indexOf(t):void 0)>=0)},"has-any":function(n,t){var i,o,u;if(!((n=e(n)).length>0&&t.length>0))return!1;for(i=0,o=t.length;o>i;i++)if(u=t[i],r.call(n,u)>=0)return!0;return!1},"has-all":function(n,t){var i,o,u;if(!((n=e(n)).length>0&&t.length>0))return!1;for(i=0,o=t.length;o>i;i++)if(u=t[i],r.call(n,u)<0)return!1;return!0},"has-none":function(n,t){var i,o,u;if(!((n=e(n)).length>0&&t.length>0))return!0;for(i=0,o=t.length;o>i;i++)if(u=t[i],r.call(n,u)>=0)return!1;return!0}},e=function(n){switch(!1){case""!==n:return[];case"string"!=typeof n:return n.split(",");default:return n}},t}(),n.Strings=function(){function n(){}var t,r;return t=/^[A-Za-z0-9_-]+$/,r=/\$\{([A-Za-z0-9.:_=%-]+)\}/g,n.isId=function(n,r){var e,i,o;if(null==r&&(r=!1),"undefined"===n||"string"!=typeof n)return!1;if(r){if(!((o=n.split(":")).length>1))return!1;for(e=0,i=o.length;i>e;e++)if(n=o[e],!this.isId(n))return!1;return!0}return"string"==typeof n&&n.length<=100&&t.test(n)},n.isValidExtenalId=function(n,t){return null==t&&(t=500),"string"==typeof n&&n.length<=t&&n.trim()===n&&!/['"“”]+/.test(n)&&/^[ \S]+$/.test(n)},n.interpolate=function(t,r){var e,i,o,u,f,l;if(Array.isArray(t))return t;if(0===(o=n.interkeys(""+t)).length)return t;for(f=""+t,e=0,u=o.length;u>e;e++)i=o[e],l=n.propeval(i,r),f=f.replace("${"+i+"}",null!=l?l:"");return f},n.interkeys=function(n){var t,e;if("string"!=typeof n)return[];if(-1===n.indexOf("${"))return[];if("${"===n.slice(0,2)&&-1===n.indexOf("::")&&n.indexOf("}")===n.length-1)return[n.slice(2,-1)];for(e=[];null!=(t=r.exec(n));)e.push(""+t[1]);return e},n.propeval=function(n,t){var r,e,i,o,u,f;for(f=t,r=e=0,i=(u=o=n.split("::")).length;i>e&&null!=(f=f[u[r]]);r=++e)if("function"==typeof f)return f(o[r+1]);return f},n.isNum=function(n){return""+ +n===n},n.parseUrl=function(n){var t,r,e,i,o,u,f;switch(!1){case!(null==n):return null;case"object"!=typeof n:return n;case"undefined"==typeof window||null===window:if(window.location.href===n)return window.location;try{return new window.URL(n)}catch(l){l;try{for(t=$("<a>",{href:n})[0],o={},r=0,i=(u=["hash","hostname","href","pathname","port","protocol","search"]).length;i>r;r++)o[e=u[r]]=null!=(f=t[e])?""+f:void 0;return o.pathname.length>0&&"/"!==o.pathname[0]&&(o.pathname="/"+o.pathname),o}catch(n){return void n}}break;default:return require("url").parse(n)}},n.pmatch=function(n,t,r){return null==r&&(r=!1),r&&(n=this.pnorm(n),t=this.pnorm(t)),t=t.replace(/\*/g,"[\\S]*"),RegExp("^"+t+"$").test(n)},n.pnorm=function(n){return n.length>1&&"/"!==n.slice(-1)&&"*"!==n.slice(-1)?n+"/":n},n.qualify=function(n,t,r){return-1===n.indexOf(":")?t+":"+n+":"+r:n},n.qs=function(n){var t,r,e,i,o,u,f;if("function"==typeof URLSearchParams)try{return Object.fromEntries(new URLSearchParams(n).entries())}catch(n){}if(u={},"string"!=typeof n)return u;for(t=0,e=(o=(n=n.trim().replace(/^(\?|#|&)/,"")).split("&")).length;e>t;t++)r=(i=o[t].replace(/\+/g," ").split("=")).shift(),f=i.length>0?i.join("="):void 0,u[decodeURIComponent(r)]=null!=f?decodeURIComponent(f):null;return u},n}(),n.nested=function(n,t,r){return null==r&&(r="."),n.split(r).reduce(function(n,t){return null!=n?n[t]:void 0},t)},n.arrayFrom=function(n){return Array.from?Array.from(n):[].slice.call(n)},n.waitFor=function(n,t,r,e){var i,o;o=0,(i=function(){var u;return o++,(u=r())?e(u):o>=t?void 0:setTimeout(i,n)})()}}).call(this);
}).call(this)}).call(this,require('_process'))
},{"_process":7,"url":6}],"data-layers":[function(require,module,exports){
(function(){var t=function(t,n){return function(){return t.apply(n,arguments)}},n=[].indexOf||function(t){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===t)return n;return-1};exports.DL=function(){function e(conf,n,e,s){this.conf=conf,this.listener=n,null==e&&(e="dataLayer"),null==s&&(s=window),this.sub=t(this.sub,this),this._on=t(this._on,this),this.subs=[],this.dl=function(){switch(typeof e){case"string":return null!=s[e]?s[e]:s[e]=[];case"object":return e;default:return}}(),this.enabled()&&(null==s.DataLayerHelper&&require("dl-helper"),this.dlh=new s.DataLayerHelper(this.dl,this._on,!0))}return e.prototype.enabled=function(){var t;return"function"==typeof(null!=(t=this.dl)?t.push:void 0)},e.prototype.get=function(t){return this.enabled()?this.dlh.get(t):void 0},e.prototype.push=function(t,n){var e;this.enabled()&&(null===t?this.dl.push(n):this.dl.push(((e={event:t})[""+t]=n,e)))},e.prototype._on=function(t,n){var e,s,i,r,u,o,h;switch(!1){case"string"!=typeof(h=n[this.conf["dl:key-vs"]]):return this.listener.on("ConductricsStateChange",h);case!Array.isArray(e=n[this.conf["dl:key-ex"]]):return this.listener.on("ConductricsCommands",{commands:e});case"string"!=typeof n.event:for(o=[],i=0,r=(u=this.subs).length;r>i;i++)s=u[i],o.push(s(n));return o}},e.prototype.sub=function(t){var e,s,i,r;if(!(n.call(this.subs,t)>=0)){if(this.enabled()&&this.conf["dl:past-events"])for(e=0,s=(r=this.dl).length;s>e;e++)"string"==typeof(i=r[e]).event&&t(i);this.subs.push(t)}},e.prototype.unsub=function(t){return this.subs.splice(this.subs.indexOf(t),1)},e}()}).call(this);
},{"dl-helper":"dl-helper"}],"dl-helper":[function(require,module,exports){
!function(){var t=/\[object (Boolean|Number|String|Function|Array|Date|RegExp)\]/;function r(r){return null==r?String(r):(r=t.exec(Object.prototype.toString.call(Object(r))))?r[1].toLowerCase():"object"}function n(t,r){return Object.prototype.hasOwnProperty.call(Object(t),r)}function e(t){if(!t||"object"!=r(t)||t.nodeType||t==t.window)return!1;try{if(t.constructor&&!n(t,"constructor")&&!n(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}for(var e in t);return void 0===e||n(t,e)}function i(t,r,n){this.b=t,this.f=r||function(){},this.d=!1,this.a={},this.c=[],this.e=function(t){return{set:function(r,n){a(c(r,n),t.a)},get:function(r){return t.get(r)}}}(this),o(this,t,!n);var e=t.push,i=this;t.push=function(){var r=[].slice.call(arguments,0),n=e.apply(t,r);return o(i,r),n}}function o(t,n,i){for(t.c.push.apply(t.c,n);!1===t.d&&0<t.c.length;){if("array"==r(n=t.c.shift()))t:{var o=n,f=t.a;if("string"==r(o[0])){for(var u=o[0].split("."),s=u.pop(),p=(o=o.slice(1),0);p<u.length;p++){if(void 0===f[u[p]])break t;f=f[u[p]]}try{f[s].apply(f,o)}catch(t){}}}else if("function"==typeof n)try{n.call(t.e)}catch(t){}else{if(!e(n))continue;for(var l in n)a(c(l,n[l]),t.a)}i||(t.d=!0,t.f(t.a,n),t.d=!1)}}function c(t,r){for(var n={},e=n,i=t.split("."),o=0;o<i.length-1;o++)e=e[i[o]]={};return e[i[i.length-1]]=r,n}function a(t,i){for(var o in t)if(n(t,o)){var c=t[o];"array"==r(c)?("array"==r(i[o])||(i[o]=[]),a(c,i[o])):e(c)?(e(i[o])||(i[o]={}),a(c,i[o])):i[o]=c}}window.DataLayerHelper=i,i.prototype.get=function(t){var r=this.a;t=t.split(".");for(var n=0;n<t.length;n++){if(void 0===r[t[n]])return;r=r[t[n]]}return r},i.prototype.flatten=function(){this.b.splice(0,this.b.length),this.b[0]={},a(this.a,this.b[0])}}();
},{}],"harness":[function(require,module,exports){
(function(){var t,e,n,o,r,c,u,s,i;n="cp-sess",e="cp-hold",s=require("../../dom-utils"),c=s.cookie_set,r=s.cookie_get,o=function(t){try{return localStorage.getItem(t)}catch(t){}},module.exports=t={single:!0,sess_get:function(){return r(n)},sess_set:function(t){try{c(n,t)}catch(t){}},sess_del:function(){try{c(n,"",0)}catch(t){}},beacon:function(e,n){navigator.sendBeacon?navigator.sendBeacon(e,n):t.http("GET",e)},http:function(t,e,n,o){var r;null==n&&(n=2e3),r=new XMLHttpRequest,null!=o&&(r.onload=function(){return o(!1,r.responseText)},r.ontimeout=function(){return o("timeout")},r.onerror=function(){return o("HTTP error ("+r.status+")")}),r.open(t,e),r.timeout=n,r.send()},st_get:function(t){var e,n;if(t)try{return null!=(e=null!=(n=r(t))?n:sessionStorage.getItem(t))?e:localStorage.getItem(t)}catch(t){}},env_get:function(){var t,e,n,r;if(t="true"===o("c-conductrics-new"))try{localStorage.removeItem("c-conductrics-new")}catch(t){}return{mdn:(e=u())?"m":"n",v:{ua:navigator.userAgent,loc:window.location,ref:window.document.referrer,ts:-1,tzo:0-(new Date).getTimezoneOffset(),dnt:!e||1===(n=navigator.doNotTrack)||"1"===n||navigator.globalPrivacyControl||!i(),vid:this.st_get(_d.conf["targ:vid"]),qa:this.st_get(_d.conf["qa:st-key"]),lang:null!=(r=document.documentElement.lang)?r:navigator.language},debug:"true"===o("c-conductrics-debug"),muted:"true"===o("c-conductrics-muted"),abort:"true"===this.st_get("c-conductrics-abort"),newv:t,sels:this.st_get("c-conductrics-sels"),enforce_entry:"true"===this.st_get("c-conductrics-entry-enforce"),sels_only:"true"===this.st_get("c-conductrics-preview-only")}},log:function(){return"undefined"!=typeof console&&null!==console?console.log.call(this,arguments):void 0},q_get:function(){var t;try{t=JSON.parse(sessionStorage.getItem(e))}catch(t){}return Array.isArray(t)||(t=[]),t},q_add:function(t){t.length>0&&sessionStorage.setItem(e,JSON.stringify(this.q_get().concat(t)))},q_del:function(){try{return sessionStorage.removeItem(e)}catch(t){}},p_get:function(){return"undefined"!=typeof performance&&null!==performance?performance.getEntriesByType("resource").find(function(t){var e;return(null!=(e=t.name)?e.indexOf(_d.v.d):void 0)>-1}):void 0}},u=function(){try{return"undefined"!=typeof document&&null!==document&&null!=window.addEventListener&&null!=window.localStorage&&null!=window.atob}catch(t){return!1}},i=function(){var t;try{return t="c-storage-check",localStorage.setItem(t,1),localStorage.removeItem(t),!0}catch(t){return!1}}}).call(this);
},{"../../dom-utils":4}],"jsonpack":[function(require,module,exports){
("undefined"!=typeof define&&define.amd?define:function(e,r){var n=r();if("undefined"!=typeof exports)for(var t in n)exports[t]=n[t];else window.jsonpack=n})([],function(){var e=function(e){return"string"!=typeof e?e:e.replace(/[\+ \|\^\%]/g,function(e){return{" ":"+","+":"%2B","|":"%7C","^":"%5E","%":"%25","~":"%7E"}[e]})},r=function(e){return"string"!=typeof e?e:e.replace(/\+|%2B|%7C|%5E|%25/g,function(e){return{"+":" ","%2B":"+","%7C":"|","%5E":"^","%25":"%","%7E":"~"}[e]})},n=function(e){return Number.prototype.toString.call(e,36).toUpperCase()},t=function(e){return parseInt(e,36)},i=Array.prototype.indexOf||function(e,r){for(var n=r||0,t=this.length;t>n;n++)if(this[n]===e)return n;return-1};return{JSON:JSON,pack:function(r,t){t=t||{},r="string"==typeof r?this.JSON.parse(r):r;var s={strings:[],integers:[],floats:[]},f=function r(t){var f,u=typeof t;if(null===t)return{type:"null",index:-3};if(void 0===t)return{type:"undefined",index:-5};if(t instanceof Array){for(var a=["@"],o=0;o<t.length;o++)a.push(r(t[o]));return a}if("object"===u){for(var p in a=["$"],t)t.hasOwnProperty(p)&&(a.push(r(p)),a.push(r(t[p])));return a}if(""===t)return{type:"empty",index:-4};if("string"===u)return-1==(f=i.call(s.strings,t))&&(s.strings.push(e(t)),f=s.strings.length-1),{type:"strings",index:f};if("number"===u&&t%1==0)return-1==(f=i.call(s.integers,t))&&(s.integers.push(n(t)),f=s.integers.length-1),{type:"integers",index:f};if("number"===u)return-1==(f=i.call(s.floats,t))&&(s.floats.push(t),f=s.floats.length-1),{type:"floats",index:f};if("boolean"===u)return{type:"boolean",index:t?-1:-2};throw Error("Unpack type "+typeof t)}(r),u=s.strings.length,a=s.integers.length,o=(s.floats.length,s.strings.join("|"));return o+="^"+s.integers.join("|"),o+="^"+s.floats.join("|"),o+="^"+function e(r){if(r instanceof Array){for(var t=r.shift(),i=0;i<r.length;i++)t+=e(r[i])+"|";return("|"===t[t.length-1]?t.slice(0,-1):t)+"]"}var s=r.type,f=r.index;if("strings"===s)return n(f);if("integers"===s)return n(u+f);if("floats"===s)return n(u+a+f);if("boolean"===s)return r.index;if("null"===s)return-3;if("undefined"===s)return-5;if("empty"===s)return-4;throw new TypeError("The item is alien!")}(f),t.debug?{dictionary:s,ast:f,packed:o}:o},unpack:function(e,n){if("string"!=typeof e)return e;n=n||{};var i=e.split("^"),s=[],f=i[0];if(""!==f){f=f.split("|");for(var u=0;u<f.length;u++)s.push(r(f[u]))}if(""!==(f=i[1]))for(f=f.split("|"),u=0;u<f.length;u++)s.push(t(f[u]));if(""!==(f=i[2]))for(f=f.split("|"),u=0;u<f.length;u++)s.push(parseFloat(f[u]));f=void 0;var a="",o=[];for(u=0;u<i[3].length;u++){var p=i[3][u];"|"===p||"$"===p||"@"===p||"]"===p?(a&&(o.push(t(a)),a=""),"|"!==p&&o.push(p)):a+=p}var l=o.length,h=0;return function e(){var r=o[h++];if("@"===r){for(var n=[];l>h;h++){if("]"===(t=o[h]))return n;if("@"===t||"$"===t)n.push(e());else switch(t){case-1:n.push(!0);break;case-2:n.push(!1);break;case-3:n.push(null);break;case-5:n.push(void 0);break;case-4:n.push("");break;default:n.push(s[t])}}return n}if("$"===r){for(n={};l>h;h++){var t,i=o[h];if("]"===i)return n;if(i=-4===i?"":s[i],"@"===(t=o[++h])||"$"===t)n[i]=e();else switch(t){case-1:n[i]=!0;break;case-2:n[i]=!1;break;case-3:n[i]=null;break;case-5:n[i]=void 0;break;case-4:n[i]="";break;default:n[i]=s[t]}}return n}throw new TypeError("Bad token "+r+" isn't a type")}()}}});
},{}],"loader":[function(require,module,exports){
(function(){exports.Loader=function(){function n(){}return n}()}).call(this);

},{}],"log-styles":[function(require,module,exports){
(function(){var o;o={e:"color:#D50000;",a:"color:#2962FF;",g:"color:#2E7D32;",t:"color:#359996;",s:"color:#AA00FF;",x:"color:#6A1B9A;",ct:"color:#546E7A;",cf:"color:#607D8B;",q:"color:#FF6D00;",i:"color:#00BFA5;"},exports.logger=function(c,l){return console.log("%c"+c,o[l])}}).call(this);
},{}],"tinybind":[function(require,module,exports){
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).tinybind=e()}(this,function(){"use strict";var t=["prefix","templateDelimiters","rootInterface","preloadData","handler"],e=["binders","formatters","adapters"],i=/^'.*'$|^".*"$/;function n(t){var e=0,n=t;return i.test(t)?n=t.slice(1,-1):"true"===t?n=!0:"false"===t?n=!1:"null"===t?n=null:"undefined"===t?n=void 0:isNaN(t)?e=1:n=Number(t),{type:e,value:n}}function r(t,e){for(var i,n,r=t.length,s=0,a=e[0],o=e[1];s<r;){if((n=t.indexOf(a,s))<0){i&&i.push({type:0,value:t.slice(s)});break}if(i=i||[],0<n&&s<n&&i.push({type:0,value:t.slice(s,n)}),s=n+a.length,(n=t.indexOf(o,s))<0){var h=t.slice(s-o.length),c=i[i.length-1];c&&0===c.type?c.value+=h:i.push({type:0,value:h});break}c=t.slice(s,n).trim(),i.push({type:1,value:c}),s=n+o.length}return i}var s,a,o,h={binders:{},formatters:{},adapters:{},_prefix:"rv",_fullPrefix:"rv-",get prefix(){return this._prefix},set prefix(t){this._prefix=t,this._fullPrefix=t+"-"},parseTemplate:r,parseType:n,templateDelimiters:["{","}"],rootInterface:".",preloadData:!0,handler:function(t,e,i){this.call(t,e,i.view.models)},fallbackBinder:function(t,e){null!=e?t.setAttribute(this.type,e):t.removeAttribute(this.type)},configure:function(t){var i=this;t&&Object.keys(t).forEach(function(n){var r=t[n];-1<e.indexOf(n)?Object.keys(r).forEach(function(t){i[n][t]=r[t]}):i[n]=r})}};function c(t){return"object"==typeof t&&null!==t}var u=function(){function t(t,e,i){this.keypath=e,this.callback=i,this.objectPath=[],this.parse(),this.obj=this.getRootObject(t),c(this.target=this.realize())&&this.set(!0,this.key,this.target,this.callback)}t.updateOptions=function(t){s=t.adapters,a=Object.keys(s),o=t.rootInterface},t.tokenize=function(t,e){for(var i,n=[],r={i:e,path:""},s=0;s<t.length;s++)i=t.charAt(s),~a.indexOf(i)?(n.push(r),r={i:i,path:""}):r.path+=i;return n.push(r),n};var e=t.prototype;return e.parse=function(){var e,i;if(!a.length)throw new Error("[Observer] Must define at least one adapter interface.");e=~a.indexOf(this.keypath[0])?(i=this.keypath[0],this.keypath.substr(1)):(i=o,this.keypath),this.tokens=t.tokenize(e,i),this.key=this.tokens.pop()},e.realize=function(){for(var t,e,i=this.obj,n=-1,r=0;r<this.tokens.length;r++)e=this.tokens[r],c(i)?(void 0!==this.objectPath[r]?i!==(t=this.objectPath[r])&&(this.set(!1,e,t,this),this.set(!0,e,i,this),this.objectPath[r]=i):(this.set(!0,e,i,this),this.objectPath[r]=i),i=this.get(e,i)):(-1===n&&(n=r),(t=this.objectPath[r])&&this.set(!1,e,t,this));return-1!==n&&this.objectPath.splice(n),i},e.sync=function(){var t,e,i;(t=this.realize())!==this.target?(c(this.target)&&this.set(!1,this.key,this.target,this.callback),c(t)&&this.set(!0,this.key,t,this.callback),e=this.value(),this.target=t,((i=this.value())!==e||i instanceof Function)&&this.callback.sync()):t instanceof Array&&this.callback.sync()},e.value=function(){if(c(this.target))return this.get(this.key,this.target)},e.setValue=function(t){c(this.target)&&s[this.key.i].set(this.target,this.key.path,t)},e.get=function(t,e){return s[t.i].get(e,t.path)},e.set=function(t,e,i,n){s[e.i][t?"observe":"unobserve"](i,e.path,n)},e.unobserve=function(){for(var t,e,i=0;i<this.tokens.length;i++)e=this.tokens[i],(t=this.objectPath[i])&&this.set(!1,e,t,this);c(this.target)&&this.set(!1,this.key,this.target,this.callback)},e.getRootObject=function(t){var e,i;if(!t.$parent)return t;for(e=(this.tokens.length?this.tokens[0]:this.key).path,i=t;i.$parent&&void 0===i[e];)i=i.$parent;return i},t}();function l(t,e){var i=!1;if(3===e.nodeType){var n=r(e.data,h.templateDelimiters);if(n){for(var s=0;s<n.length;s++){var a=n[s],o=document.createTextNode(a.value);e.parentNode.insertBefore(o,e),1===a.type&&t.buildBinding(o,null,a.value,m,null)}e.parentNode.removeChild(e)}i=!0}else 1===e.nodeType&&(i=t.traverse(e));if(!i)for(var c=0;c<e.childNodes.length;c++)l(t,e.childNodes[c])}function f(t,e){return t=t.binder&&t.binder.priority||0,(e.binder&&e.binder.priority||0)-t}function d(t){return t.trim()}function p(t){return null!=t?t.toString():void 0}var b=/[^\s']+|'([^']|'[^\s])*'|"([^"]|"[^\s])*"/g,v=/\s+/,y=function(){function t(t,e,i,n,r,s,a){this.view=t,this.el=e,this.type=i,this.keypath=n,this.binder=r,this.arg=s,this.formatters=a,this.formatterObservers={},this.model=void 0}var e=t.prototype;return e.observe=function(t,e){return new u(t,e,this)},e.parseTarget=function(){var t;this.keypath?0===(t=n(this.keypath)).type?this.value=t.value:(this.observer=this.observe(this.view.models,this.keypath),this.model=this.observer.target):this.value=void 0},e.parseFormatterArguments=function(t,e){var i=this;return t.map(n).map(function(t,n){var r=t.type;t=t.value;return 0===r?t:(i.formatterObservers[e]||(i.formatterObservers[e]={}),(r=i.formatterObservers[e][n])||(r=i.observe(i.view.models,t),i.formatterObservers[e][n]=r),r.value())})},e.formattedValue=function(t){var e=this;return this.formatters.reduce(function(t,i,n){var r=(i=i.match(b)).shift();r=e.view.options.formatters[r],i=e.parseFormatterArguments(i,n);return r&&r.read instanceof Function?t=r.read.apply(r,[t].concat(i)):r instanceof Function&&(t=r.apply(void 0,[t].concat(i))),t},t)},e.eventHandler=function(t){var e=this,i=e.view.options.handler;return function(n){i.call(t,this,n,e)}},e.set=function(t){t=t instanceof Function&&!this.binder.function?this.formattedValue(t.call(this.model)):this.formattedValue(t);var e=this.binder.routine||this.binder;e instanceof Function&&e.call(this,this.el,t)},e.sync=function(){this.observer?(this.model=this.observer.target,this.set(this.observer.value())):this.set(this.value)},e.publish=function(){var t,e=this;this.observer&&(t=this.formatters.reduceRight(function(t,i,n){var r=(i=i.split(v)).shift();r=e.view.options.formatters[r],i=e.parseFormatterArguments(i,n);return r&&r.publish?r.publish.apply(r,[t].concat(i)):t},this.getValue(this.el)),this.observer.setValue(t))},e.bind=function(){this.parseTarget(),this.binder.hasOwnProperty("bind")&&this.binder.bind.call(this,this.el),this.view.options.preloadData&&this.sync()},e.unbind=function(){var t=this;this.binder.unbind&&this.binder.unbind.call(this,this.el),this.observer&&this.observer.unobserve(),Object.keys(this.formatterObservers).forEach(function(e){var i=t.formatterObservers[e];Object.keys(i).forEach(function(t){i[t].unobserve()})}),this.formatterObservers={}},e.update=function(t){void 0===t&&(t={}),this.observer&&(this.model=this.observer.target),this.binder.update&&this.binder.update.call(this,t)},e.getValue=function(t){if(this.binder&&this.binder.getValue)return this.binder.getValue.call(this,t);var e=t;if("checkbox"===e.type)return e.checked;if("select-multiple"!==e.type)return e.value;for(var i,n=[],r=0;r<e.options.length;r++)(i=e.options[r]).selected&&n.push(i.value);return n},t}(),m={routine:function(t,e){t.data=null!=e?e:""}},g=/((?:'[^']*')*(?:(?:[^\|']*(?:'[^']*')+[^\|']*)+|[^\|]+))|^$/g,k=function(){function t(t,e,i){t.jquery||t instanceof Array?this.els=t:this.els=[t],this.models=e,this.options=i,this.build()}var e=t.prototype;return e.buildBinding=function(t,e,i,n,r){var s=(i=i.match(g).map(d)).shift();this.bindings.push(new y(this,t,e,s,n,r,i))},e.build=function(){this.bindings=[];for(var t=this.els,e=0,i=t.length;e<i;e++)l(this,t[e]);this.bindings.sort(f)},e.traverse=function(t){for(var e,i,n,r,s=h._fullPrefix,a="SCRIPT"===t.nodeName||"STYLE"===t.nodeName,o=t.attributes,c=[],u=this.options.starBinders,l=0,f=o.length;l<f;l++){var d=o[l];if(0===d.name.indexOf(s)){if(e=d.name.slice(s.length),r=void 0,!(i=this.options.binders[e]))for(var p=0;p<u.length;p++)if(n=u[p],e.slice(0,n.length-1)===n.slice(0,-1)){i=this.options.binders[n],r=e.slice(n.length-1);break}if((i=i||h.fallbackBinder).block)return this.buildBinding(t,e,d.value,i,r),t.removeAttribute(d.name),!0;c.push({attr:d,binder:i,type:e,arg:r})}}for(var b=0;b<c.length;b++){var v=c[b];this.buildBinding(t,v.type,v.attr.value,v.binder,v.arg),t.removeAttribute(v.attr.name)}return a},e.bind=function(){this.bindings.forEach(function(t){t.bind()})},e.unbind=function(){this.bindings.forEach(function(t){t.unbind()})},e.sync=function(){this.bindings.forEach(function(t){t.sync()})},e.publish=function(){this.bindings.forEach(function(t){t.binder&&t.binder.publishes&&t.publish()})},e.update=function(t){var e=this;void 0===t&&(t={}),Object.keys(t).forEach(function(i){e.models[i]=t[i]}),this.bindings.forEach(function(e){e.update&&e.update(t)})},t}(),O=["push","pop","shift","unshift","sort","reverse","splice"],_={counter:0,weakmap:{},weakReference:function(t){var e;return t.hasOwnProperty("__rv")||(e=this.counter++,Object.defineProperty(t,"__rv",{value:e})),this.weakmap[t.__rv]||(this.weakmap[t.__rv]={callbacks:{}}),this.weakmap[t.__rv]},cleanupWeakReference:function(t,e){Object.keys(t.callbacks).length||t.pointers&&Object.keys(t.pointers).length||delete this.weakmap[e]},stubFunction:function(t,e){var i=t[e],n=this.weakReference(t),r=this.weakmap;t[e]=function(){for(var e=arguments.length,s=new Array(e),a=0;a<e;a++)s[a]=arguments[a];var o=i.apply(t,s);return Object.keys(n.pointers).forEach(function(t){var e=n.pointers[t];r[t]&&r[t].callbacks[e]instanceof Array&&r[t].callbacks[e].forEach(function(t){t.sync()})}),o}},observeArray:function(t,e,i){var n,r=this;t instanceof Array&&((n=this.weakReference(t)).pointers||(n.pointers={},O.forEach(function(e){r.stubFunction(t,e)})),n.pointers[e]||(n.pointers[e]=[]),-1===n.pointers[e].indexOf(i))&&n.pointers[e].push(i)},unobserveArray:function(t,e,i){var n,r;t instanceof Array&&null!=t.__rv&&(n=this.weakmap[t.__rv])&&(r=n.pointers[e])&&(-1<(i=r.indexOf(i))&&r.splice(i,1),r.length||delete n.pointers[e],this.cleanupWeakReference(n,t.__rv))},observe:function(t,e,i){var n,r,s=this,a=this.weakReference(t).callbacks;a[e]||(a[e]=[],(r=Object.getOwnPropertyDescriptor(t,e))&&(r.get||r.set||!r.configurable))||(n=t[e],Object.defineProperty(t,e,{enumerable:!0,get:function(){return n},set:function(i){var r;i!==n&&(s.unobserveArray(n,t.__rv,e),n=i,r=s.weakmap[t.__rv])&&((r=r.callbacks[e])&&r.forEach(function(t){t.sync()}),s.observeArray(i,t.__rv,e))}})),-1===a[e].indexOf(i)&&a[e].push(i),this.observeArray(t[e],t.__rv,e)},unobserve:function(t,e,i){var n,r=this.weakmap[t.__rv];r&&(n=r.callbacks[e])&&(-1<(i=n.indexOf(i))&&(n.splice(i,1),n.length||(delete r.callbacks[e],this.unobserveArray(t[e],t.__rv,e))),this.cleanupWeakReference(r,t.__rv))},get:function(t,e){return t[e]},set:function(t,e,i){t[e]=i}};function w(t,e,i){var n=t.el.cloneNode(!0);return(e=new k(n,e,t.view.options)).bind(),t.marker.parentNode.insertBefore(n,i),e}var j={"on-*":{function:!0,priority:1e3,unbind:function(t){this.handler&&t.removeEventListener(this.arg,this.handler)},routine:function(t,e){this.handler&&t.removeEventListener(this.arg,this.handler),this.handler=this.eventHandler(e),t.addEventListener(this.arg,this.handler)}},"each-*":{block:!0,priority:4e3,bind:function(t){this.marker?this.iterated.forEach(function(t){t.bind()}):(this.marker=document.createComment(" tinybind: "+this.type+" "),this.iterated=[],t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t))},unbind:function(t){this.iterated&&this.iterated.forEach(function(t){t.unbind()})},routine:function(t,e){var i=this,n=this.arg,r=(e=e||[],t.getAttribute("index-property")||"$index");if(e.forEach(function(t,e){var s={$parent:i.view.models},a=(s[r]=e,s[n]=t,i.iterated[e]);if(a)if(a.models[n]!==t){for(var o,h,c=e+1;c<i.iterated.length;c++)if((h=i.iterated[c]).models[n]===t){o=c;break}void 0!==o?(i.iterated.splice(o,1),i.marker.parentNode.insertBefore(h.els[0],a.els[0]),h.models[r]=e):h=w(i,s,a.els[0]),i.iterated.splice(e,0,h)}else a.models[r]=e;else e=i.marker,i.iterated.length&&(e=i.iterated[i.iterated.length-1].els[0]),a=w(i,s,e.nextSibling),i.iterated.push(a)}),this.iterated.length>e.length)for(var s=this.iterated.length-e.length,a=function(){var t=i.iterated.pop();t.unbind(),i.marker.parentNode.removeChild(t.els[0])},o=0;o<s;o++)a();"OPTION"===t.nodeName&&this.view.bindings.forEach(function(t){t.el===i.marker.parentNode&&"value"===t.type&&t.sync()})},update:function(t){var e=this,i={};Object.keys(t).forEach(function(n){n!==e.arg&&(i[n]=t[n])}),this.iterated.forEach(function(t){t.update(i)})}},"class-*":function(t,e){var i=" "+t.className+" ";!e==-1<i.indexOf(" "+this.arg+" ")&&(t.className=e?t.className+" "+this.arg:i.replace(" "+this.arg+" "," ").trim())},text:function(t,e){t.textContent=null!=e?e:""},html:function(t,e){t.innerHTML=null!=e?e:""},show:function(t,e){t.style.display=e?"":"none"},hide:function(t,e){t.style.display=e?"none":""},enabled:function(t,e){t.disabled=!e},disabled:function(t,e){t.disabled=!!e},checked:{publishes:!0,priority:2e3,bind:function(t){var e=this;this.callback||(this.callback=function(){e.publish()}),t.addEventListener("change",this.callback)},unbind:function(t){t.removeEventListener("change",this.callback)},routine:function(t,e){"radio"===t.type?t.checked=p(t.value)===p(e):t.checked=!!e}},value:{publishes:!0,priority:3e3,bind:function(t){var e;this.isRadio="INPUT"===t.tagName&&("radio"===t.type||"checkbox"===t.type),this.isRadio||(this.event=t.getAttribute("event-name")||("SELECT"===t.tagName?"change":"input"),(e=this).callback||(this.callback=function(){e.publish()}),t.addEventListener(this.event,this.callback))},unbind:function(t){this.isRadio||t.removeEventListener(this.event,this.callback)},routine:function(t,e){if(this.isRadio)t.setAttribute("value",e);else if("select-multiple"===t.type){if(e instanceof Array)for(var i=0;i<t.length;i++){var n=t[i];n.selected=-1<e.indexOf(n.value)}}else p(e)!==p(t.value)&&(t.value=null!=e?e:"")}},if:{block:!0,priority:4e3,bind:function(t){this.marker?!1===this.bound&&this.nested&&this.nested.bind():(this.marker=document.createComment(" tinybind: "+this.type+" "+this.keypath+" "),this.attached=!1,t.parentNode.insertBefore(this.marker,t),t.parentNode.removeChild(t)),this.bound=!0},unbind:function(){this.nested&&(this.nested.unbind(),this.bound=!1)},routine:function(t,e){!!e!==this.attached&&(e?(this.nested||(this.nested=new k(t,this.view.models,this.view.options),this.nested.bind()),this.marker.parentNode.insertBefore(t,this.marker.nextSibling),this.attached=!0):(t.parentNode.removeChild(t),this.attached=!1))},update:function(t){this.nested&&this.nested.update(t)}}};function E(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,function(t){return"symbol"==typeof(t=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0===i)return String(t);if("object"!=typeof(i=i.call(t,e)))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}(t,"string"))?t:String(t)}(n.key),n)}}function x(t){return(x=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function N(t,e){return(N=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}function P(t,e,i){return(P=function(){if("undefined"!=typeof Reflect&&Reflect.construct&&!Reflect.construct.sham){if("function"==typeof Proxy)return 1;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),1}catch(t){}}}()?Reflect.construct.bind():function(t,e,i){var n=[null];return n.push.apply(n,e),e=new(Function.bind.apply(t,n)),i&&N(e,i.prototype),e}).apply(null,arguments)}var A=function(t){function e(){return t.apply(this,arguments)||this}i=t,(n=e).prototype=Object.create(i.prototype),N(n.prototype.constructor=n,i);var i,n=e.prototype;return n.connectedCallback=function(){var t=this.constructor.__templateEl.content.cloneNode(!0);for(this.__tinybindView=h.bind(t,this);this.firstChild;)this.removeChild(this.firstChild);this.appendChild(t)},n.disconnectedCallback=function(){this.__tinybindView.unbind()},n.attributeChangedCallback=function(t,e,i){e!==i&&(this[this.constructor.__propAttributeMap[t]]=i)},i=e,n=[{key:"observedAttributes",get:function(){var t=this.template;if(!t)throw new Error("No template declared for "+this.name);this.__templateEl=document.createElement("template"),this.__templateEl.innerHTML=t;var e=this.__propAttributeMap={},i=[],n=this.properties;return n&&Object.keys(n).forEach(function(t){var r=n[t];e[r="string"==typeof r?r:t]=t,i.push(r)}),i}}],null&&E(i.prototype,null),n&&E(i,n),Object.defineProperty(i,"prototype",{writable:!1}),e}(function(t){var e="function"==typeof Map?new Map:void 0;return function(t){if(null===t||-1===Function.toString.call(t).indexOf("[native code]"))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,i)}function i(){return P(t,arguments,x(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),N(i,t)}(t)}(HTMLElement));return h.binders=j,h.formatters={watch:function(t){return t},not:function(t){return!t},negate:function(t){return!t}},h.adapters["."]=_,h.Component=A,h.bind=function(i,n,r){var s={};return(i=(n=n||{},r=r||{},e.forEach(function(t){s[t]=Object.create(null),r[t]&&Object.keys(r[t]).forEach(function(e){s[t][e]=r[t][e]}),Object.keys(h[t]).forEach(function(e){s[t][e]||(s[t][e]=h[t][e])})}),t.forEach(function(t){var e=r[t];s[t]=null!=e?e:h[t]}),s.starBinders=Object.keys(s.binders).filter(function(t){return 0<t.indexOf("*")}),u.updateOptions(s),new k(i,n,s))).bind(),i},h});
},{}]},{},[3,11,15]);
;
var run = (typeof window != 'undefined' && typeof window.name === 'string' && window.name != '__c-wa-ipe') && !( true && (window.location.search.indexOf('__c-token') >= 0) );
if (window.Conductrics && window.Conductrics.express == false) { run = false }
if (run) { new Conductrics.ClientApi({"entry":"wax","debug":false,"dataLayer":"dataLayer","globalEvents":true}).run(); }}() )