Login
    
Login

29 January 2009 ~ 13 Comments

pfSense and OpenDNS (VDO Tutorial)

ทุกท่านที่ทำหน้าที่ System Admin คงรู้จัก Web Content Filtering เป็นอย่างดี ถึงแม้จะไม่ใช่เรื่องใหม่ แต่ก็จำเป็นสำหรับการปกป้อง และป้องกันการเข้าเว็บไซต์ที่ไม่ปลอดภัยสำหรับละอ่อน (อย่างผม เหอๆๆ) และผู้ใหญ่บางคน สำหรับภาคนี้เป็นวีดีโอแนะนำการ Configuration pfSense เพื่อใช้บริการ Web Content Filtering ของ OpenDNS นั่นเอง

หัวข้อการบรรยาย

- กำหนด DNS Server บน pfSense
- สมัครสมาชิก OpenDNS
- โหลดโปรแกรม OpenDNS Updater
- Add a Network
- Setting URL Packet Filter
- ทดสอบระบบ

บทความที่เกี่ยวข้อง

 

13 Responses to “pfSense and OpenDNS (VDO Tutorial)”

  1. laontalk 29 January 2009 at 9:49 pm Permalink

    ผมรู้สึกว่ายังบรรยายได้ไม่ค่อยดีเท่าไหร่ ขนาดฟังเองยังขัดๆ หูเลย เพื่อนๆ ฟังแล้วถ้าไม่เข้าใจก็ feedback กลับมาบ้างนะคับ จะได้ปรับปรุง..

  2. karamung 4 February 2009 at 9:43 pm Permalink

    ก็ไม่ค่อยเข้าใจอ่ะครับ เป็นเพราะว่าผมมันโครตละอ่อน มือใหม่มาก เลยไม่ค่อยเข้าใจศัพท์บ้าง แต่ก็เพราะว่าได้ดูนี่แหละครับทำให้มีความรู้เพิ่มขึ้น ขอบคุณครับท่านอาจารย์

  3. rookie 28 April 2009 at 10:11 am Permalink

    pfsense ทำ dns ได้ไหมครับ

    ถ้าทำได้ฃ่วยทำวีดีโอสอนหน่อยได้ไหมครับ

    ขอบคุณล่วงหน้าครับ

    • laontalk 29 April 2009 at 12:40 pm Permalink

      pfSense ทำหน้าที่เป็น DNS Server ไม่ได้
      ทำได้แค่ DNS forwarder ตามที่สอนนีแหละครับ

  4. ocwcoo 21 May 2009 at 5:47 pm Permalink

    อยากให้ช้วยในเรื่องการ config พวก line game internet download ที่มีการ config 2 การ์ดขึ้นไปคับ ขอบคุณคับ

  5. tang 25 May 2009 at 12:09 pm Permalink

    ผมโหลด clip นี้ไม่ได้อะครับ ลบกวนทำลิงค์ให้ดาวน์โหลดได้มั้ยครับ
    เพราะว่าจะเอา clip ไปศึกษาที่บ้านน่ะครับ

  6. atse_p 5 June 2009 at 9:36 pm Permalink

    ช่วยด้วยครับผมเข้าไป config ไม่ได้เลยครับ ไม่รู้ไปกดอะไรของโปรแกรม
    แต่ก่อน เข้า 192.168.1.1 ได้แต่ตอนนี้ไม่ได้แล้ว
    อินเตอรเน็ตใช้งานได้ปกติดีและเป็นไปตามที่กำหนดไว้ในโปรแกรมตอนที่ config ได้

    • laontalk 6 June 2009 at 12:23 am Permalink

      .
      อย่างนี้มันต้องถอนครับ ลองดูตามนี้

      1. remote ผ่าน putty แล้วทการ Restart Webconfigurator หรือ

      2. ต่อ monitor + keyboard กับเครื่อง pfSense
      แล้วทำการ Restat Webconfigurator

      3. ทำการ Resart เครื่องใหม่

  7. kk_kit 19 August 2010 at 4:11 pm Permalink

    ดูไม่ได้แล้วคับ กรุณาอัพโหลดไหมได้ไหมคับ ขอบคุณมากคับ

  8. Savings Account 1 September 2010 at 1:56 pm Permalink

    well that is definitely some nuts stuff

  9. Tae 3 September 2010 at 11:24 am Permalink

    ทำอย่างไรให้เราสามารถให้ User เวลากดเข้าหน้า web แล้ว redirect Public IP ไปที่ server ข้้างในวง LAN เพื่อลด traffic ขาออกได้ครับ

    คือตอนนี้ผมกำลังทดลองทำอยู่ โดย ผมมี server สองตัว

    แต่ละตัวต่อออก internet แยกวง

    ตัวที่ 1 เรียก Server A ตัวนี้เป็น windows server 2003 ที่เป็น web server และเก็บโปรแกรม SugarCRM เอาไว้ให้ user เรียกใช้งานผ่าน web browser
    ตัวนี้ต่อผ่าน router มี static ip 203.xxx.xxx.xx ตัวนี้ IP: 192.168.0.2

    ตัวที่ 2 เรียก Server B ทำหน้าที่เป็น netserver เป็น pfsense + squid ตัวนี้ต่อ internet แบบไม่มี fixed IP ตัวนี้ IP: 192.168.0.1 และเป็น gateway

    ผู้ใช้งานทั่วไปปกติจะเข้าเนทออกเนทผ่านทาง 192.168.0.1

    โดยผมได้ทำ DNS forwarded http://www.xxx.com ให้ไปที่ 192.168.0.2 ไว้ที่ pfsense ซึ่งทดลอง ping ไปที่ http://www.xxx.com จะได้ ค่าเป็น 192.168.0.2

    นั่นคือเวลาผมเรียก http://www.xxx.com ที่หน้าจอ internet browser เครื่องจะไม่ออกไปข้างนอกบริษัททาง 192.168.0.1 แต่จะไปเรียกหน้าจอ web จากที่ 192.168.0.2 ได้โดยตรง ลด traffic ขาออกและขาเข้า ไม่้ต้องวิ่งย้อนกัน

    ปัญหาคือ

    ถ้าผมเรียก http://www.xxx.com/sugarcrm เมื่อไหร่ มันจะวิ่งออกไปข้างนอกผ่าน 192.168.0.1 และกลับเข้ามาทาง 203.xxx.xxx.xx อีกที

    มีวิธีแก้ไขที่จะทำให้ผมทำ redirect/ forward จากตัว static IP แทนไหมครับ เพราะตอนนี้ถ้าผม ping http://www.xxx.com จะได้ 192.168.0.2 แต่ถ้า ping http://www.xxx.com/sugarcrm ผมจะได้ 203.xxx.xxx.xx

    เพิ่มเติม ตัว web http://www.xxx.com จดทำ IP forwarding ไว้ที่ zoneedit ครับให้ forward กลับมาที่ 203.xxx.xxx.xx

    อนึ่ง. ด้วยความจำเป็นบางอย่างทำให้ผมไม่ได้ทำ load balance ครับผม แต่ในอนาคตอาจจะทดลองทำดูครับ ตอนนี้ยังไม่ไหวจริงๆ

    รบกวนขอคำแนะนำด้วยครับ

    • laontalk 3 September 2010 at 12:10 pm Permalink

      ผมอ่านแล้วสรุปความเข้าใจตามนี้ ใช่หรือไม่??

      - เครื่อง Win2k3 + SugarCRM + Internet Static IP เน้นใช้ประโยชน์ในกรณีที่ User เข้ามาใช้ SugarCRM จาำกภายนอก แต่ถ้าต้องการเรียกใช้จากภายในก็ต้องการให้วิ่งผ่าน LAN Subnet

      - เครื่อง pfSense + Internet ADSL (Dynamic IP) เน้นให้ User ใช้งาน Internet ผ่านช่องทางนี้

      วิธีแก้ปัญหา
      - ยกเลิกบริการ Zonedit
      - ทำการจดโดเมนใหม่ http://www.xxx.com
      - ให้ Win2K3 ทำหน้าที่เป็น WebServer + Hosting
      - Parking domain http://www.xxx.com เข้ากับ Win2K3
      - ใช้ pfsense เป็น Internet Gateway โดยต่อ Internet 2 link เข้าด้วยกัน (แต่ไม่ต้อง Load Balance ) หรือจะทำก็ได้
      - กำหนดให้ WAN1 ADSL, WAN2 Static IP
      - กำหนด pfSense Rule ให้ outbound traffic ออก WAN1 เท่านั้น
      - กำหนด pfSense port forward WAN2 มายัง Win2K3

      หรือ ทำการออกแบบ Network ใหม่โดยกำหนดให้ Win2K3 ไปอยู่ที่ DMZ

      น่าจะตอบโจทย์ได้นะครับ…


Leave a Reply

คุณสามารถแทรกลิงค์รูปภาพประกอบ ความกว้างไม่เกิน 550px คลิกที่นี่.

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIOC4o+C4seC4geC4geC4seC4meC5hOC4p+C5ieC5gOC4luC4tOC4lCDguYDguKPguLLguYDguIHguLTguJTguKPguYjguKfguKHguYHguJTguJnguYTguJfguKIg4LiI4Liw4LmA4LiB4Li04LiU4Lig4Liy4LiE4LmE4Lir4LiZ4LiB4LmH4LmE4LiX4Lii4LiU4LmJ4Lin4Lii4LiB4Lix4LiZIOC5gOC4iuC4t+C5ieC4reC4quC4suC4ouC4m+C4o+C4sOC5gOC4nuC4k+C4teC5hOC4oeC5iOC4oeC4teC4geC4seC4lOC4geC4seC5ieC4mSDguYDguIHguLTguJTguYPguJXguYnguJjguIfguYTguJfguKLguJnguLHguYnguJnguJvguKfguIfguIrguJnguJfguLjguIHguITguJnguITguLfguK3guYTguJfguKIsIOC4l+C5ieC4reC4h+C4luC4tOC5iOC4meC5geC4q+C4peC4oeC4l+C4reC4hyDguYDguKvguKHguLfguK3guJnguJfguYnguK3guIfguILguK3guIfguYHguKHguYgg4LmA4LiB4Li04LiU4LiW4Li04LmI4LiZ4LmA4LiU4Li14Lii4Lin4LiB4Lix4LiZ4LmB4LiX4LmJ4LmA4Lir4Lih4Li34Lit4LiZ4LmB4Lih4LmI4LmA4LiU4Li14Lii4Lin4LiB4Lix4LiZ4LmD4LiK4LmI4LmE4Lir4LihIOC4ouC4suC4oeC4ieC4seC4meC4oeC4reC4h+C4leC4suC4hOC4uOC4kyDguK3guJrguK3guLjguYjguJnguJTguKfguIfguYPguIgg4LmA4Lir4LmH4LiZ4Liq4Liy4Lii4LmA4Lil4Li34Lit4LiU4LmE4LiX4LiiIOC5g+C4meC4quC4suC4ouC4leC4suC4muC4reC4geC4quC4suC4ouC4quC4seC4oeC4nuC4seC4meC4mOC5jCwg4LiX4Liw4LmA4Lil4LmB4Liq4LiZ4LiH4Liy4LihIOC5g+C4meC4meC5ieC4s+C4oeC4teC4m+C4peC4siDguJ7guLfguIrguJ7guLHguJnguJjguLjguYzguYDguIHguKXguLfguYjguK3guJnguJXguLLguJXguLLguKHguYTguKPguYjguJnguLLguKPguKfguIfguJfguK3guIfguYTguKrguKcg4Liq4Li04LiZ4LiX4Lij4Lix4Lie4Lii4LmM4Lih4Li14LmA4LiB4Lil4Li34LmI4Lit4LiZ4LiB4Lil4LmI4LiZIOC4muC4o+C4o+C4nuC4iuC4meC5g+C4q+C5ieC5hOC4p+C5iSDguYDguKPguLLguKXguLnguIHguKvguKXguLLguJnguYTguJfguKLguIjguIfguKPguYjguKfguKHguYPguIjguKPguLHguIHguKnguLLguYPguKvguYnguKHguLHguYjguJkuLi48L2xpPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzI1MF9hZHNlbnNlPC9zdHJvbmc+IC0gPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+PCEtLQ0KZ29vZ2xlX2FkX2NsaWVudCA9IFwicHViLTI2ODI5ODQ3MjYxMzMwMzBcIjsNCi8qIDI1MHgyNTAsIOC4luC4ueC4geC4quC4o+C5ieC4suC4h+C4guC4tuC5ieC4meC5geC4peC5ieC4pyAxMi8yOS8wOCAqLw0KZ29vZ2xlX2FkX3Nsb3QgPSBcIjI5MDE2NjI4MThcIjsNCmdvb2dsZV9hZF93aWR0aCA9IDI1MDsNCmdvb2dsZV9hZF9oZWlnaHQgPSAyNTA7DQovLy0tPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIg0Kc3JjPVwiaHR0cDovL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9zaG93X2Fkcy5qc1wiPg0KPC9zY3JpcHQ+PC9saT48bGk+PHN0cm9uZz53b29fYWRfMjUwX2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMjUweDI1MC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF8yNTBfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfY29udGVudF9hZHNlbnNlPC9zdHJvbmc+IC0gPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+PCEtLQ0KZ29vZ2xlX2FkX2NsaWVudCA9IFwicHViLTI2ODI5ODQ3MjYxMzMwMzBcIjsNCi8qIDQ2OHg2MCwg4LiW4Li54LiB4Liq4Lij4LmJ4Liy4LiH4LiC4Li24LmJ4LiZ4LmB4Lil4LmJ4LinIDEyLzI5LzA4ICovDQpnb29nbGVfYWRfc2xvdCA9IFwiMzA5OTY4MzM5MlwiOw0KZ29vZ2xlX2FkX3dpZHRoID0gNDY4Ow0KZ29vZ2xlX2FkX2hlaWdodCA9IDYwOw0KLy8tLT4NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCINCnNyYz1cImh0dHA6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hvd19hZHMuanNcIj4NCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2NvbnRlbnRfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy00Njh4NjAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vaW1nLmJsdWVob3N0LmNvbS8xMjV4MTI1LzMuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMjwvc3Ryb25nPiAtIGh0dHA6Ly9pbWcuaG9zdG1vbnN0ZXIuY29tLzEyNXgxMjUvMS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sdW5hcnBhZ2VzLmNvbS9iYW5uZXJzL2ltYWdlcy9iYW5uZXJfYWRzXzEyNXgxMjVfMDIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNDwvc3Ryb25nPiAtIGh0dHA6Ly93cHdlYmhvc3QuY29tL2FmZmlsaWF0ZS9iYW5uZXJzL3dwYmFubmVyMTI1eDEyNS0xM2suZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV82PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3BhZ2U8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy00Njh4NjAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3LmJsdWVob3N0LmNvbS90cmFjay9haXNob3AvYmxvZzAxPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzI8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lmhvc3Rtb25zdGVyLmNvbS90cmFjay94aXJiaXQvYmxvZzAxPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzM8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lmx1bmFycGFnZXMuY29tL2lkL3NlYXRlY2g8L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNDwvc3Ryb25nPiAtIGh0dHA6Ly93cHdlYmhvc3QuY29tL2FmZmlsaWF0ZS9pZGV2YWZmaWxpYXRlLnBocD9pZD0yOTdfMF8xXzE5PC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzU8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZGVmYXVsdC5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hcmNoaXZlc19wYWdlPC9zdHJvbmc+IC0gQXJjaGl2ZXM8L2xpPjxsaT48c3Ryb25nPndvb19hc2lkZXNfY2F0ZWdvcnk8L3N0cm9uZz4gLSBGZWF0dXJlZDwvbGk+PGxpPjxzdHJvbmc+d29vX2FzaWRlc19lbnRyaWVzPC9zdHJvbmc+IC0gMTwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dG9faW1nPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19iZ3I8L3N0cm9uZz4gLSBkZWZhdWx0LmNzczwvbGk+PGxpPjxzdHJvbmc+d29vX2NhdF9leDwvc3Ryb25nPiAtIDE1PC9saT48bGk+PHN0cm9uZz53b29fY2F0X21lbnU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9hcmNoaXZlczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9ob21lPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mYWNlYm9vazwvc3Ryb25nPiAtIG1hc2UudGI8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9jYXRlZ29yeTwvc3Ryb25nPiAtIEZlYXR1cmVkPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfZW50cmllczwvc3Ryb25nPiAtIDM8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9wb3N0czwvc3Ryb25nPiAtIDE8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gMjc5NTM0MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gaHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL0xhb250YWxrPC9saT48bGk+PHN0cm9uZz53b29fZmxpY2tyX2VudHJpZXM8L3N0cm9uZz4gLSA2PC9saT48bGk+PHN0cm9uZz53b29fZmxpY2tyX2lkPC9zdHJvbmc+IC0gMzUzNjgxMzRATjA2PC9saT48bGk+PHN0cm9uZz53b29fZm9vdF9jYXRfbWVudTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fZm9vdF9uYXZfZXhjbHVkZTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2xpbmtfZGVzYzwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfbGlua190ZXh0PC9zdHJvbmc+IC0gSG9tZTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aHVtYl93aWR0aDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX2hlaWdodDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fbGF5b3V0PC9zdHJvbmc+IC0gZGVmYXVsdC5waHA8L2xpPjxsaT48c3Ryb25nPndvb19sb2dvPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sYW9udGFsay5jb20vaW1hZ2VzL2xhb250YWxrX2xvZ28ucG5nPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL3N1cHBvcnQvdGhlbWUtZG9jdW1lbnRhdGlvbi9tYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9lbnRyaWVzPC9zdHJvbmc+IC0gNDwvbGk+PGxpPjxzdHJvbmc+d29vX290aGVyX2hlYWRsaW5lczwvc3Ryb25nPiAtIDQ8L2xpPjxsaT48c3Ryb25nPndvb19wcm9maWxlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy84LXRoYWkwMV9yZXNpemUuanBnPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfYWRzX2JvdHRvbTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc190b3A8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19mZWF0dXJlZDwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X3ZpZGVvPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfd2lkdGg8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBNYWluc3RyZWFtPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb190d2l0dGVyPC9zdHJvbmc+IC0gbGFvbnRhbGs8L2xpPjxsaT48c3Ryb25nPndvb191cGxvYWRzPC9zdHJvbmc+IC0gYTo2OntpOjA7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy84LXRoYWkwMV9yZXNpemUuanBnIjtpOjE7czo2NjoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy83LXRoYWkwMV9yZXNpemUuanBnIjtpOjI7czo2MzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy82LXdlbG92ZXRoYWkuanBnIjtpOjM7czo1NzoiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy81LXRoYWkucG5nIjtpOjQ7czo2NToiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy80LWlhbV9sYW9udGFsay5qcGciO2k6NTtzOjY1OiJodHRwOi8vd3d3Lmxhb250YWxrLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzMtaWFtX2xhb250YWxrLmpwZyI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX3ZpZGVvX2NhdGVnb3J5PC9zdHJvbmc+IC0gVmlkZW9zPC9saT48L3VsPg==