Как собрать Canvas FingerPrint на хостинге и потом использовать в хумане

вопросцы и ответы по использованию JS
Ответить
Valeriy
Сообщения: 1
Зарегистрирован: 24 апр 2020, 17:45

Re: использование JS в хумане

Сообщение Valeriy » 27 апр 2020, 23:41

Здравствуйте, скажите пожалуйста, а какие есть возможные пути получения рисунка канвас? Может возможно через сайт как-то сделать? :roll:

Аватара пользователя
Support
Site Admin
Сообщения: 902
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: использование JS в хумане

Сообщение Support » 27 апр 2020, 23:49

Прежде всего это можно сделать через программу, если я вас правильно понял. В статье про browser fingerprints в нашем блоге добавили описание и пример нового функционала по работе с Canvas.

Изображение

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2601
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Как собрать Canvas FingerPrint на хостинге и потом использовать в хумане

Сообщение bigfozzy » 28 апр 2020, 19:27

Собрать можно используя , например, следующий код:
img.src - исходный код картинки для Canvas Finger Print с сайта https://browserleaks.com/canvas

        <script type="text/javascript">	
        document.addEventListener("DOMContentLoaded", init, false);
	function init() 
	{
		// source image - need set src for finger printing
		var img = document.createElement("img");
		img.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAAAeCAYAAABHenA+AAAFdElEQVR4Xu1bzVXjQAx2KqGDnLaHsO+xJ3ogB7YcOIQe9rQcoIc90QGVsJbfyMjikzQOcQaelUuwx6Ofb/RJmnHYdPlJBBKBsyGwOZumVPRlEHi76d6+jDFnNGTz0DWP9+YGnBHvVFUQSMK1C4UkXDvsm2lOwjWDvn2Jbef6ejUn4dqt/bTC3Rxwb/+w/36VkHxZ0u6l5S8YE0k4AG7temqOzIyxj4RDAmqNWTBIZote2ual5c92uH5CEk5hxSSKyIPWfGYcQMLt/3V/pUmvr9uri4uXx8OP7lfHCrSRFvO1Qd61lKGd9zILsqncI18Gu9EnylYVOifypW+eL9qWU/vN8o0Asgi36Q798eV+tI6u+SPv0z05Rtd6Hl2j+VoHy5f3PdlaN9JrpR54Siljp8crjJeCKXNkwo2KnGcSbhKkMngfDleDXLmYHvNrCRcRERGQ76EMFREuylaV4+MCabJF+PDinNJvlAQB6TThOMC94NWEQATke568iHBo3NNtJQlt30BU77VAj93+Zv9Iz7kJWpMyijNFQriHu9zdd0/Pt++PClYfiHBCKQUcsfzp+mWQBZlfnOG5VCXJufG6n3f5Z/umZYzOi6C05Fs2mRkrkimACnUWTHiK6wuqbiprHus36eVOhNdl7EyEXiYcIgY9dr/rut/P79WOrvlz+zx1gMceu2131b10NM4koDG6pm89frfbD2NcsZggPIftoG8kW47T39Iutp/uT5KIQzhes5oKh7oad56A7LgKVwinA8M0pA/ICcEA4Ya5/XMj2TXJiZQgEfA8Jpxrk4yVUg1MmaUNHRZCJR+pU5KLEw633tAX3d4aGVL7NWZd3W3ItRDJcMBBJUd2nwiHKgmTB5GG50pC/NxtJ4mZgluS1ZJHZI4IZ8lm2xhbRFRJRpk4ogonk7bOi8M1WqtPVzixgKwU7eFCloPA4ODU31KW16KhLFIVmGgP5wAFbdCAl9ZaJhJtnylHE9/aO0QLrAmlnzd81BWOgl9XCV2ldACiVg4RTlcxJizNJ726kkqys05ki5QD28ey/5S+fWnCuXu4mj72SMJxlbBIjjIPzORR5hHjnkweky0aqh660qF5cG/g2bkw4bgSUNB/aL/KAYqsaJoAsupx20f3mERyriaNRThJQLZPytato2w36Xm3Tb523jtH8bJ0hTsp4crp5lAN+r+5KulrdBATVbCjS70TzFImJ4CB1PThZAPaN/ZnPMnliJxDKnD44rXqkzZoZoWThJFE4cDliqWrjqxuer+kW0qrwrEObi1RxfJko+qnycqEpe/Bh+DQpE1L2Rs359BkrA79Yk/myT1YDeH4lQMLBPORfJdwyJdCGp5nyiwZbbIPM/ZPcn81IZ3ji04uer9XhesnW8pRR/lD7rmYEHqvJANdjskKVlPhLMIhvag6sh3RHk5WxKMIB06R3TjXoKpr+AsS68QF7rWEQHOPJfZQ5j6nyPHGI/nROMIimoPsITlMsjn2enu6OXJIv7cWEcbRi299UqjbOL7W7aYmLGpHj70XyfZsHpNExX8L1Jw2RjHjcc4kHJok20yPlHKu3rdEwcDBxDLQfEu+BYQFgCRNZLO0Z07ioWc/+OKcTJ7C7wjjiHBW5aP71msBHosCv5ZwJE+/jrAIjuxCa17z7zk1xUbHqEzAQYHLHy9HAC05XpNNl9A/l3BL2NBCZg3hlrbr+/0oeWlEzig/CXdGsHtVSbjz4p3aCgJZ4dqFQla4dtg305yEawZ97uHaQZ+a14hAVrg1rnr63AyBJFwz6FPxGhFIwq1x1dPnZggk4ZpBn4rXiEASbo2rnj43QyAJ1wz6VLxGBJJwa1z19LkZAkm4ZtCn4jUi8B9xlfl5Jpv5HQAAAABJRU5ErkJggg==";	
		//document.body.appendChild(img); // for debug

		img.onload = function () 
		{
		    // create canvas
		    var canvas = document.createElement("canvas");
		    //document.body.appendChild(canvas); // for debug
		    canvas.width=img.width;canvas.height=img.height;

		    // draw imge to canvas
		    let ctx = canvas.getContext("2d"); 
		    ctx.drawImage(this, 0, 0);

 		    // get image datas
		    var imgDataBuffer=ctx.getImageData(0, 0, img.width, img.height);
		    var res=btoa(String.fromCharCode.apply(null, imgDataBuffer.data));
		    //console.log(res);	// for debug

		    // save to hosting
		    var xmlhttp = new XMLHttpRequest();
 		    xmlhttp.open("POST", "/save_canvas_datas.php", true);
  		    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		    // xmlhttp.onreadystatechange = function() { if (this.readyState === 4 || this.status === 200){console.log(this.responseText); }}; // for debug
		    xmlhttp.send("id=" + res);
        	};	
	};
        </script>

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2601
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Как собрать Canvas FingerPrint на хостинге и потом использовать в хумане

Сообщение bigfozzy » 28 апр 2020, 19:28

save_canvas_datas.php - файл для сохранения массивов Canvas Finger Print в папку canavs (папку надо создать):

<?php
$logFile = "./canvas/canvas".date("U").".txt";
$datas = $_POST['id'];
file_put_contents($logFile, str_replace(" ","+",$datas));
// echo $datas; for debug
?>

во вложении полный код для теста в корне сайта.
Вложения
ready.7z
(2.66 КБ) 37 скачиваний

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2601
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Как собрать Canvas FingerPrint на хостинге и потом использовать в хумане

Сообщение bigfozzy » 28 апр 2020, 19:30

код для использования этих массивов в хумане для сайта : http://browserleaks.com/canvas:

// 1
echo "1. Через JS используя сохраненный массив Canavas'a : ";
$js="var imgDateArrayEncoded='AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AGaZ/wBmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAZcwAs2XMALNlzACzZcwAs0etLv9lzACzAAAAAABmmf8AAAAAAGaZ/wBmmf8AAAAAAAAAAABmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAABmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAZpn/AAAAAABmmf8AZpn/AAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wBmmf8AZpn/AGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wBmmf8AZpn/AGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAGaZ/wBmmf8AAAAAAGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD/AGaZ//9mAP//ZgD//2YA/wBmmf8AZpn/AGaZ//9mAP//ZgD//2YA//9mAP8AZpn/AGaZ/wBmmf8AZpn//2YA//9mAP//ZgD/AGaZ//9mAP8AZpn/AGaZ/wBmmf//ZgD//2YA/wBmmf//ZgD//2YA//9mAP//ZgD//2YA/wBmmf//ZgD//2YA/wBmmf8AZpn/AGaZ/wBmmf//ZgD//2YA//9mAP//ZgD/AGaZ/wBmmf8AZpn//2YA//9mAP//ZgD/AGaZ//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAGaZ/wAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAZcwAs2XMALNHrS7/ZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAGXMALMAAAAAAAAAAAAAAAAAZpn/AAAAAGXMALMAZpn/AGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAZpn/AAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wBmmf8AAAAAAAAAAAAAAAAAZpn/AAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAZpn/AAAAAGXMALMAAAAAAGaZ/wAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAZpn/AGaZ/wAAAAAAAAAAAGaZ/wBmmf8AAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP8AZpn/AGaZ//9mAP//ZgD//2YA/wBmmf//ZgD//2YA//9mAP8AZpn//2YA//9mAP8AZpn//2YA//9mAP//ZgD//2YA/wBmmf//ZgD//2YA/wBmmf8AZpn//2YA//9mAP//ZgD/AGaZ//9mAP8AZpn//2YA//9mAP//ZgD//2YA//9mAP8AZpn//2YA/wBmmf//ZgD//2YA//9mAP//ZgD/AGaZ//9mAP//ZgD/AGaZ//9mAP//ZgD//2YA/wBmmf//ZgD//2YA//9mAP8AZpn/AGaZ//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf9lzACzZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAGaZ/wAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wBmmf9HrS7/AGaZ/wBmmf8AZpn/AAAAAAAAAABlzACzAGaZ/wAAAABlzACzAAAAAGXMALNHrS7/AAAAAAAAAABlzACzZcwAs0etLv9lzACzAAAAAABmmf9lzACzAGaZ/wAAAAAAZpn/ZcwAswBmmf8AAAAAAAAAAEetLv8AAAAAAAAAAGXMALNlzACzZcwAswAAAAAAZpn/AAAAAAAAAABlzACz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AAAAAGXMALNlzACzAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/5OtAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP+TrQD//2YA//9mAP+TrQD//2YA//9mAP//ZgD/k60A/5OtAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP//ZgD/k60A//9mAP//ZgD//2YA//9mAP+TrQD//2YA//9mAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP+TrQD/k60A//9mAP//ZgD/k60A//9mAP//ZgD//2YA/5OtAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAs2XMALNlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAABlzACzZcwAs2XMALMAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAs2XMALNlzACzZcwAswAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAABlzACzZcwAs2XMALMAAAAAZcwAswAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAABlzACzZcwAs2XMALMAAAAAAAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAAAAAGXMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAABlzACzZcwAs2XMALNlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/k60A/5OtAP+TrQD//2YA//9mAP//ZgD//2YA/5OtAP+TrQD/k60A//9mAP+TrQD//2YA//9mAP+TrQD//2YA//9mAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP//ZgD/k60A//9mAP//ZgD//2YA//9mAP//ZgD/k60A/5OtAP+TrQD//2YA/5OtAP//ZgD//2YA//9mAP+TrQD/k60A/5OtAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';
var aTmp=atob(imgDateArrayEncoded).split('').map(function (c) { return c.charCodeAt(0); });
for (var i = 0; i < height*width*4; i++)
	imageData.data = aTmp;
";
echo $browser->set_canvas_toDataURL(1,$js)."\n";

// 2
echo "2. Перейдем на страницу для детектирвоания браузера : ";
echo $browser->navigate("http://browserleaks.com/canvas",false)."\n";
$element->get_by_inner_text("Signature")->focus();
sleep(1);


Аватара пользователя
bigfozzy
Site Admin
Сообщения: 2601
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Как собрать Canvas FingerPrint на хостинге и потом использовать в хумане

Сообщение bigfozzy » 30 апр 2020, 18:41

UPDATE: обновили код что выше

PS: для каждого сайта должна быть своя картинка которую финжерпринтят на этом сайте

Аватара пользователя
Support
Site Admin
Сообщения: 902
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Как собрать Canvas FingerPrint на хостинге и потом использовать в хумане

Сообщение Support » 05 май 2020, 21:03

Скрипт для работы с файлами:
// получить все файлы в папке в массив
$arr_canvas_files = $folder->get_all_items($canvas_folder);
$arr_canvas_files = explode("<br>",$arr_canvas_files);

// пройдёмся
foreach($arr_canvas_files as $canvas_file)
{
	echo "применяем канвас из $canvas_file<br>";
	$app->clear();
	$browser->recreate();
	sleep(1);
	// 7
	$js="var imgDateArrayEncoded = '".file_get_contents($canvas_file)."';
	var aTmp=atob(imgDateArrayEncoded).split('').map(function (c) { return c.charCodeAt(0); });
	for (var i = 0; i < height*width*4; i++)
		imageData.data = aTmp;
		";
	$browser->set_canvas_toDataURL("1",$js)."\n";

	sleep(2);

	// 8
	//echo "8. Перейдем на страницу для детектирвоания браузера : ";
	$browser->navigate("http://browserleaks.com/canvas",false)."\n";
	$element->get_by_inner_text("Signature")->focus();

	$cur_canvas = $td->get_inner_text_by_id("crc");
    $uniqueness = $td->get_inner_text_by_id("crc_detect");

	echo $cur_canvas."<br>".$uniqueness."<br>";
	sleep(3);


	/*//echo "8. Перейдем на страницу для детектирвоания браузера : ";
	$browser->navigate("http://f.vision/",false)."\n";
	$cur_canvas =$span->get_inner_text_by_id("q-js-canvas");
	echo $cur_canvas."<br>";
	sleep(3*/

}



Скачать скрипт: [attachment=0]set_canvas.zip[/attachment]
Вложения
set_canvas.zip
(7.89 КБ) 50 скачиваний

Ответить