1!(function(e) { 2 "use strict"; 3 var t, 4 a, 5 n, 6 i, 7 s = [], 8 c = [], 9 r = [], 10 o = [], 11 d = 1.1, 12 l = 1, 13 p = 1, 14 u = []; 15 16 function h(e, t) { 17 (this.prepend = e), (this.append = t); 18 } 19 20 function g(e, t) { 21 (this.name = e), (this.language = t); 22 } 23 24 function f() { 25 for (var e = speechSynthesis.getVoices(), t = 0; t < e.length; t++) 26 u.push(new g(e[t].name, e[t].lang)); 27 } 28 if ( 29 (f(), 30 "undefined" != typeof speechSynthesis && 31 void 0 !== speechSynthesis.onvoiceschanged && 32 (speechSynthesis.onvoiceschanged = f), 33 "speechSynthesis" in window) 34 ) { 35 var v = new SpeechSynthesisUtterance(); 36 window.speechSynthesis.cancel(); 37 } 38 var m = /chrome/i.test(navigator.userAgent), 39 $ = /edge/i.test(navigator.userAgent), 40 y = m && !$, 41 k = { 42 speak: function(u) { 43 var g, 44 f, 45 m, 46 $ = this; 47 e.extend({}, e.fn.articulate.defaults, u), 48 e(".accSpeakingArea").removeClass("accSpeakingArea"), 49 e().articulate("isSpeaking") && e().articulate("stop"); 50 var k = "", 51 E = { 52 q: new h("", ""), 53 ol: new h("", ""), 54 ul: new h("", ""), 55 blockquote: new h("", ""), 56 img: new h("", ""), 57 table: new h("", ""), 58 figure: new h("", ""), 59 }, 60 _ = [ 61 "audio", 62 "button", 63 "canvas", 64 "code", 65 "del", 66 "dialog", 67 "dl", 68 "embed", 69 "form", 70 "head", 71 "iframe", 72 "meter", 73 "nav", 74 "noscript", 75 "object", 76 "s", 77 "script", 78 "select", 79 "style", 80 "textarea", 81 "video", 82 ]; 83 if (!("speechSynthesis" in window)) { 84 alert("Sorry, your browser doesn't support Web Speech API."); 85 return; 86 } 87 return window.speechSynthesis.speaking ? 88 void 0 : 89 (this.each(function() { 90 e(this).addClass("accSpeakingArea"), 91 (f = (function e(t) { 92 var a, n; 93 for (var i in (c.length > 0 && 94 c.forEach((e) => { 95 var t = _.indexOf(e); 96 t > -1 && _.splice(t, 1); 97 }), 98 _.forEach((e) => { 99 jQuery(t) 100 .find(e) 101 .addBack(e) 102 .not("[data-articulate-recognize]") 103 .each(function() { 104 jQuery(this).html(""); 105 }); 106 }), 107 s.length > 0 && 108 s.forEach((e) => { 109 jQuery(t) 110 .find(e) 111 .addBack(e) 112 .not("[data-articulate-recognize]") 113 .each(function() { 114 jQuery(this).html(""); 115 }); 116 }), 117 jQuery(t) 118 .find("[data-articulate-ignore]") 119 .addBack("[data-articulate-ignore]") 120 .each(function() { 121 jQuery(this).html(""); 122 }), 123 jQuery(t) 124 .find("[data-articulate-prepend]") 125 .addBack("[data-articulate-prepend]") 126 .each(function() { 127 (a = jQuery(this).data("articulate-prepend")), 128 jQuery(this).prepend(a + " "); 129 }), 130 jQuery(t) 131 .find("[data-articulate-append]") 132 .addBack("[data-articulate-append]") 133 .each(function() { 134 (a = jQuery(this).data("articulate-append")), 135 jQuery(this).append(" " + a);
136 }), 137 E)) 138 jQuery(t) 139 .find(i) 140 .each(function() { 141 o[i] ? 142 (jQuery(this).prepend(o[i].prepend + " "), 143 jQuery(this).append(" " + o[i].append)) : 144 (jQuery(this).prepend(E[i].prepend + " "), 145 jQuery(this).append(" " + E[i].append)); 146 }); 147 return ( 148 jQuery(t) 149 .find("h1,h2,h3,h4,h5,h6,li,p") 150 .addBack("h1,h2,h3,h4,h5,h6,li,p") 151 .each(function() { 152 jQuery(this).append(". "); 153 }), 154 jQuery(t) 155 .find("br") 156 .each(function() { 157 jQuery(this).after(", "); 158 }), 159 jQuery(t) 160 .find("figure") 161 .addBack("figure") 162 .each(function() { 163 (a = jQuery(this).find("figcaption").html()), 164 (n = o.figure ? o.figure.prepend : E.figure.prepend), 165 void 0 !== a && 166 "" !== a && 167 jQuery( 168 "<div>" + n + " " + a + ".</div>" 169 ).insertBefore(this), 170 jQuery(this).remove(); 171 }), 172 jQuery(t) 173 .find("img") 174 .addBack("img") 175 .each(function() { 176 a = jQuery(this).attr("alt"); 177 var e = jQuery(this).parent(), 178 t = e.get(0).tagName; 179 (n = o.img ? o.img.prepend : E.img.prepend), 180 void 0 !== a && 181 "" !== a && 182 ("PICTURE" == t ? 183 jQuery( 184 "<div>" + n + " " + a + ".</div>" 185 ).insertBefore(e) : 186 jQuery( 187 "<div>" + n + " " + a + ".</div>" 188 ).insertBefore(this)), 189 jQuery(this).remove(); 190 }), 191 jQuery(t) 192 .find("table") 193 .addBack("table") 194 .each(function() { 195 (a = jQuery(this).find("caption").text()), 196 (n = o.table ? o.table.prepend : E.table.prepend), 197 void 0 !== a && 198 "" !== a && 199 jQuery( 200 "<div>" + n + " " + a + ".</div>" 201 ).insertBefore(this), 202 jQuery(this).remove(); 203 }), 204 jQuery(t) 205 .find("[data-articulate-swap]") 206 .addBack("[data-articulate-swap]") 207 .each(function() { 208 (a = jQuery(this).data("articulate-swap")), 209 jQuery(this).text(a); 210 }), 211 jQuery(t) 212 .find("[data-articulate-spell]") 213 .addBack("[data-articulate-spell]") 214 .each(function() { 215 (a = jQuery(this).text().split("").join(" ")), 216 jQuery(this).text(a); 217 }), 218 t 219 ); 220 })((g = e(this).clone()))), 221 (k = 222 k + 223 " " + 224 (m = (function e(t) { 225 for ( 226 var a, n, i, s, c; - 227 1 != t.indexOf("<!-- <articulate>") && 228 ((a = t.indexOf("<!-- <articulate>")), 229 -1 != (n = t.indexOf("</articulate> -->", a))); 230 231 ) 232 (i = t.substring(a + 17, n)), 233 (t = 234 (s = t.substring(0, a)) + 235 " " + 236 i + 237 " " + 238 (c = t.substring(n + 17))); 239 (t = (t = t.replace(/<!--[\s\S]*?-->/g, "")).replace( 240 /(<([^>]+)>)/gi, 241 "" 242 )), 243 r.forEach((e, a) => { 244 if (a % 2 == 0) { 245 let n = r[a + 1] + " ", 246 i = RegExp( 247 e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 248 "gi" 249 ); 250 t = t.replace(i, n); 251 } 252 }), 253 (t = (t = (t = o.q ? 254 (t = t.replace(/ââ¬Å/g, o.q.prepe
254nd + " ")).replace( 255 /ââ¬Â/g, 256 " " + o.q.append 257 ) : 258 (t = t.replace(/ââ¬Å/g, E.q.prepend + " ")).replace( 259 /ââ¬Â/g, 260 " " + E.q.append 261 )).replace(/ââ¬â/g, ", ")).replace(/--/g, ", ")); 262 let d = document.createElement("textarea"); 263 return ( 264 (d.innerHTML = t), 265 (t = (t = (t = (t = (t = (t = d.value).replace( 266 /(\r\n|\n|\r)/gm, 267 "" 268 )).replace(/ +/g, " ")).replace(/\.\./g, ".")).replace( 269 /,,/g, 270 "," 271 )).replace(/ ,/g, ",")) 272 ); 273 })((f = jQuery(f).html())))); 274 }), 275 (d = void 0 !== t ? t : 1.1), 276 (l = void 0 !== a ? a : 1), 277 (p = void 0 !== n ? n : 1), 278 ((v = new SpeechSynthesisUtterance()).lang = 279 document.getElementsByTagName("html")[0].lang), 280 (v.text = k), 281 (v.rate = d), 282 (v.pitch = l), 283 (v.volume = p), 284 y && 285 (v.voice = speechSynthesis.getVoices().filter(function(e) { 286 return "native" == e.name; 287 })[0]), 288 void 0 !== i && 289 (v.voice = speechSynthesis.getVoices().filter(function(e) { 290 return e.name == i; 291 })[0]), 292 window.speechSynthesis.speak(v), 293 v.addEventListener("end", () => { 294 e($).removeClass("accSpeakingArea"); 295 }), 296 this); 297 }, 298 pause: function() { 299 return window.speechSynthesis.pause(), this; 300 }, 301 resume: function() { 302 return window.speechSynthesis.resume(), this; 303 }, 304 stop: function() { 305 return window.speechSynthesis.cancel(), this; 306 }, 307 enabled: function() { 308 return "speechSynthesis" in window; 309 }, 310 isSpeaking: function() { 311 return window.speechSynthesis.speaking; 312 }, 313 isPaused: function() { 314 return window.speechSynthesis.paused; 315 }, 316 rate: function(e) { 317 return ( 318 void 0 !== e && e >= 0.1 && e <= 10 ? 319 (t = e) : 320 void 0 === e && ((t = void 0), (d = 1.1)), 321 this 322 ); 323 }, 324 pitch: function(e) { 325 return ( 326 void 0 !== e && e >= 0.1 && e <= 2 ? 327 (a = e) : 328 void 0 === e && ((a = void 0), (l = 1)), 329 this 330 ); 331 }, 332 volume: function(e) { 333 return ( 334 void 0 !== e && e >= 0 && e <= 1 ? 335 (n = e) : 336 void 0 === e && ((n = void 0), (p = 1)), 337 this 338 ); 339 }, 340 ignore: function(...e) { 341 return (s = e), this; 342 }, 343 recognize: function(...e) { 344 return (c = e), this; 345 }, 346 replace: function(...e) { 347 return (r = e), this; 348 }, 349 customize: function(...e) { 350 return ( 351 0 === e.length ? 352 (o = []) : 353 2 === e.length && ["img", "table", "figure"].includes(e[0]) ? 354 (o[e[0]] = new h(e[1])) : 355 3 === e.length && ["q", "ol", "ul", "blockquote"].includes(e[0]) ? 356 (o[e[0]] = new h(e[1], e[2])) : 357 console.log("Error: Invalid customization parameters."), 358 this 359 ); 360 }, 361 getVoices: function(t, a = "Choose a Different Voice") { 362 if (0 === arguments.length) return u; 363 let n = e(t); 364 return ( 365 n.append( 366 `<select id='voiceSelect'><option value='none'>${a}</option></select>` 367 ), 368 u.forEach((e) => { 369 n.find("select").append( 370 `<option value='${e.name}' data-articulate-language='${e.language}'>${e.name} (${e.language})</option>` 371 ); 372 }), 373 n.on("change", function() { 374 e(this) 375 .find("option:selected") 376 .each(function() { 377 "none" !== e(this).val() && (i = e(this).val()); 378 }); 379 }), 380 this 381 ); 382 }, 383 setVoice: function(e, t) { 384 if (arguments.length < 2) return this; 385 if ("name" === e) i = u.find((e) => e.name === t)?.name; 386 else if ("language" === e) { 387 let a = t.toUpperCase(); 388 i = 389 2 === a.length ? 390 u.find((e) => e.language.substring(0, 2).toUpperCase() === a) 391 ?.name : 392 u.find((e) => e.language === a)?.name; 393 } 394 return this; 395 }, 396 }; 397 (e.fn.articulate = function(t) { 398 return k[t] ? 399 k[t].apply(this, Array.prototype.slice.call(arguments, 1)) : 400 "object" != typeof t && t ? 401 void e.error("Method " + t + " does not exist") : 402 k.speak.apply(this, arguments); 403 }), 404 document.addEventListener("DOMContentLoaded", function() { 405 const accessibilityMenuHTML = ` 406 <!--start:: ERİÅİLEBİLİRLİK MENÃSÃ--> 407 408 <button 409 class="accessibility-toggle-button" 410 id="accessibilityToggle" 411 aria-label="EriÅilebilirlik Menüsünü Aç" 412 > 413 <svg 414 xmlns="http://www.w3.org/2000/svg"
415 viewBox="0 0 122.88 122.88" 416 role="img" 417 > 418 <title>EriÅilebilirlik Menüsü İkonu</title> 419 <path 420 d="M61.44,0A61.46,61.46,0,1,1,18,18,61.21,61.21,0,0,1,61.44,0Zm-.39,74.18L52.1,98.91a4.94,4.94,0,0,1-2.58,2.83A5,5,0,0,1,42.7,95.5l6.24-17.28a26.3,26.3,0,0,0,1.17-4,40.64,40.64,0,0,0,.54-4.18c.24-2.53.41-5.27.54-7.9s.22-5.18.29-7.29c.09-2.63-.62-2.8-2.73-3.3l-.44-.1-18-3.39A5,5,0,0,1,27.08,46a5,5,0,0,1,5.05-7.74l19.34,3.63c.77.07,1.52.16,2.31.25a57.64,57.64,0,0,0,7.18.53A81.13,81.13,0,0,0,69.9,42c.9-.1,1.75-.21,2.6-.29l18.25-3.42A5,5,0,0,1,94.5,39a5,5,0,0,1,1.3,7,5,5,0,0,1-3.21,2.09L75.15,51.37c-.58.13-1.1.22-1.56.29-1.82.31-2.72.47-2.61,3.06.08,1.89.31,4.15.61,6.51.35,2.77.81,5.71,1.29,8.4.31,1.77.6,3.19,1,4.55s.79,2.75,1.39,4.42l6.11,16.9a5,5,0,0,1-6.82,6.24,4.94,4.94,0,0,1-2.58-2.83L63,74.23,62,72.4l-1,1.78Zm.39-53.52a8.83,8.83,0,1,1-6.24,2.59,8.79,8.79,0,0,1,6.24-2.59Zm36.35,4.43a51.42,51.42,0,1,0,15,36.35,51.27,51.27,0,0,0-15-36.35Z" 421 ></path> 422 </svg> 423 </button> 424 <div id="accessibilityPanel" class="ac-panel"> 425 <div class="ac-panel--header"> 426 <h5 class="ac-panel--header__title" id="acPanel"> 427 EriÅilebilirlik Menüsü [CTRL+ Y] 428 </h5> 429 <button 430 id="accessibilityCloseButton" 431 type="button" 432 class="ac-panel--close-button" 433 aria-label="Kapat" 434 ></button> 435 </div> 436 <div class="ac-panel--body d-flex flex-column"> 437 <div class="ac-panel--wrapper"> 438 <button 439 class="ac-box span-2 speak-group" 440 id="speakButton" 441 data-acc-option="screen-reader" 442 > 443 <svg 444 xmlns="http://www.w3.org/2000/svg" 445 width="24" 446 height="24"
447 viewBox="0 0 24 24" 448 fill="none" 449 stroke="currentColor" 450 stroke-width="2" 451 stroke-linecap="round" 452 stroke-linejoin="round" 453 > 454 <path 455 d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v3" 456 ></path> 457 <polyline points="14 2 14 8 20 8"></polyline> 458 <path d="m7 10-3 2H2v4h2l3 2v-8Z"></path> 459 <path d="M11 11c.64.8 1 1.87 1 3s-.36 2.2-1 3"></path> 460 </svg> 461 <div>Ekran Okuyucu</div> 462 <svg class="play-button" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" 463 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 464 <title>BaÅlat</title> 465 <circle cx="12" cy="12" r="10"></circle> 466 <polygon points="10 8 16 12 10 16 10 8"></polygon> 467 </svg> 468 <svg class="stop-button" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" 469 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 470 <title>Durdur</title> 471 <circle cx="12" cy="12" r="10"></circle> 472 <rect x="9" y="9" width="6" height="6" rx="1"></rect> 473 </svg> 474 </button> 475 <button 476 class="ac-box speak-group" 477 id="selectSpeakButton" 478 data-acc-option="select-reader" 479 > 480 <svg 481 xmlns="http://www.w3.org/2000/svg" 482 width="24" 483 height="24"
484 viewBox="0 0 24 24" 485 fill="none" 486 stroke="currentColor" 487 stroke-width="2" 488 stroke-linecap="round" 489 stroke-linejoin="round" 490 > 491 <path 492 d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v3" 493 ></path> 494 <polyline points="14 2 14 8 20 8"></polyline> 495 <path d="m7 10-3 2H2v4h2l3 2v-8Z"></path> 496 <path d="M11 11c.64.8 1 1.87 1 3s-.36 2.2-1 3"></path> 497 </svg> 498 <div>Seçili Alan Okuyucu</div> 499 <svg class="play-button" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" 500 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 501 <title>BaÅlat</title> 502 <circle cx="12" cy="12" r="10"></circle> 503 <polygon points="10 8 16 12 10 16 10 8"></polygon> 504 </svg> 505 <svg class="stop-button" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" 506 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 507 <title>Durdur</title> 508 <circle cx="12" cy="12" r="10"></circle> 509 <rect x="9" y="9" width="6" height="6" rx="1"></rect> 510 </svg> 511 </button> 512 <button 513 class="ac-box speak-group" 514 data-acc-option="hover-reader" 515 > 516 <svg data-v-14c8c335="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" 517 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 518 <path 519 d="M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"> 520 </path> 521 <path d="M5 3a2 2 0 0 0-2 2"></path> 522 <path d="M19 3a2 2 0 0 1 2 2"></path> 523 <path d="M5 21a2 2 0 0 1-2-2"></path> 524 <path d="M9 3h1"></path> 525 <path d="M9 21h2"></path> 526 <path d="M14 3h1"></path> 527 <path d="M3 9v1"></path> 528 <path d="M21 9v2"></path> 529 <path d="M3 14v1"></path> 530 </svg> 531 <div>Ãzerine Gelinen Metni Oku</div> 532 </button> 533 <button class="ac-box" data-acc-option="highlight-links"> 534 <svg 535 xmlns="http://www.w3.org/2000/svg" 536 width="24" 537 height="24"
538 viewBox="0 0 24 24" 539 fill="none" 540 stroke="currentColor" 541 stroke-width="2" 542 stroke-linecap="round" 543 stroke-linejoin="round" 544 > 545 <title>BaÄlantı Vurgula İkonu</title> 546 <path 547 d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" 548 ></path> 549 <path 550 d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" 551 ></path> 552 </svg> 553 <div>BaÄlantı Vurgula</div> 554 </button> 555 <button class="ac-box" data-acc-option="remove-images"> 556 <svg data-v-14c8c335="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" 557 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 558 <line x1="2" x2="22" y1="2" y2="22"></line> 559 <path d="M10.41 10.41a2 2 0 1 1-2.83-2.83"></path> 560 <line x1="13.5" x2="6" y1="13.5" y2="21"></line> 561 <line x1="18" x2="21" y1="12" y2="15"></line> 562 <path d="M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59"></path> 563 <path d="M21 15V5a2 2 0 0 0-2-2H9"></path> 564 </svg> 565 <div>Resimleri Gizle</div> 566 </button> 567 <button class="ac-box" data-acc-option="bigger-text"> 568 <svg 569 xmlns="http://www.w3.org/2000/svg" 570 width="24" 571 height="24"
572 viewBox="0 0 24 24" 573 fill="none" 574 stroke="currentColor" 575 stroke-width="2" 576 stroke-linecap="round" 577 stroke-linejoin="round" 578 > 579 <title>Metni Büyüt İkonu</title> 580 <polyline points="4 7 4 4 20 4 20 7"></polyline> 581 <line x1="9" y1="20" x2="15" y2="20"></line> 582 <line x1="12" y1="4" x2="12" y2="20"></line> 583 </svg> 584 <div>Büyük Metin</div> 585 </button> 586 <button class="ac-box" data-acc-option="align-text-left"> 587 <svg 588 xmlns="http://www.w3.org/2000/svg" 589 width="24" 590 height="24" 591 viewBox="0 0 24 24" 592 fill="none" 593 stroke="currentColor" 594 stroke-width="2" 595 stroke-linecap="round" 596 stroke-linejoin="round" 597 > 598 <line x1="21" y1="6" x2="3" y2="6"></line> 599 <line x1="15" y1="12" x2="3" y2="12"></line> 600 <line x1="17" y1="18" x2="3" y2="18"></line> 601 </svg> 602 <div>Metni Sola Hizala</div> 603 </button> 604 <button class="ac-box" data-acc-option="line-height"> 605 <svg 606 xmlns="http://www.w3.org/2000/svg" 607 width="24" 608 height="24"
609 viewBox="0 0 24 24" 610 fill="none" 611 stroke="currentColor" 612 stroke-width="2" 613 stroke-linecap="round" 614 stroke-linejoin="round" 615 > 616 <path stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 10V5m0 0L4 7m2-2 2 2m-2 7v5m0 0 2-2m-2 2-2-2m8-10h8m0 5h-8m0 5h8"></path> 617 </svg> 618 <div>Satır AralıÄı</div> 619 </button> 620 <button class="ac-box hide-on-sm" data-acc-option="bigger-cursor"> 621 <svg 622 xmlns="http://www.w3.org/2000/svg" 623 width="24" 624 height="24" 625 viewBox="0 0 24 24" 626 fill="none" 627 stroke="currentColor" 628 stroke-width="2" 629 stroke-linecap="round" 630 stroke-linejoin="round" 631 > 632 <path d="m9 9 5 12 1.774-5.226L21 14 9 9z"></path> 633 <path d="m16.071 16.071 4.243 4.243"></path> 634 <path 635 d="m7.188 2.239.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656-2.12 2.122" 636 ></path> 637 </svg> 638 <div>İmleç</div> 639 </button> 640 <button class="ac-box hide-on-sm" data-acc-option="reading-guide"> 641 <svg 642 xmlns="http://www.w3.org/2000/svg" 643 width="24" 644 height="24"
645 viewBox="0 0 24 24" 646 fill="none" 647 stroke="currentColor" 648 stroke-width="2" 649 stroke-linecap="round" 650 stroke-linejoin="round" 651 > 652 <path d="M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z"></path> 653 <path d="m16 12 2 2 4-4"></path> 654 <path 655 d="M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3" 656 ></path> 657 </svg> 658 <div>Okuma Kılavuzu</div> 659 </button> 660 <button class="ac-box hide-on-sm" data-acc-option="reading-mask"> 661 <svg 662 xmlns="http://www.w3.org/2000/svg" 663 width="24" 664 height="24" 665 viewBox="0 0 24 24" 666 fill="none" 667 stroke="currentColor" 668 stroke-width="2" 669 stroke-linecap="round" 670 stroke-linejoin="round" 671 > 672 <path 673 d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" 674 ></path> 675 <polyline points="14 2 14 8 20 8"></polyline> 676 <path d="M8 13h2"></path> 677 <path d="M8 17h2"></path> 678 <path d="M14 13h2"></path> 679 <path d="M14 17h2"></path> 680 </svg> 681 <div>Okuma Maskesi</div> 682 </button> 683 <button class="ac-box" data-acc-option="dyslexic-friendly"> 684 <svg 685 xmlns="http://www.w3.org/2000/svg" 686 width="24" 687 height="24"
688 viewBox="0 0 24 24" 689 fill="none" 690 stroke="currentColor" 691 stroke-width="2" 692 stroke-linecap="round" 693 stroke-linejoin="round" 694 > 695 <path d="M4 20h16"></path> 696 <path d="m6 16 6-12 6 12"></path> 697 <path d="M8 12h8"></path> 698 </svg> 699 <div>Disleksi Dostu</div> 700 </button> 701 <button class="ac-box" data-acc-option="contrast"> 702 <svg 703 xmlns="http://www.w3.org/2000/svg" 704 width="24" 705 height="24" 706 viewBox="0 0 24 24" 707 fill="none" 708 stroke="currentColor" 709 stroke-width="2" 710 stroke-linecap="round" 711 stroke-linejoin="round" 712 > 713 <circle cx="12" cy="12" r="10"></circle> 714 <path d="M12 18a6 6 0 0 0 0-12v12z"></path> 715 </svg> 716 <div>Kontrast</div> 717 </button> 718 <button class="ac-box" data-acc-option="blue-light-filter"> 719 <svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" 720 stroke-linecap="round" stroke-linejoin="round"> 721 <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path> 722 <circle cx="12" cy="12" r="3"></circle> 723 </svg> 724 <div>Mavi IÅık Filtresi</div> 725 </button> 726 <button class="ac-box" data-acc-option="desaturate"> 727 <svg 728 xmlns="http://www.w3.org/2000/svg" 729 width="24" 730 height="24"
731 viewBox="0 0 24 24" 732 fill="none" 733 stroke="currentColor" 734 stroke-width="2" 735 stroke-linecap="round" 736 stroke-linejoin="round" 737 > 738 <path d="M12 10V2"></path> 739 <path d="m4.93 10.93 1.41 1.41"></path> 740 <path d="M2 18h2"></path> 741 <path d="M20 18h2"></path> 742 <path d="m19.07 10.93-1.41 1.41"></path> 743 <path d="M22 22H2"></path> 744 <path d="m16 6-4 4-4-4"></path> 745 <path d="M16 18a4 4 0 0 0-8 0"></path> 746 </svg> 747 <div>SolgunlaÅtırma</div> 748 </button> 749 <button class="ac-box" data-acc-option="low-saturation"> 750 <svg 751 xmlns="http://www.w3.org/2000/svg" 752 width="24" 753 height="24" 754 viewBox="0 0 24 24" 755 fill="none" 756 stroke="currentColor" 757 stroke-width="2" 758 stroke-linecap="round" 759 stroke-linejoin="round" 760 > 761 <path d="M12 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8z"></path> 762 <path d="M12 8a2.828 2.828 0 1 0 4 4"></path> 763 <path d="M12 2v2"></path> 764 <path d="M12 20v2"></path> 765 <path d="m4.93 4.93 1.41 1.41"></path> 766 <path d="m17.66 17.66 1.41 1.41"></path> 767 <path d="M2 12h2"></path> 768 <path d="M20 12h2"></path> 769 <path d="m6.34 17.66-1.41 1.41"></path> 770 <path d="m19.07 4.93-1.41 1.41"></path> 771 </svg> 772 <div>DüÅük Doygunluk</div> 773 </button> 774 <button class="ac-box" data-acc-option="high-saturation"> 775 <svg viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" 776 stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"> 777 <path d="M17 18a5 5 0 0 0-10 0"></path> 778 <line x1="12" y1="9" x2="12" y2="2"></line> 779 <line x1="4.22" y1="10.22" x2="5.64" y2="11.64"></line> 780 <line x1="1" y1="18" x2="3" y2="18"></line> 781 <line x1="21" y1="18" x2="23" y2="18"></line> 782 <line x1="18.36" y1="11.64" x2="19.78" y2="10.22"></line> 783 <line x1="23" y1="22" x2="1" y2="22"></line> 784 <polyline points="16 5 12 9 8 5"></polyline> 785 </svg> 786 <div>Yüksek Doygunluk</div> 787 </button> 788 </div> 789 </div> 790 <button id="clearSettings" class="ac-clear-button"> 791 <svg 792 xmlns="http://www.w3.org/2000/svg" 793 width="24" 794 height="24"
795 viewBox="0 0 24 24" 796 fill="none" 797 stroke="currentColor" 798 stroke-width="2" 799 stroke-linecap="round" 800 stroke-linejoin="round" 801 > 802 <path d="M3 2v6h6"></path> 803 <path d="M21 12A9 9 0 0 0 6 5.3L3 8"></path> 804 <path d="M21 22v-6h-6"></path> 805 <path d="M3 12a9 9 0 0 0 15 6.7l3-2.7"></path> 806 </svg> 807 EriÅilebilirlik Ayarlarını Temizle 808 </button> 809 <div style="text-align:right;padding:4px 12px 6px;"> 810 <a href="https://www.diciwall.com" target="_blank" rel="noopener" style="font-size:10px;color:#888;text-decoration:none;">powered by diciwall</a> 811 </div> 812 </div> 813 <div id="readingFocusTop" class="reading-focus-overlay-top"></div> 814 <div id="readingFocusBottom" class="reading-focus-overlay-bottom"></div> 815 <div id="readingGuideLine" class="reading-guide-line"></div> 816 817`; 818 document.body.insertAdjacentHTML('beforeend', accessibilityMenuHTML); 819 let t = document.getElementsByTagName("html")[0], 820 a = document.getElementById("accessibilityPanel"), 821 n = document.getElementById("accessibilityToggle"), 822 i = document.getElementById("accessibilityCloseButton"), 823 s = document.getElementById("readingFocusTop"), 824 c = document.getElementById("readingFocusBottom"), 825 r = document.getElementById("readingGuideLine"), 826 o = document.querySelectorAll(".ac-box"), 827 d = document.getElementById("clearSettings"), 828 l = document.getElementById("speakButton"); 829 830 let hasLang = speechSynthesis.getVoices().some(v => v.lang.startsWith(document.getElementsByTagName("html")[0].lang)); 831 document.querySelectorAll(".speak-group").forEach(btn => btn.classList.toggle("d-none", !hasLang)); 832 833 document.addEventListener('keydown', function(e) { 834 // Check if Ctrl + Y was pressed (e.key === 'y' for lowercase, 'Y' for uppercase) 835 if (e.ctrlKey && (e.key === 'y' || e.key === 'Y')) { 836 e.preventDefault(); // Prevent default browser behavior 837 a.classList.toggle("show"); 838 localStorage.setItem("accPanel", a.classList.contains("show") ? "1" : "0"); 839 } 840 841 if (e.code === 'Space') { 842 e.preventDefault(); // Prevent default browser behavior 843 844 if ("speechSynthesis" in window) { 845 846 if ("speechSynthesis" in window) { 847 if (window.speechSynthesis.speaking && !window.speechSynthesis.paused) { 848 window.speechSynthesis.pause(); 849 } else if (window.speechSynthesis.paused) { 850 window.speechSynthesis.resume(); 851 } 852 853 } 854 } 855 } 856 857 858 }); 859 860 861 const optionGroups = { 862 vision: ["contrast", "desaturate", "low-saturation", "high-saturation","blue-light-filter"], 863 reader: ["screen-reader", "select-reader", "hover-reader"], 864 reading: ["reading-guide", "reading-mask"], 865 }; 866 867 // Add hover reader functionality 868 const handleHoverRead = (event) => { 869 if (t.classList.contains("hover-reader")) { 870 const text = event.target.innerText; 871 const accSpeakingAreas = document.querySelectorAll('.accSpeakingArea'); 872 accSpeakingAreas.forEach((element) => { 873 element.classList.remove('accSpeakingArea'); 874 }); 875 event.target.classList.add("accSpeakingArea"); 876 if (text && text.trim().length > 0) { 877 if ("speechSynthesis" in window) { 878 window.speechSynthesis.cancel(); 879 const utterance = new SpeechSynthesisUtterance(text.trim()); 880 utterance.lang = "tr-TR"; 881 window.speechSynthesis.speak(utterance); 882 } 883 } 884 } 885 }; 886 887 888 document.addEventListener("mouseover", handleHoverRead); 889 890 const stopReading = () => { 891 if (!t.classList.contains("hover-reader")) { 892 if ("speechSynthesis" in window) { 893 window.speechSynthesis.cancel(); 894 } 895 } 896 }; 897 898 899 // Function to check if option belongs to a group 900 const getOptionGroup = (option) => { 901 for (let group in optionGroups) { 902 if (optionGroups[group].includes(option)) { 903 return group; 904 } 905 } 906 return null; 907 }; 908 909 // Function to deactivate other options in the same group 910 const deactivateGroupOptions = (activeOption) => { 911 const group = getOptionGroup(activeOption); 912 if (!group) return; 913
914 optionGroups[group].forEach(option => { 915 if (option !== activeOption) { 916 t.classList.remove(option); 917 document.querySelector(`[data-acc-option="${option}"]`)?.classList.remove("active"); 918 localStorage.setItem(option, "0"); 919 if (option === "hover-reader") { 920 stopReading(); 921 } 922 } 923 }); 924 }; 925 926 927 const updateAccessibilityToggle = () => { 928 const activeOptions = Array.from(o).filter(el => el.classList.contains('active')); 929 if (activeOptions.length > 0) { 930 n.classList.add('has-active-options'); 931 // Create or update the indicator badge 932 let badge = n.querySelector('.active-options-badge'); 933 if (!badge) { 934 badge = document.createElement('span'); 935 badge.className = 'active-options-badge'; 936 badge.ariaLabel = "Aktif Olan Ãzellik Sayısı" 937 n.appendChild(badge); 938 } 939 badge.textContent = activeOptions.length; 940 } else { 941 n.classList.remove('has-active-options'); 942 const badge = n.querySelector('.active-options-badge'); 943 if (badge) badge.remove(); 944 } 945 }; 946 947 948 949 o.forEach((e) => { 950 let a = e.getAttribute("data-acc-option"); 951 if ("1" === localStorage.getItem(a)) { 952 e.classList.add("active"); 953 t.classList.add(a); 954 deactivateGroupOptions(a); 955 } 956 }); 957 updateAccessibilityToggle(); 958 "1" === localStorage.getItem("accPanel") && a.classList.add("show"); 959 960 961 o.forEach((e) => { 962 e.addEventListener("click", function() { 963 let a = e.getAttribute("data-acc-option"); 964 if (t.classList.contains(a)) { 965 // Deactivate option 966 t.classList.remove(a); 967 e.classList.remove("active"); 968 localStorage.setItem(a, "0"); 969 const accSpeakingAreas = document.querySelectorAll('.accSpeakingArea'); 970 accSpeakingAreas.forEach((element) => { 971 element.classList.remove('accSpeakingArea'); 972 }); 973 974 stopReading(); 975 976 } else { 977 deactivateGroupOptions(a); 978 t.classList.add(a); 979 e.classList.add("active"); 980 localStorage.setItem(a, "1"); 981 } 982 updateAccessibilityToggle(); 983 }); 984 }); 985 986 987 988 n.addEventListener("click", function() { 989 a.classList.toggle("show"); 990 localStorage.setItem("accPanel", a.classList.contains("show") ? "1" : "0"); 991 }); 992 993 i.addEventListener("click", function() { 994 a.classList.toggle("show"); 995 localStorage.setItem("accPanel", "0"); 996 }); 997 998 let p = (e) => { 999 t.classList.contains("reading-guide") && 1000 ((r.style.left = e.pageX + "px"), 1001 (r.style.top = e.pageY - 12 + "px")); 1002 }; 1003 1004 document.addEventListener("mousemove", p); 1005 1006 let u = (e) => { 1007 t.classList.contains("reading-mask") && 1008 ((s.style.height = `calc(${e.clientY}px - 40px)`), 1009 (c.style.height = `calc((100vh - ${e.clientY}px) - 40px)`)); 1010 }; 1011 1012 let h = (a) => { 1013 1014 t.classList.contains("select-reader") && 1015 e(a.target) 1016 .articulate("ignore", ".content") 1017 .articulate("rate", 0.8) 1018 .articulate("pitch", 0.2) 1019 .articulate("speak"); 1020 }; 1021 1022 let g = (a) => { 1023 t.classList.contains("screen-reader") ? 1024 e(".speak-area") 1025 .articulate("rate", 0.8) 1026 .articulate("pitch", 0.2) 1027 .articulate("speak") : 1028 e(".speak-area").articulate("stop"); 1029 }; 1030 1031 document.addEventListener("mousemove", u); 1032 document.addEventListener("click", h); 1033 document.addEventListener("focusin", h); 1034 window.addEventListener("load", g); 1035 l.addEventListener("click", g); 1036 1037 d.addEventListener("click", function() { 1038 t.className = ""; 1039 o.forEach((e) => { 1040 e.classList.remove("active"); 1041 localStorage.removeItem(e.getAttribute("data-acc-option")); 1042 }); 1043 localStorage.removeItem("accPanel"); 1044 updateAccessibilityToggle(); 1045 }); 1046 });
1047})(jQuery);
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.