<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="th-TH">
	<id>https://srakrn.me/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Srakrn</id>
	<title>srakrn | Wiki - User contributions [th-th]</title>
	<link rel="self" type="application/atom+xml" href="https://srakrn.me/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Srakrn"/>
	<link rel="alternate" type="text/html" href="https://srakrn.me/wiki/Special:Contributions/Srakrn"/>
	<updated>2026-04-05T05:54:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Schimudt_CCTV_Privacy_Notice&amp;diff=394</id>
		<title>Schimudt CCTV Privacy Notice</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Schimudt_CCTV_Privacy_Notice&amp;diff=394"/>
		<updated>2025-08-28T13:47:07Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: Created page with &amp;quot;'''คำประกาศเกี่ยวกับความเป็นส่วนตัวในการใช้กล้องวงจรปิด''' '''(CCTV Pri...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''คำประกาศเกี่ยวกับความเป็นส่วนตัวในการใช้กล้องวงจรปิด'''&lt;br /&gt;
'''(CCTV Privacy Notice)'''&lt;br /&gt;
&lt;br /&gt;
ศิระกร ลำใย (ซึ่งต่อไปในประกาศนี้ เรียกว่า “เรา”) กำลังดำเนินการใช้กล้องวงจรปิด (CCTV) สำหรับการเฝ้าระวังสังเกตการณ์ในพื้นที่ภายในและรอบบริเวณที่อยู่อาศัย (“พื้นที่”) ของเรา เพื่อการปกป้องชีวิต สุขภาพ และทรัพย์สิน ทั้งนี้ เราทำการเก็บรวบรวมข้อมูลส่วนบุคคลของเจ้าหน้าที่ ผู้ปฏิบัติงาน ลูกค้า ลูกจ้าง ผู้รับเหมา ผู้มาติดต่อ หรือ บุคคลใด ๆ (ซึ่งต่อไปนี้จะเรียกรวมกันว่า “ท่าน”) ที่เข้ามายังพื้นที่ โดยผ่านการใช้งานอุปกรณ์กล้องวงจรปิดดังกล่าว&lt;br /&gt;
&lt;br /&gt;
ประกาศความเป็นส่วนตัวในการใช้กล้องวงจรปิด (“ประกาศ”) ฉบับนี้ให้ข้อมูลเกี่ยวกับการดำเนินการเก็บรวบรวม ใช้หรือเปิดเผย ซึ่งข้อมูลที่สามารถทำให้สามารถระบุตัวท่านได้ (“ข้อมูลส่วนบุคคล”) รวมทั้งสิทธิต่าง ๆ ของท่าน ดังนี้&lt;br /&gt;
 &lt;br /&gt;
== 1. ฐานกฎหมายในการประมวลผลข้อมูลส่วนบุคคล ==&lt;br /&gt;
&lt;br /&gt;
เราดำเนินการเก็บรวบรวมข้อมูลส่วนบุคคลของท่านภายใต้ฐานกฎหมายดังต่อไปนี้&lt;br /&gt;
&lt;br /&gt;
* ความจำเป็นในการป้องกันหรือระงับอันตรายต่อชีวิต ร่างกาย หรือสุขภาพของท่านหรือบุคคลอื่น&lt;br /&gt;
* ความจำเป็นเพื่อประโยชน์โดยชอบด้วยกฎหมายของเราหรือบุคคลอื่น โดยประโยชน์ดังกล่าวมีความสำคัญไม่น้อยไปกว่าสิทธิขั้นพื้นฐานในข้อมูลส่วนบุคคลของท่าน&lt;br /&gt;
* ความจำเป็นในการปฏิบัติตามกฎหมายที่เกี่ยวข้อง ซึ่งควบคุมดูแลเกี่ยวกับความปลอดภัยและสภาพแวดล้อมในสถานที่ทำงาน และทรัพย์สินของเรา&lt;br /&gt;
 &lt;br /&gt;
== 2. วัตถุประสงค์ในการเก็บรวบรวมข้อมูลส่วนบุคคลของท่าน ==&lt;br /&gt;
&lt;br /&gt;
เราดำเนินการเก็บรวบรวมข้อมูลส่วนบุคคลของท่านเพื่อวัตถุประสงค์ ดังต่อไปนี้&lt;br /&gt;
&lt;br /&gt;
# เพื่อการปกป้องสุขภาพและความปลอดภัยส่วนตัวของท่าน ซึ่งรวมไปถึงทรัพย์สินของท่าน&lt;br /&gt;
# เพื่อการปกป้องอาคาร สิ่งอำนวยความสะดวกและทรัพย์สินของเราจากความเสียหาย การขัดขวาง การทำลายซึ่งทรัพย์สินหรืออาชญากรรมอื่น&lt;br /&gt;
# เพื่อสนับสนุนหน่วยงานที่เกี่ยวข้องในการบังคับใช้กฎหมายเพื่อการยับยั้ง ป้องกัน สืบค้น และ ดำเนินคดีทางกฎหมาย&lt;br /&gt;
# เพื่อการให้ความช่วยเหลือในกระบวนการริเริ่มหรือป้องกันการฟ้องร้องทางแพ่ง ซึ่งรวมไปถึงแต่ไม่จำกัดเพียงการดำเนินการทางกฎหมายที่เกี่ยวข้องกับการจ้างงาน &lt;br /&gt;
 &lt;br /&gt;
== 3. ข้อมูลส่วนบุคคลที่เราเก็บรวบรวมและใช้ ==&lt;br /&gt;
&lt;br /&gt;
ตามวัตถุประสงค์ตามที่ได้แจ้งในข้อ 2. เราทำการติดตั้งกล้องวงจรปิดในตำแหน่งที่มองเห็นได้ โดยจะจัดวางป้ายเตือนว่ามีการใช้งานกล้องวงจรปิด ณ ทางเข้า เพื่อเก็บรวบรวมข้อมูลส่วนบุคคลของท่านเมื่อท่านเข้ามายังพื้นที่ ดังต่อไปนี้&lt;br /&gt;
 &lt;br /&gt;
รายการข้อมูลส่วนบุคคลที่เก็บรวบรวม&lt;br /&gt;
* ภาพนิ่ง&lt;br /&gt;
* ภาพเคลื่อนไหว&lt;br /&gt;
* เสียง&lt;br /&gt;
* ภาพทรัพย์สินของท่าน เช่น พาหนะ กระเป๋า หมวก เครื่องแต่งกาย เป็นต้น&lt;br /&gt;
	&lt;br /&gt;
ทั้งนี้ เราจะไม่ทำการติดตั้งกล้องวงจรปิดในพื้นที่ที่อาจล่วงละเมิดสิทธิขั้นพื้นฐานของท่านจนเกินสมควร ได้แก่ ห้องพัก ห้องน้ำ ห้องอาบน้ำ หรือสถานที่เพื่อใช้ในการพักผ่อนของผู้ปฏิบัติงาน&lt;br /&gt;
&lt;br /&gt;
== 4. การเปิดเผยข้อมูลส่วนบุคคลของท่าน ==&lt;br /&gt;
&lt;br /&gt;
เราจะเก็บรักษาข้อมูลในกล้องวงจรปิดที่เกี่ยวกับท่านไว้เป็นความลับ และจะไม่ทำการเปิดเผย เว้นแต่ กรณีที่เรามีความจำเป็นเพื่อให้สามารถบรรลุวัตถุประสงค์ในการเฝ้าระวังสังเกตการณ์ตามที่ได้ระบุในประกาศฉบับนี้ เราอาจเปิดเผยข้อมูลในกล้องวงจรปิดแก่ประเภทของบุคคลหรือนิติบุคคล ดังต่อไปนี้&lt;br /&gt;
&lt;br /&gt;
# หน่วยงานที่มีอำนาจหน้าที่ตามที่กฎหมายกำหนด เพื่อช่วยเหลือ สนับสนุนในการบังคับใช้กฎหมาย หรือเพื่อการดำเนินการสืบสวน สอบสวน หรือการดำเนินคดีความต่าง ๆ&lt;br /&gt;
# ผู้ให้บริการซึ่งเป็นบุคคลภายนอก เพื่อความจำเป็นในการสร้างความมั่นใจในเรื่องการป้องกันหรือระงับอันตรายต่อชีวิต ร่างกาย สุขภาพ รวมทั้งทรัพย์สินของท่านหรือบุคคลอื่น &lt;br /&gt;
 &lt;br /&gt;
== 5. สิทธิตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 ของท่าน ==&lt;br /&gt;
&lt;br /&gt;
พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 มีวัตถุประสงค์เพื่อให้ข้อมูลส่วนบุคคลของท่านอยู่ในความควบคุมของท่านได้มากขึ้น โดยท่านสามารถใช้สิทธิตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 เมื่อบทบัญญัติในส่วนที่เกี่ยวกับสิทธิของเจ้าของข้อมูลส่วนบุคคลมีผลใช้บังคับ '''และเมื่อการใช้งานข้อมูลไม่อยู่ในข้อยกเว้นไม่บังคับใช้ของพระราชบัญญัติ ในมาตรา 4 (1) การเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของบุคคลที่ทำการเก็บรวบรวมข้อมูลส่วนบุคคล เพื่อประโยชน์ส่วนตน หรือเพื่อกิจกรรมในครอบครัวของบุคคลนั้นเท่านั้น''' ซึ่งมีรายละเอียดดังต่อไปนี้&lt;br /&gt;
&lt;br /&gt;
# สิทธิในการเข้าถึง รับสำเนา และขอให้เปิดเผยที่มาของข้อมูลส่วนบุคคลของท่านที่เราเก็บรวบรวมอยู่ เว้นแต่กรณีที่เรามีสิทธิปฏิเสธคำขอของท่านตามกฎหมายหรือคำสั่งศาล หรือกรณีที่คำขอของท่านจะมีผลกระทบที่อาจก่อให้เกิดความเสียหายต่อสิทธิและเสรีภาพของบุคคลอื่น &lt;br /&gt;
# สิทธิในการขอแก้ไขข้อมูลส่วนบุคคลของท่านที่ไม่ถูกต้องหรือไม่ครบถ้วน เพื่อให้มีความถูกต้อง เป็นปัจจุบัน สมบูรณ์ และไม่ก่อให้เกิดความเข้าใจผิด &lt;br /&gt;
# สิทธิในการขอให้ระงับการใช้ข้อมูลส่วนบุคคลของท่านในกรณีหนึ่งกรณีใด ดังต่อไปนี้ &lt;br /&gt;
## เมื่ออยู่ในช่วงเวลาที่เราทำการตรวจสอบตามคำร้องขอของท่านให้แก้ไขข้อมูลส่วนบุคคลของท่านให้ถูกต้อง สมบูรณ์และเป็นปัจจุบัน&lt;br /&gt;
## ข้อมูลส่วนบุคคลของท่านถูกเก็บรวบรวม ใช้หรือเปิดเผยโดยมิชอบด้วยกฎหมาย&lt;br /&gt;
## เมื่อข้อมูลส่วนบุคคลของท่านหมดความจำเป็นในการเก็บรักษาไว้ตามวัตถุประสงค์เราได้แจ้งไว้ในการเก็บรวบรวม แต่ท่านประสงค์ให้เราเก็บรักษาข้อมูลนั้นต่อไปเพื่อประกอบการใช้สิทธิตามกฎหมายของท่าน&lt;br /&gt;
## เมื่ออยู่ในช่วงเวลาที่เรากำลังพิสูจน์ให้ท่านเห็นถึงเหตุอันชอบด้วยกฎหมายในการเก็บรวบรวม ใช้หรือเปิดเผยข้อมูลส่วนบุคคลของท่าน หรือตรวจสอบความจำเป็นในการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของท่านเพื่อประโยชน์สาธารณะ อันเนื่องมาจากการที่ท่านได้ใช้สิทธิคัดค้านการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของท่าน&lt;br /&gt;
# สิทธิในการคัดค้านการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของท่าน เว้นแต่กรณีที่เราเหตุในการปฏิเสธคำขอของท่านโดยชอบด้วยกฎหมาย (เช่น เราสามารถแสดงให้เห็นว่าการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของท่านมีเหตุอันชอบด้วยกฎหมายยิ่งกว่า หรือเพื่อการก่อตั้งสิทธิเรียกร้องตามกฎหมาย การปฏิบัติตามหรือการใช้สิทธิเรียกร้องทางกฎหมาย หรือเพื่อประโยชน์สาธารณะตามภารกิจของเรา)&lt;br /&gt;
 &lt;br /&gt;
== 6. ระยะเวลาในการเก็บรักษาข้อมูลส่วนบุคคล ==&lt;br /&gt;
&lt;br /&gt;
เพื่อบรรลุวัตถุประสงค์ของการเฝ้าระวังสังเกตโดยการใช้อุปกรณ์กล้องวงจรปิดตามที่ประกาศนี้กำหนด เราจะเก็บรักษาข้อมูลส่วนบุคคลในกล้องวงจรปิดที่เกี่ยวข้องกับท่าน เป็นระยะเวลา 21 วัน ทั้งนี้ เมื่อพ้นระยะเวลาดังกล่าวเราจะทำการ ลบ ทำลายข้อมูลส่วนบุคคลของท่านต่อไป&lt;br /&gt;
 &lt;br /&gt;
== 7. การรักษาความมั่นคงปลอดภัยข้อมูลส่วนบุคคล ==&lt;br /&gt;
&lt;br /&gt;
เรามีมาตรการในการรักษาความมั่นคงปลอดภัยข้อมูลส่วนบุคคลของท่านอย่างเหมาะสม ทั้งในเชิงเทคนิคและการบริหารจัดการ เพื่อป้องกันมิให้ข้อมูลสูญหาย หรือมีการเข้าถึง ลบ ทำลาย ใช้ เปลี่ยนแปลง แก้ไข หรือเปิดเผยข้อมูลส่วนบุคคลโดยไม่ได้รับอนุญาต ซึ่งสอดคล้องกับนโยบายและแนวปฏิบัติด้านความมั่นคงปลอดภัยสารสนเทศ (Information Security Policy) ของเรา &lt;br /&gt;
&lt;br /&gt;
นอกจากนี้ เราได้กำหนดให้มีนโยบายการคุ้มครองข้อมูลส่วนบุคคลขึ้นโดยประกาศให้ทราบกันโดยทั่วทั้งองค์กร พร้อมแนวทางปฏิบัติเพื่อให้เกิดความมั่นคงปลอดภัยในการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคล โดยธำรงไว้ซึ่งความเป็นความลับ (Confidentiality) ความถูกต้องครบถ้วน (Integrity) และสภาพพร้อมใช้งาน (Availability) ของข้อมูลส่วนบุคคล โดยเราได้จัดให้มีการทบทวนนโยบายดังกล่าวรวมถึงประกาศนี้ในระยะเวลาตามที่เหมาะสม&lt;br /&gt;
 &lt;br /&gt;
== 8. ความรับผิดชอบของผู้ควบคุมข้อมูลส่วนบุคคล ==&lt;br /&gt;
&lt;br /&gt;
เราได้กำหนดให้เจ้าหน้าที่เฉพาะผู้ที่มีอำนาจหน้าที่เกี่ยวข้องในการจัดเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคลของกิจกรรมการประมวลผลนี้เท่านั้นที่จะสามารถเข้าถึงข้อมูลส่วนบุคคลของท่านได้ โดยเราจะดำเนินการให้เจ้าหน้าที่ปฏิบัติตามประกาศนี้อย่างเคร่งครัด&lt;br /&gt;
 &lt;br /&gt;
== 9. การเปลี่ยนแปลงแก้ไขคำประกาศเกี่ยวกับความเป็นส่วนตัว ==&lt;br /&gt;
&lt;br /&gt;
ในการปรับปรุงหรือเปลี่ยนแปลงประกาศนี้ เราอาจพิจารณาแก้ไขเปลี่ยนแปลงตามที่เห็นสมควร และจะทำการแจ้งให้ท่านทราบผ่านป้ายประกาศชี้แจง อย่างไรก็ดี เราขอแนะนำให้ท่านโปรดตรวจสอบเพื่อรับทราบประกาศฉบับใหม่อย่างสม่ำเสมอ โดยเฉพาะก่อนที่ท่านจะเข้ามาในพื้นที่ของเรา&lt;br /&gt;
&lt;br /&gt;
การเข้ามาในพื้นที่ของท่าน ถือเป็นการรับทราบตามข้อตกลงในประกาศนี้ ทั้งนี้ โปรดระงับการเข้าพื้นที่ หากท่านไม่เห็นด้วยกับข้อตกลงในประกาศฉบับนี้ หากท่านยังคงเข้ามาในพื้นที่ต่อไปภายหลังจากที่ประกาศนี้มีการแก้ไขและนำขึ้นประกาศในช่องทางข้างต้นแล้ว จะถือว่าท่านได้รับทราบการเปลี่ยนแปลงดังกล่าวแล้ว&lt;br /&gt;
&lt;br /&gt;
== 10. การติดต่อสอบถาม ==&lt;br /&gt;
&lt;br /&gt;
ท่านสามารถติดต่อสอบถามเกี่ยวกับประกาศฉบับนี้ได้ที่ ผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller) schimudt_dc@srakrn.me&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=WitThemeBkp&amp;diff=393</id>
		<title>WitThemeBkp</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=WitThemeBkp&amp;diff=393"/>
		<updated>2025-08-28T09:24:11Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
YTo2MjU6e3M6MTI6ImZpcnN0SW5zdGFsbCI7czoxNDoidGhlbWVJbnN0YWxsZWQiO3M6MTg6InRkc190aHVtYl90ZF84MHg2MCI7czozOiJ5ZXMiO3M6MTk6InRkc190aHVtYl90ZF8xMDB4NzAiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfMjE4eDE1MCI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF8yNjV4MTk4IjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzMyNHgxNjAiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfMzI0eDIzNSI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF8zMjR4NDAwIjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzM1NngyMjAiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfMzU2eDM2NCI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF80ODV4MzYwIjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzUzM3gyNjEiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfNTM0eDQ2MiI7czozOiJ5ZXMiO3M6MTg6InRkc190aHVtYl90ZF82OTZ4MCI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF82OTZ4Mzg1IjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzc0MXg0ODYiO3M6MzoieWVzIjtzOjIxOiJ0ZHNfdGh1bWJfdGRfMTA2OHg1ODAiO3M6MzoieWVzIjtzOjE5OiJ0ZHNfdGh1bWJfdGRfMTA2OHgwIjtzOjM6InllcyI7czoxODoidGRzX3RodW1iX3RkXzB4NDIwIjtzOjM6InllcyI7czoxOToidGRzX3RodW1iX3RkXzE5MjB4MCI7czozOiJ5ZXMiO3M6Mjg6InRkX3RpbWVzdGFtcF9pbnN0YWxsX3BsdWdpbnMiO3M6OToiaW5zdGFsbGVkIjtzOjIzOiJ0ZF9zb2NpYWxfZHJhZ19hbmRfZHJvcCI7YToyMTp7czo4OiJmYWNlYm9vayI7YjoxO3M6NzoidHdpdHRlciI7YjoxO3M6OToicGludGVyZXN0IjtiOjE7czo4OiJ3aGF0c2FwcCI7YjoxO3M6ODoibGlua2VkaW4iO2I6MTtzOjY6InJlZGRpdCI7YjowO3M6NDoibWFpbCI7YjowO3M6NToicHJpbnQiO2I6MDtzOjY6InR1bWJsciI7YjowO3M6ODoidGVsZWdyYW0iO2I6MTtzOjExOiJzdHVtYmxldXBvbiI7YjowO3M6MjoidmsiO2I6MDtzOjQ6ImRpZ2ciO2I6MDtzOjQ6ImxpbmUiO2I6MTtzOjU6InZpYmVyIjtiOjA7czo1OiJuYXZlciI7YjowO3M6OToiZmxpcGJvYXJkIjtiOjA7czo4OiJjb3B5X3VybCI7YjowO3M6NToia2FrYW8iO3M6MDoiIjtzOjU6ImdldHRyIjtzOjA6IiI7czozOiJrb28iO3M6MDoiIjt9czoxMDoidGRfdmVyc2lvbiI7czo2OiIxMi43LjEiO3M6OToidGRfMDExX3RwIjtpOjE1MjMzMjk2NDg7czo3OiJ0ZF8wMTFfIjtpOjI7czo2OiJ0ZF8wMTEiO3M6NDg6IlpEWTJPVFV5WmpFdFltVXlOUzAwTldObUxUZzNOVFl0WkdKbFkySTBaakpsWXpRMyI7czoxNjoidGRzX2hlYWRlcl9zdHlsZSI7czoxOiIzIjtzOjIwOiJ0ZHNfc2VhcmNoX3BsYWNlbWVudCI7czowOiIiO3M6MTE6InRkc190b3BfYmFyIjtzOjA6IiI7czoyMDoidGRzX3RvcF9iYXJfdGVtcGxhdGUiO3M6MDoiIjtzOjEyOiJ0ZHNfdG9wX21lbnUiO3M6NDoiaGlkZSI7czoyMzoidGRfc29jaWFsX25ldHdvcmtzX3Nob3ciO3M6NDoic2hvdyI7czoyNDoidGRzX2xvZ2luX3NpZ25faW5fd2lkZ2V0IjtzOjA6IiI7czoxNzoidGRzX2RhdGFfdG9wX21lbnUiO3M6NDoic2hvdyI7czoyMDoidGRzX2RhdGFfdGltZV9mb3JtYXQiO3M6NToiaiBGIFkiO3M6MTE6InRkc19kYXRhX2pzIjtzOjQ6InRydWUiO3M6MjA6InRkc193ZWF0aGVyX3RvcF9tZW51IjtzOjA6IiI7czoyNDoidGRzX3dlYXRoZXJfa2V5X3RvcF9tZW51IjtzOjMyOiI5MmIwYzY4YTVhNDljZTlhNGU1MzQ0ZWFjZDVkZjYwYSI7czoyOToidGRzX3dlYXRoZXJfbG9jYXRpb25fdG9wX21lbnUiO3M6MTE6IkJhbmdrb2ssIFRIIjtzOjI2OiJ0ZHNfd2VhdGhlcl91bml0c190b3BfbWVudSI7czowOiIiO3M6Mjk6InRkc19tZWdhX21lbnVfYWpheF9wcmVsb2FkaW5nIjtzOjA6IiI7czoxMzoidGRzX3NuYXBfbWVudSI7czowOiIiO3M6MTg6InRkc19sb2dvX29uX3N0aWNreSI7czowOiIiO3M6Mjg6InRkX3NvY2lhbF9uZXR3b3Jrc19tZW51X3Nob3ciO3M6MDoiIjtzOjE1OiJ0ZHNfbG9nb191cGxvYWQiO3M6NzA6Imh0dHBzOi8vd3JpdGluZy5pbi50aC93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8xMi9Mb2dvLURlZmF1bHQtMjAxOC5wbmciO3M6MTc6InRkc19sb2dvX3VwbG9hZF9yIjtzOjY5OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvTG9nby1SZXRpbmEtMjAxOC5wbmciO3M6MTg6InRkc19mYXZpY29uX3VwbG9hZCI7czo2NjoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTYucG5nIjtzOjEyOiJ0ZHNfbG9nb19hbHQiO3M6MTU6IldyaXRpbmcgaW4gVGhhaSI7czoxNDoidGRzX2xvZ29fdGl0bGUiO3M6MTU6IldyaXRpbmcgaW4gVGhhaSI7czoxMzoidGRzX2xvZ29fdGV4dCI7czowOiIiO3M6MTY6InRkc190YWdsaW5lX3RleHQiO3M6MDoiIjtzOjIwOiJ0ZHNfbG9nb19tZW51X3VwbG9hZCI7czo3NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzEyL0xvZ28tRGVmYXVsdC1Nb2JpbGUtMjAxOC5wbmciO3M6MjI6InRkc19sb2dvX21lbnVfdXBsb2FkX3IiO3M6NzY6Imh0dHBzOi8vd3JpdGluZy5pbi50aC93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8xMi9Mb2dvLVJldGluYS1Nb2JpbGUtMjAxOC5wbmciO3M6Mjc6InRkc19oZWFkZXJfYmFja2dyb3VuZF9pbWFnZSI7czowOiIiO3M6Mjg6InRkc19oZWFkZXJfYmFja2dyb3VuZF9yZXBlYXQiO3M6MDoiIjtzOjI2OiJ0ZHNfaGVhZGVyX2JhY2tncm91bmRfc2l6ZSI7czowOiIiO3M6MzA6InRkc19oZWFkZXJfYmFja2dyb3VuZF9wb3NpdGlvbiI7czoxMzoiY2VudGVyIGNlbnRlciI7czoyOToidGRzX2hlYWRlcl9iYWNrZ3JvdW5kX29wYWNpdHkiO3M6MDoiIjtzOjE1OiJ0ZHNfaW9zX2ljb25fNzYiO3M6NjY6Imh0dHBzOi8vd3JpdGluZy5pbi50aC93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8wNC9sb2dvLWZpbmFsLTc2LnBuZyI7czoxNjoidGRzX2lvc19pY29uXzExNCI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTE0LnBuZyI7czoxNjoidGRzX2lvc19pY29uXzEyMCI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTIwLnBuZyI7czoxNjoidGRzX2lvc19pY29uXzE0NCI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTQ0LnBuZyI7czoxNjoidGRzX2lvc19pY29uXzE1MiI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTUyLnBuZyI7czoxMDoidGRzX2Zvb3RlciI7czowOiIiO3M6MTk6InRkc19mb290ZXJfdGVtcGxhdGUiO3M6MjE6InRkX2Zvb3Rlcl90ZW1wbGF0ZV8xNCI7czoxNToidGRzX2Zvb3Rlcl9wYWdlIjtzOjQ6IjYzMTgiO3M6MjA6InRkc19mb290ZXJfaW5zdGFncmFtIjtzOjA6IiI7czoyMzoidGRzX2Zvb3Rlcl9pbnN0YWdyYW1faWQiO3M6MDoiIjtzOjQxOiJ0ZHNfZm9vdGVyX2luc3RhZ3JhbV9vbl9yb3dfaW1hZ2VzX251bWJlciI7czowOiIiO3M6MzI6InRkc19mb290ZXJfaW5zdGFncmFtX3Jvd3NfbnVtYmVyIjtzOjA6IiI7czozMDoidGRzX2Zvb3Rlcl9pbnN0YWdyYW1faW1hZ2VfZ2FwIjtzOjA6IiI7czoyMjoidGRzX2Zvb3Rlcl9sb2dvX3VwbG9hZCI7czo3NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzEyL2xvZ28td2hpdGUtdGV4dC0yNzItMjAxOC5wbmciO3M6Mjk6InRkc19mb290ZXJfcmV0aW5hX2xvZ29fdXBsb2FkIjtzOjc3OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvbG9nby13aGl0ZS10ZXh0LTU0NC0yMDE4LnBuZyI7czoxOToidGRzX2Zvb3Rlcl9sb2dvX2FsdCI7czoxNToiV3JpdGluZyBpbiBUaGFpIjtzOjIxOiJ0ZHNfZm9vdGVyX2xvZ29fdGl0bGUiO3M6MTU6IldyaXRpbmcgaW4gVGhhaSI7czoxNToidGRzX2Zvb3Rlcl90ZXh0IjtzOjY1MToi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIChXcml0aW5nIGluIFRoYWkpIOC5gOC4p+C5h+C4muC4o+C4p+C4muC4o+C4p+C4oeC4guC5iOC4suC4p+C4quC4suC4oyDguILguYnguK3guKHguLnguKUg4LmB4Lil4Liw4Lij4Li14Lin4Li04LinIOC5gOC4hOC4o+C4t+C5iOC4reC4h+C5gOC4guC4teC4ouC4meC4q+C4peC4suC4geC4q+C4peC4suC4ouC4m+C4o+C4sOC5gOC4oOC4lyDguYDguJvguYfguJnguYHguKvguKXguYjguIfguILguYnguK3guKHguLnguKXguYPguKvguYnguIHguLHguJrguJzguLnguYnguK3guYjguLLguJnguJfguLXguYjguKrguJnguYPguIgg4LmB4Lil4Liw4LiB4Liz4Lil4Lix4LiH4LiV4Lix4LiU4Liq4Li04LiZ4LmD4LiI4LiX4Li14LmI4LiI4Liw4LiL4Li34LmJ4Lit4LmA4LiE4Lij4Li34LmI4Lit4LiH4LmA4LiC4Li14Lii4LiZIOC4o+C4p+C4oeC4luC4tuC4h+C4o+C4suC4ouC4h+C4suC4meC4nuC4tOC5gOC4qOC4qSDguKrguLLguKPguLAg4LiE4Lin4Liy4Lih4Lij4Li54LmJIOC4l+C4teC5iOC5gOC4geC4teC5iOC4ouC4p+C4guC5ieC4reC4hw0KDQrguJXguLTguJTguJXguYjguK3guYDguKPguLLguYTguJTguYnguJfguLXguYggY29udGFjdEB3cml0aW5nLmluLnRoIjtzOjE2OiJ0ZHNfZm9vdGVyX2VtYWlsIjtzOjA6IiI7czoxNzoidGRzX2Zvb3Rlcl9zb2NpYWwiO3M6MDoiIjtzOjI3OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfaW1hZ2UiO3M6MDoiIjtzOjI4OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfcmVwZWF0IjtzOjA6IiI7czoyNjoidGRzX2Zvb3Rlcl9iYWNrZ3JvdW5kX3NpemUiO3M6MDoiIjtzOjMwOiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfcG9zaXRpb24iO3M6MDoiIjtzOjI5OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfb3BhY2l0eSI7czowOiIiO3M6MTQ6InRkc19zdWJfZm9vdGVyIjtzOjA6IiI7czoyMzoidGRzX3N1Yl9mb290ZXJfdGVtcGxhdGUiO3M6MDoiIjtzOjIwOiJ0ZHNfZm9vdGVyX2NvcHlyaWdodCI7czozMDA6IuC4quC4h+C4p+C4meC4peC4tOC4guC4quC4tOC4l+C4mOC4tOC5jCDguJ4u4LioLjI1NjEtMjU2MiDguJfguLXguKHguIfguLLguJnguYTguKPguJfguYzguJXguLTguYnguIfguK3guLTguJnguYTguJfguKIg4Lir4LmJ4Liy4Lih4LiE4Lix4LiU4Lil4Lit4LiBIOC4l+C4s+C4i+C5ieC4syDguKvguKPguLfguK0g4LiU4Lix4LiU4LmB4Lib4Lil4LiH4Liq4LmI4Lin4LiZ4LmD4LiU4LmE4Lib4LmA4Lic4Lii4LmB4Lie4Lij4LmI4LmC4LiU4Lii4LmE4Lih4LmI4LmE4LiU4LmJ4Lij4Lix4Lia4Lit4LiZ4Li44LiN4Liy4LiVICI7czoyMjoidGRzX2Zvb3Rlcl9jb3B5X3N5bWJvbCI7czowOiIiO3M6MjQ6InRkc19iYWNrZ3JvdW5kX2NsaWNrX3VybCI7czowOiIiO3M6Mjc6InRkc19iYWNrZ3JvdW5kX2NsaWNrX3RhcmdldCI7czowOiIiO3M6MTc6InRkc19zbWFydF9zaWRlYmFyIjtzOjA6IiI7czoyMDoidGRzX2JyZWFkY3J1bWJzX3Nob3ciO3M6MDoiIjtzOjI1OiJ0ZHNfYnJlYWRjcnVtYnNfc2hvd19ob21lIjtzOjA6IiI7czoyNzoidGRzX2JyZWFkY3J1bWJzX3Nob3dfcGFyZW50IjtzOjA6IiI7czoyODoidGRzX2JyZWFkY3J1bWJzX3Nob3dfYXJ0aWNsZSI7czowOiIiO3M6MTk6InRkc19hbmltYXRpb25fc3RhY2siO3M6MDoiIjtzOjI2OiJ0ZHNfYW5pbWF0aW9uX3N0YWNrX2VmZmVjdCI7czowOiIiO3M6MTU6InRkX2Z1bGxfdG9wX2JhciI7czowOiIiO3M6MTQ6InRkX2Z1bGxfaGVhZGVyIjtzOjA6IiI7czoxMjoidGRfZnVsbF9tZW51IjtzOjA6IiI7czoyNToidGRfZnVsbF9oZWFkZXJfYmFja2dyb3VuZCI7czowOiIiO3M6MjQ6InRkX2Z1bGxfZm9vdGVyX2luc3RhZ3JhbSI7czowOiIiO3M6MTQ6InRkX2Z1bGxfZm9vdGVyIjtzOjA6IiI7czoxOToidGRzXzQwNF9wYWdlX2xheW91dCI7czowOiIiO3M6MjM6InRkc19hcmNoaXZlX3BhZ2VfbGF5b3V0IjtzOjI6IjEwIjtzOjIzOiJ0ZHNfYXJjaGl2ZV9zaWRlYmFyX3BvcyI7czowOiIiO3M6MTk6InRkc19hcmNoaXZlX3NpZGViYXIiO3M6MDoiIjtzOjI2OiJ0ZHNfYXR0YWNobWVudF9zaWRlYmFyX3BvcyI7czowOiIiO3M6MjI6InRkc19hdHRhY2htZW50X3NpZGViYXIiO3M6MDoiIjtzOjIyOiJ0ZHNfYXV0aG9yX3BhZ2VfbGF5b3V0IjtzOjI6IjEwIjtzOjIyOiJ0ZHNfYXV0aG9yX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxODoidGRzX2F1dGhvcl9zaWRlYmFyIjtzOjA6IiI7czoyMDoidGRzX2hvbWVfcGFnZV9sYXlvdXQiO3M6MjoiMTAiO3M6MjA6InRkc19ob21lX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxNjoidGRzX2hvbWVfc2lkZWJhciI7czowOiIiO3M6MjA6InRkc19wYWdlX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxNjoidGRzX3BhZ2Vfc2lkZWJhciI7czowOiIiO3M6MjY6InRkc19kaXNhYmxlX2NvbW1lbnRzX3BhZ2VzIjtzOjA6IiI7czoyMjoidGRzX3NlYXJjaF9wYWdlX2xheW91dCI7czoyOiIxMCI7czoyMjoidGRzX3NlYXJjaF9zaWRlYmFyX3BvcyI7czowOiIiO3M6MTg6InRkc19zZWFyY2hfc2lkZWJhciI7czowOiIiO3M6MTk6InRkc190YWdfcGFnZV9sYXlvdXQiO3M6MjoiMTAiO3M6MTk6InRkc190YWdfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjE1OiJ0ZHNfdGFnX3NpZGViYXIiO3M6MDoiIjtzOjE5OiJ0ZHNfd29vX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxNToidGRzX3dvb19zaWRlYmFyIjtzOjA6IiI7czoyNjoidGRzX3dvb19zaW5nbGVfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjIyOiJ0ZHNfd29vX3NpbmdsZV9zaWRlYmFyIjtzOjA6IiI7czoyMzoidGRzX2JicHJlc3Nfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjE5OiJ0ZHNfYmJwcmVzc19zaWRlYmFyIjtzOjA6IiI7czozNjoidGRzX3RheG9ub215X3Bvc3RfZm9ybWF0X3BhZ2VfbGF5b3V0IjtzOjI6IjEwIjtzOjM2OiJ0ZHNfdGF4b25vbXlfcG9zdF9mb3JtYXRfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjMyOiJ0ZHNfdGF4b25vbXlfcG9zdF9mb3JtYXRfc2lkZWJhciI7czowOiIiO3M6MjE6InRkc19jYXRlZ29yeV90ZW1wbGF0ZSI7czoyMjoidGRfY2F0ZWdvcnlfdGVtcGxhdGVfMiI7czoyMjoidGRzX2NhdGVnb3J5X3B1bGxfZG93biI7czowOiIiO3M6Mjg6InRkc19jYXRlZ29yeV90b3BfcG9zdHNfc3R5bGUiO3M6MzU6InRkX2NhdGVnb3J5X3RvcF9wb3N0c19zdHlsZV9kaXNhYmxlIjtzOjI2OiJ0ZHNfY2F0ZWdvcnlfdGRfZ3JpZF9zdHlsZSI7czoxNToidGQtZ3JpZC1zdHlsZS0xIjtzOjI0OiJ0ZHNfY2F0ZWdvcnlfcGFnZV9sYXlvdXQiO3M6MjoiMTAiO3M6Mjk6InRkc19jYXRlZ29yeV9wYWdpbmF0aW9uX3N0eWxlIjtzOjA6IiI7czoyNDoidGRzX2NhdGVnb3J5X3NpZGViYXJfcG9zIjtzOjA6IiI7czoyMDoidGRzX2NhdGVnb3J5X3NpZGViYXIiO3M6MDoiIjtzOjIxOiJ0ZHNfcF9jYXRlZ29yaWVzX3RhZ3MiO3M6MDoiIjtzOjI4OiJ0ZHNfZGVmYXVsdF9jYXRlZ29yeV9kaXNwbGF5IjtzOjA6IiI7czoyMjoidGRzX3Bfc2hvd19hdXRob3JfbmFtZSI7czowOiIiO3M6MTU6InRkc19wX3Nob3dfZGF0ZSI7czowOiIiO3M6MTY6InRkc19wX3Nob3dfdmlld3MiO3M6NDoiaGlkZSI7czoxOToidGRzX3Bfc2hvd19jb21tZW50cyI7czo0OiJoaWRlIjtzOjEzOiJ0ZHNfc2hvd190YWdzIjtzOjA6IiI7czoxOToidGRzX3Nob3dfYXV0aG9yX2JveCI7czowOiIiO3M6MTg6InRkc19zaG93X25leHRfcHJldiI7czowOiIiO3M6Mjk6InRkc19kaXNhYmxlX2NvbW1lbnRzX3NpZGV3aWRlIjtzOjc6ImRpc2FibGUiO3M6MjM6InRkc19nZW5lcmFsX21vZGFsX2ltYWdlIjtzOjA6IiI7czoyOToidGRfZGVmYXVsdF9zaXRlX3Bvc3RfdGVtcGxhdGUiO3M6MTc6InRkYl90ZW1wbGF0ZV82NDAwIjtzOjIzOiJ0ZHNfc2hvd19mZWF0dXJlZF9pbWFnZSI7czowOiIiO3M6MzU6InRkc19oaWRlX2ZlYXR1cmVkX2ltYWdlX3BsYWNlaG9sZGVyIjtzOjA6IiI7czozMToidGRzX2ZlYXR1cmVkX2ltYWdlX3ZpZXdfc2V0dGluZyI7czo4OiJub19tb2RhbCI7czoyMDoidGRzX3NpbWlsYXJfYXJ0aWNsZXMiO3M6MDoiIjtzOjI1OiJ0ZHNfc2ltaWxhcl9hcnRpY2xlc190eXBlIjtzOjA6IiI7czoyNToidGRzX3NpbWlsYXJfYXJ0aWNsZXNfcm93cyI7czowOiIiO3M6MTk6InRkc190b3Bfc29jaWFsX3Nob3ciO3M6MDoiIjtzOjE3OiJ0ZHNfdG9wX2xpa2Vfc2hvdyI7czowOiIiO3M6Mjg6InRkc190b3BfbGlrZV9zaGFyZV90ZXh0X3Nob3ciO3M6MDoiIjtzOjI4OiJ0ZHNfc29jaWFsX3NoYXJpbmdfdG9wX3N0eWxlIjtzOjA6IiI7czoyMjoidGRzX2JvdHRvbV9zb2NpYWxfc2hvdyI7czowOiIiO3M6MjA6InRkc19ib3R0b21fbGlrZV9zaG93IjtzOjA6IiI7czozMToidGRzX2JvdHRvbV9saWtlX3NoYXJlX3RleHRfc2hvdyI7czowOiIiO3M6MzE6InRkc19zb2NpYWxfc2hhcmluZ19ib3R0b21fc3R5bGUiO3M6MDoiIjtzOjIwOiJ0ZHNfdHdlZXRlcl91c2VybmFtZSI7czoxMzoid3JpdGluZ2ludGhhaSI7czozODoidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc19lbmFibGUiO3M6MDoiIjtzOjQ5OiJ0ZHNfbW9yZV9hcnRpY2xlc19vbl9wb3N0X3BhZ2VzX2Rpc3RhbmNlX2Zyb21fdG9wIjtzOjA6IiI7czozOToidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc19kaXNwbGF5IjtzOjA6IiI7czo0NjoidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc19kaXNwbGF5X21vZHVsZSI7czowOiIiO3M6Mzg6InRkc19tb3JlX2FydGljbGVzX29uX3Bvc3RfcGFnZXNfbnVtYmVyIjtzOjA6IiI7czo0NDoidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc190aW1lX3RvX3dhaXQiO3M6MDoiIjtzOjI0OiJ0ZHNfYWpheF9wb3N0X3ZpZXdfY291bnQiO3M6MDoiIjtzOjI1OiJ0ZHNfZ2xvYmFsX2Jsb2NrX3RlbXBsYXRlIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV8xIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV8yIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV8zIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV80IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV81IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV82IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV83IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV84IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV85IjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xMCI7czowOiIiO3M6MjI6InRkc19jYXRlZ29yeV9tb2R1bGVfMTEiO3M6MDoiIjtzOjIyOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlXzEyIjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xMyI7czowOiIiO3M6MjI6InRkc19jYXRlZ29yeV9tb2R1bGVfMTQiO3M6MDoiIjtzOjIyOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlXzE1IjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xNiI7czowOiIiO3M6MjI6InRkc19jYXRlZ29yeV9tb2R1bGVfMTciO3M6MDoiIjtzOjIyOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlXzE4IjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xOSI7czowOiIiO3M6MjM6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxIjtzOjA6IiI7czoyMzoidGRzX2NhdGVnb3J5X21vZHVsZV9teDIiO3M6MDoiIjtzOjIzOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX214MyI7czowOiIiO3M6MjM6InRkc19jYXRlZ29yeV9tb2R1bGVfbXg0IjtzOjA6IiI7czoyMzoidGRzX2NhdGVnb3J5X21vZHVsZV9teDUiO3M6MDoiIjtzOjIzOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX214NiI7czowOiIiO3M6MjM6InRkc19jYXRlZ29yeV9tb2R1bGVfbXg3IjtzOjA6IiI7czoyMzoidGRzX2NhdGVnb3J5X21vZHVsZV9teDgiO3M6MDoiIjtzOjIzOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX214OSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMiI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMyI7czozOiJ5ZXMiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNiI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNyI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxOCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxOSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMiI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMyI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyNCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyNSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyNiI7czowOiIiO3M6MzM6InRkc19jYXRlZ29yeV9tb2R1bGVfcmVsYXRlZF9wb3N0cyI7czowOiIiO3M6Mjk6InRkc19jYXRlZ29yeV9tb2R1bGVfbWVnYV9tZW51IjtzOjA6IiI7czoyNToidGRzX2NhdGVnb3J5X21vZHVsZV9zbGlkZSI7czozOiJ5ZXMiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF8xIjtzOjA6IiI7czoyMjoidGRzX21fc2hvd19hdXRob3JfbmFtZSI7czowOiIiO3M6MTU6InRkc19tX3Nob3dfZGF0ZSI7czowOiIiO3M6MTk6InRkc19tX3Nob3dfY29tbWVudHMiO3M6NDoiaGlkZSI7czoxNzoidGRzX21fc2hvd19yZXZpZXciO3M6MDoiIjtzOjI1OiJ0ZHNfcF9lbmFibGVfN19kYXlzX2NvdW50IjtzOjA6IiI7czoyNToidGRzX3NpdGVfYmFja2dyb3VuZF9pbWFnZSI7czowOiIiO3M6MjY6InRkc19zaXRlX2JhY2tncm91bmRfcmVwZWF0IjtzOjA6IiI7czozMDoidGRzX3NpdGVfYmFja2dyb3VuZF9wb3NpdGlvbl94IjtzOjA6IiI7czozMDoidGRzX3NpdGVfYmFja2dyb3VuZF9hdHRhY2htZW50IjtzOjA6IiI7czoyMjoidGRzX3N0cmV0Y2hfYmFja2dyb3VuZCI7czowOiIiO3M6Mjc6InRkc19tb2JpbGVfYmFja2dyb3VuZF9pbWFnZSI7czowOiIiO3M6Mjg6InRkc19tb2JpbGVfYmFja2dyb3VuZF9yZXBlYXQiO3M6MDoiIjtzOjI2OiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfc2l6ZSI7czowOiIiO3M6MzA6InRkc19tb2JpbGVfYmFja2dyb3VuZF9wb3NpdGlvbiI7czowOiIiO3M6MjY6InRkc19sb2dpbl9iYWNrZ3JvdW5kX2ltYWdlIjtzOjA6IiI7czoyNzoidGRzX2xvZ2luX2JhY2tncm91bmRfcmVwZWF0IjtzOjA6IiI7czoyNToidGRzX2xvZ2luX2JhY2tncm91bmRfc2l6ZSI7czowOiIiO3M6Mjk6InRkc19sb2dpbl9iYWNrZ3JvdW5kX3Bvc2l0aW9uIjtzOjA6IiI7czoxNzoidGRzX2V4Y2VycHRzX3R5cGUiO3M6MDoiIjtzOjI1OiJ0ZF9tb2R1bGVfMV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNToidGRfbW9kdWxlXzJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV8yX2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjU6InRkX21vZHVsZV8zX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI1OiJ0ZF9tb2R1bGVfNF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNzoidGRfbW9kdWxlXzRfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czoyNToidGRfbW9kdWxlXzVfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV81X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjU6InRkX21vZHVsZV82X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI1OiJ0ZF9tb2R1bGVfN190aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNToidGRfbW9kdWxlXzhfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MjU6InRkX21vZHVsZV85X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTBfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV8xMF9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTFfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV8xMV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV8xMl9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTNfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xNF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE0X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xNl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE2X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xN190aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE3X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xOF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE4X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xOV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE5X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDFfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDNfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDRfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDVfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDZfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDdfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjk6InRkX21vZHVsZV9teDdfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czoyNzoidGRfbW9kdWxlX214OF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNzoidGRfbW9kdWxlX214OV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTBfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDExX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgxMl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTNfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDE0X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgxNV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTZfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzA6InRkX21vZHVsZV9teDE2X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDE3X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgxOF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTlfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDIwX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgyMV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MjJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDIzX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgyNF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MjVfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDI2X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM3OiJ0ZF9tb2R1bGVfcmVsYXRlZF9wb3N0c190aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMzoidGRfbW9kdWxlX21lZ2FfbWVudV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyOToidGRfbW9kdWxlX3NsaWRlX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM2OiJ0ZF9tb2R1bGVfdHJlbmRpbmdfbm93X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF8xX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMyOiJ0ZF9tb2R1bGVfZmxleF8xX2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MTI6InRkc19sYW5ndWFnZSI7czowOiIiO3M6MjE6InRkc19oZWFkZXJfd3JhcF9jb2xvciI7czowOiIiO3M6MTk6InRkc190ZXh0X2xvZ29fY29sb3IiO3M6MDoiIjtzOjI3OiJ0ZHNfdGV4dF9sb2dvX3RhZ2xpbmVfY29sb3IiO3M6MDoiIjtzOjE2OiJ0ZHNfZm9vdGVyX2NvbG9yIjtzOjA6IiI7czoyMToidGRzX2Zvb3Rlcl90ZXh0X2NvbG9yIjtzOjA6IiI7czoyODoidGRzX2Zvb3Rlcl93aWRnZXRfdGV4dF9jb2xvciI7czowOiIiO3M6Mjk6InRkc19mb290ZXJfc29jaWFsX2ljb25zX2NvbG9yIjtzOjA6IiI7czozNToidGRzX2Zvb3Rlcl9zb2NpYWxfaWNvbnNfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjIzOiJ0ZHNfZm9vdGVyX2JvdHRvbV9jb2xvciI7czowOiIiO3M6Mjg6InRkc19mb290ZXJfYm90dG9tX3RleHRfY29sb3IiO3M6MDoiIjtzOjI5OiJ0ZHNfZm9vdGVyX2JvdHRvbV9ob3Zlcl9jb2xvciI7czowOiIiO3M6MTQ6InRkc19jdXN0b21fY3NzIjtzOjA6IiI7czoyNjoidGRzX3Jlc3BvbnNpdmVfY3NzX2Rlc2t0b3AiO3M6MDoiIjtzOjMzOiJ0ZHNfcmVzcG9uc2l2ZV9jc3NfaXBhZF9sYW5kc2NhcGUiO3M6MDoiIjtzOjMyOiJ0ZHNfcmVzcG9uc2l2ZV9jc3NfaXBhZF9wb3J0cmFpdCI7czowOiIiO3M6MjQ6InRkc19yZXNwb25zaXZlX2Nzc19waG9uZSI7czowOiIiO3M6MTU6InRkX2JvZHlfY2xhc3NlcyI7czowOiIiO3M6MjE6InRkc19jdXN0b21famF2YXNjcmlwdCI7czowOiIiO3M6MTU6InRkc19jdXN0b21faHRtbCI7czowOiIiO3M6MTI6InRkX2FuYWx5dGljcyI7czozMDM6IjwhLS0gR29vZ2xlIHRhZyAoZ3RhZy5qcykgLS0+DQo8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9Ry01MjY2WFAwREhMXCI+PC9zY3JpcHQ+DQo8c2NyaXB0Pg0KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsNCiAgZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fQ0KICBndGFnKFwnanNcJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZyhcJ2NvbmZpZ1wnLCBcJ0ctNTI2NlhQMERITFwnKTsNCjwvc2NyaXB0PiI7czoyMjoidGRfZm9udHNfdXNlcl9pbnNlcnRlZCI7YTo0Nzp7czoxMToiZm9udF9maWxlXzEiO3M6MDoiIjtzOjEzOiJmb250X2ZhbWlseV8xIjtzOjA6IiI7czoxMToiZm9udF9maWxlXzIiO3M6MDoiIjtzOjEzOiJmb250X2ZhbWlseV8yIjtzOjA6IiI7czoxMToiZm9udF9maWxlXzMiO3M6MDoiIjtzOjEzOiJmb250X2ZhbWlseV8zIjtzOjA6IiI7czoxMDoidHlwZWtpdF9qcyI7czowOiIiO3M6MjI6InR5cGVfa2l0X2ZvbnRfZmFtaWx5XzEiO3M6MDoiIjtzOjIyOiJ0eXBlX2tpdF9mb250X2ZhbWlseV8yIjtzOjA6IiI7czoyMjoidHlwZV9raXRfZm9udF9mYW1pbHlfMyI7czowOiIiO3M6ODoiZ19hcmFiaWMiO3M6MDoiIjtzOjk6ImdfYmVuZ2FsaSI7czowOiIiO3M6MTA6ImdfY3lyaWxsaWMiO3M6MDoiIjtzOjE0OiJnX2N5cmlsbGljLWV4dCI7czowOiIiO3M6MTI6ImdfZGV2YW5hZ2FyaSI7czowOiIiO3M6NzoiZ19ncmVlayI7czowOiIiO3M6MTE6ImdfZ3JlZWstZXh0IjtzOjA6IiI7czoxMDoiZ19ndWphcmF0aSI7czowOiIiO3M6ODoiZ19oZWJyZXciO3M6MDoiIjtzOjc6Imdfa2htZXIiO3M6MDoiIjtzOjc6ImdfbGF0aW4iO3M6MDoiIjtzOjExOiJnX2xhdGluLWV4dCI7czowOiIiO3M6NzoiZ190YW1pbCI7czowOiIiO3M6ODoiZ190ZWx1Z3UiO3M6MDoiIjtzOjY6ImdfdGhhaSI7czowOiIiO3M6MTI6ImdfdmlldG5hbWVzZSI7czowOiIiO3M6MTA6ImdfMTAwX3RoaW4iO3M6MDoiIjtzOjE3OiJnXzEwMF90aGluX2l0YWxpYyI7czowOiIiO3M6MTc6ImdfMjAwX2V4dHJhX2xpZ2h0IjtzOjA6IiI7czoyNDoiZ18yMDBfZXh0cmFfbGlnaHRfaXRhbGljIjtzOjA6IiI7czoxMToiZ18zMDBfbGlnaHQiO3M6MDoiIjtzOjE4OiJnXzMwMF9saWdodF9pdGFsaWMiO3M6MDoiIjtzOjE5OiJnXzQwMF9ub3JtYWxfaXRhbGljIjtzOjA6IiI7czoxMjoiZ181MDBfbWVkaXVtIjtzOjA6IiI7czoxOToiZ181MDBfbWVkaXVtX2l0YWxpYyI7czowOiIiO3M6MTU6ImdfNjAwX3NlbWlfYm9sZCI7czowOiIiO3M6MjI6ImdfNjAwX3NlbWlfYm9sZF9pdGFsaWMiO3M6MDoiIjtzOjEwOiJnXzcwMF9ib2xkIjtzOjA6IiI7czoxNzoiZ183MDBfYm9sZF9pdGFsaWMiO3M6MDoiIjtzOjE2OiJnXzgwMF9leHRyYV9ib2xkIjtzOjA6IiI7czoyMzoiZ184MDBfZXh0cmFfYm9sZF9pdGFsaWMiO3M6MDoiIjtzOjExOiJnXzkwMF9ibGFjayI7czowOiIiO3M6MTg6ImdfOTAwX2JsYWNrX2l0YWxpYyI7czowOiIiO3M6MTE6ImZvbnRfZmlsZV80IjtzOjA6IiI7czoxMzoiZm9udF9mYW1pbHlfNCI7czowOiIiO3M6MTE6ImZvbnRfZmlsZV81IjtzOjA6IiI7czoxMzoiZm9udF9mYW1pbHlfNSI7czowOiIiO31zOjE5OiJ0ZF9mb250c19jc3NfYnVmZmVyIjtzOjA6IiI7czoxODoidGRfZm9udHNfanNfYnVmZmVyIjtzOjA6IiI7czoxODoidGRfc29jaWFsX25ldHdvcmtzIjthOjU6e3M6ODoiZmFjZWJvb2siO3M6MzQ6Imh0dHBzOi8vZmFjZWJvb2suY29tL3dyaXRpbmdpbnRoYWkiO3M6OToiaW5zdGFncmFtIjtzOjQwOiJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3dyaXRpbmdpbnRoYWkvIjtzOjg6InRlbGVncmFtIjtzOjI2OiJodHRwczovL3QubWUvd3JpdGluZ2ludGhhaSI7czo3OiJ0d2l0dGVyIjtzOjMzOiJodHRwczovL3R3aXR0ZXIuY29tL3dyaXRpbmdpbnRoYWkiO3M6NzoieW91dHViZSI7czo1NjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3BSZ1RfbE1MaHE0MTNCUTNNMFRPb3ciO31zOjE2OiJ0ZHNfaGVhZGVyX3RpdGxlIjtzOjA6IiI7czo2OiJ0ZF9hZHMiO2E6MTU6e3M6NjoiaGVhZGVyIjthOjEzOntzOjc6ImFkX2NvZGUiO3M6MzY3OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8IS0tIEhlYWRlciAtLT4NCjxpbnMgY2xhc3M9XCJhZHNieWdvb2dsZVwiDQogICAgIHN0eWxlPVwiZGlzcGxheTpibG9ja1wiDQogICAgIGRhdGEtYWQtY2xpZW50PVwiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjVcIg0KICAgICBkYXRhLWFkLXNsb3Q9XCI0NjA4NDMwMDEyXCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9XCJhdXRvXCI+PC9pbnM+DQo8c2NyaXB0Pg0KICAgICAoYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+IjtzOjE4OiJkaXNhYmxlX2Zvcl9hZG1pbnMiO3M6MDoiIjtzOjk6ImRpc2FibGVfbSI7czowOiIiO3M6NjoibV9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90bCI7czowOiIiO3M6NzoidGxfc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdHAiO3M6MDoiIjtzOjc6InRwX3NpemUiO3M6MDoiIjtzOjk6ImRpc2FibGVfcCI7czowOiIiO3M6NjoicF9zaXplIjtzOjA6IiI7czoxNToiY3VycmVudF9hZF90eXBlIjtzOjY6Imdvb2dsZSI7czoxNjoiZ19kYXRhX2FkX2NsaWVudCI7czoyMzoiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjUiO3M6MTQ6ImdfZGF0YV9hZF9zbG90IjtzOjEwOiI0NjA4NDMwMDEyIjt9czo3OiJzaWRlYmFyIjthOjEzOntzOjc6ImFkX2NvZGUiO3M6MzY4OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8IS0tIFNpZGViYXIgLS0+DQo8aW5zIGNsYXNzPVwiYWRzYnlnb29nbGVcIg0KICAgICBzdHlsZT1cImRpc3BsYXk6YmxvY2tcIg0KICAgICBkYXRhLWFkLWNsaWVudD1cImNhLXB1Yi0xMTQ0OTMzMjM5MjY2NDY1XCINCiAgICAgZGF0YS1hZC1zbG90PVwiNjM4ODQxNTU0OFwiDQogICAgIGRhdGEtYWQtZm9ybWF0PVwiYXV0b1wiPjwvaW5zPg0KPHNjcmlwdD4NCiAgICAgKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PiI7czoxODoiZGlzYWJsZV9mb3JfYWRtaW5zIjtzOjA6IiI7czo5OiJkaXNhYmxlX20iO3M6MDoiIjtzOjY6Im1fc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdGwiO3M6MDoiIjtzOjc6InRsX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RwIjtzOjA6IiI7czo3OiJ0cF9zaXplIjtzOjA6IiI7czo5OiJkaXNhYmxlX3AiO3M6MDoiIjtzOjY6InBfc2l6ZSI7czowOiIiO3M6MTU6ImN1cnJlbnRfYWRfdHlwZSI7czo2OiJnb29nbGUiO3M6MTY6ImdfZGF0YV9hZF9jbGllbnQiO3M6MjM6ImNhLXB1Yi0xMTQ0OTMzMjM5MjY2NDY1IjtzOjE0OiJnX2RhdGFfYWRfc2xvdCI7czoxMDoiNjM4ODQxNTU0OCI7fXM6MTQ6ImNvbnRlbnRfYm90dG9tIjthOjEyOntzOjc6ImFkX2NvZGUiO3M6MzU3OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8aW5zIGNsYXNzPVwiYWRzYnlnb29nbGVcIg0KICAgICBzdHlsZT1cImRpc3BsYXk6YmxvY2tcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9yZWxheGVkXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjg1MDI4NzQ2OTVcIj48L2lucz4NCjxzY3JpcHQ+DQogICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4iO3M6OToiZGlzYWJsZV9tIjtzOjA6IiI7czo2OiJtX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RsIjtzOjA6IiI7czo3OiJ0bF9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90cCI7czowOiIiO3M6NzoidHBfc2l6ZSI7czowOiIiO3M6OToiZGlzYWJsZV9wIjtzOjA6IiI7czo2OiJwX3NpemUiO3M6MDoiIjtzOjE1OiJjdXJyZW50X2FkX3R5cGUiO3M6NjoiZ29vZ2xlIjtzOjE2OiJnX2RhdGFfYWRfY2xpZW50IjtzOjIzOiJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NSI7czoxNDoiZ19kYXRhX2FkX3Nsb3QiO3M6MTA6Ijg1MDI4NzQ2OTUiO31zOjEwOiJoZWFkZXJfbW9iIjthOjQ6e3M6NzoiYWRfY29kZSI7czozOTU6IjxzY3JpcHQgYXN5bmMgc3JjPVwiLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanNcIj48L3NjcmlwdD4NCjwhLS0gQU1QIC0tPg0KPGlucyBjbGFzcz1cImFkc2J5Z29vZ2xlXCINCiAgICAgc3R5bGU9XCJkaXNwbGF5OmJsb2NrXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjY2MTgzMDc4MDFcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9cIg0KICAgICBkYXRhLWZ1bGwtd2lkdGgtcmVzcG9uc2l2ZT1cInRydWVcIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+IjtzOjE1OiJjdXJyZW50X2FkX3R5cGUiO3M6NjoiZ29vZ2xlIjtzOjE2OiJnX2RhdGFfYWRfY2xpZW50IjtzOjIzOiJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NSI7czoxNDoiZ19kYXRhX2FkX3Nsb3QiO3M6MTA6IjY2MTgzMDc4MDEiO31zOjEwOiJmb290ZXJfbW9iIjthOjQ6e3M6NzoiYWRfY29kZSI7czo0MDI6IjxzY3JpcHQgYXN5bmMgc3JjPVwiLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanNcIj48L3NjcmlwdD4NCjwhLS0gQU1QIEZvb3RlciAtLT4NCjxpbnMgY2xhc3M9XCJhZHNieWdvb2dsZVwiDQogICAgIHN0eWxlPVwiZGlzcGxheTpibG9ja1wiDQogICAgIGRhdGEtYWQtY2xpZW50PVwiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjVcIg0KICAgICBkYXRhLWFkLXNsb3Q9XCI5NzM1NDI1NzMxXCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9XCJhdXRvXCINCiAgICAgZGF0YS1mdWxsLXdpZHRoLXJlc3BvbnNpdmU9XCJ0cnVlXCI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PiI7czoxNToiY3VycmVudF9hZF90eXBlIjtzOjY6Imdvb2dsZSI7czoxNjoiZ19kYXRhX2FkX2NsaWVudCI7czoyMzoiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjUiO3M6MTQ6ImdfZGF0YV9hZF9zbG90IjtzOjEwOiI5NzM1NDI1NzMxIjt9czoxNDoic21hcnRfbGlzdF9tb2IiO2E6MTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7fXM6ODoibG9vcF9tb2IiO2E6MTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7fXM6MTU6ImNvbnRlbnRfdG9wX21vYiI7YToxOntzOjc6ImFkX2NvZGUiO3M6MDoiIjt9czoxODoiY29udGVudF9ib3R0b21fbW9iIjthOjE6e3M6NzoiYWRfY29kZSI7czowOiIiO31zOjE4OiJjb250ZW50X2lubGluZV9tb2IiO2E6MTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7fXM6MTY6InRkbV9hbXBfYXV0b19hZHMiO2E6Mjp7czo3OiJhZF9jb2RlIjtzOjIwODoiPGFtcC1hdXRvLWFkcw0KICAgIHR5cGU9XCJhZHNlbnNlXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjY2MTgzMDc4MDFcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9cIg0KICAgICBkYXRhLWZ1bGwtd2lkdGgtcmVzcG9uc2l2ZT1cInRydWVcIj4NCjwvYW1wLWF1dG8tYWRzPiI7czoxNToiY3VycmVudF9hZF90eXBlIjtzOjU6Im90aGVyIjt9czoxMToiY29udGVudF90b3AiO2E6OTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7czo5OiJkaXNhYmxlX20iO3M6MDoiIjtzOjY6Im1fc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdGwiO3M6MDoiIjtzOjc6InRsX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RwIjtzOjA6IiI7czo3OiJ0cF9zaXplIjtzOjA6IiI7czo5OiJkaXNhYmxlX3AiO3M6MDoiIjtzOjY6InBfc2l6ZSI7czowOiIiO31zOjE0OiJjb250ZW50X2lubGluZSI7YTo5OntzOjc6ImFkX2NvZGUiO3M6MDoiIjtzOjk6ImRpc2FibGVfbSI7czowOiIiO3M6NjoibV9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90bCI7czowOiIiO3M6NzoidGxfc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdHAiO3M6MDoiIjtzOjc6InRwX3NpemUiO3M6MDoiIjtzOjk6ImRpc2FibGVfcCI7czowOiIiO3M6NjoicF9zaXplIjtzOjA6IiI7fXM6MTE6ImN1c3RvbV9hZF8xIjthOjEyOntzOjc6ImFkX2NvZGUiO3M6MzU3OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8aW5zIGNsYXNzPVwiYWRzYnlnb29nbGVcIg0KICAgICBzdHlsZT1cImRpc3BsYXk6YmxvY2tcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9yZWxheGVkXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjg1MDI4NzQ2OTVcIj48L2lucz4NCjxzY3JpcHQ+DQogICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4iO3M6OToiZGlzYWJsZV9tIjtzOjA6IiI7czo2OiJtX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RsIjtzOjA6IiI7czo3OiJ0bF9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90cCI7czowOiIiO3M6NzoidHBfc2l6ZSI7czowOiIiO3M6OToiZGlzYWJsZV9wIjtzOjA6IiI7czo2OiJwX3NpemUiO3M6MDoiIjtzOjE1OiJjdXJyZW50X2FkX3R5cGUiO3M6NjoiZ29vZ2xlIjtzOjE2OiJnX2RhdGFfYWRfY2xpZW50IjtzOjIzOiJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NSI7czoxNDoiZ19kYXRhX2FkX3Nsb3QiO3M6MTA6Ijg1MDI4NzQ2OTUiO31zOjEwOiJmb290ZXJfdG9wIjthOjk6e3M6NzoiYWRfY29kZSI7czowOiIiO3M6OToiZGlzYWJsZV9tIjtzOjA6IiI7czo2OiJtX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RsIjtzOjA6IiI7czo3OiJ0bF9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90cCI7czowOiIiO3M6NzoidHBfc2l6ZSI7czowOiIiO3M6OToiZGlzYWJsZV9wIjtzOjA6IiI7czo2OiJwX3NpemUiO3M6MDoiIjt9fXM6MTU6InRkc190aGVtZV9jb2xvciI7czo3OiIjMWEyMzdlIjtzOjI1OiJ0ZHNfc2l0ZV9iYWNrZ3JvdW5kX2NvbG9yIjtzOjA6IiI7czoxNjoidGRzX2hlYWRlcl9jb2xvciI7czowOiIiO3M6MjE6InRkc190ZXh0X2hlYWRlcl9jb2xvciI7czowOiIiO3M6MTg6InRkc190b3BfbWVudV9jb2xvciI7czowOiIiO3M6MjM6InRkc190b3BfbWVudV90ZXh0X2NvbG9yIjtzOjA6IiI7czoyOToidGRzX3RvcF9tZW51X3RleHRfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfdG9wX3NvY2lhbF9pY29uc19jb2xvciI7czowOiIiO3M6MzI6InRkc190b3Bfc29jaWFsX2ljb25zX2hvdmVyX2NvbG9yIjtzOjA6IiI7czoxNDoidGRzX21lbnVfY29sb3IiO3M6MDoiIjtzOjIzOiJ0ZHNfc3VibWVudV9ob3Zlcl9jb2xvciI7czowOiIiO3M6MTk6InRkc19tZW51X3RleHRfY29sb3IiO3M6MDoiIjtzOjIxOiJ0ZHNfc3RpY2t5X21lbnVfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZHNfc3RpY2t5X3N1Ym1lbnVfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfc3RpY2t5X21lbnVfdGV4dF9jb2xvciI7czowOiIiO3M6Mjc6InRkc19tZW51X3NvY2lhbF9pY29uc19jb2xvciI7czowOiIiO3M6MzM6InRkc19tZW51X3NvY2lhbF9pY29uc19ob3Zlcl9jb2xvciI7czowOiIiO3M6MjM6InRkc19zdWJfbWVudV9iYWNrZ3JvdW5kIjtzOjA6IiI7czoyMzoidGRzX3N1Yl9tZW51X3RleHRfY29sb3IiO3M6MDoiIjtzOjI5OiJ0ZHNfc3ViX21lbnVfaG92ZXJfYmFja2dyb3VuZCI7czowOiIiO3M6MjQ6InRkc19zdWJfbWVudV9ob3Zlcl9jb2xvciI7czo3OiIjMWEyMzdlIjtzOjI0OiJ0ZHNfbWVnYV9tZW51X2JhY2tncm91bmQiO3M6MDoiIjtzOjE5OiJ0ZHNfbWVnYV9tZW51X2NvbG9yIjtzOjA6IiI7czoyNDoidGRzX21lZ2FfbWVudV9uZXh0X2NvbG9yIjtzOjA6IiI7czoyNjoidGRzX21lZ2FfbWVudV9hY2NlbnRfY29sb3IiO3M6NzoiIzFhMjM3ZSI7czozODoidGRzX21lZ2FfbWVudV9zdWJjYXRlZ29yaWVzX2JhY2tncm91bmQiO3M6MDoiIjtzOjMyOiJ0ZHNfbWVnYV9tZW51X3N1YmNhdGVnb3JpZXNfdGV4dCI7czowOiIiO3M6MzQ6InRkc19tZWdhX21lbnVfc3ViY2F0ZWdvcmllc19ib3JkZXIiO3M6MDoiIjtzOjI2OiJ0ZHNfbGl2ZV9zZWFyY2hfYmFja2dyb3VuZCI7czowOiIiO3M6Mjg6InRkc19saXZlX3NlYXJjaF9ib3JkZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfbGl2ZV9zZWFyY2hfdGV4dF9jb2xvciI7czowOiIiO3M6MjY6InRkc19saXZlX3NlYXJjaF9kYXRlX2NvbG9yIjtzOjA6IiI7czozMzoidGRzX2xpdmVfc2VhcmNoX2J1dHRvbl9iYWNrZ3JvdW5kIjtzOjA6IiI7czozMzoidGRzX2xpdmVfc2VhcmNoX2J1dHRvbl90ZXh0X2NvbG9yIjtzOjA6IiI7czoyODoidGRzX2xpdmVfc2VhcmNoX2FjY2VudF9jb2xvciI7czo3OiIjMWEyMzdlIjtzOjIxOiJ0ZHNfbW9iaWxlX21lbnVfY29sb3IiO3M6NzoiI2ZmZmZmZiI7czoyMjoidGRzX21vYmlsZV9pY29uc19jb2xvciI7czo3OiIjMDAwMDAwIjtzOjI3OiJ0ZHNfbW9iaWxlX2dyYWRpZW50X29uZV9tb2IiO3M6NzoiIzFhMjM3ZSI7czoyNzoidGRzX21vYmlsZV9ncmFkaWVudF90d29fbW9iIjtzOjc6IiMxYTIzN2UiO3M6MjE6InRkc19tb2JpbGVfdGV4dF9jb2xvciI7czowOiIiO3M6Mjg6InRkc19tb2JpbGVfdGV4dF9hY3RpdmVfY29sb3IiO3M6NzoiIzFlNzNiZSI7czozMjoidGRzX21vYmlsZV9idXR0b25fYmFja2dyb3VuZF9tb2IiO3M6MDoiIjtzOjI3OiJ0ZHNfbW9iaWxlX2J1dHRvbl9jb2xvcl9tb2IiO3M6MDoiIjtzOjIyOiJ0ZHNfbG9naW5fZ3JhZGllbnRfb25lIjtzOjA6IiI7czoyMjoidGRzX2xvZ2luX2dyYWRpZW50X3R3byI7czowOiIiO3M6MjA6InRkc19sb2dpbl90ZXh0X2NvbG9yIjtzOjA6IiI7czoyNzoidGRzX2xvZ2luX2J1dHRvbl9iYWNrZ3JvdW5kIjtzOjA6IiI7czoyMjoidGRzX2xvZ2luX2J1dHRvbl9jb2xvciI7czowOiIiO3M6MjY6InRkc19sb2dpbl9ob3Zlcl9iYWNrZ3JvdW5kIjtzOjA6IiI7czoyMToidGRzX2xvZ2luX2hvdmVyX2NvbG9yIjtzOjA6IiI7czoyMDoidGRzX3Bvc3RfdGl0bGVfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfcG9zdF9hdXRob3JfbmFtZV9jb2xvciI7czowOiIiO3M6MjI6InRkc19wb3N0X2NvbnRlbnRfY29sb3IiO3M6MDoiIjtzOjE2OiJ0ZHNfcG9zdF9oX2NvbG9yIjtzOjA6IiI7czoyNToidGRzX3Bvc3RfYmxvY2txdW90ZV9jb2xvciI7czowOiIiO3M6MjA6InRkc19wYWdlX3RpdGxlX2NvbG9yIjtzOjA6IiI7czoyMjoidGRzX3BhZ2VfY29udGVudF9jb2xvciI7czowOiIiO3M6MTY6InRkc19wYWdlX2hfY29sb3IiO3M6MDoiIjtzOjIzOiJ0ZF90cmFuc2xhdGlvbl9tYXBfdXNlciI7YToxNzg6e3M6NDoiVGVsOiI7czoyNToi4LmC4LiX4Lij4Lio4Lix4Lie4LiX4LmMOiI7czo2OiJFbWFpbDoiO3M6MTY6IuC4reC4teC5gOC4oeC4pToiO3M6MTY6IlZpZXcgYWxsIHJlc3VsdHMiO3M6NDg6IuC4lOC4ueC4nOC4peC4peC4seC4nuC4mOC5jOC4l+C4seC5ieC4h+C4q+C4oeC4lCI7czoxMDoiTm8gcmVzdWx0cyI7czozNjoi4LmE4Lih4LmI4Lih4Li14Lic4Lil4Lil4Lix4Lie4LiY4LmMIjtzOjQ6IkhvbWUiO3M6MjQ6IuC4q+C4meC5ieC4suC4q+C4peC4seC4gSI7czo1OiJDTE9TRSI7czo5OiLguJvguLTguJQiO3M6NDoiUGFnZSI7czoxMjoi4Lir4LiZ4LmJ4LiyIjtzOjM6IkFsbCI7czoyMToi4LiX4Lix4LmJ4LiH4Lir4Lih4LiUIjtzOjI6IkJ5IjtzOjk6IuC5guC4lOC4oiI7czo5OiJMb2FkIG1vcmUiO3M6Mzk6IuC5guC4q+C4peC4lOC5gOC4nuC4tOC5iOC4oeC5gOC4leC4tOC4oSI7czoxNDoiTW9kaWZpZWQgZGF0ZToiO3M6MDoiIjtzOjE3OiJWaWV3IGFsbCBwb3N0cyBpbiI7czo0ODoi4LiU4Li54LmC4Lie4Liq4LiV4LmM4LiX4Lix4LmJ4LiH4Lir4Lih4LiU4LmD4LiZIjtzOjQ6IlRhZ3MiO3M6MDoiIjtzOjE2OiJQcmV2aW91cyBhcnRpY2xlIjtzOjQyOiLguYDguKPguLfguYjguK3guIfguIHguYjguK3guJnguKvguJnguYnguLIiO3M6MTI6Ik5leHQgYXJ0aWNsZSI7czozMzoi4LmA4Lij4Li34LmI4Lit4LiH4LiW4Lix4LiU4LmE4LibIjtzOjc6IkF1dGhvcnMiO3M6MjQ6IuC4nOC4ueC5ieC5gOC4guC4teC4ouC4mSI7czo2OiJBdXRob3IiO3M6MjQ6IuC4nOC4ueC5ieC5gOC4guC4teC4ouC4mSI7czoxNjoiUkVMQVRFRCBBUlRJQ0xFUyI7czo1Nzoi4Lia4LiX4LiE4Lin4Liy4Lih4LiX4Li14LmI4LmA4LiB4Li14LmI4Lii4Lin4LiC4LmJ4Lit4LiHIjtzOjE2OiJNT1JFIEZST00gQVVUSE9SIjtzOjYwOiLguYDguJ7guLTguYjguKHguYDguJXguLTguKHguIjguLLguIHguJzguLnguYnguYDguILguLXguKLguJkiO3M6MzoiVklBIjtzOjk6IuC4iOC4suC4gSI7czo2OiJTT1VSQ0UiO3M6MzA6IuC5geC4q+C4peC5iOC4h+C4l+C4teC5iOC4oeC4siI7czo0OiJUQUdTIjtzOjA6IiI7czo1OiJTaGFyZSI7czoyMToi4LmB4Lia4LmI4LiH4Lib4Lix4LiZIjtzOjU6IlNIQVJFIjtzOjIxOiLguYHguJrguYjguIfguJvguLHguJkiO3M6ODoiQ29udGludWUiO3M6Mjc6IuC5gOC4nuC4tOC5iOC4oeC5gOC4leC4tOC4oSI7czo5OiJSZWFkIG1vcmUiO3M6MjE6IuC4reC5iOC4suC4meC4leC5iOC4rSI7czo1OiJ2aWV3cyI7czoxNToi4Lij4Lix4Lia4LiK4LihIjtzOjU6Ik5hbWU6IjtzOjEzOiLguIrguLfguYjguK06IjtzOjg6IldlYnNpdGU6IjtzOjI1OiLguYDguKfguYfguJrguYTguIvguJXguYw6IjtzOjg6IkNvbW1lbnQ6IjtzOjI1OiLguITguKfguLLguKHguYDguKvguYfguJk6IjtzOjEzOiJMRUFWRSBBIFJFUExZIjtzOjA6IiI7czoxMjoiUG9zdCBDb21tZW50IjtzOjA6IiI7czoxMjoiQ2FuY2VsIHJlcGx5IjtzOjA6IiI7czo1OiJSZXBseSI7czowOiIiO3M6MjU6IkxvZyBpbiB0byBsZWF2ZSBhIGNvbW1lbnQiO3M6MDoiIjtzOjExOiJOTyBDT01NRU5UUyI7czowOiIiO3M6OToiMSBDT01NRU5UIjtzOjA6IiI7czo4OiJDT01NRU5UUyI7czowOiIiO3M6MzU6IllvdXIgY29tbWVudCBpcyBhd2FpdGluZyBtb2RlcmF0aW9uIjtzOjA6IiI7czoyNzoiUGxlYXNlIGVudGVyIHlvdXIgbmFtZSBoZXJlIjtzOjA6IiI7czozNjoiUGxlYXNlIGVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyBoZXJlIjtzOjA6IiI7czo0NDoiWW91IGhhdmUgZW50ZXJlZCBhbiBpbmNvcnJlY3QgZW1haWwgYWRkcmVzcyEiO3M6MDoiIjtzOjI2OiJQbGVhc2UgZW50ZXIgeW91ciBjb21tZW50ISI7czowOiIiO3M6MTI6IkxvZ2dlZCBpbiBhcyI7czowOiIiO3M6ODoiTG9nIG91dD8iO3M6MDoiIjtzOjM1OiJMb2dnZWQgaW4gYXMgJXMuIEVkaXQgeW91ciBwcm9maWxlLiI7czowOiIiO3M6NDoiRWRpdCI7czowOiIiO3M6MjoiQXQiO3M6MDoiIjtzOjE1OiJSRVZJRVcgT1ZFUlZJRVciO3M6Mjc6IuC4quC4o+C4uOC4m+C4o+C4teC4p+C4tOC4pyI7czo3OiJTVU1NQVJZIjtzOjEyOiLguKrguKPguLjguJsiO3M6MTM6Ik9WRVJBTEwgU0NPUkUiO3M6NDU6IuC4hOC4sOC5geC4meC4meC4o+C4p+C4oeC4l+C4seC5ieC4h+C4q+C4oeC4lCI7czoxODoiT29vcHMuLi4gRXJyb3IgNDA0IjtzOjM0OiLguILguYnguK3guJzguLTguJTguJ7guKXguLLguJQgNDA0IjtzOjU0OiJTb3JyeSwgYnV0IHRoZSBwYWdlIHlvdSBhcmUgbG9va2luZyBmb3IgZG9lc25fdCBleGlzdC4iO3M6MTgxOiLguILguK3guK3guKDguLHguKLguJTguYnguKfguKIg4LmB4LiV4LmI4LiU4Li54LmA4Lir4Lih4Li34Lit4LiZ4Lin4LmI4Liy4Lir4LiZ4LmJ4Liy4Lir4Lij4Li34Lit4LiC4LmJ4Lit4Lih4Li54Lil4LiX4Li14LmI4LiE4Li44LiT4LiV4LmJ4Lit4LiH4LiB4Liy4Lij4LmE4Lih4LmI4Lih4Li14Lit4Lii4Li54LmIIjtzOjE3OiJZb3UgY2FuIGdvIHRvIHRoZSI7czowOiIiO3M6ODoiSE9NRVBBR0UiO3M6MjQ6IuC4q+C4meC5ieC4suC4q+C4peC4seC4gSI7czoxNjoiT1VSIExBVEVTVCBQT1NUUyI7czo1MToi4LmC4Lie4Liq4LiV4LmM4Lil4LmI4Liy4Liq4Li44LiU4LiI4Liy4LiB4LmA4Lij4LiyIjtzOjg6IlBvc3RzIGJ5IjtzOjA6IiI7czo1OiJQT1NUUyI7czowOiIiO3M6MTc6IlBvc3RzIHRhZ2dlZCB3aXRoIjtzOjA6IiI7czozOiJUYWciO3M6MDoiIjtzOjE1OiJEYWlseSBBcmNoaXZlczoiO3M6NTk6IuC5gOC4meC4t+C5ieC4reC4q+C4suC4o+C4p+C4oeC4guC4reC4h+C4p+C4seC4meC4l+C4teC5iDogIjtzOjE3OiJNb250aGx5IEFyY2hpdmVzOiI7czo1NToi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lij4Lin4Lih4LiC4Lit4LiH4LmA4LiU4Li34Lit4LiZOiI7czoxNjoiWWVhcmx5IEFyY2hpdmVzOiI7czo1Mjoi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lij4Lin4Lih4Lib4Lij4Liw4LiI4Liz4Lib4Li1OiI7czo4OiJBcmNoaXZlcyI7czozMzoi4LiE4Lil4Lix4LiH4LmA4LiZ4Li34LmJ4Lit4Lir4LiyIjtzOjE1OiJMQVRFU1QgQVJUSUNMRVMiO3M6MzY6IuC4muC4l+C4hOC4p+C4suC4oeC4peC5iOC4suC4quC4uOC4lCI7czoxNDoic2VhcmNoIHJlc3VsdHMiO3M6MzA6IuC4nOC4peC4geC4suC4o+C4hOC5ieC4meC4q+C4siI7czo2OiJTZWFyY2giO3M6MTU6IuC4hOC5ieC4meC4q+C4siI7czo2MjoiSWYgeW91X3JlIG5vdCBoYXBweSB3aXRoIHRoZSByZXN1bHRzLCBwbGVhc2UgZG8gYW5vdGhlciBzZWFyY2giO3M6MTMzOiLguKvguLLguIHguITguLjguJPguYTguKHguYjguJ7guK3guYPguIjguIHguLHguJrguJzguKXguKXguLHguJ7guJjguYwg4LmC4Lib4Lij4LiU4LiE4LmJ4LiZ4Lir4Liy4LmD4Lir4Lih4LmI4Lit4Li14LiB4LiE4Lij4Lix4LmJ4LiHIjtzOjEwOiJDb250YWN0IHVzIjtzOjI3OiLguJXguLTguJTguJXguYjguK3guYDguKPguLIiO3M6MjI6IkZvbGxvdyB1cyBvbiBJbnN0YWdyYW0iO3M6NTU6IuC4leC4tOC4lOC4leC4suC4oeC5gOC4o+C4suC5hOC4lOC5ieC4l+C4suC4hyBJbnN0YWdyYW0iO3M6MzY6IlBhZ2UgJUNVUlJFTlRfUEFHRSUgb2YgJVRPVEFMX1BBR0VTJSI7czo2MDoi4Lir4LiZ4LmJ4Liy4LiX4Li14LmIICVDVVJSRU5UX1BBR0UlIOC4iOC4suC4gSAlVE9UQUxfUEFHRVMlIjtzOjQ6Ik5leHQiO3M6MTU6IuC4luC4seC4lOC5hOC4myI7czo0OiJQcmV2IjtzOjI0OiLguIHguYjguK3guJnguKvguJnguYnguLIiO3M6NDoiQmFjayI7czoxMjoi4LiB4Lil4Lix4LiaIjtzOjI2OiJObyByZXN1bHRzIGZvciB5b3VyIHNlYXJjaCI7czo5Njoi4LmE4Lih4LmI4Lih4Li14Lic4Lil4Lil4Lix4Lie4LiY4LmM4Liq4Liz4Lir4Lij4Lix4Lia4LiB4Liy4Lij4LiE4LmJ4LiZ4Lir4Liy4LiC4Lit4LiH4LiE4Li44LiTIjtzOjE5OiJObyBwb3N0cyB0byBkaXNwbGF5IjtzOjYzOiLguYTguKHguYjguKHguLXguYDguJnguLfguYnguK3guKvguLLguJfguLXguYjguIjguLDguYHguKrguJTguIciO3M6NjoiTE9HIElOIjtzOjA6IiI7czoxNDoiU2lnbiBpbiAvIEpvaW4iO3M6MDoiIjtzOjc6IlNpZ24gaW4iO3M6MDoiIjtzOjc6IlNpZ24gdXAiO3M6MDoiIjtzOjQ6IkpvaW4iO3M6MDoiIjtzOjY6IkxvZyBJbiI7czowOiIiO3M6NToiTG9naW4iO3M6MDoiIjtzOjg6IlJFR0lTVEVSIjtzOjA6IiI7czo4OiJXZWxjb21lISI7czozNzoi4Lii4Li04LiZ4LiU4Li14LiV4LmJ4Lit4LiZ4Lij4Lix4LiaISI7czoyMToiTG9nIGludG8geW91ciBhY2NvdW50IjtzOjA6IiI7czoxNzoiUGFzc3dvcmQgcmVjb3ZlcnkiO3M6MDoiIjtzOjEyOiJTZW5kIE15IFBhc3MiO3M6MDoiIjtzOjE2OiJTZW5kIE15IFBhc3N3b3JkIjtzOjA6IiI7czoyMToiRm9yZ290IHlvdXIgcGFzc3dvcmQ/IjtzOjA6IiI7czozMDoiRm9yZ290IHlvdXIgcGFzc3dvcmQ/IEdldCBoZWxwIjtzOjA6IiI7czoxNzoiQ3JlYXRlIGFuIGFjY291bnQiO3M6MDoiIjtzOjE0OiJQbGVhc2Ugd2FpdC4uLiI7czowOiIiO3M6Mjc6IlVzZXIgb3IgcGFzc3dvcmQgaW5jb3JyZWN0ISI7czowOiIiO3M6Mjg6IkVtYWlsIG9yIHVzZXJuYW1lIGluY29ycmVjdCEiO3M6MDoiIjtzOjE2OiJFbWFpbCBpbmNvcnJlY3QhIjtzOjA6IiI7czoyOToiVXNlciBvciBlbWFpbCBhbHJlYWR5IGV4aXN0cyEiO3M6MDoiIjtzOjc2OiJQbGVhc2UgY2hlY2sgeW91ciBlbWFpbCAoaW5ib3ggb3Igc3BhbSBmb2xkZXIpLCB0aGUgcGFzc3dvcmQgd2FzIHNlbnQgdGhlcmUuIjtzOjA6IiI7czoyNDoiRW1haWwgYWRkcmVzcyBub3QgZm91bmQhIjtzOjA6IiI7czo0MToiWW91ciBwYXNzd29yZCBpcyByZXNldCwgY2hlY2sgeW91ciBlbWFpbC4iO3M6MDoiIjtzOjMwOiJXZWxjb21lISBMb2cgaW50byB5b3VyIGFjY291bnQiO3M6MDoiIjtzOjMyOiJXZWxjb21lISBSZWdpc3RlciBmb3IgYW4gYWNjb3VudCI7czowOiIiO3M6MjM6IlJlZ2lzdGVyIGZvciBhbiBhY2NvdW50IjtzOjA6IiI7czoyMToiUmVjb3ZlciB5b3VyIHBhc3N3b3JkIjtzOjA6IiI7czoxMzoieW91ciB1c2VybmFtZSI7czowOiIiO3M6MTM6InlvdXIgcGFzc3dvcmQiO3M6MDoiIjtzOjEwOiJ5b3VyIGVtYWlsIjtzOjA6IiI7czozNToiQSBwYXNzd29yZCB3aWxsIGJlIGUtbWFpbGVkIHRvIHlvdS4iO3M6MDoiIjtzOjY6IkxvZ291dCI7czowOiIiO3M6NDoiTGlrZSI7czowOiIiO3M6NToiTGlrZXMiO3M6MDoiIjtzOjQ6IkZhbnMiO3M6MDoiIjtzOjY6IkZvbGxvdyI7czowOiIiO3M6OToiRm9sbG93ZXJzIjtzOjA6IiI7czo5OiJTdWJzY3JpYmUiO3M6MDoiIjtzOjExOiJTdWJzY3JpYmVycyI7czowOiIiO3M6MTI6Ik1PUkUgU1RPUklFUyI7czowOiIiO3M6NjoiTGF0ZXN0IjtzOjE4OiLguKXguYjguLLguKrguLjguJQiO3M6MTQ6IkZlYXR1cmVkIHBvc3RzIjtzOjM2OiLguYDguJnguLfguYnguK3guKvguLLguYHguJnguLDguJnguLMiO3M6MTI6Ik1vc3QgcG9wdWxhciI7czo0Mjoi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lii4Lit4LiU4LiZ4Li04Lii4LihIjtzOjE0OiI3IGRheXMgcG9wdWxhciI7czo3ODoi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lii4Lit4LiU4LiZ4Li04Lii4Lih4LmD4LiZ4Lij4Lit4Lia4Liq4Lix4Lib4LiU4Liy4Lir4LmMIjtzOjE1OiJCeSByZXZpZXcgc2NvcmUiO3M6NDI6IuC4leC4suC4oeC4hOC4sOC5geC4meC4meC4l+C4teC5iOC5hOC4lOC5iSI7czo2OiJSYW5kb20iO3M6MTI6IuC4quC4uOC5iOC4oSI7czoxMjoiVHJlbmRpbmcgTm93IjtzOjE4OiLguKXguYjguLLguKrguLjguJQiO3M6MTY6IlBPUFVMQVIgQ0FURUdPUlkiO3M6MDoiIjtzOjEzOiJQT1BVTEFSIFBPU1RTIjtzOjA6IiI7czoxMjoiRURJVE9SIFBJQ0tTIjtzOjA6IiI7czo4OiJBQk9VVCBVUyI7czowOiIiO3M6ODoiQWJvdXQgbWUiO3M6MDoiIjtzOjk6IkZPTExPVyBVUyI7czowOiIiO3M6MTQ6IkVWRU4gTU9SRSBORVdTIjtzOjA6IiI7czoyNToiUHJldmlvdXMgKExlZnQgYXJyb3cga2V5KSI7czowOiIiO3M6MjI6Ik5leHQgKFJpZ2h0IGFycm93IGtleSkiO3M6MDoiIjtzOjE3OiIlY3VyciUgb2YgJXRvdGFsJSI7czoyNDoiJWN1cnIlIOC4iOC4suC4gSAldG90YWwlIjtzOjQzOiJUaGUgY29udGVudCBmcm9tICV1cmwlIGNvdWxkIG5vdCBiZSBsb2FkZWQuIjtzOjg1OiLguYDguJnguLfguYnguK3guKvguLLguIjguLLguIEgJXVybCUg4LmE4Lih4LmI4Liq4Liy4Lih4Liy4Lij4LiW4LmC4Lir4Lil4LiU4LmE4LiU4LmJIjtzOjM4OiJUaGUgaW1hZ2UgIyVjdXJyJSBjb3VsZCBub3QgYmUgbG9hZGVkLiI7czo3NToi4Lig4Liy4Lie4LiI4Liy4LiBICMlY3VyciUg4LmE4Lih4LmI4Liq4Liy4Lih4Liy4Lij4LiW4LmC4Lir4Lil4LiU4LmE4LiU4LmJIjtzOjQ6IkJsb2ciO3M6MDoiIjtzOjE3OiJTaGFyZSBvbiBGYWNlYm9vayI7czoyNzoi4LmB4LiK4Lij4LmM4LmE4LibIEZhY2Vib29rIjtzOjE2OiJUd2VldCBvbiBUd2l0dGVyIjtzOjI2OiLguJfguKfguLTguJXguYTguJsgVHdpdHRlciI7czo4OiJGZWF0dXJlZCI7czowOiIiO3M6MTY6IkFsbCB0aW1lIHBvcHVsYXIiO3M6NDI6IuC4ouC4reC4lOC4meC4tOC4ouC4oeC4leC4peC4reC4lOC4geC4suC4pSI7czo0OiJNb3JlIjtzOjA6IiI7czo4OiJSZWdpc3RlciI7czowOiIiO3M6Mjoib2YiO3M6MDoiIjtzOjIxOiJFdXJvIE1lbWJlciBDb3VudHJpZXMiO3M6MDoiIjtzOjE3OiJBdXN0cmFsaWFuIERvbGxhciI7czowOiIiO3M6MTM6IkJ1bGdhcmlhbiBMZXYiO3M6MDoiIjtzOjE0OiJCcmF6aWxpYW4gUmVhbCI7czowOiIiO3M6MTU6IkNhbmFkaWFuIERvbGxhciI7czowOiIiO3M6MTE6IlN3aXNzIEZyYW5jIjtzOjA6IiI7czoyMToiQ2hpbmVzZSBZdWFuIFJlbm1pbmJpIjtzOjA6IiI7czoyMToiQ3plY2ggUmVwdWJsaWMgS29ydW5hIjtzOjA6IiI7czoxMjoiRGFuaXNoIEtyb25lIjtzOjA6IiI7czoxMzoiQnJpdGlzaCBQb3VuZCI7czowOiIiO3M6MTY6IkhvbmcgS29uZyBEb2xsYXIiO3M6MDoiIjtzOjEzOiJDcm9hdGlhbiBLdW5hIjtzOjA6IiI7czoxNjoiSHVuZ2FyaWFuIEZvcmludCI7czowOiIiO3M6MTc6IkluZG9uZXNpYW4gUnVwaWFoIjtzOjA6IiI7czoxNDoiSXNyYWVsaSBTaGVrZWwiO3M6MDoiIjtzOjEyOiJJbmRpYW4gUnVwZWUiO3M6MDoiIjtzOjEyOiJKYXBhbmVzZSBZZW4iO3M6MDoiIjtzOjE4OiJLb3JlYW4gKFNvdXRoKSBXb24iO3M6MDoiIjtzOjEyOiJNZXhpY2FuIFBlc28iO3M6MDoiIjtzOjE3OiJNYWxheXNpYW4gUmluZ2dpdCI7czowOiIiO3M6MTU6Ik5vcndlZ2lhbiBLcm9uZSI7czowOiIiO3M6MTg6Ik5ldyBaZWFsYW5kIERvbGxhciI7czowOiIiO3M6MTU6IlBoaWxpcHBpbmUgUGVzbyI7czowOiIiO3M6MTI6IlBvbGlzaCBabG90eSI7czowOiIiO3M6MTg6IlJvbWFuaWFuIChOZXcpIExldSI7czowOiIiO3M6MTM6IlJ1c3NpYW4gUnVibGUiO3M6MDoiIjtzOjEzOiJTd2VkaXNoIEtyb25hIjtzOjA6IiI7czoxNjoiU2luZ2Fwb3JlIERvbGxhciI7czowOiIiO3M6OToiVGhhaSBCYWh0IjtzOjk6IuC4muC4suC4lyI7czoxMjoiVHVya2lzaCBMaXJhIjtzOjA6IiI7czoyMDoiVW5pdGVkIFN0YXRlcyBEb2xsYXIiO3M6MDoiIjtzOjE4OiJTb3V0aCBBZnJpY2FuIFJhbmQiO3M6MDoiIjtzOjc3OiJTYXZlIG15IG5hbWUsIGVtYWlsLCBhbmQgd2Vic2l0ZSBpbiB0aGlzIGJyb3dzZXIgZm9yIHRoZSBuZXh0IHRpbWUgSSBjb21tZW50LiI7czowOiIiO3M6MTQ6IlByaXZhY3kgUG9saWN5IjtzOjYzOiLguJnguYLguKLguJrguLLguKLguITguKfguLLguKHguYDguJvguYfguJnguKrguYjguKfguJnguJXguLHguKciO31zOjg6InRkX2ZvbnRzIjthOjIyOntzOjk6ImJvZHlfdGV4dCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzkxNCI7fXM6MTM6ImxvZ2luX2dlbmVyYWwiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE0OiJtb2JpbGVfZ2VuZXJhbCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzkxNCI7fXM6MTE6Im1vYmlsZV9tZW51IjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9czoxNToibW9iaWxlX3N1Yl9tZW51IjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9czoxMDoicGFnZV90aXRsZSI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6MTI6InBhZ2VfY29udGVudCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzkxNCI7fXM6NzoicGFnZV9oMSI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oMiI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oMyI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oNCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oNSI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oNiI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6MTQ6ImJicHJlc3NfaGVhZGVyIjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfNzQyIjt9czoxNDoiYmJwcmVzc190aXRsZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ183NDIiO31zOjIxOiJiYnByZXNzX3N1YmNhdGVnb3JpZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE5OiJiYnByZXNzX2Rlc2NyaXB0aW9uIjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9czoxNDoiYmJwcmVzc19hdXRob3IiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE1OiJiYnByZXNzX3JlcGxpZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE1OiJiYnByZXNzX25vdGljZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE4OiJiYnByZXNzX3BhZ2luYXRpb24iO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjEzOiJiYnByZXNzX3RvcGljIjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9fXM6MTQ6InRkX3JlbW90ZV9odHRwIjthOjI6e3M6OToidGVzdF90aW1lIjtpOjE1MjM0NjQ1MzY7czoxMToidGVzdF9zdGF0dXMiO3M6OToid29yZHByZXNzIjt9czoxNzoidGRfbGF0ZXN0X3ZlcnNpb24iO3M6NToiOC43LjIiO3M6MTM6InRkX3VwZGF0ZV91cmwiO3M6MTA2OiJodHRwczovL3RoZW1lZm9yZXN0Lm5ldC9kb3dubG9hZHM/dXRtX3NvdXJjZT1OZXdzcGFwZXJfdXBkYXRlJnV0bV9jYW1wYWlnbj12OC43LjImdXRtX21lZGl1bT11cGRhdGVfc3lzdGVtIjtzOjI1OiJ0ZHNfdGh1bWJfdGRfODB4NjBfcmV0aW5hIjtzOjA6IiI7czoyNjoidGRzX3RodW1iX3RkXzEwMHg3MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMjE4eDE1MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMjY1eDE5OF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzI0eDE2MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzI0eDIzNV9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzI0eDQwMF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzU2eDIyMF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzU2eDM2NF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfNDg1eDM2MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfNTMzeDI2MV9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfNTM0eDQ2Ml9yZXRpbmEiO3M6MDoiIjtzOjI1OiJ0ZHNfdGh1bWJfdGRfNjk2eDBfcmV0aW5hIjtzOjA6IiI7czoyNzoidGRzX3RodW1iX3RkXzY5NngzODVfcmV0aW5hIjtzOjA6IiI7czoyNzoidGRzX3RodW1iX3RkXzc0MXg0ODZfcmV0aW5hIjtzOjA6IiI7czoyODoidGRzX3RodW1iX3RkXzEwNjh4NTgwX3JldGluYSI7czowOiIiO3M6MjY6InRkc190aHVtYl90ZF8xMDY4eDBfcmV0aW5hIjtzOjA6IiI7czoyNToidGRzX3RodW1iX3RkXzB4NDIwX3JldGluYSI7czowOiIiO3M6MjY6InRkc190aHVtYl90ZF8xOTIweDBfcmV0aW5hIjtzOjA6IiI7czo5OiJ0ZF8wMTFfdGEiO3M6NzoibHBfc2VudCI7czoyNDoidGRzX2NvbnRlbnRfYm90dG9tX3RpdGxlIjtzOjM2OiLguJ7guLfguYnguJnguJfguLXguYjguYLguIbguKnguJPguLIiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF8yIjtzOjA6IiI7czoyNjoidGRzX2NhdGVnb3J5X21vZHVsZV9mbGV4XzMiO3M6MDoiIjtzOjI2OiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX2ZsZXhfNCI7czowOiIiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF81IjtzOjA6IiI7czozMDoidGRfbW9kdWxlX2ZsZXhfMl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMjoidGRfbW9kdWxlX2ZsZXhfMl9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF8zX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMyOiJ0ZF9tb2R1bGVfZmxleF8zX2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MzA6InRkX21vZHVsZV9mbGV4XzRfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzI6InRkX21vZHVsZV9mbGV4XzRfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozMDoidGRfbW9kdWxlX2ZsZXhfNV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMjoidGRfbW9kdWxlX2ZsZXhfNV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjE4OiJnX3VzZV9nb29nbGVfZm9udHMiO3M6MDoiIjtzOjE0OiJ0ZF9mb290ZXJfY29kZSI7czowOiIiO3M6MTA6InRkc19idXR0b24iO3M6MDoiIjtzOjE0OiJ0ZG1fYnRuX3JhZGl1cyI7czowOiIiO3M6OToidGRzX3RpdGxlIjtzOjA6IiI7czoxNjoidGRtX3Bob25lX251bWJlciI7czowOiIiO3M6OToidGRtX2VtYWlsIjtzOjA6IiI7czoxNDoidGRtX2V4dHJhX2luZm8iO3M6MDoiIjtzOjIxOiJ0ZG1faW5mb19zaG93X3RvcF9iYXIiO3M6MDoiIjtzOjI0OiJ0ZG1faW5mb19zaG93X3N1Yl9mb290ZXIiO3M6MDoiIjtzOjIwOiJ0ZG1fYm9yZGVyZWRfd2Vic2l0ZSI7czowOiIiO3M6MTU6InRkbV9tZW51X2FjdGl2ZSI7czowOiIiO3M6MTk6InRkbV9tZW51X2J0bjFfc3R5bGUiO3M6MDoiIjtzOjE4OiJ0ZG1fbWVudV9idG4xX3RleHQiO3M6MDoiIjtzOjE3OiJ0ZG1fbWVudV9idG4xX3VybCI7czowOiIiO3M6MzI6InRkbV9tZW51X2J0bjFfb3Blbl9pbl9uZXdfd2luZG93IjtzOjA6IiI7czoxOToidGRtX21lbnVfYnRuMl9zdHlsZSI7czowOiIiO3M6MTg6InRkbV9tZW51X2J0bjJfdGV4dCI7czowOiIiO3M6MTc6InRkbV9tZW51X2J0bjJfdXJsIjtzOjA6IiI7czozMjoidGRtX21lbnVfYnRuMl9vcGVuX2luX25ld193aW5kb3ciO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4xX2Jhc2VfY29sb3IiO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4yX2Jhc2VfY29sb3IiO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4xX3RleHRfY29sb3IiO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4yX3RleHRfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4xX2Jhc2VfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4yX2Jhc2VfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4xX3RleHRfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4yX3RleHRfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX2ZsZXhfNiI7czowOiIiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF83IjtzOjA6IiI7czoyNjoidGRzX2NhdGVnb3J5X21vZHVsZV9mbGV4XzgiO3M6MDoiIjtzOjMwOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX2ZsZXhfZW1wdHkiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF82X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF83X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF84X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM0OiJ0ZF9tb2R1bGVfZmxleF9lbXB0eV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoxMjoidGRzX3JlbF90eXBlIjtzOjA6IiI7czoyNDoidGRzX21fc2hvd19tb2RpZmllZF9kYXRlIjtzOjA6IiI7czoxNDoidGRtX21vYmlsZV9hbXAiO3M6MDoiIjtzOjE2OiJ0ZHNfbG9naW5fbW9iaWxlIjtzOjQ6ImhpZGUiO3M6MTk6InRkc190aGVtZV9jb2xvcl9tb2IiO3M6NzoiIzFhMjM3ZSI7czoyMzoidGRzX21lbnVfYmFja2dyb3VuZF9tb2IiO3M6NzoiI2ZmZmZmZiI7czoyMzoidGRzX21lbnVfaWNvbl9jb2xvcl9tb2IiO3M6NzoiIzAwMDAwMCI7czoyNToidGRzX21lbnVfZ3JhZGllbnRfb25lX21vYiI7czo3OiIjMWEyMzdlIjtzOjI1OiJ0ZHNfbWVudV9ncmFkaWVudF90d29fbW9iIjtzOjc6IiMxYTIzN2UiO3M6MjM6InRkc19tZW51X3RleHRfY29sb3JfbW9iIjtzOjA6IiI7czozMDoidGRzX21lbnVfdGV4dF9hY3RpdmVfY29sb3JfbW9iIjtzOjA6IiI7czozMDoidGRzX21lbnVfYnV0dG9uX2JhY2tncm91bmRfbW9iIjtzOjA6IiI7czoyNToidGRzX21lbnVfYnV0dG9uX2NvbG9yX21vYiI7czo3OiIjZmZmZmZmIjtzOjI1OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfbW9iIjtzOjA6IiI7czoyNToidGRzX2Zvb3Rlcl90ZXh0X2NvbG9yX21vYiI7czowOiIiO3M6Mjk6InRkc19zdWJfZm9vdGVyX2JhY2tncm91bmRfbW9iIjtzOjA6IiI7czoyOToidGRzX3N1Yl9mb290ZXJfdGV4dF9jb2xvcl9tb2IiO3M6MDoiIjtzOjMxOiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfaW1hZ2VfbW9iIjtzOjA6IiI7czozMjoidGRzX21vYmlsZV9iYWNrZ3JvdW5kX3JlcGVhdF9tb2IiO3M6MDoiIjtzOjMwOiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfc2l6ZV9tb2IiO3M6MDoiIjtzOjM0OiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfcG9zaXRpb25fbW9iIjtzOjA6IiI7czoxNjoidGRzX2FkX3RpdGxlX21vYiI7czowOiIiO3M6MjI6InRkc19sb29wX2FkX21vZHVsZV9tb2IiO3M6MDoiIjtzOjI3OiJ0ZHNfaW5saW5lX2FkX3BhcmFncmFwaF9tb2IiO3M6MDoiIjtzOjE3OiJ0ZG1fYW1wX2Fkc190aXRsZSI7czowOiIiO3M6MTc6InRkbV9hbXBfYW5hbHl0aWNzIjtzOjI4Njoiew0KICAgICAgICAgICAgXCJ2YXJzXCI6ew0KICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOlwiVUEtMTE1NDY4OTM3LTFcIg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIFwidHJpZ2dlcnNcIjp7DQogICAgICAgICAgICAgICAgXCJ0cmFja1BhZ2V2aWV3XCI6ew0KICAgICAgICAgICAgICAgICAgICBcIm9uXCI6XCJ2aXNpYmxlXCIsDQogICAgICAgICAgICAgICAgICAgIFwicmVxdWVzdFwiOlwicGFnZXZpZXdcIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSI7czoyOToidGRfbW9kdWxlX21vYl8xX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI5OiJ0ZF9tb2R1bGVfbW9iXzJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MTg6InRkc19jdXN0b21fY3NzX21vYiI7czowOiIiO3M6MjU6InRkc19jdXN0b21famF2YXNjcmlwdF9tb2IiO3M6MDoiIjtzOjE5OiJ0ZHNfY3VzdG9tX2h0bWxfbW9iIjtzOjA6IiI7czoyNDoidGRzX3VzZXJfY29tcGlsZV9jc3NfbW9iIjtzOjEzNjc6ImEsCiAgICAudGQtcG9zdC1hdXRob3ItbmFtZSBhLAogICAgLnRkLW1vYmlsZS1jb250ZW50IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsCiAgICAudGQtbW9iaWxlLWNvbnRlbnQgLmN1cnJlbnQtbWVudS1hbmNlc3RvciA+IGEsCiAgICAuZm9vdGVyLWVtYWlsLXdyYXAgYSwKICAgIC50ZC1zZWFyY2gtcXVlcnksCiAgICAudGQtcGFnZS1jb250ZW50IGJsb2NrcXVvdGUgcCwKICAgIC50ZC1wb3N0LWNvbnRlbnQgYmxvY2txdW90ZSBwIHsKICAgICAgICBjb2xvcjogIzFhMjM3ZTsKICAgIH0KCiAgICAudGQtc2Nyb2xsLXVwLAogICAgLnRkLXJhdGluZy1iYXItd3JhcCBkaXYsCiAgICAudGQtcGFnZS1jb250ZW50IC5kcm9wY2FwLAogICAgLnRkLXBvc3QtY29udGVudCAuZHJvcGNhcCwKICAgIC5jb21tZW50LWNvbnRlbnQgLmRyb3BjYXAsCiAgICAudGRfd3JhcHBlcl92aWRlb19wbGF5bGlzdCAudGRfdmlkZW9fY29udHJvbHNfcGxheWxpc3Rfd3JhcHBlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjM3ZTsKICAgIH0KCgogICAgLnRkX3F1b3RlX2JveCwKICAgIC50ZF93cmFwcGVyX3ZpZGVvX3BsYXlsaXN0IC50ZF92aWRlb19jdXJyZW50bHlfcGxheWluZzphZnRlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWEyMzdlOwogICAgfQoKICAgIAogICAgLnRkLW1lbnUtYmFja2dyb3VuZDpiZWZvcmUsCiAgICAudGQtc2VhcmNoLWJhY2tncm91bmQ6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMTQ1OwogICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzMzE0NSAwJSwgIzFhMjM3ZSAxMDAlKTsKICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgIzMzMzE0NSksIGNvbG9yLXN0b3AoMTAwJSwgIzFhMjM3ZSkpOwogICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzMzE0NSAwJSwgIzFhMjM3ZSAxMDAlKTsKICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMzMzMTQ1IDAlLCAjMWEyMzdlIDEwMCUpOwogICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMzMzMTQ1IDAlLCAjMWEyMzdlIDEwMCUpOwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMzMzMxNDUgMCUsICMxYTIzN2UgMTAwJSk7CiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMzMzMxNDUnLCBlbmRDb2xvcnN0cj0nIzFhMjM3ZScsIEdyYWRpZW50VHlwZT0wICk7CiAgICB9IjtzOjI4OiJ0ZF90aGVtZV9kZWFjdGl2YXRlZF9wbHVnaW5zIjthOjA6e31zOjE0OiJkR1JmTURFeFh3PT10cCI7aToxNTU2MzM1MTI5O3M6MTI6ImRHUmZNREV4WHc9PSI7czoxOiIxIjtzOjE5OiJ0ZGJfaGVhZGVyX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjMyNyI7czoyMToidGRiX2NhdGVnb3J5X3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjM2OSI7czoyNjoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfbW0iO3M6MDoiIjtzOjMwOiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9zZWFyY2giO3M6MDoiIjtzOjMxOiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9yZWxhdGVkIjtzOjA6IiI7czozODoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfcmVsYXRlZF9zYW1wbGUiO3M6MDoiIjtzOjI4OiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9sb29wIjtzOjA6IiI7czozMDoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfbG9vcF8yIjtzOjA6IiI7czozNDoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfY2F0X2dyaWRfMSI7czowOiIiO3M6MzQ6InRkc19jYXRlZ29yeV90ZGJfbW9kdWxlX2NhdF9ncmlkXzIiO3M6MDoiIjtzOjM0OiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9jYXRfZ3JpZF8zIjtzOjA6IiI7czo0MDoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfY2F0X2dyaWRfMV9lbXB0eSI7czowOiIiO3M6NDA6InRkc19jYXRlZ29yeV90ZGJfbW9kdWxlX2NhdF9ncmlkXzJfZW1wdHkiO3M6MDoiIjtzOjQwOiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9jYXRfZ3JpZF8zX2VtcHR5IjtzOjA6IiI7czoyNzoidGRiX21vZHVsZV9tbV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyOToidGRiX21vZHVsZV9tbV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjMxOiJ0ZGJfbW9kdWxlX3NlYXJjaF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMzoidGRiX21vZHVsZV9zZWFyY2hfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozMjoidGRiX21vZHVsZV9yZWxhdGVkX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM0OiJ0ZGJfbW9kdWxlX3JlbGF0ZWRfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozOToidGRiX21vZHVsZV9yZWxhdGVkX3NhbXBsZV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czo0MToidGRiX21vZHVsZV9yZWxhdGVkX3NhbXBsZV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI5OiJ0ZGJfbW9kdWxlX2xvb3BfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzE6InRkYl9tb2R1bGVfbG9vcF9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjMxOiJ0ZGJfbW9kdWxlX2xvb3BfMl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMzoidGRiX21vZHVsZV9sb29wXzJfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozNToidGRiX21vZHVsZV9jYXRfZ3JpZF8xX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM1OiJ0ZGJfbW9kdWxlX2NhdF9ncmlkXzJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzU6InRkYl9tb2R1bGVfY2F0X2dyaWRfM190aXRsZV9leGNlcnB0IjtzOjA6IiI7czo0MToidGRiX21vZHVsZV9jYXRfZ3JpZF8xX2VtcHR5X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjQxOiJ0ZGJfbW9kdWxlX2NhdF9ncmlkXzJfZW1wdHlfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6NDE6InRkYl9tb2R1bGVfY2F0X2dyaWRfM19lbXB0eV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyMToidGRiX3BfYXV0b2xvYWRfc3RhdHVzIjtzOjM6Im9mZiI7czoxOToidGRiX3BfYXV0b2xvYWRfdHlwZSI7czowOiIiO3M6MjA6InRkYl9wX2F1dG9sb2FkX2NvdW50IjtzOjA6IiI7czoyOToidGRiX3BfYXV0b2xvYWRfc2Nyb2xsX3BlcmNlbnQiO3M6MDoiIjtzOjExOiJ0ZGNfc2F2aW5ncyI7YTozOntzOjEyOiJyZWNlbnRDb2xvcnMiO2E6MjI6e2k6MDtzOjEyOiJJaU15TWpJeU1qSWkiO2k6MTtzOjEyOiJJaU14WlRjelltVWkiO2k6MjtzOjEyOiJJaU13TmpFd04yTWkiO2k6MztzOjEyOiJJaU01TVRreE9URWkiO2k6NDtzOjEyOiJJaU15TmpabVpXWWkiO2k6NTtzOjEyOiJJaU16WVROaE0yRWkiO2k6NjtzOjEyOiJJaU16WkROa00yUWkiO2k6NztzOjEyOiJJaU00T0RnNE9EZ2kiO2k6ODtzOjEyOiJJaU5pWTJKalltTWkiO2k6OTtzOjEyOiJJaU5qWlRrd056a2kiO2k6MTA7czozMjoiSW5KblltRW9NallzTXpVc01USTJMREF1TXpncElnPT0iO2k6MTE7czoxMjoiSWlOak9XTTVZemtpIjtpOjEyO3M6MTI6IklpTTVNRGsxT1dJaSI7aToxMztzOjEyOiJJaU5sWVdWaFpXRWkiO2k6MTQ7czoyODoiSW5aaGNpZ3RMV0ZqWTJWdWRDMWpiMnh2Y2lraSI7aToxNTtzOjEyOiJJaU16TVdRMllXRWkiO2k6MTY7czoxMjoiSWlNd01EVTNaV1lpIjtpOjE3O3M6MTI6IklpTXdNREJoTjJNaSI7aToxODtzOjEyOiJJaU14WlRGbE1XVWkiO2k6MTk7czoxMjoiSWlObVptWm1abVlpIjtpOjIwO3M6MTI6IklpTXdNREF3TURBaSI7aToyMTtzOjEyOiJJaU14WVRJek4yVWkiO31zOjExOiJyZWNlbnRGb250cyI7YTo1OntpOjA7czozOiI1MjEiO2k6MTtzOjE6IjEiO2k6MjtzOjM6IjkxNCI7aTozO3M6MDoiIjtpOjQ7czozOiI3NDIiO31zOjU6ImZvbnRzIjthOjE6e2k6MDthOjI6e3M6NDoibmFtZSI7czoxNjoiQXRoaXRpICsgU2FyYWJ1biI7czo1OiJ2YWx1ZSI7czoyNDA6ImV5Sm1iMjUwWDJaaGJXbHNlU0k2SWpjME1pSXNJbVp2Ym5SZmMybDZaU0k2SW1WNVNtaGlSM2RwVDJsSmVrMTVTWE5KYmtKdllqSTFiRWxxYjJsTmFsRnBURU5LYzFsWE5XdGpNazVvWTBkVmFVOXBTWGxQUTBselNXNUNkbU51VW5sWlYyd3dTV3B2YVUxcVVXbG1VVDA5SWl3aVptOXVkRjkzWldsbmFIUWlPaUkyTURBaUxDSm1iMjUwWDNOd1lXTnBibWNpT2lJdE1TSXNJbVp2Ym5SZmRISmhibk5tYjNKdElqb2libTl1WlNKOSI7fX19czo3OiJ0ZG1fYW1wIjtzOjM6ImFtcCI7czoyNjoidGRzX2Rpc2FibGVfYXJ0aWNsZV9zY2hlbWEiO3M6NDoiaGlkZSI7czoxNjoidGRiXzQwNF90ZW1wbGF0ZSI7czoxNzoidGRiX3RlbXBsYXRlXzY0MjkiO3M6MTc6InRkYl9kYXRlX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjYyOCI7czoyMzoidGRiX2F0dGFjaG1lbnRfdGVtcGxhdGUiO3M6MTc6InRkYl90ZW1wbGF0ZV82NjUyIjtzOjE5OiJ0ZGJfYXV0aG9yX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjQ5NSI7czoyMDoidGRiX2F1dGhvcl90ZW1wbGF0ZXMiO2E6Mjp7aToxO3M6MDoiIjtpOjI7czowOiIiO31zOjE5OiJ0ZGJfc2VhcmNoX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjU1NyI7czoxNjoidGRiX3RhZ190ZW1wbGF0ZSI7czoxNzoidGRiX3RlbXBsYXRlXzY2MzUiO3M6MjE6InRkc19jb250ZW50X3RvcF90aXRsZSI7czowOiIiO3M6MjQ6InRkc19jb250ZW50X2lubGluZV90aXRsZSI7czowOiIiO3M6MjM6InRkc19pbmxpbmVfYWRfcGFyYWdyYXBoIjtzOjA6IiI7czoxOToidGRzX2lubGluZV9hZF9hbGlnbiI7czowOiIiO3M6MjA6InRkc19mb290ZXJfdG9wX3RpdGxlIjtzOjA6IiI7czoxODoidGRtX2Zyb250cGFnZV9ncmlkIjtzOjA6IiI7czoxNzoidGRtX2NhdGVnb3J5X2dyaWQiO3M6MDoiIjtzOjIxOiJ0ZG1fZ3JpZHNfcG9zdHNfbGltaXQiO3M6MDoiIjtzOjI5OiJ0ZG1fZnJvbnRwYWdlX2dyaWRfY2F0X2ZpbHRlciI7czowOiIiO3M6MjM6InRkbV9mcm9udHBhZ2VfZ3JpZF9zb3J0IjtzOjA6IiI7czo0MToidGRtX2Zyb250cGFnZV9sYXRlc3RfYXJ0aWNsZXNfcG9zdHNfbGltaXQiO3M6MDoiIjtzOjQyOiJ0ZG1fZnJvbnRwYWdlX2xhdGVzdF9hcnRpY2xlc19wb3N0c19vZmZzZXQiO3M6MDoiIjtzOjI1OiJ0ZHNfY2F0ZWdvcnlfbW9idWxlX21vYl8xIjtzOjA6IiI7czoyNToidGRzX2NhdGVnb3J5X21vYnVsZV9tb2JfMiI7czowOiIiO3M6MTY6InRkX3VwZGF0ZWRfZm9udHMiO2I6MTtzOjI3OiJ0aGVtZV91cGRhdGVfbGF0ZXN0X3ZlcnNpb24iO3M6ODU6InsiMTIuNy4xIjoiaHR0cHM6XC9cL2Nsb3VkLnRhZ2Rpdi5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjVcLzA0XC9OZXdzcGFwZXIuemlwIn0iO3M6MjE6InRoZW1lX3VwZGF0ZV92ZXJzaW9ucyI7czo0Mjk6Ilt7IjEyLjcuMSI6Imh0dHBzOlwvXC9jbG91ZC50YWdkaXYuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvTmV3c3BhcGVyLnppcCJ9LHsiMTIuNyI6Imh0dHBzOlwvXC9jbG91ZC50YWdkaXYuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wM1wvTmV3c3BhcGVyLnppcCJ9LHsiMTIuNi45IjoiaHR0cHM6XC9cL2Nsb3VkLnRhZ2Rpdi5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjVcLzAyXC9OZXdzcGFwZXIuemlwIn0seyIxMi42LjgiOiJodHRwczpcL1wvY2xvdWQudGFnZGl2LmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNFwvMDlcL05ld3NwYXBlci56aXAifSx7IjEyLjYuNyI6Imh0dHBzOlwvXC9jbG91ZC50YWdkaXYuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wOFwvTmV3c3BhcGVyLnppcCJ9XSI7czoyMzoidGhlbWVfdXBkYXRlX3RvX3ZlcnNpb24iO3M6MDoiIjtzOjM2OiJ0ZF90aGVtZV9kZWFjdGl2YXRlZF9jdXJyZW50X3BsdWdpbnMiO2E6Mjp7czoxMToidGQtY29tcG9zZXIiO3M6MzI6ImRlZjhlZGM0ZTEzZDk1YmRmNDk5NTNhOWRjZTJmNjA4IjtzOjE2OiJ0ZC1jbG91ZC1saWJyYXJ5IjtzOjMyOiJiMzM2NTJmMjUzNWQyZjM4MTJmNTllMzA2ZTI2MzAwZCI7fXM6MTU6ImZpcnN0aW5zdGFsbE1vYiI7czoyMDoibW9iaWxldGhlbWVJbnN0YWxsZWQiO3M6MjQ6InRkc19sb2dvX21lbnVfdXBsb2FkX21vYiI7czo3NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzEyL0xvZ28tRGVmYXVsdC1Nb2JpbGUtMjAxOC5wbmciO3M6MjY6InRkc19sb2dvX21lbnVfdXBsb2FkX3JfbW9iIjtzOjc2OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvTG9nby1SZXRpbmEtTW9iaWxlLTIwMTgucG5nIjtzOjE2OiJ0ZHNfbG9nb19hbHRfbW9iIjtzOjE1OiJXcml0aW5nIGluIFRoYWkiO3M6MTg6InRkc19sb2dvX3RpdGxlX21vYiI7czoxNToiV3JpdGluZyBpbiBUaGFpIjtzOjE0OiJ0ZHNfZm9vdGVyX21vYiI7czowOiIiO3M6MjY6InRkc19mb290ZXJfbG9nb191cGxvYWRfbW9iIjtzOjc3OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvbG9nby13aGl0ZS10ZXh0LTI3Mi0yMDE4LnBuZyI7czozMzoidGRzX2Zvb3Rlcl9yZXRpbmFfbG9nb191cGxvYWRfbW9iIjtzOjc3OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvbG9nby13aGl0ZS10ZXh0LTU0NC0yMDE4LnBuZyI7czoxOToidGRzX2Zvb3Rlcl90ZXh0X21vYiI7czo2NTE6IuC5hOC4o+C4l+C5jOC4leC4tOC5ieC4h+C4reC4tOC4meC5hOC4l+C4oiAoV3JpdGluZyBpbiBUaGFpKSDguYDguKfguYfguJrguKPguKfguJrguKPguKfguKHguILguYjguLLguKfguKrguLLguKMg4LiC4LmJ4Lit4Lih4Li54LilIOC5geC4peC4sOC4o+C4teC4p+C4tOC4pyDguYDguITguKPguLfguYjguK3guIfguYDguILguLXguKLguJnguKvguKXguLLguIHguKvguKXguLLguKLguJvguKPguLDguYDguKDguJcg4LmA4Lib4LmH4LiZ4LmB4Lir4Lil4LmI4LiH4LiC4LmJ4Lit4Lih4Li54Lil4LmD4Lir4LmJ4LiB4Lix4Lia4Lic4Li54LmJ4Lit4LmI4Liy4LiZ4LiX4Li14LmI4Liq4LiZ4LmD4LiIIOC5geC4peC4sOC4geC4s+C4peC4seC4h+C4leC4seC4lOC4quC4tOC4meC5g+C4iOC4l+C4teC5iOC4iOC4sOC4i+C4t+C5ieC4reC5gOC4hOC4o+C4t+C5iOC4reC4h+C5gOC4guC4teC4ouC4mSDguKPguKfguKHguJbguLbguIfguKPguLLguKLguIfguLLguJnguJ7guLTguYDguKjguKkg4Liq4Liy4Lij4LiwIOC4hOC4p+C4suC4oeC4o+C4ueC5iSDguJfguLXguYjguYDguIHguLXguYjguKLguKfguILguYnguK3guIcNCg0K4LiV4Li04LiU4LiV4LmI4Lit4LmA4Lij4Liy4LmE4LiU4LmJ4LiX4Li14LmIIGNvbnRhY3RAd3JpdGluZy5pbi50aCI7czoyMDoidGRzX2Zvb3Rlcl9lbWFpbF9tb2IiO3M6MDoiIjtzOjIzOiJ0ZHNfZm9vdGVyX2xvZ29fYWx0X21vYiI7czoxNToiV3JpdGluZyBpbiBUaGFpIjtzOjI1OiJ0ZHNfZm9vdGVyX2xvZ29fdGl0bGVfbW9iIjtzOjE1OiJXcml0aW5nIGluIFRoYWkiO3M6MjE6InRkc19mb290ZXJfc29jaWFsX21vYiI7czowOiIiO3M6MTg6InRkc19zdWJfZm9vdGVyX21vYiI7czowOiIiO3M6MjQ6InRkc19mb290ZXJfY29weXJpZ2h0X21vYiI7czozMDA6IuC4quC4h+C4p+C4meC4peC4tOC4guC4quC4tOC4l+C4mOC4tOC5jCDguJ4u4LioLjI1NjEtMjU2MiDguJfguLXguKHguIfguLLguJnguYTguKPguJfguYzguJXguLTguYnguIfguK3guLTguJnguYTguJfguKIg4Lir4LmJ4Liy4Lih4LiE4Lix4LiU4Lil4Lit4LiBIOC4l+C4s+C4i+C5ieC4syDguKvguKPguLfguK0g4LiU4Lix4LiU4LmB4Lib4Lil4LiH4Liq4LmI4Lin4LiZ4LmD4LiU4LmE4Lib4LmA4Lic4Lii4LmB4Lie4Lij4LmI4LmC4LiU4Lii4LmE4Lih4LmI4LmE4LiU4LmJ4Lij4Lix4Lia4Lit4LiZ4Li44LiN4Liy4LiVICI7czoyNjoidGRzX2Zvb3Rlcl9jb3B5X3N5bWJvbF9tb2IiO3M6MDoiIjtzOjE5OiJ0ZGJfZm9vdGVyX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfODQxNSI7czoyMToidGRzX3ZpZGVvX3BsYXlpbmdfb25lIjtzOjA6IiI7czoyMjoidGRzX3ZpZGVvX3BhdXNlX2hpZGRlbiI7czowOiIiO3M6MTQ6InRkc192aWRlb19sYXp5IjtzOjA6IiI7czoxNjoidGRzX3ZpZGVvX3Njcm9sbCI7czowOiIiO3M6MTU6InRkc192aWRlb193aWR0aCI7czowOiIiO3M6MjA6InRkc192aWRlb19wb3NpdGlvbl92IjtzOjA6IiI7czoyMDoidGRzX3ZpZGVvX2Rpc3RhbmNlX3YiO3M6MDoiIjtzOjIwOiJ0ZHNfdmlkZW9fcG9zaXRpb25faCI7czowOiIiO3M6MjA6InRkc192aWRlb19kaXN0YW5jZV9oIjtzOjA6IiI7czoxNDoidGRzX3l0X2FwaV9rZXkiO3M6Mzk6IkFJemFTeUEtMHFyM1o3RWpibnNaNkhCR1Z4aHpCY180UDhNZUlnQSI7czoxNjoidGRfZm9udHNfZGVmYXVsdCI7YToxOntzOjEzOiJkZWZhdWx0X2ZvbnRzIjtzOjg6ImRpc2FibGVkIjt9czoxODoidGRzX21vZGFsX3ZpZGVvX2FkIjtzOjA6IiI7czoyNDoidGRzX21vZGFsX3ZpZGVvX2FkX3RpdGxlIjtzOjA6IiI7czoxNDoidGRzX2gxX29uX2xvZ28iO3M6MDoiIjtzOjE1OiJ0ZG1fc21hcnRsaXN0XzIiO3M6MDoiIjtzOjE3OiJ0ZGJfdGFnX3RlbXBsYXRlcyI7YToxOntzOjE3OiJ0ZGJfdGVtcGxhdGVfNjYzNSI7czowOiIiO31zOjExOiJ0ZHNfY2FwdGNoYSI7czowOiIiO3M6MjA6InRkc19jYXB0Y2hhX3NpdGVfa2V5IjtzOjQwOiI2TGR4VzVZVUFBQUFBTFdNeVNCZ1R0N19VdHcwYmN5WXctZ2l5NjhoIjtzOjIyOiJ0ZHNfY2FwdGNoYV9zZWNyZXRfa2V5IjtzOjQwOiI2TGR4VzVZVUFBQUFBTEZqVFctUUN6T0ZnTk9CMEs1MVBiemRmVDlRIjtzOjE3OiJ0ZHNfY2FwdGNoYV9zY29yZSI7czowOiIiO3M6MjY6InRkc19tb2RhbF92aWRlb19hZF9kaXNhYmxlIjtzOjA6IiI7czoxMDoidGRzX3RvX3RvcCI7czowOiIiO3M6MjA6InRkc190b190b3Bfb25fbW9iaWxlIjtzOjA6IiI7czoyMDoidGRzX3BhZ2VfbGF5b3V0X3NpemUiO3M6MDoiIjtzOjIyOiJnX21vYl91c2VfZ29vZ2xlX2ZvbnRzIjtzOjA6IiI7czoxMjoidGRfYm9keV9jb2RlIjtzOjA6IiI7czoxODoidGRzX2ZsaWNrcl9hcGlfa2V5IjtzOjA6IiI7czoyNjoidGRiX2hlYWRlcl90ZW1wbGF0ZV9tb2JpbGUiO3M6MTc6InRkYl90ZW1wbGF0ZV84MzkzIjtzOjI2OiJ0ZGJfZm9vdGVyX3RlbXBsYXRlX21vYmlsZSI7czoxNzoidGRiX3RlbXBsYXRlXzg0MDIiO3M6MjM6InRkX2ZiX2Nvbm5lY3RlZF9hY2NvdW50IjthOjY6e3M6MjE6ImZiX2xvZ2luX2FjY2Vzc190b2tlbiI7czoyNTI6IkVBQUMwdHdOOHdqUUJBSVpDZWozdlpDWkN4MUZveUtqYW82UHFDRjA4MW44Y3Myb0o5aEJaQkFRVVUzeGFSYjZKaDN6alhrWTR2OXZMSmZzOVpCQzAyREttVkRuWkNBTFpCZVdHbm1ScWRZaElMY2ZGM1pCQUZmd3FjQzhFYm9tVnFqQ0p4V3lxeUlMY0ZKbDJJT0lqRGxqbHdjdE5iZERpZFQ5RnJ5S3NQbUtaQWczWkExeHpVd0NpY3VyQ1RDODk4bVdHQktiS3ZINUJCYUVtbUZxYkp4cmxKOUk1VmdYeEllSmxQMXJraEozTFE4SHBsWEJJWkI5a0k4SSI7czozMjoiZmJfbG9naW5fYWNjZXNzX3Rva2VuX2V4cGlyZXNfaW4iO2k6Nzc3NTk5ODtzOjM1OiJmYl9sb2dpbl9hY2Nlc3NfdG9rZW5fZXhwaXJlc19pbl90cyI7aToxNjUxMjE2MjQ3O3M6MTI6ImFjY291bnRfdHlwZSI7czo4OiJidXNpbmVzcyI7czoxNToiZmJfYWNjb3VudF91c2VyIjthOjI6e3M6NDoibmFtZSI7czozMjoiUGF0cmFudW4gVGhhbml5YXZhcm4gTGltdWRvbXBvcm4iO3M6MTU6InByb2ZpbGVfcGljdHVyZSI7czoxMzg6Imh0dHBzOi8vcGxhdGZvcm0tbG9va2FzaWRlLmZic2J4LmNvbS9wbGF0Zm9ybS9wcm9maWxlcGljLz9hc2lkPTQ4MTU0NDMyNDg1MjA2NzgmaGVpZ2h0PTUwJndpZHRoPTUwJmV4dD0xNjQ2MDMyMjQ4Jmhhc2g9QWVTdmtMeWppNURuR0FualRLdyI7fXM6MjE6ImZiX2FjY291bnRfcGFnZXNfZGF0YSI7YToxOntpOjA7YTo4OntzOjI6ImlkIjtzOjE1OiI4MzM2MDg3MDM1MTQwMjUiO3M6NDoibmFtZSI7czo2MDoi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIC0gV3JpdGluZyBpbiBUaGFpIjtzOjg6InVzZXJuYW1lIjtzOjEzOiJ3cml0aW5naW50aGFpIjtzOjE1OiJmb2xsb3dlcnNfY291bnQiO2k6MjM3MztzOjU6Imxpa2VzIjtpOjIyNTM7czoxNToicHJvZmlsZV9waWN0dXJlIjtzOjQ1OToiaHR0cHM6Ly9zY29udGVudC5mYmtrOC0yLmZuYS5mYmNkbi5uZXQvdi90MS4xODE2OS0xL2NwMC9wNTB4NTAvMjg5NTkyMThfODM0MjAxNzIzNDU0NzIzXzY4MTE1NzA0MTg5NDE0OTI2NjRfbi5wbmc/X25jX2NhdD0xMDMmY2NiPTEtNSZfbmNfc2lkPWRiYjllNyZfbmNfZXVpMj1BZUdyTmZzNkQzY1AtZFc2S3h0M0oza2RYYnlTdzFyM0pPTmR2SkxEV3ZjazR5Qi1WZndKcHROb01PYzFxczlhUnZFcF8wYWR3S3dnWDd2djVFNFVtUTdfJl9uY19vaGM9My14eUgtV0w4Q2dBWDkwSy1UdiZfbmNfb2M9QVFrSW1DbTgzUUVHdXZwcTNmeWlTRUZ5ZGF6ckxaWUlHM3ZyQk1sYmpvYUZpZ3JNN0g5Mkphb0RhTEZ1N3ZIZEhiYyZfbmNfaHQ9c2NvbnRlbnQuZmJrazgtMi5mbmEmZWRtPUFHYUhYQUFFQUFBQSZvaD0wMF9BVF9oSWhiNl9tRS1DWURhTG9wbEQwaldSTUxxLXhja2JrdFppU1FLa1VfczdnJm9lPTYyMUJERTAwIjtzOjE3OiJwYWdlX2FjY2Vzc190b2tlbiI7czoyMTQ6IkVBQUMwdHdOOHdqUUJBSUcxenBTZEh6N2JSYXlJQjdleFRKS0FsNTI0MFpCTTlEM3ZoS0ZlWWU1TkRaQ3poV1ViNDRIVHlkS0RYajlRcGhaQ1pBUVlqQ2QzSW16REhoQXRGQlRhVW93bUJRb1VHVEJydk9pMXRhMVBLdnZ2bTc2SE04bUI5YlZ4YTBhMmFzck1aQ3h3c1ZmVEc2OEliWkNjTVpBWFpBbEZ1dlpDS3FwTlpBbGhVbERKQmZmWkI0emtsclNEajlRNmZqcDQ1ZGhmQVpEWkQiO3M6MjY6Imluc3RhZ3JhbV9idXNpbmVzc19hY2NvdW50IjthOjY6e3M6MjoiaWQiO3M6MTc6IjE3ODQxNDA3MjQ4MzQ1NDU4IjtzOjQ6Im5hbWUiO3M6NTg6IuC5hOC4o+C4l+C5jOC4leC4tOC5ieC4h+C4reC4tOC4meC5hOC4l+C4oiBXcml0aW5nIEluIFRoYWkiO3M6ODoidXNlcm5hbWUiO3M6MTM6IndyaXRpbmdpbnRoYWkiO3M6MTU6InByb2ZpbGVfcGljdHVyZSI7czozNzU6Imh0dHBzOi8vc2NvbnRlbnQuZmJrazgtMi5mbmEuZmJjZG4ubmV0L3YvdDUxLjI4ODUtMTUvMjg3NTM2OTNfMTg3MDE4NzI5NjMyNzI1OF80MjIzMTEyMTA2NTkwODYzMzYwX24uanBnP19uY19jYXQ9MTAzJmNjYj0xLTUmX25jX3NpZD04NmM3MTMmX25jX2V1aTI9QWVHMURyeGl5WWVwOUNZdGFqRVp3amRjcTgyeEdDMm5OWldyemJFWUxhYzFsWC05THR3UWd2NUFxTmMtODk3TE5QODNmTEhQSXdkYWdSUUFKZGhVd2pPeCZfbmNfb2hjPVU4LWV4dW5GNE9ZQVg5cXMtbUImX25jX2h0PXNjb250ZW50LmZia2s4LTIuZm5hJmVkbT1BTC0zWDhrRUFBQUEmb2g9MDBfQVQ4RElUaVB1N0lQaVA2b0dseXpFeU1JNWRFbHZHWHFQSkdZSEZNMGpoaW1DdyZvZT02MUY5RDBGRCI7czo5OiJmb2xsb3dlcnMiO2k6MTYwO3M6MTE6Im1lZGlhX2NvdW50IjtpOjc5O319fX1zOjMwOiJ0ZF9pbnN0YWdyYW1fYnVzaW5lc3NfYWNjb3VudHMiO2E6MTp7czo2MDoi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIC0gV3JpdGluZyBpbiBUaGFpIjthOjg6e3M6MTI6ImFjY291bnRfdHlwZSI7czo4OiJidXNpbmVzcyI7czoyOiJpZCI7czoxNzoiMTc4NDE0MDcyNDgzNDU0NTgiO3M6NDoibmFtZSI7czo1ODoi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIFdyaXRpbmcgSW4gVGhhaSI7czo4OiJ1c2VybmFtZSI7czoxMzoid3JpdGluZ2ludGhhaSI7czoxNToicHJvZmlsZV9waWN0dXJlIjtzOjM3NToiaHR0cHM6Ly9zY29udGVudC5mYmtrOC0yLmZuYS5mYmNkbi5uZXQvdi90NTEuMjg4NS0xNS8yODc1MzY5M18xODcwMTg3Mjk2MzI3MjU4XzQyMjMxMTIxMDY1OTA4NjMzNjBfbi5qcGc/X25jX2NhdD0xMDMmY2NiPTEtNSZfbmNfc2lkPTg2YzcxMyZfbmNfZXVpMj1BZUcxRHJ4aXlZZXA5Q1l0YWpFWndqZGNxODJ4R0Mybk5aV3J6YkVZTGFjMWxYLTlMdHdRZ3Y1QXFOYy04OTdMTlA4M2ZMSFBJd2RhZ1JRQUpkaFV3ak94Jl9uY19vaGM9VTgtZXh1bkY0T1lBWDlxcy1tQiZfbmNfaHQ9c2NvbnRlbnQuZmJrazgtMi5mbmEmZWRtPUFMLTNYOGtFQUFBQSZvaD0wMF9BVDhESVRpUHU3SVBpUDZvR2x5ekV5TUk1ZEVsdkdYcVBKR1lIRk0wamhpbUN3Jm9lPTYxRjlEMEZEIjtzOjk6ImZvbGxvd2VycyI7aToxNjA7czoxMToibWVkaWFfY291bnQiO2k6Nzk7czoxNzoicGFnZV9hY2Nlc3NfdG9rZW4iO3M6MjE0OiJFQUFDMHR3Tjh3alFCQUlHMXpwU2RIejdiUmF5SUI3ZXhUSktBbDUyNDBaQk05RDN2aEtGZVllNU5EWkN6aFdVYjQ0SFR5ZEtEWGo5UXBoWkNaQVFZakNkM0ltekRIaEF0RkJUYVVvd21CUW9VR1RCcnZPaTF0YTFQS3Z2dm03NkhNOG1COWJWeGEwYTJhc3JNWkN4d3NWZlRHNjhJYlpDY01aQVhaQWxGdXZaQ0txcE5aQWxoVWxESkJmZlpCNHprbHJTRGo5UTZmanA0NWRoZkFaRFpEIjt9fXM6MzY6InRkX3VwZGF0ZWRfdGRfcG9zdHNfZm9ybV9zdWJtaXRfbWV0YSI7YjoxO3M6MjE6InRkc19sb2dvX3VwbG9hZF93aWR0aCI7aToyNzI7czoyMjoidGRzX2xvZ29fdXBsb2FkX2hlaWdodCI7aTo5MDtzOjI2OiJ0ZHNfbG9nb19tZW51X3VwbG9hZF93aWR0aCI7aToxNDA7czoyNzoidGRzX2xvZ29fbWVudV91cGxvYWRfaGVpZ2h0IjtpOjQ4O3M6Mjg6InRkc19mb290ZXJfbG9nb191cGxvYWRfd2lkdGgiO2k6MjcyO3M6Mjk6InRkc19mb290ZXJfbG9nb191cGxvYWRfaGVpZ2h0IjtpOjczO3M6MzA6InRkc19sb2dvX21lbnVfdXBsb2FkX21vYl93aWR0aCI7aToxNDA7czozMToidGRzX2xvZ29fbWVudV91cGxvYWRfbW9iX2hlaWdodCI7aTo0ODtzOjMyOiJ0ZHNfZm9vdGVyX2xvZ29fdXBsb2FkX21vYl93aWR0aCI7aToyNzI7czozMzoidGRzX2Zvb3Rlcl9sb2dvX3VwbG9hZF9tb2JfaGVpZ2h0IjtpOjczO3M6MjE6InRkc19sb2dvX3dpZHRoX2hlaWdodCI7YjoxO30=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=WitThemeBkp&amp;diff=392</id>
		<title>WitThemeBkp</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=WitThemeBkp&amp;diff=392"/>
		<updated>2025-08-28T09:23:57Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: Created page with &amp;quot;    YTo2MjU6e3M6MTI6ImZpcnN0SW5zdGFsbCI7czoxNDoidGhlbWVJbnN0YWxsZWQiO3M6MTg6InRkc190aHVtYl90ZF84MHg2MCI7czozOiJ5ZXMiO3M6MTk6InRkc190aHVtYl90ZF8xMDB4NzAiO3M6MzoieWVzIjtzOjIwOiJ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;    YTo2MjU6e3M6MTI6ImZpcnN0SW5zdGFsbCI7czoxNDoidGhlbWVJbnN0YWxsZWQiO3M6MTg6InRkc190aHVtYl90ZF84MHg2MCI7czozOiJ5ZXMiO3M6MTk6InRkc190aHVtYl90ZF8xMDB4NzAiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfMjE4eDE1MCI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF8yNjV4MTk4IjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzMyNHgxNjAiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfMzI0eDIzNSI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF8zMjR4NDAwIjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzM1NngyMjAiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfMzU2eDM2NCI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF80ODV4MzYwIjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzUzM3gyNjEiO3M6MzoieWVzIjtzOjIwOiJ0ZHNfdGh1bWJfdGRfNTM0eDQ2MiI7czozOiJ5ZXMiO3M6MTg6InRkc190aHVtYl90ZF82OTZ4MCI7czozOiJ5ZXMiO3M6MjA6InRkc190aHVtYl90ZF82OTZ4Mzg1IjtzOjM6InllcyI7czoyMDoidGRzX3RodW1iX3RkXzc0MXg0ODYiO3M6MzoieWVzIjtzOjIxOiJ0ZHNfdGh1bWJfdGRfMTA2OHg1ODAiO3M6MzoieWVzIjtzOjE5OiJ0ZHNfdGh1bWJfdGRfMTA2OHgwIjtzOjM6InllcyI7czoxODoidGRzX3RodW1iX3RkXzB4NDIwIjtzOjM6InllcyI7czoxOToidGRzX3RodW1iX3RkXzE5MjB4MCI7czozOiJ5ZXMiO3M6Mjg6InRkX3RpbWVzdGFtcF9pbnN0YWxsX3BsdWdpbnMiO3M6OToiaW5zdGFsbGVkIjtzOjIzOiJ0ZF9zb2NpYWxfZHJhZ19hbmRfZHJvcCI7YToyMTp7czo4OiJmYWNlYm9vayI7YjoxO3M6NzoidHdpdHRlciI7YjoxO3M6OToicGludGVyZXN0IjtiOjE7czo4OiJ3aGF0c2FwcCI7YjoxO3M6ODoibGlua2VkaW4iO2I6MTtzOjY6InJlZGRpdCI7YjowO3M6NDoibWFpbCI7YjowO3M6NToicHJpbnQiO2I6MDtzOjY6InR1bWJsciI7YjowO3M6ODoidGVsZWdyYW0iO2I6MTtzOjExOiJzdHVtYmxldXBvbiI7YjowO3M6MjoidmsiO2I6MDtzOjQ6ImRpZ2ciO2I6MDtzOjQ6ImxpbmUiO2I6MTtzOjU6InZpYmVyIjtiOjA7czo1OiJuYXZlciI7YjowO3M6OToiZmxpcGJvYXJkIjtiOjA7czo4OiJjb3B5X3VybCI7YjowO3M6NToia2FrYW8iO3M6MDoiIjtzOjU6ImdldHRyIjtzOjA6IiI7czozOiJrb28iO3M6MDoiIjt9czoxMDoidGRfdmVyc2lvbiI7czo2OiIxMi43LjEiO3M6OToidGRfMDExX3RwIjtpOjE1MjMzMjk2NDg7czo3OiJ0ZF8wMTFfIjtpOjI7czo2OiJ0ZF8wMTEiO3M6NDg6IlpEWTJPVFV5WmpFdFltVXlOUzAwTldObUxUZzNOVFl0WkdKbFkySTBaakpsWXpRMyI7czoxNjoidGRzX2hlYWRlcl9zdHlsZSI7czoxOiIzIjtzOjIwOiJ0ZHNfc2VhcmNoX3BsYWNlbWVudCI7czowOiIiO3M6MTE6InRkc190b3BfYmFyIjtzOjA6IiI7czoyMDoidGRzX3RvcF9iYXJfdGVtcGxhdGUiO3M6MDoiIjtzOjEyOiJ0ZHNfdG9wX21lbnUiO3M6NDoiaGlkZSI7czoyMzoidGRfc29jaWFsX25ldHdvcmtzX3Nob3ciO3M6NDoic2hvdyI7czoyNDoidGRzX2xvZ2luX3NpZ25faW5fd2lkZ2V0IjtzOjA6IiI7czoxNzoidGRzX2RhdGFfdG9wX21lbnUiO3M6NDoic2hvdyI7czoyMDoidGRzX2RhdGFfdGltZV9mb3JtYXQiO3M6NToiaiBGIFkiO3M6MTE6InRkc19kYXRhX2pzIjtzOjQ6InRydWUiO3M6MjA6InRkc193ZWF0aGVyX3RvcF9tZW51IjtzOjA6IiI7czoyNDoidGRzX3dlYXRoZXJfa2V5X3RvcF9tZW51IjtzOjMyOiI5MmIwYzY4YTVhNDljZTlhNGU1MzQ0ZWFjZDVkZjYwYSI7czoyOToidGRzX3dlYXRoZXJfbG9jYXRpb25fdG9wX21lbnUiO3M6MTE6IkJhbmdrb2ssIFRIIjtzOjI2OiJ0ZHNfd2VhdGhlcl91bml0c190b3BfbWVudSI7czowOiIiO3M6Mjk6InRkc19tZWdhX21lbnVfYWpheF9wcmVsb2FkaW5nIjtzOjA6IiI7czoxMzoidGRzX3NuYXBfbWVudSI7czowOiIiO3M6MTg6InRkc19sb2dvX29uX3N0aWNreSI7czowOiIiO3M6Mjg6InRkX3NvY2lhbF9uZXR3b3Jrc19tZW51X3Nob3ciO3M6MDoiIjtzOjE1OiJ0ZHNfbG9nb191cGxvYWQiO3M6NzA6Imh0dHBzOi8vd3JpdGluZy5pbi50aC93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8xMi9Mb2dvLURlZmF1bHQtMjAxOC5wbmciO3M6MTc6InRkc19sb2dvX3VwbG9hZF9yIjtzOjY5OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvTG9nby1SZXRpbmEtMjAxOC5wbmciO3M6MTg6InRkc19mYXZpY29uX3VwbG9hZCI7czo2NjoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTYucG5nIjtzOjEyOiJ0ZHNfbG9nb19hbHQiO3M6MTU6IldyaXRpbmcgaW4gVGhhaSI7czoxNDoidGRzX2xvZ29fdGl0bGUiO3M6MTU6IldyaXRpbmcgaW4gVGhhaSI7czoxMzoidGRzX2xvZ29fdGV4dCI7czowOiIiO3M6MTY6InRkc190YWdsaW5lX3RleHQiO3M6MDoiIjtzOjIwOiJ0ZHNfbG9nb19tZW51X3VwbG9hZCI7czo3NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzEyL0xvZ28tRGVmYXVsdC1Nb2JpbGUtMjAxOC5wbmciO3M6MjI6InRkc19sb2dvX21lbnVfdXBsb2FkX3IiO3M6NzY6Imh0dHBzOi8vd3JpdGluZy5pbi50aC93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8xMi9Mb2dvLVJldGluYS1Nb2JpbGUtMjAxOC5wbmciO3M6Mjc6InRkc19oZWFkZXJfYmFja2dyb3VuZF9pbWFnZSI7czowOiIiO3M6Mjg6InRkc19oZWFkZXJfYmFja2dyb3VuZF9yZXBlYXQiO3M6MDoiIjtzOjI2OiJ0ZHNfaGVhZGVyX2JhY2tncm91bmRfc2l6ZSI7czowOiIiO3M6MzA6InRkc19oZWFkZXJfYmFja2dyb3VuZF9wb3NpdGlvbiI7czoxMzoiY2VudGVyIGNlbnRlciI7czoyOToidGRzX2hlYWRlcl9iYWNrZ3JvdW5kX29wYWNpdHkiO3M6MDoiIjtzOjE1OiJ0ZHNfaW9zX2ljb25fNzYiO3M6NjY6Imh0dHBzOi8vd3JpdGluZy5pbi50aC93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8wNC9sb2dvLWZpbmFsLTc2LnBuZyI7czoxNjoidGRzX2lvc19pY29uXzExNCI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTE0LnBuZyI7czoxNjoidGRzX2lvc19pY29uXzEyMCI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTIwLnBuZyI7czoxNjoidGRzX2lvc19pY29uXzE0NCI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTQ0LnBuZyI7czoxNjoidGRzX2lvc19pY29uXzE1MiI7czo2NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA0L2xvZ28tZmluYWwtMTUyLnBuZyI7czoxMDoidGRzX2Zvb3RlciI7czowOiIiO3M6MTk6InRkc19mb290ZXJfdGVtcGxhdGUiO3M6MjE6InRkX2Zvb3Rlcl90ZW1wbGF0ZV8xNCI7czoxNToidGRzX2Zvb3Rlcl9wYWdlIjtzOjQ6IjYzMTgiO3M6MjA6InRkc19mb290ZXJfaW5zdGFncmFtIjtzOjA6IiI7czoyMzoidGRzX2Zvb3Rlcl9pbnN0YWdyYW1faWQiO3M6MDoiIjtzOjQxOiJ0ZHNfZm9vdGVyX2luc3RhZ3JhbV9vbl9yb3dfaW1hZ2VzX251bWJlciI7czowOiIiO3M6MzI6InRkc19mb290ZXJfaW5zdGFncmFtX3Jvd3NfbnVtYmVyIjtzOjA6IiI7czozMDoidGRzX2Zvb3Rlcl9pbnN0YWdyYW1faW1hZ2VfZ2FwIjtzOjA6IiI7czoyMjoidGRzX2Zvb3Rlcl9sb2dvX3VwbG9hZCI7czo3NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzEyL2xvZ28td2hpdGUtdGV4dC0yNzItMjAxOC5wbmciO3M6Mjk6InRkc19mb290ZXJfcmV0aW5hX2xvZ29fdXBsb2FkIjtzOjc3OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvbG9nby13aGl0ZS10ZXh0LTU0NC0yMDE4LnBuZyI7czoxOToidGRzX2Zvb3Rlcl9sb2dvX2FsdCI7czoxNToiV3JpdGluZyBpbiBUaGFpIjtzOjIxOiJ0ZHNfZm9vdGVyX2xvZ29fdGl0bGUiO3M6MTU6IldyaXRpbmcgaW4gVGhhaSI7czoxNToidGRzX2Zvb3Rlcl90ZXh0IjtzOjY1MToi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIChXcml0aW5nIGluIFRoYWkpIOC5gOC4p+C5h+C4muC4o+C4p+C4muC4o+C4p+C4oeC4guC5iOC4suC4p+C4quC4suC4oyDguILguYnguK3guKHguLnguKUg4LmB4Lil4Liw4Lij4Li14Lin4Li04LinIOC5gOC4hOC4o+C4t+C5iOC4reC4h+C5gOC4guC4teC4ouC4meC4q+C4peC4suC4geC4q+C4peC4suC4ouC4m+C4o+C4sOC5gOC4oOC4lyDguYDguJvguYfguJnguYHguKvguKXguYjguIfguILguYnguK3guKHguLnguKXguYPguKvguYnguIHguLHguJrguJzguLnguYnguK3guYjguLLguJnguJfguLXguYjguKrguJnguYPguIgg4LmB4Lil4Liw4LiB4Liz4Lil4Lix4LiH4LiV4Lix4LiU4Liq4Li04LiZ4LmD4LiI4LiX4Li14LmI4LiI4Liw4LiL4Li34LmJ4Lit4LmA4LiE4Lij4Li34LmI4Lit4LiH4LmA4LiC4Li14Lii4LiZIOC4o+C4p+C4oeC4luC4tuC4h+C4o+C4suC4ouC4h+C4suC4meC4nuC4tOC5gOC4qOC4qSDguKrguLLguKPguLAg4LiE4Lin4Liy4Lih4Lij4Li54LmJIOC4l+C4teC5iOC5gOC4geC4teC5iOC4ouC4p+C4guC5ieC4reC4hw0KDQrguJXguLTguJTguJXguYjguK3guYDguKPguLLguYTguJTguYnguJfguLXguYggY29udGFjdEB3cml0aW5nLmluLnRoIjtzOjE2OiJ0ZHNfZm9vdGVyX2VtYWlsIjtzOjA6IiI7czoxNzoidGRzX2Zvb3Rlcl9zb2NpYWwiO3M6MDoiIjtzOjI3OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfaW1hZ2UiO3M6MDoiIjtzOjI4OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfcmVwZWF0IjtzOjA6IiI7czoyNjoidGRzX2Zvb3Rlcl9iYWNrZ3JvdW5kX3NpemUiO3M6MDoiIjtzOjMwOiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfcG9zaXRpb24iO3M6MDoiIjtzOjI5OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfb3BhY2l0eSI7czowOiIiO3M6MTQ6InRkc19zdWJfZm9vdGVyIjtzOjA6IiI7czoyMzoidGRzX3N1Yl9mb290ZXJfdGVtcGxhdGUiO3M6MDoiIjtzOjIwOiJ0ZHNfZm9vdGVyX2NvcHlyaWdodCI7czozMDA6IuC4quC4h+C4p+C4meC4peC4tOC4guC4quC4tOC4l+C4mOC4tOC5jCDguJ4u4LioLjI1NjEtMjU2MiDguJfguLXguKHguIfguLLguJnguYTguKPguJfguYzguJXguLTguYnguIfguK3guLTguJnguYTguJfguKIg4Lir4LmJ4Liy4Lih4LiE4Lix4LiU4Lil4Lit4LiBIOC4l+C4s+C4i+C5ieC4syDguKvguKPguLfguK0g4LiU4Lix4LiU4LmB4Lib4Lil4LiH4Liq4LmI4Lin4LiZ4LmD4LiU4LmE4Lib4LmA4Lic4Lii4LmB4Lie4Lij4LmI4LmC4LiU4Lii4LmE4Lih4LmI4LmE4LiU4LmJ4Lij4Lix4Lia4Lit4LiZ4Li44LiN4Liy4LiVICI7czoyMjoidGRzX2Zvb3Rlcl9jb3B5X3N5bWJvbCI7czowOiIiO3M6MjQ6InRkc19iYWNrZ3JvdW5kX2NsaWNrX3VybCI7czowOiIiO3M6Mjc6InRkc19iYWNrZ3JvdW5kX2NsaWNrX3RhcmdldCI7czowOiIiO3M6MTc6InRkc19zbWFydF9zaWRlYmFyIjtzOjA6IiI7czoyMDoidGRzX2JyZWFkY3J1bWJzX3Nob3ciO3M6MDoiIjtzOjI1OiJ0ZHNfYnJlYWRjcnVtYnNfc2hvd19ob21lIjtzOjA6IiI7czoyNzoidGRzX2JyZWFkY3J1bWJzX3Nob3dfcGFyZW50IjtzOjA6IiI7czoyODoidGRzX2JyZWFkY3J1bWJzX3Nob3dfYXJ0aWNsZSI7czowOiIiO3M6MTk6InRkc19hbmltYXRpb25fc3RhY2siO3M6MDoiIjtzOjI2OiJ0ZHNfYW5pbWF0aW9uX3N0YWNrX2VmZmVjdCI7czowOiIiO3M6MTU6InRkX2Z1bGxfdG9wX2JhciI7czowOiIiO3M6MTQ6InRkX2Z1bGxfaGVhZGVyIjtzOjA6IiI7czoxMjoidGRfZnVsbF9tZW51IjtzOjA6IiI7czoyNToidGRfZnVsbF9oZWFkZXJfYmFja2dyb3VuZCI7czowOiIiO3M6MjQ6InRkX2Z1bGxfZm9vdGVyX2luc3RhZ3JhbSI7czowOiIiO3M6MTQ6InRkX2Z1bGxfZm9vdGVyIjtzOjA6IiI7czoxOToidGRzXzQwNF9wYWdlX2xheW91dCI7czowOiIiO3M6MjM6InRkc19hcmNoaXZlX3BhZ2VfbGF5b3V0IjtzOjI6IjEwIjtzOjIzOiJ0ZHNfYXJjaGl2ZV9zaWRlYmFyX3BvcyI7czowOiIiO3M6MTk6InRkc19hcmNoaXZlX3NpZGViYXIiO3M6MDoiIjtzOjI2OiJ0ZHNfYXR0YWNobWVudF9zaWRlYmFyX3BvcyI7czowOiIiO3M6MjI6InRkc19hdHRhY2htZW50X3NpZGViYXIiO3M6MDoiIjtzOjIyOiJ0ZHNfYXV0aG9yX3BhZ2VfbGF5b3V0IjtzOjI6IjEwIjtzOjIyOiJ0ZHNfYXV0aG9yX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxODoidGRzX2F1dGhvcl9zaWRlYmFyIjtzOjA6IiI7czoyMDoidGRzX2hvbWVfcGFnZV9sYXlvdXQiO3M6MjoiMTAiO3M6MjA6InRkc19ob21lX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxNjoidGRzX2hvbWVfc2lkZWJhciI7czowOiIiO3M6MjA6InRkc19wYWdlX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxNjoidGRzX3BhZ2Vfc2lkZWJhciI7czowOiIiO3M6MjY6InRkc19kaXNhYmxlX2NvbW1lbnRzX3BhZ2VzIjtzOjA6IiI7czoyMjoidGRzX3NlYXJjaF9wYWdlX2xheW91dCI7czoyOiIxMCI7czoyMjoidGRzX3NlYXJjaF9zaWRlYmFyX3BvcyI7czowOiIiO3M6MTg6InRkc19zZWFyY2hfc2lkZWJhciI7czowOiIiO3M6MTk6InRkc190YWdfcGFnZV9sYXlvdXQiO3M6MjoiMTAiO3M6MTk6InRkc190YWdfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjE1OiJ0ZHNfdGFnX3NpZGViYXIiO3M6MDoiIjtzOjE5OiJ0ZHNfd29vX3NpZGViYXJfcG9zIjtzOjA6IiI7czoxNToidGRzX3dvb19zaWRlYmFyIjtzOjA6IiI7czoyNjoidGRzX3dvb19zaW5nbGVfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjIyOiJ0ZHNfd29vX3NpbmdsZV9zaWRlYmFyIjtzOjA6IiI7czoyMzoidGRzX2JicHJlc3Nfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjE5OiJ0ZHNfYmJwcmVzc19zaWRlYmFyIjtzOjA6IiI7czozNjoidGRzX3RheG9ub215X3Bvc3RfZm9ybWF0X3BhZ2VfbGF5b3V0IjtzOjI6IjEwIjtzOjM2OiJ0ZHNfdGF4b25vbXlfcG9zdF9mb3JtYXRfc2lkZWJhcl9wb3MiO3M6MDoiIjtzOjMyOiJ0ZHNfdGF4b25vbXlfcG9zdF9mb3JtYXRfc2lkZWJhciI7czowOiIiO3M6MjE6InRkc19jYXRlZ29yeV90ZW1wbGF0ZSI7czoyMjoidGRfY2F0ZWdvcnlfdGVtcGxhdGVfMiI7czoyMjoidGRzX2NhdGVnb3J5X3B1bGxfZG93biI7czowOiIiO3M6Mjg6InRkc19jYXRlZ29yeV90b3BfcG9zdHNfc3R5bGUiO3M6MzU6InRkX2NhdGVnb3J5X3RvcF9wb3N0c19zdHlsZV9kaXNhYmxlIjtzOjI2OiJ0ZHNfY2F0ZWdvcnlfdGRfZ3JpZF9zdHlsZSI7czoxNToidGQtZ3JpZC1zdHlsZS0xIjtzOjI0OiJ0ZHNfY2F0ZWdvcnlfcGFnZV9sYXlvdXQiO3M6MjoiMTAiO3M6Mjk6InRkc19jYXRlZ29yeV9wYWdpbmF0aW9uX3N0eWxlIjtzOjA6IiI7czoyNDoidGRzX2NhdGVnb3J5X3NpZGViYXJfcG9zIjtzOjA6IiI7czoyMDoidGRzX2NhdGVnb3J5X3NpZGViYXIiO3M6MDoiIjtzOjIxOiJ0ZHNfcF9jYXRlZ29yaWVzX3RhZ3MiO3M6MDoiIjtzOjI4OiJ0ZHNfZGVmYXVsdF9jYXRlZ29yeV9kaXNwbGF5IjtzOjA6IiI7czoyMjoidGRzX3Bfc2hvd19hdXRob3JfbmFtZSI7czowOiIiO3M6MTU6InRkc19wX3Nob3dfZGF0ZSI7czowOiIiO3M6MTY6InRkc19wX3Nob3dfdmlld3MiO3M6NDoiaGlkZSI7czoxOToidGRzX3Bfc2hvd19jb21tZW50cyI7czo0OiJoaWRlIjtzOjEzOiJ0ZHNfc2hvd190YWdzIjtzOjA6IiI7czoxOToidGRzX3Nob3dfYXV0aG9yX2JveCI7czowOiIiO3M6MTg6InRkc19zaG93X25leHRfcHJldiI7czowOiIiO3M6Mjk6InRkc19kaXNhYmxlX2NvbW1lbnRzX3NpZGV3aWRlIjtzOjc6ImRpc2FibGUiO3M6MjM6InRkc19nZW5lcmFsX21vZGFsX2ltYWdlIjtzOjA6IiI7czoyOToidGRfZGVmYXVsdF9zaXRlX3Bvc3RfdGVtcGxhdGUiO3M6MTc6InRkYl90ZW1wbGF0ZV82NDAwIjtzOjIzOiJ0ZHNfc2hvd19mZWF0dXJlZF9pbWFnZSI7czowOiIiO3M6MzU6InRkc19oaWRlX2ZlYXR1cmVkX2ltYWdlX3BsYWNlaG9sZGVyIjtzOjA6IiI7czozMToidGRzX2ZlYXR1cmVkX2ltYWdlX3ZpZXdfc2V0dGluZyI7czo4OiJub19tb2RhbCI7czoyMDoidGRzX3NpbWlsYXJfYXJ0aWNsZXMiO3M6MDoiIjtzOjI1OiJ0ZHNfc2ltaWxhcl9hcnRpY2xlc190eXBlIjtzOjA6IiI7czoyNToidGRzX3NpbWlsYXJfYXJ0aWNsZXNfcm93cyI7czowOiIiO3M6MTk6InRkc190b3Bfc29jaWFsX3Nob3ciO3M6MDoiIjtzOjE3OiJ0ZHNfdG9wX2xpa2Vfc2hvdyI7czowOiIiO3M6Mjg6InRkc190b3BfbGlrZV9zaGFyZV90ZXh0X3Nob3ciO3M6MDoiIjtzOjI4OiJ0ZHNfc29jaWFsX3NoYXJpbmdfdG9wX3N0eWxlIjtzOjA6IiI7czoyMjoidGRzX2JvdHRvbV9zb2NpYWxfc2hvdyI7czowOiIiO3M6MjA6InRkc19ib3R0b21fbGlrZV9zaG93IjtzOjA6IiI7czozMToidGRzX2JvdHRvbV9saWtlX3NoYXJlX3RleHRfc2hvdyI7czowOiIiO3M6MzE6InRkc19zb2NpYWxfc2hhcmluZ19ib3R0b21fc3R5bGUiO3M6MDoiIjtzOjIwOiJ0ZHNfdHdlZXRlcl91c2VybmFtZSI7czoxMzoid3JpdGluZ2ludGhhaSI7czozODoidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc19lbmFibGUiO3M6MDoiIjtzOjQ5OiJ0ZHNfbW9yZV9hcnRpY2xlc19vbl9wb3N0X3BhZ2VzX2Rpc3RhbmNlX2Zyb21fdG9wIjtzOjA6IiI7czozOToidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc19kaXNwbGF5IjtzOjA6IiI7czo0NjoidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc19kaXNwbGF5X21vZHVsZSI7czowOiIiO3M6Mzg6InRkc19tb3JlX2FydGljbGVzX29uX3Bvc3RfcGFnZXNfbnVtYmVyIjtzOjA6IiI7czo0NDoidGRzX21vcmVfYXJ0aWNsZXNfb25fcG9zdF9wYWdlc190aW1lX3RvX3dhaXQiO3M6MDoiIjtzOjI0OiJ0ZHNfYWpheF9wb3N0X3ZpZXdfY291bnQiO3M6MDoiIjtzOjI1OiJ0ZHNfZ2xvYmFsX2Jsb2NrX3RlbXBsYXRlIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV8xIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV8yIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV8zIjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV80IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV81IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV82IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV83IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV84IjtzOjA6IiI7czoyMToidGRzX2NhdGVnb3J5X21vZHVsZV85IjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xMCI7czowOiIiO3M6MjI6InRkc19jYXRlZ29yeV9tb2R1bGVfMTEiO3M6MDoiIjtzOjIyOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlXzEyIjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xMyI7czowOiIiO3M6MjI6InRkc19jYXRlZ29yeV9tb2R1bGVfMTQiO3M6MDoiIjtzOjIyOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlXzE1IjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xNiI7czowOiIiO3M6MjI6InRkc19jYXRlZ29yeV9tb2R1bGVfMTciO3M6MDoiIjtzOjIyOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlXzE4IjtzOjA6IiI7czoyMjoidGRzX2NhdGVnb3J5X21vZHVsZV8xOSI7czowOiIiO3M6MjM6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxIjtzOjA6IiI7czoyMzoidGRzX2NhdGVnb3J5X21vZHVsZV9teDIiO3M6MDoiIjtzOjIzOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX214MyI7czowOiIiO3M6MjM6InRkc19jYXRlZ29yeV9tb2R1bGVfbXg0IjtzOjA6IiI7czoyMzoidGRzX2NhdGVnb3J5X21vZHVsZV9teDUiO3M6MDoiIjtzOjIzOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX214NiI7czowOiIiO3M6MjM6InRkc19jYXRlZ29yeV9tb2R1bGVfbXg3IjtzOjA6IiI7czoyMzoidGRzX2NhdGVnb3J5X21vZHVsZV9teDgiO3M6MDoiIjtzOjIzOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX214OSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMiI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxMyI7czozOiJ5ZXMiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNiI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxNyI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxOCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgxOSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMiI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyMyI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyNCI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyNSI7czowOiIiO3M6MjQ6InRkc19jYXRlZ29yeV9tb2R1bGVfbXgyNiI7czowOiIiO3M6MzM6InRkc19jYXRlZ29yeV9tb2R1bGVfcmVsYXRlZF9wb3N0cyI7czowOiIiO3M6Mjk6InRkc19jYXRlZ29yeV9tb2R1bGVfbWVnYV9tZW51IjtzOjA6IiI7czoyNToidGRzX2NhdGVnb3J5X21vZHVsZV9zbGlkZSI7czozOiJ5ZXMiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF8xIjtzOjA6IiI7czoyMjoidGRzX21fc2hvd19hdXRob3JfbmFtZSI7czowOiIiO3M6MTU6InRkc19tX3Nob3dfZGF0ZSI7czowOiIiO3M6MTk6InRkc19tX3Nob3dfY29tbWVudHMiO3M6NDoiaGlkZSI7czoxNzoidGRzX21fc2hvd19yZXZpZXciO3M6MDoiIjtzOjI1OiJ0ZHNfcF9lbmFibGVfN19kYXlzX2NvdW50IjtzOjA6IiI7czoyNToidGRzX3NpdGVfYmFja2dyb3VuZF9pbWFnZSI7czowOiIiO3M6MjY6InRkc19zaXRlX2JhY2tncm91bmRfcmVwZWF0IjtzOjA6IiI7czozMDoidGRzX3NpdGVfYmFja2dyb3VuZF9wb3NpdGlvbl94IjtzOjA6IiI7czozMDoidGRzX3NpdGVfYmFja2dyb3VuZF9hdHRhY2htZW50IjtzOjA6IiI7czoyMjoidGRzX3N0cmV0Y2hfYmFja2dyb3VuZCI7czowOiIiO3M6Mjc6InRkc19tb2JpbGVfYmFja2dyb3VuZF9pbWFnZSI7czowOiIiO3M6Mjg6InRkc19tb2JpbGVfYmFja2dyb3VuZF9yZXBlYXQiO3M6MDoiIjtzOjI2OiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfc2l6ZSI7czowOiIiO3M6MzA6InRkc19tb2JpbGVfYmFja2dyb3VuZF9wb3NpdGlvbiI7czowOiIiO3M6MjY6InRkc19sb2dpbl9iYWNrZ3JvdW5kX2ltYWdlIjtzOjA6IiI7czoyNzoidGRzX2xvZ2luX2JhY2tncm91bmRfcmVwZWF0IjtzOjA6IiI7czoyNToidGRzX2xvZ2luX2JhY2tncm91bmRfc2l6ZSI7czowOiIiO3M6Mjk6InRkc19sb2dpbl9iYWNrZ3JvdW5kX3Bvc2l0aW9uIjtzOjA6IiI7czoxNzoidGRzX2V4Y2VycHRzX3R5cGUiO3M6MDoiIjtzOjI1OiJ0ZF9tb2R1bGVfMV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNToidGRfbW9kdWxlXzJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV8yX2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjU6InRkX21vZHVsZV8zX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI1OiJ0ZF9tb2R1bGVfNF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNzoidGRfbW9kdWxlXzRfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czoyNToidGRfbW9kdWxlXzVfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV81X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjU6InRkX21vZHVsZV82X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI1OiJ0ZF9tb2R1bGVfN190aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNToidGRfbW9kdWxlXzhfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MjU6InRkX21vZHVsZV85X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTBfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV8xMF9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTFfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV8xMV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV8xMl9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI2OiJ0ZF9tb2R1bGVfMTNfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xNF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE0X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xNl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE2X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xN190aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE3X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xOF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE4X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MjY6InRkX21vZHVsZV8xOV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlXzE5X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDFfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDNfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDRfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDVfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDZfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjc6InRkX21vZHVsZV9teDdfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjk6InRkX21vZHVsZV9teDdfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czoyNzoidGRfbW9kdWxlX214OF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyNzoidGRfbW9kdWxlX214OV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTBfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDExX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgxMl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTNfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDE0X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgxNV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTZfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzA6InRkX21vZHVsZV9teDE2X2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDE3X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgxOF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MTlfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDIwX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgyMV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MjJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDIzX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI4OiJ0ZF9tb2R1bGVfbXgyNF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyODoidGRfbW9kdWxlX214MjVfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6Mjg6InRkX21vZHVsZV9teDI2X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM3OiJ0ZF9tb2R1bGVfcmVsYXRlZF9wb3N0c190aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMzoidGRfbW9kdWxlX21lZ2FfbWVudV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyOToidGRfbW9kdWxlX3NsaWRlX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM2OiJ0ZF9tb2R1bGVfdHJlbmRpbmdfbm93X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF8xX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMyOiJ0ZF9tb2R1bGVfZmxleF8xX2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MTI6InRkc19sYW5ndWFnZSI7czowOiIiO3M6MjE6InRkc19oZWFkZXJfd3JhcF9jb2xvciI7czowOiIiO3M6MTk6InRkc190ZXh0X2xvZ29fY29sb3IiO3M6MDoiIjtzOjI3OiJ0ZHNfdGV4dF9sb2dvX3RhZ2xpbmVfY29sb3IiO3M6MDoiIjtzOjE2OiJ0ZHNfZm9vdGVyX2NvbG9yIjtzOjA6IiI7czoyMToidGRzX2Zvb3Rlcl90ZXh0X2NvbG9yIjtzOjA6IiI7czoyODoidGRzX2Zvb3Rlcl93aWRnZXRfdGV4dF9jb2xvciI7czowOiIiO3M6Mjk6InRkc19mb290ZXJfc29jaWFsX2ljb25zX2NvbG9yIjtzOjA6IiI7czozNToidGRzX2Zvb3Rlcl9zb2NpYWxfaWNvbnNfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjIzOiJ0ZHNfZm9vdGVyX2JvdHRvbV9jb2xvciI7czowOiIiO3M6Mjg6InRkc19mb290ZXJfYm90dG9tX3RleHRfY29sb3IiO3M6MDoiIjtzOjI5OiJ0ZHNfZm9vdGVyX2JvdHRvbV9ob3Zlcl9jb2xvciI7czowOiIiO3M6MTQ6InRkc19jdXN0b21fY3NzIjtzOjA6IiI7czoyNjoidGRzX3Jlc3BvbnNpdmVfY3NzX2Rlc2t0b3AiO3M6MDoiIjtzOjMzOiJ0ZHNfcmVzcG9uc2l2ZV9jc3NfaXBhZF9sYW5kc2NhcGUiO3M6MDoiIjtzOjMyOiJ0ZHNfcmVzcG9uc2l2ZV9jc3NfaXBhZF9wb3J0cmFpdCI7czowOiIiO3M6MjQ6InRkc19yZXNwb25zaXZlX2Nzc19waG9uZSI7czowOiIiO3M6MTU6InRkX2JvZHlfY2xhc3NlcyI7czowOiIiO3M6MjE6InRkc19jdXN0b21famF2YXNjcmlwdCI7czowOiIiO3M6MTU6InRkc19jdXN0b21faHRtbCI7czowOiIiO3M6MTI6InRkX2FuYWx5dGljcyI7czozMDM6IjwhLS0gR29vZ2xlIHRhZyAoZ3RhZy5qcykgLS0+DQo8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9Ry01MjY2WFAwREhMXCI+PC9zY3JpcHQ+DQo8c2NyaXB0Pg0KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsNCiAgZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fQ0KICBndGFnKFwnanNcJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZyhcJ2NvbmZpZ1wnLCBcJ0ctNTI2NlhQMERITFwnKTsNCjwvc2NyaXB0PiI7czoyMjoidGRfZm9udHNfdXNlcl9pbnNlcnRlZCI7YTo0Nzp7czoxMToiZm9udF9maWxlXzEiO3M6MDoiIjtzOjEzOiJmb250X2ZhbWlseV8xIjtzOjA6IiI7czoxMToiZm9udF9maWxlXzIiO3M6MDoiIjtzOjEzOiJmb250X2ZhbWlseV8yIjtzOjA6IiI7czoxMToiZm9udF9maWxlXzMiO3M6MDoiIjtzOjEzOiJmb250X2ZhbWlseV8zIjtzOjA6IiI7czoxMDoidHlwZWtpdF9qcyI7czowOiIiO3M6MjI6InR5cGVfa2l0X2ZvbnRfZmFtaWx5XzEiO3M6MDoiIjtzOjIyOiJ0eXBlX2tpdF9mb250X2ZhbWlseV8yIjtzOjA6IiI7czoyMjoidHlwZV9raXRfZm9udF9mYW1pbHlfMyI7czowOiIiO3M6ODoiZ19hcmFiaWMiO3M6MDoiIjtzOjk6ImdfYmVuZ2FsaSI7czowOiIiO3M6MTA6ImdfY3lyaWxsaWMiO3M6MDoiIjtzOjE0OiJnX2N5cmlsbGljLWV4dCI7czowOiIiO3M6MTI6ImdfZGV2YW5hZ2FyaSI7czowOiIiO3M6NzoiZ19ncmVlayI7czowOiIiO3M6MTE6ImdfZ3JlZWstZXh0IjtzOjA6IiI7czoxMDoiZ19ndWphcmF0aSI7czowOiIiO3M6ODoiZ19oZWJyZXciO3M6MDoiIjtzOjc6Imdfa2htZXIiO3M6MDoiIjtzOjc6ImdfbGF0aW4iO3M6MDoiIjtzOjExOiJnX2xhdGluLWV4dCI7czowOiIiO3M6NzoiZ190YW1pbCI7czowOiIiO3M6ODoiZ190ZWx1Z3UiO3M6MDoiIjtzOjY6ImdfdGhhaSI7czowOiIiO3M6MTI6ImdfdmlldG5hbWVzZSI7czowOiIiO3M6MTA6ImdfMTAwX3RoaW4iO3M6MDoiIjtzOjE3OiJnXzEwMF90aGluX2l0YWxpYyI7czowOiIiO3M6MTc6ImdfMjAwX2V4dHJhX2xpZ2h0IjtzOjA6IiI7czoyNDoiZ18yMDBfZXh0cmFfbGlnaHRfaXRhbGljIjtzOjA6IiI7czoxMToiZ18zMDBfbGlnaHQiO3M6MDoiIjtzOjE4OiJnXzMwMF9saWdodF9pdGFsaWMiO3M6MDoiIjtzOjE5OiJnXzQwMF9ub3JtYWxfaXRhbGljIjtzOjA6IiI7czoxMjoiZ181MDBfbWVkaXVtIjtzOjA6IiI7czoxOToiZ181MDBfbWVkaXVtX2l0YWxpYyI7czowOiIiO3M6MTU6ImdfNjAwX3NlbWlfYm9sZCI7czowOiIiO3M6MjI6ImdfNjAwX3NlbWlfYm9sZF9pdGFsaWMiO3M6MDoiIjtzOjEwOiJnXzcwMF9ib2xkIjtzOjA6IiI7czoxNzoiZ183MDBfYm9sZF9pdGFsaWMiO3M6MDoiIjtzOjE2OiJnXzgwMF9leHRyYV9ib2xkIjtzOjA6IiI7czoyMzoiZ184MDBfZXh0cmFfYm9sZF9pdGFsaWMiO3M6MDoiIjtzOjExOiJnXzkwMF9ibGFjayI7czowOiIiO3M6MTg6ImdfOTAwX2JsYWNrX2l0YWxpYyI7czowOiIiO3M6MTE6ImZvbnRfZmlsZV80IjtzOjA6IiI7czoxMzoiZm9udF9mYW1pbHlfNCI7czowOiIiO3M6MTE6ImZvbnRfZmlsZV81IjtzOjA6IiI7czoxMzoiZm9udF9mYW1pbHlfNSI7czowOiIiO31zOjE5OiJ0ZF9mb250c19jc3NfYnVmZmVyIjtzOjA6IiI7czoxODoidGRfZm9udHNfanNfYnVmZmVyIjtzOjA6IiI7czoxODoidGRfc29jaWFsX25ldHdvcmtzIjthOjU6e3M6ODoiZmFjZWJvb2siO3M6MzQ6Imh0dHBzOi8vZmFjZWJvb2suY29tL3dyaXRpbmdpbnRoYWkiO3M6OToiaW5zdGFncmFtIjtzOjQwOiJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3dyaXRpbmdpbnRoYWkvIjtzOjg6InRlbGVncmFtIjtzOjI2OiJodHRwczovL3QubWUvd3JpdGluZ2ludGhhaSI7czo3OiJ0d2l0dGVyIjtzOjMzOiJodHRwczovL3R3aXR0ZXIuY29tL3dyaXRpbmdpbnRoYWkiO3M6NzoieW91dHViZSI7czo1NjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3BSZ1RfbE1MaHE0MTNCUTNNMFRPb3ciO31zOjE2OiJ0ZHNfaGVhZGVyX3RpdGxlIjtzOjA6IiI7czo2OiJ0ZF9hZHMiO2E6MTU6e3M6NjoiaGVhZGVyIjthOjEzOntzOjc6ImFkX2NvZGUiO3M6MzY3OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8IS0tIEhlYWRlciAtLT4NCjxpbnMgY2xhc3M9XCJhZHNieWdvb2dsZVwiDQogICAgIHN0eWxlPVwiZGlzcGxheTpibG9ja1wiDQogICAgIGRhdGEtYWQtY2xpZW50PVwiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjVcIg0KICAgICBkYXRhLWFkLXNsb3Q9XCI0NjA4NDMwMDEyXCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9XCJhdXRvXCI+PC9pbnM+DQo8c2NyaXB0Pg0KICAgICAoYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+IjtzOjE4OiJkaXNhYmxlX2Zvcl9hZG1pbnMiO3M6MDoiIjtzOjk6ImRpc2FibGVfbSI7czowOiIiO3M6NjoibV9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90bCI7czowOiIiO3M6NzoidGxfc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdHAiO3M6MDoiIjtzOjc6InRwX3NpemUiO3M6MDoiIjtzOjk6ImRpc2FibGVfcCI7czowOiIiO3M6NjoicF9zaXplIjtzOjA6IiI7czoxNToiY3VycmVudF9hZF90eXBlIjtzOjY6Imdvb2dsZSI7czoxNjoiZ19kYXRhX2FkX2NsaWVudCI7czoyMzoiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjUiO3M6MTQ6ImdfZGF0YV9hZF9zbG90IjtzOjEwOiI0NjA4NDMwMDEyIjt9czo3OiJzaWRlYmFyIjthOjEzOntzOjc6ImFkX2NvZGUiO3M6MzY4OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8IS0tIFNpZGViYXIgLS0+DQo8aW5zIGNsYXNzPVwiYWRzYnlnb29nbGVcIg0KICAgICBzdHlsZT1cImRpc3BsYXk6YmxvY2tcIg0KICAgICBkYXRhLWFkLWNsaWVudD1cImNhLXB1Yi0xMTQ0OTMzMjM5MjY2NDY1XCINCiAgICAgZGF0YS1hZC1zbG90PVwiNjM4ODQxNTU0OFwiDQogICAgIGRhdGEtYWQtZm9ybWF0PVwiYXV0b1wiPjwvaW5zPg0KPHNjcmlwdD4NCiAgICAgKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PiI7czoxODoiZGlzYWJsZV9mb3JfYWRtaW5zIjtzOjA6IiI7czo5OiJkaXNhYmxlX20iO3M6MDoiIjtzOjY6Im1fc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdGwiO3M6MDoiIjtzOjc6InRsX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RwIjtzOjA6IiI7czo3OiJ0cF9zaXplIjtzOjA6IiI7czo5OiJkaXNhYmxlX3AiO3M6MDoiIjtzOjY6InBfc2l6ZSI7czowOiIiO3M6MTU6ImN1cnJlbnRfYWRfdHlwZSI7czo2OiJnb29nbGUiO3M6MTY6ImdfZGF0YV9hZF9jbGllbnQiO3M6MjM6ImNhLXB1Yi0xMTQ0OTMzMjM5MjY2NDY1IjtzOjE0OiJnX2RhdGFfYWRfc2xvdCI7czoxMDoiNjM4ODQxNTU0OCI7fXM6MTQ6ImNvbnRlbnRfYm90dG9tIjthOjEyOntzOjc6ImFkX2NvZGUiO3M6MzU3OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8aW5zIGNsYXNzPVwiYWRzYnlnb29nbGVcIg0KICAgICBzdHlsZT1cImRpc3BsYXk6YmxvY2tcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9yZWxheGVkXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjg1MDI4NzQ2OTVcIj48L2lucz4NCjxzY3JpcHQ+DQogICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4iO3M6OToiZGlzYWJsZV9tIjtzOjA6IiI7czo2OiJtX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RsIjtzOjA6IiI7czo3OiJ0bF9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90cCI7czowOiIiO3M6NzoidHBfc2l6ZSI7czowOiIiO3M6OToiZGlzYWJsZV9wIjtzOjA6IiI7czo2OiJwX3NpemUiO3M6MDoiIjtzOjE1OiJjdXJyZW50X2FkX3R5cGUiO3M6NjoiZ29vZ2xlIjtzOjE2OiJnX2RhdGFfYWRfY2xpZW50IjtzOjIzOiJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NSI7czoxNDoiZ19kYXRhX2FkX3Nsb3QiO3M6MTA6Ijg1MDI4NzQ2OTUiO31zOjEwOiJoZWFkZXJfbW9iIjthOjQ6e3M6NzoiYWRfY29kZSI7czozOTU6IjxzY3JpcHQgYXN5bmMgc3JjPVwiLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanNcIj48L3NjcmlwdD4NCjwhLS0gQU1QIC0tPg0KPGlucyBjbGFzcz1cImFkc2J5Z29vZ2xlXCINCiAgICAgc3R5bGU9XCJkaXNwbGF5OmJsb2NrXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjY2MTgzMDc4MDFcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9cIg0KICAgICBkYXRhLWZ1bGwtd2lkdGgtcmVzcG9uc2l2ZT1cInRydWVcIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+IjtzOjE1OiJjdXJyZW50X2FkX3R5cGUiO3M6NjoiZ29vZ2xlIjtzOjE2OiJnX2RhdGFfYWRfY2xpZW50IjtzOjIzOiJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NSI7czoxNDoiZ19kYXRhX2FkX3Nsb3QiO3M6MTA6IjY2MTgzMDc4MDEiO31zOjEwOiJmb290ZXJfbW9iIjthOjQ6e3M6NzoiYWRfY29kZSI7czo0MDI6IjxzY3JpcHQgYXN5bmMgc3JjPVwiLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanNcIj48L3NjcmlwdD4NCjwhLS0gQU1QIEZvb3RlciAtLT4NCjxpbnMgY2xhc3M9XCJhZHNieWdvb2dsZVwiDQogICAgIHN0eWxlPVwiZGlzcGxheTpibG9ja1wiDQogICAgIGRhdGEtYWQtY2xpZW50PVwiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjVcIg0KICAgICBkYXRhLWFkLXNsb3Q9XCI5NzM1NDI1NzMxXCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9XCJhdXRvXCINCiAgICAgZGF0YS1mdWxsLXdpZHRoLXJlc3BvbnNpdmU9XCJ0cnVlXCI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PiI7czoxNToiY3VycmVudF9hZF90eXBlIjtzOjY6Imdvb2dsZSI7czoxNjoiZ19kYXRhX2FkX2NsaWVudCI7czoyMzoiY2EtcHViLTExNDQ5MzMyMzkyNjY0NjUiO3M6MTQ6ImdfZGF0YV9hZF9zbG90IjtzOjEwOiI5NzM1NDI1NzMxIjt9czoxNDoic21hcnRfbGlzdF9tb2IiO2E6MTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7fXM6ODoibG9vcF9tb2IiO2E6MTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7fXM6MTU6ImNvbnRlbnRfdG9wX21vYiI7YToxOntzOjc6ImFkX2NvZGUiO3M6MDoiIjt9czoxODoiY29udGVudF9ib3R0b21fbW9iIjthOjE6e3M6NzoiYWRfY29kZSI7czowOiIiO31zOjE4OiJjb250ZW50X2lubGluZV9tb2IiO2E6MTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7fXM6MTY6InRkbV9hbXBfYXV0b19hZHMiO2E6Mjp7czo3OiJhZF9jb2RlIjtzOjIwODoiPGFtcC1hdXRvLWFkcw0KICAgIHR5cGU9XCJhZHNlbnNlXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjY2MTgzMDc4MDFcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9cIg0KICAgICBkYXRhLWZ1bGwtd2lkdGgtcmVzcG9uc2l2ZT1cInRydWVcIj4NCjwvYW1wLWF1dG8tYWRzPiI7czoxNToiY3VycmVudF9hZF90eXBlIjtzOjU6Im90aGVyIjt9czoxMToiY29udGVudF90b3AiO2E6OTp7czo3OiJhZF9jb2RlIjtzOjA6IiI7czo5OiJkaXNhYmxlX20iO3M6MDoiIjtzOjY6Im1fc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdGwiO3M6MDoiIjtzOjc6InRsX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RwIjtzOjA6IiI7czo3OiJ0cF9zaXplIjtzOjA6IiI7czo5OiJkaXNhYmxlX3AiO3M6MDoiIjtzOjY6InBfc2l6ZSI7czowOiIiO31zOjE0OiJjb250ZW50X2lubGluZSI7YTo5OntzOjc6ImFkX2NvZGUiO3M6MDoiIjtzOjk6ImRpc2FibGVfbSI7czowOiIiO3M6NjoibV9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90bCI7czowOiIiO3M6NzoidGxfc2l6ZSI7czowOiIiO3M6MTA6ImRpc2FibGVfdHAiO3M6MDoiIjtzOjc6InRwX3NpemUiO3M6MDoiIjtzOjk6ImRpc2FibGVfcCI7czowOiIiO3M6NjoicF9zaXplIjtzOjA6IiI7fXM6MTE6ImN1c3RvbV9hZF8xIjthOjEyOntzOjc6ImFkX2NvZGUiO3M6MzU3OiI8c2NyaXB0IGFzeW5jIHNyYz1cImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzXCI+PC9zY3JpcHQ+DQo8aW5zIGNsYXNzPVwiYWRzYnlnb29nbGVcIg0KICAgICBzdHlsZT1cImRpc3BsYXk6YmxvY2tcIg0KICAgICBkYXRhLWFkLWZvcm1hdD1cImF1dG9yZWxheGVkXCINCiAgICAgZGF0YS1hZC1jbGllbnQ9XCJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NVwiDQogICAgIGRhdGEtYWQtc2xvdD1cIjg1MDI4NzQ2OTVcIj48L2lucz4NCjxzY3JpcHQ+DQogICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4iO3M6OToiZGlzYWJsZV9tIjtzOjA6IiI7czo2OiJtX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RsIjtzOjA6IiI7czo3OiJ0bF9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90cCI7czowOiIiO3M6NzoidHBfc2l6ZSI7czowOiIiO3M6OToiZGlzYWJsZV9wIjtzOjA6IiI7czo2OiJwX3NpemUiO3M6MDoiIjtzOjE1OiJjdXJyZW50X2FkX3R5cGUiO3M6NjoiZ29vZ2xlIjtzOjE2OiJnX2RhdGFfYWRfY2xpZW50IjtzOjIzOiJjYS1wdWItMTE0NDkzMzIzOTI2NjQ2NSI7czoxNDoiZ19kYXRhX2FkX3Nsb3QiO3M6MTA6Ijg1MDI4NzQ2OTUiO31zOjEwOiJmb290ZXJfdG9wIjthOjk6e3M6NzoiYWRfY29kZSI7czowOiIiO3M6OToiZGlzYWJsZV9tIjtzOjA6IiI7czo2OiJtX3NpemUiO3M6MDoiIjtzOjEwOiJkaXNhYmxlX3RsIjtzOjA6IiI7czo3OiJ0bF9zaXplIjtzOjA6IiI7czoxMDoiZGlzYWJsZV90cCI7czowOiIiO3M6NzoidHBfc2l6ZSI7czowOiIiO3M6OToiZGlzYWJsZV9wIjtzOjA6IiI7czo2OiJwX3NpemUiO3M6MDoiIjt9fXM6MTU6InRkc190aGVtZV9jb2xvciI7czo3OiIjMWEyMzdlIjtzOjI1OiJ0ZHNfc2l0ZV9iYWNrZ3JvdW5kX2NvbG9yIjtzOjA6IiI7czoxNjoidGRzX2hlYWRlcl9jb2xvciI7czowOiIiO3M6MjE6InRkc190ZXh0X2hlYWRlcl9jb2xvciI7czowOiIiO3M6MTg6InRkc190b3BfbWVudV9jb2xvciI7czowOiIiO3M6MjM6InRkc190b3BfbWVudV90ZXh0X2NvbG9yIjtzOjA6IiI7czoyOToidGRzX3RvcF9tZW51X3RleHRfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfdG9wX3NvY2lhbF9pY29uc19jb2xvciI7czowOiIiO3M6MzI6InRkc190b3Bfc29jaWFsX2ljb25zX2hvdmVyX2NvbG9yIjtzOjA6IiI7czoxNDoidGRzX21lbnVfY29sb3IiO3M6MDoiIjtzOjIzOiJ0ZHNfc3VibWVudV9ob3Zlcl9jb2xvciI7czowOiIiO3M6MTk6InRkc19tZW51X3RleHRfY29sb3IiO3M6MDoiIjtzOjIxOiJ0ZHNfc3RpY2t5X21lbnVfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZHNfc3RpY2t5X3N1Ym1lbnVfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfc3RpY2t5X21lbnVfdGV4dF9jb2xvciI7czowOiIiO3M6Mjc6InRkc19tZW51X3NvY2lhbF9pY29uc19jb2xvciI7czowOiIiO3M6MzM6InRkc19tZW51X3NvY2lhbF9pY29uc19ob3Zlcl9jb2xvciI7czowOiIiO3M6MjM6InRkc19zdWJfbWVudV9iYWNrZ3JvdW5kIjtzOjA6IiI7czoyMzoidGRzX3N1Yl9tZW51X3RleHRfY29sb3IiO3M6MDoiIjtzOjI5OiJ0ZHNfc3ViX21lbnVfaG92ZXJfYmFja2dyb3VuZCI7czowOiIiO3M6MjQ6InRkc19zdWJfbWVudV9ob3Zlcl9jb2xvciI7czo3OiIjMWEyMzdlIjtzOjI0OiJ0ZHNfbWVnYV9tZW51X2JhY2tncm91bmQiO3M6MDoiIjtzOjE5OiJ0ZHNfbWVnYV9tZW51X2NvbG9yIjtzOjA6IiI7czoyNDoidGRzX21lZ2FfbWVudV9uZXh0X2NvbG9yIjtzOjA6IiI7czoyNjoidGRzX21lZ2FfbWVudV9hY2NlbnRfY29sb3IiO3M6NzoiIzFhMjM3ZSI7czozODoidGRzX21lZ2FfbWVudV9zdWJjYXRlZ29yaWVzX2JhY2tncm91bmQiO3M6MDoiIjtzOjMyOiJ0ZHNfbWVnYV9tZW51X3N1YmNhdGVnb3JpZXNfdGV4dCI7czowOiIiO3M6MzQ6InRkc19tZWdhX21lbnVfc3ViY2F0ZWdvcmllc19ib3JkZXIiO3M6MDoiIjtzOjI2OiJ0ZHNfbGl2ZV9zZWFyY2hfYmFja2dyb3VuZCI7czowOiIiO3M6Mjg6InRkc19saXZlX3NlYXJjaF9ib3JkZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfbGl2ZV9zZWFyY2hfdGV4dF9jb2xvciI7czowOiIiO3M6MjY6InRkc19saXZlX3NlYXJjaF9kYXRlX2NvbG9yIjtzOjA6IiI7czozMzoidGRzX2xpdmVfc2VhcmNoX2J1dHRvbl9iYWNrZ3JvdW5kIjtzOjA6IiI7czozMzoidGRzX2xpdmVfc2VhcmNoX2J1dHRvbl90ZXh0X2NvbG9yIjtzOjA6IiI7czoyODoidGRzX2xpdmVfc2VhcmNoX2FjY2VudF9jb2xvciI7czo3OiIjMWEyMzdlIjtzOjIxOiJ0ZHNfbW9iaWxlX21lbnVfY29sb3IiO3M6NzoiI2ZmZmZmZiI7czoyMjoidGRzX21vYmlsZV9pY29uc19jb2xvciI7czo3OiIjMDAwMDAwIjtzOjI3OiJ0ZHNfbW9iaWxlX2dyYWRpZW50X29uZV9tb2IiO3M6NzoiIzFhMjM3ZSI7czoyNzoidGRzX21vYmlsZV9ncmFkaWVudF90d29fbW9iIjtzOjc6IiMxYTIzN2UiO3M6MjE6InRkc19tb2JpbGVfdGV4dF9jb2xvciI7czowOiIiO3M6Mjg6InRkc19tb2JpbGVfdGV4dF9hY3RpdmVfY29sb3IiO3M6NzoiIzFlNzNiZSI7czozMjoidGRzX21vYmlsZV9idXR0b25fYmFja2dyb3VuZF9tb2IiO3M6MDoiIjtzOjI3OiJ0ZHNfbW9iaWxlX2J1dHRvbl9jb2xvcl9tb2IiO3M6MDoiIjtzOjIyOiJ0ZHNfbG9naW5fZ3JhZGllbnRfb25lIjtzOjA6IiI7czoyMjoidGRzX2xvZ2luX2dyYWRpZW50X3R3byI7czowOiIiO3M6MjA6InRkc19sb2dpbl90ZXh0X2NvbG9yIjtzOjA6IiI7czoyNzoidGRzX2xvZ2luX2J1dHRvbl9iYWNrZ3JvdW5kIjtzOjA6IiI7czoyMjoidGRzX2xvZ2luX2J1dHRvbl9jb2xvciI7czowOiIiO3M6MjY6InRkc19sb2dpbl9ob3Zlcl9iYWNrZ3JvdW5kIjtzOjA6IiI7czoyMToidGRzX2xvZ2luX2hvdmVyX2NvbG9yIjtzOjA6IiI7czoyMDoidGRzX3Bvc3RfdGl0bGVfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfcG9zdF9hdXRob3JfbmFtZV9jb2xvciI7czowOiIiO3M6MjI6InRkc19wb3N0X2NvbnRlbnRfY29sb3IiO3M6MDoiIjtzOjE2OiJ0ZHNfcG9zdF9oX2NvbG9yIjtzOjA6IiI7czoyNToidGRzX3Bvc3RfYmxvY2txdW90ZV9jb2xvciI7czowOiIiO3M6MjA6InRkc19wYWdlX3RpdGxlX2NvbG9yIjtzOjA6IiI7czoyMjoidGRzX3BhZ2VfY29udGVudF9jb2xvciI7czowOiIiO3M6MTY6InRkc19wYWdlX2hfY29sb3IiO3M6MDoiIjtzOjIzOiJ0ZF90cmFuc2xhdGlvbl9tYXBfdXNlciI7YToxNzg6e3M6NDoiVGVsOiI7czoyNToi4LmC4LiX4Lij4Lio4Lix4Lie4LiX4LmMOiI7czo2OiJFbWFpbDoiO3M6MTY6IuC4reC4teC5gOC4oeC4pToiO3M6MTY6IlZpZXcgYWxsIHJlc3VsdHMiO3M6NDg6IuC4lOC4ueC4nOC4peC4peC4seC4nuC4mOC5jOC4l+C4seC5ieC4h+C4q+C4oeC4lCI7czoxMDoiTm8gcmVzdWx0cyI7czozNjoi4LmE4Lih4LmI4Lih4Li14Lic4Lil4Lil4Lix4Lie4LiY4LmMIjtzOjQ6IkhvbWUiO3M6MjQ6IuC4q+C4meC5ieC4suC4q+C4peC4seC4gSI7czo1OiJDTE9TRSI7czo5OiLguJvguLTguJQiO3M6NDoiUGFnZSI7czoxMjoi4Lir4LiZ4LmJ4LiyIjtzOjM6IkFsbCI7czoyMToi4LiX4Lix4LmJ4LiH4Lir4Lih4LiUIjtzOjI6IkJ5IjtzOjk6IuC5guC4lOC4oiI7czo5OiJMb2FkIG1vcmUiO3M6Mzk6IuC5guC4q+C4peC4lOC5gOC4nuC4tOC5iOC4oeC5gOC4leC4tOC4oSI7czoxNDoiTW9kaWZpZWQgZGF0ZToiO3M6MDoiIjtzOjE3OiJWaWV3IGFsbCBwb3N0cyBpbiI7czo0ODoi4LiU4Li54LmC4Lie4Liq4LiV4LmM4LiX4Lix4LmJ4LiH4Lir4Lih4LiU4LmD4LiZIjtzOjQ6IlRhZ3MiO3M6MDoiIjtzOjE2OiJQcmV2aW91cyBhcnRpY2xlIjtzOjQyOiLguYDguKPguLfguYjguK3guIfguIHguYjguK3guJnguKvguJnguYnguLIiO3M6MTI6Ik5leHQgYXJ0aWNsZSI7czozMzoi4LmA4Lij4Li34LmI4Lit4LiH4LiW4Lix4LiU4LmE4LibIjtzOjc6IkF1dGhvcnMiO3M6MjQ6IuC4nOC4ueC5ieC5gOC4guC4teC4ouC4mSI7czo2OiJBdXRob3IiO3M6MjQ6IuC4nOC4ueC5ieC5gOC4guC4teC4ouC4mSI7czoxNjoiUkVMQVRFRCBBUlRJQ0xFUyI7czo1Nzoi4Lia4LiX4LiE4Lin4Liy4Lih4LiX4Li14LmI4LmA4LiB4Li14LmI4Lii4Lin4LiC4LmJ4Lit4LiHIjtzOjE2OiJNT1JFIEZST00gQVVUSE9SIjtzOjYwOiLguYDguJ7guLTguYjguKHguYDguJXguLTguKHguIjguLLguIHguJzguLnguYnguYDguILguLXguKLguJkiO3M6MzoiVklBIjtzOjk6IuC4iOC4suC4gSI7czo2OiJTT1VSQ0UiO3M6MzA6IuC5geC4q+C4peC5iOC4h+C4l+C4teC5iOC4oeC4siI7czo0OiJUQUdTIjtzOjA6IiI7czo1OiJTaGFyZSI7czoyMToi4LmB4Lia4LmI4LiH4Lib4Lix4LiZIjtzOjU6IlNIQVJFIjtzOjIxOiLguYHguJrguYjguIfguJvguLHguJkiO3M6ODoiQ29udGludWUiO3M6Mjc6IuC5gOC4nuC4tOC5iOC4oeC5gOC4leC4tOC4oSI7czo5OiJSZWFkIG1vcmUiO3M6MjE6IuC4reC5iOC4suC4meC4leC5iOC4rSI7czo1OiJ2aWV3cyI7czoxNToi4Lij4Lix4Lia4LiK4LihIjtzOjU6Ik5hbWU6IjtzOjEzOiLguIrguLfguYjguK06IjtzOjg6IldlYnNpdGU6IjtzOjI1OiLguYDguKfguYfguJrguYTguIvguJXguYw6IjtzOjg6IkNvbW1lbnQ6IjtzOjI1OiLguITguKfguLLguKHguYDguKvguYfguJk6IjtzOjEzOiJMRUFWRSBBIFJFUExZIjtzOjA6IiI7czoxMjoiUG9zdCBDb21tZW50IjtzOjA6IiI7czoxMjoiQ2FuY2VsIHJlcGx5IjtzOjA6IiI7czo1OiJSZXBseSI7czowOiIiO3M6MjU6IkxvZyBpbiB0byBsZWF2ZSBhIGNvbW1lbnQiO3M6MDoiIjtzOjExOiJOTyBDT01NRU5UUyI7czowOiIiO3M6OToiMSBDT01NRU5UIjtzOjA6IiI7czo4OiJDT01NRU5UUyI7czowOiIiO3M6MzU6IllvdXIgY29tbWVudCBpcyBhd2FpdGluZyBtb2RlcmF0aW9uIjtzOjA6IiI7czoyNzoiUGxlYXNlIGVudGVyIHlvdXIgbmFtZSBoZXJlIjtzOjA6IiI7czozNjoiUGxlYXNlIGVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyBoZXJlIjtzOjA6IiI7czo0NDoiWW91IGhhdmUgZW50ZXJlZCBhbiBpbmNvcnJlY3QgZW1haWwgYWRkcmVzcyEiO3M6MDoiIjtzOjI2OiJQbGVhc2UgZW50ZXIgeW91ciBjb21tZW50ISI7czowOiIiO3M6MTI6IkxvZ2dlZCBpbiBhcyI7czowOiIiO3M6ODoiTG9nIG91dD8iO3M6MDoiIjtzOjM1OiJMb2dnZWQgaW4gYXMgJXMuIEVkaXQgeW91ciBwcm9maWxlLiI7czowOiIiO3M6NDoiRWRpdCI7czowOiIiO3M6MjoiQXQiO3M6MDoiIjtzOjE1OiJSRVZJRVcgT1ZFUlZJRVciO3M6Mjc6IuC4quC4o+C4uOC4m+C4o+C4teC4p+C4tOC4pyI7czo3OiJTVU1NQVJZIjtzOjEyOiLguKrguKPguLjguJsiO3M6MTM6Ik9WRVJBTEwgU0NPUkUiO3M6NDU6IuC4hOC4sOC5geC4meC4meC4o+C4p+C4oeC4l+C4seC5ieC4h+C4q+C4oeC4lCI7czoxODoiT29vcHMuLi4gRXJyb3IgNDA0IjtzOjM0OiLguILguYnguK3guJzguLTguJTguJ7guKXguLLguJQgNDA0IjtzOjU0OiJTb3JyeSwgYnV0IHRoZSBwYWdlIHlvdSBhcmUgbG9va2luZyBmb3IgZG9lc25fdCBleGlzdC4iO3M6MTgxOiLguILguK3guK3guKDguLHguKLguJTguYnguKfguKIg4LmB4LiV4LmI4LiU4Li54LmA4Lir4Lih4Li34Lit4LiZ4Lin4LmI4Liy4Lir4LiZ4LmJ4Liy4Lir4Lij4Li34Lit4LiC4LmJ4Lit4Lih4Li54Lil4LiX4Li14LmI4LiE4Li44LiT4LiV4LmJ4Lit4LiH4LiB4Liy4Lij4LmE4Lih4LmI4Lih4Li14Lit4Lii4Li54LmIIjtzOjE3OiJZb3UgY2FuIGdvIHRvIHRoZSI7czowOiIiO3M6ODoiSE9NRVBBR0UiO3M6MjQ6IuC4q+C4meC5ieC4suC4q+C4peC4seC4gSI7czoxNjoiT1VSIExBVEVTVCBQT1NUUyI7czo1MToi4LmC4Lie4Liq4LiV4LmM4Lil4LmI4Liy4Liq4Li44LiU4LiI4Liy4LiB4LmA4Lij4LiyIjtzOjg6IlBvc3RzIGJ5IjtzOjA6IiI7czo1OiJQT1NUUyI7czowOiIiO3M6MTc6IlBvc3RzIHRhZ2dlZCB3aXRoIjtzOjA6IiI7czozOiJUYWciO3M6MDoiIjtzOjE1OiJEYWlseSBBcmNoaXZlczoiO3M6NTk6IuC5gOC4meC4t+C5ieC4reC4q+C4suC4o+C4p+C4oeC4guC4reC4h+C4p+C4seC4meC4l+C4teC5iDogIjtzOjE3OiJNb250aGx5IEFyY2hpdmVzOiI7czo1NToi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lij4Lin4Lih4LiC4Lit4LiH4LmA4LiU4Li34Lit4LiZOiI7czoxNjoiWWVhcmx5IEFyY2hpdmVzOiI7czo1Mjoi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lij4Lin4Lih4Lib4Lij4Liw4LiI4Liz4Lib4Li1OiI7czo4OiJBcmNoaXZlcyI7czozMzoi4LiE4Lil4Lix4LiH4LmA4LiZ4Li34LmJ4Lit4Lir4LiyIjtzOjE1OiJMQVRFU1QgQVJUSUNMRVMiO3M6MzY6IuC4muC4l+C4hOC4p+C4suC4oeC4peC5iOC4suC4quC4uOC4lCI7czoxNDoic2VhcmNoIHJlc3VsdHMiO3M6MzA6IuC4nOC4peC4geC4suC4o+C4hOC5ieC4meC4q+C4siI7czo2OiJTZWFyY2giO3M6MTU6IuC4hOC5ieC4meC4q+C4siI7czo2MjoiSWYgeW91X3JlIG5vdCBoYXBweSB3aXRoIHRoZSByZXN1bHRzLCBwbGVhc2UgZG8gYW5vdGhlciBzZWFyY2giO3M6MTMzOiLguKvguLLguIHguITguLjguJPguYTguKHguYjguJ7guK3guYPguIjguIHguLHguJrguJzguKXguKXguLHguJ7guJjguYwg4LmC4Lib4Lij4LiU4LiE4LmJ4LiZ4Lir4Liy4LmD4Lir4Lih4LmI4Lit4Li14LiB4LiE4Lij4Lix4LmJ4LiHIjtzOjEwOiJDb250YWN0IHVzIjtzOjI3OiLguJXguLTguJTguJXguYjguK3guYDguKPguLIiO3M6MjI6IkZvbGxvdyB1cyBvbiBJbnN0YWdyYW0iO3M6NTU6IuC4leC4tOC4lOC4leC4suC4oeC5gOC4o+C4suC5hOC4lOC5ieC4l+C4suC4hyBJbnN0YWdyYW0iO3M6MzY6IlBhZ2UgJUNVUlJFTlRfUEFHRSUgb2YgJVRPVEFMX1BBR0VTJSI7czo2MDoi4Lir4LiZ4LmJ4Liy4LiX4Li14LmIICVDVVJSRU5UX1BBR0UlIOC4iOC4suC4gSAlVE9UQUxfUEFHRVMlIjtzOjQ6Ik5leHQiO3M6MTU6IuC4luC4seC4lOC5hOC4myI7czo0OiJQcmV2IjtzOjI0OiLguIHguYjguK3guJnguKvguJnguYnguLIiO3M6NDoiQmFjayI7czoxMjoi4LiB4Lil4Lix4LiaIjtzOjI2OiJObyByZXN1bHRzIGZvciB5b3VyIHNlYXJjaCI7czo5Njoi4LmE4Lih4LmI4Lih4Li14Lic4Lil4Lil4Lix4Lie4LiY4LmM4Liq4Liz4Lir4Lij4Lix4Lia4LiB4Liy4Lij4LiE4LmJ4LiZ4Lir4Liy4LiC4Lit4LiH4LiE4Li44LiTIjtzOjE5OiJObyBwb3N0cyB0byBkaXNwbGF5IjtzOjYzOiLguYTguKHguYjguKHguLXguYDguJnguLfguYnguK3guKvguLLguJfguLXguYjguIjguLDguYHguKrguJTguIciO3M6NjoiTE9HIElOIjtzOjA6IiI7czoxNDoiU2lnbiBpbiAvIEpvaW4iO3M6MDoiIjtzOjc6IlNpZ24gaW4iO3M6MDoiIjtzOjc6IlNpZ24gdXAiO3M6MDoiIjtzOjQ6IkpvaW4iO3M6MDoiIjtzOjY6IkxvZyBJbiI7czowOiIiO3M6NToiTG9naW4iO3M6MDoiIjtzOjg6IlJFR0lTVEVSIjtzOjA6IiI7czo4OiJXZWxjb21lISI7czozNzoi4Lii4Li04LiZ4LiU4Li14LiV4LmJ4Lit4LiZ4Lij4Lix4LiaISI7czoyMToiTG9nIGludG8geW91ciBhY2NvdW50IjtzOjA6IiI7czoxNzoiUGFzc3dvcmQgcmVjb3ZlcnkiO3M6MDoiIjtzOjEyOiJTZW5kIE15IFBhc3MiO3M6MDoiIjtzOjE2OiJTZW5kIE15IFBhc3N3b3JkIjtzOjA6IiI7czoyMToiRm9yZ290IHlvdXIgcGFzc3dvcmQ/IjtzOjA6IiI7czozMDoiRm9yZ290IHlvdXIgcGFzc3dvcmQ/IEdldCBoZWxwIjtzOjA6IiI7czoxNzoiQ3JlYXRlIGFuIGFjY291bnQiO3M6MDoiIjtzOjE0OiJQbGVhc2Ugd2FpdC4uLiI7czowOiIiO3M6Mjc6IlVzZXIgb3IgcGFzc3dvcmQgaW5jb3JyZWN0ISI7czowOiIiO3M6Mjg6IkVtYWlsIG9yIHVzZXJuYW1lIGluY29ycmVjdCEiO3M6MDoiIjtzOjE2OiJFbWFpbCBpbmNvcnJlY3QhIjtzOjA6IiI7czoyOToiVXNlciBvciBlbWFpbCBhbHJlYWR5IGV4aXN0cyEiO3M6MDoiIjtzOjc2OiJQbGVhc2UgY2hlY2sgeW91ciBlbWFpbCAoaW5ib3ggb3Igc3BhbSBmb2xkZXIpLCB0aGUgcGFzc3dvcmQgd2FzIHNlbnQgdGhlcmUuIjtzOjA6IiI7czoyNDoiRW1haWwgYWRkcmVzcyBub3QgZm91bmQhIjtzOjA6IiI7czo0MToiWW91ciBwYXNzd29yZCBpcyByZXNldCwgY2hlY2sgeW91ciBlbWFpbC4iO3M6MDoiIjtzOjMwOiJXZWxjb21lISBMb2cgaW50byB5b3VyIGFjY291bnQiO3M6MDoiIjtzOjMyOiJXZWxjb21lISBSZWdpc3RlciBmb3IgYW4gYWNjb3VudCI7czowOiIiO3M6MjM6IlJlZ2lzdGVyIGZvciBhbiBhY2NvdW50IjtzOjA6IiI7czoyMToiUmVjb3ZlciB5b3VyIHBhc3N3b3JkIjtzOjA6IiI7czoxMzoieW91ciB1c2VybmFtZSI7czowOiIiO3M6MTM6InlvdXIgcGFzc3dvcmQiO3M6MDoiIjtzOjEwOiJ5b3VyIGVtYWlsIjtzOjA6IiI7czozNToiQSBwYXNzd29yZCB3aWxsIGJlIGUtbWFpbGVkIHRvIHlvdS4iO3M6MDoiIjtzOjY6IkxvZ291dCI7czowOiIiO3M6NDoiTGlrZSI7czowOiIiO3M6NToiTGlrZXMiO3M6MDoiIjtzOjQ6IkZhbnMiO3M6MDoiIjtzOjY6IkZvbGxvdyI7czowOiIiO3M6OToiRm9sbG93ZXJzIjtzOjA6IiI7czo5OiJTdWJzY3JpYmUiO3M6MDoiIjtzOjExOiJTdWJzY3JpYmVycyI7czowOiIiO3M6MTI6Ik1PUkUgU1RPUklFUyI7czowOiIiO3M6NjoiTGF0ZXN0IjtzOjE4OiLguKXguYjguLLguKrguLjguJQiO3M6MTQ6IkZlYXR1cmVkIHBvc3RzIjtzOjM2OiLguYDguJnguLfguYnguK3guKvguLLguYHguJnguLDguJnguLMiO3M6MTI6Ik1vc3QgcG9wdWxhciI7czo0Mjoi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lii4Lit4LiU4LiZ4Li04Lii4LihIjtzOjE0OiI3IGRheXMgcG9wdWxhciI7czo3ODoi4LmA4LiZ4Li34LmJ4Lit4Lir4Liy4Lii4Lit4LiU4LiZ4Li04Lii4Lih4LmD4LiZ4Lij4Lit4Lia4Liq4Lix4Lib4LiU4Liy4Lir4LmMIjtzOjE1OiJCeSByZXZpZXcgc2NvcmUiO3M6NDI6IuC4leC4suC4oeC4hOC4sOC5geC4meC4meC4l+C4teC5iOC5hOC4lOC5iSI7czo2OiJSYW5kb20iO3M6MTI6IuC4quC4uOC5iOC4oSI7czoxMjoiVHJlbmRpbmcgTm93IjtzOjE4OiLguKXguYjguLLguKrguLjguJQiO3M6MTY6IlBPUFVMQVIgQ0FURUdPUlkiO3M6MDoiIjtzOjEzOiJQT1BVTEFSIFBPU1RTIjtzOjA6IiI7czoxMjoiRURJVE9SIFBJQ0tTIjtzOjA6IiI7czo4OiJBQk9VVCBVUyI7czowOiIiO3M6ODoiQWJvdXQgbWUiO3M6MDoiIjtzOjk6IkZPTExPVyBVUyI7czowOiIiO3M6MTQ6IkVWRU4gTU9SRSBORVdTIjtzOjA6IiI7czoyNToiUHJldmlvdXMgKExlZnQgYXJyb3cga2V5KSI7czowOiIiO3M6MjI6Ik5leHQgKFJpZ2h0IGFycm93IGtleSkiO3M6MDoiIjtzOjE3OiIlY3VyciUgb2YgJXRvdGFsJSI7czoyNDoiJWN1cnIlIOC4iOC4suC4gSAldG90YWwlIjtzOjQzOiJUaGUgY29udGVudCBmcm9tICV1cmwlIGNvdWxkIG5vdCBiZSBsb2FkZWQuIjtzOjg1OiLguYDguJnguLfguYnguK3guKvguLLguIjguLLguIEgJXVybCUg4LmE4Lih4LmI4Liq4Liy4Lih4Liy4Lij4LiW4LmC4Lir4Lil4LiU4LmE4LiU4LmJIjtzOjM4OiJUaGUgaW1hZ2UgIyVjdXJyJSBjb3VsZCBub3QgYmUgbG9hZGVkLiI7czo3NToi4Lig4Liy4Lie4LiI4Liy4LiBICMlY3VyciUg4LmE4Lih4LmI4Liq4Liy4Lih4Liy4Lij4LiW4LmC4Lir4Lil4LiU4LmE4LiU4LmJIjtzOjQ6IkJsb2ciO3M6MDoiIjtzOjE3OiJTaGFyZSBvbiBGYWNlYm9vayI7czoyNzoi4LmB4LiK4Lij4LmM4LmE4LibIEZhY2Vib29rIjtzOjE2OiJUd2VldCBvbiBUd2l0dGVyIjtzOjI2OiLguJfguKfguLTguJXguYTguJsgVHdpdHRlciI7czo4OiJGZWF0dXJlZCI7czowOiIiO3M6MTY6IkFsbCB0aW1lIHBvcHVsYXIiO3M6NDI6IuC4ouC4reC4lOC4meC4tOC4ouC4oeC4leC4peC4reC4lOC4geC4suC4pSI7czo0OiJNb3JlIjtzOjA6IiI7czo4OiJSZWdpc3RlciI7czowOiIiO3M6Mjoib2YiO3M6MDoiIjtzOjIxOiJFdXJvIE1lbWJlciBDb3VudHJpZXMiO3M6MDoiIjtzOjE3OiJBdXN0cmFsaWFuIERvbGxhciI7czowOiIiO3M6MTM6IkJ1bGdhcmlhbiBMZXYiO3M6MDoiIjtzOjE0OiJCcmF6aWxpYW4gUmVhbCI7czowOiIiO3M6MTU6IkNhbmFkaWFuIERvbGxhciI7czowOiIiO3M6MTE6IlN3aXNzIEZyYW5jIjtzOjA6IiI7czoyMToiQ2hpbmVzZSBZdWFuIFJlbm1pbmJpIjtzOjA6IiI7czoyMToiQ3plY2ggUmVwdWJsaWMgS29ydW5hIjtzOjA6IiI7czoxMjoiRGFuaXNoIEtyb25lIjtzOjA6IiI7czoxMzoiQnJpdGlzaCBQb3VuZCI7czowOiIiO3M6MTY6IkhvbmcgS29uZyBEb2xsYXIiO3M6MDoiIjtzOjEzOiJDcm9hdGlhbiBLdW5hIjtzOjA6IiI7czoxNjoiSHVuZ2FyaWFuIEZvcmludCI7czowOiIiO3M6MTc6IkluZG9uZXNpYW4gUnVwaWFoIjtzOjA6IiI7czoxNDoiSXNyYWVsaSBTaGVrZWwiO3M6MDoiIjtzOjEyOiJJbmRpYW4gUnVwZWUiO3M6MDoiIjtzOjEyOiJKYXBhbmVzZSBZZW4iO3M6MDoiIjtzOjE4OiJLb3JlYW4gKFNvdXRoKSBXb24iO3M6MDoiIjtzOjEyOiJNZXhpY2FuIFBlc28iO3M6MDoiIjtzOjE3OiJNYWxheXNpYW4gUmluZ2dpdCI7czowOiIiO3M6MTU6Ik5vcndlZ2lhbiBLcm9uZSI7czowOiIiO3M6MTg6Ik5ldyBaZWFsYW5kIERvbGxhciI7czowOiIiO3M6MTU6IlBoaWxpcHBpbmUgUGVzbyI7czowOiIiO3M6MTI6IlBvbGlzaCBabG90eSI7czowOiIiO3M6MTg6IlJvbWFuaWFuIChOZXcpIExldSI7czowOiIiO3M6MTM6IlJ1c3NpYW4gUnVibGUiO3M6MDoiIjtzOjEzOiJTd2VkaXNoIEtyb25hIjtzOjA6IiI7czoxNjoiU2luZ2Fwb3JlIERvbGxhciI7czowOiIiO3M6OToiVGhhaSBCYWh0IjtzOjk6IuC4muC4suC4lyI7czoxMjoiVHVya2lzaCBMaXJhIjtzOjA6IiI7czoyMDoiVW5pdGVkIFN0YXRlcyBEb2xsYXIiO3M6MDoiIjtzOjE4OiJTb3V0aCBBZnJpY2FuIFJhbmQiO3M6MDoiIjtzOjc3OiJTYXZlIG15IG5hbWUsIGVtYWlsLCBhbmQgd2Vic2l0ZSBpbiB0aGlzIGJyb3dzZXIgZm9yIHRoZSBuZXh0IHRpbWUgSSBjb21tZW50LiI7czowOiIiO3M6MTQ6IlByaXZhY3kgUG9saWN5IjtzOjYzOiLguJnguYLguKLguJrguLLguKLguITguKfguLLguKHguYDguJvguYfguJnguKrguYjguKfguJnguJXguLHguKciO31zOjg6InRkX2ZvbnRzIjthOjIyOntzOjk6ImJvZHlfdGV4dCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzkxNCI7fXM6MTM6ImxvZ2luX2dlbmVyYWwiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE0OiJtb2JpbGVfZ2VuZXJhbCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzkxNCI7fXM6MTE6Im1vYmlsZV9tZW51IjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9czoxNToibW9iaWxlX3N1Yl9tZW51IjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9czoxMDoicGFnZV90aXRsZSI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6MTI6InBhZ2VfY29udGVudCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzkxNCI7fXM6NzoicGFnZV9oMSI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oMiI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oMyI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oNCI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oNSI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6NzoicGFnZV9oNiI7YToxOntzOjExOiJmb250X2ZhbWlseSI7czo1OiJnXzc0MiI7fXM6MTQ6ImJicHJlc3NfaGVhZGVyIjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfNzQyIjt9czoxNDoiYmJwcmVzc190aXRsZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ183NDIiO31zOjIxOiJiYnByZXNzX3N1YmNhdGVnb3JpZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE5OiJiYnByZXNzX2Rlc2NyaXB0aW9uIjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9czoxNDoiYmJwcmVzc19hdXRob3IiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE1OiJiYnByZXNzX3JlcGxpZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE1OiJiYnByZXNzX25vdGljZXMiO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjE4OiJiYnByZXNzX3BhZ2luYXRpb24iO2E6MTp7czoxMToiZm9udF9mYW1pbHkiO3M6NToiZ185MTQiO31zOjEzOiJiYnByZXNzX3RvcGljIjthOjE6e3M6MTE6ImZvbnRfZmFtaWx5IjtzOjU6ImdfOTE0Ijt9fXM6MTQ6InRkX3JlbW90ZV9odHRwIjthOjI6e3M6OToidGVzdF90aW1lIjtpOjE1MjM0NjQ1MzY7czoxMToidGVzdF9zdGF0dXMiO3M6OToid29yZHByZXNzIjt9czoxNzoidGRfbGF0ZXN0X3ZlcnNpb24iO3M6NToiOC43LjIiO3M6MTM6InRkX3VwZGF0ZV91cmwiO3M6MTA2OiJodHRwczovL3RoZW1lZm9yZXN0Lm5ldC9kb3dubG9hZHM/dXRtX3NvdXJjZT1OZXdzcGFwZXJfdXBkYXRlJnV0bV9jYW1wYWlnbj12OC43LjImdXRtX21lZGl1bT11cGRhdGVfc3lzdGVtIjtzOjI1OiJ0ZHNfdGh1bWJfdGRfODB4NjBfcmV0aW5hIjtzOjA6IiI7czoyNjoidGRzX3RodW1iX3RkXzEwMHg3MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMjE4eDE1MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMjY1eDE5OF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzI0eDE2MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzI0eDIzNV9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzI0eDQwMF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzU2eDIyMF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfMzU2eDM2NF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfNDg1eDM2MF9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfNTMzeDI2MV9yZXRpbmEiO3M6MDoiIjtzOjI3OiJ0ZHNfdGh1bWJfdGRfNTM0eDQ2Ml9yZXRpbmEiO3M6MDoiIjtzOjI1OiJ0ZHNfdGh1bWJfdGRfNjk2eDBfcmV0aW5hIjtzOjA6IiI7czoyNzoidGRzX3RodW1iX3RkXzY5NngzODVfcmV0aW5hIjtzOjA6IiI7czoyNzoidGRzX3RodW1iX3RkXzc0MXg0ODZfcmV0aW5hIjtzOjA6IiI7czoyODoidGRzX3RodW1iX3RkXzEwNjh4NTgwX3JldGluYSI7czowOiIiO3M6MjY6InRkc190aHVtYl90ZF8xMDY4eDBfcmV0aW5hIjtzOjA6IiI7czoyNToidGRzX3RodW1iX3RkXzB4NDIwX3JldGluYSI7czowOiIiO3M6MjY6InRkc190aHVtYl90ZF8xOTIweDBfcmV0aW5hIjtzOjA6IiI7czo5OiJ0ZF8wMTFfdGEiO3M6NzoibHBfc2VudCI7czoyNDoidGRzX2NvbnRlbnRfYm90dG9tX3RpdGxlIjtzOjM2OiLguJ7guLfguYnguJnguJfguLXguYjguYLguIbguKnguJPguLIiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF8yIjtzOjA6IiI7czoyNjoidGRzX2NhdGVnb3J5X21vZHVsZV9mbGV4XzMiO3M6MDoiIjtzOjI2OiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX2ZsZXhfNCI7czowOiIiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF81IjtzOjA6IiI7czozMDoidGRfbW9kdWxlX2ZsZXhfMl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMjoidGRfbW9kdWxlX2ZsZXhfMl9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF8zX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMyOiJ0ZF9tb2R1bGVfZmxleF8zX2NvbnRlbnRfZXhjZXJwdCI7czowOiIiO3M6MzA6InRkX21vZHVsZV9mbGV4XzRfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzI6InRkX21vZHVsZV9mbGV4XzRfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozMDoidGRfbW9kdWxlX2ZsZXhfNV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMjoidGRfbW9kdWxlX2ZsZXhfNV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjE4OiJnX3VzZV9nb29nbGVfZm9udHMiO3M6MDoiIjtzOjE0OiJ0ZF9mb290ZXJfY29kZSI7czowOiIiO3M6MTA6InRkc19idXR0b24iO3M6MDoiIjtzOjE0OiJ0ZG1fYnRuX3JhZGl1cyI7czowOiIiO3M6OToidGRzX3RpdGxlIjtzOjA6IiI7czoxNjoidGRtX3Bob25lX251bWJlciI7czowOiIiO3M6OToidGRtX2VtYWlsIjtzOjA6IiI7czoxNDoidGRtX2V4dHJhX2luZm8iO3M6MDoiIjtzOjIxOiJ0ZG1faW5mb19zaG93X3RvcF9iYXIiO3M6MDoiIjtzOjI0OiJ0ZG1faW5mb19zaG93X3N1Yl9mb290ZXIiO3M6MDoiIjtzOjIwOiJ0ZG1fYm9yZGVyZWRfd2Vic2l0ZSI7czowOiIiO3M6MTU6InRkbV9tZW51X2FjdGl2ZSI7czowOiIiO3M6MTk6InRkbV9tZW51X2J0bjFfc3R5bGUiO3M6MDoiIjtzOjE4OiJ0ZG1fbWVudV9idG4xX3RleHQiO3M6MDoiIjtzOjE3OiJ0ZG1fbWVudV9idG4xX3VybCI7czowOiIiO3M6MzI6InRkbV9tZW51X2J0bjFfb3Blbl9pbl9uZXdfd2luZG93IjtzOjA6IiI7czoxOToidGRtX21lbnVfYnRuMl9zdHlsZSI7czowOiIiO3M6MTg6InRkbV9tZW51X2J0bjJfdGV4dCI7czowOiIiO3M6MTc6InRkbV9tZW51X2J0bjJfdXJsIjtzOjA6IiI7czozMjoidGRtX21lbnVfYnRuMl9vcGVuX2luX25ld193aW5kb3ciO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4xX2Jhc2VfY29sb3IiO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4yX2Jhc2VfY29sb3IiO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4xX3RleHRfY29sb3IiO3M6MDoiIjtzOjI0OiJ0ZG1fbWVudV9idG4yX3RleHRfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4xX2Jhc2VfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4yX2Jhc2VfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4xX3RleHRfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjMwOiJ0ZG1fbWVudV9idG4yX3RleHRfaG92ZXJfY29sb3IiO3M6MDoiIjtzOjI2OiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX2ZsZXhfNiI7czowOiIiO3M6MjY6InRkc19jYXRlZ29yeV9tb2R1bGVfZmxleF83IjtzOjA6IiI7czoyNjoidGRzX2NhdGVnb3J5X21vZHVsZV9mbGV4XzgiO3M6MDoiIjtzOjMwOiJ0ZHNfY2F0ZWdvcnlfbW9kdWxlX2ZsZXhfZW1wdHkiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF82X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF83X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjMwOiJ0ZF9tb2R1bGVfZmxleF84X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM0OiJ0ZF9tb2R1bGVfZmxleF9lbXB0eV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoxMjoidGRzX3JlbF90eXBlIjtzOjA6IiI7czoyNDoidGRzX21fc2hvd19tb2RpZmllZF9kYXRlIjtzOjA6IiI7czoxNDoidGRtX21vYmlsZV9hbXAiO3M6MDoiIjtzOjE2OiJ0ZHNfbG9naW5fbW9iaWxlIjtzOjQ6ImhpZGUiO3M6MTk6InRkc190aGVtZV9jb2xvcl9tb2IiO3M6NzoiIzFhMjM3ZSI7czoyMzoidGRzX21lbnVfYmFja2dyb3VuZF9tb2IiO3M6NzoiI2ZmZmZmZiI7czoyMzoidGRzX21lbnVfaWNvbl9jb2xvcl9tb2IiO3M6NzoiIzAwMDAwMCI7czoyNToidGRzX21lbnVfZ3JhZGllbnRfb25lX21vYiI7czo3OiIjMWEyMzdlIjtzOjI1OiJ0ZHNfbWVudV9ncmFkaWVudF90d29fbW9iIjtzOjc6IiMxYTIzN2UiO3M6MjM6InRkc19tZW51X3RleHRfY29sb3JfbW9iIjtzOjA6IiI7czozMDoidGRzX21lbnVfdGV4dF9hY3RpdmVfY29sb3JfbW9iIjtzOjA6IiI7czozMDoidGRzX21lbnVfYnV0dG9uX2JhY2tncm91bmRfbW9iIjtzOjA6IiI7czoyNToidGRzX21lbnVfYnV0dG9uX2NvbG9yX21vYiI7czo3OiIjZmZmZmZmIjtzOjI1OiJ0ZHNfZm9vdGVyX2JhY2tncm91bmRfbW9iIjtzOjA6IiI7czoyNToidGRzX2Zvb3Rlcl90ZXh0X2NvbG9yX21vYiI7czowOiIiO3M6Mjk6InRkc19zdWJfZm9vdGVyX2JhY2tncm91bmRfbW9iIjtzOjA6IiI7czoyOToidGRzX3N1Yl9mb290ZXJfdGV4dF9jb2xvcl9tb2IiO3M6MDoiIjtzOjMxOiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfaW1hZ2VfbW9iIjtzOjA6IiI7czozMjoidGRzX21vYmlsZV9iYWNrZ3JvdW5kX3JlcGVhdF9tb2IiO3M6MDoiIjtzOjMwOiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfc2l6ZV9tb2IiO3M6MDoiIjtzOjM0OiJ0ZHNfbW9iaWxlX2JhY2tncm91bmRfcG9zaXRpb25fbW9iIjtzOjA6IiI7czoxNjoidGRzX2FkX3RpdGxlX21vYiI7czowOiIiO3M6MjI6InRkc19sb29wX2FkX21vZHVsZV9tb2IiO3M6MDoiIjtzOjI3OiJ0ZHNfaW5saW5lX2FkX3BhcmFncmFwaF9tb2IiO3M6MDoiIjtzOjE3OiJ0ZG1fYW1wX2Fkc190aXRsZSI7czowOiIiO3M6MTc6InRkbV9hbXBfYW5hbHl0aWNzIjtzOjI4Njoiew0KICAgICAgICAgICAgXCJ2YXJzXCI6ew0KICAgICAgICAgICAgICAgIFwiYWNjb3VudFwiOlwiVUEtMTE1NDY4OTM3LTFcIg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIFwidHJpZ2dlcnNcIjp7DQogICAgICAgICAgICAgICAgXCJ0cmFja1BhZ2V2aWV3XCI6ew0KICAgICAgICAgICAgICAgICAgICBcIm9uXCI6XCJ2aXNpYmxlXCIsDQogICAgICAgICAgICAgICAgICAgIFwicmVxdWVzdFwiOlwicGFnZXZpZXdcIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSI7czoyOToidGRfbW9kdWxlX21vYl8xX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjI5OiJ0ZF9tb2R1bGVfbW9iXzJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MTg6InRkc19jdXN0b21fY3NzX21vYiI7czowOiIiO3M6MjU6InRkc19jdXN0b21famF2YXNjcmlwdF9tb2IiO3M6MDoiIjtzOjE5OiJ0ZHNfY3VzdG9tX2h0bWxfbW9iIjtzOjA6IiI7czoyNDoidGRzX3VzZXJfY29tcGlsZV9jc3NfbW9iIjtzOjEzNjc6ImEsCiAgICAudGQtcG9zdC1hdXRob3ItbmFtZSBhLAogICAgLnRkLW1vYmlsZS1jb250ZW50IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEsCiAgICAudGQtbW9iaWxlLWNvbnRlbnQgLmN1cnJlbnQtbWVudS1hbmNlc3RvciA+IGEsCiAgICAuZm9vdGVyLWVtYWlsLXdyYXAgYSwKICAgIC50ZC1zZWFyY2gtcXVlcnksCiAgICAudGQtcGFnZS1jb250ZW50IGJsb2NrcXVvdGUgcCwKICAgIC50ZC1wb3N0LWNvbnRlbnQgYmxvY2txdW90ZSBwIHsKICAgICAgICBjb2xvcjogIzFhMjM3ZTsKICAgIH0KCiAgICAudGQtc2Nyb2xsLXVwLAogICAgLnRkLXJhdGluZy1iYXItd3JhcCBkaXYsCiAgICAudGQtcGFnZS1jb250ZW50IC5kcm9wY2FwLAogICAgLnRkLXBvc3QtY29udGVudCAuZHJvcGNhcCwKICAgIC5jb21tZW50LWNvbnRlbnQgLmRyb3BjYXAsCiAgICAudGRfd3JhcHBlcl92aWRlb19wbGF5bGlzdCAudGRfdmlkZW9fY29udHJvbHNfcGxheWxpc3Rfd3JhcHBlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMjM3ZTsKICAgIH0KCgogICAgLnRkX3F1b3RlX2JveCwKICAgIC50ZF93cmFwcGVyX3ZpZGVvX3BsYXlsaXN0IC50ZF92aWRlb19jdXJyZW50bHlfcGxheWluZzphZnRlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWEyMzdlOwogICAgfQoKICAgIAogICAgLnRkLW1lbnUtYmFja2dyb3VuZDpiZWZvcmUsCiAgICAudGQtc2VhcmNoLWJhY2tncm91bmQ6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMTQ1OwogICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzMzE0NSAwJSwgIzFhMjM3ZSAxMDAlKTsKICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgIzMzMzE0NSksIGNvbG9yLXN0b3AoMTAwJSwgIzFhMjM3ZSkpOwogICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzMzE0NSAwJSwgIzFhMjM3ZSAxMDAlKTsKICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMzMzMTQ1IDAlLCAjMWEyMzdlIDEwMCUpOwogICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMzMzMTQ1IDAlLCAjMWEyMzdlIDEwMCUpOwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMzMzMxNDUgMCUsICMxYTIzN2UgMTAwJSk7CiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMzMzMxNDUnLCBlbmRDb2xvcnN0cj0nIzFhMjM3ZScsIEdyYWRpZW50VHlwZT0wICk7CiAgICB9IjtzOjI4OiJ0ZF90aGVtZV9kZWFjdGl2YXRlZF9wbHVnaW5zIjthOjA6e31zOjE0OiJkR1JmTURFeFh3PT10cCI7aToxNTU2MzM1MTI5O3M6MTI6ImRHUmZNREV4WHc9PSI7czoxOiIxIjtzOjE5OiJ0ZGJfaGVhZGVyX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjMyNyI7czoyMToidGRiX2NhdGVnb3J5X3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjM2OSI7czoyNjoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfbW0iO3M6MDoiIjtzOjMwOiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9zZWFyY2giO3M6MDoiIjtzOjMxOiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9yZWxhdGVkIjtzOjA6IiI7czozODoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfcmVsYXRlZF9zYW1wbGUiO3M6MDoiIjtzOjI4OiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9sb29wIjtzOjA6IiI7czozMDoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfbG9vcF8yIjtzOjA6IiI7czozNDoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfY2F0X2dyaWRfMSI7czowOiIiO3M6MzQ6InRkc19jYXRlZ29yeV90ZGJfbW9kdWxlX2NhdF9ncmlkXzIiO3M6MDoiIjtzOjM0OiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9jYXRfZ3JpZF8zIjtzOjA6IiI7czo0MDoidGRzX2NhdGVnb3J5X3RkYl9tb2R1bGVfY2F0X2dyaWRfMV9lbXB0eSI7czowOiIiO3M6NDA6InRkc19jYXRlZ29yeV90ZGJfbW9kdWxlX2NhdF9ncmlkXzJfZW1wdHkiO3M6MDoiIjtzOjQwOiJ0ZHNfY2F0ZWdvcnlfdGRiX21vZHVsZV9jYXRfZ3JpZF8zX2VtcHR5IjtzOjA6IiI7czoyNzoidGRiX21vZHVsZV9tbV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyOToidGRiX21vZHVsZV9tbV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjMxOiJ0ZGJfbW9kdWxlX3NlYXJjaF90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMzoidGRiX21vZHVsZV9zZWFyY2hfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozMjoidGRiX21vZHVsZV9yZWxhdGVkX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM0OiJ0ZGJfbW9kdWxlX3JlbGF0ZWRfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozOToidGRiX21vZHVsZV9yZWxhdGVkX3NhbXBsZV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czo0MToidGRiX21vZHVsZV9yZWxhdGVkX3NhbXBsZV9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjI5OiJ0ZGJfbW9kdWxlX2xvb3BfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzE6InRkYl9tb2R1bGVfbG9vcF9jb250ZW50X2V4Y2VycHQiO3M6MDoiIjtzOjMxOiJ0ZGJfbW9kdWxlX2xvb3BfMl90aXRsZV9leGNlcnB0IjtzOjA6IiI7czozMzoidGRiX21vZHVsZV9sb29wXzJfY29udGVudF9leGNlcnB0IjtzOjA6IiI7czozNToidGRiX21vZHVsZV9jYXRfZ3JpZF8xX3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjM1OiJ0ZGJfbW9kdWxlX2NhdF9ncmlkXzJfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6MzU6InRkYl9tb2R1bGVfY2F0X2dyaWRfM190aXRsZV9leGNlcnB0IjtzOjA6IiI7czo0MToidGRiX21vZHVsZV9jYXRfZ3JpZF8xX2VtcHR5X3RpdGxlX2V4Y2VycHQiO3M6MDoiIjtzOjQxOiJ0ZGJfbW9kdWxlX2NhdF9ncmlkXzJfZW1wdHlfdGl0bGVfZXhjZXJwdCI7czowOiIiO3M6NDE6InRkYl9tb2R1bGVfY2F0X2dyaWRfM19lbXB0eV90aXRsZV9leGNlcnB0IjtzOjA6IiI7czoyMToidGRiX3BfYXV0b2xvYWRfc3RhdHVzIjtzOjM6Im9mZiI7czoxOToidGRiX3BfYXV0b2xvYWRfdHlwZSI7czowOiIiO3M6MjA6InRkYl9wX2F1dG9sb2FkX2NvdW50IjtzOjA6IiI7czoyOToidGRiX3BfYXV0b2xvYWRfc2Nyb2xsX3BlcmNlbnQiO3M6MDoiIjtzOjExOiJ0ZGNfc2F2aW5ncyI7YTozOntzOjEyOiJyZWNlbnRDb2xvcnMiO2E6MjI6e2k6MDtzOjEyOiJJaU15TWpJeU1qSWkiO2k6MTtzOjEyOiJJaU14WlRjelltVWkiO2k6MjtzOjEyOiJJaU13TmpFd04yTWkiO2k6MztzOjEyOiJJaU01TVRreE9URWkiO2k6NDtzOjEyOiJJaU15TmpabVpXWWkiO2k6NTtzOjEyOiJJaU16WVROaE0yRWkiO2k6NjtzOjEyOiJJaU16WkROa00yUWkiO2k6NztzOjEyOiJJaU00T0RnNE9EZ2kiO2k6ODtzOjEyOiJJaU5pWTJKalltTWkiO2k6OTtzOjEyOiJJaU5qWlRrd056a2kiO2k6MTA7czozMjoiSW5KblltRW9NallzTXpVc01USTJMREF1TXpncElnPT0iO2k6MTE7czoxMjoiSWlOak9XTTVZemtpIjtpOjEyO3M6MTI6IklpTTVNRGsxT1dJaSI7aToxMztzOjEyOiJJaU5sWVdWaFpXRWkiO2k6MTQ7czoyODoiSW5aaGNpZ3RMV0ZqWTJWdWRDMWpiMnh2Y2lraSI7aToxNTtzOjEyOiJJaU16TVdRMllXRWkiO2k6MTY7czoxMjoiSWlNd01EVTNaV1lpIjtpOjE3O3M6MTI6IklpTXdNREJoTjJNaSI7aToxODtzOjEyOiJJaU14WlRGbE1XVWkiO2k6MTk7czoxMjoiSWlObVptWm1abVlpIjtpOjIwO3M6MTI6IklpTXdNREF3TURBaSI7aToyMTtzOjEyOiJJaU14WVRJek4yVWkiO31zOjExOiJyZWNlbnRGb250cyI7YTo1OntpOjA7czozOiI1MjEiO2k6MTtzOjE6IjEiO2k6MjtzOjM6IjkxNCI7aTozO3M6MDoiIjtpOjQ7czozOiI3NDIiO31zOjU6ImZvbnRzIjthOjE6e2k6MDthOjI6e3M6NDoibmFtZSI7czoxNjoiQXRoaXRpICsgU2FyYWJ1biI7czo1OiJ2YWx1ZSI7czoyNDA6ImV5Sm1iMjUwWDJaaGJXbHNlU0k2SWpjME1pSXNJbVp2Ym5SZmMybDZaU0k2SW1WNVNtaGlSM2RwVDJsSmVrMTVTWE5KYmtKdllqSTFiRWxxYjJsTmFsRnBURU5LYzFsWE5XdGpNazVvWTBkVmFVOXBTWGxQUTBselNXNUNkbU51VW5sWlYyd3dTV3B2YVUxcVVXbG1VVDA5SWl3aVptOXVkRjkzWldsbmFIUWlPaUkyTURBaUxDSm1iMjUwWDNOd1lXTnBibWNpT2lJdE1TSXNJbVp2Ym5SZmRISmhibk5tYjNKdElqb2libTl1WlNKOSI7fX19czo3OiJ0ZG1fYW1wIjtzOjM6ImFtcCI7czoyNjoidGRzX2Rpc2FibGVfYXJ0aWNsZV9zY2hlbWEiO3M6NDoiaGlkZSI7czoxNjoidGRiXzQwNF90ZW1wbGF0ZSI7czoxNzoidGRiX3RlbXBsYXRlXzY0MjkiO3M6MTc6InRkYl9kYXRlX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjYyOCI7czoyMzoidGRiX2F0dGFjaG1lbnRfdGVtcGxhdGUiO3M6MTc6InRkYl90ZW1wbGF0ZV82NjUyIjtzOjE5OiJ0ZGJfYXV0aG9yX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjQ5NSI7czoyMDoidGRiX2F1dGhvcl90ZW1wbGF0ZXMiO2E6Mjp7aToxO3M6MDoiIjtpOjI7czowOiIiO31zOjE5OiJ0ZGJfc2VhcmNoX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfNjU1NyI7czoxNjoidGRiX3RhZ190ZW1wbGF0ZSI7czoxNzoidGRiX3RlbXBsYXRlXzY2MzUiO3M6MjE6InRkc19jb250ZW50X3RvcF90aXRsZSI7czowOiIiO3M6MjQ6InRkc19jb250ZW50X2lubGluZV90aXRsZSI7czowOiIiO3M6MjM6InRkc19pbmxpbmVfYWRfcGFyYWdyYXBoIjtzOjA6IiI7czoxOToidGRzX2lubGluZV9hZF9hbGlnbiI7czowOiIiO3M6MjA6InRkc19mb290ZXJfdG9wX3RpdGxlIjtzOjA6IiI7czoxODoidGRtX2Zyb250cGFnZV9ncmlkIjtzOjA6IiI7czoxNzoidGRtX2NhdGVnb3J5X2dyaWQiO3M6MDoiIjtzOjIxOiJ0ZG1fZ3JpZHNfcG9zdHNfbGltaXQiO3M6MDoiIjtzOjI5OiJ0ZG1fZnJvbnRwYWdlX2dyaWRfY2F0X2ZpbHRlciI7czowOiIiO3M6MjM6InRkbV9mcm9udHBhZ2VfZ3JpZF9zb3J0IjtzOjA6IiI7czo0MToidGRtX2Zyb250cGFnZV9sYXRlc3RfYXJ0aWNsZXNfcG9zdHNfbGltaXQiO3M6MDoiIjtzOjQyOiJ0ZG1fZnJvbnRwYWdlX2xhdGVzdF9hcnRpY2xlc19wb3N0c19vZmZzZXQiO3M6MDoiIjtzOjI1OiJ0ZHNfY2F0ZWdvcnlfbW9idWxlX21vYl8xIjtzOjA6IiI7czoyNToidGRzX2NhdGVnb3J5X21vYnVsZV9tb2JfMiI7czowOiIiO3M6MTY6InRkX3VwZGF0ZWRfZm9udHMiO2I6MTtzOjI3OiJ0aGVtZV91cGRhdGVfbGF0ZXN0X3ZlcnNpb24iO3M6ODU6InsiMTIuNy4xIjoiaHR0cHM6XC9cL2Nsb3VkLnRhZ2Rpdi5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjVcLzA0XC9OZXdzcGFwZXIuemlwIn0iO3M6MjE6InRoZW1lX3VwZGF0ZV92ZXJzaW9ucyI7czo0Mjk6Ilt7IjEyLjcuMSI6Imh0dHBzOlwvXC9jbG91ZC50YWdkaXYuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvTmV3c3BhcGVyLnppcCJ9LHsiMTIuNyI6Imh0dHBzOlwvXC9jbG91ZC50YWdkaXYuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wM1wvTmV3c3BhcGVyLnppcCJ9LHsiMTIuNi45IjoiaHR0cHM6XC9cL2Nsb3VkLnRhZ2Rpdi5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjVcLzAyXC9OZXdzcGFwZXIuemlwIn0seyIxMi42LjgiOiJodHRwczpcL1wvY2xvdWQudGFnZGl2LmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNFwvMDlcL05ld3NwYXBlci56aXAifSx7IjEyLjYuNyI6Imh0dHBzOlwvXC9jbG91ZC50YWdkaXYuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wOFwvTmV3c3BhcGVyLnppcCJ9XSI7czoyMzoidGhlbWVfdXBkYXRlX3RvX3ZlcnNpb24iO3M6MDoiIjtzOjM2OiJ0ZF90aGVtZV9kZWFjdGl2YXRlZF9jdXJyZW50X3BsdWdpbnMiO2E6Mjp7czoxMToidGQtY29tcG9zZXIiO3M6MzI6ImRlZjhlZGM0ZTEzZDk1YmRmNDk5NTNhOWRjZTJmNjA4IjtzOjE2OiJ0ZC1jbG91ZC1saWJyYXJ5IjtzOjMyOiJiMzM2NTJmMjUzNWQyZjM4MTJmNTllMzA2ZTI2MzAwZCI7fXM6MTU6ImZpcnN0aW5zdGFsbE1vYiI7czoyMDoibW9iaWxldGhlbWVJbnN0YWxsZWQiO3M6MjQ6InRkc19sb2dvX21lbnVfdXBsb2FkX21vYiI7czo3NzoiaHR0cHM6Ly93cml0aW5nLmluLnRoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzEyL0xvZ28tRGVmYXVsdC1Nb2JpbGUtMjAxOC5wbmciO3M6MjY6InRkc19sb2dvX21lbnVfdXBsb2FkX3JfbW9iIjtzOjc2OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvTG9nby1SZXRpbmEtTW9iaWxlLTIwMTgucG5nIjtzOjE2OiJ0ZHNfbG9nb19hbHRfbW9iIjtzOjE1OiJXcml0aW5nIGluIFRoYWkiO3M6MTg6InRkc19sb2dvX3RpdGxlX21vYiI7czoxNToiV3JpdGluZyBpbiBUaGFpIjtzOjE0OiJ0ZHNfZm9vdGVyX21vYiI7czowOiIiO3M6MjY6InRkc19mb290ZXJfbG9nb191cGxvYWRfbW9iIjtzOjc3OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvbG9nby13aGl0ZS10ZXh0LTI3Mi0yMDE4LnBuZyI7czozMzoidGRzX2Zvb3Rlcl9yZXRpbmFfbG9nb191cGxvYWRfbW9iIjtzOjc3OiJodHRwczovL3dyaXRpbmcuaW4udGgvd3AtY29udGVudC91cGxvYWRzLzIwMTgvMTIvbG9nby13aGl0ZS10ZXh0LTU0NC0yMDE4LnBuZyI7czoxOToidGRzX2Zvb3Rlcl90ZXh0X21vYiI7czo2NTE6IuC5hOC4o+C4l+C5jOC4leC4tOC5ieC4h+C4reC4tOC4meC5hOC4l+C4oiAoV3JpdGluZyBpbiBUaGFpKSDguYDguKfguYfguJrguKPguKfguJrguKPguKfguKHguILguYjguLLguKfguKrguLLguKMg4LiC4LmJ4Lit4Lih4Li54LilIOC5geC4peC4sOC4o+C4teC4p+C4tOC4pyDguYDguITguKPguLfguYjguK3guIfguYDguILguLXguKLguJnguKvguKXguLLguIHguKvguKXguLLguKLguJvguKPguLDguYDguKDguJcg4LmA4Lib4LmH4LiZ4LmB4Lir4Lil4LmI4LiH4LiC4LmJ4Lit4Lih4Li54Lil4LmD4Lir4LmJ4LiB4Lix4Lia4Lic4Li54LmJ4Lit4LmI4Liy4LiZ4LiX4Li14LmI4Liq4LiZ4LmD4LiIIOC5geC4peC4sOC4geC4s+C4peC4seC4h+C4leC4seC4lOC4quC4tOC4meC5g+C4iOC4l+C4teC5iOC4iOC4sOC4i+C4t+C5ieC4reC5gOC4hOC4o+C4t+C5iOC4reC4h+C5gOC4guC4teC4ouC4mSDguKPguKfguKHguJbguLbguIfguKPguLLguKLguIfguLLguJnguJ7guLTguYDguKjguKkg4Liq4Liy4Lij4LiwIOC4hOC4p+C4suC4oeC4o+C4ueC5iSDguJfguLXguYjguYDguIHguLXguYjguKLguKfguILguYnguK3guIcNCg0K4LiV4Li04LiU4LiV4LmI4Lit4LmA4Lij4Liy4LmE4LiU4LmJ4LiX4Li14LmIIGNvbnRhY3RAd3JpdGluZy5pbi50aCI7czoyMDoidGRzX2Zvb3Rlcl9lbWFpbF9tb2IiO3M6MDoiIjtzOjIzOiJ0ZHNfZm9vdGVyX2xvZ29fYWx0X21vYiI7czoxNToiV3JpdGluZyBpbiBUaGFpIjtzOjI1OiJ0ZHNfZm9vdGVyX2xvZ29fdGl0bGVfbW9iIjtzOjE1OiJXcml0aW5nIGluIFRoYWkiO3M6MjE6InRkc19mb290ZXJfc29jaWFsX21vYiI7czowOiIiO3M6MTg6InRkc19zdWJfZm9vdGVyX21vYiI7czowOiIiO3M6MjQ6InRkc19mb290ZXJfY29weXJpZ2h0X21vYiI7czozMDA6IuC4quC4h+C4p+C4meC4peC4tOC4guC4quC4tOC4l+C4mOC4tOC5jCDguJ4u4LioLjI1NjEtMjU2MiDguJfguLXguKHguIfguLLguJnguYTguKPguJfguYzguJXguLTguYnguIfguK3guLTguJnguYTguJfguKIg4Lir4LmJ4Liy4Lih4LiE4Lix4LiU4Lil4Lit4LiBIOC4l+C4s+C4i+C5ieC4syDguKvguKPguLfguK0g4LiU4Lix4LiU4LmB4Lib4Lil4LiH4Liq4LmI4Lin4LiZ4LmD4LiU4LmE4Lib4LmA4Lic4Lii4LmB4Lie4Lij4LmI4LmC4LiU4Lii4LmE4Lih4LmI4LmE4LiU4LmJ4Lij4Lix4Lia4Lit4LiZ4Li44LiN4Liy4LiVICI7czoyNjoidGRzX2Zvb3Rlcl9jb3B5X3N5bWJvbF9tb2IiO3M6MDoiIjtzOjE5OiJ0ZGJfZm9vdGVyX3RlbXBsYXRlIjtzOjE3OiJ0ZGJfdGVtcGxhdGVfODQxNSI7czoyMToidGRzX3ZpZGVvX3BsYXlpbmdfb25lIjtzOjA6IiI7czoyMjoidGRzX3ZpZGVvX3BhdXNlX2hpZGRlbiI7czowOiIiO3M6MTQ6InRkc192aWRlb19sYXp5IjtzOjA6IiI7czoxNjoidGRzX3ZpZGVvX3Njcm9sbCI7czowOiIiO3M6MTU6InRkc192aWRlb193aWR0aCI7czowOiIiO3M6MjA6InRkc192aWRlb19wb3NpdGlvbl92IjtzOjA6IiI7czoyMDoidGRzX3ZpZGVvX2Rpc3RhbmNlX3YiO3M6MDoiIjtzOjIwOiJ0ZHNfdmlkZW9fcG9zaXRpb25faCI7czowOiIiO3M6MjA6InRkc192aWRlb19kaXN0YW5jZV9oIjtzOjA6IiI7czoxNDoidGRzX3l0X2FwaV9rZXkiO3M6Mzk6IkFJemFTeUEtMHFyM1o3RWpibnNaNkhCR1Z4aHpCY180UDhNZUlnQSI7czoxNjoidGRfZm9udHNfZGVmYXVsdCI7YToxOntzOjEzOiJkZWZhdWx0X2ZvbnRzIjtzOjg6ImRpc2FibGVkIjt9czoxODoidGRzX21vZGFsX3ZpZGVvX2FkIjtzOjA6IiI7czoyNDoidGRzX21vZGFsX3ZpZGVvX2FkX3RpdGxlIjtzOjA6IiI7czoxNDoidGRzX2gxX29uX2xvZ28iO3M6MDoiIjtzOjE1OiJ0ZG1fc21hcnRsaXN0XzIiO3M6MDoiIjtzOjE3OiJ0ZGJfdGFnX3RlbXBsYXRlcyI7YToxOntzOjE3OiJ0ZGJfdGVtcGxhdGVfNjYzNSI7czowOiIiO31zOjExOiJ0ZHNfY2FwdGNoYSI7czowOiIiO3M6MjA6InRkc19jYXB0Y2hhX3NpdGVfa2V5IjtzOjQwOiI2TGR4VzVZVUFBQUFBTFdNeVNCZ1R0N19VdHcwYmN5WXctZ2l5NjhoIjtzOjIyOiJ0ZHNfY2FwdGNoYV9zZWNyZXRfa2V5IjtzOjQwOiI2TGR4VzVZVUFBQUFBTEZqVFctUUN6T0ZnTk9CMEs1MVBiemRmVDlRIjtzOjE3OiJ0ZHNfY2FwdGNoYV9zY29yZSI7czowOiIiO3M6MjY6InRkc19tb2RhbF92aWRlb19hZF9kaXNhYmxlIjtzOjA6IiI7czoxMDoidGRzX3RvX3RvcCI7czowOiIiO3M6MjA6InRkc190b190b3Bfb25fbW9iaWxlIjtzOjA6IiI7czoyMDoidGRzX3BhZ2VfbGF5b3V0X3NpemUiO3M6MDoiIjtzOjIyOiJnX21vYl91c2VfZ29vZ2xlX2ZvbnRzIjtzOjA6IiI7czoxMjoidGRfYm9keV9jb2RlIjtzOjA6IiI7czoxODoidGRzX2ZsaWNrcl9hcGlfa2V5IjtzOjA6IiI7czoyNjoidGRiX2hlYWRlcl90ZW1wbGF0ZV9tb2JpbGUiO3M6MTc6InRkYl90ZW1wbGF0ZV84MzkzIjtzOjI2OiJ0ZGJfZm9vdGVyX3RlbXBsYXRlX21vYmlsZSI7czoxNzoidGRiX3RlbXBsYXRlXzg0MDIiO3M6MjM6InRkX2ZiX2Nvbm5lY3RlZF9hY2NvdW50IjthOjY6e3M6MjE6ImZiX2xvZ2luX2FjY2Vzc190b2tlbiI7czoyNTI6IkVBQUMwdHdOOHdqUUJBSVpDZWozdlpDWkN4MUZveUtqYW82UHFDRjA4MW44Y3Myb0o5aEJaQkFRVVUzeGFSYjZKaDN6alhrWTR2OXZMSmZzOVpCQzAyREttVkRuWkNBTFpCZVdHbm1ScWRZaElMY2ZGM1pCQUZmd3FjQzhFYm9tVnFqQ0p4V3lxeUlMY0ZKbDJJT0lqRGxqbHdjdE5iZERpZFQ5RnJ5S3NQbUtaQWczWkExeHpVd0NpY3VyQ1RDODk4bVdHQktiS3ZINUJCYUVtbUZxYkp4cmxKOUk1VmdYeEllSmxQMXJraEozTFE4SHBsWEJJWkI5a0k4SSI7czozMjoiZmJfbG9naW5fYWNjZXNzX3Rva2VuX2V4cGlyZXNfaW4iO2k6Nzc3NTk5ODtzOjM1OiJmYl9sb2dpbl9hY2Nlc3NfdG9rZW5fZXhwaXJlc19pbl90cyI7aToxNjUxMjE2MjQ3O3M6MTI6ImFjY291bnRfdHlwZSI7czo4OiJidXNpbmVzcyI7czoxNToiZmJfYWNjb3VudF91c2VyIjthOjI6e3M6NDoibmFtZSI7czozMjoiUGF0cmFudW4gVGhhbml5YXZhcm4gTGltdWRvbXBvcm4iO3M6MTU6InByb2ZpbGVfcGljdHVyZSI7czoxMzg6Imh0dHBzOi8vcGxhdGZvcm0tbG9va2FzaWRlLmZic2J4LmNvbS9wbGF0Zm9ybS9wcm9maWxlcGljLz9hc2lkPTQ4MTU0NDMyNDg1MjA2NzgmaGVpZ2h0PTUwJndpZHRoPTUwJmV4dD0xNjQ2MDMyMjQ4Jmhhc2g9QWVTdmtMeWppNURuR0FualRLdyI7fXM6MjE6ImZiX2FjY291bnRfcGFnZXNfZGF0YSI7YToxOntpOjA7YTo4OntzOjI6ImlkIjtzOjE1OiI4MzM2MDg3MDM1MTQwMjUiO3M6NDoibmFtZSI7czo2MDoi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIC0gV3JpdGluZyBpbiBUaGFpIjtzOjg6InVzZXJuYW1lIjtzOjEzOiJ3cml0aW5naW50aGFpIjtzOjE1OiJmb2xsb3dlcnNfY291bnQiO2k6MjM3MztzOjU6Imxpa2VzIjtpOjIyNTM7czoxNToicHJvZmlsZV9waWN0dXJlIjtzOjQ1OToiaHR0cHM6Ly9zY29udGVudC5mYmtrOC0yLmZuYS5mYmNkbi5uZXQvdi90MS4xODE2OS0xL2NwMC9wNTB4NTAvMjg5NTkyMThfODM0MjAxNzIzNDU0NzIzXzY4MTE1NzA0MTg5NDE0OTI2NjRfbi5wbmc/X25jX2NhdD0xMDMmY2NiPTEtNSZfbmNfc2lkPWRiYjllNyZfbmNfZXVpMj1BZUdyTmZzNkQzY1AtZFc2S3h0M0oza2RYYnlTdzFyM0pPTmR2SkxEV3ZjazR5Qi1WZndKcHROb01PYzFxczlhUnZFcF8wYWR3S3dnWDd2djVFNFVtUTdfJl9uY19vaGM9My14eUgtV0w4Q2dBWDkwSy1UdiZfbmNfb2M9QVFrSW1DbTgzUUVHdXZwcTNmeWlTRUZ5ZGF6ckxaWUlHM3ZyQk1sYmpvYUZpZ3JNN0g5Mkphb0RhTEZ1N3ZIZEhiYyZfbmNfaHQ9c2NvbnRlbnQuZmJrazgtMi5mbmEmZWRtPUFHYUhYQUFFQUFBQSZvaD0wMF9BVF9oSWhiNl9tRS1DWURhTG9wbEQwaldSTUxxLXhja2JrdFppU1FLa1VfczdnJm9lPTYyMUJERTAwIjtzOjE3OiJwYWdlX2FjY2Vzc190b2tlbiI7czoyMTQ6IkVBQUMwdHdOOHdqUUJBSUcxenBTZEh6N2JSYXlJQjdleFRKS0FsNTI0MFpCTTlEM3ZoS0ZlWWU1TkRaQ3poV1ViNDRIVHlkS0RYajlRcGhaQ1pBUVlqQ2QzSW16REhoQXRGQlRhVW93bUJRb1VHVEJydk9pMXRhMVBLdnZ2bTc2SE04bUI5YlZ4YTBhMmFzck1aQ3h3c1ZmVEc2OEliWkNjTVpBWFpBbEZ1dlpDS3FwTlpBbGhVbERKQmZmWkI0emtsclNEajlRNmZqcDQ1ZGhmQVpEWkQiO3M6MjY6Imluc3RhZ3JhbV9idXNpbmVzc19hY2NvdW50IjthOjY6e3M6MjoiaWQiO3M6MTc6IjE3ODQxNDA3MjQ4MzQ1NDU4IjtzOjQ6Im5hbWUiO3M6NTg6IuC5hOC4o+C4l+C5jOC4leC4tOC5ieC4h+C4reC4tOC4meC5hOC4l+C4oiBXcml0aW5nIEluIFRoYWkiO3M6ODoidXNlcm5hbWUiO3M6MTM6IndyaXRpbmdpbnRoYWkiO3M6MTU6InByb2ZpbGVfcGljdHVyZSI7czozNzU6Imh0dHBzOi8vc2NvbnRlbnQuZmJrazgtMi5mbmEuZmJjZG4ubmV0L3YvdDUxLjI4ODUtMTUvMjg3NTM2OTNfMTg3MDE4NzI5NjMyNzI1OF80MjIzMTEyMTA2NTkwODYzMzYwX24uanBnP19uY19jYXQ9MTAzJmNjYj0xLTUmX25jX3NpZD04NmM3MTMmX25jX2V1aTI9QWVHMURyeGl5WWVwOUNZdGFqRVp3amRjcTgyeEdDMm5OWldyemJFWUxhYzFsWC05THR3UWd2NUFxTmMtODk3TE5QODNmTEhQSXdkYWdSUUFKZGhVd2pPeCZfbmNfb2hjPVU4LWV4dW5GNE9ZQVg5cXMtbUImX25jX2h0PXNjb250ZW50LmZia2s4LTIuZm5hJmVkbT1BTC0zWDhrRUFBQUEmb2g9MDBfQVQ4RElUaVB1N0lQaVA2b0dseXpFeU1JNWRFbHZHWHFQSkdZSEZNMGpoaW1DdyZvZT02MUY5RDBGRCI7czo5OiJmb2xsb3dlcnMiO2k6MTYwO3M6MTE6Im1lZGlhX2NvdW50IjtpOjc5O319fX1zOjMwOiJ0ZF9pbnN0YWdyYW1fYnVzaW5lc3NfYWNjb3VudHMiO2E6MTp7czo2MDoi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIC0gV3JpdGluZyBpbiBUaGFpIjthOjg6e3M6MTI6ImFjY291bnRfdHlwZSI7czo4OiJidXNpbmVzcyI7czoyOiJpZCI7czoxNzoiMTc4NDE0MDcyNDgzNDU0NTgiO3M6NDoibmFtZSI7czo1ODoi4LmE4Lij4LiX4LmM4LiV4Li04LmJ4LiH4Lit4Li04LiZ4LmE4LiX4LiiIFdyaXRpbmcgSW4gVGhhaSI7czo4OiJ1c2VybmFtZSI7czoxMzoid3JpdGluZ2ludGhhaSI7czoxNToicHJvZmlsZV9waWN0dXJlIjtzOjM3NToiaHR0cHM6Ly9zY29udGVudC5mYmtrOC0yLmZuYS5mYmNkbi5uZXQvdi90NTEuMjg4NS0xNS8yODc1MzY5M18xODcwMTg3Mjk2MzI3MjU4XzQyMjMxMTIxMDY1OTA4NjMzNjBfbi5qcGc/X25jX2NhdD0xMDMmY2NiPTEtNSZfbmNfc2lkPTg2YzcxMyZfbmNfZXVpMj1BZUcxRHJ4aXlZZXA5Q1l0YWpFWndqZGNxODJ4R0Mybk5aV3J6YkVZTGFjMWxYLTlMdHdRZ3Y1QXFOYy04OTdMTlA4M2ZMSFBJd2RhZ1JRQUpkaFV3ak94Jl9uY19vaGM9VTgtZXh1bkY0T1lBWDlxcy1tQiZfbmNfaHQ9c2NvbnRlbnQuZmJrazgtMi5mbmEmZWRtPUFMLTNYOGtFQUFBQSZvaD0wMF9BVDhESVRpUHU3SVBpUDZvR2x5ekV5TUk1ZEVsdkdYcVBKR1lIRk0wamhpbUN3Jm9lPTYxRjlEMEZEIjtzOjk6ImZvbGxvd2VycyI7aToxNjA7czoxMToibWVkaWFfY291bnQiO2k6Nzk7czoxNzoicGFnZV9hY2Nlc3NfdG9rZW4iO3M6MjE0OiJFQUFDMHR3Tjh3alFCQUlHMXpwU2RIejdiUmF5SUI3ZXhUSktBbDUyNDBaQk05RDN2aEtGZVllNU5EWkN6aFdVYjQ0SFR5ZEtEWGo5UXBoWkNaQVFZakNkM0ltekRIaEF0RkJUYVVvd21CUW9VR1RCcnZPaTF0YTFQS3Z2dm03NkhNOG1COWJWeGEwYTJhc3JNWkN4d3NWZlRHNjhJYlpDY01aQVhaQWxGdXZaQ0txcE5aQWxoVWxESkJmZlpCNHprbHJTRGo5UTZmanA0NWRoZkFaRFpEIjt9fXM6MzY6InRkX3VwZGF0ZWRfdGRfcG9zdHNfZm9ybV9zdWJtaXRfbWV0YSI7YjoxO3M6MjE6InRkc19sb2dvX3VwbG9hZF93aWR0aCI7aToyNzI7czoyMjoidGRzX2xvZ29fdXBsb2FkX2hlaWdodCI7aTo5MDtzOjI2OiJ0ZHNfbG9nb19tZW51X3VwbG9hZF93aWR0aCI7aToxNDA7czoyNzoidGRzX2xvZ29fbWVudV91cGxvYWRfaGVpZ2h0IjtpOjQ4O3M6Mjg6InRkc19mb290ZXJfbG9nb191cGxvYWRfd2lkdGgiO2k6MjcyO3M6Mjk6InRkc19mb290ZXJfbG9nb191cGxvYWRfaGVpZ2h0IjtpOjczO3M6MzA6InRkc19sb2dvX21lbnVfdXBsb2FkX21vYl93aWR0aCI7aToxNDA7czozMToidGRzX2xvZ29fbWVudV91cGxvYWRfbW9iX2hlaWdodCI7aTo0ODtzOjMyOiJ0ZHNfZm9vdGVyX2xvZ29fdXBsb2FkX21vYl93aWR0aCI7aToyNzI7czozMzoidGRzX2Zvb3Rlcl9sb2dvX3VwbG9hZF9tb2JfaGVpZ2h0IjtpOjczO3M6MjE6InRkc19sb2dvX3dpZHRoX2hlaWdodCI7YjoxO30=&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Pylintrc&amp;diff=391</id>
		<title>Pylintrc</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Pylintrc&amp;diff=391"/>
		<updated>2025-04-30T05:27:25Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: Created page with &amp;quot;&amp;lt;pre&amp;gt; # Adapted from Google Style Guide at #   https://google.github.io/styleguide/pyguide.html # and its Pylint-based from under Apache 2.0 Licence at #   https://google.gith...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
# Adapted from Google Style Guide at&lt;br /&gt;
#   https://google.github.io/styleguide/pyguide.html&lt;br /&gt;
# and its Pylint-based from under Apache 2.0 Licence at&lt;br /&gt;
#   https://google.github.io/styleguide/pylintrc&lt;br /&gt;
&lt;br /&gt;
[MASTER]&lt;br /&gt;
&lt;br /&gt;
# Files or directories to be skipped. They should be base names, not paths.&lt;br /&gt;
ignore=third_party&lt;br /&gt;
&lt;br /&gt;
# Files or directories matching the regex patterns are skipped. The regex&lt;br /&gt;
# matches against base names, not paths.&lt;br /&gt;
ignore-patterns=&lt;br /&gt;
&lt;br /&gt;
# Pickle collected data for later comparisons.&lt;br /&gt;
persistent=no&lt;br /&gt;
&lt;br /&gt;
# List of plugins (as comma separated values of python modules names) to load,&lt;br /&gt;
# usually to register additional checkers.&lt;br /&gt;
load-plugins=&lt;br /&gt;
&lt;br /&gt;
# Use multiple processes to speed up Pylint.&lt;br /&gt;
jobs=4&lt;br /&gt;
&lt;br /&gt;
# Allow loading of arbitrary C extensions. Extensions are imported into the&lt;br /&gt;
# active Python interpreter and may run arbitrary code.&lt;br /&gt;
unsafe-load-any-extension=no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[MESSAGES CONTROL]&lt;br /&gt;
&lt;br /&gt;
# Only show warnings with the listed confidence levels. Leave empty to show&lt;br /&gt;
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED&lt;br /&gt;
confidence=&lt;br /&gt;
&lt;br /&gt;
# Enable the message, report, category or checker with the given id(s). You can&lt;br /&gt;
# either give multiple identifier separated by comma (,) or put this option&lt;br /&gt;
# multiple time (only on the command line, not in the configuration file where&lt;br /&gt;
# it should appear only once). See also the &amp;quot;--disable&amp;quot; option for examples.&lt;br /&gt;
#enable=&lt;br /&gt;
&lt;br /&gt;
# Disable the message, report, category or checker with the given id(s). You&lt;br /&gt;
# can either give multiple identifiers separated by comma (,) or put this&lt;br /&gt;
# option multiple times (only on the command line, not in the configuration&lt;br /&gt;
# file where it should appear only once).You can also use &amp;quot;--disable=all&amp;quot; to&lt;br /&gt;
# disable everything first and then reenable specific checks. For example, if&lt;br /&gt;
# you want to run only the similarities checker, you can use &amp;quot;--disable=all&lt;br /&gt;
# --enable=similarities&amp;quot;. If you want to run only the classes checker, but have&lt;br /&gt;
# no Warning level messages displayed, use&amp;quot;--disable=all --enable=classes&lt;br /&gt;
# --disable=W&amp;quot;&lt;br /&gt;
disable=no-absolute-import,&lt;br /&gt;
        missing-function-docstring,&lt;br /&gt;
        round-builtin,&lt;br /&gt;
        old-division,&lt;br /&gt;
        invalid-name,&lt;br /&gt;
        broad-except,&lt;br /&gt;
        logging-fstring-interpolation,&lt;br /&gt;
        protected-access,&lt;br /&gt;
        import-error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[REPORTS]&lt;br /&gt;
&lt;br /&gt;
# Set the output format. Available formats are text, parseable, colorized, msvs&lt;br /&gt;
# (visual studio) and html. You can also give a reporter class, eg&lt;br /&gt;
# mypackage.mymodule.MyReporterClass.&lt;br /&gt;
output-format=text&lt;br /&gt;
&lt;br /&gt;
# Tells whether to display a full report or only the messages&lt;br /&gt;
reports=no&lt;br /&gt;
&lt;br /&gt;
# Python expression which should return a note less than 10 (10 is the highest&lt;br /&gt;
# note). You have access to the variables errors warning, statement which&lt;br /&gt;
# respectively contain the number of errors / warnings messages and the total&lt;br /&gt;
# number of statements analyzed. This is used by the global evaluation report&lt;br /&gt;
# (RP0004).&lt;br /&gt;
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)&lt;br /&gt;
&lt;br /&gt;
# Template used to display messages. This is a python new-style format string&lt;br /&gt;
# used to format the message information. See doc for all details&lt;br /&gt;
#msg-template=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[BASIC]&lt;br /&gt;
&lt;br /&gt;
# Good variable names which should always be accepted, separated by a comma&lt;br /&gt;
good-names=main,_&lt;br /&gt;
&lt;br /&gt;
# Bad variable names which should always be refused, separated by a comma&lt;br /&gt;
bad-names=&lt;br /&gt;
&lt;br /&gt;
# Colon-delimited sets of names that determine each other's naming style when&lt;br /&gt;
# the name regexes allow several styles.&lt;br /&gt;
name-group=&lt;br /&gt;
&lt;br /&gt;
# Include a hint for the correct naming format with invalid-name&lt;br /&gt;
include-naming-hint=no&lt;br /&gt;
&lt;br /&gt;
# List of decorators that produce properties, such as abc.abstractproperty. Add&lt;br /&gt;
# to this list to register other decorators that produce valid properties.&lt;br /&gt;
property-classes=abc.abstractproperty,cached_property.cached_property,cached_property.threaded_cached_property,cached_property.cached_property_with_ttl,cached_property.threaded_cached_property_with_ttl&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct function names&lt;br /&gt;
function-rgx=^(?:(?P&amp;lt;exempt&amp;gt;setUp|tearDown|setUpModule|tearDownModule)|(?P&amp;lt;camel_case&amp;gt;_?[A-Z][a-zA-Z0-9]*)|(?P&amp;lt;snake_case&amp;gt;_?[a-z][a-z0-9_]*))$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct variable names&lt;br /&gt;
variable-rgx=^[a-z][a-z0-9_]*$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct constant names&lt;br /&gt;
const-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct attribute names&lt;br /&gt;
attr-rgx=^_{0,2}[a-z][a-z0-9_]*$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct argument names&lt;br /&gt;
argument-rgx=^[a-z][a-z0-9_]*$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct class attribute names&lt;br /&gt;
class-attribute-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct inline iteration names&lt;br /&gt;
inlinevar-rgx=^[a-z][a-z0-9_]*$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct class names&lt;br /&gt;
class-rgx=^_?[A-Z][a-zA-Z0-9]*$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct module names&lt;br /&gt;
module-rgx=^(_?[a-z][a-z0-9_]*|__init__)$&lt;br /&gt;
&lt;br /&gt;
# Regular expression matching correct method names&lt;br /&gt;
method-rgx=(?x)^(?:(?P&amp;lt;exempt&amp;gt;_[a-z0-9_]+__|runTest|setUp|tearDown|setUpTestCase|tearDownTestCase|setupSelf|tearDownClass|setUpClass|(test|assert)_*[A-Z0-9][a-zA-Z0-9_]*|next)|(?P&amp;lt;camel_case&amp;gt;_{0,2}[A-Z][a-zA-Z0-9_]*)|(?P&amp;lt;snake_case&amp;gt;_{0,2}[a-z][a-z0-9_]*))$&lt;br /&gt;
&lt;br /&gt;
# Regular expression which should only match function or class names that do&lt;br /&gt;
# not require a docstring.&lt;br /&gt;
no-docstring-rgx=(__.*__|main|test.*|.*test|.*Test)$&lt;br /&gt;
&lt;br /&gt;
# Minimum line length for functions/classes that require docstrings, shorter&lt;br /&gt;
# ones are exempt.&lt;br /&gt;
docstring-min-length=10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[TYPECHECK]&lt;br /&gt;
&lt;br /&gt;
# List of decorators that produce context managers, such as&lt;br /&gt;
# contextlib.contextmanager. Add to this list to register other decorators that&lt;br /&gt;
# produce valid context managers.&lt;br /&gt;
contextmanager-decorators=contextlib.contextmanager,contextlib2.contextmanager&lt;br /&gt;
&lt;br /&gt;
# Tells whether missing members accessed in mixin class should be ignored. A&lt;br /&gt;
# mixin class is detected if its name ends with &amp;quot;mixin&amp;quot; (case insensitive).&lt;br /&gt;
ignore-mixin-members=yes&lt;br /&gt;
&lt;br /&gt;
# List of module names for which member attributes should not be checked&lt;br /&gt;
# (useful for modules/projects where namespaces are manipulated during runtime&lt;br /&gt;
# and thus existing member attributes cannot be deduced by static analysis. It&lt;br /&gt;
# supports qualified module names, as well as Unix pattern matching.&lt;br /&gt;
ignored-modules=&lt;br /&gt;
&lt;br /&gt;
# List of class names for which member attributes should not be checked (useful&lt;br /&gt;
# for classes with dynamically set attributes). This supports the use of&lt;br /&gt;
# qualified names.&lt;br /&gt;
ignored-classes=optparse.Values,thread._local,_thread._local&lt;br /&gt;
&lt;br /&gt;
# List of members which are set dynamically and missed by pylint inference&lt;br /&gt;
# system, and so shouldn't trigger E1101 when accessed. Python regular&lt;br /&gt;
# expressions are accepted.&lt;br /&gt;
generated-members=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[FORMAT]&lt;br /&gt;
&lt;br /&gt;
# Maximum number of characters on a single line.&lt;br /&gt;
max-line-length=80&lt;br /&gt;
&lt;br /&gt;
# TODO(https://github.com/PyCQA/pylint/issues/3352): Direct pylint to exempt&lt;br /&gt;
# lines made too long by directives to pytype.&lt;br /&gt;
&lt;br /&gt;
# Regexp for a line that is allowed to be longer than the limit.&lt;br /&gt;
ignore-long-lines=(?x)(&lt;br /&gt;
  ^\s*(\#\ )?&amp;lt;?https?://\S+&amp;gt;?$|&lt;br /&gt;
  ^\s*(from\s+\S+\s+)?import\s+.+$)&lt;br /&gt;
&lt;br /&gt;
# Allow the body of an if to be on the same line as the test if there is no&lt;br /&gt;
# else.&lt;br /&gt;
single-line-if-stmt=yes&lt;br /&gt;
&lt;br /&gt;
# Maximum number of lines in a module&lt;br /&gt;
max-module-lines=99999&lt;br /&gt;
&lt;br /&gt;
# String used as indentation unit.  The internal Google style guide mandates 2&lt;br /&gt;
# spaces.  Google's externaly-published style guide says 4, consistent with&lt;br /&gt;
# PEP 8.  Here, we use 4 spaces.&lt;br /&gt;
# Number of spaces of indent required inside a hanging  or continued line.&lt;br /&gt;
indent-after-paren=4&lt;br /&gt;
&lt;br /&gt;
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.&lt;br /&gt;
expected-line-ending-format=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[MISCELLANEOUS]&lt;br /&gt;
&lt;br /&gt;
# List of note tags to take in consideration, separated by a comma.&lt;br /&gt;
notes=TODO&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[STRING]&lt;br /&gt;
&lt;br /&gt;
# This flag controls whether inconsistent-quotes generates a warning when the&lt;br /&gt;
# character used as a quote delimiter is used inconsistently within a module.&lt;br /&gt;
check-quote-consistency=yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[VARIABLES]&lt;br /&gt;
&lt;br /&gt;
# Tells whether we should check for unused import in __init__ files.&lt;br /&gt;
init-import=no&lt;br /&gt;
&lt;br /&gt;
# A regular expression matching the name of dummy variables (i.e. expectedly&lt;br /&gt;
# not used).&lt;br /&gt;
dummy-variables-rgx=^\*{0,2}(_$|unused_|dummy_)&lt;br /&gt;
&lt;br /&gt;
# List of additional names supposed to be defined in builtins. Remember that&lt;br /&gt;
# you should avoid to define new builtins when possible.&lt;br /&gt;
additional-builtins=&lt;br /&gt;
&lt;br /&gt;
# List of strings which can identify a callback function by name. A callback&lt;br /&gt;
# name must start or end with one of those strings.&lt;br /&gt;
callbacks=cb_,_cb&lt;br /&gt;
&lt;br /&gt;
# List of qualified module names which can have objects that can redefine&lt;br /&gt;
# builtins.&lt;br /&gt;
redefining-builtins-modules=six,six.moves,past.builtins,future.builtins,functools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[LOGGING]&lt;br /&gt;
&lt;br /&gt;
# Logging modules to check that the string format arguments are in logging&lt;br /&gt;
# function parameter format&lt;br /&gt;
logging-modules=logging,absl.logging,tensorflow.io.logging&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[SIMILARITIES]&lt;br /&gt;
&lt;br /&gt;
# Minimum lines number of a similarity.&lt;br /&gt;
min-similarity-lines=4&lt;br /&gt;
&lt;br /&gt;
# Ignore comments when computing similarities.&lt;br /&gt;
ignore-comments=yes&lt;br /&gt;
&lt;br /&gt;
# Ignore docstrings when computing similarities.&lt;br /&gt;
ignore-docstrings=yes&lt;br /&gt;
&lt;br /&gt;
# Ignore imports when computing similarities.&lt;br /&gt;
ignore-imports=no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[SPELLING]&lt;br /&gt;
&lt;br /&gt;
# Spelling dictionary name. Available dictionaries: none. To make it working&lt;br /&gt;
# install python-enchant package.&lt;br /&gt;
spelling-dict=&lt;br /&gt;
&lt;br /&gt;
# List of comma separated words that should not be checked.&lt;br /&gt;
spelling-ignore-words=&lt;br /&gt;
&lt;br /&gt;
# A path to a file that contains private dictionary; one word per line.&lt;br /&gt;
spelling-private-dict-file=&lt;br /&gt;
&lt;br /&gt;
# Tells whether to store unknown words to indicated private dictionary in&lt;br /&gt;
# --spelling-private-dict-file option instead of raising a message.&lt;br /&gt;
spelling-store-unknown-words=no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[IMPORTS]&lt;br /&gt;
&lt;br /&gt;
# Deprecated modules which should not be used, separated by a comma&lt;br /&gt;
deprecated-modules=regsub,&lt;br /&gt;
                   TERMIOS,&lt;br /&gt;
                   Bastion,&lt;br /&gt;
                   rexec,&lt;br /&gt;
                   sets&lt;br /&gt;
&lt;br /&gt;
# Create a graph of every (i.e. internal and external) dependencies in the&lt;br /&gt;
# given file (report RP0402 must not be disabled)&lt;br /&gt;
import-graph=&lt;br /&gt;
&lt;br /&gt;
# Create a graph of external dependencies in the given file (report RP0402 must&lt;br /&gt;
# not be disabled)&lt;br /&gt;
ext-import-graph=&lt;br /&gt;
&lt;br /&gt;
# Create a graph of internal dependencies in the given file (report RP0402 must&lt;br /&gt;
# not be disabled)&lt;br /&gt;
int-import-graph=&lt;br /&gt;
&lt;br /&gt;
# Force import order to recognize a module as part of the standard&lt;br /&gt;
# compatibility libraries.&lt;br /&gt;
known-standard-library=&lt;br /&gt;
&lt;br /&gt;
# Force import order to recognize a module as part of a third party library.&lt;br /&gt;
known-third-party=enchant, absl&lt;br /&gt;
&lt;br /&gt;
# Analyse import fallback blocks. This can be used to support both Python 2 and&lt;br /&gt;
# 3 compatible code, which means that the block might have code that exists&lt;br /&gt;
# only in one or another interpreter, leading to false positives when analysed.&lt;br /&gt;
analyse-fallback-blocks=no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[CLASSES]&lt;br /&gt;
&lt;br /&gt;
# List of method names used to declare (i.e. assign) instance attributes.&lt;br /&gt;
defining-attr-methods=__init__,&lt;br /&gt;
                      __new__,&lt;br /&gt;
                      setUp&lt;br /&gt;
&lt;br /&gt;
# List of member names, which should be excluded from the protected access&lt;br /&gt;
# warning.&lt;br /&gt;
exclude-protected=_asdict,&lt;br /&gt;
                  _fields,&lt;br /&gt;
                  _replace,&lt;br /&gt;
                  _source,&lt;br /&gt;
                  _make&lt;br /&gt;
&lt;br /&gt;
# List of valid names for the first argument in a class method.&lt;br /&gt;
valid-classmethod-first-arg=cls,&lt;br /&gt;
                            class_&lt;br /&gt;
&lt;br /&gt;
# List of valid names for the first argument in a metaclass class method.&lt;br /&gt;
valid-metaclass-classmethod-first-arg=mcs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[EXCEPTIONS]&lt;br /&gt;
&lt;br /&gt;
# Exceptions that will emit a warning when being caught. Defaults to&lt;br /&gt;
# &amp;quot;Exception&amp;quot;&lt;br /&gt;
overgeneral-exceptions=StandardError,&lt;br /&gt;
                       Exception,&lt;br /&gt;
                       BaseException&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=390</id>
		<title>Home Automation/Hass with Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=390"/>
		<updated>2025-04-25T06:19:44Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just replace Node-RED image with the vanilla one if you are not installing extra NPM libs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3.2'&lt;br /&gt;
&lt;br /&gt;
volumes:&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
  hass:&lt;br /&gt;
  nodered:&lt;br /&gt;
  hass_media:&lt;br /&gt;
    &lt;br /&gt;
services:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
    image: eclipse-mosquitto:2.0.18&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - mosquitto:/mosquitto/config&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
    image: koenkk/zigbee2mqtt:2.2.1&lt;br /&gt;
    volumes:&lt;br /&gt;
      - zigbee2mqtt:/app/data&lt;br /&gt;
      - /run/udev:/run/udev:ro&lt;br /&gt;
    devices:&lt;br /&gt;
      - /dev/serial/by-id/usb-1a86_USB_Single_Serial_5322028960-if00:/dev/ttyACM0&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    privileged: true&lt;br /&gt;
    environment:&lt;br /&gt;
      - TZ&lt;br /&gt;
  hass:&lt;br /&gt;
    image: homeassistant/home-assistant:2025.3.2&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - hass:/config&lt;br /&gt;
      - /etc/localtime:/etc/localtime&lt;br /&gt;
      - /run/dbus:/run/debus:ro&lt;br /&gt;
      - hass_media:/media&lt;br /&gt;
  node-red:&lt;br /&gt;
    image: srakrn/node-red-with-modules:20250420-it1&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - nodered:/data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then expose with Cloudflare Zero Trust:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3'&lt;br /&gt;
services:&lt;br /&gt;
  cftunnel:&lt;br /&gt;
    image: cloudflare/cloudflared&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    command: tunnel run&lt;br /&gt;
    environment:&lt;br /&gt;
      - TUNNEL_TOKEN=${TUNNEL_TOKEN}&lt;br /&gt;
    network_mode: &amp;quot;host&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=389</id>
		<title>Home Automation/Hass with Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=389"/>
		<updated>2025-04-25T06:15:14Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just replace Node-RED image with the vanilla one if you are not installing extra NPM libs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3.2'&lt;br /&gt;
&lt;br /&gt;
volumes:&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
  hass:&lt;br /&gt;
  nodered:&lt;br /&gt;
  hass_media:&lt;br /&gt;
    &lt;br /&gt;
services:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
    image: eclipse-mosquitto:2.0.18&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - mosquitto:/mosquitto/config&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
    image: koenkk/zigbee2mqtt:2.2.1&lt;br /&gt;
    volumes:&lt;br /&gt;
      - zigbee2mqtt:/app/data&lt;br /&gt;
      - /run/udev:/run/udev:ro&lt;br /&gt;
    devices:&lt;br /&gt;
      - /dev/serial/by-id/usb-1a86_USB_Single_Serial_5322028960-if00:/dev/ttyACM0&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    privileged: true&lt;br /&gt;
    environment:&lt;br /&gt;
      - TZ&lt;br /&gt;
  hass:&lt;br /&gt;
    image: homeassistant/home-assistant:2025.3.2&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - hass:/config&lt;br /&gt;
      - /etc/localtime:/etc/localtime&lt;br /&gt;
      - /run/dbus:/run/debus:ro&lt;br /&gt;
      - hass_media:/media&lt;br /&gt;
  node-red:&lt;br /&gt;
    image: srakrn/node-red-with-modules:20250420-it1&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - nodered:/data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=File:2025_Postcard_Landscape.png&amp;diff=388</id>
		<title>File:2025 Postcard Landscape.png</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=File:2025_Postcard_Landscape.png&amp;diff=388"/>
		<updated>2024-12-25T04:49:39Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=File:2025_Postcard_HugHug.png&amp;diff=387</id>
		<title>File:2025 Postcard HugHug.png</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=File:2025_Postcard_HugHug.png&amp;diff=387"/>
		<updated>2024-12-25T04:49:24Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=File:Postcard_landscape.PNG&amp;diff=386</id>
		<title>File:Postcard landscape.PNG</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=File:Postcard_landscape.PNG&amp;diff=386"/>
		<updated>2024-12-25T04:37:32Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=File:Postcard_hh.PNG&amp;diff=385</id>
		<title>File:Postcard hh.PNG</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=File:Postcard_hh.PNG&amp;diff=385"/>
		<updated>2024-12-25T04:37:19Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=384</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=384"/>
		<updated>2024-12-07T04:22:00Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
*** Or easier with this [https://gridfinity.perplexinglabs.com/ web tool]. Warning: size limit only to 512mm.&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
** BR&lt;br /&gt;
*** Powder table w26.4 d35.7 h11.5&lt;br /&gt;
*** bedside cabinet w32 d28 h13 (round down = 12)&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
** 2cm * 21cm * 0.5cm block for soap organiser + sponge drainer&lt;br /&gt;
* [https://makerworld.com/en/models/16470?from=search#profileId-15307 Dyson wall mount]&lt;br /&gt;
&lt;br /&gt;
=== HugHug ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=383</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=383"/>
		<updated>2024-12-07T04:21:43Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
*** Or easier with this [https://gridfinity.perplexinglabs.com/ web tool. Warning: size limit only to 512mm.&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
** BR&lt;br /&gt;
*** Powder table w26.4 d35.7 h11.5&lt;br /&gt;
*** bedside cabinet w32 d28 h13 (round down = 12)&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
** 2cm * 21cm * 0.5cm block for soap organiser + sponge drainer&lt;br /&gt;
* [https://makerworld.com/en/models/16470?from=search#profileId-15307 Dyson wall mount]&lt;br /&gt;
&lt;br /&gt;
=== HugHug ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=382</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=382"/>
		<updated>2024-12-07T01:25:03Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
** BR&lt;br /&gt;
*** Powder table w26.4 d35.7 h11.5&lt;br /&gt;
*** bedside cabinet w32 d28 h13 (round down = 12)&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
** 2cm * 21cm * 0.5cm block for soap organiser + sponge drainer&lt;br /&gt;
* [https://makerworld.com/en/models/16470?from=search#profileId-15307 Dyson wall mount]&lt;br /&gt;
&lt;br /&gt;
=== HugHug ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=381</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=381"/>
		<updated>2024-12-06T17:10:01Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
** BR&lt;br /&gt;
*** Powder table w26.4 d35.7 h11.5&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
** 2cm * 21cm * 0.5cm block for soap organiser + sponge drainer&lt;br /&gt;
* [https://makerworld.com/en/models/16470?from=search#profileId-15307 Dyson wall mount]&lt;br /&gt;
&lt;br /&gt;
=== HugHug ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=380</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=380"/>
		<updated>2024-12-06T17:07:15Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
** BR&lt;br /&gt;
*** Powder table 26.4 x 35.7 cm&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
** 2cm * 21cm * 0.5cm block for soap organiser + sponge drainer&lt;br /&gt;
* [https://makerworld.com/en/models/16470?from=search#profileId-15307 Dyson wall mount]&lt;br /&gt;
&lt;br /&gt;
=== HugHug ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=379</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=379"/>
		<updated>2024-12-03T06:58:18Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
** 2cm * 21cm * 0.5cm block for soap organiser + sponge drainer&lt;br /&gt;
* [https://makerworld.com/en/models/16470?from=search#profileId-15307 Dyson wall mount]&lt;br /&gt;
&lt;br /&gt;
=== HugHug ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=378</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=378"/>
		<updated>2024-12-03T05:45:45Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: /* Things to Print */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
** 2cm * 21cm * 0.5cm block for soap organiser + sponge drainer&lt;br /&gt;
* HugHug&lt;br /&gt;
** [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=377</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=377"/>
		<updated>2024-12-03T05:35:20Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
* Gridfinity (Max 6x6u base plate)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** [https://github.com/kennetek/gridfinity-rebuilt-openscad Parametric!]&lt;br /&gt;
** Kitchen&lt;br /&gt;
*** Under-stove drawer: w52 d35 h4.5-6.5 -&amp;gt; in units w12s d8s h6-7u&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
* HugHug&lt;br /&gt;
** [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=376</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=376"/>
		<updated>2024-12-03T04:40:43Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
* Gridfinity (พิมพ์ base plate ได้ใหญ่สุดทีละ 6x6u)&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
** [https://www.printables.com/model/262124-gridfinity-grid-for-kallax Base plate for Kallax]&lt;br /&gt;
** ลิ้นชักครัว w52 d35 h4.5-6.5 -&amp;gt; ทำได้ w12u d8u h6-7u ดีกว่า&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
* HugHug&lt;br /&gt;
** [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=375</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=375"/>
		<updated>2024-12-03T04:20:13Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;br /&gt;
* Gridfinity&lt;br /&gt;
** [https://www.printables.com/model/964722-lennart-ikea-gridfinity-baseplate Base plate for Lennart]&lt;br /&gt;
* Home&lt;br /&gt;
** [https://www.printables.com/model/332754-ikea-lennart-drawer-stopper Lennart stopper]&lt;br /&gt;
** [https://www.printables.com/model/816775-trash-bag-holder Trash bag holder]&lt;br /&gt;
* HugHug&lt;br /&gt;
** [https://www.thingiverse.com/thing:5226101 Poop bag holder]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=374</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=374"/>
		<updated>2024-12-03T04:16:06Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;br /&gt;
&lt;br /&gt;
* [https://www.printables.com/model/406762-bambu-lab-gear-removal-tool-extruder-clog-fix Extruder clog fixer]&lt;br /&gt;
** [https://wiki.bambulab.com/en/x1/troubleshooting/extruder-clog Guide]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=373</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=373"/>
		<updated>2024-12-03T04:15:17Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz: Jayanam, short easy&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S: MangoJelly Solutions for FreeCAD, more in detail&lt;br /&gt;
&lt;br /&gt;
== Things to Print ==&lt;br /&gt;
&lt;br /&gt;
=== P1S Specific ===&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=372</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=372"/>
		<updated>2024-12-03T04:14:45Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== CAD Learning ==&lt;br /&gt;
&lt;br /&gt;
* FreeCAD&lt;br /&gt;
** https://www.youtube.com/watch?v=sxnij3CkkdU&amp;amp;list=PLboXykqtm8dwHnsQ4u-pH6dHClmjSDoEz&lt;br /&gt;
** https://www.youtube.com/watch?v=t_yh_S31R9g&amp;amp;list=PLWuyJLVUNtc3UYXXfSglVpfWdX31F-e5S&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=371</id>
		<title>3D Printing</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=3D_Printing&amp;diff=371"/>
		<updated>2024-12-03T04:13:31Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%9E%E0%B8%B4%E0%B8%A1%E0%B8%9E%E0%B9%8C%E0%B8%A1%E0%B8%B2%E0%B9%81%E0%B8%84%E0%B9%88_%22%E0%B8%AA%E0%B8%A7%E0%B8%B1%E0%B8%AA%E0%B8%94%E0%B8%B5%22&amp;diff=370</id>
		<title>อย่าพิมพ์มาแค่ &quot;สวัสดี&quot;</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%9E%E0%B8%B4%E0%B8%A1%E0%B8%9E%E0%B9%8C%E0%B8%A1%E0%B8%B2%E0%B9%81%E0%B8%84%E0%B9%88_%22%E0%B8%AA%E0%B8%A7%E0%B8%B1%E0%B8%AA%E0%B8%94%E0%B8%B5%22&amp;diff=370"/>
		<updated>2024-10-29T13:47:15Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''แปลและดัดแปลงจาก [https://sbmueller.github.io/nohello/ sbmueller.github.io/nohello/]''&lt;br /&gt;
&lt;br /&gt;
== สรุป ==&lt;br /&gt;
&lt;br /&gt;
คุณควรใช้ข้อความแชตเพื่อสื่อสาร ในลักษณะที่เป็นการประหยัดเวลาให้กับคู่สนทนาทุกคน และในลักษณะที่เป็นการสร้างการแลกเปลี่ยนข้อมูลที่มีประสิทธิภาพ และไม่ต้องรอให้ทุกคนว่างพร้อมกัน&lt;br /&gt;
&lt;br /&gt;
'''ถ้าพิมพ์ไปหาใครแค่ว่า &amp;quot;สวัสดี&amp;quot; ก็ไม่ควรคาดหวังให้อีกฝ่ายตอบข้อความกลับมา''' และหลีกเลี่ยงการโทรหาใครดื้อๆ&lt;br /&gt;
&lt;br /&gt;
วิธีการที่ดี คือส่งข้อความแชตที่มีข้อมูลมากพอ ที่คู่สนทนาจะสามารถอ่านข้อความของคุณในเวลาที่สะดวก แล้วตอบคำถามของคุณด้วยข้อมูลที่ครบถ้วนได้ทันที&lt;br /&gt;
&lt;br /&gt;
== การแชต ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2010-07-19 12:32:12 คุณ: สวัสดีครับ&lt;br /&gt;
2010-07-19 12:32:15 เพื่อนร่วมงาน: สวัสดีค่ะ&lt;br /&gt;
&lt;br /&gt;
## เพื่อนร่วมงานของคุณรอคุณพิมพ์คำถามกลับมาอย่างใจจดใจจ่อ&lt;br /&gt;
&lt;br /&gt;
2010-07-19 12:34:01 คุณ: พอดีมีงานที่ต้องทำ [อะไรบางอย่าง] เลยอยากรู้ว่า [คำถามที่จะถามเพื่อนร่วมงานตั้งแต่ทีแรก ฯลฯ...]&lt;br /&gt;
2010-07-19 12:35:21 เพื่อนร่วมงาน: อ๋อ คืองี้ค่ะ [คำตอบ...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
การพิมพ์แชตมาแค่ &amp;quot;สวัสดี&amp;quot; เหมือนกับการโทรหาใครสักคน พูดว่าสวัสดี แล้วก็ให้ปลายทางรอสายนั่นแหละ!&lt;br /&gt;
&lt;br /&gt;
ลองทำแบบนี้ดูดีกว่า&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2010-07-19 12:32:12 คุณ: สวัสดีครับ พอดีมีงานที่ต้องทำ [อะไรบางอย่าง] เลยอยากรู้ว่า [คำถามที่จะถามเพื่อนร่วมงานตั้งแต่ทีแรก ฯลฯ...]&lt;br /&gt;
2010-07-19 12:33:32 เพื่อนร่วมงาน: [ตอบคำถามให้คุณ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
คุณจะสังเกตว่าบทสนทนาของคุณรวดเร็วขึ้น คุณไม่ทำให้อีกฝ่ายต้องรอคุณ ตรงกันข้ามเลยคือคู่สนทนาของคุณสามารถเริ่มตอบคำถามของคุณได้ทันทีที่เห็นข้อความแรก!&lt;br /&gt;
&lt;br /&gt;
คุณทักไปแค่สวัสดีก่อน เพราะคุณอาจจะพยายามให้เกียรติคู่สนทนา ด้วยการไม่ผลีผลามถามคำถาม ซึ่งคุณอาจจะพยายามทำตัวเหมือนกับเวลาคุณคุยกับคู่สนทนางานตัวต่อตัวหรือผ่านโทรศัพท์อยู่ แต่ช่องแชตไม่เหมือนการสื่อสารตัวต่อตัวหรือการโทร กล่าวคือการพิมพ์ช้ากว่าการพูดมากๆ และแทนที่คุณจะให้เกียรติคู่สนทนา ผลลัพธ์ที่ได้คืออีกฝ่ายต้องรอคุณพิมพ์คำถามอีกรอบหนึ่ง ซึ่งหมายถึงประสิทธิภาพในการทำงานที่หายไป&lt;br /&gt;
&lt;br /&gt;
แน่นอนว่าการพิมพ์แค่ว่า &amp;quot;ทักครับ&amp;quot; &amp;quot;สวัสดีครับ อยู่ไหมเอ่ย&amp;quot; &amp;quot;สวัสดีค่ะ ขอถามคำถามไวๆ หน่อย&amp;quot; &amp;quot;ว่างไหมครับ&amp;quot; ฯลฯ โดยไม่พิมพ์คำถามมาเลย ไม่ต่างกัน&lt;br /&gt;
&lt;br /&gt;
'''วิธีแก้ปัญหาง่ายๆ คือพิมพ์คำถามมาเลยจะดีที่สุด'''&lt;br /&gt;
&lt;br /&gt;
ถ้าคุณรู้สึกว่าการพิมพ์ถามไปเลยดูห้วนไปหน่อย คุณลองออกตัวว่าจะรบกวนสักเล็กน้อย แล้วทิ้งคำถามไว้ก็ได้ เช่น&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2010-07-19 12:32:12 คุณ: สวัสดีครับ ถ้าว่างอยู่ขอรบกวนนิดนึงนะครับ -- พอดีมีงานที่ต้องทำ [อะไรบางอย่าง] แล้วก็เลยพยายามที่จะ [ฯลฯ...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
หัวใจหลัก คือการถามคำถามไปก่อนเลย ไม่ต้องรออีกฝั่งหนึ่งพร้อมตอบ ซึ่งช่วยให้บทสนทนาเกิดขึ้นได้ตลอดเวลา นอกจากนี้ ถ้าคุณพิมพ์คำถามไปหาคู่สนทนา แล้วคุณออฟไลน์ไปเสียก่อน คู่สนทนาก็ยังสามารถตอบคำถามของคุณได้ทีหลัง โดยไม่ต้องมานั่งเดาว่าคุณพิมพ์มาว่า &amp;quot;สวัสดี&amp;quot; ด้วยเรื่องอะไร&lt;br /&gt;
&lt;br /&gt;
== มารยาทในการโทร ==&lt;br /&gt;
&lt;br /&gt;
(รอแปลเพิ่ม)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''ลิงก์ย่อมายังบทความภาษาไทย (หน้านี้): [https://srakrn.me/to/nohelloth https://srakrn.me/to/nohelloth]''&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=369</id>
		<title>Notepad/20241012 Pantip Network Resolve</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=369"/>
		<updated>2024-10-11T17:14:08Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Test 1 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
❯ curl -o /dev/null -v https://pantip.com/&lt;br /&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br /&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 203.151.13.168:443...&lt;br /&gt;
* Connected to pantip.com (203.151.13.168) port 443 (#0)&lt;br /&gt;
* ALPN, offering h2&lt;br /&gt;
* ALPN, offering http/1.1&lt;br /&gt;
*  CAfile: /etc/ssl/certs/ca-certificates.crt&lt;br /&gt;
*  CApath: /etc/ssl/certs&lt;br /&gt;
* TLSv1.0 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [88 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Finished (20):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):&lt;br /&gt;
} [1 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Finished (20):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [187 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):&lt;br /&gt;
{ [19 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Certificate (11):&lt;br /&gt;
{ [4842 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, CERT verify (15):&lt;br /&gt;
{ [264 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Finished (20):&lt;br /&gt;
{ [52 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Finished (20):&lt;br /&gt;
} [52 bytes data]&lt;br /&gt;
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384&lt;br /&gt;
* ALPN, server accepted to use h2&lt;br /&gt;
* Server certificate:&lt;br /&gt;
*  subject: CN=pantip.com&lt;br /&gt;
*  start date: Oct  9 00:00:00 2024 GMT&lt;br /&gt;
*  expire date: Jan  7 23:59:59 2025 GMT&lt;br /&gt;
*  subjectAltName: host &amp;quot;pantip.com&amp;quot; matched cert's &amp;quot;pantip.com&amp;quot;&lt;br /&gt;
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA&lt;br /&gt;
*  SSL certificate verify ok.&lt;br /&gt;
* Using HTTP2, server supports multiplexing&lt;br /&gt;
* Connection state changed (HTTP/2 confirmed)&lt;br /&gt;
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* Using Stream ID: 1 (easy handle 0x555ffd1eaeb0)&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
&amp;gt; GET / HTTP/2&lt;br /&gt;
&amp;gt; Host: pantip.com&lt;br /&gt;
&amp;gt; user-agent: curl/7.81.0&lt;br /&gt;
&amp;gt; accept: */*&lt;br /&gt;
&amp;gt;&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* old SSL session ID is stale, removing&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
&amp;lt; HTTP/2 200&lt;br /&gt;
&amp;lt; server: bytex/1.24.0&lt;br /&gt;
&amp;lt; date: Fri, 11 Oct 2024 17:11:31 GMT&lt;br /&gt;
&amp;lt; content-type: text/html; charset=utf-8&lt;br /&gt;
&amp;lt; content-length: 159888&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; x-powered-by: Next.js&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7br3iX3ZbJ2iwRc; Domain=pantip.com; Path=/; Expires=Mon, 09 Oct 2034 17:11:27 GMT; HttpOnly; Secure; SameSite=None&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7br7iWcvc96PW3b; Domain=pantip.com; Path=/; Expires=Mon, 09 Oct 2034 17:11:31 GMT; HttpOnly; Secure; SameSite=None&lt;br /&gt;
&amp;lt; etag: &amp;quot;nl5f6428432tkb&amp;quot;&lt;br /&gt;
&amp;lt; cache-control: private, no-cache, no-store, max-age=0, must-revalidate&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; strict-transport-security: max-age=15768001; preload&lt;br /&gt;
&amp;lt; content-security-policy: upgrade-insecure-requests&lt;br /&gt;
&amp;lt;&lt;br /&gt;
{ [15866 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
100  156k  100  156k    0     0  36322      0  0:00:04  0:00:04 --:--:-- 38113&lt;br /&gt;
* Connection #0 to host pantip.com left intact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test 2 ==&lt;br /&gt;
&lt;br /&gt;
(Took very long time before TLS handshake logs)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
❯ curl -o /dev/null -v https://pantip.com/topic/43016660&lt;br /&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br /&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 203.151.13.167:443...&lt;br /&gt;
*   Trying 2001:c00:4618:cafe:1996::169:443...&lt;br /&gt;
* Immediate connect fail for 2001:c00:4618:cafe:1996::169: Network is unreachable&lt;br /&gt;
*   Trying 2001:c00:4618:cafe:1996::167:443...&lt;br /&gt;
* Immediate connect fail for 2001:c00:4618:cafe:1996::167: Network is unreachable&lt;br /&gt;
*   Trying 2001:c00:4618:cafe:1996::168:443...&lt;br /&gt;
* Immediate connect fail for 2001:c00:4618:cafe:1996::168: Network is unreachable&lt;br /&gt;
*   Trying 2001:c00:4618:cafe:1996::165:443...&lt;br /&gt;
* Immediate connect fail for 2001:c00:4618:cafe:1996::165: Network is unreachable&lt;br /&gt;
*   Trying 2001:c00:4618:cafe:1996::166:443...&lt;br /&gt;
* Immediate connect fail for 2001:c00:4618:cafe:1996::166: Network is unreachable&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:--  0:02:12 --:--:--     0* connect to 203.151.13.167 port 443 failed: Connection timed out&lt;br /&gt;
*   Trying 203.151.13.166:443...&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:--  0:02:13 --:--:--     0* Connected to pantip.com (203.151.13.166) port 443 (#0)&lt;br /&gt;
* ALPN, offering h2&lt;br /&gt;
* ALPN, offering http/1.1&lt;br /&gt;
*  CAfile: /etc/ssl/certs/ca-certificates.crt&lt;br /&gt;
*  CApath: /etc/ssl/certs&lt;br /&gt;
* TLSv1.0 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [88 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Finished (20):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):&lt;br /&gt;
} [1 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Finished (20):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [187 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):&lt;br /&gt;
{ [19 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Certificate (11):&lt;br /&gt;
{ [4842 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, CERT verify (15):&lt;br /&gt;
{ [264 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Finished (20):&lt;br /&gt;
{ [52 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Finished (20):&lt;br /&gt;
} [52 bytes data]&lt;br /&gt;
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384&lt;br /&gt;
* ALPN, server accepted to use h2&lt;br /&gt;
* Server certificate:&lt;br /&gt;
*  subject: CN=pantip.com&lt;br /&gt;
*  start date: Oct  9 00:00:00 2024 GMT&lt;br /&gt;
*  expire date: Jan  7 23:59:59 2025 GMT&lt;br /&gt;
*  subjectAltName: host &amp;quot;pantip.com&amp;quot; matched cert's &amp;quot;pantip.com&amp;quot;&lt;br /&gt;
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA&lt;br /&gt;
*  SSL certificate verify ok.&lt;br /&gt;
* Using HTTP2, server supports multiplexing&lt;br /&gt;
* Connection state changed (HTTP/2 confirmed)&lt;br /&gt;
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* Using Stream ID: 1 (easy handle 0x55c0a4505eb0)&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
&amp;gt; GET /topic/43016660 HTTP/2&lt;br /&gt;
&amp;gt; Host: pantip.com&lt;br /&gt;
&amp;gt; user-agent: curl/7.81.0&lt;br /&gt;
&amp;gt; accept: */*&lt;br /&gt;
&amp;gt;&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* old SSL session ID is stale, removing&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
&amp;lt; HTTP/2 200&lt;br /&gt;
&amp;lt; server: bytex/1.24.0&lt;br /&gt;
&amp;lt; date: Fri, 11 Oct 2024 17:13:29 GMT&lt;br /&gt;
&amp;lt; content-type: text/html&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; set-cookie: pantip_sessions=RCFqUWtExWysDxFV3PkBaYWIv0cpSD%2FIPbjEksOIiPxGzkki4o9kMJoxOE%2BjHP9EFoyNkekU%2BndVMaROZiHS9fuRZRQH8yOL3QC6%2FcaGZWs1EtMP57vO8XlEr7ALJJjeHNOh%2FT0PDuLPABE81yWUSMZLimcYANHg2hmqtk%2BT8rdLldWdxSehTRVxTb86ojdWFodU%2FcSf6S9LwpxKovwQJYy7It%2BcK3F7lbiuJu4ilrjzWW3mwfuZN402CqdSHoq2x%2Feybv86%2BikHK8F1uWOcMLiiOgcWKM5YhSfv7SKFe9g%3D; path=/&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7buh1z4lwBWvSGpK6q1; expires=Mon, 09-Oct-2034 17:13:29 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7buh1z4lwuSi6764rJC; expires=Mon, 09-Oct-2034 17:13:29 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: PHPSESSID=jb3ohmdjrpc029b15ruihpi4m7; path=/&lt;br /&gt;
&amp;lt; set-cookie: rlr=43016660; expires=Fri, 18-Oct-2024 17:13:29 GMT; Max-Age=604800; path=/; SameSite=None; secure; httponly&lt;br /&gt;
&amp;lt; x-frame-options: SAMEORIGIN&lt;br /&gt;
&amp;lt; expires: Tue, 01 Jan 2000 00:00:00 GMT&lt;br /&gt;
&amp;lt; last-modified: Fri, 11 Oct 2024 17:13:29 GMT&lt;br /&gt;
&amp;lt; cache-control: no-store, no-cache, must-revalidate, max-age=0&lt;br /&gt;
&amp;lt; cache-control: post-check=0, pre-check=0&lt;br /&gt;
&amp;lt; pragma: no-cache&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7buh1z4lw9C3hHcCzFY; expires=Mon, 09-Oct-2034 17:13:29 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; strict-transport-security: max-age=15768001; preload&lt;br /&gt;
&amp;lt; content-security-policy: upgrade-insecure-requests&lt;br /&gt;
&amp;lt;&lt;br /&gt;
{ [15290 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
100  168k    0  168k    0     0   1289      0 --:--:--  0:02:13 --:--:-- 41058&lt;br /&gt;
* Connection #0 to host pantip.com left intact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test 3 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
❯ curl -o /dev/null -v https://pantip.com/topic/43016660&lt;br /&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br /&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 203.151.13.165:443...&lt;br /&gt;
* Connected to pantip.com (203.151.13.165) port 443 (#0)&lt;br /&gt;
* ALPN, offering h2&lt;br /&gt;
* ALPN, offering http/1.1&lt;br /&gt;
*  CAfile: /etc/ssl/certs/ca-certificates.crt&lt;br /&gt;
*  CApath: /etc/ssl/certs&lt;br /&gt;
* TLSv1.0 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [88 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Finished (20):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):&lt;br /&gt;
} [1 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Finished (20):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [187 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):&lt;br /&gt;
{ [19 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Certificate (11):&lt;br /&gt;
{ [4842 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, CERT verify (15):&lt;br /&gt;
{ [264 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Finished (20):&lt;br /&gt;
{ [52 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Finished (20):&lt;br /&gt;
} [52 bytes data]&lt;br /&gt;
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384&lt;br /&gt;
* ALPN, server accepted to use h2&lt;br /&gt;
* Server certificate:&lt;br /&gt;
*  subject: CN=pantip.com&lt;br /&gt;
*  start date: Oct  9 00:00:00 2024 GMT&lt;br /&gt;
*  expire date: Jan  7 23:59:59 2025 GMT&lt;br /&gt;
*  subjectAltName: host &amp;quot;pantip.com&amp;quot; matched cert's &amp;quot;pantip.com&amp;quot;&lt;br /&gt;
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA&lt;br /&gt;
*  SSL certificate verify ok.&lt;br /&gt;
* Using HTTP2, server supports multiplexing&lt;br /&gt;
* Connection state changed (HTTP/2 confirmed)&lt;br /&gt;
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* Using Stream ID: 1 (easy handle 0x56097f3aaeb0)&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
&amp;gt; GET /topic/43016660 HTTP/2&lt;br /&gt;
&amp;gt; Host: pantip.com&lt;br /&gt;
&amp;gt; user-agent: curl/7.81.0&lt;br /&gt;
&amp;gt; accept: */*&lt;br /&gt;
&amp;gt;&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* old SSL session ID is stale, removing&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:--  0:01:02 --:--:--     0* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
&amp;lt; HTTP/2 200&lt;br /&gt;
&amp;lt; server: bytex/1.24.0&lt;br /&gt;
&amp;lt; date: Fri, 11 Oct 2024 17:13:20 GMT&lt;br /&gt;
&amp;lt; content-type: text/html; charset=UTF-8&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; set-cookie: pantip_sessions=ekI%2FxorYWhT77KL3v6Cu7EW0d6dwWtKK7qJoCHtsxrx1Va9nCy%2FfxgfR0UrqILUCcYLQvmOeyit8wJsnPLMhNw9qxINeZJr9xPPdvYSXj7JrlW%2FbGJHKeNfz%2FITn%2BKZ%2FcKh5P4wQXQX3EAAv8lTKMrLfKuZ4zbGT5fweIO7RRR0pWNlwRUVBeKghRe9roeOmL%2FzdEk%2F8qMlvC8JPiVjMkm8MTNZPoipYVHYjByCwZn8PBXEI6%2Btrd32eqf1J8X%2FbpUOokFx5gfoHIRPWNvvYDoPrh1sP7M9sK0CgDnbVhTk%3D; path=/&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7bu611wqh8Ztn9G20PY; expires=Mon, 09-Oct-2034 17:13:18 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7bu611wqhi12K8Q7XkX; expires=Mon, 09-Oct-2034 17:13:18 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: PHPSESSID=n88pjgc88c4ln8bc89638ron64; path=/&lt;br /&gt;
&amp;lt; set-cookie: rlr=43016660; expires=Fri, 18-Oct-2024 17:13:18 GMT; Max-Age=604800; path=/; SameSite=None; secure; httponly&lt;br /&gt;
&amp;lt; x-frame-options: SAMEORIGIN&lt;br /&gt;
&amp;lt; expires: Tue, 01 Jan 2000 00:00:00 GMT&lt;br /&gt;
&amp;lt; last-modified: Fri, 11 Oct 2024 17:13:20 GMT&lt;br /&gt;
&amp;lt; cache-control: no-store, no-cache, must-revalidate, max-age=0&lt;br /&gt;
&amp;lt; cache-control: post-check=0, pre-check=0&lt;br /&gt;
&amp;lt; pragma: no-cache&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7bu811wqh0921FuEJh2; expires=Mon, 09-Oct-2034 17:13:20 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; strict-transport-security: max-age=15768001; preload&lt;br /&gt;
&amp;lt; content-security-policy: upgrade-insecure-requests&lt;br /&gt;
&amp;lt;&lt;br /&gt;
{ [15280 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
100  168k    0  168k    0     0   2762      0 --:--:--  0:01:02 --:--:-- 42455&lt;br /&gt;
* Connection #0 to host pantip.com left intact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=368</id>
		<title>Notepad/20241012 Pantip Network Resolve</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=368"/>
		<updated>2024-10-11T17:12:48Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Test 1 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
❯ curl -o /dev/null -v https://pantip.com/&lt;br /&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br /&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 203.151.13.168:443...&lt;br /&gt;
* Connected to pantip.com (203.151.13.168) port 443 (#0)&lt;br /&gt;
* ALPN, offering h2&lt;br /&gt;
* ALPN, offering http/1.1&lt;br /&gt;
*  CAfile: /etc/ssl/certs/ca-certificates.crt&lt;br /&gt;
*  CApath: /etc/ssl/certs&lt;br /&gt;
* TLSv1.0 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [88 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Finished (20):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):&lt;br /&gt;
} [1 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Finished (20):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [187 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):&lt;br /&gt;
{ [19 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Certificate (11):&lt;br /&gt;
{ [4842 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, CERT verify (15):&lt;br /&gt;
{ [264 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Finished (20):&lt;br /&gt;
{ [52 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Finished (20):&lt;br /&gt;
} [52 bytes data]&lt;br /&gt;
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384&lt;br /&gt;
* ALPN, server accepted to use h2&lt;br /&gt;
* Server certificate:&lt;br /&gt;
*  subject: CN=pantip.com&lt;br /&gt;
*  start date: Oct  9 00:00:00 2024 GMT&lt;br /&gt;
*  expire date: Jan  7 23:59:59 2025 GMT&lt;br /&gt;
*  subjectAltName: host &amp;quot;pantip.com&amp;quot; matched cert's &amp;quot;pantip.com&amp;quot;&lt;br /&gt;
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA&lt;br /&gt;
*  SSL certificate verify ok.&lt;br /&gt;
* Using HTTP2, server supports multiplexing&lt;br /&gt;
* Connection state changed (HTTP/2 confirmed)&lt;br /&gt;
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* Using Stream ID: 1 (easy handle 0x555ffd1eaeb0)&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
&amp;gt; GET / HTTP/2&lt;br /&gt;
&amp;gt; Host: pantip.com&lt;br /&gt;
&amp;gt; user-agent: curl/7.81.0&lt;br /&gt;
&amp;gt; accept: */*&lt;br /&gt;
&amp;gt;&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* old SSL session ID is stale, removing&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
&amp;lt; HTTP/2 200&lt;br /&gt;
&amp;lt; server: bytex/1.24.0&lt;br /&gt;
&amp;lt; date: Fri, 11 Oct 2024 17:11:31 GMT&lt;br /&gt;
&amp;lt; content-type: text/html; charset=utf-8&lt;br /&gt;
&amp;lt; content-length: 159888&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; x-powered-by: Next.js&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7br3iX3ZbJ2iwRc; Domain=pantip.com; Path=/; Expires=Mon, 09 Oct 2034 17:11:27 GMT; HttpOnly; Secure; SameSite=None&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7br7iWcvc96PW3b; Domain=pantip.com; Path=/; Expires=Mon, 09 Oct 2034 17:11:31 GMT; HttpOnly; Secure; SameSite=None&lt;br /&gt;
&amp;lt; etag: &amp;quot;nl5f6428432tkb&amp;quot;&lt;br /&gt;
&amp;lt; cache-control: private, no-cache, no-store, max-age=0, must-revalidate&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; strict-transport-security: max-age=15768001; preload&lt;br /&gt;
&amp;lt; content-security-policy: upgrade-insecure-requests&lt;br /&gt;
&amp;lt;&lt;br /&gt;
{ [15866 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
100  156k  100  156k    0     0  36322      0  0:00:04  0:00:04 --:--:-- 38113&lt;br /&gt;
* Connection #0 to host pantip.com left intact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=367</id>
		<title>Notepad/20241012 Pantip Network Resolve</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=367"/>
		<updated>2024-10-11T17:10:55Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
❯ curl -o /dev/null -v https://pantip.com/topic/43016660&lt;br /&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br /&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 203.151.13.166:443...&lt;br /&gt;
* Connected to pantip.com (203.151.13.166) port 443 (#0)&lt;br /&gt;
* ALPN, offering h2&lt;br /&gt;
* ALPN, offering http/1.1&lt;br /&gt;
*  CAfile: /etc/ssl/certs/ca-certificates.crt&lt;br /&gt;
*  CApath: /etc/ssl/certs&lt;br /&gt;
* TLSv1.0 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [88 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Finished (20):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):&lt;br /&gt;
} [1 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Finished (20):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [187 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):&lt;br /&gt;
{ [19 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Certificate (11):&lt;br /&gt;
{ [4842 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, CERT verify (15):&lt;br /&gt;
{ [264 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Finished (20):&lt;br /&gt;
{ [52 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Finished (20):&lt;br /&gt;
} [52 bytes data]&lt;br /&gt;
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384&lt;br /&gt;
* ALPN, server accepted to use h2&lt;br /&gt;
* Server certificate:&lt;br /&gt;
*  subject: CN=pantip.com&lt;br /&gt;
*  start date: Oct  9 00:00:00 2024 GMT&lt;br /&gt;
*  expire date: Jan  7 23:59:59 2025 GMT&lt;br /&gt;
*  subjectAltName: host &amp;quot;pantip.com&amp;quot; matched cert's &amp;quot;pantip.com&amp;quot;&lt;br /&gt;
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA&lt;br /&gt;
*  SSL certificate verify ok.&lt;br /&gt;
* Using HTTP2, server supports multiplexing&lt;br /&gt;
* Connection state changed (HTTP/2 confirmed)&lt;br /&gt;
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* Using Stream ID: 1 (easy handle 0x55cbfbcb8eb0)&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
&amp;gt; GET /topic/43016660 HTTP/2&lt;br /&gt;
&amp;gt; Host: pantip.com&lt;br /&gt;
&amp;gt; user-agent: curl/7.81.0&lt;br /&gt;
&amp;gt; accept: */*&lt;br /&gt;
&amp;gt;&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* old SSL session ID is stale, removing&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0&amp;lt; HTTP/2 200&lt;br /&gt;
&amp;lt; server: bytex/1.24.0&lt;br /&gt;
&amp;lt; date: Fri, 11 Oct 2024 17:10:10 GMT&lt;br /&gt;
&amp;lt; content-type: text/html; charset=UTF-8&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; set-cookie: pantip_sessions=FAgfnoojvoPnD6cm6ghFmY%2BCfNwAWChsh2fY7BBXhn%2BKvsoetZNavY3poWThazQt3i58b3CH2wJdbMuO5RFaFMIinmSHtjGObLLr4CWL5%2Bjmj7CFS3yXucH8y1yOsFgCfK7mABvqpOP4HQQVGqudCrFgaI5VA9w%2FGl0sHhAxnLsxQrw5c9s1y2fg6pS02tvoxV5v71sS9bJGksFj2pRlOwDhg4JlSG3kqfkZs9WA8NNoAF79%2F3x22PdGzqJZq5chSQJkuvMOABUDuLlMIGea5ChVdkyk47TfqT4tYdUrwic%3D; path=/&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7box68xh89BxmcqmuS; expires=Mon, 09-Oct-2034 17:10:09 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7box68xhnXrcdTKkdV; expires=Mon, 09-Oct-2034 17:10:09 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: PHPSESSID=3tlfdpdpiv197otqvufanhh7b2; path=/&lt;br /&gt;
&amp;lt; set-cookie: rlr=43016660; expires=Fri, 18-Oct-2024 17:10:09 GMT; Max-Age=604800; path=/; SameSite=None; secure; httponly&lt;br /&gt;
&amp;lt; x-frame-options: SAMEORIGIN&lt;br /&gt;
&amp;lt; expires: Tue, 01 Jan 2000 00:00:00 GMT&lt;br /&gt;
&amp;lt; last-modified: Fri, 11 Oct 2024 17:10:10 GMT&lt;br /&gt;
&amp;lt; cache-control: no-store, no-cache, must-revalidate, max-age=0&lt;br /&gt;
&amp;lt; cache-control: post-check=0, pre-check=0&lt;br /&gt;
&amp;lt; pragma: no-cache&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7boy68xhMxmaZ0M9vB; expires=Mon, 09-Oct-2034 17:10:10 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; strict-transport-security: max-age=15768001; preload&lt;br /&gt;
&amp;lt; content-security-policy: upgrade-insecure-requests&lt;br /&gt;
&amp;lt;&lt;br /&gt;
{ [15293 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
100  168k    0  168k    0     0   132k      0 --:--:--  0:00:01 --:--:--  133k&lt;br /&gt;
* Connection #0 to host pantip.com left intact&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=366</id>
		<title>Notepad/20241012 Pantip Network Resolve</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Notepad/20241012_Pantip_Network_Resolve&amp;diff=366"/>
		<updated>2024-10-11T17:10:26Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: Created page with &amp;quot;❯ curl -o /dev/null -v https://pantip.com/topic/43016660   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dlo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;❯ curl -o /dev/null -v https://pantip.com/topic/43016660&lt;br /&gt;
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br /&gt;
                                 Dload  Upload   Total   Spent    Left  Speed&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 203.151.13.166:443...&lt;br /&gt;
* Connected to pantip.com (203.151.13.166) port 443 (#0)&lt;br /&gt;
* ALPN, offering h2&lt;br /&gt;
* ALPN, offering http/1.1&lt;br /&gt;
*  CAfile: /etc/ssl/certs/ca-certificates.crt&lt;br /&gt;
*  CApath: /etc/ssl/certs&lt;br /&gt;
* TLSv1.0 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [88 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Finished (20):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):&lt;br /&gt;
} [1 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Certificate Status (22):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Client hello (1):&lt;br /&gt;
} [512 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Finished (20):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Certificate Status (22):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Server hello (2):&lt;br /&gt;
{ [187 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):&lt;br /&gt;
{ [19 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Certificate (11):&lt;br /&gt;
{ [4842 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, CERT verify (15):&lt;br /&gt;
{ [264 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Finished (20):&lt;br /&gt;
{ [52 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.3 (OUT), TLS handshake, Finished (20):&lt;br /&gt;
} [52 bytes data]&lt;br /&gt;
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384&lt;br /&gt;
* ALPN, server accepted to use h2&lt;br /&gt;
* Server certificate:&lt;br /&gt;
*  subject: CN=pantip.com&lt;br /&gt;
*  start date: Oct  9 00:00:00 2024 GMT&lt;br /&gt;
*  expire date: Jan  7 23:59:59 2025 GMT&lt;br /&gt;
*  subjectAltName: host &amp;quot;pantip.com&amp;quot; matched cert's &amp;quot;pantip.com&amp;quot;&lt;br /&gt;
*  issuer: C=AT; O=ZeroSSL; CN=ZeroSSL RSA Domain Secure Site CA&lt;br /&gt;
*  SSL certificate verify ok.&lt;br /&gt;
* Using HTTP2, server supports multiplexing&lt;br /&gt;
* Connection state changed (HTTP/2 confirmed)&lt;br /&gt;
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* Using Stream ID: 1 (easy handle 0x55cbfbcb8eb0)&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
&amp;gt; GET /topic/43016660 HTTP/2&lt;br /&gt;
&amp;gt; Host: pantip.com&lt;br /&gt;
&amp;gt; user-agent: curl/7.81.0&lt;br /&gt;
&amp;gt; accept: */*&lt;br /&gt;
&amp;gt;&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):&lt;br /&gt;
{ [57 bytes data]&lt;br /&gt;
* old SSL session ID is stale, removing&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!&lt;br /&gt;
* TLSv1.2 (OUT), TLS header, Supplemental data (23):&lt;br /&gt;
} [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0&amp;lt; HTTP/2 200&lt;br /&gt;
&amp;lt; server: bytex/1.24.0&lt;br /&gt;
&amp;lt; date: Fri, 11 Oct 2024 17:10:10 GMT&lt;br /&gt;
&amp;lt; content-type: text/html; charset=UTF-8&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; vary: Accept-Encoding&lt;br /&gt;
&amp;lt; set-cookie: pantip_sessions=FAgfnoojvoPnD6cm6ghFmY%2BCfNwAWChsh2fY7BBXhn%2BKvsoetZNavY3poWThazQt3i58b3CH2wJdbMuO5RFaFMIinmSHtjGObLLr4CWL5%2Bjmj7CFS3yXucH8y1yOsFgCfK7mABvqpOP4HQQVGqudCrFgaI5VA9w%2FGl0sHhAxnLsxQrw5c9s1y2fg6pS02tvoxV5v71sS9bJGksFj2pRlOwDhg4JlSG3kqfkZs9WA8NNoAF79%2F3x22PdGzqJZq5chSQJkuvMOABUDuLlMIGea5ChVdkyk47TfqT4tYdUrwic%3D; path=/&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7box68xh89BxmcqmuS; expires=Mon, 09-Oct-2034 17:10:09 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7box68xhnXrcdTKkdV; expires=Mon, 09-Oct-2034 17:10:09 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; set-cookie: PHPSESSID=3tlfdpdpiv197otqvufanhh7b2; path=/&lt;br /&gt;
&amp;lt; set-cookie: rlr=43016660; expires=Fri, 18-Oct-2024 17:10:09 GMT; Max-Age=604800; path=/; SameSite=None; secure; httponly&lt;br /&gt;
&amp;lt; x-frame-options: SAMEORIGIN&lt;br /&gt;
&amp;lt; expires: Tue, 01 Jan 2000 00:00:00 GMT&lt;br /&gt;
&amp;lt; last-modified: Fri, 11 Oct 2024 17:10:10 GMT&lt;br /&gt;
&amp;lt; cache-control: no-store, no-cache, must-revalidate, max-age=0&lt;br /&gt;
&amp;lt; cache-control: post-check=0, pre-check=0&lt;br /&gt;
&amp;lt; pragma: no-cache&lt;br /&gt;
&amp;lt; set-cookie: pantip_visitc=sl7boy68xhMxmaZ0M9vB; expires=Mon, 09-Oct-2034 17:10:10 GMT; Max-Age=315360000; path=/; domain=pantip.com; httponly&lt;br /&gt;
&amp;lt; strict-transport-security: max-age=15768001; preload&lt;br /&gt;
&amp;lt; content-security-policy: upgrade-insecure-requests&lt;br /&gt;
&amp;lt;&lt;br /&gt;
{ [15293 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
* TLSv1.2 (IN), TLS header, Supplemental data (23):&lt;br /&gt;
{ [5 bytes data]&lt;br /&gt;
100  168k    0  168k    0     0   132k      0 --:--:--  0:00:01 --:--:--  133k&lt;br /&gt;
* Connection #0 to host pantip.com left intact&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Sirakorn%27s_Graduation&amp;diff=365</id>
		<title>Sirakorn's Graduation</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Sirakorn%27s_Graduation&amp;diff=365"/>
		<updated>2024-10-02T10:45:12Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ขอเชิญ &amp;quot;มา&amp;quot; ร่วมงานรับปริญญาของศิระกร ใน โอกาสจบการศึกษาปริญญาตรี วิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ บางเขน&lt;br /&gt;
&lt;br /&gt;
[[File:Grad-noshow.png|300px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
== กำหนดการถ่ายรูปที่เกษตรฯ ==&lt;br /&gt;
&lt;br /&gt;
'''สถานที่''' อาคารภาควิชาวิศวกรรมคอมพิวเตอร์ (วิศวะ อาคาร 15) มหาวิทยาลัยเกษตรศาสตร์ วิทยาเขตบางเขน&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! วันที่ !! เวลา !! กำหนดการ&lt;br /&gt;
|-&lt;br /&gt;
| เสาร์ 10 ตุลาคม 2563 || 9:00 - 12:00 || วันซ้อมใหญ่&lt;br /&gt;
|-&lt;br /&gt;
| ศุกร์ 16 ตุลาคม 2563 || 9:00 - 12:00 || วันรับจริง&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* '''ไม่แนะนำให้มางานจริง''' คนเยอะ ร้อน และเหนื่อยเปล่าๆ ถ้าอยากเจอกัน นัดนอกรอบดีกว่า แต่ว่าถ้ายืนยันว่าอยากมา ก็ยินดีต้อนรับ และจะขอบคุณมากๆ :D&lt;br /&gt;
** ไปอ่านวิธี Video Call มางานได้ข้างล่าง&lt;br /&gt;
** แต่ถ้ายืนยันว่าจะมา ขอให้ทราบว่า&lt;br /&gt;
*** '''ศิระกรไม่ได้จ้างตากล้อง ให้เพื่อนวนๆ ถ่ายให้'''&lt;br /&gt;
*** มาเจอกันหลังจากเวลาได้ (ไม่เข้าพิธีฯ) จนถึง 14:00 แต่อาจจะไม่ได้ถ่ายรูป และจะไม่เจอเพื่อน ที่ช่วยให้เรียนจบแบบครบๆ หน้า&lt;br /&gt;
&lt;br /&gt;
== Video Call ==&lt;br /&gt;
&lt;br /&gt;
แนะนำให้ Video Call อยู่สวยๆ ดีกว่าต้องถ่อมาถึงที่นี่&lt;br /&gt;
* ลิงก์วิดีโอคอลล์ [https://srakrn.me/to/gradvc ที่นี่] ตอนนี้ยังเป็น Google Meet แต่อาจจะเปลี่ยนไปใช้อย่างอื่น&lt;br /&gt;
** วิดีโอคอลล์ผ่านลิงก์นี้ได้วันที่ 10 + 16 หลังจากนั้นหรือวันอื่น กด Messenger Call มาก็ได้&lt;br /&gt;
&lt;br /&gt;
== วิธีการเดินทาง ==&lt;br /&gt;
&lt;br /&gt;
* ศึกษาวิธีการเดินทางเข้ามาที่[https://www.cpe.ku.ac.th/wp-content/uploads/2018/10/tocpe_v3.pdf แผนที่ในนี้]&lt;br /&gt;
** '''แนะนำที่สุดให้เดินทางมาโดย BTS'''&lt;br /&gt;
*** ลงสถานีมหาวิทยาลัยเกษตรศาสตร์ แล้วเดินหรือนั่งวินมอไซค์เข้ามาที่คณะวิศวะ (1 กิโลเมตร -- ค่าวินมอไซค์ไม่ควรเกิน 20 บาทในทุกกรณี)&lt;br /&gt;
*** เสร็จแล้วเดินอีก 200 เมตรเข้ามาที่ภาควิชาวิศวกรรมคอมพิวเตอร์&lt;br /&gt;
*** หากลงรถเมล์ ให้ลงประตูงามวงศ์วาน 3 จะใกล้ที่สุด อย่างไรก็ตามอาจจะมีการปิดการจราจรในวันพระราชพิธีจริงเพื่อเสด็จพระราชดำเนิน&lt;br /&gt;
**** เชื่อหรือยังว่าเดินทางยาก&lt;br /&gt;
* '''ไม่แนะนำให้เดินทางมาด้วยรถยนต์''' เนื่องด้วยข้อจำกัดของที่จอด&lt;br /&gt;
** หากต้องการจอดรถจริงๆ ศึกษาตำแหน่งอาคารจอดรถได้ที่[https://www.facebook.com/KasetsartUniversity/posts/10156805476992451 ลิงก์นี้] แต่'''เป็นรายละเอียดของปี 2561 อาจจะมีการเปลี่ยนแปลง'''&lt;br /&gt;
&lt;br /&gt;
=== Google Maps ===&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe src=&amp;quot;https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d15495.522674693048!2d100.5686394!3d13.8462008!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x49eb013c54fc9b!2sDepartment%20of%20Computer%20Engineering%2C%20Kasetsart%20University!5e0!3m2!1sen!2sth!4v1597742945916!5m2!1sen!2sth&amp;quot; width=&amp;quot;600&amp;quot; height=&amp;quot;450&amp;quot; frameborder=&amp;quot;0&amp;quot; style=&amp;quot;border:0;&amp;quot; allowfullscreen=&amp;quot;&amp;quot; aria-hidden=&amp;quot;false&amp;quot; tabindex=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== จิปาถะ ==&lt;br /&gt;
* ของดรับดอกไม้หรืออื่นๆ นะ ลดขยะให้โลกกันเถอะ! :D&lt;br /&gt;
* ไม่ต้องมีของขวัญมาก็ได้ มาตัวเปล่าได้เลย&lt;br /&gt;
** ถ้าอยากซื้ออะไรให้จริงๆ แต่ไม่รู้จะซื้ออะไร จิ้มบริจาคเงินให้ลิสต์มูลนิธิในนี้แล้วมาเล่าให้ฟังกันก็ได้นะ&lt;br /&gt;
*** Wikimedia Foundation&lt;br /&gt;
*** EFF&lt;br /&gt;
*** เทใจ (taejai.com)&lt;br /&gt;
&lt;br /&gt;
== รายละเอียดทางการจากมหาวิทยาลัย ==&lt;br /&gt;
* [https://www.facebook.com/KasetsartUniversity/photos/a.10150365499612451/10158788503942451 กำหนดการของทุกคณะ]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Ergonomics&amp;diff=364</id>
		<title>Ergonomics</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Ergonomics&amp;diff=364"/>
		<updated>2024-09-23T07:50:40Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page compiles Sirakorn's note on setting an ergonomics workspace.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube.com/embed/F8_ME4VwTiw&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube.com/embed/z4epeIusue0&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gears ==&lt;br /&gt;
&lt;br /&gt;
=== Choosing Ergonomic Chairs ===&lt;br /&gt;
* '''The best way is to try them yourself at the showroom.'''&lt;br /&gt;
* Series from Ergonomics Trend: [https://ergonomictrends.com/how-to-choose-office-chair-seat-pan/] [https://ergonomictrends.com/syncro-tilt-and-other-tilt-mechanisms-in-an-office-chair/] [https://ergonomictrends.com/types-of-lumbar-support-for-office-chairs/] [https://ergonomictrends.com/armrests-on-ergonomic-office-chairs/]&lt;br /&gt;
&lt;br /&gt;
=== Gears I am using/used ===&lt;br /&gt;
&lt;br /&gt;
'''Gentle remind: your height, weight, and shape matters.'''&lt;br /&gt;
&lt;br /&gt;
''According to SizeThailand [http://www.sizethailand.org/region_all.html], the average height of Thai male and female are 169.46 and 157.00 cm respectively. These criteria are used for the &amp;quot;Generic Thai&amp;quot; description in the review section below.''&lt;br /&gt;
&lt;br /&gt;
==== Chairs ====&lt;br /&gt;
* [https://www.ikea.com/th/en/p/markus-office-chair-glose-black-50137208/ IKEA Markus] (~5000THB)&lt;br /&gt;
** Overall good. Comes with a tilt-sync feature, meaning the seat angle is automatically adjusted when you recline the back support.&lt;br /&gt;
** Non-adjustable headrest. Too low for me but too high for Thai persons, according to my friends.&lt;br /&gt;
** Several reports on torn down leather in some batch of leather models.&lt;br /&gt;
* [https://www.ergotrend.com/best-sellers/ergo-joy-plus.html Ergotrend Ergo Joy Plus] (~9000THB)&lt;br /&gt;
** Flexible in adjustments: seat depth + height + tilt, backrest height + angle, headrest height + angle.&lt;br /&gt;
** None of the following options are in sync. Not ideal for people switching between upright and reclined sitting posture.&lt;br /&gt;
** Non-adjustable lumbar, but adjusting seat height can help in positioning the lumbar properly.&lt;br /&gt;
** Headrest is far too low for me. Ideal for generic Thais, I believe.&lt;br /&gt;
** Not really good upper back support. I am using the headrest as a upper back supporter.&lt;br /&gt;
* Herman Miller Sayl&lt;br /&gt;
** Actually my wife's. Comfortable enough though, even though too small for me.&lt;br /&gt;
* Steelcase Leap 2&lt;br /&gt;
** My to-go now. No complaints.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Desks/Tables ====&lt;br /&gt;
* [https://www.theindesk.com/ Indesk] (Price unknown, used at the internship venue.)&lt;br /&gt;
** Great. Worth buying.&lt;br /&gt;
** Encourages you to do a routine alternative sit-stand re-positioning.&lt;br /&gt;
&lt;br /&gt;
== Readings ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.swyx.io/rsi-tips/ Notes on RSI for developers]&lt;br /&gt;
* [https://dol.thaihealth.or.th/Media/Index/4f67f95f-36e6-e611-80dc-00155dddb706 10 ท่าพื้นฐานยืดเหยียดร่างกาย]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=363</id>
		<title>Home Automation/Hass with Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=363"/>
		<updated>2024-09-22T15:46:32Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All the services first:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3.2'&lt;br /&gt;
&lt;br /&gt;
volumes:&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
  hass:&lt;br /&gt;
  nodered:&lt;br /&gt;
    &lt;br /&gt;
services:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
    image: eclipse-mosquitto:2.0.18&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - mosquitto:/mosquitto/config&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
    image: koenkk/zigbee2mqtt:1.40.1&lt;br /&gt;
    volumes:&lt;br /&gt;
      - zigbee2mqtt:/app/data&lt;br /&gt;
      - /run/udev:/run/udev:ro&lt;br /&gt;
    devices:&lt;br /&gt;
      - /dev/serial/by-id/usb-1a86_USB_Single_Serial_5322028960-if00:/dev/ttyACM0&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    privileged: true&lt;br /&gt;
    environment:&lt;br /&gt;
      - TZ&lt;br /&gt;
  hass:&lt;br /&gt;
    image: homeassistant/home-assistant:2024.9&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - hass:/config&lt;br /&gt;
      - /etc/localtime:/etc/localtime&lt;br /&gt;
      - /run/dbus:/run/debus:ro&lt;br /&gt;
  node-red:&lt;br /&gt;
    image: srakrn/node-red-with-modules:20240215-it2&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - nodered:/data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then expose with Cloudflare Zero Trust:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3'&lt;br /&gt;
services:&lt;br /&gt;
  cftunnel:&lt;br /&gt;
    image: cloudflare/cloudflared&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    command: tunnel run&lt;br /&gt;
    environment:&lt;br /&gt;
      - TUNNEL_TOKEN=${TUNNEL_TOKEN}&lt;br /&gt;
    network_mode: &amp;quot;host&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=362</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=362"/>
		<updated>2024-09-22T15:12:54Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! สมาร์ตสวิตช์&lt;br /&gt;
| Aitan รุ่นป๊อกแป๊ก&lt;br /&gt;
| ต่อเข้า Zigbee2MQTT ได้ จะเห็นเป็น Tuya TS0011/TS0012/TS0013&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครือข่ายและความปลอดภัย&lt;br /&gt;
|-&lt;br /&gt;
! Router&lt;br /&gt;
| ตอนนี้ใช้อะไรก็ได้ที่ใช้ OpenWRT ได้&lt;br /&gt;
| ตอนซื้อ มีเงินแค่นั้น&lt;br /&gt;
|-&lt;br /&gt;
! Access points&lt;br /&gt;
| TP-Link Omada&lt;br /&gt;
| ราคาสมเหตุสมผล, AX300 wall router ใช้ได้ดี, '''ข้อเสียคือพี่แกรองรับ mesh networking แต่ AP ทุกตัวไม่เป็น ceiling mount ก็ wall mount ไม่มีตัวตั้งๆ ที่จะเอาวางบนโต๊ะแล้วเป็น mesh สวยๆ'''&amp;lt;br/&amp;gt;&lt;br /&gt;
ถ้าอยากลองดูยี่ห้ออื่น มีแต่คนแนะนำ Rujie&lt;br /&gt;
|-&lt;br /&gt;
! CCTV&lt;br /&gt;
| (ว่าจะใช้) TP-Link Tapo&lt;br /&gt;
| TBA&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=361</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=361"/>
		<updated>2024-09-22T15:12:00Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! สมาร์ตสวิตช์&lt;br /&gt;
| Aitan รุ่นป๊อกแป๊ก&lt;br /&gt;
| ต่อเข้า Zigbee2MQTT ได้ จะเห็นเป็น Tuya TS0011/TS0012/TS0013&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครือข่ายและความปลอดภัย&lt;br /&gt;
|-&lt;br /&gt;
! Access points&lt;br /&gt;
| TP-Link Omada&lt;br /&gt;
| ราคาสมเหตุสมผล, AX300 wall router ใช้ได้ดี, '''ข้อเสียคือพี่แกรองรับ mesh networking แต่ AP ทุกตัวไม่เป็น ceiling mount ก็ wall mount ไม่มีตัวตั้งๆ ที่จะเอาวางบนโต๊ะแล้วเป็น mesh สวยๆ'''&amp;lt;br/&amp;gt;&lt;br /&gt;
ถ้าอยากลองดูยี่ห้ออื่น มีแต่คนแนะนำ Rujie&lt;br /&gt;
|-&lt;br /&gt;
! CCTV&lt;br /&gt;
| (ว่าจะใช้) TP-Link Tapo&lt;br /&gt;
| TBA&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=360</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=360"/>
		<updated>2024-09-22T15:11:54Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! สมาร์ตสวิตช์&lt;br /&gt;
| Aitan รุ่นป๊อกแป๊ก&lt;br /&gt;
| ต่อเข้า Zigbee2MQTT ได้ จะเห็นเป็น Tuya TS0011/TS0012/TS0013&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครือข่ายและความปลอดภัย&lt;br /&gt;
|-&lt;br /&gt;
! Access points&lt;br /&gt;
| TP-Link Omada&lt;br /&gt;
| ราคาสมเหตุสมผล, AX300 wall router ใช้ได้ดี, '''ข้อเสียคือพี่แกรองรับ mesh networking แต่ AP ทุกตัวไม่เป็น ceiling mount ก็ wall mount ไม่มีตัวตั้งๆ ที่จะเอาวางบนโต๊ะแล้วเป็น mesh สวยๆ'''&amp;lt;br/&amp;gt;&lt;br /&gt;
  ถ้าอยากลองดูยี่ห้ออื่น มีแต่คนแนะนำ Rujie&lt;br /&gt;
|-&lt;br /&gt;
! CCTV&lt;br /&gt;
| (ว่าจะใช้) TP-Link Tapo&lt;br /&gt;
| TBA&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=359</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=359"/>
		<updated>2024-09-22T15:11:07Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! สมาร์ตสวิตช์&lt;br /&gt;
| Aitan รุ่นป๊อกแป๊ก&lt;br /&gt;
| ต่อเข้า Zigbee2MQTT ได้ จะเห็นเป็น Tuya TS0011/TS0012/TS0013&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครือข่ายและความปลอดภัย&lt;br /&gt;
|-&lt;br /&gt;
! Access points&lt;br /&gt;
| TP-Link Omada&lt;br /&gt;
| ราคาสมเหตุสมผล, AX300 wall router ใช้ได้ดี, *ข้อเสียคือพี่แกรองรับ mesh networking แต่ AP ทุกตัวไม่เป็น ceiling mount ก็ wall mount ไม่มีตัวตั้งๆ ที่จะเอาวางบนโต๊ะแล้วเป็น mesh สวยๆ*&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=358</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=358"/>
		<updated>2024-09-22T15:10:57Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! สมาร์ตสวิตช์&lt;br /&gt;
| Aitan รุ่นป๊อกแป๊ก&lt;br /&gt;
| ต่อเข้า Zigbee2MQTT ได้ จะเห็นเป็น Tuya TS0011/TS0012/TS0013&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครือข่ายและความปลอดภัย&lt;br /&gt;
|-&lt;br /&gt;
! Access points&lt;br /&gt;
| TP-Link Omada&lt;br /&gt;
| ราคาสมเหตุสมผล, AX300 wall router ใช้ได้ดี, **ข้อเสียคือพี่แกรองรับ mesh networking แต่ AP ทุกตัวไม่เป็น ceiling mount ก็ wall mount ไม่มีตัวตั้งๆ ที่จะเอาวางบนโต๊ะแล้วเป็น mesh สวยๆ**&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=357</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=357"/>
		<updated>2024-09-22T15:09:12Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! สมาร์ตสวิตช์&lt;br /&gt;
| Aitan รุ่นป๊อกแป๊ก&lt;br /&gt;
| ต่อเข้า Zigbee2MQTT ได้ จะเห็นเป็น Tuya TS0011/TS0012/TS0013&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=356</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=356"/>
		<updated>2024-09-22T15:07:25Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=355</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=355"/>
		<updated>2024-09-22T15:06:36Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex, Glink&lt;br /&gt;
| ทน ถึก&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Main_Page&amp;diff=354</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Main_Page&amp;diff=354"/>
		<updated>2024-09-22T15:06:05Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is srakrn | Wiki, [https://srakrn.me/bio Sirakorn]'s personal Wiki for quickly creating pages and collecting stuffs].&lt;br /&gt;
&lt;br /&gt;
== Pages you might find interesting ==&lt;br /&gt;
* [[ML Glossary|Thai Machine Learning glossary]]&lt;br /&gt;
* [[Ergonomics|Resources on Ergonomics]]&lt;br /&gt;
* [[Learning]]&lt;br /&gt;
* [[Brand Catalogue]]&lt;br /&gt;
* [[Home Automation]]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation&amp;diff=353</id>
		<title>Home Automation</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation&amp;diff=353"/>
		<updated>2024-09-22T15:05:51Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resources for Home Automation&lt;br /&gt;
&lt;br /&gt;
* [[Home_Automation/Hass_with_Dockerfile|Home Assistant with Dockerfile]]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation&amp;diff=352</id>
		<title>Home Automation</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation&amp;diff=352"/>
		<updated>2024-09-22T15:05:37Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resources for Home Automation&lt;br /&gt;
&lt;br /&gt;
- [[Home_Automation/Hass_with_Dockerfile|Home Assistant with Dockerfile]]&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=351</id>
		<title>Home Automation/Hass with Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=351"/>
		<updated>2024-09-22T15:05:11Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3.2'&lt;br /&gt;
&lt;br /&gt;
volumes:&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
  hass:&lt;br /&gt;
  nodered:&lt;br /&gt;
    &lt;br /&gt;
services:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
    image: eclipse-mosquitto:2.0.18&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - mosquitto:/mosquitto/config&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
    image: koenkk/zigbee2mqtt:1.40.1&lt;br /&gt;
    volumes:&lt;br /&gt;
      - zigbee2mqtt:/app/data&lt;br /&gt;
      - /run/udev:/run/udev:ro&lt;br /&gt;
    devices:&lt;br /&gt;
      - /dev/serial/by-id/usb-1a86_USB_Single_Serial_5322028960-if00:/dev/ttyACM0&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    privileged: true&lt;br /&gt;
    environment:&lt;br /&gt;
      - TZ&lt;br /&gt;
  hass:&lt;br /&gt;
    image: homeassistant/home-assistant:2024.9&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - hass:/config&lt;br /&gt;
      - /etc/localtime:/etc/localtime&lt;br /&gt;
      - /run/dbus:/run/debus:ro&lt;br /&gt;
  node-red:&lt;br /&gt;
    image: srakrn/node-red-with-modules:20240215-it2&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - nodered:/data&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=350</id>
		<title>Home Automation/Hass with Dockerfile</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation/Hass_with_Dockerfile&amp;diff=350"/>
		<updated>2024-09-22T15:03:00Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: Created page with &amp;quot;``` version: '3.2'  volumes:   zigbee2mqtt:   mosquitto:   hass:   nodered:      services:   mosquitto:     image: eclipse-mosquitto:2.0.18     restart: unless-stopped     net...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;```&lt;br /&gt;
version: '3.2'&lt;br /&gt;
&lt;br /&gt;
volumes:&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
  hass:&lt;br /&gt;
  nodered:&lt;br /&gt;
    &lt;br /&gt;
services:&lt;br /&gt;
  mosquitto:&lt;br /&gt;
    image: eclipse-mosquitto:2.0.18&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - mosquitto:/mosquitto/config&lt;br /&gt;
  zigbee2mqtt:&lt;br /&gt;
    image: koenkk/zigbee2mqtt:1.40.1&lt;br /&gt;
    volumes:&lt;br /&gt;
      - zigbee2mqtt:/app/data&lt;br /&gt;
      - /run/udev:/run/udev:ro&lt;br /&gt;
    devices:&lt;br /&gt;
      - /dev/serial/by-id/usb-1a86_USB_Single_Serial_5322028960-if00:/dev/ttyACM0&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    privileged: true&lt;br /&gt;
    environment:&lt;br /&gt;
      - TZ&lt;br /&gt;
  hass:&lt;br /&gt;
    image: homeassistant/home-assistant:2024.9&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - hass:/config&lt;br /&gt;
      - /etc/localtime:/etc/localtime&lt;br /&gt;
      - /run/dbus:/run/debus:ro&lt;br /&gt;
  node-red:&lt;br /&gt;
    image: srakrn/node-red-with-modules:20240215-it2&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    network_mode: host&lt;br /&gt;
    volumes:&lt;br /&gt;
      - nodered:/data&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Home_Automation&amp;diff=349</id>
		<title>Home Automation</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Home_Automation&amp;diff=349"/>
		<updated>2024-09-22T15:02:27Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: Created page with &amp;quot;Resources for Home Automation&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resources for Home Automation&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=348</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=348"/>
		<updated>2024-06-15T16:24:36Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: ลุงประธาน (@scomma) แนะนำมา เป็น HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex&lt;br /&gt;
| ทน ถึก (มิตรสหายท่านหนึ่งแนะนำให้ดู Glink เพิ่ม ถ้าเงินไม่ถึง)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=347</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=347"/>
		<updated>2024-06-15T16:24:11Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell หรือ ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi, SQAir&lt;br /&gt;
| Mi: หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี / SQAir: HEPA ที่ CADR per USD ถูกกว่า Mi&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย / Haco: ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex&lt;br /&gt;
| ทน ถึก (มิตรสหายท่านหนึ่งแนะนำให้ดู Glink เพิ่ม ถ้าเงินไม่ถึง)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=346</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=346"/>
		<updated>2024-05-14T09:19:02Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell, ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ (243S9A/67 ณ เวลาที่เขียน) ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi&lt;br /&gt;
| หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย, Haco เป็นแบรนด์ของ Hafele ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex&lt;br /&gt;
| ทน ถึก (มิตรสหายท่านหนึ่งแนะนำให้ดู Glink เพิ่ม ถ้าเงินไม่ถึง)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
	<entry>
		<id>https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=345</id>
		<title>Brand Catalogue</title>
		<link rel="alternate" type="text/html" href="https://srakrn.me/mediawiki/index.php?title=Brand_Catalogue&amp;diff=345"/>
		<updated>2024-05-14T09:16:39Z</updated>

		<summary type="html">&lt;p&gt;Srakrn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;หน้านี้สำหรับใช้ลิสต์แบรนด์สินค้าที่ศิระกรใช้ พร้อมเหตุผล&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ ตารางแบรนด์สินค้าที่ใช้&lt;br /&gt;
|-&lt;br /&gt;
! หมวดหมู่&lt;br /&gt;
! ยี่ห้อ&lt;br /&gt;
! เหตุผล&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดใหญ่&lt;br /&gt;
|-&lt;br /&gt;
! แล็ปท็อป (ไม่รวม MacBook)&lt;br /&gt;
| ThinkPad&lt;br /&gt;
| Rule out criteria: ทุกยี่ห้อที่ไม่ใช่ Dell, ThinkPad เพราะกาก, เสร็จแล้ว rule out Dell เพราะ expense หลังประกันหมด&lt;br /&gt;
|-&lt;br /&gt;
! แท็บเล็ต&lt;br /&gt;
| iPad (M-chip only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! โทรศัพท์&lt;br /&gt;
| iPhone (preferrably)&lt;br /&gt;
| ให้คนแก่ใช้ กันมิจฉาชีพได้ดี&lt;br /&gt;
|-&lt;br /&gt;
! จอภาพ&lt;br /&gt;
| Philips, Dell&lt;br /&gt;
| จอเฉยๆ เน้น Philips เพราะ price point ดี (รุ่น USB-C ที่ใช้ ไม่มีปัญหา ไม่งอแง) ถ้าต้องใช้จอแพง ใช้ Dell UltraSharp&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | อิเล็กทรอนิกส์ขนาดเล็ก และอุปกรณ์เสริม&lt;br /&gt;
|-&lt;br /&gt;
! ถ่านไฟฉาย&lt;br /&gt;
| ถ่านชาร์จ IKEA&lt;br /&gt;
| ผลิตโดยโรงงาน Eloop ขายในราคาสมเหตุสมผล&lt;br /&gt;
|-&lt;br /&gt;
! เมาส์&lt;br /&gt;
| Logi&lt;br /&gt;
| (อธิบาย: ไม่ต้องตัวแพงมากก็ได้ ใช้ Triathlon แล้วแฮปปี้ดี)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | เครื่องใข้ไฟฟ้า&lt;br /&gt;
|-&lt;br /&gt;
! เครื่องฟอกอากาศ&lt;br /&gt;
| Mi&lt;br /&gt;
| หาฟิลเตอร์ง่าย ไม่ตายทีหลังแน่, ทำ home integration สะดวกดี&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานทั่วไปถีงปานกลาง&lt;br /&gt;
| Panasonic และ Haco&lt;br /&gt;
| Panasonic: ไม่ต้องอธิบาย, Haco เป็นแบรนด์ของ Hafele ทดลองจับแล้วไม่ก๊องแก๊ง ใช้กับเครื่องใช้ไฟฟ้าที่ต้องกังวลใจมากหน่อย แต่ไม่มากจนเกินไปได้สบายอยู่&lt;br /&gt;
|-&lt;br /&gt;
! ปลั๊กสามตา สำหรับใช้งานหนัก&lt;br /&gt;
| Powerconnex&lt;br /&gt;
| ทน ถึก (มิตรสหายท่านหนึ่งแนะนำให้ดู Glink เพิ่ม ถ้าเงินไม่ถึง)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Srakrn</name></author>
		
	</entry>
</feed>