Login
    
Login

26 January 2009 ~ 37 Comments

ตอนที่2: การใช้งาน pfSense Firewall (VDO Tutorial)

pfSense Firewall Configuration สำหรับวีดีโอนี้ค่อนข้างละเอียดพอสมควร ฉะนั้นไฟล์วีดีโอก็เลยใหญ่ไปนิดหน่อยประมาณ 35.17MB ความยาว 18 นาที เหมาะมากสำหรับผู้เริ่มต้นใหม่ และผู้ที่กำลังมองหา firewall สำหรับ SME ทนดูหน่อยก็แล้วกันนะครับ

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

Setup Wizard
General Setting (SSH, HTTPS etc.)
Firewall Rule (LAN, WAN)

โหลดไฟล์คุณภาพสูง วีดีโอสอนการใช้งาน pfSense Firewall Link-1
ดาวน์โหลดเอกสารที่เกี่ยวข้อง คลิกที่นี่
Ports for Internet Services คลิกที่นี่

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

 

37 Responses to “ตอนที่2: การใช้งาน pfSense Firewall (VDO Tutorial)”

  1. laontalk 31 January 2009 at 12:35 am Permalink

    แหล่งรวบรวมคู่มือ pfSense – English
    http://doc.pfsense.org/index.php/Tutorials

  2. Somsak_Bst 21 March 2009 at 10:55 pm Permalink

    เป็น web site ที่มีประโยชน์มากครับ นับถือในความีน้ำใจ ผม post ใน Thaiadmin.org มีคนแนะนำ web site นี้ เลยตามมาดู ผมดู vdo ตอนนี้แล้ว น่าจะใกล้เคียงกับสถานการณ์ที่ผมกำลังทดลองอยู่ คือตอนนี้ผมติดตั้ง pfSense 1.2.2 ตามโครงสร้างทั่วไปคือติดตั้งบน Server ที่มี 3 NIC คือ

    1.WAN ใช้ Public IP (องค์กรได้ ip subnet /28 มี IP ใช้ 14 เบอร์ครับ)
    2.LAN ใช้ private IP (192.168.1.0/24)
    3.DMZ หรือใน pfSense เรียก OPT1 ใช้ private IP (192.168.2.0/24) ใน DMZ นี้ จะเอา DNS, Web, Mail ไปไว้ในนั้น รวมทั้ง Centralize Log ตาม พรบ.(อันนี้ไม่แน่ใจว่าจะเหมาะสมหรือเปล่า)

    ลอง set Rules ให้ออก internet ก็ออกไปได้ปกติ แต่ความต้องการพื้นฐานต่อไปนี้ พยายาม หลายสัปดาห์แล้ว ยังทำไม่ได้

    1.browse จาก LAN เข้าไปใน DMZ set ยังไงครับ?

    2.FTP, SSH จาก LAN ไปยัง Server ใน DMZ set ยังไงครับ? เพราะนั่งทำงานใน LAN ต้องการ FTP, SSH ไปยัง Server ต่างๆ ใน DMZ

    3.ใน DMZ เราใช้ private IP แล้ว internet เขาจะ browse web server ของเราได้ยังไง set ยังไงครับ?

    4. เท่าที่เห็นไม่มีบริการ proxy มาใน pfSense, Squid proxy server ควรอยู่ในวง LAN ใช่ไหมครับ ดูๆ ไม่น่าจะเหมาะถ้าจะเอาไปไว้ใน DMZ ?

    ขอบคุณล่วงหน้่าครับ สำหรับคำแนะำนำ ถ้าทำเป็น clip vdo เลยก็น่าจะีดี ผมเชื่อว่าน่าจะมีหลายที่ มีโครงสร้าง network และวางตำแหน่ง firewall ไว้คล้ายๆ แบบนี้ แต่ผมไม่รู้เขา set ไง ให้เข้าหา DMZ จาก LAN ได้ และ internet ก็ browse DMZ ได้ด้วย

  3. laontalk 26 March 2009 at 10:24 am Permalink

    รับไว้พิจารณา.. พอดีช่วงนี้งานเข้า เดี๋ยวว่างๆ จะทำเป็น Clip VDO มาโพสต์ให้ครับ

  4. pangkung 11 April 2009 at 5:18 pm Permalink

    ขอบคุณมากครับ

  5. thanin 23 April 2009 at 9:59 pm Permalink

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

  6. kajoo 9 May 2009 at 3:22 pm Permalink

    จะกำหนด rule ให้ ไอพีหนึ่งเดียว สามารถออกได้ทุกพอร์ต
    และที่เหลือเข้า rules ที่กำหนดไว้ให้หมดเลยทำไงครับ

  7. laontalk 11 May 2009 at 1:16 am Permalink

    1. ทำการสร้าง Firewall > Aliases > Type > Network
    โดย type มี 3 ประเภทดังต่อไปนี้
    - Hosts ใส่ IP Address ของโฮสเนม โดยใช้คำสั่ง nslookup ตรวจสอบดู
    - Network ใส่หมายเลข IP Address 192.168.10.200/32
    CIDR Calculator
    - Ports ใส่หมายเลข ports 80, 25, 110 etc.

    2. สร้าง Rule ใหม่ โดยไปที่ Firewall > Rules > LAN
    - กำหนดให้ Source Type > Single host or alias
    - ใส่ชื่อ Alias ที่เราได้สร้างไว้แล้วตามข้อที่หนึ่ง

    คำอธิบายเพิ่มเติม
    การประยุกต์ใช้ Aliases สามารถนำไปใช้ได้ทั้งส่วน Source (ต้นทาง) หรือ Destination (ปลายทาง) เช่น เราต้องการให้ IP x.x.x.200-201 สามารถใช้งาน laontalk.com, xirbit.com เท่านั้น

    เราต้องสร้าง Aliases ขึ้นมา 2 รายการ
    1. Alias name = A, Type > Network = x.x.x.200, x.x.x.201
    2. Alias name = B, Type > Hosts = laontalk.com, xirbit.com (ต้องแปลงโฮสเนมเป็น IP Address)

    3. สร้าง Rules > LAN โดยกำหนดให้
    Source > Type > Single Host or Alias = A
    Destination > Type > Single Host or Alias = B

    คำเตือน!
    การทำงานของ Rules จะต้องเรียงลำดับจากบนลงล่าง

  8. kajoo 11 May 2009 at 4:30 pm Permalink

    อย่าง network ของผม เป็น
    192.168.1.0/24

    ผมต้องการให้ ip 192.168.1.200 สามารถออกได้ทุกพอร์ต
    แล้วที่เหลือ ต้องเข้า rule ที่ตั้งไว้

    ใน Firewall ==> Aliases ==> Type ==> Network ผมต้องใส่ 192.168.1.200
    CIDR ผมต้องใส่ 24 ใช่ไหมครับ

    เรื่องนี้ผมยังไม่ค่อยเข้าใจเท่าไหร่ ขอบคุณสำหรับคำตอบนะครับ

  9. laontalk 11 May 2009 at 6:09 pm Permalink

    ขอรายละเอียดเพิ่มหน่อยครับ

    1. ต้องการให้ 1 IP (192.168.1.200) สามารถออกได้ทุก ports (OK เข้าใจ)
    2. ที่เหลือให้เ้ข้า Rules ?? คือให้ใช้ได้แค่ smtp, pop3, ftp เท่านั้นเหรอป่าว หรือย่างไร?

  10. kajoo 11 May 2009 at 9:03 pm Permalink

    1. ต้องการให้ 1 IP (192.168.1.200) สามารถออกได้ทุก ports (OK เข้าใจ) ==> ใช่เลยครับ
    2. ที่เหลือให้เ้ข้า Rules ?? คือให้ใช้ได้แค่ smtp, pop3, ftp เท่านั้นเหรอป่าว หรือย่างไร? ==> smtp,pop3,ftp,https,dns.icmp,http ครับ

  11. laontalk 11 May 2009 at 9:59 pm Permalink

    .
    1. สร้าง Aliases > Network = 192.168.1.200/32
    2. สร้าง Aliases > Ports = 25, 110, 21, 443, 53, 5813, 80 (เช็ค ports อีกทีนะ)
    3. สร้าง Rules > LAN ขึ้นมา 2 รายการ

    Rule ที่ 1
    ———-
    Action: Pass
    Interface: LAN
    Protocol: any
    Source: Single host or alias
    Address: ใสชื่อ alias ตามข้อ 1
    Source OS: any
    Destination: any
    Log: เลือก (ถ้าต้องการ)

    Rule ที่ 2
    ———–
    Action: Pass
    Interface: LAN
    Protocol: TCP/UDC
    Source: LAN Subnet
    Source OS: any
    Destination: Single host or alias
    Address: ใส่ชื่อ alias ตามข้อ 2
    Log: เลือก (ถ้าต้องการ)

  12. kajoo 12 May 2009 at 1:14 pm Permalink

    ขอบคุณครับ ทำได้แล้วครับ

    ส่วน rule อื่น ที่เคยทำไว้ ก้อปิดหมดเลยใช่ไมหครับ

  13. laontalk 12 May 2009 at 7:38 pm Permalink

    .
    Rules ไหนที่ไม่ได้ใช้ควร Disable หรือลบไปเลย
    เพราะถ้ามีไว้โปรแกรมก็จะเรียกใช้งานทุกครั้ง

  14. kajoo 25 May 2009 at 9:24 am Permalink

    port ftp เวลาที่ดาวน์โหลด ส่วนใหญ่จะดาวน์โหลดไม่ได้เลยครับ
    แต่ถ้าผมคอนเนคกับเร้าเตอร์โดยตรง สามารถโหลดได้ตามปกติครับ

    มันเป็นอะไรหรือครับ
    ใน รูล ผมก้อเปิด port 21 แล้วนะครับ

    ขอบคุณสำหรับคำแนะนำครับ

  15. laontalk 25 May 2009 at 1:09 pm Permalink

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

    Interfaces > WAN > FTP Helper
    ทำการเลิอก Disable the userland FTP-Proxy application

  16. tang 25 May 2009 at 6:03 pm Permalink

    อยากให้ช่วยสอนการทำ Authen ใน pfsense ให้หน่อยอะครับ เพื่อจะได้ให้คนใช้ ใส่ username password ก่อนเข้าใช้งาน internet อะครับ จะได้รู็ว่าใครไปเว็บไหนมาบ้าง เพื่อเป็นข้อมูลใน log file น่ะครับ

  17. kajoo 27 May 2009 at 9:45 am Permalink

    ลองทำตามแล้วก้อยังไม่ได้ครับ

  18. laontalk 27 May 2009 at 10:31 pm Permalink

    K.Kajoo ลองอีกวิธีนะ โดยทดลองเซ็ตตามนี้

    Interfaces > WAN ทำการยกเลิก
    - Block private networks
    - Block bogon networks

    ส่วน FTP Helper ให้เลือกไว้เหมือนเดิม

    ถ้ายังไม่ได้ ช่วย Post วิธีการเซ็ต Rules มาให้ดูหน่อย

    ftphelper.jpg

  19. kajoo 29 May 2009 at 9:48 am Permalink

    ไอพีของผมเซ้ทให้วิ่งออกที่ WAN2 ครับ

    แล้วอีกอย่างนะครับ ผมเปิดใช้งาน firewall ไปประมาณ หนึ่งอาทิตย์ port25 110 ชอบ hang ผมต้อง reboot ถึงจะใช้งานได้ใหม่อ่ะครับม านเกิดจากอะไรหรือครับ

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

  20. laontalk 30 May 2009 at 6:19 am Permalink

    .
    K. Tang การทำ Authentication บน pfSense สามารถทำได้ด้วย Captive Portal ตามนี้เลย

    http://doc.pfsense.org/smiller/Captive_Portal.htm

  21. laontalk 30 May 2009 at 6:32 am Permalink

    K.Kajoo ถ้าเครื่อง Hang Over ก็เกิดได้หลายสาเหตุครับ หลักๆ คงเป็นเรื่องของ Hardware Compatible แนะนำว่าควรเป็น CPU + Chipset Intel ไม่ต้องใหม่มากครับ

    เบื้องต้นลองเปลี่ยน LAN Card หาซื้อมือสอง Chipset Intel ได้ยิ่งดี, ถ้ายังไม่หายคงต้องเปลี่ยน Mainboard ล่ะที่นี้

    ผมใช้เครื่องมือสองจากตะวันนา Baby Case ราคา 3,000 บาท เปิดมา 2 ปีไม่เคยปิดเลย
    รายละเอียด H/W Compatible List

    http://www.freebsd.org/releases/7.0R/hardware.html

  22. kajoo 30 May 2009 at 9:58 am Permalink

    เครื่องผมใช้ PowerEdge SC430 การืดแลนของ SMC ซื้อมาใหม่เลยครับ

  23. kajoo 1 June 2009 at 5:30 pm Permalink

    นี่คือ rules ของผมครับpf_rules.jpg

  24. kajoo 2 June 2009 at 12:18 pm Permalink

    แล้วอีกอย่างนะครับ ที่ขา WAN2 ถ้่าผมใช้งานผ่าน pfsense มันชอบมีอาการ loss อ่ะครับ คือว่า เวลาที Browse
    จะใช้งานไม่ได้ รอสักไม่กี่วินาที ก้อจะใช้งานได้ตามปกติ

    แต่ถ้าผมต่อตรงจากเร้าเตอร์ จะใช้งานได้ตลอดเลยครับ

  25. kajoo 5 June 2009 at 8:22 am Permalink

    โอเคครับ อาการ loss ผมแก้หายแล้วครับ เหลือแต่ port21 ที่ออกทาง WAN2 เท่านั้นครับ ถ้าผมเปลี่ยนเป็น WAN ถ้าสามารถใช้งานได้ตามปกติครับ

  26. laontalk 5 June 2009 at 9:46 am Permalink

    ดีใจด้วยครับ ตกลงปัญหามันเกิดจาก H/W หรือ Configuration ครับ ช่วยชี้แจงหน่อย เผื่อปัญหาอาจตรงกับท่านอื่นๆ

  27. kajoo 5 June 2009 at 3:52 pm Permalink

    มานเป็นที่ HW ครับ lan card ไม่ค่อยจะดีครับ เปลี่ยนอันใหม่ ใช้ได้เลยครับ

  28. laontalk 6 June 2009 at 12:14 am Permalink

    โอว์.. แหล่มเลยครับพี่น้อง

  29. kajoo 6 June 2009 at 10:21 am Permalink

    แล้วport ผมจะแก้อย่างไรอ่ะครับ
    ถ้าผมเลือก gateway เป็น wan1 สามารถใช้งานได้
    ถ้าเลือกเป็น wan+wan2 หรือ wan2 ไม่สามารถใช้งานได้ครับ

  30. laontalk 6 June 2009 at 4:40 pm Permalink

    ถ้าผมมีเน็ต 2 เส้นก็จะช่วยทดสอบให้อยู่หรอก อีก port หนึ่งที่คาดว่าน่าจะมีปัญหาคือ (HTTPS) 443 ได้ลองแล้วหรือยังครับ

    รายละเอียดเพิ่มเติมลองดูตามนี้ครับ
    http://doc.pfsense.org/index.php/Multi_WAN_/_Load_Balancing
    http://doc.pfsense.org/index.php/MultiWanVersion1.2

    ถ้าลองทุกวิธีแล้วไม่ได้จริงๆ คงต้องใช้ WAN1 ล่ะ, เพื่อนๆ คนไหนใช้ Multiwan เจอปัญหานี้บ้างหรือป่าว ช่วยไขข้อข้องใจหน่อย

  31. teekaou 25 June 2009 at 2:54 pm Permalink

    อยากรบกวนสอบถามเรื่อง Loadbalance นะครับ

    ตอนนี้ปัญหาคือ

    หากเราเปิดเครื่อง เมื่อใช้งาน internet ปกติ

    หากสักพัก มี WAN เส้นใดหลุดไป

    Internet จะไม่ Auto ในการเปลี่ยนเส้นทางออกเน็ต

    ต้องทำการ restart เครื่อง เพื่อให้ pfsense รู้ว่ามีเส้นนึงเสีย จึงจะทำการ switch line ให้นะครับ

    ไม่ทราบว่า มีวิธีการให้มันทำการตรวจสอบเรื่อยๆ ไหมครับ

    รบกวนด้วยนะครับ

    ขอบคุณครับ

  32. laontalk 25 June 2009 at 9:57 pm Permalink

    ฟังดูแล้วอาการมันงึกๆ งักๆ ใช่ไหมครับ อย่างนี้มันต้องปรึกษา ปอยฝ้ายละมั้ง ถ้าจำเป็นต้องถอน คงต้องถอนรากถอนโคนเลยทีเดียว

    ผมขอวิเคราะห์ปัญหาแบบละอ่อน ดังนี้

    1. การ Configuration

    2. Hardware

    pfSense มีคุณสมบัติหนึ่งเรียกว่า Sticky Connection แปลว่า เกาะหนึบ ติดทนนาน
    ถ้ามั่นใจว่า Configuration ไม่พลาด คงต้องเป็นข้อ 2 ล่ะครับ

    เบื้องต้นเปลี่ยน LAN Card ก่อนเลย ถ้าแก้ได้แล้วช่วยมาตอบเพื่อท่านอื่นด้วยนะครับ

  33. laontalk 26 June 2009 at 7:12 pm Permalink

    .
    Multi-WAN Rules แบบละอ่อนครับ

    multi-lan-rule.jpg

    Choose one of the following:
    1) FTP incoming or outgoing is impossible with Multi-WAN on either WAN
    interface
    2) FTP is impossible on Multi-WAN incoming, but possible outgoing only
    through WAN1
    3) FTP is impossible on Multi-WAN incoming, but possible outgoing through
    either WAN (the lb gateway)
    4) FTP is possible on Multi-WAN incoming and outgoing only through WAN1
    5) FTP is possible on Multi-WAN incoming only through WAN1 and outgoing
    through either WAN (the load balance gateway)

  34. mrprasit 30 June 2009 at 10:00 am Permalink

    ครับปัญหาคลายกัน
    ของผมคือ ADSL ,Lesed line
    rule
    sub net port 21 > Leased line Ok ได้อันเดียว
    sub net port 443 > Leased line ไม่ได้ time out ตลอดครับ
    port อื่นก็เหมือนกันครับ

    แต่ถ้าใช้
    sub net port * > ADSL or Leased line ผ่านหมดครับ

    ทอสอบใช้ Aliases มาช่วยก็หมดเหมือนเดิม
    ผมไม่แน่ใจว่าเป็นที่ vl.ของ pfsense หรือเปล่า ผมใช้ 1.2-RELEASE

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

  35. laontalk 30 June 2009 at 10:12 am Permalink

    แนะนำให้ upgrade เป็นเวอร์ชั่น 1.2.3 RC1 ครับ ไม่มีปัญหาเรื่อง Secure website ยกเว้น FTP อย่างเดียว วิธีแก้ไขปัญหา FTP เหมือนตัวอย่าง Rule ที่โพสต์ไว้ครับ

  36. chaiburee 7 September 2009 at 8:30 am Permalink

    เป็นสุดยอดเว็บจริงๆครับ webmaster ขยันจริงๆ นับถือมากครับ

  37. PPP 21 September 2009 at 4:58 pm Permalink

    …..น่าสนใจ


Leave a Reply

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

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIOKAneC4l+C4teC5iOC5g+C4q+C5ieC4m+C4tOC4lOC4l+C4reC4h+C4q+C4peC4seC4h+C4nuC4o+C4sOC4geC5h+C5gOC4nuC4t+C5iOC4reC5gOC4leC4t+C4reC4meC4leC4seC4p+C5gOC4reC4h+C4p+C5iOC4siDguIHguLLguKPguJfguLPguITguKfguLLguKHguJTguLXguYTguKHguYjguIjguLPguYDguJvguYfguJnguJXguYnguK3guIfguK3guKfguJTguYPguITguKMg4Lir4Lij4Li34Lit4Lib4Lij4Liw4LiB4Liy4Lio4LmD4Lir4LmJ4LmD4LiE4Lij4Lij4Li54LmJIOC5g+C4q+C5ieC4l+C4s+C4q+C4meC5ieC4suC4l+C4teC5iOC5gOC4nuC4t+C5iOC4reC4q+C4meC5ieC4suC4l+C4teC5iCDguYHguKXguLDguJbguLfguK3guKfguYjguLLguITguKfguLLguKHguKrguLPguYDguKPguYfguIjguYPguJnguIHguLLguKPguJfguLPguKvguJnguYnguLLguJfguLXguYjguYDguJvguYfguJnguJrguLPguYDguKvguJnguYfguIjguKPguLLguIfguKfguLHguKXguJfguLXguYjguKrguKHguJrguLnguKPguJPguYzguYHguKXguYnguKfigJ0gKOC4nuC4o+C4sOC4o+C4suC4iuC4lOC4s+C4o+C4seC4qiDguJ7guKPguLDguJrguLLguJfguKrguKHguYDguJTguYfguIjguJ7guKPguLDguYDguIjguYnguLLguK3guKLguLnguYjguKvguLHguKfguK8pPC9saT48bGk+PHN0cm9uZz53b29fYWRzX3JvdGF0ZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19hZF8yNTBfYWRzZW5zZTwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPjwhLS0NCmdvb2dsZV9hZF9jbGllbnQgPSBcInB1Yi0yNjgyOTg0NzI2MTMzMDMwXCI7DQovKiAyNTB4MjUwLCDguJbguLnguIHguKrguKPguYnguLLguIfguILguLbguYnguJnguYHguKXguYnguKcgMTIvMjkvMDggKi8NCmdvb2dsZV9hZF9zbG90ID0gXCIyOTAxNjYyODE4XCI7DQpnb29nbGVfYWRfd2lkdGggPSAyNTA7DQpnb29nbGVfYWRfaGVpZ2h0ID0gMjUwOw0KLy8tLT4NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCINCnNyYz1cImh0dHA6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hvd19hZHMuanNcIj4NCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzI1MF9pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTI1MHgyNTAuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfMjUwX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2NvbnRlbnRfYWRzZW5zZTwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPjwhLS0NCmdvb2dsZV9hZF9jbGllbnQgPSBcInB1Yi0yNjgyOTg0NzI2MTMzMDMwXCI7DQovKiA0Njh4NjAsIOC4luC4ueC4geC4quC4o+C5ieC4suC4h+C4guC4tuC5ieC4meC5geC4peC5ieC4pyAxMi8yOS8wOCAqLw0KZ29vZ2xlX2FkX3Nsb3QgPSBcIjMwOTk2ODMzOTJcIjsNCmdvb2dsZV9hZF93aWR0aCA9IDQ2ODsNCmdvb2dsZV9hZF9oZWlnaHQgPSA2MDsNCi8vLS0+DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiDQpzcmM9XCJodHRwOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL3Nob3dfYWRzLmpzXCI+DQo8L3NjcmlwdD48L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtNDY4eDYwLTIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfY29udGVudF91cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8xPC9zdHJvbmc+IC0gaHR0cDovL2ltZy5ibHVlaG9zdC5jb20vMTI1eDEyNS8zLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vaW1nLmhvc3Rtb25zdGVyLmNvbS8xMjV4MTI1LzEuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubHVuYXJwYWdlcy5jb20vYmFubmVycy9pbWFnZXMvYmFubmVyX2Fkc18xMjV4MTI1XzAyLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vd3B3ZWJob3N0LmNvbS9hZmZpbGlhdGUvYmFubmVycy93cGJhbm5lcjEyNXgxMjUtMTNrLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzU8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9wYWdlPC9zdHJvbmc+IC0gU2VsZWN0IGEgcGFnZTo8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3A8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3RvcF9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtNDY4eDYwLTIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8xPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5ibHVlaG9zdC5jb20vdHJhY2svYWlzaG9wL2Jsb2cwMTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5ob3N0bW9uc3Rlci5jb20vdHJhY2sveGlyYml0L2Jsb2cwMTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5sdW5hcnBhZ2VzLmNvbS9pZC9zZWF0ZWNoPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzQ8L3N0cm9uZz4gLSBodHRwOi8vd3B3ZWJob3N0LmNvbS9hZmZpbGlhdGUvaWRldmFmZmlsaWF0ZS5waHA/aWQ9Mjk3XzBfMV8xOTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzY8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIGRlZmF1bHQuY3NzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZXNfcGFnZTwvc3Ryb25nPiAtIEFyY2hpdmVzPC9saT48bGk+PHN0cm9uZz53b29fYXNpZGVzX2NhdGVnb3J5PC9zdHJvbmc+IC0gRmVhdHVyZWQ8L2xpPjxsaT48c3Ryb25nPndvb19hc2lkZXNfZW50cmllczwvc3Ryb25nPiAtIDE8L2xpPjxsaT48c3Ryb25nPndvb19hdXRvX2ltZzwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYmdyPC9zdHJvbmc+IC0gZGVmYXVsdC5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19jYXRfZXg8L3N0cm9uZz4gLSAxNTwvbGk+PGxpPjxzdHJvbmc+d29vX2NhdF9tZW51PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbnRlbnRfYXJjaGl2ZXM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbnRlbnRfaG9tZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Nzczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9mYXZpY29uPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmFjZWJvb2s8L3N0cm9uZz4gLSBtYXNlLnRiPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfY2F0ZWdvcnk8L3N0cm9uZz4gLSBGZWF0dXJlZDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXR1cmVkX2VudHJpZXM8L3N0cm9uZz4gLSAzPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfcG9zdHM8L3N0cm9uZz4gLSAxPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl9pZDwvc3Ryb25nPiAtIDI3OTUzNDA8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly9mZWVkcy5mZWVkYnVybmVyLmNvbS9MYW9udGFsazwvbGk+PGxpPjxzdHJvbmc+d29vX2ZsaWNrcl9lbnRyaWVzPC9zdHJvbmc+IC0gNjwvbGk+PGxpPjxzdHJvbmc+d29vX2ZsaWNrcl9pZDwvc3Ryb25nPiAtIDM1MzY4MTM0QE4wNjwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3RfY2F0X21lbnU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Zvb3RfbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19nb29nbGVfYW5hbHl0aWNzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZ3JhdmF0YXI8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9saW5rX2Rlc2M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX2xpbmtfdGV4dDwvc3Ryb25nPiAtIEhvbWU8L2xpPjxsaT48c3Ryb25nPndvb19ob21lX3RodW1iX2hlaWdodDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV93aWR0aDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xheW91dDwvc3Ryb25nPiAtIGRlZmF1bHQucGhwPC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cubGFvbnRhbGsuY29tL2ltYWdlcy9sYW9udGFsa19sb2dvLnBuZzwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9zdXBwb3J0L3RoZW1lLWRvY3VtZW50YXRpb24vbWFpbnN0cmVhbTwvbGk+PGxpPjxzdHJvbmc+d29vX25hdl9leGNsdWRlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fb3RoZXJfZW50cmllczwvc3Ryb25nPiAtIDQ8L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9oZWFkbGluZXM8L3N0cm9uZz4gLSA0PC9saT48bGk+PHN0cm9uZz53b29fcHJvZmlsZTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3Jlc2l6ZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaG9ydG5hbWU8L3N0cm9uZz4gLSB3b288L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc19ib3R0b208L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19hZHNfdG9wPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfZmVhdHVyZWQ8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2hvd192aWRlbzwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfaGVpZ2h0PC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX3dpZHRoPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fdGhlbWVuYW1lPC9zdHJvbmc+IC0gTWFpbnN0cmVhbTwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2hlaWdodDwvc3Ryb25nPiAtIDEwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX3dpZHRoPC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdHdpdHRlcjwvc3Ryb25nPiAtIGxhb250YWxrPC9saT48bGk+PHN0cm9uZz53b29fdXBsb2Fkczwvc3Ryb25nPiAtIGE6Mjp7aTowO3M6NjU6Imh0dHA6Ly93d3cubGFvbnRhbGsuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvNC1pYW1fbGFvbnRhbGsuanBnIjtpOjE7czo2NToiaHR0cDovL3d3dy5sYW9udGFsay5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8zLWlhbV9sYW9udGFsay5qcGciO308L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFZpZGVvczwvbGk+PC91bD4=