Tugas Week 10 ~ Essential of Probability

Logo


Pendahuluan

Probabilitas merupakan salah satu konsep dasar yang sangat penting dalam statistika dan ilmu data. Melalui probabilitas, kita dapat memahami dan mengukur tingkat ketidakpastian dari suatu kejadian. Dalam kehidupan sehari-hari, konsep probabilitas digunakan untuk memprediksi cuaca, menentukan peluang dalam permainan, menganalisis risiko, hingga membuat keputusan berbasis data. Pada tugas ini, saya mempelajari beberapa materi dasar probabilitas melalui enam video pembelajaran, yang mencakup konsep ruang sampel, aturan komplemen, kejadian saling bebas, kejadian bergantung, kejadian saling lepas, hingga distribusi binomial.

Pemahaman terhadap materi tersebut menjadi dasar penting sebelum mempelajari topik statistik yang lebih lanjut. Dengan membuat rangkuman serta memahami contoh-contoh yang diberikan, saya dapat melihat bagaimana probabilitas tidak hanya menjadi teori abstrak, tetapi juga sangat relevan dalam analisis data dan pemecahan masalah dalam kehidupan nyata.

1 Konsep Dasar Probabilitas

Video berjudul “Probability, Sample Spaces, and the Complement Rule” membahas konsep dasar probabilitas dengan menekankan pentingnya memahami ruang sampel, kejadian, dan aturan komplemen. Probabilitas dijelaskan sebagai ukuran peluang suatu kejadian terjadi, dengan nilai yang selalu berada antara nol dan satu. Untuk dapat menghitung probabilitas dengan benar, langkah pertama yang diperlukan adalah menentukan sample space atau ruang sampel, yaitu kumpulan semua kemungkinan hasil dari sebuah percobaan acak. Contohnya, pada pelemparan koin ruang sampelnya adalah {H, T}, sedangkan pada pelemparan dadu enam sisi ruang sampelnya adalah {1, 2, 3, 4, 5, 6}. Dari ruang sampel ini kemudian ditentukan event, yaitu kumpulan hasil tertentu yang menjadi fokus pertanyaan, misalnya kejadian muncul angka ganjil pada dadu yang terdiri dari {1, 3, 5}. Setelah ruang sampel dan kejadian didefinisikan, probabilitas suatu kejadian dihitung menggunakan rumus dasar dengan asumsi setiap hasil memiliki peluang yang sama.

Bagian penting lain yang dijelaskan dalam video adalah complement rule atau aturan komplemen. Komplemen dari suatu kejadian A adalah semua hasil yang tidak termasuk dalam A, dan dituliskan sebagai A’. Aturan ini menyatakan bahwa jumlah probabilitas sebuah kejadian dan komplemennya adalah 1, atau . Dengan demikian, jika peluang suatu kejadian sulit dihitung secara langsung, sering kali lebih mudah mencari peluang komplemennya terlebih dahulu kemudian mengurangkannya dari satu. Misalnya, jika probabilitas muncul angka ganjil pada dadu adalah 1/2, maka probabilitas muncul angka genap dapat dihitung menggunakan rumus komplemen yaitu . Interpretasi dari keseluruhan pembahasan ini menunjukkan bahwa memahami probabilitas tidak hanya soal menghafal rumus, tetapi memahami struktur ruang sampel dan memanfaatkan aturan komplemen untuk mempermudah perhitungan. Konsep-konsep dasar ini menjadi fondasi penting untuk memahami topik probabilitas lanjutan seperti probabilitas bersyarat, aturan perkalian, dan distribusi peluang.

2 . Independent and Dependent

Video ini menjelaskan perbedaan antara independent events (kejadian-kejadian yang saling bebas) dan dependent events (kejadian yang saling bergantung), serta bagaimana menghitung probabilitas keduanya. Kejadian dikatakan independent apabila hasil dari satu kejadian tidak mempengaruhi kejadian lainnya, misalnya pelemparan dua koin atau dua kali pelemparan dadu. Dalam kasus kejadian bebas, rumus probabilitas gabungan menggunakan aturan perkalian sederhana, yaitu . Contoh klasiknya adalah probabilitas muncul kepala pada dua pelemparan koin yang terpisah; karena setiap pelemparan koin tidak memengaruhi yang lain, probabilitas gabungannya dapat langsung dikalikan. Sebaliknya, kejadian disebut dependent jika hasil kejadian pertama mempengaruhi peluang kejadian kedua. Video memberi contoh dengan mengambil kartu dari sebuah dek tanpa mengembalikannya. Ketika satu kartu diambil, jumlah kartu total berubah, sehingga probabilitas untuk kartu berikutnya juga berubah. Untuk kejadian bergantung, probabilitas gabungannya dihitung menggunakan rumus , di mana berarti probabilitas B terjadi setelah A sudah terjadi.

Interpretasi dari video ini menunjukkan bahwa memahami apakah dua kejadian saling bebas atau bergantung sangat penting karena mempengaruhi cara kita menghitung peluang gabungan. Banyak kesalahan dalam perhitungan probabilitas terjadi karena tidak membedakan dua konsep ini. Pada kejadian bebas, peluang tidak berubah meskipun satu kejadian sudah terjadi, sementara pada kejadian bergantung, peluang perlu diperbarui berdasarkan kejadian sebelumnya. Konsep ini sangat penting dalam analisis data, eksperimen statistik, dan situasi kehidupan nyata seperti penarikan sampel, permainan kartu, dan perhitungan risiko. Melalui penjelasan video, dapat dipahami bahwa inti probabilitas gabungan adalah melihat bagaimana satu kejadian memengaruhi kejadian lainnya, dan apakah hubungan itu ada atau tidak. Pemahaman ini menjadi dasar sebelum mempelajari probabilitas bersyarat yang lebih kompleks.

3 . Union of Events

ce

konsep penting dalam probabilitas, yaitu union of events atau gabungan dua kejadian, yang menggambarkan peluang bahwa setidaknya salah satu dari dua kejadian terjadi. Jika A dan B adalah dua kejadian, maka union ditulis sebagai , yang berarti “A atau B atau keduanya terjadi.” Video menjelaskan bahwa untuk menghitung probabilitas gabungan dua kejadian, kita menggunakan rumus umum:

P(A B) = P(A) + P(B) - P(A B).

Interpretasi dari penjelasan video ini menunjukkan bahwa memahami peluang gabungan tidak hanya tentang menjumlahkan peluang, tetapi juga memahami bagaimana dua kejadian saling berhubungan. Jika suatu kejadian dapat terjadi bersamaan dengan kejadian lain, maka perpotongan tersebut harus diperhitungkan secara tepat agar hasil probabilitas akurat. Dengan demikian, konsep union of events membantu menghindari kesalahan umum ketika menghitung peluang “A atau B,” terutama jika terdapat area yang tumpang tindih. Pemahaman terhadap hubungan antara A dan B — apakah saling lepas atau tidak — sangat penting dalam konteks statistika, analisis risiko, dan pengambilan keputusan berbasis probabilitas. Konsep ini menjadi dasar untuk topik yang lebih kompleks, seperti aturan penjumlahan umum dan perhitungan probabilitas untuk lebih dari dua event.

4 . Union of Events

“Mutually Exclusive and Exhaustive Events”

Video ini menjelaskan dua konsep penting dalam probabilitas, yaitu mutually exclusive events dan exhaustive events, serta bagaimana keduanya digunakan untuk memahami struktur kejadian dalam ruang sampel. Kejadian disebut mutually exclusive atau saling lepas apabila dua kejadian tidak dapat terjadi dalam waktu yang sama. Artinya, jika kejadian A terjadi, maka kejadian B pasti tidak terjadi, begitu pula sebaliknya. Contoh sederhana adalah hasil pelemparan dadu: kejadian “muncul angka 2” dan “muncul angka 5” adalah kejadian yang saling lepas, karena satu pelemparan hanya menghasilkan satu angka. Dalam kasus kejadian saling lepas, probabilitas gabungan dari dua kejadian dapat dihitung cukup dengan menjumlahkan peluang masing-masing kejadian, sebab tidak ada bagian yang tumpang tindih.

Selanjutnya, video membahas exhaustive events, yaitu kumpulan kejadian yang bersama-sama mencakup seluruh ruang sampel. Artinya, tidak ada satu pun hasil dari percobaan yang berada di luar kumpulan kejadian tersebut. Contoh dari kejadian yang exhaustif adalah ketika ruang sampel dadu dibagi menjadi {1, 2, 3} dan {4, 5, 6}; dua kelompok ini mencakup semua kemungkinan hasil pelemparan dadu. Kejadian yang bersifat exhaustive memastikan bahwa dalam setiap percobaan, setidaknya satu dari kejadian tersebut pasti terjadi. Video ini juga menegaskan bahwa dua kejadian bisa saja bersifat exhaustive tetapi tidak selalu mutually exclusive, tergantung bagaimana kejadian didefinisikan.

Interpretasi dari penjelasan video menunjukkan bahwa memahami kedua konsep ini sangat penting dalam membangun model probabilitas yang akurat. Mutually exclusive membantu kita mengenali ketika dua kejadian tidak memiliki irisan, sehingga rumus penjumlahan peluang dapat digunakan dengan mudah tanpa harus mengurangi perpotongan. Sementara itu, exhaustive events memberi keyakinan bahwa semua kemungkinan telah dipertimbangkan, sehingga perhitungan probabilitas tidak melewatkan satu pun hasil. Pemahaman ini sangat berguna dalam analisis data, pembuatan skenario keputusan, hingga penyusunan diagram probabilitas. Konsep keduanya menjadi fondasi dalam topik yang lebih maju seperti distribusi probabilitas dan partisi ruang sampel.

5 . Binominal Experiment

“The Binomial Experiment and the Binomial Formula”

Video ini membahas konsep dasar dari binomial experiment atau percobaan binomial, yaitu jenis percobaan probabilitas yang memiliki dua hasil saja pada setiap percobaan atau trial, biasanya disebut “sukses” dan “gagal.” Percobaan binomial memiliki empat ciri utama: (1) jumlah percobaan tetap, (2) setiap percobaan hanya memiliki dua kemungkinan hasil, (3) peluang sukses tetap pada setiap percobaan, dan (4) setiap percobaan saling bebas. Contoh percobaan binomial termasuk melempar koin berkali-kali atau menguji apakah suatu produk bekerja atau tidak dalam serangkaian uji kualitas. Setelah ciri-ciri percobaan binomial dijelaskan, video memperkenalkan binomial formula, yaitu rumus yang digunakan untuk menghitung probabilitas mendapatkan tepat k sukses dalam n percobaan. Rumus tersebut adalah:

P(X=k)= p^k (1-p)^{n-k},

Interpretasi dari video ini menunjukkan bahwa konsep percobaan binomial sangat penting karena banyak fenomena dunia nyata dapat dimodelkan sebagai rangkaian percobaan dengan dua hasil, seperti keberhasilan vaksin, kelulusan tes, kualitas produksi pabrik, hingga probabilitas memilih suatu opsi. Rumus binomial menawarkan cara untuk menghitung probabilitas tidak hanya untuk satu hasil tertentu, tetapi juga seluruh distribusi hasil yang mungkin dari percobaan berulang. Dengan menggabungkan kombinasi dan peluang, rumus ini memberikan gambaran lengkap tentang bagaimana kemungkinan sukses terdistribusi ketika percobaan dilakukan dalam jumlah tertentu. Hal ini menjadi dasar bagi topik distribusi probabilitas yang lebih luas, seperti distribusi binomial, distribusi normal sebagai pendekatan binomial, dan aplikasi dalam inferensi statistik. Pemahaman percobaan binomial membantu mahasiswa membangun intuisi bagaimana peluang bekerja dalam proses berulang dengan struktur yang sama.

6 . Binominal Distribuition

“Visualizing the Binomial Distribution”

Video ini membahas bagaimana binomial distribution atau distribusi binomial dapat divisualisasikan sehingga memudahkan pemahaman mengenai pola probabilitas dalam percobaan binomial. Distribusi binomial menggambarkan bagaimana probabilitas dari berbagai jumlah “sukses” dalam n percobaan tersebar, dengan peluang sukses p yang tetap pada setiap percobaan. Video menunjukkan bahwa grafik distribusi binomial biasanya berbentuk batang (bar chart), di mana sumbu horizontal menunjukkan jumlah sukses (0, 1, 2, …, n) dan sumbu vertikal menunjukkan probabilitas masing-masing nilai tersebut. Dengan visualisasi ini, penonton dapat melihat bagaimana bentuk distribusi berubah-ubah tergantung nilai n dan p. Jika peluang sukses p mendekati 0.5, distribusi cenderung simetris; namun jika p sangat kecil atau sangat besar, distribusi akan tampak miring ke kiri atau ke kanan. Video juga menekankan bahwa semakin besar n, bentuk distribusi semakin “halus” dan mendekati bentuk kurva normal, sebuah fenomena yang berkaitan dengan Teorema Limit Tengah.

Interpretasi dari visualisasi ini menunjukkan bahwa grafik membantu memahami bagaimana probabilitas terkonsentrasi di sekitar nilai tertentu, sehingga memudahkan menganalisis kejadian-kejadian yang paling mungkin terjadi dalam percobaan berulang. Melalui visualisasi, konsep matematis dalam rumus binomial menjadi lebih intuitif, karena kita dapat “melihat” bagaimana kombinasi dan peluang sukses mempengaruhi distribusi hasil. Ini penting terutama dalam aplikasi nyata seperti kontrol kualitas, prediksi jumlah keberhasilan, penelitian medis, dan analisis risiko, di mana distribusi probabilitas tidak cukup hanya dipahami secara simbolis, tetapi juga perlu dilihat secara grafis untuk memahami polanya. Visualisasi distribusi binomial juga menjadi langkah awal sebelum mempelajari distribusi diskrit lainnya serta hubungan antara distribusi binomial dan distribusi normal pada data dengan jumlah percobaan besar.


7 Referensi

  1. Walpole, R. E., Myers, R. H., Myers, S. L., & Ye, K. (2012). Probability and Statistics for Engineers and Scientists (9th ed.). Pearson. → Sumber kuat untuk binomial distribution dan binomial formula.

  2. OpenStax. (2021). Introductory Statistics. OpenStax. → Bab 3 dan 4 menjelaskan probability, independent events, union, dan distribusi binomial.


Video Pembelajaran (Sumber Materi Tugas)

  1. YouTube – Math and Stats Support / materi terkait:

Probability, Sample Spaces, and the Complement Rule

Probability of Independent and Dependent Events

The Probability of the Union of Events

Mutually Exclusive and Exhaustive Events

The Binomial Experiment and the Binomial Formula

Visualizing the Binomial Distribution


Artikel Pendukung (Opsional tapi Bagus Untuk Penilaian)

  1. Khan Academy. (2023). Probability and Statistics Lessons. → Penjelasan tambahan tentang probabilitas dasar dan distribusi binomial.

  2. StatLect. (2024). Probability Theory and Statistical Distributions. → Pembahasan matematis tentang ruang sampel dan distribusi binomial.


LS0tDQphdXRob3I6ICJKYW51YXJpYSBUZXJlc2luaGEiDQp0aXRsZTogIlR1Z2FzIFdlZWsgMTAgfiBFc3NlbnRpYWwgb2YgUHJvYmFiaWxpdHkiDQpkYXRlOiAiMjAyNS0xMS0zMCINCg0Kb3V0cHV0Og0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjoNCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZQ0KICAgIHRodW1ibmFpbHM6IHRydWUNCiAgICBsaWdodGJveDogdHJ1ZQ0KICAgIGdhbGxlcnk6IHRydWUNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUNCiAgICBsaWJfZGlyOiBsaWJzDQogICAgZGZfcHJpbnQ6ICJwYWdlZCINCiAgICBjb2RlX2ZvbGRpbmc6ICJzaG93Ig0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KLS0tDQo8aW1nIGlkPSJGb3RvIiBzcmM9IkphbmFhYS5KUEciIGFsdD0iTG9nbyIgc3R5bGU9IndpZHRoOjMwMHB4OyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiBhdXRvOyI+DQoNCmBgYHtyLCBlY2hvPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBvdXQuZXh0cmE9J3N0eWxlPSJkaXNwbGF5OmJsb2NrOyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6YXV0bzsiJ30NCmBgYA0KLS0tDQoNClBlbmRhaHVsdWFuDQoNClByb2JhYmlsaXRhcyBtZXJ1cGFrYW4gc2FsYWggc2F0dSBrb25zZXAgZGFzYXIgeWFuZyBzYW5nYXQgcGVudGluZyBkYWxhbSBzdGF0aXN0aWthIGRhbiBpbG11IGRhdGEuIE1lbGFsdWkgcHJvYmFiaWxpdGFzLCBraXRhIGRhcGF0IG1lbWFoYW1pIGRhbiBtZW5ndWt1ciB0aW5na2F0IGtldGlkYWtwYXN0aWFuIGRhcmkgc3VhdHUga2VqYWRpYW4uIERhbGFtIGtlaGlkdXBhbiBzZWhhcmktaGFyaSwga29uc2VwIHByb2JhYmlsaXRhcyBkaWd1bmFrYW4gdW50dWsgbWVtcHJlZGlrc2kgY3VhY2EsIG1lbmVudHVrYW4gcGVsdWFuZyBkYWxhbSBwZXJtYWluYW4sIG1lbmdhbmFsaXNpcyByaXNpa28sIGhpbmdnYSBtZW1idWF0IGtlcHV0dXNhbiBiZXJiYXNpcyBkYXRhLiBQYWRhIHR1Z2FzIGluaSwgc2F5YSBtZW1wZWxhamFyaSBiZWJlcmFwYSBtYXRlcmkgZGFzYXIgcHJvYmFiaWxpdGFzIG1lbGFsdWkgZW5hbSB2aWRlbyBwZW1iZWxhamFyYW4sIHlhbmcgbWVuY2FrdXAga29uc2VwIHJ1YW5nIHNhbXBlbCwgYXR1cmFuIGtvbXBsZW1lbiwga2VqYWRpYW4gc2FsaW5nIGJlYmFzLCBrZWphZGlhbiBiZXJnYW50dW5nLCBrZWphZGlhbiBzYWxpbmcgbGVwYXMsIGhpbmdnYSBkaXN0cmlidXNpIGJpbm9taWFsLg0KDQpQZW1haGFtYW4gdGVyaGFkYXAgbWF0ZXJpIHRlcnNlYnV0IG1lbmphZGkgZGFzYXIgcGVudGluZyBzZWJlbHVtIG1lbXBlbGFqYXJpIHRvcGlrIHN0YXRpc3RpayB5YW5nIGxlYmloIGxhbmp1dC4gRGVuZ2FuIG1lbWJ1YXQgcmFuZ2t1bWFuIHNlcnRhIG1lbWFoYW1pIGNvbnRvaC1jb250b2ggeWFuZyBkaWJlcmlrYW4sIHNheWEgZGFwYXQgbWVsaWhhdCBiYWdhaW1hbmEgcHJvYmFiaWxpdGFzIHRpZGFrIGhhbnlhIG1lbmphZGkgdGVvcmkgYWJzdHJhaywgdGV0YXBpIGp1Z2Egc2FuZ2F0IHJlbGV2YW4gZGFsYW0gYW5hbGlzaXMgZGF0YSBkYW4gcGVtZWNhaGFuIG1hc2FsYWggZGFsYW0ga2VoaWR1cGFuIG55YXRhLg0KDQojIyBLb25zZXAgRGFzYXIgUHJvYmFiaWxpdGFzDQoNCg0KDQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQveW5qSEtCQ2lHWFkiIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiB3aWR0aD0iNzY4IiBoZWlnaHQ9IjQwMHB4IiBkYXRhLWV4dGVybmFsPSIxIj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0KDQoNCg0KVmlkZW8gYmVyanVkdWwg4oCcUHJvYmFiaWxpdHksIFNhbXBsZSBTcGFjZXMsIGFuZCB0aGUgQ29tcGxlbWVudCBSdWxl4oCdIG1lbWJhaGFzIGtvbnNlcCBkYXNhciBwcm9iYWJpbGl0YXMgZGVuZ2FuIG1lbmVrYW5rYW4gcGVudGluZ255YSBtZW1haGFtaSBydWFuZyBzYW1wZWwsIGtlamFkaWFuLCBkYW4gYXR1cmFuIGtvbXBsZW1lbi4gUHJvYmFiaWxpdGFzIGRpamVsYXNrYW4gc2ViYWdhaSB1a3VyYW4gcGVsdWFuZyBzdWF0dSBrZWphZGlhbiB0ZXJqYWRpLCBkZW5nYW4gbmlsYWkgeWFuZyBzZWxhbHUgYmVyYWRhIGFudGFyYSBub2wgZGFuIHNhdHUuIFVudHVrIGRhcGF0IG1lbmdoaXR1bmcgcHJvYmFiaWxpdGFzIGRlbmdhbiBiZW5hciwgbGFuZ2thaCBwZXJ0YW1hIHlhbmcgZGlwZXJsdWthbiBhZGFsYWggbWVuZW50dWthbiBzYW1wbGUgc3BhY2UgYXRhdSBydWFuZyBzYW1wZWwsIHlhaXR1IGt1bXB1bGFuIHNlbXVhIGtlbXVuZ2tpbmFuIGhhc2lsIGRhcmkgc2VidWFoIHBlcmNvYmFhbiBhY2FrLiBDb250b2hueWEsIHBhZGEgcGVsZW1wYXJhbiBrb2luIHJ1YW5nIHNhbXBlbG55YSBhZGFsYWgge0gsIFR9LCBzZWRhbmdrYW4gcGFkYSBwZWxlbXBhcmFuIGRhZHUgZW5hbSBzaXNpIHJ1YW5nIHNhbXBlbG55YSBhZGFsYWggezEsIDIsIDMsIDQsIDUsIDZ9LiBEYXJpIHJ1YW5nIHNhbXBlbCBpbmkga2VtdWRpYW4gZGl0ZW50dWthbiBldmVudCwgeWFpdHUga3VtcHVsYW4gaGFzaWwgdGVydGVudHUgeWFuZyBtZW5qYWRpIGZva3VzIHBlcnRhbnlhYW4sIG1pc2FsbnlhIGtlamFkaWFuIG11bmN1bCBhbmdrYSBnYW5qaWwgcGFkYSBkYWR1IHlhbmcgdGVyZGlyaSBkYXJpIHsxLCAzLCA1fS4gU2V0ZWxhaCBydWFuZyBzYW1wZWwgZGFuIGtlamFkaWFuIGRpZGVmaW5pc2lrYW4sIHByb2JhYmlsaXRhcyBzdWF0dSBrZWphZGlhbiBkaWhpdHVuZyBtZW5nZ3VuYWthbiBydW11cyBkYXNhciAgZGVuZ2FuIGFzdW1zaSBzZXRpYXAgaGFzaWwgbWVtaWxpa2kgcGVsdWFuZyB5YW5nIHNhbWEuDQoNCkJhZ2lhbiBwZW50aW5nIGxhaW4geWFuZyBkaWplbGFza2FuIGRhbGFtIHZpZGVvIGFkYWxhaCBjb21wbGVtZW50IHJ1bGUgYXRhdSBhdHVyYW4ga29tcGxlbWVuLiBLb21wbGVtZW4gZGFyaSBzdWF0dSBrZWphZGlhbiBBIGFkYWxhaCBzZW11YSBoYXNpbCB5YW5nIHRpZGFrIHRlcm1hc3VrIGRhbGFtIEEsIGRhbiBkaXR1bGlza2FuIHNlYmFnYWkgQeKAmS4gQXR1cmFuIGluaSBtZW55YXRha2FuIGJhaHdhIGp1bWxhaCBwcm9iYWJpbGl0YXMgc2VidWFoIGtlamFkaWFuIGRhbiBrb21wbGVtZW5ueWEgYWRhbGFoIDEsIGF0YXUgLiBEZW5nYW4gZGVtaWtpYW4sIGppa2EgcGVsdWFuZyBzdWF0dSBrZWphZGlhbiBzdWxpdCBkaWhpdHVuZyBzZWNhcmEgbGFuZ3N1bmcsIHNlcmluZyBrYWxpIGxlYmloIG11ZGFoIG1lbmNhcmkgcGVsdWFuZyBrb21wbGVtZW5ueWEgdGVybGViaWggZGFodWx1IGtlbXVkaWFuIG1lbmd1cmFuZ2thbm55YSBkYXJpIHNhdHUuIE1pc2FsbnlhLCBqaWthIHByb2JhYmlsaXRhcyBtdW5jdWwgYW5na2EgZ2FuamlsIHBhZGEgZGFkdSBhZGFsYWggMS8yLCBtYWthIHByb2JhYmlsaXRhcyBtdW5jdWwgYW5na2EgZ2VuYXAgZGFwYXQgZGloaXR1bmcgbWVuZ2d1bmFrYW4gcnVtdXMga29tcGxlbWVuIHlhaXR1IC4gSW50ZXJwcmV0YXNpIGRhcmkga2VzZWx1cnVoYW4gcGVtYmFoYXNhbiBpbmkgbWVudW5qdWtrYW4gYmFod2EgbWVtYWhhbWkgcHJvYmFiaWxpdGFzIHRpZGFrIGhhbnlhIHNvYWwgbWVuZ2hhZmFsIHJ1bXVzLCB0ZXRhcGkgbWVtYWhhbWkgc3RydWt0dXIgcnVhbmcgc2FtcGVsIGRhbiBtZW1hbmZhYXRrYW4gYXR1cmFuIGtvbXBsZW1lbiB1bnR1ayBtZW1wZXJtdWRhaCBwZXJoaXR1bmdhbi4gS29uc2VwLWtvbnNlcCBkYXNhciBpbmkgbWVuamFkaSBmb25kYXNpIHBlbnRpbmcgdW50dWsgbWVtYWhhbWkgdG9waWsgcHJvYmFiaWxpdGFzIGxhbmp1dGFuIHNlcGVydGkgcHJvYmFiaWxpdGFzIGJlcnN5YXJhdCwgYXR1cmFuIHBlcmthbGlhbiwgZGFuIGRpc3RyaWJ1c2kgcGVsdWFuZy4NCg0KDQojIyAuIEluZGVwZW5kZW50IGFuZCBEZXBlbmRlbnQNCg0KDQo8Y2VudGVyPg0KPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0xTLV9paERLcjJNP3NpPVlGR1hPSXN3cUJHNHVSWWUiIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiB3aWR0aD0iNzY4IiBoZWlnaHQ9IjQwMHB4IiBkYXRhLWV4dGVybmFsPSIxIj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0KDQoNCg0KVmlkZW8gaW5pIG1lbmplbGFza2FuIHBlcmJlZGFhbiBhbnRhcmEgaW5kZXBlbmRlbnQgZXZlbnRzIChrZWphZGlhbi1rZWphZGlhbiB5YW5nIHNhbGluZyBiZWJhcykgZGFuIGRlcGVuZGVudCBldmVudHMgKGtlamFkaWFuIHlhbmcgc2FsaW5nIGJlcmdhbnR1bmcpLCBzZXJ0YSBiYWdhaW1hbmEgbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMga2VkdWFueWEuIEtlamFkaWFuIGRpa2F0YWthbiBpbmRlcGVuZGVudCBhcGFiaWxhIGhhc2lsIGRhcmkgc2F0dSBrZWphZGlhbiB0aWRhayBtZW1wZW5nYXJ1aGkga2VqYWRpYW4gbGFpbm55YSwgbWlzYWxueWEgcGVsZW1wYXJhbiBkdWEga29pbiBhdGF1IGR1YSBrYWxpIHBlbGVtcGFyYW4gZGFkdS4gRGFsYW0ga2FzdXMga2VqYWRpYW4gYmViYXMsIHJ1bXVzIHByb2JhYmlsaXRhcyBnYWJ1bmdhbiBtZW5nZ3VuYWthbiBhdHVyYW4gcGVya2FsaWFuIHNlZGVyaGFuYSwgeWFpdHUgLiBDb250b2gga2xhc2lrbnlhIGFkYWxhaCBwcm9iYWJpbGl0YXMgbXVuY3VsIGtlcGFsYSBwYWRhIGR1YSBwZWxlbXBhcmFuIGtvaW4geWFuZyB0ZXJwaXNhaDsga2FyZW5hIHNldGlhcCBwZWxlbXBhcmFuIGtvaW4gdGlkYWsgbWVtZW5nYXJ1aGkgeWFuZyBsYWluLCBwcm9iYWJpbGl0YXMgZ2FidW5nYW5ueWEgZGFwYXQgbGFuZ3N1bmcgZGlrYWxpa2FuLiBTZWJhbGlrbnlhLCBrZWphZGlhbiBkaXNlYnV0IGRlcGVuZGVudCBqaWthIGhhc2lsIGtlamFkaWFuIHBlcnRhbWEgbWVtcGVuZ2FydWhpIHBlbHVhbmcga2VqYWRpYW4ga2VkdWEuIFZpZGVvIG1lbWJlcmkgY29udG9oIGRlbmdhbiBtZW5nYW1iaWwga2FydHUgZGFyaSBzZWJ1YWggZGVrIHRhbnBhIG1lbmdlbWJhbGlrYW5ueWEuIEtldGlrYSBzYXR1IGthcnR1IGRpYW1iaWwsIGp1bWxhaCBrYXJ0dSB0b3RhbCBiZXJ1YmFoLCBzZWhpbmdnYSBwcm9iYWJpbGl0YXMgdW50dWsga2FydHUgYmVyaWt1dG55YSBqdWdhIGJlcnViYWguIFVudHVrIGtlamFkaWFuIGJlcmdhbnR1bmcsIHByb2JhYmlsaXRhcyBnYWJ1bmdhbm55YSBkaWhpdHVuZyBtZW5nZ3VuYWthbiBydW11cyAsIGRpIG1hbmEgIGJlcmFydGkgcHJvYmFiaWxpdGFzIEIgdGVyamFkaSBzZXRlbGFoIEEgc3VkYWggdGVyamFkaS4NCg0KSW50ZXJwcmV0YXNpIGRhcmkgdmlkZW8gaW5pIG1lbnVuanVra2FuIGJhaHdhIG1lbWFoYW1pIGFwYWthaCBkdWEga2VqYWRpYW4gc2FsaW5nIGJlYmFzIGF0YXUgYmVyZ2FudHVuZyBzYW5nYXQgcGVudGluZyBrYXJlbmEgbWVtcGVuZ2FydWhpIGNhcmEga2l0YSBtZW5naGl0dW5nIHBlbHVhbmcgZ2FidW5nYW4uIEJhbnlhayBrZXNhbGFoYW4gZGFsYW0gcGVyaGl0dW5nYW4gcHJvYmFiaWxpdGFzIHRlcmphZGkga2FyZW5hIHRpZGFrIG1lbWJlZGFrYW4gZHVhIGtvbnNlcCBpbmkuIFBhZGEga2VqYWRpYW4gYmViYXMsIHBlbHVhbmcgdGlkYWsgYmVydWJhaCBtZXNraXB1biBzYXR1IGtlamFkaWFuIHN1ZGFoIHRlcmphZGksIHNlbWVudGFyYSBwYWRhIGtlamFkaWFuIGJlcmdhbnR1bmcsIHBlbHVhbmcgcGVybHUgZGlwZXJiYXJ1aSBiZXJkYXNhcmthbiBrZWphZGlhbiBzZWJlbHVtbnlhLiBLb25zZXAgaW5pIHNhbmdhdCBwZW50aW5nIGRhbGFtIGFuYWxpc2lzIGRhdGEsIGVrc3BlcmltZW4gc3RhdGlzdGlrLCBkYW4gc2l0dWFzaSBrZWhpZHVwYW4gbnlhdGEgc2VwZXJ0aSBwZW5hcmlrYW4gc2FtcGVsLCBwZXJtYWluYW4ga2FydHUsIGRhbiBwZXJoaXR1bmdhbiByaXNpa28uIE1lbGFsdWkgcGVuamVsYXNhbiB2aWRlbywgZGFwYXQgZGlwYWhhbWkgYmFod2EgaW50aSBwcm9iYWJpbGl0YXMgZ2FidW5nYW4gYWRhbGFoIG1lbGloYXQgYmFnYWltYW5hIHNhdHUga2VqYWRpYW4gbWVtZW5nYXJ1aGkga2VqYWRpYW4gbGFpbm55YSwgZGFuIGFwYWthaCBodWJ1bmdhbiBpdHUgYWRhIGF0YXUgdGlkYWsuIFBlbWFoYW1hbiBpbmkgbWVuamFkaSBkYXNhciBzZWJlbHVtIG1lbXBlbGFqYXJpIHByb2JhYmlsaXRhcyBiZXJzeWFyYXQgeWFuZyBsZWJpaCBrb21wbGVrcy4NCg0KDQojIyAuIFVuaW9uIG9mIEV2ZW50cw0KY2U8bnRlcj4NCjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC92cUtBYmhDcVNUYyIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHdpZHRoPSI3NjgiIGhlaWdodD0iNDAwcHgiIGRhdGEtZXh0ZXJuYWw9IjEiPiA8L2lmcmFtZT4NCjwvY2VudGVyPg0KDQoNCg0KDQoga29uc2VwIHBlbnRpbmcgZGFsYW0gcHJvYmFiaWxpdGFzLCB5YWl0dSB1bmlvbiBvZiBldmVudHMgYXRhdSBnYWJ1bmdhbiBkdWEga2VqYWRpYW4sIHlhbmcgbWVuZ2dhbWJhcmthbiBwZWx1YW5nIGJhaHdhIHNldGlkYWtueWEgc2FsYWggc2F0dSBkYXJpIGR1YSBrZWphZGlhbiB0ZXJqYWRpLiBKaWthIEEgZGFuIEIgYWRhbGFoIGR1YSBrZWphZGlhbiwgbWFrYSB1bmlvbiBkaXR1bGlzIHNlYmFnYWkgLCB5YW5nIGJlcmFydGkg4oCcQSBhdGF1IEIgYXRhdSBrZWR1YW55YSB0ZXJqYWRpLuKAnSBWaWRlbyBtZW5qZWxhc2thbiBiYWh3YSB1bnR1ayBtZW5naGl0dW5nIHByb2JhYmlsaXRhcyBnYWJ1bmdhbiBkdWEga2VqYWRpYW4sIGtpdGEgbWVuZ2d1bmFrYW4gcnVtdXMgdW11bToNCg0KUChBIFxjdXAgQikgPSBQKEEpICsgUChCKSAtIFAoQSBcY2FwIEIpLg0KDQpJbnRlcnByZXRhc2kgZGFyaSBwZW5qZWxhc2FuIHZpZGVvIGluaSBtZW51bmp1a2thbiBiYWh3YSBtZW1haGFtaSBwZWx1YW5nIGdhYnVuZ2FuIHRpZGFrIGhhbnlhIHRlbnRhbmcgbWVuanVtbGFoa2FuIHBlbHVhbmcsIHRldGFwaSBqdWdhIG1lbWFoYW1pIGJhZ2FpbWFuYSBkdWEga2VqYWRpYW4gc2FsaW5nIGJlcmh1YnVuZ2FuLiBKaWthIHN1YXR1IGtlamFkaWFuIGRhcGF0IHRlcmphZGkgYmVyc2FtYWFuIGRlbmdhbiBrZWphZGlhbiBsYWluLCBtYWthIHBlcnBvdG9uZ2FuIHRlcnNlYnV0IGhhcnVzIGRpcGVyaGl0dW5na2FuIHNlY2FyYSB0ZXBhdCBhZ2FyIGhhc2lsIHByb2JhYmlsaXRhcyBha3VyYXQuIERlbmdhbiBkZW1pa2lhbiwga29uc2VwIHVuaW9uIG9mIGV2ZW50cyBtZW1iYW50dSBtZW5naGluZGFyaSBrZXNhbGFoYW4gdW11bSBrZXRpa2EgbWVuZ2hpdHVuZyBwZWx1YW5nIOKAnEEgYXRhdSBCLOKAnSB0ZXJ1dGFtYSBqaWthIHRlcmRhcGF0IGFyZWEgeWFuZyB0dW1wYW5nIHRpbmRpaC4gUGVtYWhhbWFuIHRlcmhhZGFwIGh1YnVuZ2FuIGFudGFyYSBBIGRhbiBCIOKAlCBhcGFrYWggc2FsaW5nIGxlcGFzIGF0YXUgdGlkYWsg4oCUIHNhbmdhdCBwZW50aW5nIGRhbGFtIGtvbnRla3Mgc3RhdGlzdGlrYSwgYW5hbGlzaXMgcmlzaWtvLCBkYW4gcGVuZ2FtYmlsYW4ga2VwdXR1c2FuIGJlcmJhc2lzIHByb2JhYmlsaXRhcy4gS29uc2VwIGluaSBtZW5qYWRpIGRhc2FyIHVudHVrIHRvcGlrIHlhbmcgbGViaWgga29tcGxla3MsIHNlcGVydGkgYXR1cmFuIHBlbmp1bWxhaGFuIHVtdW0gZGFuIHBlcmhpdHVuZ2FuIHByb2JhYmlsaXRhcyB1bnR1ayBsZWJpaCBkYXJpIGR1YSBldmVudC4NCg0KDQojIyAuIFVuaW9uIG9mIEV2ZW50cw0KDQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvdnFLQWJoQ3FTVGMiIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiB3aWR0aD0iNzY4IiBoZWlnaHQ9IjQwMHB4IiBkYXRhLWV4dGVybmFsPSIxIj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0K4oCcTXV0dWFsbHkgRXhjbHVzaXZlIGFuZCBFeGhhdXN0aXZlIEV2ZW50c+KAnQ0KDQpWaWRlbyBpbmkgbWVuamVsYXNrYW4gZHVhIGtvbnNlcCBwZW50aW5nIGRhbGFtIHByb2JhYmlsaXRhcywgeWFpdHUgbXV0dWFsbHkgZXhjbHVzaXZlIGV2ZW50cyBkYW4gZXhoYXVzdGl2ZSBldmVudHMsIHNlcnRhIGJhZ2FpbWFuYSBrZWR1YW55YSBkaWd1bmFrYW4gdW50dWsgbWVtYWhhbWkgc3RydWt0dXIga2VqYWRpYW4gZGFsYW0gcnVhbmcgc2FtcGVsLiBLZWphZGlhbiBkaXNlYnV0IG11dHVhbGx5IGV4Y2x1c2l2ZSBhdGF1IHNhbGluZyBsZXBhcyBhcGFiaWxhIGR1YSBrZWphZGlhbiB0aWRhayBkYXBhdCB0ZXJqYWRpIGRhbGFtIHdha3R1IHlhbmcgc2FtYS4gQXJ0aW55YSwgamlrYSBrZWphZGlhbiBBIHRlcmphZGksIG1ha2Ega2VqYWRpYW4gQiBwYXN0aSB0aWRhayB0ZXJqYWRpLCBiZWdpdHUgcHVsYSBzZWJhbGlrbnlhLiBDb250b2ggc2VkZXJoYW5hIGFkYWxhaCBoYXNpbCBwZWxlbXBhcmFuIGRhZHU6IGtlamFkaWFuIOKAnG11bmN1bCBhbmdrYSAy4oCdIGRhbiDigJxtdW5jdWwgYW5na2EgNeKAnSBhZGFsYWgga2VqYWRpYW4geWFuZyBzYWxpbmcgbGVwYXMsIGthcmVuYSBzYXR1IHBlbGVtcGFyYW4gaGFueWEgbWVuZ2hhc2lsa2FuIHNhdHUgYW5na2EuIERhbGFtIGthc3VzIGtlamFkaWFuIHNhbGluZyBsZXBhcywgcHJvYmFiaWxpdGFzIGdhYnVuZ2FuIGRhcmkgZHVhIGtlamFkaWFuIGRhcGF0IGRpaGl0dW5nIGN1a3VwIGRlbmdhbiBtZW5qdW1sYWhrYW4gcGVsdWFuZyBtYXNpbmctbWFzaW5nIGtlamFkaWFuLCBzZWJhYiB0aWRhayBhZGEgYmFnaWFuIHlhbmcgdHVtcGFuZyB0aW5kaWguDQoNClNlbGFuanV0bnlhLCB2aWRlbyBtZW1iYWhhcyBleGhhdXN0aXZlIGV2ZW50cywgeWFpdHUga3VtcHVsYW4ga2VqYWRpYW4geWFuZyBiZXJzYW1hLXNhbWEgbWVuY2FrdXAgc2VsdXJ1aCBydWFuZyBzYW1wZWwuIEFydGlueWEsIHRpZGFrIGFkYSBzYXR1IHB1biBoYXNpbCBkYXJpIHBlcmNvYmFhbiB5YW5nIGJlcmFkYSBkaSBsdWFyIGt1bXB1bGFuIGtlamFkaWFuIHRlcnNlYnV0LiBDb250b2ggZGFyaSBrZWphZGlhbiB5YW5nIGV4aGF1c3RpZiBhZGFsYWgga2V0aWthIHJ1YW5nIHNhbXBlbCBkYWR1IGRpYmFnaSBtZW5qYWRpIHsxLCAyLCAzfSBkYW4gezQsIDUsIDZ9OyBkdWEga2Vsb21wb2sgaW5pIG1lbmNha3VwIHNlbXVhIGtlbXVuZ2tpbmFuIGhhc2lsIHBlbGVtcGFyYW4gZGFkdS4gS2VqYWRpYW4geWFuZyBiZXJzaWZhdCBleGhhdXN0aXZlIG1lbWFzdGlrYW4gYmFod2EgZGFsYW0gc2V0aWFwIHBlcmNvYmFhbiwgc2V0aWRha255YSBzYXR1IGRhcmkga2VqYWRpYW4gdGVyc2VidXQgcGFzdGkgdGVyamFkaS4gVmlkZW8gaW5pIGp1Z2EgbWVuZWdhc2thbiBiYWh3YSBkdWEga2VqYWRpYW4gYmlzYSBzYWphIGJlcnNpZmF0IGV4aGF1c3RpdmUgdGV0YXBpIHRpZGFrIHNlbGFsdSBtdXR1YWxseSBleGNsdXNpdmUsIHRlcmdhbnR1bmcgYmFnYWltYW5hIGtlamFkaWFuIGRpZGVmaW5pc2lrYW4uDQoNCkludGVycHJldGFzaSBkYXJpIHBlbmplbGFzYW4gdmlkZW8gbWVudW5qdWtrYW4gYmFod2EgbWVtYWhhbWkga2VkdWEga29uc2VwIGluaSBzYW5nYXQgcGVudGluZyBkYWxhbSBtZW1iYW5ndW4gbW9kZWwgcHJvYmFiaWxpdGFzIHlhbmcgYWt1cmF0LiBNdXR1YWxseSBleGNsdXNpdmUgbWVtYmFudHUga2l0YSBtZW5nZW5hbGkga2V0aWthIGR1YSBrZWphZGlhbiB0aWRhayBtZW1pbGlraSBpcmlzYW4sIHNlaGluZ2dhIHJ1bXVzIHBlbmp1bWxhaGFuIHBlbHVhbmcgZGFwYXQgZGlndW5ha2FuIGRlbmdhbiBtdWRhaCB0YW5wYSBoYXJ1cyBtZW5ndXJhbmdpIHBlcnBvdG9uZ2FuLiBTZW1lbnRhcmEgaXR1LCBleGhhdXN0aXZlIGV2ZW50cyBtZW1iZXJpIGtleWFraW5hbiBiYWh3YSBzZW11YSBrZW11bmdraW5hbiB0ZWxhaCBkaXBlcnRpbWJhbmdrYW4sIHNlaGluZ2dhIHBlcmhpdHVuZ2FuIHByb2JhYmlsaXRhcyB0aWRhayBtZWxld2F0a2FuIHNhdHUgcHVuIGhhc2lsLiBQZW1haGFtYW4gaW5pIHNhbmdhdCBiZXJndW5hIGRhbGFtIGFuYWxpc2lzIGRhdGEsIHBlbWJ1YXRhbiBza2VuYXJpbyBrZXB1dHVzYW4sIGhpbmdnYSBwZW55dXN1bmFuIGRpYWdyYW0gcHJvYmFiaWxpdGFzLiBLb25zZXAga2VkdWFueWEgbWVuamFkaSBmb25kYXNpIGRhbGFtIHRvcGlrIHlhbmcgbGViaWggbWFqdSBzZXBlcnRpIGRpc3RyaWJ1c2kgcHJvYmFiaWxpdGFzIGRhbiBwYXJ0aXNpIHJ1YW5nIHNhbXBlbC4NCg0KDQojIyAuIEJpbm9taW5hbCBFeHBlcmltZW50DQo8Y2VudGVyPg0KPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL25SdVFBdGFqSllrP3NpPTJGZWVVSlJDNEVOOTJ0MmwiIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiB3aWR0aD0iNzY4IiBoZWlnaHQ9IjQwMHB4IiBkYXRhLWV4dGVybmFsPSIxIj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0KDQoNCg0KDQrigJxUaGUgQmlub21pYWwgRXhwZXJpbWVudCBhbmQgdGhlIEJpbm9taWFsIEZvcm11bGHigJ0NCg0KVmlkZW8gaW5pIG1lbWJhaGFzIGtvbnNlcCBkYXNhciBkYXJpIGJpbm9taWFsIGV4cGVyaW1lbnQgYXRhdSBwZXJjb2JhYW4gYmlub21pYWwsIHlhaXR1IGplbmlzIHBlcmNvYmFhbiBwcm9iYWJpbGl0YXMgeWFuZyBtZW1pbGlraSBkdWEgaGFzaWwgc2FqYSBwYWRhIHNldGlhcCBwZXJjb2JhYW4gYXRhdSB0cmlhbCwgYmlhc2FueWEgZGlzZWJ1dCDigJxzdWtzZXPigJ0gZGFuIOKAnGdhZ2FsLuKAnSBQZXJjb2JhYW4gYmlub21pYWwgbWVtaWxpa2kgZW1wYXQgY2lyaSB1dGFtYTogKDEpIGp1bWxhaCBwZXJjb2JhYW4gdGV0YXAsICgyKSBzZXRpYXAgcGVyY29iYWFuIGhhbnlhIG1lbWlsaWtpIGR1YSBrZW11bmdraW5hbiBoYXNpbCwgKDMpIHBlbHVhbmcgc3Vrc2VzIHRldGFwIHBhZGEgc2V0aWFwIHBlcmNvYmFhbiwgZGFuICg0KSBzZXRpYXAgcGVyY29iYWFuIHNhbGluZyBiZWJhcy4gQ29udG9oIHBlcmNvYmFhbiBiaW5vbWlhbCB0ZXJtYXN1ayBtZWxlbXBhciBrb2luIGJlcmthbGkta2FsaSBhdGF1IG1lbmd1amkgYXBha2FoIHN1YXR1IHByb2R1ayBiZWtlcmphIGF0YXUgdGlkYWsgZGFsYW0gc2VyYW5na2FpYW4gdWppIGt1YWxpdGFzLiBTZXRlbGFoIGNpcmktY2lyaSBwZXJjb2JhYW4gYmlub21pYWwgZGlqZWxhc2thbiwgdmlkZW8gbWVtcGVya2VuYWxrYW4gYmlub21pYWwgZm9ybXVsYSwgeWFpdHUgcnVtdXMgeWFuZyBkaWd1bmFrYW4gdW50dWsgbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMgbWVuZGFwYXRrYW4gdGVwYXQgayBzdWtzZXMgZGFsYW0gbiBwZXJjb2JhYW4uIFJ1bXVzIHRlcnNlYnV0IGFkYWxhaDoNCg0KUChYPWspPVxiaW5vbXtufXtrfSBwXmsgKDEtcClee24ta30sDQoNCkludGVycHJldGFzaSBkYXJpIHZpZGVvIGluaSBtZW51bmp1a2thbiBiYWh3YSBrb25zZXAgcGVyY29iYWFuIGJpbm9taWFsIHNhbmdhdCBwZW50aW5nIGthcmVuYSBiYW55YWsgZmVub21lbmEgZHVuaWEgbnlhdGEgZGFwYXQgZGltb2RlbGthbiBzZWJhZ2FpIHJhbmdrYWlhbiBwZXJjb2JhYW4gZGVuZ2FuIGR1YSBoYXNpbCwgc2VwZXJ0aSBrZWJlcmhhc2lsYW4gdmFrc2luLCBrZWx1bHVzYW4gdGVzLCBrdWFsaXRhcyBwcm9kdWtzaSBwYWJyaWssIGhpbmdnYSBwcm9iYWJpbGl0YXMgbWVtaWxpaCBzdWF0dSBvcHNpLiBSdW11cyBiaW5vbWlhbCBtZW5hd2Fya2FuIGNhcmEgdW50dWsgbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMgdGlkYWsgaGFueWEgdW50dWsgc2F0dSBoYXNpbCB0ZXJ0ZW50dSwgdGV0YXBpIGp1Z2Egc2VsdXJ1aCBkaXN0cmlidXNpIGhhc2lsIHlhbmcgbXVuZ2tpbiBkYXJpIHBlcmNvYmFhbiBiZXJ1bGFuZy4gRGVuZ2FuIG1lbmdnYWJ1bmdrYW4ga29tYmluYXNpIGRhbiBwZWx1YW5nLCBydW11cyBpbmkgbWVtYmVyaWthbiBnYW1iYXJhbiBsZW5na2FwIHRlbnRhbmcgYmFnYWltYW5hIGtlbXVuZ2tpbmFuIHN1a3NlcyB0ZXJkaXN0cmlidXNpIGtldGlrYSBwZXJjb2JhYW4gZGlsYWt1a2FuIGRhbGFtIGp1bWxhaCB0ZXJ0ZW50dS4gSGFsIGluaSBtZW5qYWRpIGRhc2FyIGJhZ2kgdG9waWsgZGlzdHJpYnVzaSBwcm9iYWJpbGl0YXMgeWFuZyBsZWJpaCBsdWFzLCBzZXBlcnRpIGRpc3RyaWJ1c2kgYmlub21pYWwsIGRpc3RyaWJ1c2kgbm9ybWFsIHNlYmFnYWkgcGVuZGVrYXRhbiBiaW5vbWlhbCwgZGFuIGFwbGlrYXNpIGRhbGFtIGluZmVyZW5zaSBzdGF0aXN0aWsuIFBlbWFoYW1hbiBwZXJjb2JhYW4gYmlub21pYWwgbWVtYmFudHUgbWFoYXNpc3dhIG1lbWJhbmd1biBpbnR1aXNpIGJhZ2FpbWFuYSBwZWx1YW5nIGJla2VyamEgZGFsYW0gcHJvc2VzIGJlcnVsYW5nIGRlbmdhbiBzdHJ1a3R1ciB5YW5nIHNhbWEuDQoNCg0KDQoNCiMjIC4gQmlub21pbmFsIERpc3RyaWJ1aXRpb24NCjxjZW50ZXI+DQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvWTItdlNXRm1neUkiIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiB3aWR0aD0iNzY4IiBoZWlnaHQ9IjQwMHB4IiBkYXRhLWV4dGVybmFsPSIxIj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0KDQrigJxWaXN1YWxpemluZyB0aGUgQmlub21pYWwgRGlzdHJpYnV0aW9u4oCdDQoNClZpZGVvIGluaSBtZW1iYWhhcyBiYWdhaW1hbmEgYmlub21pYWwgZGlzdHJpYnV0aW9uIGF0YXUgZGlzdHJpYnVzaSBiaW5vbWlhbCBkYXBhdCBkaXZpc3VhbGlzYXNpa2FuIHNlaGluZ2dhIG1lbXVkYWhrYW4gcGVtYWhhbWFuIG1lbmdlbmFpIHBvbGEgcHJvYmFiaWxpdGFzIGRhbGFtIHBlcmNvYmFhbiBiaW5vbWlhbC4gRGlzdHJpYnVzaSBiaW5vbWlhbCBtZW5nZ2FtYmFya2FuIGJhZ2FpbWFuYSBwcm9iYWJpbGl0YXMgZGFyaSBiZXJiYWdhaSBqdW1sYWgg4oCcc3Vrc2Vz4oCdIGRhbGFtIG4gcGVyY29iYWFuIHRlcnNlYmFyLCBkZW5nYW4gcGVsdWFuZyBzdWtzZXMgcCB5YW5nIHRldGFwIHBhZGEgc2V0aWFwIHBlcmNvYmFhbi4gVmlkZW8gbWVudW5qdWtrYW4gYmFod2EgZ3JhZmlrIGRpc3RyaWJ1c2kgYmlub21pYWwgYmlhc2FueWEgYmVyYmVudHVrIGJhdGFuZyAoYmFyIGNoYXJ0KSwgZGkgbWFuYSBzdW1idSBob3Jpem9udGFsIG1lbnVuanVra2FuIGp1bWxhaCBzdWtzZXMgKDAsIDEsIDIsIOKApiwgbikgZGFuIHN1bWJ1IHZlcnRpa2FsIG1lbnVuanVra2FuIHByb2JhYmlsaXRhcyBtYXNpbmctbWFzaW5nIG5pbGFpIHRlcnNlYnV0LiBEZW5nYW4gdmlzdWFsaXNhc2kgaW5pLCBwZW5vbnRvbiBkYXBhdCBtZWxpaGF0IGJhZ2FpbWFuYSBiZW50dWsgZGlzdHJpYnVzaSBiZXJ1YmFoLXViYWggdGVyZ2FudHVuZyBuaWxhaSBuIGRhbiBwLiBKaWthIHBlbHVhbmcgc3Vrc2VzIHAgbWVuZGVrYXRpIDAuNSwgZGlzdHJpYnVzaSBjZW5kZXJ1bmcgc2ltZXRyaXM7IG5hbXVuIGppa2EgcCBzYW5nYXQga2VjaWwgYXRhdSBzYW5nYXQgYmVzYXIsIGRpc3RyaWJ1c2kgYWthbiB0YW1wYWsgbWlyaW5nIGtlIGtpcmkgYXRhdSBrZSBrYW5hbi4gVmlkZW8ganVnYSBtZW5la2Fua2FuIGJhaHdhIHNlbWFraW4gYmVzYXIgbiwgYmVudHVrIGRpc3RyaWJ1c2kgc2VtYWtpbiDigJxoYWx1c+KAnSBkYW4gbWVuZGVrYXRpIGJlbnR1ayBrdXJ2YSBub3JtYWwsIHNlYnVhaCBmZW5vbWVuYSB5YW5nIGJlcmthaXRhbiBkZW5nYW4gVGVvcmVtYSBMaW1pdCBUZW5nYWguDQoNCkludGVycHJldGFzaSBkYXJpIHZpc3VhbGlzYXNpIGluaSBtZW51bmp1a2thbiBiYWh3YSBncmFmaWsgbWVtYmFudHUgbWVtYWhhbWkgYmFnYWltYW5hIHByb2JhYmlsaXRhcyB0ZXJrb25zZW50cmFzaSBkaSBzZWtpdGFyIG5pbGFpIHRlcnRlbnR1LCBzZWhpbmdnYSBtZW11ZGFoa2FuIG1lbmdhbmFsaXNpcyBrZWphZGlhbi1rZWphZGlhbiB5YW5nIHBhbGluZyBtdW5na2luIHRlcmphZGkgZGFsYW0gcGVyY29iYWFuIGJlcnVsYW5nLiBNZWxhbHVpIHZpc3VhbGlzYXNpLCBrb25zZXAgbWF0ZW1hdGlzIGRhbGFtIHJ1bXVzIGJpbm9taWFsIG1lbmphZGkgbGViaWggaW50dWl0aWYsIGthcmVuYSBraXRhIGRhcGF0IOKAnG1lbGloYXTigJ0gYmFnYWltYW5hIGtvbWJpbmFzaSBkYW4gcGVsdWFuZyBzdWtzZXMgbWVtcGVuZ2FydWhpIGRpc3RyaWJ1c2kgaGFzaWwuIEluaSBwZW50aW5nIHRlcnV0YW1hIGRhbGFtIGFwbGlrYXNpIG55YXRhIHNlcGVydGkga29udHJvbCBrdWFsaXRhcywgcHJlZGlrc2kganVtbGFoIGtlYmVyaGFzaWxhbiwgcGVuZWxpdGlhbiBtZWRpcywgZGFuIGFuYWxpc2lzIHJpc2lrbywgZGkgbWFuYSBkaXN0cmlidXNpIHByb2JhYmlsaXRhcyB0aWRhayBjdWt1cCBoYW55YSBkaXBhaGFtaSBzZWNhcmEgc2ltYm9saXMsIHRldGFwaSBqdWdhIHBlcmx1IGRpbGloYXQgc2VjYXJhIGdyYWZpcyB1bnR1ayBtZW1haGFtaSBwb2xhbnlhLiBWaXN1YWxpc2FzaSBkaXN0cmlidXNpIGJpbm9taWFsIGp1Z2EgbWVuamFkaSBsYW5na2FoIGF3YWwgc2ViZWx1bSBtZW1wZWxhamFyaSBkaXN0cmlidXNpIGRpc2tyaXQgbGFpbm55YSBzZXJ0YSBodWJ1bmdhbiBhbnRhcmEgZGlzdHJpYnVzaSBiaW5vbWlhbCBkYW4gZGlzdHJpYnVzaSBub3JtYWwgcGFkYSBkYXRhIGRlbmdhbiBqdW1sYWggcGVyY29iYWFuIGJlc2FyLg0KDQoNCi0tLQ0KDQojIyBSZWZlcmVuc2kNCg0KDQoNCjQuIFdhbHBvbGUsIFIuIEUuLCBNeWVycywgUi4gSC4sIE15ZXJzLCBTLiBMLiwgJiBZZSwgSy4gKDIwMTIpLiBQcm9iYWJpbGl0eSBhbmQgU3RhdGlzdGljcyBmb3IgRW5naW5lZXJzIGFuZCBTY2llbnRpc3RzICg5dGggZWQuKS4gUGVhcnNvbi4NCuKGkiBTdW1iZXIga3VhdCB1bnR1ayBiaW5vbWlhbCBkaXN0cmlidXRpb24gZGFuIGJpbm9taWFsIGZvcm11bGEuDQoNCg0KNS4gT3BlblN0YXguICgyMDIxKS4gSW50cm9kdWN0b3J5IFN0YXRpc3RpY3MuIE9wZW5TdGF4Lg0K4oaSIEJhYiAzIGRhbiA0IG1lbmplbGFza2FuIHByb2JhYmlsaXR5LCBpbmRlcGVuZGVudCBldmVudHMsIHVuaW9uLCBkYW4gZGlzdHJpYnVzaSBiaW5vbWlhbC4NCg0KDQoNCg0KLS0tDQoNClZpZGVvIFBlbWJlbGFqYXJhbiAoU3VtYmVyIE1hdGVyaSBUdWdhcykNCg0KNi4gWW91VHViZSDigJMgTWF0aCBhbmQgU3RhdHMgU3VwcG9ydCAvIG1hdGVyaSB0ZXJrYWl0Og0KDQpQcm9iYWJpbGl0eSwgU2FtcGxlIFNwYWNlcywgYW5kIHRoZSBDb21wbGVtZW50IFJ1bGUNCg0KUHJvYmFiaWxpdHkgb2YgSW5kZXBlbmRlbnQgYW5kIERlcGVuZGVudCBFdmVudHMNCg0KVGhlIFByb2JhYmlsaXR5IG9mIHRoZSBVbmlvbiBvZiBFdmVudHMNCg0KTXV0dWFsbHkgRXhjbHVzaXZlIGFuZCBFeGhhdXN0aXZlIEV2ZW50cw0KDQpUaGUgQmlub21pYWwgRXhwZXJpbWVudCBhbmQgdGhlIEJpbm9taWFsIEZvcm11bGENCg0KVmlzdWFsaXppbmcgdGhlIEJpbm9taWFsIERpc3RyaWJ1dGlvbg0KDQoNCg0KDQoNCg0KLS0tDQoNCkFydGlrZWwgUGVuZHVrdW5nIChPcHNpb25hbCB0YXBpIEJhZ3VzIFVudHVrIFBlbmlsYWlhbikNCg0KNy4gS2hhbiBBY2FkZW15LiAoMjAyMykuIFByb2JhYmlsaXR5IGFuZCBTdGF0aXN0aWNzIExlc3NvbnMuDQrihpIgUGVuamVsYXNhbiB0YW1iYWhhbiB0ZW50YW5nIHByb2JhYmlsaXRhcyBkYXNhciBkYW4gZGlzdHJpYnVzaSBiaW5vbWlhbC4NCg0KDQo4LiBTdGF0TGVjdC4gKDIwMjQpLiBQcm9iYWJpbGl0eSBUaGVvcnkgYW5kIFN0YXRpc3RpY2FsIERpc3RyaWJ1dGlvbnMuDQrihpIgUGVtYmFoYXNhbiBtYXRlbWF0aXMgdGVudGFuZyBydWFuZyBzYW1wZWwgZGFuIGRpc3RyaWJ1c2kgYmlub21pYWwuDQoNCg0KDQoNCi0tLQ0KDQo=