Essential Of Probability

Tugas Week 10


1 Pendahuluan

Probabilitas merupakan cabang penting dalam statistik yang mempelajari peluang terjadinya suatu peristiwa dalam kondisi ketidakpastian. Dalam kehidupan nyata, banyak fenomena tidak dapat diprediksi secara pasti, tetapi dapat dianalisis melalui peluang, seperti cuaca, hasil pengukuran, keputusan bisnis, hingga percobaan ilmiah. Probabilitas memberikan kerangka matematis untuk memahami berbagai kemungkinan dari suatu kejadian, sehingga membantu dalam membuat keputusan yang lebih rasional dan berbasis data. Dalam statistika, konsep probabilitas berfungsi sebagai dasar untuk mengembangkan berbagai metode analisis, seperti distribusi peluang, inferensi statistik, uji hipotesis, dan pemodelan data. Dengan memahami probabilitas, seorang peneliti dapat menjelaskan variabilitas data, memperkirakan risiko, serta menyimpulkan karakteristik populasi berdasarkan sampel. Oleh karena itu, probabilitas menjadi fondasi utama dalam membangun pemahaman yang kuat terhadap analisis statistik modern.

2 Konsep Mendasar

Probabilitas adalah salah satu konsep fundamental dalam statistika, memainkan peran penting dalam memahami dan memprediksi fenomena acak. Probabilitas memungkinkan kita menentukan kemungkinan terjadinya kejadian atau peristiwa tertentu berdasarkan data atau asumsi yang kita miliki. Artikel ini akan menguraikan konsep dasar probabilitas dalam statistika, termasuk definisi, teori, jenis-jenis probabilitas, aturan, dan penerapannya dalam kehidupan sehari-hari serta penelitian ilmiah.

Menguraikan cara menghitung probabilitas suatu peristiwa melalui perbandingan antara jumlah hasil yang mendukung peristiwa tersebut dan jumlah seluruh hasil yang mungkin. Selanjutnya diperkenalkan aturan komplemen (complement rule), yaitu peluang peristiwa tidak terjadi, dengan hubungan penting bahwa peluang suatu peristiwa A dan komplemennya Aᶜ selalu berjumlah 1

Mencakup pelemparan koin dengan ruang sampel {H, T}, perhitungan peluang muncul head atau tail, serta peluang kejadian komplemen seperti “tidak muncul head”, ditambah ilustrasi lain seperti pelemparan dadu dan probabilitas munculnya suatu angka tertentu. Secara keseluruhan, video ini menegaskan bahwa pemahaman tentang ruang sampel, peristiwa, probabilitas dasar, dan aturan komplemen merupakan fondasi penting untuk mempelajari konsep probabilitas yang lebih lanjut.

2.1 Pengertian Probabilitas

Konsep dasar probabilitas dimulai dari definisi peluang sebagai ukuran numerik mengenai kemungkinan suatu peristiwa terjadi, dengan nilai yang selalu berada pada rentang 0 hingga 1, di mana 0 menunjukkan peristiwa mustahil dan 1 menunjukkan peristiwa pasti. Materi kemudian membahas ruang sampel (sample space) sebagai kumpulan seluruh hasil yang mungkin dalam suatu percobaan, serta peristiwa (events) sebagai bagian dari ruang sampel yang menjadi fokus analisis.

  • Probabilitas adalah ukuran numerik yang menunjukkan seberapa besar kemungkinan suatu peristiwa terjadi.
  • Nilai probabilitas berada pada rentang: \[ 0 \le P(A) \le 1 \]
  • P(A) = 0 → peristiwa mustahil
  • P(A) = 1 → peristiwa pasti

2.2 Ruang Sampel (Sample Space)

  • Ruang sampel adalah himpunan semua hasil yang mungkin dari suatu percobaan acak.
  • Notasi: S
  • Contoh:
    • Melempar koin:
      \[ S = \{H, T\} \]
    • Melempar dadu:
      \[ S = \{1,2,3,4,5,6\} \]

2.3 Peristiwa (Event)

  • Peristiwa adalah himpunan bagian dari ruang sampel.
  • Notasi: A, B, C, …
  • Contoh:
    • A = muncul angka genap pada dadu
      \[ A = \{2,4,6\} \]

2.4 Rumus Probabilitas Dasar

Probabilitas suatu peristiwa dihitung sebagai:

\[ P(A) = \frac{\text{jumlah hasil yang mendukung A}}{\text{jumlah seluruh hasil pada S}} \]

Contoh:

  • P(muncul angka genap)
    \[ P(A) = \frac{3}{6} = \frac{1}{2} \]

2.5 Aturan Komplemen (Complement Rule)

  • Komplemen dari A (ditulis Aᶜ) adalah peristiwa “A tidak terjadi”.
  • A dan Aᶜ mencakup seluruh ruang sampel.
  • Rumus dasar: \[ P(A) + P(A^c) = 1 \]
  • Rumus perhitungan: \[ P(A^c) = 1 - P(A) \]

Contoh:

  • Jika peluang hujan hari ini 0.3: \[ P(H^c) = 1 - 0.3 = 0.7 \]

2.6 Probabilitas Ruang Sampel

  • Total probabilitas semua hasil: \[ P(S) = 1 \]

Contoh

  • Melempar koin:

    • Ruang sampel:
      \[ S = \{H, T\} \]
    • Probabilitas head: \[ P(H) = \frac{1}{2} \]
    • Probabilitas tidak head: \[ P(H^c) = 1 - \frac{1}{2} = \frac{1}{2} \]
  • Melempar dadu:

    • P(muncul angka 3): \[ P(3) = \frac{1}{6} \]

3 Mandiri dan Bergantung

Peristiwa independen adalah kejadian di mana hasil dari satu peristiwa tidak memengaruhi probabilitas peristiwa lainnya, seperti melempar dadu dan membalik koin, dan probabilitas gabungan dihitung dengan mengalikan probabilitas masing-masing peristiwa. Sebaliknya, peristiwa dependen adalah kejadian di mana hasil dari peristiwa pertama mengubah probabilitas peristiwa kedua, yang biasanya terlihat dalam situasi “pengambilan tanpa pengembalian” (contohnya mengambil kelereng dari kotak tanpa mengembalikannya), dan untuk menghitung probabilitas gabungannya, kita perlu menyesuaikan probabilitas peristiwa kedua berdasarkan apa yang telah terjadi pada peristiwa pertama.

Membahas perbedaan antara kejadian saling bebas (independent events) dan kejadian bergantung (dependent events) dalam teori probabilitas. Dua peristiwa dikatakan saling bebas apabila terjadinya salah satu tidak memengaruhi peluang terjadinya yang lain, seperti pada contoh melempar koin dan dadu secara terpisah yang hasilnya tidak saling berkaitan. Untuk kejadian bebas A dan B, probabilitas keduanya terjadi bersama dihitung dengan mengalikan peluang masing-masing.

Sebaliknya, pada kejadian bergantung, terjadinya satu peristiwa memengaruhi peluang peristiwa lainnya, sehingga perhitungan probabilitas tidak dapat menggunakan perkalian langsung seperti pada kejadian bebas. Video menekankan pentingnya membedakan keduanya sebelum menghitung probabilitas bersama, serta mengingatkan bahwa pada kejadian bergantung sering kali diperlukan konsep peluang bersyarat meskipun fokus utama video adalah pada pembedaan antara kejadian bebas dan bergantung.

3.1 Definisi Kejadian Saling Bebas (Independent Events)

  • Dua peristiwa A dan B dikatakan saling bebas jika terjadinya A tidak mempengaruhi terjadinya B, dan sebaliknya.
  • Contoh: melempar sebuah koin dan sebuah dadu secara terpisah — hasil koin tidak memengaruhi hasil dadu.
  • Rumus untuk probabilitas irisan (kedua peristiwa terjadi) jika A dan B bebas:

\[ P(A \cap B) = P(A) \times P(B) \]


3.2 Kejadian Bergantung (Dependent Events)

  • Dua peristiwa disebut bergantung jika terjadinya satu peristiwa memengaruhi probabilitas terjadinya peristiwa lain.
  • Untuk kejadian bergantung, tidak bisa memakai rumus perkalian langsung — perhitungan harus disesuaikan dengan kondisi (sering menggunakan peluang bersyarat).

Catatan: Pastikan apakah dua peristiwa bebas atau tidak sebelum menghitung probabilitas gabungan.


3.3 Perbandingan & Contoh

Jenis Kejadian Definisi Singkat Rumus Irisan Contoh Percobaan
Saling Bebas (Independent) A dan B tidak saling mempengaruhi \(P(A \cap B) = P(A) \times P(B)\) Melempar koin + melempar dadu
Bergantung (Dependent) Hasil A mempengaruhi peluang terjadinya B — (harus dihitung khusus) Ambil dua kartu dari satu set tanpa kembalian

3.4 Pentingnya Memahami Status Kejadian

Sebelum menghitung probabilitas gabungan, selalu jawab dulu:

  • Apakah A dan B saling bebas?
  • Jika ya → gunakan rumus perkalian.
  • Jika tidak → analisis lebih lanjut (mungkin dengan peluang bersyarat).

4 Persatuan Acara

Memperkenalkan konsep kesatuan peristiwa (union of events) dalam probabilitas, yang merupakan kelanjutan dari pembahasan probabilitas dan ruang sampel sebelumnya. Secara khusus, ini berfokus pada cara menghitung probabilitas bahwa salah satu dari dua peristiwa atau lebih akan terjadi, diindikasikan oleh kata kunci “atau” dalam pertanyaan probabilitas. Materi utama yang dijelaskan adalah Aturan Penambahan (Addition Rule) untuk probabilitas, yang menunjukkan bahwa untuk menghindari perhitungan ganda, kita harus menambahkan probabilitas setiap peristiwa lalu mengurangi probabilitas persimpangan (peristiwa di mana kedua kejadian berlaku secara bersamaan), sebuah konsep yang dapat divisualisasikan dengan jelas menggunakan Diagram Venn.

Membahas cara menghitung probabilitas gabungan (union) dari dua atau lebih kejadian, yaitu peluang bahwa setidaknya salah satu dari kejadian tersebut terjadi. Dalam proses perhitungan, sangat penting untuk memperhatikan adanya irisan (intersection), karena hanya menjumlahkan peluang A dan B tanpa mempertimbangkan bagian yang tumpang-tindih dapat menghasilkan nilai yang salah. Union mencakup tiga kemungkinan: hanya A terjadi, hanya B terjadi, atau keduanya terjadi sekaligus; karena itu, rumus probabilitas gabungan harus mengurangi bagian irisan agar tidak dihitung dua kali. Untuk membantu memahami hubungan antarperistiwa, penggunaan diagram Venn sangat berguna karena memvisualisasikan area union dan intersection dengan jelas sebelum melakukan perhitungan probabilitas.

4.1 Definisi

  • Intersection (A ∩ B): peristiwa A dan B terjadi bersama-sama.
  • Union (A ∪ B): peristiwa A terjadi, atau B terjadi, atau keduanya.

Diagram Venn sering digunakan untuk menggambarkan hubungan ini:

  • Irisan = bagian yang tumpang-tindih.
  • Union = seluruh area A, B, dan overlap.

4.2 Rumus Probabilitas

  • Probabilitas Irisan

\[ P(A \cap B) = \frac{\text{jumlah hasil yang mendukung A dan B}}{\text{jumlah seluruh hasil pada ruang sampel } S} \]

  • Probabilitas Gabungan

\[ P(A \cup B) = P(A) + P(B) - P(A \cap B) \]

  • Khusus jika A dan B saling meniadakan (mutually exclusive):
    \[ P(A \cup B) = P(A) + P(B) \quad \text{karena } P(A \cap B) = 0 \]

Contoh:

Misalkan kita melempar sebuah dadu sehingga ruang sampelnya
\[ S = \{1,2,3,4,5,6\} \]
Definisikan peristiwa:

  • \(A\) = muncul angka genap \(\{2,4,6\}\)\(P(A) = \tfrac{3}{6} = 0.5\)
  • \(B\) = muncul angka lebih dari 3 \(\{4,5,6\}\)\(P(B) = \tfrac{3}{6} = 0.5\)

Irisan \(A \cap B = \{4,6\}\), sehingga
\[ P(A \cap B) = \tfrac{2}{6} = \tfrac{1}{3} \]

Maka probabilitas \(A \cup B\) (muncul angka genap atau angka > 3) adalah:
\[ P(A \cup B) = 0.5 + 0.5 - \tfrac{1}{3} = 1 - \tfrac{1}{3} = \tfrac{2}{3} \approx 0.667 \]


4.3 Catatan Penting

  • Jangan hanya menjumlahkan \(P(A) + P(B)\) tanpa melihat apakah A dan B bisa terjadi bersama.
  • Gunakan diagram Venn untuk membantu visualisasi.
  • Rumus union berguna untuk menghitung peluang “A atau B (atau keduanya)” — sering muncul dalam soal probabilitas majemuk.

5 Eksklusif dan Lengkap

Peristiwa yang Saling Eksklusif (atau terpisah) terjadi ketika dua peristiwa tidak dapat terjadi pada waktu yang sama, artinya tidak ada hasil yang sama atau bertindih di antara keduanya. Sebaliknya, suatu rangkaian peristiwa dianggap Menyeluruh jika semua hasil yang mungkin dalam eksperimen tersebut dicakup oleh setidaknya salah satu peristiwa dalam rangkaian tersebut. Memahami kedua klasifikasi ini sangat penting untuk menerapkan Aturan Penambahan dengan benar dalam menghitung probabilitas gabungan.

Memperkenalkan konsep dasar aturan dalam probabilitas, termasuk bagaimana menghitung probabilitas gabungan (union) dan irisan (intersection) dari dua atau lebih peristiwa, serta penggunaan aturan komplemen. Video menekankan bahwa probabilitas peristiwa tunggal dihitung sebagai rasio antara jumlah hasil yang mendukung peristiwa terhadap jumlah seluruh hasil dalam ruang sampel. Untuk peristiwa gabungan seperti “A atau B terjadi” (union). sehingga kita tidak menggandakan bagian yang sama (irisan). Sementara itu, probabilitas irisan “A dan B terjadi bersama” (intersection) dihitung berdasarkan situasi.

namun jika tidak independen, kita harus mempertimbangkan kondisi atau informasi tambahan, umumnya dengan menggunakan probabilitas bersyarat. Aturan komplemen juga diperkenalkan: peluang bahwa A tidak terjadi. Secara keseluruhan, Menyajikan fondasi aturan probabilitas yang diperlukan untuk menghitung peluang peristiwa tunggal maupun gabungan dengan benar.

5.1 Probabilitas Peristiwa Tunggal

Probabilitas peristiwa \(A\) dihitung sebagai: \[ P(A) = \frac{\text{jumlah hasil yang mendukung } A}{\text{jumlah seluruh hasil di ruang sampel } S} \] Nilainya berada dalam rentang: \[ 0 \le P(A) \le 1 \]


5.2 Aturan Irisan (Intersection) & Gabungan (Union)

  • Irisan (Intersection) — peristiwa \(A \cap B\) terjadi jika A dan B terjadi bersama.

    • Jika \(A\) dan \(B\) independen, maka: \[ P(A \cap B) = P(A) \times P(B) \]
    • Jika tidak independen, perhitungan harus mempertimbangkan informasi tambahan (misalnya peluang bersyarat).
  • Gabungan (Union) — peristiwa \(A \cup B\) terjadi jika A terjadi, atau B terjadi, atau keduanya. Rumusnya: \[ P(A \cup B) = P(A) + P(B) - P(A \cap B) \]

    Rumus ini penting untuk menghindari penghitungan ganda pada bagian irisan.


5.3 Aturan Komplemen

  • Komplemen dari peristiwa \(A\) (ditulis \(A^c\)) adalah kejadian bahwa A tidak terjadi.
  • Rumusnya: \[ P(A^c) = 1 - P(A) \]

Contoh Singkat:

Misalkan kita melempar sebuah dadu (ruang sampel \(S = \{1,2,3,4,5,6\}\)).

  • A = muncul angka genap → \(A = \{2,4,6\}\), maka
    \[ P(A) = \frac{3}{6} = 0.5 \]
  • B = muncul angka lebih dari 4 → \(B = \{5,6\}\), maka
    \[ P(B) = \frac{2}{6} = \tfrac{1}{3} \approx 0.333 \]

Jika A dan B dianggap independen (meskipun dalam praktik tidak selalu), probabilitas keduanya terjadi: \[ P(A \cap B) = 0.5 \times 0.333 \approx 0.1665 \]

Probabilitas A atau B terjadi: \[ P(A \cup B) = 0.5 + 0.333 - 0.1665 = 0.6665 \approx 0.667 \]

Komplemen dari A (tidak muncul angka genap): \[ P(A^c) = 1 - 0.5 = 0.5 \]

6 Eksperimen Binomial

Eksperimen binomial merupakan kerangka kerja statistik fundamental yang digunakan untuk menganalisis kebarangkalian bagi peristiwa yang diulang beberapa kali secara bebas, dengan setiap ulangan hanya mempunyai dua hasil yang mungkin: kejayaan atau kegagalan (merujuk kepada awalan ‘bi’). Model ini dicirikan oleh empat syarat utama—bilangan percubaan (\(n\)) yang tetap, kebarangkalian kejayaan (\(P\)) yang malar, dan sifat bebas antara percubaan—dan bertujuan untuk menghitung kebarangkalian mendapatkan bilangan kejayaan (\(k\)) yang tepat dalam jumlah percubaan yang dilakukan, menjadikannya alat yang sangat penting untuk memodelkan fenomena diskret seperti kadar kecacatan dalam pembuatan, keputusan undian, atau hasil ujian klinikal dalam pelbagai bidang ilmu.

Menjelaskan bahwa percobaan binomial adalah rangkaian percobaan acak yang terdiri dari jumlah percobaan tetap (n), setiap percobaan memiliki dua kemungkinan hasil (sukses atau gagal), seluruh percobaan bersifat identik dan saling independen, serta memiliki probabilitas sukses yang tetap (p) pada setiap percobaan. Fokusnya adalah menghitung peluang mendapatkan tepat k sukses dari n percobaan menggunakan rumus distribusi binomial.

sebagai koefisien kombinasi yang menunjukkan banyaknya cara memilih k sukses dari n percobaan. Rumus ini memungkinkan perhitungan probabilitas berbagai situasi dua hasil, seperti peluang mendapatkan 3 kepala dari 5 lemparan koin atau 2 keberhasilan dalam 5 tes. Video menekankan bahwa distribusi binomial hanya valid jika semua syarat percobaan binomial terpenuhi—terutama identik, independen, dan probabilitas sukses konstan—sehingga model dapat digunakan untuk memprediksi fenomena acak secara akurat dan konsisten.

6.1 Definisi Percobaan Binomial

Percobaan binomial adalah rangkaian percobaan acak yang memenuhi:
- Terdiri dari \(n\) percobaan yang tetap banyaknya.
- Setiap percobaan hanya memiliki dua hasil: sukses atau gagal (bertipe Bernoulli).
- Probabilitas sukses tiap percobaan sama, yaitu \(p\).
- Percobaan bersifat independen.

6.2 Variabel Acak Binomial

Misalkan \(X\) adalah variabel acak yang menyatakan jumlah sukses dari \(n\) percobaan. Maka \(X\) mengikuti distribusi binomial:
\[ X \sim \text{Binomial}(n, p) \]

6.3 Rumus Probabilitas Binomial

Probabilitas bahwa akan terjadi tepat \(k\) sukses dalam \(n\) percobaan:

\[ P(X = k) = \binom{n}{k} \; p^{\,k} \; (1 - p)^{\,n - k} \]
\[dengan\]
\[ \binom{n}{k} = \frac{n}{k \,(n - k)} \]

6.4 Penjelasan Parameter

  • \(n\): jumlah percobaan total
  • \(k\): jumlah sukses yang diinginkan
  • \(p\): probabilitas sukses per percobaan
  • \((1 - p)\): probabilitas gagal per percobaan

Contoh:

Misalnya kita melempar koin 5 kali (asumsikan fair coin, \(p = 0.5\)), dan ingin menghitung probabilitas mendapatkan tepat 3 kali “kepala” (sukses),

maka:

n = 5

k = 3

p = 0.5

Rumusnya:

\[ P(X = 3) = \binom{5}{3} \;(0.5)^3 \;(1 - 0.5)^{5 - 3} = 10 \times 0.125 \times 0.25 = 0.3125 \]

Artinya: peluang muncul tepat 3 kepala dari 5 lemparan adalah 0.3125 (≈ 31.25 %).

6.5 Catatan Penting

  • Distribusi binomial hanya berlaku jika semua syarat (dua hasil, \(p\) konstan, independen, dan jumlah percobaan tetap) terpenuhi. :contentReferenceoaicite:1
  • Jika percobaan tidak independen atau probabilitas berubah, model lain (misalnya hipergeometrik) mungkin lebih tepat.

7 Distribusi Binomial

Distribusi binomial adalah salah satu distribusi probabilitas diskret yang digunakan untuk model percobaan yang hanya memiliki dua hasil, yaitu sukses atau gagal. Distribusi ini sering digunakan dalam situasi di mana kita mengulang suatu percobaan independen berkali-kali.

Distribusi binomial menggambarkan kemungkinan jumlah keberhasilan dalam sejumlah percobaan identik dan independen, di mana tiap percobaan memiliki probabilitas sukses yang sama. Video menunjukkan bagaimana hasil percobaan, meskipun acak, membentuk pola tertentu ketika dilihat secara kumulatif, dan bagaimana bentuk distribusi berubah ketika parameter jumlah percobaan 𝑛n atau probabilitas sukses 𝑝p diubah.

Visualisasi ini membantu membangun pemahaman intuitif bahwa meskipun tiap percobaan bersifat acak, hasil kumulatifnya bisa diprediksi secara statistik, mempermudah pemahaman fenomena nyata yang mengikuti model binomial, serta memperlihatkan pentingnya parameter dalam menentukan bentuk distribusi. Pesan utama video ini adalah bahwa acak di tingkat individu bisa menjadi teratur di tingkat kumpulan percobaan, sehingga probabilitas dan distribusi tidak hanya konsep abstrak, tetapi dapat diamati secara nyata melalui pola hasil percobaan.

ini menjelaskan tentang bagaimana cara memvisualisasikan taburan binomial (binomial distribution) dan faktor-faktor yang mempengaruhinya.

7.1 Rumus Binomial.

Rumus Binomial:

\[P(X=k) = {n \choose k} p^k (1-p)^{n-k}\]

bilangan kejayaan (number of successes)\(n\):

bilangan percubaan (number of trials)\(p\):

kebarangkalian kejayaan (probability of success)

Contoh:Melambung duit syiling 2 kali (\(n=2\)), dengan ‘kejayaan’ adalah mendapat kepala (\(p=0.5\)).

Kebarangkalian mendapat 0 kejayaan (\(k=0\)) adalah 0.25. Kebarangkalian mendapat 1 kejayaan (\(k=1\)) adalah 0.50. Kebarangkalian mendapat 2 kejayaan (\(k=2\)) adalah 0.25.

Visualisasi: Data ini diwakilkan dalam carta bar, di mana bilangan kejayaan (\(k\)) berada pada paksi-x dan kebarangkalian kejayaan pada paksi-y. Carta ini menunjukkan taburan yang simetri.

7.2 Kesan Bilangan Percobaan (\(n\))

Meningkatkan \(n\): Apabila bilangan percubaan (\(n\)) ditingkatkan (misalnya dari 2 kepada 10), bentuk taburan binomial mula menyerupai taburan normal (normal distribution).

Min (\(\mu\)): Min taburan binomial sentiasa berpusat di tengah-tengah taburan.

Formula Parameter Taburan Binomial:Min (\(\mu\)) = \(n \times p\)

Varians :

\[n \times p \times (1-p)Sisihan Piawai (\sigma) = \sqrt{n \times p \times (1-p)}\]

7.3 Kesan Kebarangkalian Kejayaan (\(p\))

  • \(p = 0.5\): Taburan binomial adalah simetri.

  • \(p < 0.5\) (misalnya \(p=0.1\)): Taburan menjadi condong ke kanan (skewed to the right). Ini kerana kebarangkalian kejayaan yang rendah menyebabkan kebanyakan data berkumpul ke arah bilangan kejayaan yang kecil (hampir dengan 0).

  • \(p > 0.5\) (misalnya \(p=0.8\)): Taburan menjadi condong ke kiri (skewed to the left). Ini kerana kebarangkalian kejayaan yang tinggi menyebabkan kebanyakan data berkumpul ke arah bilangan kejayaan yang besar (hampir dengan \(n\)).

Kecenderungan Pengumpulan Data: Data sentiasa berkelompok di sekitar nilai Min (\(\mu\)).

7.4 Menghampiri Taburan Normal (Normal Approximation)

Satu-satunya cara untuk mengatasi kecondongan (skewness) yang disebabkan oleh nilai \(p\) yang menyimpang dari 0.5 adalah dengan meningkatkan nilai \(n\) secara signifikan.

Garis Panduan Anggapan Normal: Taburan binomial boleh dianggap menghampiri taburan normal jika dua syarat berikut dipenuhi:

  • \(n \times p \geq 10\)\(n \times (1-p) \geq 10\)

Rumusan Akhir:

Nilai \(p\) (kebarangkalian kejayaan) mengawal bentuk taburan.

  • \(p = 0.5\): Simetri.

  • \(p > 0.5\): Condong ke kiri.

  • \(p < 0.5\): Condong ke kanan.

Nilai \(n\) (bilangan percubaan) mengawal seberapa dekat taburan tersebut menghampiri taburan normal.

Formula untuk parameter taburan adalah:

  • \(\mu = np\), Varians \(= np(1-p)\), dan \(\sigma = \sqrt{np(1-p)}\).

8 Referensi dan Kesimpulan

Probabilitas adalah komponen esensial dalam dunia statistik dan memiliki aplikasinya dalam berbagai bidang kehidupan. Memahami dasar-dasar probabilitas, termasuk ruang sampel, peristiwa, dan aturan-aturan dasar memungkinkan kita untuk membuat prediksi yang lebih akurat dan mengambil keputusan yang lebih informan. Baik dalam konteks penelitian, bisnis, maupun kehidupan sehari-hari, pemahaman tentang probabilitas memberikan kita alat yang kuat untuk mengelola ketidakpastian dan mengoptimalkan hasil yang diinginkan.

https://gurumuda.net/statistika/konsep-dasar-probabilitas-dalam-statistika.htm

LS0tDQp0aXRsZTogIkVzc2VudGlhbCBPZiBQcm9iYWJpbGl0eSIgICAgICAgIyBNYWluIHRpdGxlIG9mIHRoZSBkb2N1bWVudA0KDQpzdWJ0aXRsZTogIlR1Z2FzIFdlZWsgMTAgIiAgICAgICAgIyBTdWJ0aXRsZSBvciB0b3BpYyBmb3Igd2VlayAxMA0KYXV0aG9yOiANCiAgLSAiTS4gWXVzdGlhbiBQdXRyYSBNdWhhZGkiICAgICAgICAgICAgICAgIyBSZXBsYWNlIHdpdGggeW91ciBmdWxsIG5hbWUNCmRhdGU6ICJgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyVCICVkLCAlWScpYCIgICMgQXV0byBkaXNwbGF5cyBjdXJyZW50IGRhdGUNCg0Kb3V0cHV0Og0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjogICAgICAgICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWJhL3JtZGZvcm1hdHMNCiAgICBjc3M6ICJzdHlsZS5jc3MiICAgICAgICAgICAgICAgICAgICAgIyA8LS0tIFBBTkdHSUwgRklMRSBDU1MgREkgU0lOSQ0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlICAgICAgICAgICAgICAgICAjIEVtYmVkIGFsbCByZXNvdXJjZXMNCiAgICB0aHVtYm5haWxzOiB0cnVlICAgICAgICAgICAgICAgICAgICAgIyBTaG93IGltYWdlIHRodW1ibmFpbHMNCiAgICBsaWdodGJveDogdHJ1ZSAgICAgICAgICAgICAgICAgICAgICAgIyBFbmFibGUgY2xpY2stdG8tem9vbSBpbWFnZXMNCiAgICBnYWxsZXJ5OiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAgIyBHcm91cCBpbWFnZXMgaW50byBnYWxsZXJ5DQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlICAgICAgICAgICAgICAgICMgTnVtYmVyIGFsbCBzZWN0aW9ucw0KICAgIGxpYl9kaXI6IGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAjIFNhdmUgSlMvQ1NTIGxpYnJhcmllcw0KICAgIGRmX3ByaW50OiAicGFnZWQiICAgICAgICAgICAgICAgICAgICAjIFBhZ2VkIGRhdGEgZnJhbWVzDQogICAgY29kZV9mb2xkaW5nOiAic2hvdyIgICAgICAgICAgICAgICAgICMgRXhwYW5kYWJsZSBjb2RlIGJsb2Nrcw0KICAgIGNvZGVfZG93bmxvYWQ6IHllcyAgICAgICAgICAgICAgICAgICAjIEFkZCBidXR0b24gdG8gZG93bmxvYWQgUiBjb2RlDQoNCi0tLQ0KDQo8aW1nIGlkPSJGb3RvIiBzcmM9Ill1c3NzLmpwZyIgc3R5bGU9IndpZHRoOjIwMHB4OyBkaXNwbGF5OmJsb2NrOyBtYXJnaW46YXV0bzsiPg0KDQotLS0NCg0KIyMgUGVuZGFodWx1YW4NCg0KUHJvYmFiaWxpdGFzIG1lcnVwYWthbiBjYWJhbmcgcGVudGluZyBkYWxhbSBzdGF0aXN0aWsgeWFuZyBtZW1wZWxhamFyaSBwZWx1YW5nIHRlcmphZGlueWEgc3VhdHUgcGVyaXN0aXdhIGRhbGFtIGtvbmRpc2kga2V0aWRha3Bhc3RpYW4uIERhbGFtIGtlaGlkdXBhbiBueWF0YSwgYmFueWFrIGZlbm9tZW5hIHRpZGFrIGRhcGF0IGRpcHJlZGlrc2kgc2VjYXJhIHBhc3RpLCB0ZXRhcGkgZGFwYXQgZGlhbmFsaXNpcyBtZWxhbHVpIHBlbHVhbmcsIHNlcGVydGkgY3VhY2EsIGhhc2lsIHBlbmd1a3VyYW4sIGtlcHV0dXNhbiBiaXNuaXMsIGhpbmdnYSBwZXJjb2JhYW4gaWxtaWFoLiBQcm9iYWJpbGl0YXMgbWVtYmVyaWthbiBrZXJhbmdrYSBtYXRlbWF0aXMgdW50dWsgbWVtYWhhbWkgYmVyYmFnYWkga2VtdW5na2luYW4gZGFyaSBzdWF0dSBrZWphZGlhbiwgc2VoaW5nZ2EgbWVtYmFudHUgZGFsYW0gbWVtYnVhdCBrZXB1dHVzYW4geWFuZyBsZWJpaCByYXNpb25hbCBkYW4gYmVyYmFzaXMgZGF0YS4gRGFsYW0gc3RhdGlzdGlrYSwga29uc2VwIHByb2JhYmlsaXRhcyBiZXJmdW5nc2kgc2ViYWdhaSBkYXNhciB1bnR1ayBtZW5nZW1iYW5na2FuIGJlcmJhZ2FpIG1ldG9kZSBhbmFsaXNpcywgc2VwZXJ0aSBkaXN0cmlidXNpIHBlbHVhbmcsIGluZmVyZW5zaSBzdGF0aXN0aWssIHVqaSBoaXBvdGVzaXMsIGRhbiBwZW1vZGVsYW4gZGF0YS4gRGVuZ2FuIG1lbWFoYW1pIHByb2JhYmlsaXRhcywgc2VvcmFuZyBwZW5lbGl0aSBkYXBhdCBtZW5qZWxhc2thbiB2YXJpYWJpbGl0YXMgZGF0YSwgbWVtcGVya2lyYWthbiByaXNpa28sIHNlcnRhIG1lbnlpbXB1bGthbiBrYXJha3RlcmlzdGlrIHBvcHVsYXNpIGJlcmRhc2Fya2FuIHNhbXBlbC4gT2xlaCBrYXJlbmEgaXR1LCBwcm9iYWJpbGl0YXMgbWVuamFkaSBmb25kYXNpIHV0YW1hIGRhbGFtIG1lbWJhbmd1biBwZW1haGFtYW4geWFuZyBrdWF0IHRlcmhhZGFwIGFuYWxpc2lzIHN0YXRpc3RpayBtb2Rlcm4uDQoNCiMjIEtvbnNlcCBNZW5kYXNhcg0KDQpQcm9iYWJpbGl0YXMgYWRhbGFoIHNhbGFoIHNhdHUga29uc2VwIGZ1bmRhbWVudGFsIGRhbGFtIHN0YXRpc3Rpa2EsIG1lbWFpbmthbiBwZXJhbiBwZW50aW5nIGRhbGFtIG1lbWFoYW1pIGRhbiBtZW1wcmVkaWtzaSBmZW5vbWVuYSBhY2FrLiBQcm9iYWJpbGl0YXMgbWVtdW5na2lua2FuIGtpdGEgbWVuZW50dWthbiBrZW11bmdraW5hbiB0ZXJqYWRpbnlhIGtlamFkaWFuIGF0YXUgcGVyaXN0aXdhIHRlcnRlbnR1IGJlcmRhc2Fya2FuIGRhdGEgYXRhdSBhc3Vtc2kgeWFuZyBraXRhIG1pbGlraS4gQXJ0aWtlbCBpbmkgYWthbiBtZW5ndXJhaWthbiBrb25zZXAgZGFzYXIgcHJvYmFiaWxpdGFzIGRhbGFtIHN0YXRpc3Rpa2EsIHRlcm1hc3VrIGRlZmluaXNpLCB0ZW9yaSwgamVuaXMtamVuaXMgcHJvYmFiaWxpdGFzLCBhdHVyYW4sIGRhbiBwZW5lcmFwYW5ueWEgZGFsYW0ga2VoaWR1cGFuIHNlaGFyaS1oYXJpIHNlcnRhIHBlbmVsaXRpYW4gaWxtaWFoLg0KDQo8Y2VudGVyPg0KPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3luakhLQkNpR1hZIiB3aWR0aD0iNzYwIiBoZWlnaHQ9IjQwMCIgZGF0YS1leHRlcm5hbD0iMSIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0KTWVuZ3VyYWlrYW4gY2FyYSBtZW5naGl0dW5nIHByb2JhYmlsaXRhcyBzdWF0dSBwZXJpc3Rpd2EgbWVsYWx1aSBwZXJiYW5kaW5nYW4gYW50YXJhIGp1bWxhaCBoYXNpbCB5YW5nIG1lbmR1a3VuZyBwZXJpc3Rpd2EgdGVyc2VidXQgZGFuIGp1bWxhaCBzZWx1cnVoIGhhc2lsIHlhbmcgbXVuZ2tpbi4gU2VsYW5qdXRueWEgZGlwZXJrZW5hbGthbiBhdHVyYW4ga29tcGxlbWVuIChjb21wbGVtZW50IHJ1bGUpLCB5YWl0dSBwZWx1YW5nIHBlcmlzdGl3YSB0aWRhayB0ZXJqYWRpLCBkZW5nYW4gaHVidW5nYW4gcGVudGluZyBiYWh3YSBwZWx1YW5nIHN1YXR1IHBlcmlzdGl3YSBBIGRhbiBrb21wbGVtZW5ueWEgQeG2nCBzZWxhbHUgYmVyanVtbGFoIDENCg0KTWVuY2FrdXAgcGVsZW1wYXJhbiBrb2luIGRlbmdhbiBydWFuZyBzYW1wZWwge0gsIFR9LCBwZXJoaXR1bmdhbiBwZWx1YW5nIG11bmN1bCBoZWFkIGF0YXUgdGFpbCwgc2VydGEgcGVsdWFuZyBrZWphZGlhbiBrb21wbGVtZW4gc2VwZXJ0aSDigJx0aWRhayBtdW5jdWwgaGVhZOKAnSwgZGl0YW1iYWggaWx1c3RyYXNpIGxhaW4gc2VwZXJ0aSBwZWxlbXBhcmFuIGRhZHUgZGFuIHByb2JhYmlsaXRhcyBtdW5jdWxueWEgc3VhdHUgYW5na2EgdGVydGVudHUuIFNlY2FyYSBrZXNlbHVydWhhbiwgdmlkZW8gaW5pIG1lbmVnYXNrYW4gYmFod2EgcGVtYWhhbWFuIHRlbnRhbmcgcnVhbmcgc2FtcGVsLCBwZXJpc3Rpd2EsIHByb2JhYmlsaXRhcyBkYXNhciwgZGFuIGF0dXJhbiBrb21wbGVtZW4gbWVydXBha2FuIGZvbmRhc2kgcGVudGluZyB1bnR1ayBtZW1wZWxhamFyaSBrb25zZXAgcHJvYmFiaWxpdGFzIHlhbmcgbGViaWggbGFuanV0Lg0KDQojIyMgKlBlbmdlcnRpYW4gUHJvYmFiaWxpdGFzKg0KDQpLb25zZXAgZGFzYXIgcHJvYmFiaWxpdGFzIGRpbXVsYWkgZGFyaSBkZWZpbmlzaSBwZWx1YW5nIHNlYmFnYWkgdWt1cmFuIG51bWVyaWsgbWVuZ2VuYWkga2VtdW5na2luYW4gc3VhdHUgcGVyaXN0aXdhIHRlcmphZGksIGRlbmdhbiBuaWxhaSB5YW5nIHNlbGFsdSBiZXJhZGEgcGFkYSByZW50YW5nIDAgaGluZ2dhIDEsIGRpIG1hbmEgMCBtZW51bmp1a2thbiBwZXJpc3Rpd2EgbXVzdGFoaWwgZGFuIDEgbWVudW5qdWtrYW4gcGVyaXN0aXdhIHBhc3RpLiBNYXRlcmkga2VtdWRpYW4gbWVtYmFoYXMgcnVhbmcgc2FtcGVsIChzYW1wbGUgc3BhY2UpIHNlYmFnYWkga3VtcHVsYW4gc2VsdXJ1aCBoYXNpbCB5YW5nIG11bmdraW4gZGFsYW0gc3VhdHUgcGVyY29iYWFuLCBzZXJ0YSBwZXJpc3Rpd2EgKGV2ZW50cykgc2ViYWdhaSBiYWdpYW4gZGFyaSBydWFuZyBzYW1wZWwgeWFuZyBtZW5qYWRpIGZva3VzIGFuYWxpc2lzLg0KDQotIFByb2JhYmlsaXRhcyBhZGFsYWggdWt1cmFuIG51bWVyaWsgeWFuZyBtZW51bmp1a2thbiBzZWJlcmFwYSBiZXNhciBrZW11bmdraW5hbiBzdWF0dSBwZXJpc3Rpd2EgdGVyamFkaS4NCi0gTmlsYWkgcHJvYmFiaWxpdGFzIGJlcmFkYSBwYWRhIHJlbnRhbmc6DQpcWw0KMCBcbGUgUChBKSBcbGUgMQ0KXF0NCi0gUChBKSA9IDAg4oaSIHBlcmlzdGl3YSBtdXN0YWhpbCAgDQotIFAoQSkgPSAxIOKGkiBwZXJpc3Rpd2EgcGFzdGkNCg0KLS0tDQoNCiMjIyAqUnVhbmcgU2FtcGVsIChTYW1wbGUgU3BhY2UpKg0KDQotIFJ1YW5nIHNhbXBlbCBhZGFsYWggaGltcHVuYW4gc2VtdWEgaGFzaWwgeWFuZyBtdW5na2luIGRhcmkgc3VhdHUgcGVyY29iYWFuIGFjYWsuDQotIE5vdGFzaTogKipTKioNCi0gQ29udG9oOg0KICAtIE1lbGVtcGFyIGtvaW46ICANCiAgICBcWw0KICAgIFMgPSBce0gsIFRcfQ0KICAgIFxdDQogIC0gTWVsZW1wYXIgZGFkdTogIA0KICAgIFxbDQogICAgUyA9IFx7MSwyLDMsNCw1LDZcfQ0KICAgIFxdDQoNCi0tLQ0KDQojIyMgKlBlcmlzdGl3YSAoRXZlbnQpKg0KDQotIFBlcmlzdGl3YSBhZGFsYWggaGltcHVuYW4gYmFnaWFuIGRhcmkgcnVhbmcgc2FtcGVsLg0KLSBOb3Rhc2k6ICoqQSwgQiwgQywgLi4uKioNCi0gQ29udG9oOg0KICAtIEEgPSBtdW5jdWwgYW5na2EgZ2VuYXAgcGFkYSBkYWR1ICANCiAgICBcWw0KICAgIEEgPSBcezIsNCw2XH0NCiAgICBcXQ0KDQotLS0NCg0KIyMjICpSdW11cyBQcm9iYWJpbGl0YXMgRGFzYXIqDQoNClByb2JhYmlsaXRhcyBzdWF0dSBwZXJpc3Rpd2EgZGloaXR1bmcgc2ViYWdhaToNCg0KXFsNClAoQSkgPSBcZnJhY3tcdGV4dHtqdW1sYWggaGFzaWwgeWFuZyBtZW5kdWt1bmcgQX19e1x0ZXh0e2p1bWxhaCBzZWx1cnVoIGhhc2lsIHBhZGEgU319DQpcXQ0KDQpDb250b2g6DQoNCi0gUChtdW5jdWwgYW5na2EgZ2VuYXApICANCiAgXFsNCiAgUChBKSA9IFxmcmFjezN9ezZ9ID0gXGZyYWN7MX17Mn0NCiAgXF0NCg0KLS0tDQoNCiMjIyAqQXR1cmFuIEtvbXBsZW1lbiAoQ29tcGxlbWVudCBSdWxlKSoNCg0KLSBLb21wbGVtZW4gZGFyaSBBIChkaXR1bGlzICoqQeG2nCoqKSBhZGFsYWggcGVyaXN0aXdhIOKAnEEgdGlkYWsgdGVyamFkaeKAnS4NCi0gQSBkYW4gQeG2nCBtZW5jYWt1cCBzZWx1cnVoIHJ1YW5nIHNhbXBlbC4NCi0gUnVtdXMgZGFzYXI6DQpcWw0KUChBKSArIFAoQV5jKSA9IDENClxdDQotIFJ1bXVzIHBlcmhpdHVuZ2FuOg0KXFsNClAoQV5jKSA9IDEgLSBQKEEpDQpcXQ0KDQpDb250b2g6DQoNCi0gSmlrYSBwZWx1YW5nIGh1amFuIGhhcmkgaW5pIDAuMzoNCiAgXFsNCiAgUChIXmMpID0gMSAtIDAuMyA9IDAuNw0KICBcXQ0KDQotLS0NCg0KIyMjICpQcm9iYWJpbGl0YXMgUnVhbmcgU2FtcGVsKg0KDQotIFRvdGFsIHByb2JhYmlsaXRhcyBzZW11YSBoYXNpbDoNClxbDQpQKFMpID0gMQ0KXF0NCg0KLS0tDQoNCioqQ29udG9oKioNCg0KLSBNZWxlbXBhciBrb2luOg0KDQogIC0gUnVhbmcgc2FtcGVsOiAgDQogICAgXFsNCiAgICBTID0gXHtILCBUXH0NCiAgICBcXQ0KICAtIFByb2JhYmlsaXRhcyBoZWFkOg0KICAgIFxbDQogICAgUChIKSA9IFxmcmFjezF9ezJ9DQogICAgXF0NCiAgLSBQcm9iYWJpbGl0YXMgdGlkYWsgaGVhZDoNCiAgICBcWw0KICAgIFAoSF5jKSA9IDEgLSBcZnJhY3sxfXsyfSA9IFxmcmFjezF9ezJ9DQogICAgXF0NCg0KLSBNZWxlbXBhciBkYWR1Og0KDQogIC0gUChtdW5jdWwgYW5na2EgMyk6DQogICAgXFsNCiAgICBQKDMpID0gXGZyYWN7MX17Nn0NCiAgICBcXQ0KDQoNCiMjIE1hbmRpcmkgZGFuIEJlcmdhbnR1bmcNCg0KUGVyaXN0aXdhIGluZGVwZW5kZW4gYWRhbGFoIGtlamFkaWFuIGRpIG1hbmEgaGFzaWwgZGFyaSBzYXR1IHBlcmlzdGl3YSB0aWRhayBtZW1lbmdhcnVoaSBwcm9iYWJpbGl0YXMgcGVyaXN0aXdhIGxhaW5ueWEsIHNlcGVydGkgbWVsZW1wYXIgZGFkdSBkYW4gbWVtYmFsaWsga29pbiwgZGFuIHByb2JhYmlsaXRhcyBnYWJ1bmdhbiBkaWhpdHVuZyBkZW5nYW4gbWVuZ2FsaWthbiBwcm9iYWJpbGl0YXMgbWFzaW5nLW1hc2luZyBwZXJpc3Rpd2EuIFNlYmFsaWtueWEsIHBlcmlzdGl3YSBkZXBlbmRlbiBhZGFsYWgga2VqYWRpYW4gZGkgbWFuYSBoYXNpbCBkYXJpIHBlcmlzdGl3YSBwZXJ0YW1hIG1lbmd1YmFoIHByb2JhYmlsaXRhcyBwZXJpc3Rpd2Ega2VkdWEsIHlhbmcgYmlhc2FueWEgdGVybGloYXQgZGFsYW0gc2l0dWFzaSAicGVuZ2FtYmlsYW4gdGFucGEgcGVuZ2VtYmFsaWFuIiAoY29udG9obnlhIG1lbmdhbWJpbCBrZWxlcmVuZyBkYXJpIGtvdGFrIHRhbnBhIG1lbmdlbWJhbGlrYW5ueWEpLCBkYW4gdW50dWsgbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMgZ2FidW5nYW5ueWEsIGtpdGEgcGVybHUgbWVueWVzdWFpa2FuIHByb2JhYmlsaXRhcyBwZXJpc3Rpd2Ega2VkdWEgYmVyZGFzYXJrYW4gYXBhIHlhbmcgdGVsYWggdGVyamFkaSBwYWRhIHBlcmlzdGl3YSBwZXJ0YW1hLg0KDQo8Y2VudGVyPg0KPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0xTLV9paERLcjJNIiB3aWR0aD0iNzYwIiBoZWlnaHQ9IjQwMCIgZGF0YS1leHRlcm5hbD0iMSIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0KTWVtYmFoYXMgcGVyYmVkYWFuIGFudGFyYSBrZWphZGlhbiBzYWxpbmcgYmViYXMgKGluZGVwZW5kZW50IGV2ZW50cykgZGFuIGtlamFkaWFuIGJlcmdhbnR1bmcgKGRlcGVuZGVudCBldmVudHMpIGRhbGFtIHRlb3JpIHByb2JhYmlsaXRhcy4gRHVhIHBlcmlzdGl3YSBkaWthdGFrYW4gc2FsaW5nIGJlYmFzIGFwYWJpbGEgdGVyamFkaW55YSBzYWxhaCBzYXR1IHRpZGFrIG1lbWVuZ2FydWhpIHBlbHVhbmcgdGVyamFkaW55YSB5YW5nIGxhaW4sIHNlcGVydGkgcGFkYSBjb250b2ggbWVsZW1wYXIga29pbiBkYW4gZGFkdSBzZWNhcmEgdGVycGlzYWggeWFuZyBoYXNpbG55YSB0aWRhayBzYWxpbmcgYmVya2FpdGFuLiBVbnR1ayBrZWphZGlhbiBiZWJhcyBBIGRhbiBCLCBwcm9iYWJpbGl0YXMga2VkdWFueWEgdGVyamFkaSBiZXJzYW1hIGRpaGl0dW5nIGRlbmdhbiBtZW5nYWxpa2FuIHBlbHVhbmcgbWFzaW5nLW1hc2luZy4gDQoNClNlYmFsaWtueWEsIHBhZGEga2VqYWRpYW4gYmVyZ2FudHVuZywgdGVyamFkaW55YSBzYXR1IHBlcmlzdGl3YSBtZW1lbmdhcnVoaSBwZWx1YW5nIHBlcmlzdGl3YSBsYWlubnlhLCBzZWhpbmdnYSBwZXJoaXR1bmdhbiBwcm9iYWJpbGl0YXMgdGlkYWsgZGFwYXQgbWVuZ2d1bmFrYW4gcGVya2FsaWFuIGxhbmdzdW5nIHNlcGVydGkgcGFkYSBrZWphZGlhbiBiZWJhcy4gVmlkZW8gbWVuZWthbmthbiBwZW50aW5nbnlhIG1lbWJlZGFrYW4ga2VkdWFueWEgc2ViZWx1bSBtZW5naGl0dW5nIHByb2JhYmlsaXRhcyBiZXJzYW1hLCBzZXJ0YSBtZW5naW5nYXRrYW4gYmFod2EgcGFkYSBrZWphZGlhbiBiZXJnYW50dW5nIHNlcmluZyBrYWxpIGRpcGVybHVrYW4ga29uc2VwIHBlbHVhbmcgYmVyc3lhcmF0IG1lc2tpcHVuIGZva3VzIHV0YW1hIHZpZGVvIGFkYWxhaCBwYWRhIHBlbWJlZGFhbiBhbnRhcmEga2VqYWRpYW4gYmViYXMgZGFuIGJlcmdhbnR1bmcuDQoNCiMjIyAqRGVmaW5pc2kgS2VqYWRpYW4gU2FsaW5nIEJlYmFzIChJbmRlcGVuZGVudCBFdmVudHMpKg0KDQotIER1YSBwZXJpc3Rpd2EgQSBkYW4gQiBkaWthdGFrYW4gKipzYWxpbmcgYmViYXMqKiBqaWthIHRlcmphZGlueWEgQSB0aWRhayBtZW1wZW5nYXJ1aGkgdGVyamFkaW55YSBCLCBkYW4gc2ViYWxpa255YS4gIA0KLSBDb250b2g6IG1lbGVtcGFyIHNlYnVhaCBrb2luIGRhbiBzZWJ1YWggZGFkdSBzZWNhcmEgdGVycGlzYWgg4oCUIGhhc2lsIGtvaW4gdGlkYWsgbWVtZW5nYXJ1aGkgaGFzaWwgZGFkdS4gIA0KLSBSdW11cyB1bnR1ayBwcm9iYWJpbGl0YXMgaXJpc2FuIChrZWR1YSBwZXJpc3Rpd2EgdGVyamFkaSkgamlrYSBBIGRhbiBCIGJlYmFzOg0KDQpcWw0KUChBIFxjYXAgQikgPSBQKEEpIFx0aW1lcyBQKEIpDQpcXQ0KDQotLS0NCg0KIyMjICpLZWphZGlhbiBCZXJnYW50dW5nIChEZXBlbmRlbnQgRXZlbnRzKSoNCg0KLSBEdWEgcGVyaXN0aXdhIGRpc2VidXQgKipiZXJnYW50dW5nKiogamlrYSB0ZXJqYWRpbnlhIHNhdHUgcGVyaXN0aXdhIG1lbWVuZ2FydWhpIHByb2JhYmlsaXRhcyB0ZXJqYWRpbnlhIHBlcmlzdGl3YSBsYWluLiAgDQotIFVudHVrIGtlamFkaWFuIGJlcmdhbnR1bmcsIHRpZGFrIGJpc2EgbWVtYWthaSBydW11cyBwZXJrYWxpYW4gbGFuZ3N1bmcg4oCUIHBlcmhpdHVuZ2FuIGhhcnVzIGRpc2VzdWFpa2FuIGRlbmdhbiBrb25kaXNpIChzZXJpbmcgbWVuZ2d1bmFrYW4gcGVsdWFuZyBiZXJzeWFyYXQpLg0KDQo+ICoqQ2F0YXRhbjoqKiBQYXN0aWthbiBhcGFrYWggZHVhIHBlcmlzdGl3YSBiZWJhcyBhdGF1IHRpZGFrIHNlYmVsdW0gbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMgZ2FidW5nYW4uDQoNCi0tLQ0KDQojIyMgKlBlcmJhbmRpbmdhbiAmIENvbnRvaCoNCg0KfCBKZW5pcyBLZWphZGlhbiAgICAgICAgICAgfCBEZWZpbmlzaSBTaW5na2F0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFJ1bXVzIElyaXNhbiAgICAgICAgICAgICAgICAgICAgICAgICB8IENvbnRvaCBQZXJjb2JhYW4gICAgICAgICAgICAgICAgICAgICAgfA0KfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18DQp8IFNhbGluZyBCZWJhcyAoSW5kZXBlbmRlbnQpIHwgQSBkYW4gQiB0aWRhayBzYWxpbmcgbWVtcGVuZ2FydWhpICAgICAgICAgICAgICAgICAgICAgICAgIHwgXChQKEEgXGNhcCBCKSA9IFAoQSkgXHRpbWVzIFAoQilcKSAgfCBNZWxlbXBhciBrb2luICsgbWVsZW1wYXIgZGFkdSAgICAgICAgIHwNCnwgQmVyZ2FudHVuZyAoRGVwZW5kZW50KSAgIHwgSGFzaWwgQSBtZW1wZW5nYXJ1aGkgcGVsdWFuZyB0ZXJqYWRpbnlhIEIgICAgICAgICAgICAgICAgfCDigJQgKGhhcnVzIGRpaGl0dW5nIGtodXN1cykgICAgICAgICAgIHwgQW1iaWwgZHVhIGthcnR1IGRhcmkgc2F0dSBzZXQgdGFucGEga2VtYmFsaWFuIHwNCg0KLS0tDQoNCiMjIyAqUGVudGluZ255YSBNZW1haGFtaSBTdGF0dXMgS2VqYWRpYW4qDQoNClNlYmVsdW0gbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMgZ2FidW5nYW4sIHNlbGFsdSBqYXdhYiBkdWx1Og0KDQotIEFwYWthaCBBIGRhbiBCIHNhbGluZyBiZWJhcz8gIA0KLSBKaWthIHlhIOKGkiBndW5ha2FuIHJ1bXVzIHBlcmthbGlhbi4gIA0KLSBKaWthIHRpZGFrIOKGkiBhbmFsaXNpcyBsZWJpaCBsYW5qdXQgKG11bmdraW4gZGVuZ2FuIHBlbHVhbmcgYmVyc3lhcmF0KS4NCg0KIyMgUGVyc2F0dWFuIEFjYXJhDQoNCk1lbXBlcmtlbmFsa2FuIGtvbnNlcCBrZXNhdHVhbiBwZXJpc3Rpd2EgKHVuaW9uIG9mIGV2ZW50cykgZGFsYW0gcHJvYmFiaWxpdGFzLCB5YW5nIG1lcnVwYWthbiBrZWxhbmp1dGFuIGRhcmkgcGVtYmFoYXNhbiBwcm9iYWJpbGl0YXMgZGFuIHJ1YW5nIHNhbXBlbCBzZWJlbHVtbnlhLiBTZWNhcmEga2h1c3VzLCBpbmkgYmVyZm9rdXMgcGFkYSBjYXJhIG1lbmdoaXR1bmcgcHJvYmFiaWxpdGFzIGJhaHdhIHNhbGFoIHNhdHUgZGFyaSBkdWEgcGVyaXN0aXdhIGF0YXUgbGViaWggYWthbiB0ZXJqYWRpLCBkaWluZGlrYXNpa2FuIG9sZWgga2F0YSBrdW5jaSAiYXRhdSIgZGFsYW0gcGVydGFueWFhbiBwcm9iYWJpbGl0YXMuIE1hdGVyaSB1dGFtYSB5YW5nIGRpamVsYXNrYW4gYWRhbGFoIEF0dXJhbiBQZW5hbWJhaGFuIChBZGRpdGlvbiBSdWxlKSB1bnR1ayBwcm9iYWJpbGl0YXMsIHlhbmcgbWVudW5qdWtrYW4gYmFod2EgdW50dWsgbWVuZ2hpbmRhcmkgcGVyaGl0dW5nYW4gZ2FuZGEsIGtpdGEgaGFydXMgbWVuYW1iYWhrYW4gcHJvYmFiaWxpdGFzIHNldGlhcCBwZXJpc3Rpd2EgbGFsdSBtZW5ndXJhbmdpIHByb2JhYmlsaXRhcyBwZXJzaW1wYW5nYW4gKHBlcmlzdGl3YSBkaSBtYW5hIGtlZHVhIGtlamFkaWFuIGJlcmxha3Ugc2VjYXJhIGJlcnNhbWFhbiksIHNlYnVhaCBrb25zZXAgeWFuZyBkYXBhdCBkaXZpc3VhbGlzYXNpa2FuIGRlbmdhbiBqZWxhcyBtZW5nZ3VuYWthbiBEaWFncmFtIFZlbm4uDQoNCjxjZW50ZXI+DQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvdnFLQWJoQ3FTVGMiIHdpZHRoPSI3NjAiIGhlaWdodD0iNDAwIiBkYXRhLWV4dGVybmFsPSIxIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuPiA8L2lmcmFtZT4NCjwvY2VudGVyPg0KDQpNZW1iYWhhcyBjYXJhIG1lbmdoaXR1bmcgcHJvYmFiaWxpdGFzIGdhYnVuZ2FuICh1bmlvbikgZGFyaSBkdWEgYXRhdSBsZWJpaCBrZWphZGlhbiwgeWFpdHUgcGVsdWFuZyBiYWh3YSBzZXRpZGFrbnlhIHNhbGFoIHNhdHUgZGFyaSBrZWphZGlhbiB0ZXJzZWJ1dCB0ZXJqYWRpLiBEYWxhbSBwcm9zZXMgcGVyaGl0dW5nYW4sIHNhbmdhdCBwZW50aW5nIHVudHVrIG1lbXBlcmhhdGlrYW4gYWRhbnlhIGlyaXNhbiAoaW50ZXJzZWN0aW9uKSwga2FyZW5hIGhhbnlhIG1lbmp1bWxhaGthbiBwZWx1YW5nIEEgZGFuIEIgdGFucGEgbWVtcGVydGltYmFuZ2thbiBiYWdpYW4geWFuZyB0dW1wYW5nLXRpbmRpaCBkYXBhdCBtZW5naGFzaWxrYW4gbmlsYWkgeWFuZyBzYWxhaC4gVW5pb24gbWVuY2FrdXAgdGlnYSBrZW11bmdraW5hbjogaGFueWEgQSB0ZXJqYWRpLCBoYW55YSBCIHRlcmphZGksIGF0YXUga2VkdWFueWEgdGVyamFkaSBzZWthbGlndXM7IGthcmVuYSBpdHUsIHJ1bXVzIHByb2JhYmlsaXRhcyBnYWJ1bmdhbiBoYXJ1cyBtZW5ndXJhbmdpIGJhZ2lhbiBpcmlzYW4gYWdhciB0aWRhayBkaWhpdHVuZyBkdWEga2FsaS4gVW50dWsgbWVtYmFudHUgbWVtYWhhbWkgaHVidW5nYW4gYW50YXJwZXJpc3Rpd2EsIHBlbmdndW5hYW4gZGlhZ3JhbSBWZW5uIHNhbmdhdCBiZXJndW5hIGthcmVuYSBtZW12aXN1YWxpc2FzaWthbiBhcmVhIHVuaW9uIGRhbiBpbnRlcnNlY3Rpb24gZGVuZ2FuIGplbGFzIHNlYmVsdW0gbWVsYWt1a2FuIHBlcmhpdHVuZ2FuIHByb2JhYmlsaXRhcy4NCg0KIyMjICpEZWZpbmlzaSoNCg0KLSAqKkludGVyc2VjdGlvbiAoQSDiiKkgQik6KiogcGVyaXN0aXdhIEEgZGFuIEIgdGVyamFkaSBiZXJzYW1hLXNhbWEuICANCi0gKipVbmlvbiAoQSDiiKogQik6KiogcGVyaXN0aXdhIEEgdGVyamFkaSwgYXRhdSBCIHRlcmphZGksIGF0YXUga2VkdWFueWEuDQoNCkRpYWdyYW0gVmVubiBzZXJpbmcgZGlndW5ha2FuIHVudHVrIG1lbmdnYW1iYXJrYW4gaHVidW5nYW4gaW5pOiAgDQoNCi0gSXJpc2FuID0gYmFnaWFuIHlhbmcgdHVtcGFuZy10aW5kaWguICANCi0gVW5pb24gPSBzZWx1cnVoIGFyZWEgQSwgQiwgZGFuIG92ZXJsYXAuDQoNCi0tLQ0KDQojIyMgKlJ1bXVzIFByb2JhYmlsaXRhcyoNCg0KLSAqKlByb2JhYmlsaXRhcyBJcmlzYW4qKiANCg0KXFsNClAoQSBcY2FwIEIpID0gXGZyYWN7XHRleHR7anVtbGFoIGhhc2lsIHlhbmcgbWVuZHVrdW5nIEEgZGFuIEJ9fXtcdGV4dHtqdW1sYWggc2VsdXJ1aCBoYXNpbCBwYWRhIHJ1YW5nIHNhbXBlbCB9IFN9DQpcXQ0KDQotICoqUHJvYmFiaWxpdGFzIEdhYnVuZ2FuKiogIA0KDQpcWw0KUChBIFxjdXAgQikgPSBQKEEpICsgUChCKSAtIFAoQSBcY2FwIEIpDQpcXQ0KDQotICoqS2h1c3VzIGppa2EgQSBkYW4gQiBzYWxpbmcgbWVuaWFkYWthbiAobXV0dWFsbHkgZXhjbHVzaXZlKToqKiAgDQpcWw0KUChBIFxjdXAgQikgPSBQKEEpICsgUChCKSBccXVhZCBcdGV4dHtrYXJlbmEgfSBQKEEgXGNhcCBCKSA9IDANClxdDQoNCi0tLQ0KDQoqKkNvbnRvaDoqKg0KDQpNaXNhbGthbiBraXRhIG1lbGVtcGFyIHNlYnVhaCBkYWR1IHNlaGluZ2dhIHJ1YW5nIHNhbXBlbG55YSAgDQpcWw0KUyA9IFx7MSwyLDMsNCw1LDZcfQ0KXF0gIA0KRGVmaW5pc2lrYW4gcGVyaXN0aXdhOiAgDQoNCi0gXChBXCkgPSBtdW5jdWwgYW5na2EgZ2VuYXAgXChcezIsNCw2XH1cKSDihpIgXChQKEEpID0gXHRmcmFjezN9ezZ9ID0gMC41XCkgIA0KLSBcKEJcKSA9IG11bmN1bCBhbmdrYSBsZWJpaCBkYXJpIDMgXChcezQsNSw2XH1cKSDihpIgXChQKEIpID0gXHRmcmFjezN9ezZ9ID0gMC41XCkgIA0KDQpJcmlzYW4gXChBIFxjYXAgQiA9IFx7NCw2XH1cKSwgc2VoaW5nZ2EgIA0KXFsNClAoQSBcY2FwIEIpID0gXHRmcmFjezJ9ezZ9ID0gXHRmcmFjezF9ezN9DQpcXSAgDQoNCk1ha2EgcHJvYmFiaWxpdGFzIFwoQSBcY3VwIEJcKSAobXVuY3VsIGFuZ2thIGdlbmFwIGF0YXUgYW5na2EgPiAzKSBhZGFsYWg6ICANClxbDQpQKEEgXGN1cCBCKSA9IDAuNSArIDAuNSAtIFx0ZnJhY3sxfXszfSA9IDEgLSBcdGZyYWN7MX17M30gPSBcdGZyYWN7Mn17M30gXGFwcHJveCAwLjY2Nw0KXF0NCg0KLS0tDQoNCiMjIyAqQ2F0YXRhbiBQZW50aW5nKg0KDQotIEphbmdhbiBoYW55YSBtZW5qdW1sYWhrYW4gXChQKEEpICsgUChCKVwpIHRhbnBhIG1lbGloYXQgYXBha2FoIEEgZGFuIEIgYmlzYSB0ZXJqYWRpIGJlcnNhbWEuICANCi0gR3VuYWthbiBkaWFncmFtIFZlbm4gdW50dWsgbWVtYmFudHUgdmlzdWFsaXNhc2kuICANCi0gUnVtdXMgdW5pb24gYmVyZ3VuYSB1bnR1ayBtZW5naGl0dW5nIHBlbHVhbmcg4oCcQSBhdGF1IEIgKGF0YXUga2VkdWFueWEp4oCdIOKAlCBzZXJpbmcgbXVuY3VsIGRhbGFtIHNvYWwgcHJvYmFiaWxpdGFzIG1hamVtdWsuICANCg0KDQojIyBFa3NrbHVzaWYgZGFuIExlbmdrYXANCg0KUGVyaXN0aXdhIHlhbmcgU2FsaW5nIEVrc2tsdXNpZiAoYXRhdSB0ZXJwaXNhaCkgdGVyamFkaSBrZXRpa2EgZHVhIHBlcmlzdGl3YSB0aWRhayBkYXBhdCB0ZXJqYWRpIHBhZGEgd2FrdHUgeWFuZyBzYW1hLCBhcnRpbnlhIHRpZGFrIGFkYSBoYXNpbCB5YW5nIHNhbWEgYXRhdSBiZXJ0aW5kaWggZGkgYW50YXJhIGtlZHVhbnlhLiBTZWJhbGlrbnlhLCBzdWF0dSByYW5na2FpYW4gcGVyaXN0aXdhIGRpYW5nZ2FwIE1lbnllbHVydWggamlrYSBzZW11YSBoYXNpbCB5YW5nIG11bmdraW4gZGFsYW0gZWtzcGVyaW1lbiB0ZXJzZWJ1dCBkaWNha3VwIG9sZWggc2V0aWRha255YSBzYWxhaCBzYXR1IHBlcmlzdGl3YSBkYWxhbSByYW5na2FpYW4gdGVyc2VidXQuIE1lbWFoYW1pIGtlZHVhIGtsYXNpZmlrYXNpIGluaSBzYW5nYXQgcGVudGluZyB1bnR1ayBtZW5lcmFwa2FuIEF0dXJhbiBQZW5hbWJhaGFuIGRlbmdhbiBiZW5hciBkYWxhbSBtZW5naGl0dW5nIHByb2JhYmlsaXRhcyBnYWJ1bmdhbi4NCg0KPGNlbnRlcj4NCjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9mN2FnVHY5bkE1ayIgd2lkdGg9Ijc2MCIgaGVpZ2h0PSI0MDAiIGRhdGEtZXh0ZXJuYWw9IjEiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+IDwvaWZyYW1lPg0KPC9jZW50ZXI+DQoNCk1lbXBlcmtlbmFsa2FuIGtvbnNlcCBkYXNhciBhdHVyYW4gZGFsYW0gcHJvYmFiaWxpdGFzLCB0ZXJtYXN1ayBiYWdhaW1hbmEgbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMgZ2FidW5nYW4gKHVuaW9uKSBkYW4gaXJpc2FuIChpbnRlcnNlY3Rpb24pIGRhcmkgZHVhIGF0YXUgbGViaWggcGVyaXN0aXdhLCBzZXJ0YSBwZW5nZ3VuYWFuIGF0dXJhbiBrb21wbGVtZW4uIFZpZGVvIG1lbmVrYW5rYW4gYmFod2EgcHJvYmFiaWxpdGFzIHBlcmlzdGl3YSB0dW5nZ2FsIGRpaGl0dW5nIHNlYmFnYWkgcmFzaW8gYW50YXJhIGp1bWxhaCBoYXNpbCB5YW5nIG1lbmR1a3VuZyBwZXJpc3Rpd2EgdGVyaGFkYXAganVtbGFoIHNlbHVydWggaGFzaWwgZGFsYW0gcnVhbmcgc2FtcGVsLiBVbnR1ayBwZXJpc3Rpd2EgZ2FidW5nYW4gc2VwZXJ0aSDigJxBIGF0YXUgQiB0ZXJqYWRp4oCdICh1bmlvbikuIHNlaGluZ2dhIGtpdGEgdGlkYWsgbWVuZ2dhbmRha2FuIGJhZ2lhbiB5YW5nIHNhbWEgKGlyaXNhbikuIFNlbWVudGFyYSBpdHUsIHByb2JhYmlsaXRhcyBpcmlzYW4g4oCcQSBkYW4gQiB0ZXJqYWRpIGJlcnNhbWHigJ0gKGludGVyc2VjdGlvbikgZGloaXR1bmcgYmVyZGFzYXJrYW4gc2l0dWFzaS4gDQoNCm5hbXVuIGppa2EgdGlkYWsgaW5kZXBlbmRlbiwga2l0YSBoYXJ1cyBtZW1wZXJ0aW1iYW5na2FuIGtvbmRpc2kgYXRhdSBpbmZvcm1hc2kgdGFtYmFoYW4sIHVtdW1ueWEgZGVuZ2FuIG1lbmdndW5ha2FuIHByb2JhYmlsaXRhcyBiZXJzeWFyYXQuIEF0dXJhbiBrb21wbGVtZW4ganVnYSBkaXBlcmtlbmFsa2FuOiBwZWx1YW5nIGJhaHdhIEEgdGlkYWsgdGVyamFkaS4NClNlY2FyYSBrZXNlbHVydWhhbiwgTWVueWFqaWthbiBmb25kYXNpIGF0dXJhbiBwcm9iYWJpbGl0YXMgeWFuZyBkaXBlcmx1a2FuIHVudHVrIG1lbmdoaXR1bmcgcGVsdWFuZyBwZXJpc3Rpd2EgdHVuZ2dhbCBtYXVwdW4gZ2FidW5nYW4gZGVuZ2FuIGJlbmFyLg0KDQojIyMgKlByb2JhYmlsaXRhcyBQZXJpc3Rpd2EgVHVuZ2dhbCoNCg0KUHJvYmFiaWxpdGFzIHBlcmlzdGl3YSBcKEFcKSBkaWhpdHVuZyBzZWJhZ2FpOg0KXFsNClAoQSkgPSBcZnJhY3tcdGV4dHtqdW1sYWggaGFzaWwgeWFuZyBtZW5kdWt1bmcgfSBBfXtcdGV4dHtqdW1sYWggc2VsdXJ1aCBoYXNpbCBkaSBydWFuZyBzYW1wZWwgfSBTfQ0KXF0NCk5pbGFpbnlhIGJlcmFkYSBkYWxhbSByZW50YW5nOg0KXFsNCjAgXGxlIFAoQSkgXGxlIDENClxdDQoNCi0tLQ0KDQojIyMgKkF0dXJhbiBJcmlzYW4gKEludGVyc2VjdGlvbikgJiBHYWJ1bmdhbiAoVW5pb24pKg0KDQotICoqSXJpc2FuIChJbnRlcnNlY3Rpb24pKiog4oCUIHBlcmlzdGl3YSBcKEEgXGNhcCBCXCkgdGVyamFkaSBqaWthIEEgZGFuIEIgdGVyamFkaSBiZXJzYW1hLiAgDQogIC0gSmlrYSBcKEFcKSBkYW4gXChCXCkgKippbmRlcGVuZGVuKiosIG1ha2E6DQogICAgXFsNCiAgICBQKEEgXGNhcCBCKSA9IFAoQSkgXHRpbWVzIFAoQikNCiAgICBcXQ0KICAtIEppa2EgdGlkYWsgaW5kZXBlbmRlbiwgcGVyaGl0dW5nYW4gaGFydXMgbWVtcGVydGltYmFuZ2thbiBpbmZvcm1hc2kgdGFtYmFoYW4gKG1pc2FsbnlhIHBlbHVhbmcgYmVyc3lhcmF0KS4NCg0KLSAqKkdhYnVuZ2FuIChVbmlvbikqKiDigJQgcGVyaXN0aXdhIFwoQSBcY3VwIEJcKSB0ZXJqYWRpIGppa2EgQSB0ZXJqYWRpLCBhdGF1IEIgdGVyamFkaSwgYXRhdSBrZWR1YW55YS4gUnVtdXNueWE6DQogIFxbDQogIFAoQSBcY3VwIEIpID0gUChBKSArIFAoQikgLSBQKEEgXGNhcCBCKQ0KICBcXQ0KDQogIFJ1bXVzIGluaSBwZW50aW5nIHVudHVrIG1lbmdoaW5kYXJpIHBlbmdoaXR1bmdhbiBnYW5kYSBwYWRhIGJhZ2lhbiBpcmlzYW4uDQoNCi0tLQ0KDQojIyMgKkF0dXJhbiBLb21wbGVtZW4qDQoNCi0gS29tcGxlbWVuIGRhcmkgcGVyaXN0aXdhIFwoQVwpIChkaXR1bGlzIFwoQV5jXCkpIGFkYWxhaCBrZWphZGlhbiBiYWh3YSAqKkEgdGlkYWsgdGVyamFkaSoqLiAgDQotIFJ1bXVzbnlhOg0KICBcWw0KICBQKEFeYykgPSAxIC0gUChBKQ0KICBcXQ0KDQotLS0NCg0KKipDb250b2ggU2luZ2thdDoqKg0KDQpNaXNhbGthbiBraXRhIG1lbGVtcGFyIHNlYnVhaCBkYWR1IChydWFuZyBzYW1wZWwgXChTID0gXHsxLDIsMyw0LDUsNlx9XCkpLg0KDQoNCi0gQSA9IG11bmN1bCBhbmdrYSBnZW5hcCDihpIgXChBID0gXHsyLDQsNlx9XCksIG1ha2EgIA0KICBcWw0KICBQKEEpID0gXGZyYWN7M317Nn0gPSAwLjUNCiAgXF0NCi0gQiA9IG11bmN1bCBhbmdrYSBsZWJpaCBkYXJpIDQg4oaSIFwoQiA9IFx7NSw2XH1cKSwgbWFrYSAgDQogIFxbDQogIFAoQikgPSBcZnJhY3syfXs2fSA9IFx0ZnJhY3sxfXszfSBcYXBwcm94IDAuMzMzDQogIFxdICANCg0KSmlrYSBBIGRhbiBCIGRpYW5nZ2FwIGluZGVwZW5kZW4gKG1lc2tpcHVuIGRhbGFtIHByYWt0aWsgdGlkYWsgc2VsYWx1KSwgcHJvYmFiaWxpdGFzIGtlZHVhbnlhIHRlcmphZGk6DQpcWw0KUChBIFxjYXAgQikgPSAwLjUgXHRpbWVzIDAuMzMzIFxhcHByb3ggMC4xNjY1DQpcXQ0KDQpQcm9iYWJpbGl0YXMgQSBhdGF1IEIgdGVyamFkaToNClxbDQpQKEEgXGN1cCBCKSA9IDAuNSArIDAuMzMzIC0gMC4xNjY1ID0gMC42NjY1IFxhcHByb3ggMC42NjcNClxdDQoNCktvbXBsZW1lbiBkYXJpIEEgKHRpZGFrIG11bmN1bCBhbmdrYSBnZW5hcCk6DQpcWw0KUChBXmMpID0gMSAtIDAuNSA9IDAuNQ0KXF0NCg0KDQojIyBFa3NwZXJpbWVuIEJpbm9taWFsDQoNCkVrc3BlcmltZW4gYmlub21pYWwgbWVydXBha2FuIGtlcmFuZ2thIGtlcmphIHN0YXRpc3RpayBmdW5kYW1lbnRhbCB5YW5nIGRpZ3VuYWthbiB1bnR1ayBtZW5nYW5hbGlzaXMga2ViYXJhbmdrYWxpYW4gYmFnaSBwZXJpc3Rpd2EgeWFuZyBkaXVsYW5nIGJlYmVyYXBhIGthbGkgc2VjYXJhIGJlYmFzLCBkZW5nYW4gc2V0aWFwIHVsYW5nYW4gaGFueWEgbWVtcHVueWFpIGR1YSBoYXNpbCB5YW5nIG11bmdraW46IGtlamF5YWFuIGF0YXUga2VnYWdhbGFuIChtZXJ1anVrIGtlcGFkYSBhd2FsYW4gJ2JpJykuIE1vZGVsIGluaSBkaWNpcmlrYW4gb2xlaCBlbXBhdCBzeWFyYXQgdXRhbWHigJRiaWxhbmdhbiBwZXJjdWJhYW4gKCRuJCkgeWFuZyB0ZXRhcCwga2ViYXJhbmdrYWxpYW4ga2VqYXlhYW4gKCRQJCkgeWFuZyBtYWxhciwgZGFuIHNpZmF0IGJlYmFzIGFudGFyYSBwZXJjdWJhYW7igJRkYW4gYmVydHVqdWFuIHVudHVrIG1lbmdoaXR1bmcga2ViYXJhbmdrYWxpYW4gbWVuZGFwYXRrYW4gYmlsYW5nYW4ga2VqYXlhYW4gKCRrJCkgeWFuZyB0ZXBhdCBkYWxhbSBqdW1sYWggcGVyY3ViYWFuIHlhbmcgZGlsYWt1a2FuLCBtZW5qYWRpa2FubnlhIGFsYXQgeWFuZyBzYW5nYXQgcGVudGluZyB1bnR1ayBtZW1vZGVsa2FuIGZlbm9tZW5hIGRpc2tyZXQgc2VwZXJ0aSBrYWRhciBrZWNhY2F0YW4gZGFsYW0gcGVtYnVhdGFuLCBrZXB1dHVzYW4gdW5kaWFuLCBhdGF1IGhhc2lsIHVqaWFuIGtsaW5pa2FsIGRhbGFtIHBlbGJhZ2FpIGJpZGFuZyBpbG11Lg0KDQo8Y2VudGVyPg0KPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL25SdVFBdGFqSllrIiB3aWR0aD0iNzYwIiBoZWlnaHQ9IjQwMCIgZGF0YS1leHRlcm5hbD0iMSIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj4gPC9pZnJhbWU+DQo8L2NlbnRlcj4NCg0KTWVuamVsYXNrYW4gYmFod2EgcGVyY29iYWFuIGJpbm9taWFsIGFkYWxhaCByYW5na2FpYW4gcGVyY29iYWFuIGFjYWsgeWFuZyB0ZXJkaXJpIGRhcmkganVtbGFoIHBlcmNvYmFhbiB0ZXRhcCAobiksIHNldGlhcCBwZXJjb2JhYW4gbWVtaWxpa2kgZHVhIGtlbXVuZ2tpbmFuIGhhc2lsIChzdWtzZXMgYXRhdSBnYWdhbCksIHNlbHVydWggcGVyY29iYWFuIGJlcnNpZmF0IGlkZW50aWsgZGFuIHNhbGluZyBpbmRlcGVuZGVuLCBzZXJ0YSBtZW1pbGlraSBwcm9iYWJpbGl0YXMgc3Vrc2VzIHlhbmcgdGV0YXAgKHApIHBhZGEgc2V0aWFwIHBlcmNvYmFhbi4gRm9rdXNueWEgYWRhbGFoIG1lbmdoaXR1bmcgcGVsdWFuZyBtZW5kYXBhdGthbiB0ZXBhdCBrIHN1a3NlcyBkYXJpIG4gcGVyY29iYWFuIG1lbmdndW5ha2FuIHJ1bXVzIGRpc3RyaWJ1c2kgYmlub21pYWwuDQoJDQpzZWJhZ2FpIGtvZWZpc2llbiBrb21iaW5hc2kgeWFuZyBtZW51bmp1a2thbiBiYW55YWtueWEgY2FyYSBtZW1pbGloIGsgc3Vrc2VzIGRhcmkgbiBwZXJjb2JhYW4uIFJ1bXVzIGluaSBtZW11bmdraW5rYW4gcGVyaGl0dW5nYW4gcHJvYmFiaWxpdGFzIGJlcmJhZ2FpIHNpdHVhc2kgZHVhIGhhc2lsLCBzZXBlcnRpIHBlbHVhbmcgbWVuZGFwYXRrYW4gMyBrZXBhbGEgZGFyaSA1IGxlbXBhcmFuIGtvaW4gYXRhdSAyIGtlYmVyaGFzaWxhbiBkYWxhbSA1IHRlcy4gVmlkZW8gbWVuZWthbmthbiBiYWh3YSBkaXN0cmlidXNpIGJpbm9taWFsIGhhbnlhIHZhbGlkIGppa2Egc2VtdWEgc3lhcmF0IHBlcmNvYmFhbiBiaW5vbWlhbCB0ZXJwZW51aGnigJR0ZXJ1dGFtYSBpZGVudGlrLCBpbmRlcGVuZGVuLCBkYW4gcHJvYmFiaWxpdGFzIHN1a3NlcyBrb25zdGFu4oCUc2VoaW5nZ2EgbW9kZWwgZGFwYXQgZGlndW5ha2FuIHVudHVrIG1lbXByZWRpa3NpIGZlbm9tZW5hIGFjYWsgc2VjYXJhIGFrdXJhdCBkYW4ga29uc2lzdGVuLg0KIA0KIyMjICpEZWZpbmlzaSBQZXJjb2JhYW4gQmlub21pYWwqICANCg0KUGVyY29iYWFuIGJpbm9taWFsIGFkYWxhaCByYW5na2FpYW4gcGVyY29iYWFuIGFjYWsgeWFuZyBtZW1lbnVoaTogIA0KLSBUZXJkaXJpIGRhcmkgKipcKG5cKSoqIHBlcmNvYmFhbiB5YW5nIHRldGFwIGJhbnlha255YS4gIA0KLSBTZXRpYXAgcGVyY29iYWFuIGhhbnlhIG1lbWlsaWtpIGR1YSBoYXNpbDogKipzdWtzZXMqKiBhdGF1ICoqZ2FnYWwqKiAoYmVydGlwZSBCZXJub3VsbGkpLiAgDQotIFByb2JhYmlsaXRhcyBzdWtzZXMgdGlhcCBwZXJjb2JhYW4gc2FtYSwgeWFpdHUgKipcKHBcKSoqLiAgDQotIFBlcmNvYmFhbiBiZXJzaWZhdCAqKmluZGVwZW5kZW4qKi4gIA0KDQojIyMgKlZhcmlhYmVsIEFjYWsgQmlub21pYWwqICANCg0KTWlzYWxrYW4gXChYXCkgYWRhbGFoIHZhcmlhYmVsIGFjYWsgeWFuZyBtZW55YXRha2FuICoqanVtbGFoIHN1a3NlcyoqIGRhcmkgXChuXCkgcGVyY29iYWFuLiBNYWthIFwoWFwpIG1lbmdpa3V0aSAqKmRpc3RyaWJ1c2kgYmlub21pYWwqKjogIA0KXFsNClggXHNpbSBcdGV4dHtCaW5vbWlhbH0obiwgcCkNClxdDQoNCiMjIyAqUnVtdXMgUHJvYmFiaWxpdGFzIEJpbm9taWFsKiANCg0KUHJvYmFiaWxpdGFzIGJhaHdhIGFrYW4gdGVyamFkaSB0ZXBhdCAqKlwoa1wpKiogc3Vrc2VzIGRhbGFtIFwoblwpIHBlcmNvYmFhbjoNCg0KXFsNClAoWCA9IGspID0gXGJpbm9te259e2t9IFw7IHBee1wsa30gXDsgKDEgLSBwKV57XCxuIC0ga30NClxdICANCiQkZGVuZ2FuJCQgIA0KXFsNClxiaW5vbXtufXtrfSA9IFxmcmFje259e2sgXCwobiAtIGspfQ0KXF0NCg0KIyMjICpQZW5qZWxhc2FuIFBhcmFtZXRlciogIA0KDQotIFwoblwpOiBqdW1sYWggcGVyY29iYWFuIHRvdGFsICANCi0gXChrXCk6IGp1bWxhaCBzdWtzZXMgeWFuZyBkaWluZ2lua2FuICANCi0gXChwXCk6IHByb2JhYmlsaXRhcyBzdWtzZXMgcGVyIHBlcmNvYmFhbiAgDQotIFwoKDEgLSBwKVwpOiBwcm9iYWJpbGl0YXMgZ2FnYWwgcGVyIHBlcmNvYmFhbiAgDQoNCioqQ29udG9oOioqIA0KDQpNaXNhbG55YSBraXRhIG1lbGVtcGFyIGtvaW4gNSBrYWxpIChhc3Vtc2lrYW4gZmFpciBjb2luLCBcKHAgPSAwLjVcKSksIGRhbiBpbmdpbiBtZW5naGl0dW5nIHByb2JhYmlsaXRhcyBtZW5kYXBhdGthbiB0ZXBhdCAzIGthbGkg4oCca2VwYWxh4oCdIChzdWtzZXMpLA0KDQptYWthOg0KDQpuID0gNQ0KDQprID0gMw0KDQpwID0gMC41DQoNClJ1bXVzbnlhOg0KDQpcWw0KUChYID0gMykgPSBcYmlub217NX17M30gXDsoMC41KV4zIFw7KDEgLSAwLjUpXns1IC0gM30gPSAxMCBcdGltZXMgMC4xMjUgXHRpbWVzIDAuMjUgPSAwLjMxMjUNClxdDQoNCkFydGlueWE6IHBlbHVhbmcgbXVuY3VsIHRlcGF0IDMga2VwYWxhIGRhcmkgNSBsZW1wYXJhbiBhZGFsYWggKiowLjMxMjUqKiAo4omIIDMxLjI1ICUpLg0KDQojIyMgKkNhdGF0YW4gUGVudGluZyogIA0KDQotIERpc3RyaWJ1c2kgYmlub21pYWwgaGFueWEgYmVybGFrdSBqaWthIHNlbXVhIHN5YXJhdCAoZHVhIGhhc2lsLCBcKHBcKSBrb25zdGFuLCBpbmRlcGVuZGVuLCBkYW4ganVtbGFoIHBlcmNvYmFhbiB0ZXRhcCkgdGVycGVudWhpLiA6Y29udGVudFJlZmVyZW5jZVtvYWljaXRlOjFde2luZGV4PTF9ICANCi0gSmlrYSBwZXJjb2JhYW4gdGlkYWsgaW5kZXBlbmRlbiBhdGF1IHByb2JhYmlsaXRhcyBiZXJ1YmFoLCBtb2RlbCBsYWluIChtaXNhbG55YSBoaXBlcmdlb21ldHJpaykgbXVuZ2tpbiBsZWJpaCB0ZXBhdC4gIA0KDQotLS0NCg0KDQojIyBEaXN0cmlidXNpIEJpbm9taWFsDQoNCkRpc3RyaWJ1c2kgYmlub21pYWwgYWRhbGFoIHNhbGFoIHNhdHUgZGlzdHJpYnVzaSBwcm9iYWJpbGl0YXMgZGlza3JldCB5YW5nIGRpZ3VuYWthbiB1bnR1ayBtb2RlbCBwZXJjb2JhYW4geWFuZyBoYW55YSBtZW1pbGlraSBkdWEgaGFzaWwsIHlhaXR1IHN1a3NlcyBhdGF1IGdhZ2FsLiBEaXN0cmlidXNpIGluaSBzZXJpbmcgZGlndW5ha2FuIGRhbGFtIHNpdHVhc2kgZGkgbWFuYSBraXRhIG1lbmd1bGFuZyBzdWF0dSBwZXJjb2JhYW4gaW5kZXBlbmRlbiBiZXJrYWxpLWthbGkuDQoNCjxjZW50ZXI+DQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvWTItdlNXRm1neUkiIHdpZHRoPSI3NjAiIGhlaWdodD0iNDAwIiBkYXRhLWV4dGVybmFsPSIxIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuPiA8L2lmcmFtZT4NCjwvY2VudGVyPg0KDQpEaXN0cmlidXNpIGJpbm9taWFsIG1lbmdnYW1iYXJrYW4ga2VtdW5na2luYW4ganVtbGFoIGtlYmVyaGFzaWxhbiBkYWxhbSBzZWp1bWxhaCBwZXJjb2JhYW4gaWRlbnRpayBkYW4gaW5kZXBlbmRlbiwgZGkgbWFuYSB0aWFwIHBlcmNvYmFhbiBtZW1pbGlraSBwcm9iYWJpbGl0YXMgc3Vrc2VzIHlhbmcgc2FtYS4gVmlkZW8gbWVudW5qdWtrYW4gYmFnYWltYW5hIGhhc2lsIHBlcmNvYmFhbiwgbWVza2lwdW4gYWNhaywgbWVtYmVudHVrIHBvbGEgdGVydGVudHUga2V0aWthIGRpbGloYXQgc2VjYXJhIGt1bXVsYXRpZiwgZGFuIGJhZ2FpbWFuYSBiZW50dWsgZGlzdHJpYnVzaSBiZXJ1YmFoIGtldGlrYSBwYXJhbWV0ZXIganVtbGFoIHBlcmNvYmFhbiDwnZGbbiBhdGF1IHByb2JhYmlsaXRhcyBzdWtzZXMg8J2RnXAgZGl1YmFoLg0KDQpWaXN1YWxpc2FzaSBpbmkgbWVtYmFudHUgbWVtYmFuZ3VuIHBlbWFoYW1hbiBpbnR1aXRpZiBiYWh3YSBtZXNraXB1biB0aWFwIHBlcmNvYmFhbiBiZXJzaWZhdCBhY2FrLCBoYXNpbCBrdW11bGF0aWZueWEgYmlzYSBkaXByZWRpa3NpIHNlY2FyYSBzdGF0aXN0aWssIG1lbXBlcm11ZGFoIHBlbWFoYW1hbiBmZW5vbWVuYSBueWF0YSB5YW5nIG1lbmdpa3V0aSBtb2RlbCBiaW5vbWlhbCwgc2VydGEgbWVtcGVybGloYXRrYW4gcGVudGluZ255YSBwYXJhbWV0ZXIgZGFsYW0gbWVuZW50dWthbiBiZW50dWsgZGlzdHJpYnVzaS4gUGVzYW4gdXRhbWEgdmlkZW8gaW5pIGFkYWxhaCBiYWh3YSBhY2FrIGRpIHRpbmdrYXQgaW5kaXZpZHUgYmlzYSBtZW5qYWRpIHRlcmF0dXIgZGkgdGluZ2thdCBrdW1wdWxhbiBwZXJjb2JhYW4sIHNlaGluZ2dhIHByb2JhYmlsaXRhcyBkYW4gZGlzdHJpYnVzaSB0aWRhayBoYW55YSBrb25zZXAgYWJzdHJhaywgdGV0YXBpIGRhcGF0IGRpYW1hdGkgc2VjYXJhIG55YXRhIG1lbGFsdWkgcG9sYSBoYXNpbCBwZXJjb2JhYW4uDQoNCmluaSBtZW5qZWxhc2thbiB0ZW50YW5nIGJhZ2FpbWFuYSBjYXJhIG1lbXZpc3VhbGlzYXNpa2FuIHRhYnVyYW4gYmlub21pYWwgKGJpbm9taWFsIGRpc3RyaWJ1dGlvbikgZGFuIGZha3Rvci1mYWt0b3IgeWFuZyBtZW1wZW5nYXJ1aGlueWEuDQogDQojIyMgKlJ1bXVzIEJpbm9taWFsLioNCiANClJ1bXVzIEJpbm9taWFsOg0KDQogJCRQKFg9aykgPSB7biBcY2hvb3NlIGt9IHBeayAoMS1wKV57bi1rfSQkDQogDQpiaWxhbmdhbiBrZWpheWFhbiAobnVtYmVyIG9mIHN1Y2Nlc3NlcykkbiQ6DQoNCmJpbGFuZ2FuIHBlcmN1YmFhbiAobnVtYmVyIG9mIHRyaWFscykkcCQ6DQoNCmtlYmFyYW5na2FsaWFuIGtlamF5YWFuIChwcm9iYWJpbGl0eSBvZiBzdWNjZXNzKQ0KDQpDb250b2g6TWVsYW1idW5nIGR1aXQgc3lpbGluZyAyIGthbGkgKCRuPTIkKSwgZGVuZ2FuICdrZWpheWFhbicgYWRhbGFoIG1lbmRhcGF0IGtlcGFsYSAoJHA9MC41JCkuDQoNCktlYmFyYW5na2FsaWFuIG1lbmRhcGF0IDAga2VqYXlhYW4gKCRrPTAkKSBhZGFsYWggMC4yNS4NCktlYmFyYW5na2FsaWFuIG1lbmRhcGF0IDEga2VqYXlhYW4gKCRrPTEkKSBhZGFsYWggMC41MC4NCktlYmFyYW5na2FsaWFuIG1lbmRhcGF0IDIga2VqYXlhYW4gKCRrPTIkKSBhZGFsYWggMC4yNS4NCg0KVmlzdWFsaXNhc2k6IERhdGEgaW5pIGRpd2FraWxrYW4gZGFsYW0gY2FydGEgYmFyLCBkaSBtYW5hIGJpbGFuZ2FuIGtlamF5YWFuICgkayQpIGJlcmFkYSBwYWRhIHBha3NpLXggZGFuIGtlYmFyYW5na2FsaWFuIGtlamF5YWFuIHBhZGEgcGFrc2kteS4gQ2FydGEgaW5pIG1lbnVuanVra2FuIHRhYnVyYW4geWFuZyBzaW1ldHJpLg0KDQojIyMgKktlc2FuIEJpbGFuZ2FuIFBlcmNvYmFhbiAoJG4kKSoNCg0KTWVuaW5na2F0a2FuICRuJDogQXBhYmlsYSBiaWxhbmdhbiBwZXJjdWJhYW4gKCRuJCkgZGl0aW5na2F0a2FuIChtaXNhbG55YSBkYXJpIDIga2VwYWRhIDEwKSwgYmVudHVrIHRhYnVyYW4gYmlub21pYWwgbXVsYSBtZW55ZXJ1cGFpIHRhYnVyYW4gbm9ybWFsIChub3JtYWwgZGlzdHJpYnV0aW9uKS4NCg0KTWluICgkXG11JCk6IE1pbiB0YWJ1cmFuIGJpbm9taWFsIHNlbnRpYXNhIGJlcnB1c2F0IGRpIHRlbmdhaC10ZW5nYWggdGFidXJhbi4NCg0KRm9ybXVsYSBQYXJhbWV0ZXIgVGFidXJhbiBCaW5vbWlhbDpNaW4gKCRcbXUkKSA9ICRuIFx0aW1lcyBwJCANCg0KVmFyaWFucyA6DQoNCiQkbiBcdGltZXMgcCBcdGltZXMgKDEtcClTaXNpaGFuIFBpYXdhaSAoXHNpZ21hKSA9IFxzcXJ0e24gXHRpbWVzIHAgXHRpbWVzICgxLXApfSQkDQoNCiMjIyAqS2VzYW4gS2ViYXJhbmdrYWxpYW4gS2VqYXlhYW4gKCRwJCkqDQoNCi0gJHAgPSAwLjUkOiBUYWJ1cmFuIGJpbm9taWFsIGFkYWxhaCBzaW1ldHJpLg0KDQotICRwIDwgMC41JCAobWlzYWxueWEgJHA9MC4xJCk6IFRhYnVyYW4gbWVuamFkaSBjb25kb25nIGtlIGthbmFuIChza2V3ZWQgdG8gdGhlIHJpZ2h0KS4NCkluaSBrZXJhbmEga2ViYXJhbmdrYWxpYW4ga2VqYXlhYW4geWFuZyByZW5kYWggbWVueWViYWJrYW4ga2ViYW55YWthbiBkYXRhIGJlcmt1bXB1bCBrZSBhcmFoIGJpbGFuZ2FuIGtlamF5YWFuIHlhbmcga2VjaWwgKGhhbXBpciBkZW5nYW4gMCkuDQoNCi0gJHAgPiAwLjUkIChtaXNhbG55YSAkcD0wLjgkKTogVGFidXJhbiBtZW5qYWRpIGNvbmRvbmcga2Uga2lyaSAoc2tld2VkIHRvIHRoZSBsZWZ0KS4gSW5pIGtlcmFuYSBrZWJhcmFuZ2thbGlhbiBrZWpheWFhbiB5YW5nIHRpbmdnaSBtZW55ZWJhYmthbiBrZWJhbnlha2FuIGRhdGEgYmVya3VtcHVsIGtlIGFyYWggYmlsYW5nYW4ga2VqYXlhYW4geWFuZyBiZXNhciAoaGFtcGlyIGRlbmdhbiAkbiQpLg0KDQpLZWNlbmRlcnVuZ2FuIFBlbmd1bXB1bGFuIERhdGE6IERhdGEgc2VudGlhc2EgYmVya2Vsb21wb2sgZGkgc2VraXRhciBuaWxhaSBNaW4gKCRcbXUkKS4NCg0KIyMjICpNZW5naGFtcGlyaSBUYWJ1cmFuIE5vcm1hbCAoTm9ybWFsIEFwcHJveGltYXRpb24pKg0KDQpTYXR1LXNhdHVueWEgY2FyYSB1bnR1ayBtZW5nYXRhc2kga2Vjb25kb25nYW4gKHNrZXduZXNzKSB5YW5nIGRpc2ViYWJrYW4gb2xlaCBuaWxhaSAkcCQgeWFuZyBtZW55aW1wYW5nIGRhcmkgMC41IGFkYWxhaCBkZW5nYW4gbWVuaW5na2F0a2FuIG5pbGFpICRuJCBzZWNhcmEgc2lnbmlmaWthbi4NCg0KR2FyaXMgUGFuZHVhbiBBbmdnYXBhbiBOb3JtYWw6IFRhYnVyYW4gYmlub21pYWwgYm9sZWggZGlhbmdnYXAgbWVuZ2hhbXBpcmkgdGFidXJhbiBub3JtYWwgamlrYSBkdWEgc3lhcmF0IGJlcmlrdXQgZGlwZW51aGk6DQoNCi0gJG4gXHRpbWVzIHAgXGdlcSAxMCQkbiBcdGltZXMgKDEtcCkgXGdlcSAxMCQNCg0KUnVtdXNhbiBBa2hpcjoNCg0KTmlsYWkgJHAkIChrZWJhcmFuZ2thbGlhbiBrZWpheWFhbikgbWVuZ2F3YWwgYmVudHVrIHRhYnVyYW4uDQoNCg0KLSAkcCA9IDAuNSQ6IFNpbWV0cmkuDQoNCi0gJHAgPiAwLjUkOiBDb25kb25nIGtlIGtpcmkuDQoNCi0gJHAgPCAwLjUkOiBDb25kb25nIGtlIGthbmFuLg0KDQoNCk5pbGFpICRuJCAoYmlsYW5nYW4gcGVyY3ViYWFuKSBtZW5nYXdhbCBzZWJlcmFwYSBkZWthdCB0YWJ1cmFuIHRlcnNlYnV0IG1lbmdoYW1waXJpIHRhYnVyYW4gbm9ybWFsLg0KDQpGb3JtdWxhIHVudHVrIHBhcmFtZXRlciB0YWJ1cmFuIGFkYWxhaDoNCg0KLSAkXG11ID0gbnAkLCBWYXJpYW5zICQ9IG5wKDEtcCkkLCBkYW4gJFxzaWdtYSA9IFxzcXJ0e25wKDEtcCl9JC4NCg0KIyMgUmVmZXJlbnNpIGRhbiBLZXNpbXB1bGFuDQoNClByb2JhYmlsaXRhcyBhZGFsYWgga29tcG9uZW4gZXNlbnNpYWwgZGFsYW0gZHVuaWEgc3RhdGlzdGlrIGRhbiBtZW1pbGlraSBhcGxpa2FzaW55YSBkYWxhbSBiZXJiYWdhaSBiaWRhbmcga2VoaWR1cGFuLiBNZW1haGFtaSBkYXNhci1kYXNhciBwcm9iYWJpbGl0YXMsIHRlcm1hc3VrIHJ1YW5nIHNhbXBlbCwgcGVyaXN0aXdhLCBkYW4gYXR1cmFuLWF0dXJhbiBkYXNhciBtZW11bmdraW5rYW4ga2l0YSB1bnR1ayBtZW1idWF0IHByZWRpa3NpIHlhbmcgbGViaWggYWt1cmF0IGRhbiBtZW5nYW1iaWwga2VwdXR1c2FuIHlhbmcgbGViaWggaW5mb3JtYW4uIEJhaWsgZGFsYW0ga29udGVrcyBwZW5lbGl0aWFuLCBiaXNuaXMsIG1hdXB1biBrZWhpZHVwYW4gc2VoYXJpLWhhcmksIHBlbWFoYW1hbiB0ZW50YW5nIHByb2JhYmlsaXRhcyBtZW1iZXJpa2FuIGtpdGEgYWxhdCB5YW5nIGt1YXQgdW50dWsgbWVuZ2Vsb2xhIGtldGlkYWtwYXN0aWFuIGRhbiBtZW5nb3B0aW1hbGthbiBoYXNpbCB5YW5nIGRpaW5naW5rYW4uDQoNCmh0dHBzOi8vZ3VydW11ZGEubmV0L3N0YXRpc3Rpa2Eva29uc2VwLWRhc2FyLXByb2JhYmlsaXRhcy1kYWxhbS1zdGF0aXN0aWthLmh0bQ0KDQo=