1<!doctype html> 2<html lang="en-US"> 3<head> 4 <meta charset="utf-8"> 5 <!-- Created using Storyline 360 - http://www.articulate.com --> 6 <!-- version: 3.84.31722.0 --> 7 <title>Variables and Chickens!</title> 8 <meta http-equiv="x-ua-compatible" content="IE=edge"/> 9 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no,shrink-to-fit=no,minimal-ui"/> 10 <meta name="apple-mobile-web-app-capable" content="yes"/> 11 <style> 12 html, body { height: 100%; padding: 0; margin: 0 } 13 #app { height: 100%; width: 100%; } 14 </style> 15 16
16<script> 17 window.DS = {}; 18 window.globals = { 19 DATA_PATH_BASE: '', 20 HAS_FRAME: true, 21 HAS_SLIDE: true, 22 23 lmsPresent: false, 24 tinCanPresent: false, 25 cmi5Present: false, 26 aoSupport: false, 27 scale: 'noscale', 28 captureRc: false, 29 browserSize: 'optimal', 30 bgColor: '#282828', 31 features: 'BackgroundAudioVolumeVariable,ConnectionMessages,DropInBase,DropInMisc,DropInVectors,JsApi,LayerPresentAsDialog,MultipleQuizTracking,PlayerTooltips,UpdatedThemeEditor', 32 themeName: 'unified', 33 preloaderColor: '#FFFFFF', 34 suppressAnalytics: false, 35 productChannel: 'stable', 36 publishSource: 'storyline', 37 aid: 'aid|d0750464-2e67-4fe3-bbef-86a3f5455ec6', 38 cid: '4c951184-30e9-4900-b98b-bb8054046360', 39 playerVersion: '3.84.31722.0', 40 publishTimestamp: '2024-03-30T02:05:12.4050527Z', 41 maxIosVideoElements: 10, 42 connectionSettings: { message: 'You%20are%20offline.%20Trying%20to%20reconnect...', useDarkTheme: false, mode: 'disabled' }, 43 hasFeature: function(feature) { 44 return this.features.split(',').includes(feature); 45 }, 46 47 parseParams: function(qs) { 48 if (window.globals.parsedParams != null) { 49 return window.globals.parsedParams; 50 } 51 qs = (qs || window.location.search.substr(1)).split('+').join(' '); 52 var params = {}, 53 tokens, 54 re = /[?&]?([^=]+)=([^&]*)/g; 55 56 while (tokens = re.exec(qs)) { 57 params[decodeURIComponent(tokens[1]).trim()] = 58 decodeURIComponent(tokens[2]).trim(); 59 } 60 window.globals.parsedParams = params; 61 return params; 62 } 63 64 }; 65 </script>
65 66
66<script> 67 var isIe11 = ('ActiveXObject' in window || window.MSBlobBuilder != null) 68 && window.msCrypto != null && !window.ActiveXObject; 69 if (isIe11) { 70 window.globals.unsupportedBrowser = true; 71 document.write(atob('PHN0eWxlPg0KICBAZm9udC1mYWNlIHsNCiAgICBmb250LWZhbWlseTogIk9wZW4gU2FucyBGdWxsIjsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBzcmM6IHVybCgiLi9odG1sNS9saWIvc3R5bGVzaGVldHMvbW9iaWxlLWZvbnRzL29wZW4tc2Fucy1yZWd1bGFyLndvZmYiKSBmb3JtYXQoIndvZmYiKTsNCiAgfQ0KDQogICogew0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KICB9DQoNCiAgYm9keSwNCiAgaHRtbCB7DQogICAgYmFja2dyb3VuZDogYmxhY2s7DQogICAgY29sb3I6IHdoaXRlOw0KICAgIGZvbnQtZmFtaWx5OiAiT3BlbiBTYW5zIEZ1bGwiLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCg0KICAuc2xpZGUtbG9hZGVyIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQoNCiAgLm1vYmlsZS1zdGFydC1jb3Vyc2UtdGl0bGUgew0KICAgIGZvbnQtc2l6ZTogMjlweDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMzMuNzVweDsNCiAgICBwYWRkaW5nLXRvcDogMzMuNzVweDsNCiAgICB0ZXh0LXNoYWRvdzogNHB4IDRweCAyNXB4IHJnYigwLCAwLCAwLCAuMyk7DQogICAgY29sb3I6ICNlOGU4ZTg7DQogICAgei1pbmRleDogOTk5Ow0KICB9DQoNCiAgcCB7DQogICAgZm9udC1zaXplOiAxLjFlbTsNCiAgfQ0KDQogIHNwYW4gew0KICAgIGhlaWdodDogMTAwJTsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgfQ0KDQogIC5jb250ZW50IHsNCiAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGNvbG9yOiAjYWFhOw0KICAgIHdpZHRoOiA4MCU7DQogICAgbWF4LXdpZHRoOiA1MzVweDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgfQ0KDQogIC5idG4tY29udGFpbiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1hcmdpbi10b3A6IDNlbTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIH0NCg0KICAuaWUxMS13YXJuIHAgYSB7DQogICAgY29sb3I6ICM1ZGIwZmYgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50Ow0KICB9DQoNCiAgYS5sZWFybiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1hcmdpbi1yaWdodDogMmVtOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTsNCiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgcGFkZGluZzogLjVlbTsNCiAgICBwYWRkaW5nOiAxOHB4Ow0KICAgIHBhZGRpbmctbGVmdDogNTBweDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4Ow0KICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgYm9yZGVyLXJhZGl1czogNDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCg0KICBhLmxlYXJuOmFmdGVyIHsNCiAgICBjb250ZW50OiAiIjsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogICAgbGVmdDogMjBweDsNCiAgICB0b3A6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7DQogICAgd2lkdGg6IDA7DQogICAgaGVpZ2h0OiAwOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiA5cHggMCA5cHggMTVweDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM2ZTZlNmU7DQogICAgY2xlYXI6IGJvdGg7DQogIH0NCg0KICAuaWUxMS13YXJuIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGJhY2tncm91bmQ6IGJsYWNrOw0KICB9DQo8L3N0eWxlPg0KDQo8ZGl2IGNsYXNzPSJpZTExLXdhcm4iPg0KICA8c3Bhbj48L3NwYW4+DQogIDxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KICAgIDxkaXYgY2xhc3M9Im1vYmlsZS1zdGFydC1jb3Vyc2UtdGl0bGUiPkVuZCBvZiBTdXBwb3J0IGZvciBJbnRlcm5ldCBFeHBsb3JlciAxMTwvZGl2Pg0KICAgIDxwPkZvbGxvd2luZyBNaWNyb3NvZnQncyBsZWFkLCB3ZSBlbmRlZCBzdXBwb3J0IGZvciBJbnRlcm5ldCBFeHBsb3JlciAxMSAoSUUxMSkuDQogICAgICBBcyBvZiBKdWx5IDIwMjIsIHlvdSBjYW4gbm8gbG9uZ2VyIHZpZXcgUmlzZSAzNjAsIFN0b3J5bGluZSAzNjAsIG9yIFN0dWRpbyAzNjANCiAgICAgIGNvdXJzZXMgaW4gSUUxMS4gVXNlIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBhIHN1cHBvcnRlZCBicm93c2VyIC0NCiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY2hyb21lL2Rvd25sb2Fkcy8iIHRhcmdldD0iX2JsYW5rIj5Hb29nbGUgQ2hyb21lPC9hPiwNCiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm1pY3Jvc29mdC5jb20vZW4tdXMvZWRnZSIgdGFyZ2V0PSJfYmxhbmsiPk1pY3Jvc29mdCBFZGdlPC9hPiwNCiAgICAgIG9yDQogICAgICA8YSBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L25ldy8iIHRhcmdldD0iX2JsYW5rIj5Nb3ppbGxhIEZpcmVmb3g8L2E+Lg0KICAgIDwvcD4NCiAgICA8ZGl2IGNsYXNzPSJidG4tY29udGFpbiI+DQogICAgICA8YSBjbGFzcz0ibGVhcm4iIGhyZWY9Imh0dHBzOi8vYXJ0aWN1bGF0ZS5jb20vc3VwcG9ydC9hcnRpY2xlL0VuZC1vZi1TdXBwb3J0LWZvci1JbnRlcm5ldC1FeHBsb3Jlci0xMSINCiAgICAgICAgdGFyZ2V0PSJfYmxhbmsiPkxlYXJuIE1vcmU8L2E+DQogICAgPC9kaXY+DQogIDwvZGl2Pg0KPC9kaXY+DQo=')); 72 } 73 </script>
73 74 75
75<script> 76 if (window.globals.hasFeature('MultiLanguageSupport')) { 77 78 79 } 80 </script>
80 81 82 83
83<script>window.THREE = { };</script>
83 84 85</head> 86<body style="background: #282828" class="cs-HTML theme-unified"> 87 <!-- 360 --> 88
88<script>!function(){var e,i=/iPhone/i,o=/iPod/i,n=/iPad/i,t=/\biOS-universal(?:.+)Mac\b/i,r=/\bAndroid(?:.+)Mobile\b/i,a=/Android/i,d=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,p=/Silk/i,l=/Windows Phone/i,u=/\bWindows(?:.+)ARM\b/i,b=/BlackBerry/i,s=/BB10/i,c=/Opera Mini/i,f=/\b(CriOS|Chrome)(?:.+)Mobile/i,h=/Mobile(?:.+)Firefox\b/i,v=function(e){return void 0!==e&&"MacIntel"===e.platform&&"number"==typeof e.maxTouchPoints&&e.maxTouchPoints>1&&"undefined"==typeof MSStream};e=function(e){var m={userAgent:"",platform:"",maxTouchPoints:0};e||"undefined"==typeof navigator?"string"==typeof e?m.userAgent=e:e&&e.userAgent&&(m={userAgent:e.userAgent,platform:e.platform,maxTouchPoints:e.maxTouchPoints||0}):m={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0};var g=m.userAgent,y=g.split("[FBAN");void 0!==y[1]&&(g=y[0]),void 0!==(y=g.split("Twitter"))[1]&&(g=y[0]);var A=function(e){return function(i){return i.test(e)}}(g),w={apple:{phone:A(i)&&!A(l),ipod:A(o),tablet:!A(i)&&(A(n)||v(m))&&!A(l),universal:A(t),device:(A(i)||A(o)||A(n)||A(t)||v(m))&&!A(l)},amazon:{phone:A(d),tablet:!A(d)&&A(p),device:A(d)||A(p)},android:{phone:!A(l)&&A(d)||!A(l)&&A(r),tablet:!A(l)&&!A(d)&&!A(r)&&(A(p)||A(a)),device:!A(l)&&(A(d)||A(p)||A(r)||A(a))||A(/\bokhttp\b/i)},windows:{phone:A(l),tablet:A(u),device:A(l)||A(u)},other:{blackberry:A(b),blackberry10:A(s),opera:A(c),firefox:A(h),chrome:A(f),device:A(b)||A(s)||A(c)||A(h)||A(f)},any:!1,phone:!1,tablet:!1};return w.any=w.apple.device||w.android.device||w.windows.device||w.other.device,w.phone=w.apple.phone||w.android.phone||w.windows.phone,w.tablet=w.apple.tablet||w.android.tablet||w.windows.tablet,w}(),"object"==typeof exports&&"undefined"!=typeof module?module.exports=e:"function"==typeof define&&define.amd?define((function(){return e})):this.isMobile=e}(); 89 window.isMobile.apple.tablet = window.isMobile.apple.tablet || 90 (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1); 91 window.isMobile.apple.device = window.isMobile.apple.device || window.isMobile.apple.tablet; 92 window.isMobile.tablet = window.isMobile.tablet || window.isMobile.apple.tablet; 93 window.isMobile.any = window.isMobile.any || window.isMobile.apple.tablet; 94 </script>
94 95 96 <div id="focus-sink" tabindex="-1"></div> 97 98 <div id="preso"></div> 99
99<script> 100 (function() { 101 102 var classTypes = [ 'desktop', 'mobile', 'phone', 'tablet' ]; 103 104 var addDeviceClasses = function(prefix, testObj) { 105 var curr, i; 106 for (i = 0; i < classTypes.length; i++) { 107 curr = classTypes[i]; 108 if (testObj[curr]) { 109 document.body.classList.add(prefix + curr); 110 } 111 } 112 }; 113 114 var params = window.globals.parseParams(), 115 isDevicePreview = params.devicepreview === '1', 116 isPhoneOverride = params.deviceType === 'phone' || (isDevicePreview && params.phone == '1'), 117 isTabletOverride = (params.deviceType === 'tablet' || isDevicePreview) && !isPhoneOverride, 118 isMobileOverride = isPhoneOverride || isTabletOverride; 119 120 var deviceView = { 121 desktop: !window.isMobile.any && !isMobileOverride, 122 mobile: window.isMobile.any || isMobileOverride, 123 phone: isPhoneOverride || (window.isMobile.phone && !isTabletOverride), 124 tablet: isTabletOverride || window.isMobile.tablet 125 }; 126 127 window.globals.deviceView = deviceView; 128 window.isMobile.desktop = !window.isMobile.any; 129 window.isMobile.mobile = window.isMobile.any; 130 131 addDeviceClasses('view-', deviceView); 132 133 })(); 134 </script>
134 135 136
136<script src='story_content/user.js' type=text/javascript></script>
136 137 <div class="slide-loader"></div> 138 139
139<script> 140 var doc = document, loader = doc.body.querySelector('.slide-loader'); [ 1, 2, 3 ].forEach(function(n) { var d = doc.createElement('div'); d.style.backgroundColor = window.globals.preloaderColor; d.classList.add('mobile-loader-dot'); d.classList.add('dot' + n); loader.appendChild(d); }); 141 </script>
141 142 143 <div class="mobile-load-title-overlay" style="display: none"> 144 <div class="mobile-load-title">Variables and Chickens!</div> 145 </div> 146 147 <div class="mobile-chrome-warning"></div> 148 149 150<style> 151 .warn-connection-dialog { 152 display: none; 153 background: transparent; 154 pointer-events: all; 155 position: fixed; 156 left: 0; 157 top: 0; 158 width: 100%; 159 height: 100%; 160 z-index: 999; 161 } 162 163 .warn-connection-content { 164 pointer-events: all; 165 border-radius: 4px; 166 background: white; 167 border: 1px solid #E7E7E7; 168 color: #333333; 169 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); 170 transition: all 150ms ease-out; 171 position: absolute; 172 white-space: nowrap; 173 } 174 175 .view-phone.is-landscape .warn-connection-content { 176 left: 23px; 177 bottom: 23px; 178 } 179 180 .view-tablet.is-landscape .warn-connection-content { 181 left: 50%; 182 top: 20px; 183 transform: translateX(-50%); 184 } 185 186 .view-mobile.is-portrait .warn-connection-content { 187 transform: translate(-50%, calc(-100% - 15px)); 188 } 189 190 .warn-connection-content p { 191 display: inline-block; 192 margin: 0 8px 0 0; 193 line-height: 33px; 194 font-size: 11px; 195 } 196 197 .warn-connection-content svg { 198 position: relative; 199 vertical-align: middle; 200 margin: 0 2px 2px 8px; 201 } 202 203 .view-desktop .warn-connection-content { 204 left: 1.5em; 205 bottom: 1.5em; 206 } 207 208 .view-desktop .warn-connection-content p { 209 font-size: 1.1em; 210 } 211 212 .is-offline .warn-connection-dialog { 213 display: block; 214 } 215 216 .is-offline .cs-panel * { 217 pointer-events: none !important; 218 } 219 220 .is-offline .cs-panel { 221 pointer-events: all !important; 222 } 223 224 .is-offline #nav-controls * { 225 pointer-events: none !important; 226 } 227 228 .is-offline #nav-controls { 229 pointer-events: all !important; 230 } 231</style> 232 233<div class="warn-connection-dialog" role="alertdialog" aria-modal="true" tabindex="0" aria-labelledby="warn-connection-message"> 234 <div class="warn-connection-content"> 235 <svg width="17" height="15" viewBox="0 0 17 15" xmlns="http://www.w3.org/2000/svg"> 236 <path fill="#8F0000" stroke="white" d="M16.07,12.98 L15.88,12.23 L9.51,1.21 C8.97,0.26,7.6,0.26,7.06,1.21 L0.69,12.23 C0.15,13.16,0.81,14.36,1.91,14.36 H14.65 C15.47,14.36,16.05,13.7,16.07,12.98 Z"/> 237 <path fill="white" stroke="white" d="M8.58,5.5 C8.35,5.28,8.5,5.35,8.21,5.32 C8.09,5.35,7.97,5.49,7.96,5.67 C7.97,5.79,7.98,5.92,7.98,6.04 L7.98,6.04 C7.99,6.17,8,6.31,8.01,6.43 L8.01,6.44 C8.03,6.92,8.06,7.41,8.09,7.9 L8.09,7.9 C8.12,8.39,8.14,8.88,8.17,9.37 C8.17,9.39,8.18,9.42,8.2,9.44 C8.23,9.46,8.25,9.47,8.28,9.47 C8.31,9.47,8.34,9.46,8.35,9.44 C8.37,9.43,8.38,9.4,8.39,9.35 L8.39,9.34 C8.39,9.24,8.4,9.15,8.4,9.05 L8.4,9.05 C8.41,8.96,8.41,8.86,8.42,8.75 C8.43,8.44,8.45,8.12,8.47,7.81 L8.47,7.81 C8.49,7.49,8.51,7.18,8.53,6.87 C8.55,6.46,8.56,6.05,8.59,5.64 L8.6,5.62 C8.6,5.57,8.59,5.53,8.58,5.5 L8.21,5.32 Z"/> 238 <circle fill="white" stroke="white" cx="8.3" cy="11.35" r="0.3"/> 239 </svg> 240 <p id="warn-connection-message">You are offline. Trying to reconnect...</p> 241 </div> 242</div> 243
244<script> 245 (function() { 246 window.DS.connection = { 247 warningShown: false, 248 assets: {}, 249 loadingAssetGroup: false, 250 retryDelay: 500 251 }; 252 253 var connectionSettings = window.globals.connectionSettings || {}; 254 255 // The `window.globals.features` variable must be set in `webpack.dev.config` when testing locally - it is not enough 256 // to have it in the data - but it must be set there as well. 257 var useConnectionMessages = window.AbortController != null && 258 window.location.protocol != 'file:' && 259 window.globals.features.indexOf('ConnectionMessages') != -1 && 260 connectionSettings.mode === 'normal'; 261 262 window.DS.connection.useConnectionMessages = useConnectionMessages; 263 264 var assetCount = 0; 265 var checkLoadedId; 266 267 268 if (useConnectionMessages && connectionSettings != null) { 269 var contentEl = document.querySelector('.warn-connection-content'); 270 var messageEl = contentEl.querySelector('p'); 271 272 if (connectionSettings.useDarkTheme) { 273 contentEl.style.borderColor = '#BABBBA'; 274 contentEl.style.backgroundColor = '#282828'; 275 contentEl.style.color = '#FFFFFF'; 276 } 277 278 if (connectionSettings.message != null) { 279 messageEl.textContent = window.decodeURIComponent(connectionSettings.message); 280 } 281 } 282 283 function checkAssetsReady() { 284 for (var i in DS.connection.assets) { 285 if (!DS.connection.assets[i].success) { 286 return false; 287 } 288 } 289 return true; 290 } 291 292 function stopAssetGroup() { 293 if (!useConnectionMessages) { return; } 294 295 assetCount = 0; 296 297 DS.connection.oldAssetGroup = DS.connection.assets; 298 DS.connection.assets = {}; 299 DS.connection.loadingAssetGroup = false; 300 clearInterval(checkLoadedId); 301 } 302 303 function startAssetGroup() { 304 if (!useConnectionMessages) { return; } 305 var ticks = 0; 306 clearInterval(checkLoadedId); 307 checkLoadedId = setInterval(function() { 308 var loaded = 0; 309 if (assetCount === 0 && loaded === 0) { 310 clearInterval(checkLoadedId); 311 return; 312 } 313 314 for (var i in DS.connection.assets) { 315 if (DS.connection.assets[i].success) { 316 loaded++; 317 } 318 } 319 320 if (assetCount === loaded && checkAssetsReady()) { 321 for (var i in DS.connection.assets) { 322 if (DS.connection.assets[i].action) { 323 DS.connection.assets[i].action(); 324 } 325 } 326 hideWarning(); 327 stopAssetGroup(); 328 } 329 }, 100) 330 } 331 332 function requiredAsset(url, action, retry, type) { 333 if (!useConnectionMessages) { return; } 334 if (DS.connection.assets[url]) { return; } 335 336 DS.connection.assets[url] = { 337 success: false, action: action, retry: retry, type: type 338 }; 339 assetCount = Object.keys(DS.connection.assets).length; 340 if (!DS.connection.loadingAssetGroup) { 341 startAssetGroup(); 342 } 343 DS.connection.loadingAssetGroup = true; 344 } 345 346 function assetLoaded(url) { 347 if (!useConnectionMessages) { return; } 348 if (DS.connection.assets[url]) { 349 DS.connection.assets[url].success = true; 350 } 351 } 352 353 function assetFailed(url) { 354 if (!useConnectionMessages) { return; } 355 if (!DS.connection.assets[url]) { 356 if (/\.js$/.test(url) && url.indexOf('transcripts') === -1) { 357 setTimeout(function() { 358 if (DS.connection.lastSlideLoaded != null) { 359 DS.connection.lastSlideLoaded(); 360 } 361 }, DS.connection.retryDelay); 362 } 363 return; 364 } 365 if (!DS.connection.warningShown) { showWarning(); } 366 if (DS.connection.assets[url].retry) { 367 setTimeout(function() { 368 if (!DS.connection.assets[url].success) { 369 DS.connection.assets[url].retry() 370 } 371 }, DS.connection.retryDelay); 372 } 373 } 374 375 function hideWarning() { 376 document.body.classList.remove('is-offline'); 377 DS.connection.warningShown = false; 378 enableKeys(); 379 } 380 DS.connection.hideWarning = hideWarning 381 382 function showWarning(btn) { 383 document.body.classList.add('is-offline') 384 DS.connection.warningShown = true; 385 updateWarningPosition(); 386 disableKeys(); 387 } 388 389 function updateWarningPosition() { 390 if (!DS.connection.warningShown) { 391 return; 392 } 393 394 var isPortrait = document.body.classList.contains('is-portrait'); 395 var isMobile = document.body.classList.contains('view-mobile'); 396 var warningEl = document.querySelector('.warn-connection-content'); 397 398 if (isPortrait && isMobile) { 399 var slide = document.querySelector('.primary-slide'); 400 var slideRect = slide != null 401 ? slide.getBoundingClientRect() 402 : { top: window.innerHeight, left: 0, width: window.innerWidth }; 403 404 warningEl.style.top = `${slideRect.top}px` 405 warningEl.style.left = `${slideRect.left + slideRect.width / 2}px` 406 } else { 407 warningEl.style.top = null; 408 warningEl.style.left = null; 409 } 410 411 window.requestAnimationFrame(updateWarningPosition); 412 } 413 414 function onDisableKeyDown(e) { 415 e.preventDefault(); 416 e.stopImmediatePropagation(); 417 } 418 419 function onDisableKeyUp(e) { 420 e.preventDefault(); 421 e.stopImmediatePropagation(); 422 } 423 424 var accStyle = document.createElement('style'); 425 var warnDialogEl = document.querySelector('.warn-connection-dialog'); 426 427 function disableKeys() { 428 if (DS.views && DS.views.nsStack && DS.views.nsStack.length === 1) { 429 DS.views.nsStack[0].tabReachable = false 430 DS.views.nsStack[0].updateTabIndex(true, true); 431 } 432 433 accStyle.innerHTML = '.acc-shadow-dom { display: none; }'; 434 document.body.appendChild(accStyle); 435 436 warnDialogEl.parentNode.append(warnDialogEl);
437 warnDialogEl.focus(); 438 } 439 440 function enableKeys() { 441 accStyle.remove(); 442 if (DS.views && DS.views.nsStack && DS.views.nsStack.length === 1 && DS.views.nsStack[0].name === '_frame') { 443 DS.views.nsStack[0].tabReachable = true; 444 DS.views.nsStack[0].updateTabIndex(); 445 } 446 } 447 448 // these will all be noops if the feature flag isn't set in 449 // the data and `window.globals.features` 450 DS.connection.requiredAsset = requiredAsset; 451 DS.connection.assetLoaded = assetLoaded; 452 DS.connection.assetFailed = assetFailed; 453 DS.connection.stopAssetGroup = stopAssetGroup; 454 DS.connection.startAssetGroup = startAssetGroup; 455 })(); 456</script>
456 457 458 459
459<script> 460 461 if (window.autoSpider && window.vInterfaceObject) { 462 document.querySelector('.mobile-load-title-overlay').style.display = 'none'; 463 } 464 </script>
464 465 466 467 468 <link rel="stylesheet" href="html5/data/css/output.min.css" data-noprefix/> 469</body>
470<script src="html5/lib/scripts/bootstrapper.min.js"></script>
470 471</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.