Statistical Inferences

Profil Mahasiswa - Anindya Kristianingputri
Foto Profil Anindya Kristianingputri

Anindya Kristianingputri

NIM: 52250025

Student Major Data Science

Institut Teknologi Sains Bandung

Dosen: Bakti Siregar, M.Sc., CDS

R Programming Statistics Statistical Inference

1 Uji Z Satu Sampel (Hipotesis Statistik)

Sebuah Platform Pembelajaran Digital menyatakan bahwa waktu belajar harian rata-rata penggunanya adalah 120 menit. Berdasarkan catatan historis, simpangan baku populasi diketahui sebesar 15 menit.

Sebuah sampel acak dari 64 pengguna menunjukkan waktu belajar rata-rata sebesar 116 menit.

\[ \begin{eqnarray*} \mu_0 &=& 120 \\ \sigma &=& 15 \\ n &=& 64 \\ \bar{x} &=& 116 \end{eqnarray*} \]

Tugas

  1. Tentukan Hipotesis Nol (H₀) dan Hipotesis Alternatif (H₁).
  2. Identifikasi uji statistik yang sesuai dan jelaskan alasan Anda memilihnya.
  3. Hitung statistik uji dan nilai p menggunakan \(\alpha = 0.05\).
  4. Nyatakan keputusan statistik.
  5. Interpretasikan hasil dalam konteks analisis bisnis.

Penyelesaian Studi Kasus 1

  1. Berdasarkan soal, tertulis bahwa rata-rata waktu belajar harian pengguna adalah 120 menit, maka hipotesis nol (H₀) ditetapkan sebagai μ = 120. Hipotesis ini menyatakan bahwa rata-rata waktu belajar populasi sama dengan nilai yang diklaim oleh platform. Selanjutnya, dari hasil pengambilan sampel diperoleh rata-rata waktu belajar sebesar 116 menit dengan jumlah responden sebanyak 64 orang. Karena tidak ditentukan arah pengujian sebelumnya, maka hipotesis alternatif (H₁) dirumuskan sebagai μ ≠ 120, yang bertujuan untuk mengetahui apakah terdapat perbedaan antara rata-rata waktu belajar populasi dan klaim yang diajukan, baik lebih rendah maupun lebih tinggi dari 120 menit.

  2. Uji statistik yang tepat adalah Uji-Z satu sampel (two-tailed) untuk menguji hipotesis mengenai rata-rata populasi (μ), dengan pemenuhan tiga syarat yaitu simpangan baku populasi (σ = 15) yang diketahui, ukuran sampel besar (n=64) Sehingga distribusi rata-rata sampel mendekati normal sesuai Teorema Limit Pusat (Central Limit Theorem), serta sifat data yang kuantitatif kontinu. Mengingat σ diketahui, Uji-Z memberikan hasil yang lebih akurat

Perhitungan Uji Statistik Z

Perhitungan Uji Statistik Z

Rata-rata klaim (μ₀) 120 menit
Simpangan baku (σ) 15 menit
Ukuran sampel (n) 64
Rata-rata sampel (x̄) 116 menit
Z = (x̄ - μ₀) / (σ / √n)
1. Hitung Standar Error
σ / √n = 15 / √64 = 15 / 8 = 1.875
2. Hitung Selisih Rata-rata
x̄ - μ₀ = 116 - 120 = -4
3. Hitung Nilai Z
Z = -4 / 1.875 = -2.1333
Statistik Uji Z
Z ≈ -2.133

p = 2 × P(Z ≤ |Z hitung|)
1. Cari P(Z ≤ -2.133)
P(Z ≤ -2.133) ≈ 0.0165
2. Hitung Nilai p
p = 2 × 0.0165 = 0.0330
Nilai p (p-value)
p ≈ 0.033
  1. Berdasarkan hasil pengujian statistik pada tingkat signifikansi α = 0,05, hipotesis nol (H₀) ditolak karena nilai p-value yang diperoleh, yaitu sekitar 0,033, lebih kecil dari nilai α. Oleh karena itu, dapat disimpulkan bahwa terdapat bukti statistik yang cukup untuk menyatakan bahwa rata-rata waktu belajar harian pengguna berbeda secara signifikan dari klaim 120 menit yang disampaikan oleh platform.

  2. Hasil analisis menunjukkan bahwa rata-rata waktu belajar harian pengguna terbukti berbeda dari klaim 120 menit yang disampaikan di pernyataan diatas. Hal ini mengindikasikan bahwa tingkat keterlibatan pengguna belum sepenuhnya sesuai dengan target yang diharapkan. Kondisi tersebut dapat memengaruhi pencapaian tujuan bisnis, seperti retensi pengguna dan efektivitas program pembelajaran. Oleh karena itu, platform perlu melakukan evaluasi terhadap strategi konten, fitur pembelajaran, dan pengalaman pengguna agar waktu belajar harian dapat meningkat dan sejalan dengan klaim yang telah ditetapkan.


2 Uji t Satu Sampel (σ Tidak Diketahui, Sampel Kecil)

Tim Riset Pengalaman Pengguna (UX) menyelidiki waktu rata-rata penyelesaian tugas dari aplikasi baru dalam waktu 10 menit.

Data berikut dikumpulkan dari 10 pengguna:

\[ 9.2,\; 10.5,\; 9.8,\; 10.1,\; 9.6,\; 10.3,\; 9.9,\; 9.7,\; 10.0,\; 9.5 \]

Tugas

  1. Tentukan H₀ dan H₁ (dua ekor).
  2. Tentukan uji hipotesis yang sesuai.
  3. Hitung statistik t dan nilai p pada \(\alpha = 0.05\).
  4. Buat keputusan statistik.
  5. Jelaskan bagaimana ukuran sampel memengaruhi keandalan inferensial.

Penyelesaian Studi Kasus 2

  1. Hipotesis nol sama dengan 10 menit \[H_0 : \mu = 10\], sesuai klaim Tim Riset Pengalaman Pengguna. Sedangkan Hipotesis alternatif \[H_1 : \mu \neq 10 \] mengindikasikan adanya perbedaan signifikan dari nilai tersebut, baik lebih cepat maupun lebih lambat.

  2. Uji hipotesis yang tepat adalah uji-t satu sampel (one-sample t-test).
    Pemilihan ini didasarkan pada tiga syarat utama yang terpenuhi yaitu simpangan baku populasi tidak diketahui, sehingga menggunakan simpangan baku sampel sebagai estimasi lalu ukuran sampel kecil (n=10) sehingga tidak memenuhi syarat untuk uji-z yang memerlukan σ diketahui atau n besar; dan yang terakhir yaitu tujuan pengujiannya membandingkan rata-rata sampel dengan nilai klaim spesifik (10 menit).

Perhitungan Uji-t Satu Sampel

Perhitungan Uji-t Satu Sampel

Ukuran sampel (n) 10
Nilai hipotesis (μ₀) 10 menit
Data sampel 9.2, 10.5, 9.8, 10.1, 9.6, 10.3, 9.9, 9.7, 10.0, 9.5
Tingkat signifikansi (α) 0.05
t = (x̄ - μ₀) / (s / √n)
1. Hitung rata-rata sampel (x̄)
x̄ = (9.2+10.5+9.8+10.1+9.6+10.3+9.9+9.7+10.0+9.5)/10
= 98.6/10 = 9.86
2. Hitung simpangan baku sampel (s)
Jumlah kuadrat = Σ(xᵢ - x̄)² = 1.3440
s² = 1.3440 / 9 = 0.14933
s = √0.14933 ≈ 0.3864
3. Hitung statistik uji t
t = (9.86 - 10) / (0.3864 / √10)
= -0.14 / (0.3864 / 3.1623)
= -0.14 / 0.1222 ≈ -1.146
Statistik Uji t
t ≈ -1.146

Nilai p (dua ekor) = 2 × P(T ≤ |t|)
4. Hitung nilai p
Derajat kebebasan (df) = n - 1 = 9
P(T ≤ -1.146) ≈ 0.141 (satu ekor)
Nilai p dua ekor = 2 × 0.141 ≈ 0.282
Nilai p (p-value)
p ≈ 0.282
  1. Berdasarkan perhitungan dengan tingkat signifikansi α=0.05 dan nilai p-value ≈0.282, hipotesis nol tidak ditolak. Bahwa, tidak ada bukti statistik yang memadai untuk menyatakan bahwa rata-rata waktu penyelesaian tugas berbeda secara signifikan dari 10 menit. Data sampel yang diperoleh selaras dengan klaim bahwa rata-rata waktu penyelesaian tugas adalah 10 menit.

  2. Ukuran sampel berperan penting dalam keandalan inferensi statistik karena memengaruhi presisi estimasi dan kekuatan uji. Sampel yang lebih besar menghasilkan kesalahan standar yang lebih kecil \[SE = \frac{\sigma}{\sqrt{n}}\] sehingga estimasi parameter populasi menjadi lebih akurat dan interval kepercayaan semakin sempit. Selain itu, ukuran sampel yang besar meningkatkan power uji statistik dan mengurangi risiko kesalahan tipe II. Melalui Teorema Limit Pusat, sampel besar juga membuat asumsi normalitas lebih dapat diandalkan. Namun, ukuran sampel harus tetap diimbangi dengan kualitas dan representativitas data agar inferensi yang dihasilkan tetap valid.


3 Uji t Dua Sampel (Pengujian A/B)

Tim analitik produk melakukan uji A/B untuk membandingkan durasi sesi rata-rata (menit) antara dua versi dari laman arahan.

Data Uji A/B
Data Uji A/B - Durasi Sesi Rata-rata
Version Sample Size (n) Mean Std Dev
A 25 4.8 1.2
B 25 5.4 1.4
Catatan: Data untuk uji statistik perbandingan Versi A dan B.

Tugas

  1. Formulasikan hipotesis nol dan alternatif.
  2. Tentukan jenis uji t yang diperlukan.
  3. Hitung statistik uji dan nilai p.
  4. Tarik kesimpulan statistik pada \(\alpha = 0.05\).
  5. Interpretasikan hasil untuk pengambilan keputusan produk.

Penyelesaian Studi Kasus 3

  1. Hipotesis nol (H₀) menyatakan bahwa tidak terdapat perbedaan yang signifikan antara rata-rata durasi sesi pengguna pada laman arahan Versi A dan Versi B, atau dengan kata lain μ_A = μ_B. Sementara itu, hipotesis alternatif (H₁) menyatakan bahwa terdapat perbedaan yang signifikan antara kedua versi tersebut, yaitu μ_A ≠ μ_B, yang berarti durasi sesi rata-rata pada salah satu versi secara statistik lebih tinggi atau lebih rendah dibandingkan versi lainnya. Pengujian ini bersifat dua arah (two-tailed) karena tujuan utamanya adalah mengidentifikasi keberadaan perbedaan, tanpa mengasumsikan arah tertentu mana yang lebih unggul terlebih dahulu.

  2. Uji statistik yang digunakan dalam kasus ini adalah uji-t dua sampel independen dengan asumsi varians sama (pooled two-sample t-test). Uji ini dipilih karena bertujuan membandingkan rata-rata durasi sesi antara dua kelompok pengguna yang berbeda, yaitu Versi A dan Versi B, dengan jumlah sampel yang sama pada masing-masing kelompok (25 responden) serta data yang bersifat kuantitatif kontinu. Selain itu, nilai simpangan baku kedua kelompok relatif tidak jauh berbeda (1,2 dan 1,4), sehingga asumsi kesamaan varians dapat diterima dan penggunaan varian gabungan dianggap sesuai untuk memperoleh estimasi kesalahan standar yang lebih akurat.

Perhitungan Uji-t Dua Sampel

Perhitungan Uji-t Dua Sampel

Versi n s
A 25 4.8 1.2
B 25 5.4 1.4
df = n₁ + n₂ - 2 = 25 + 25 - 2 = 48
t = (x̄₁ - x̄₂) / [s_p √(1/n₁ + 1/n₂)]
1. Hitung selisih rata-rata
x̄₁ - x̄₂ = 4.8 - 5.4 = -0.6
2. Hitung simpangan baku gabungan (s_p)
s_p = √[((24)(1.2²) + (24)(1.4²)) / 48]
= √[(34.56 + 47.04) / 48] = √[81.6 / 48]
= √1.7 ≈ 1.3038
3. Hitung penyebut (standard error)
s_p √(1/25 + 1/25) = 1.3038 √(0.04 + 0.04)
= 1.3038 √0.08 = 1.3038 × 0.2828 ≈ 0.3686
4. Hitung statistik uji t
t = -0.6 / 0.3686 ≈ -1.628
Statistik Uji t
t ≈ -1.628

Nilai p (dua ekor) = 2 × P(T ≤ |t|)
5. Hitung nilai p
df = 48, t = -1.628 → nilai p ≈ 0.110
Nilai p (p-value)
p ≈ 0.110
  1. Berdasarkan hasil pengujian statistik menggunakan uji-t dua sampel pada tingkat signifikansi α = 0,05, diperoleh nilai p-value sebesar 0,110 yang lebih besar dari nilai α. Oleh karena itu, hipotesis nol (H₀) tidak dapat ditolak, sehingga tidak terdapat bukti statistik yang cukup untuk menyatakan adanya perbedaan yang signifikan antara rata-rata durasi sesi pada Versi A (4,8 menit) dan Versi B (5,4 menit). Dengan demikian, selisih rata-rata sebesar 0,6 menit yang terlihat pada data sampel dapat dianggap sebagai variasi yang terjadi secara acak dan belum menunjukkan keunggulan yang nyata dari salah satu versi terhadap durasi sesi pengguna.

  2. Berdasarkan Perhitungan diatas menunjukkan bahwa tidak terdapat perbedaan yang signifikan secara statistik antara durasi sesi pengguna pada Versi A dan Versi B. Dalam konteks pengambilan keputusan produk, hal ini berarti bahwa perubahan yang diterapkan pada Versi B belum terbukti memberikan peningkatan keterlibatan pengguna yang nyata dibandingkan Versi A. Oleh karena itu, tim produk sebaiknya tidak langsung mengganti Versi A dengan Versi B hanya berdasarkan durasi sesi. Diperlukan evaluasi lanjutan, seperti pengujian dengan ukuran sampel yang lebih besar sebelum mengambil keputusan implementasi produk secara penuh.


4 Uji Chi-Kuadrat untuk Independensi

Sebuah perusahaan e-commerce meneliti apakah jenis perangkat yang digunakan sesuai dengan preferensi metode pembayaran.

Data Pembayaran per Perangkat
Data Frekuensi Pembayaran per Perangkat
Perangkat / Pembayaran Dompet Digital Kartu Kredit Bayar di Tempat
Mobile 120 80 50
Desktop 60 90 40
Catatan: Data menunjukkan jumlah transaksi berdasarkan metode pembayaran dan jenis perangkat.

Tugas

  1. Nyatakan Hipotesis Nol (H₀) dan Hipotesis Alternatif (H₁).
  2. Identifikasi uji statistik yang sesuai.
  3. Hitung statistik Chi-Square (χ²).
  4. Tentukan nilai p pada \(\alpha = 0.05\).
  5. Interpretasikan hasil dalam konteks strategi pembayaran digital.

Penyelesaian Studi Kasus 4

  1. Hipotesis nol (H₀) menyatakan bahwa tidak terdapat hubungan antara jenis perangkat yang digunakan, yaitu mobile atau desktop, dengan preferensi metode pembayaran seperti dompet digital, kartu kredit, maupun pembayaran di tempat. Artinya, pola pemilihan metode pembayaran dianggap sama pada kedua kelompok pengguna. Sebaliknya, hipotesis alternatif (H₁) menyatakan bahwa terdapat hubungan yang signifikan antara jenis perangkat dan preferensi metode pembayaran, yang menunjukkan adanya perbedaan kecenderungan pilihan pembayaran antara pengguna perangkat mobile dan desktop.

  2. Uji statistik yang sesuai untuk analisis ini adalah Uji Chi-Square untuk Homogenitas Proporsi. Data yang digunakan berupa frekuensi kategorik. Data tersebut berasal dari dua kelompok independen, yaitu pengguna mobile dan desktop. Uji ini digunakan untuk menguji kesamaan distribusi proporsi antar kelompok. Hipotesis nol menyatakan bahwa proporsi pilihan metode pembayaran pada kedua kelompok adalah sama. Perhitungan dilakukan dengan membandingkan frekuensi observasi dan frekuensi harapan. Dengan demikian, uji ini dapat menentukan ada atau tidaknya perbedaan yang signifikan secara statistik.

Perhitungan Chi-Square

Perhitungan Chi-Square (χ²)

Data Observasi (Oᵢⱼ)
Perangkat / Pembayaran Dompet Digital Kartu Kredit Bayar di Tempat Total
Mobile 120 80 50 250
Desktop 60 90 40 190
Total 180 170 90 440
Data frekuensi observasi pembayaran berdasarkan perangkat

Eᵢⱼ = (Total Barisᵢ × Total Kolomⱼ) / Total Keseluruhan
Langkah 1: Hitung Frekuensi Harapan (Eᵢⱼ)
Mobile - Dompet Digital: (250 × 180) / 440 = 45000 / 440 ≈ 102.27
Mobile - Kartu Kredit: (250 × 170) / 440 = 42500 / 440 ≈ 96.59
Mobile - Bayar di Tempat: (250 × 90) / 440 = 22500 / 440 ≈ 51.14
Desktop - Dompet Digital: (190 × 180) / 440 = 34200 / 440 ≈ 77.73
Desktop - Kartu Kredit: (190 × 170) / 440 = 32300 / 440 ≈ 73.41
Desktop - Bayar di Tempat: (190 × 90) / 440 = 17100 / 440 ≈ 38.86
χ² = Σ [(Oᵢⱼ - Eᵢⱼ)² / Eᵢⱼ]
Langkah 2: Hitung (O - E)²/E untuk Setiap Sel
Mobile - Dompet Digital: (120 - 102.27)²/102.27 = 17.73²/102.27 ≈ 3.073
Mobile - Kartu Kredit: (80 - 96.59)²/96.59 = (-16.59)²/96.59 ≈ 2.849
Mobile - Bayar di Tempat: (50 - 51.14)²/51.14 = (-1.14)²/51.14 ≈ 0.025
Desktop - Dompet Digital: (60 - 77.73)²/77.73 = (-17.73)²/77.73 ≈ 4.044
Desktop - Kartu Kredit: (90 - 73.41)²/73.41 = 16.59²/73.41 ≈ 3.749
Desktop - Bayar di Tempat: (40 - 38.86)²/38.86 = 1.14²/38.86 ≈ 0.033
Langkah 3: Jumlahkan Semua Nilai
χ² = 3.073 + 2.849 + 0.025 + 4.044 + 3.749 + 0.033
χ² ≈ 13.773
Langkah 4: Hitung Derajat Kebebasan
df = (r - 1)(c - 1) = (2 - 1)(3 - 1) = 1 × 2 = 2

Hsil Perhitungan Chi-Square
χ² ≈ 13.773
Derajat Kebebasan (df) = 2
Nilai kritis χ² (α=0.05, df=2) = 5.991
  1. Berdasarkan hasil uji Chi-Square diperoleh nilai χ² = 13,773 dengan derajat kebebasan 2 dan p-value sekitar 0,001, yang lebih kecil dari tingkat signifikansi α = 0,05. Oleh karena itu, hipotesis nol ditolak dan hipotesis alternatif diterima. Hasil ini menunjukkan adanya hubungan yang signifikan secara statistik antara jenis perangkat yang digunakan (mobile atau desktop) dan preferensi metode pembayaran. Dengan demikian, dapat disimpulkan bahwa pilihan metode pembayaran pengguna memang berbeda berdasarkan perangkat yang mereka gunakan, dengan tingkat kepercayaan sebesar 95%.

  2. Hasil analisis statistik menunjukkan bahwa jenis perangkat yang digunakan pengguna berpengaruh signifikan terhadap preferensi metode pembayaran. Pengguna mobile cenderung memilih dompet digital karena kemudahan dan kecepatan transaksi, sedangkan pengguna desktop lebih sering menggunakan kartu kredit yang dianggap lebih nyaman dan aman. Temuan ini memberikan implikasi strategis bagi platform digital untuk menyesuaikan dan mengoptimalkan opsi pembayaran berdasarkan perangkat yang digunakan, sehingga proses transaksi menjadi lebih efisien. Dengan strategi pembayaran yang selaras dengan preferensi pengguna, perusahaan berpotensi meningkatkan tingkat konversi serta kepuasan pengguna secara berkelanjutan.


5 Kesalahan Tipe I dan Tipe II (Konseptual)

Sebuah startup fintech menguji apakah algoritma deteksi penipuan baru dapat mengurangi transaksi penipuan.

  • H₀: Algoritma baru tidak mengurangi penipuan.
  • H₁: Algoritma baru mengurangi penipuan.

Tugas

  1. Jelaskan Kesalahan Tipe I (α) dalam konteks ini.
  2. Jelaskan Kesalahan Tipe II (β) dalam konteks ini.
  3. Identifikasi kesalahan mana yang lebih merugikan dari perspektif bisnis.
  4. Diskusikan bagaimana ukuran sampel memengaruhi Kesalahan Tipe II.
  5. Jelaskan hubungan antara α, β, dan daya statistik.

Penyelesaian Studi Kasus 5

  1. Kesalahan Tipe I (α) dalam konteks ini terjadi apabila startup fintech menolak hipotesis nol (H₀) yang menyatakan bahwa algoritma deteksi penipuan baru tidak mengurangi transaksi penipuan, padahal pada kenyataannya algoritma tersebut memang tidak efektif. Artinya, perusahaan secara keliru menyimpulkan bahwa algoritma baru mampu menurunkan tingkat penipuan, sehingga berisiko mengadopsi sistem yang tidak memberikan manfaat nyata dan dapat menimbulkan konsekuensi operasional maupun finansial.

  2. Kesalahan Tipe II (β) dalam konteks pengujian algoritma deteksi penipuan ini terjadi ketika startup gagal mendeteksi bahwa algoritma baru sebenarnya lebih efektif mengurangi transaksi penipuan, sehingga kesimpulan yang diambil adalah algoritma tersebut tidak berpengaruh padahal dalam kenyataannya algoritma itu memang berhasil menurunkan tingkat penipuan. Akibatnya, startup memutuskan untuk tidak mengimplementasikan algoritma yang efektif tersebut, sehingga terus mengalami kerugian finansial akibat penipuan yang sebenarnya dapat dicegah, kehilangan peluang meningkatkan keamanan platform, dan berpotensi mengurangi kepercayaan pengguna karena sistem deteksi yang kurang optimal tetap digunakan.

  3. Dari perspektif bisnis, Kesalahan Tipe II (β) lebih merugikan karena menyebabkan startup terus mengalami kerugian finansial akibat transaksi penipuan yang seharusnya bisa dicegah oleh algoritma baru yang efektif, sementara Kesalahan Tipe I hanya mengakibatkan pemborosan biaya pengembangan dan integrasi algoritma yang ternyata tidak efektif, yang kerugiannya lebih terbatas dan dapat diperbaiki dengan evaluasi ulang.

A. Sampel Besar Mengurangi Risiko Kesalahan Tipe II

Ukuran sampel yang besar meningkatkan power statistik (1-β), yaitu kemampuan untuk mendeteksi efek atau perbedaan yang sebenarnya ada. Dalam konteks pengujian algoritma deteksi penipuan, sampel yang besar (misalnya ribuan transaksi) memungkinkan pendeteksian penurunan tingkat penipuan yang kecil sekalipun, sehingga mengurangi kemungkinan startup gagal mengenali efektivitas algoritma baru yang sebenarnya bermanfaat.

B. Sampel Kecil Meningkatkan Risiko Kesalahan Tipe II

Sampel yang kecil menghasilkan estimasi yang kurang presisi dan variabilitas yang tinggi, sehingga perbedaan nyata dalam efektivitas algoritma (misalnya penurunan penipuan dari 5% menjadi 3%) mungkin tidak mencapai signifikansi statistik. Akibatnya, startup berisiko salah menyimpulkan bahwa algoritma baru tidak efektif, padahal sebenarnya efektif, yang menyebabkan kerugian berkelanjutan karena penipuan yang terus terjadi.

  1. Tingkat signifikansi α menunjukkan risiko melakukan Kesalahan Tipe I, yaitu menolak hipotesis nol ketika hipotesis tersebut benar, sedangkan β menunjukkan risiko Kesalahan Tipe II, yaitu gagal menolak hipotesis nol saat hipotesis alternatif benar, dengan daya statistik didefinisikan sebagai 1 − β. Ketika nilai α diperbesar, kriteria penolakan menjadi lebih longgar sehingga daya statistik meningkat dan β menurun, sementara penurunan α untuk menghindari Kesalahan Tipe I justru menurunkan daya statistik dan meningkatkan β. Oleh karena itu, untuk mencapai daya statistik yang tinggi tanpa meningkatkan α secara signifikan, diperlukan penambahan ukuran sampel yang memadai.


6 Nilai-p dan Proses Pengambilan Keputusan Statistik

Evaluasi model prediksi churn menghasilkan hasil sebagai berikut:

  • Statistik uji = 2.31
  • Nilai p = 0.021
  • Tingkat signifikansi: \(\alpha = 0.05\)

Tugas

  1. Jelaskan arti dari nilai p.
  2. Buatlah keputusan statistik.
  3. Terjemahkan keputusan tersebut ke dalam bahasa non-teknis untuk manajemen.
  4. Bahas risiko jika sampel tidak representatif.
  5. Jelaskan mengapa nilai p tidak mengukur ukuran efek.

Penyelesaian Studi Kasus 6

  1. Nilai p (p-value) secara umum adalah probabilitas untuk mendapatkan hasil sampel yang setidaknya sama ekstremnya dengan yang diamati, dengan asumsi bahwa hipotesis nol (H₀) benar, di mana nilai p yang semakin kecil menunjukkan semakin tidak mungkinnya hasil tersebut terjadi hanya karena kebetulan semata jika H₀ memang benar, sehingga nilai p yang lebih rendah dari tingkat signifikansi yang ditetapkan (biasanya α = 0,05) memberikan bukti statistik yang cukup untuk menolak H₀ dan mendukung adanya efek atau perbedaan yang signifikan secara statistik, meskipun penting untuk diingat bahwa nilai p tidak mengukur besarnya efek atau kepentingan praktis dari temuan tersebut.

  2. Berdasarkan hasil evaluasi model prediksi churn dengan nilai p = 0,021 dan tingkat signifikansi α = 0,05, karena p < α (0,021 < 0,05), maka hipotesis nol (H₀) ditolak.Artinya, terdapat bukti statistik yang cukup untuk menyimpulkan bahwa model prediksi churn tersebut signifikan secara statistik dan hasil yang diperoleh (statistik uji = 2,31) tidak dapat dianggap terjadi hanya karena kebetulan semata.

  3. Berdasarkan hasil pengujian,model prediksi churn terbukti efektif dan bukan kebetulan semata, sehingga mampu secara konsisten mengidentifikasi pelanggan yang berpotensi berhenti menggunakan layanan. Dengan kata lain, manajemen dapat mempercayai prediksi model ini sebagai dasar untuk mengambil langkah-langkah strategis, seperti memberikan penawaran khusus atau layanan tambahan kepada pelanggan yang berisiko churn, guna meningkatkan retensi dan kepuasan pelanggan.

  4. Jika sampel tidak representatif, ada risiko bahwa model prediksi churn yang dibangun tidak mencerminkan perilaku seluruh populasi pelanggan. Akibatnya, pola churn yang terdeteksi pada sampel mungkin berbeda ketika diterapkan pada pelanggan nyata, sehingga keputusan bisnis yang diambil berdasarkan model tersebut bisa tidak akurat atau menyesatkan. Hal ini dapat menyebabkan sumber daya dialokasikan secara kurang efektif, intervensi retensi gagal mencapai target, dan potensi kerugian finansial atau kehilangan pelanggan meningkat. Oleh karena itu, memastikan sampel yang representatif dan seimbang sangat penting untuk validitas prediksi dan efektivitas strategi yang diambil.

  5. Nilai p tidak mengukur besarnya efek praktis karena hanya mencerminkan signifikansi statistik, yakni probabilitas mendapatkan hasil setidaknya seekstrem pengamatan saat hipotesis nol benar adanya. Nilai p tidak mengindikasikan seberapa pengaruh atau perbedaan tersebut dalam aplikasi nyata. Contohnya, efek kecil dapat signifikan dengan sampel besar, sedangkan efek besar mungkin tidak signifikan jika sampel terbatas. Karenanya, evaluasi dampak bisnis atau populasi memerlukan metrik efek pelengkap, seperti koefisien model, odds ratio, atau selisih rata-rata.

7 Referensi

[1] H. Ismail and H. Fajri, Statistika untuk penelitian pendidikan dan ilmu-ilmu sosial. Jakarta, Indonesia: Kencana, 2018.

[2] A. Fauzy, “Distribusi chi-kuadrat,” Jurnal MIPA IKIP Malang, vol. 25, no. 1, pp. 103–111, ISSN 0854-8269.

[3] C. Savitri et al., Statistik multivariat dalam riset, 2021.

LS0tDQp0aXRsZTogIlN0YXRpc3RpY2FsIEluZmVyZW5jZXMiICAgICAgICAgICAgIyBNYWluIHRpdGxlIG9mIHRoZSBkb2N1bWVudA0KYXV0aG9yOiAiQW5pbmR5YSBLcmlzdGlhbmluZ3B1dHJpIiAgICAgICMgUmVwbGFjZSB3aXRoIHlvdXIgZnVsbCBuYW1lDQpkYXRlOiAgImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIiAjIEF1dG8gZGlzcGxheXMgdGhlIGN1cnJlbnQgZGF0ZQ0Kb3V0cHV0OiAgICAgICAgICAgICAgICAgICAgICAgICAjIE91dHB1dCBzZWN0aW9uIGRlZmluZXMgdGhlIGZvcm1hdCBhbmQgbGF5b3V0IA0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjogICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWJhL3JtZGZvcm1hdHMNCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZSAgICAgICAgIyBFbWJlZHMgYWxsIHJlc291cmNlcyAoQ1NTLCBKUywgaW1hZ2VzKSANCiAgICB0aHVtYm5haWxzOiB0cnVlICAgICAgICAgICAgIyBEaXNwbGF5cyBpbWFnZSB0aHVtYm5haWxzIGluIHRoZSBkb2MNCiAgICBsaWdodGJveDogdHJ1ZSAgICAgICAgICAgICAgIyBFbmFibGVzIGNsaWNrIHRvIGVubGFyZ2UgaW1hZ2VzDQogICAgZ2FsbGVyeTogdHJ1ZSAgICAgICAgICAgICAgICMgR3JvdXBzIGltYWdlcyBpbnRvIGFuIGludGVyYWN0aXZlIGdhbGxlcnkNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUgICAgICAgIyBBdXRvbWF0aWNhbGx5IG51bWJlcnMgYWxsIHNlY3Rpb25zDQogICAgbGliX2RpcjogbGlicyAgICAgICAgICAgICAgICMgRGlyZWN0b3J5IHdoZXJlIEphdmFTY3JpcHQvQ1NTIGxpYnJhcmllcw0KICAgIGRmX3ByaW50OiAicGFnZWQiICAgICAgICAgICAjIERpc3BsYXlzIGRhdGEgZnJhbWVzIGFzIGludGVyYWN0aXZlIHBhZ2VkIA0KICAgIGNvZGVfZm9sZGluZzogInNob3ciICAgICAgICAjIEFsbG93cyBmb2xkaW5nL3VuZm9sZGluZyBSIGNvZGUgYmxvY2tzIA0KICAgIGNvZGVfZG93bmxvYWQ6IHllcyAgICAgICAgICAjIEFkZHMgYSBidXR0b24gdG8gZG93bmxvYWQgYWxsIFIgY29kZQ0KLS0tDQoNCmBgYHs9aHRtbH0NCjxzdHlsZT4NCmgxLnRpdGxlIHsNCiAgZm9udC1zaXplOiA0N3B4ICFpbXBvcnRhbnQ7DQogIGZvbnQtd2VpZ2h0OiA4MDA7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCAiUGFsYXRpbm8gTGlub3R5cGUiLCBzZXJpZjsNCiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7DQogIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDsNCiAgbGluZS1oZWlnaHQ6IDEuMjsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50Ow0KfQ0KDQpoMS50aXRsZTo6YWZ0ZXIgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBib3R0b206IDA7DQogIGxlZnQ6IDUwJTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOw0KICB3aWR0aDogMTUwcHg7DQogIGhlaWdodDogMnB4Ow0KICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7DQogIG9wYWNpdHk6IDAuMzsNCn0NCg0KLnBlcmZlY3QtY2VudGVyLWJveCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZzogMjVweCA0MHB4ICFpbXBvcnRhbnQ7DQogIG1hcmdpbjogMjBweCBhdXRvICFpbXBvcnRhbnQ7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgZGlzcGxheTogdGFibGU7DQogIGJhY2tncm91bmQ6IHdoaXRlOw0KICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICBib3JkZXItcmFkaXVzOiAxMnB4Ow0KICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwwLDAsMC4xKTsNCiAgbWF4LXdpZHRoOiA1MDBweDsNCn0NCg0KLnBlcmZlY3QtY2VudGVyLWJveDo6YmVmb3JlLA0KLnBlcmZlY3QtY2VudGVyLWJveDo6YWZ0ZXIgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB3aWR0aDogMThweDsNCiAgaGVpZ2h0OiAxOHB4Ow0KICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsNCiAgb3BhY2l0eTogMC4zOw0KICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOw0KfQ0KDQoucGVyZmVjdC1jZW50ZXItYm94OjpiZWZvcmUgew0KICB0b3A6IDhweDsNCiAgbGVmdDogOHB4Ow0KICBib3JkZXItcmlnaHQ6IG5vbmU7DQogIGJvcmRlci1ib3R0b206IG5vbmU7DQp9DQoNCi5wZXJmZWN0LWNlbnRlci1ib3g6OmFmdGVyIHsNCiAgYm90dG9tOiA4cHg7DQogIHJpZ2h0OiA4cHg7DQogIGJvcmRlci1sZWZ0OiBub25lOw0KICBib3JkZXItdG9wOiBub25lOw0KfQ0KDQoucGVyZmVjdC1jZW50ZXItYm94OmhvdmVyOjpiZWZvcmUsDQoucGVyZmVjdC1jZW50ZXItYm94OmhvdmVyOjphZnRlciB7DQogIHdpZHRoOiAyMnB4Ow0KICBoZWlnaHQ6IDIycHg7DQogIG9wYWNpdHk6IDAuNTsNCn0NCg0KLndlZWstbnVtYmVyIHsNCiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7DQogIGZvbnQtd2VpZ2h0OiA3MDA7DQogIGxldHRlci1zcGFjaW5nOiAwLjVweDsNCiAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7DQogIGxpbmUtaGVpZ2h0OiAxLjM7DQp9DQoNCi5hc3NpZ25tZW50LXRpdGxlIHsNCiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7DQogIGZvbnQtd2VpZ2h0OiA1MDA7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50Ow0KICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDsNCiAgbGluZS1oZWlnaHQ6IDEuMzsNCn0NCg0KLmFzc2lnbm1lbnQtdGl0bGU6OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMDsNCiAgbGVmdDogNTAlOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQogIHdpZHRoOiA5MHB4Ow0KICBoZWlnaHQ6IDFweDsNCiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOw0KICBvcGFjaXR5OiAwLjM7DQp9DQoNCi5jb250YWluZXIgew0KICBtYXJnaW46IDAgIWltcG9ydGFudDsNCiAgcGFkZGluZzogMjBweCAhaW1wb3J0YW50Ow0KfQ0KDQouY29udGVudC13cmFwcGVyIHsNCiAgZGlzcGxheTogZmxleDsNCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgZ2FwOiAxNXB4ICFpbXBvcnRhbnQ7DQogIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQp9DQo8L3N0eWxlPg0KYGBgDQoNCmBgYHs9aHRtbH0NCjwhRE9DVFlQRSBodG1sPg0KPGh0bWwgbGFuZz0iaWQiPg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4NCiAgICA8dGl0bGU+UHJvZmlsIE1haGFzaXN3YSAtIEFuaW5keWEgS3Jpc3RpYW5pbmdwdXRyaTwvdGl0bGU+DQogICAgPHN0eWxlPg0KICAgICAgICAqIHsNCiAgICAgICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDA7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFVJJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzBjMjQ2MSAwJSwgIzFlMzc5OSA1MCUsICM0YTY5YmQgMTAwJSk7DQogICAgICAgICAgICBjb2xvcjogIzMzMzsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgICAgICBwYWRkaW5nOiAyMHB4Ow0KICAgICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOw0KICAgICAgICB9DQoNCiAgICAgICAgLmNvbnRhaW5lciB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDkwMHB4Ow0KICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTIsIDM2LCA5NywgMC4zKTsNCiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNGE2OWJkOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMxZTM3OTksICM0YTY5YmQpOw0KICAgICAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgICAgICAgcGFkZGluZzogMzBweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIC5wcm9maWxlLWNvbnRlbnQgew0KICAgICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICAgICAgZ2FwOiAyMHB4Ow0KICAgICAgICB9DQoNCiAgICAgICAgLnBob3RvLWNvbnRhaW5lciB7DQogICAgICAgICAgICB3aWR0aDogMTUwcHg7DQogICAgICAgICAgICBoZWlnaHQ6IDE1MHB4Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICM4MmNjZGQ7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDEzMCwgMjA0LCAyMjEsIDAuNSk7DQogICAgICAgIH0NCg0KICAgICAgICAucHJvZmlsZS1waG90byB7DQogICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgIGhlaWdodDogMTAwJTsNCiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgLm5hbWUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOw0KICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsNCiAgICAgICAgfQ0KDQogICAgICAgIC5uaW0gew0KICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzAsIDIwNCwgMjIxLCAwLjkpOw0KICAgICAgICAgICAgY29sb3I6ICMwYzI0NjE7DQogICAgICAgICAgICBwYWRkaW5nOiA2cHggMTVweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdHVkeS1pbmZvIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgICAgICAgICAgIGNvbG9yOiAjZTZmN2ZmOw0KICAgICAgICB9DQoNCiAgICAgICAgLmRvc2VuLWluZm8gew0KICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgICAgICAgICBjb2xvcjogIzgyY2NkZDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5za2lsbHMtc2VjdGlvbiB7DQogICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDMwcHg7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmOGZmOw0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM0YTY5YmQ7DQogICAgICAgIH0NCg0KICAgICAgICAuc2tpbGxzLWxpc3Qgew0KICAgICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgZ2FwOiAyMHB4Ow0KICAgICAgICB9DQoNCiAgICAgICAgLnNraWxsLWl0ZW0gew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNGE2OWJkLCAjNmE4OWNjKTsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMWUzNzk5Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoNzQsIDEwNSwgMTg5LCAwLjIpOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgICAgICBtaW4td2lkdGg6IDE4MHB4Ow0KICAgICAgICB9DQoNCiAgICAgICAgLnNraWxsLWl0ZW06aG92ZXIgew0KICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOw0KICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMWUzNzk5LCAjNGE2OWJkKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSg3NCwgMTA1LCAxODksIDAuMyk7DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsNCiAgICAgICAgICAgIC5oZWFkZXIgew0KICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLnBob3RvLWNvbnRhaW5lciB7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEzMHB4Ow0KICAgICAgICAgICAgICAgIGhlaWdodDogMTMwcHg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC5uYW1lIHsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC5za2lsbC1pdGVtIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI1cHg7DQogICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNjBweDsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsNCiAgICAgICAgICAgIGJvZHkgew0KICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC5oZWFkZXIgew0KICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTVweDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLm5hbWUgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgLm5pbSB7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICAuc2tpbGxzLWxpc3Qgew0KICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgICAgICAgICBnYXA6IDE1cHg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC5za2lsbC1pdGVtIHsNCiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxoZWFkZXIgY2xhc3M9ImhlYWRlciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9maWxlLWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBob3RvLWNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJDOi9Vc2Vycy9IeXBlIEFNRC9EZXNrdG9wL3R1Z2FzIHN0YXRpc3Rpa2EvcHJvZmlsZS5wbmciIA0KICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iRm90byBQcm9maWwgQW5pbmR5YSBLcmlzdGlhbmluZ3B1dHJpIiANCiAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZmlsZS1waG90byI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1pbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJuYW1lIj5BbmluZHlhIEtyaXN0aWFuaW5ncHV0cmk8L2gxPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuaW0iPk5JTTogNTIyNTAwMjU8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3R1ZHktaW5mbyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD5TdHVkZW50IE1ham9yIERhdGEgU2NpZW5jZTwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluc3RpdHV0IFRla25vbG9naSBTYWlucyBCYW5kdW5nPC9wPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9zZW4taW5mbyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD5Eb3NlbjogQmFrdGkgU2lyZWdhciwgTS5TYy4sIENEUzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9oZWFkZXI+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0ic2tpbGxzLXNlY3Rpb24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2tpbGxzLWxpc3QiPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJza2lsbC1pdGVtIj5SIFByb2dyYW1taW5nPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJza2lsbC1pdGVtIj5TdGF0aXN0aWNzPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJza2lsbC1pdGVtIj5TdGF0aXN0aWNhbCBJbmZlcmVuY2U8L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQpgYGANCg0KDQoNCiMgVWppIFogU2F0dSBTYW1wZWwgKEhpcG90ZXNpcyBTdGF0aXN0aWspDQoNCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQpTZWJ1YWggKipQbGF0Zm9ybSBQZW1iZWxhamFyYW4gRGlnaXRhbCoqIG1lbnlhdGFrYW4gYmFod2EgKip3YWt0dSBiZWxhamFyIGhhcmlhbiByYXRhLXJhdGEqKiBwZW5nZ3VuYW55YSBhZGFsYWggKioxMjAgbWVuaXQqKi4gQmVyZGFzYXJrYW4gY2F0YXRhbiBoaXN0b3JpcywgKipzaW1wYW5nYW4gYmFrdSBwb3B1bGFzaSBkaWtldGFodWkqKiBzZWJlc2FyIDE1IG1lbml0Lg0KPC9wPiANCg0KU2VidWFoIHNhbXBlbCBhY2FrIGRhcmkgKio2NCBwZW5nZ3VuYSoqIG1lbnVuanVra2FuIHdha3R1IGJlbGFqYXIgcmF0YS1yYXRhIHNlYmVzYXIgKioxMTYgbWVuaXQqKi4NCg0KDQokJA0KXGJlZ2lue2VxbmFycmF5Kn0NClxtdV8wICY9JiAxMjAgXFwNClxzaWdtYSAmPSYgMTUgXFwNCm4gJj0mIDY0IFxcDQpcYmFye3h9ICY9JiAxMTYNClxlbmR7ZXFuYXJyYXkqfQ0KJCQNCg0KOjo6IHtzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkZGNUUxOyBib3JkZXItbGVmdDo2cHggc29saWQgIzFFOTBGRjsgcGFkZGluZzoxMnB4OyBib3JkZXItcmFkaXVzOjhweDsgbWFyZ2luOjIwcHggMDsifQ0KDQoqKlR1Z2FzKioNCg0KMS4gVGVudHVrYW4gKipIaXBvdGVzaXMgTm9sIChI4oKAKSoqIGRhbiAqKkhpcG90ZXNpcyBBbHRlcm5hdGlmIChI4oKBKSoqLg0KMi4gSWRlbnRpZmlrYXNpICoqdWppIHN0YXRpc3RpayB5YW5nIHNlc3VhaSoqIGRhbiBqZWxhc2thbiBhbGFzYW4gQW5kYSBtZW1pbGlobnlhLg0KMy4gSGl0dW5nICoqc3RhdGlzdGlrIHVqaSoqIGRhbiAqKm5pbGFpIHAqKiBtZW5nZ3VuYWthbiAkXGFscGhhID0gMC4wNSQuDQo0LiBOeWF0YWthbiAqKmtlcHV0dXNhbiBzdGF0aXN0aWsqKi4NCjUuIEludGVycHJldGFzaWthbiBoYXNpbCBkYWxhbSBrb250ZWtzICoqYW5hbGlzaXMgYmlzbmlzKiouDQoNCjo6Og0KDQo6Ojoge3N0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGMkY1RTY7IGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjNkI4RTIzOyBwYWRkaW5nOjEycHg7IGJvcmRlci1yYWRpdXM6OHB4OyBtYXJnaW46MjBweCAwOyJ9DQoNCioqUGVueWVsZXNhaWFuIFN0dWRpIEthc3VzIDEqKg0KDQoxLiANCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQpCZXJkYXNhcmthbiBzb2FsLCB0ZXJ0dWxpcyBiYWh3YSAqKnJhdGEtcmF0YSB3YWt0dSBiZWxhamFyIGhhcmlhbiBwZW5nZ3VuYSBhZGFsYWggMTIwIG1lbml0KiosIG1ha2EgKipoaXBvdGVzaXMgbm9sIChI4oKAKSBkaXRldGFwa2FuIHNlYmFnYWkgzrwgPSAxMjAqKi4gSGlwb3Rlc2lzIGluaSBtZW55YXRha2FuIGJhaHdhIHJhdGEtcmF0YSB3YWt0dSBiZWxhamFyIHBvcHVsYXNpIHNhbWEgZGVuZ2FuIG5pbGFpIHlhbmcgZGlrbGFpbSBvbGVoIHBsYXRmb3JtLiBTZWxhbmp1dG55YSwgZGFyaSBoYXNpbCBwZW5nYW1iaWxhbiBzYW1wZWwgZGlwZXJvbGVoIHJhdGEtcmF0YSB3YWt0dSBiZWxhamFyIHNlYmVzYXIgMTE2IG1lbml0IGRlbmdhbiBqdW1sYWggcmVzcG9uZGVuIHNlYmFueWFrIDY0IG9yYW5nLiBLYXJlbmEgdGlkYWsgZGl0ZW50dWthbiBhcmFoIHBlbmd1amlhbiBzZWJlbHVtbnlhLCBtYWthICoqaGlwb3Rlc2lzIGFsdGVybmF0aWYgKEjigoEpIGRpcnVtdXNrYW4gc2ViYWdhaSDOvCDiiaAgMTIwKiosIHlhbmcgYmVydHVqdWFuIHVudHVrIG1lbmdldGFodWkgYXBha2FoIHRlcmRhcGF0IHBlcmJlZGFhbiBhbnRhcmEgcmF0YS1yYXRhIHdha3R1IGJlbGFqYXIgcG9wdWxhc2kgZGFuIGtsYWltIHlhbmcgZGlhanVrYW4sIGJhaWsgbGViaWggcmVuZGFoIG1hdXB1biBsZWJpaCB0aW5nZ2kgZGFyaSAxMjAgbWVuaXQuDQo8L3A+IA0KDQoNCg0KMi4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQoqKlVqaSBzdGF0aXN0aWsgeWFuZyB0ZXBhdCBhZGFsYWggVWppLVogc2F0dSBzYW1wZWwgKHR3by10YWlsZWQpKiogdW50dWsgbWVuZ3VqaSBoaXBvdGVzaXMgbWVuZ2VuYWkgcmF0YS1yYXRhIHBvcHVsYXNpICjOvCksIGRlbmdhbiBwZW1lbnVoYW4gdGlnYSBzeWFyYXQgeWFpdHUgKipzaW1wYW5nYW4gYmFrdSBwb3B1bGFzaSAoz4MgPSAxNSkgeWFuZyBkaWtldGFodWksIHVrdXJhbiBzYW1wZWwgYmVzYXIgKG49NjQpIFNlaGluZ2dhIGRpc3RyaWJ1c2kgcmF0YS1yYXRhIHNhbXBlbCBtZW5kZWthdGkgbm9ybWFsIHNlc3VhaSBUZW9yZW1hIExpbWl0IFB1c2F0IChDZW50cmFsIExpbWl0IFRoZW9yZW0pLCBzZXJ0YSBzaWZhdCBkYXRhIHlhbmcga3VhbnRpdGF0aWYga29udGludSoqLiBNZW5naW5nYXQgz4MgZGlrZXRhaHVpLCBVamktWiBtZW1iZXJpa2FuIGhhc2lsIHlhbmcgbGViaWggYWt1cmF0DQo8L3A+IA0KDQoNCg0KOjo6IA0KDQpgYGB7PWh0bWx9DQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sIGxhbmc9ImlkIj4NCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+DQogICAgPHRpdGxlPlBlcmhpdHVuZ2FuIFVqaSBTdGF0aXN0aWsgWjwvdGl0bGU+DQogICAgPHN0eWxlPg0KICAgICAgICAqIHsNCiAgICAgICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDA7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIFRhaG9tYSwgR2VuZXZhLCBWZXJkYW5hLCBzYW5zLXNlcmlmOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7DQogICAgICAgICAgICBjb2xvcjogIzMzMzsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgICAgICBwYWRkaW5nOiAyMHB4Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7DQogICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZlZjc7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4Ow0KICAgICAgICAgICAgcGFkZGluZzogMjVweDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCA4MiwgMTU1LCAwLjEpOw0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTdmZjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaDEgew0KICAgICAgICAgICAgY29sb3I6ICMxZTNhOGE7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmRhdGEtc2VjdGlvbiB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmNmZmOw0KICAgICAgICAgICAgcGFkZGluZzogMTVweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLWl0ZW0gew0KICAgICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYmVhZmU7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLWl0ZW06bGFzdC1jaGlsZCB7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZGF0YS1sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOw0KICAgICAgICAgICAgY29sb3I6ICMxZTQwYWY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLXZhbHVlIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICBjb2xvcjogIzFlM2E4YTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmZvcm11bGEtYm94IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGY5ZmY7DQogICAgICAgICAgICBwYWRkaW5nOiAxNXB4Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMzYjgyZjY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5mb3JtdWxhIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07DQogICAgICAgICAgICBmb250LWZhbWlseTogJ0NhbWJyaWEgTWF0aCcsIHNlcmlmOw0KICAgICAgICAgICAgY29sb3I6ICMxZTNhOGE7DQogICAgICAgICAgICBtYXJnaW46IDEwcHggMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmNhbGN1bGF0aW9uIHsNCiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuc3RlcCB7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuc3RlcC10aXRsZSB7DQogICAgICAgICAgICBjb2xvcjogIzFlNDBhZjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5tYXRoLWxpbmUgew0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDhweDsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7DQogICAgICAgICAgICBtYXJnaW46IDVweCAwOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAucmVzdWx0LWJveCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJlYWZlOw0KICAgICAgICAgICAgcGFkZGluZzogMTVweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7DQogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjM2I4MmY2Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAucmVzdWx0LXRpdGxlIHsNCiAgICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5yZXN1bHQtdmFsdWUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgICAgICAgICBjb2xvcjogIzFlM2E4YTsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGhyIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsNCiAgICAgICAgICAgIGhlaWdodDogMXB4Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTdmZjsNCiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwOw0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxoMT5QZXJoaXR1bmdhbiBVamkgU3RhdGlzdGlrIFo8L2gxPg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0iZGF0YS1zZWN0aW9uIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGEtaXRlbSI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGEtbGFiZWwiPlJhdGEtcmF0YSBrbGFpbSAozrzigoApPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhLXZhbHVlIj4xMjAgbWVuaXQ8L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGEtaXRlbSI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGEtbGFiZWwiPlNpbXBhbmdhbiBiYWt1ICjPgyk8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGEtdmFsdWUiPjE1IG1lbml0PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXRhLWl0ZW0iPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhLWxhYmVsIj5Va3VyYW4gc2FtcGVsIChuKTwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YS12YWx1ZSI+NjQ8L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGEtaXRlbSI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGEtbGFiZWwiPlJhdGEtcmF0YSBzYW1wZWwgKHjMhCk8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGEtdmFsdWUiPjExNiBtZW5pdDwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEiPlogPSAoeMyEIC0gzrzigoApIC8gKM+DIC8g4oiabik8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJjYWxjdWxhdGlvbiI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLXRpdGxlIj4xLiBIaXR1bmcgU3RhbmRhciBFcnJvcjwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+z4MgLyDiiJpuID0gMTUgLyDiiJo2NCA9IDE1IC8gOCA9IDEuODc1PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+Mi4gSGl0dW5nIFNlbGlzaWggUmF0YS1yYXRhPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj54zIQgLSDOvOKCgCA9IDExNiAtIDEyMCA9IC00PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+My4gSGl0dW5nIE5pbGFpIFo8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPlogPSAtNCAvIDEuODc1ID0gLTIuMTMzMzwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdGl0bGUiPlN0YXRpc3RpayBVamkgWjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LXZhbHVlIj5aIOKJiCAtMi4xMzM8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8aHI+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtdWxhLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtdWxhIj5wID0gMiDDlyBQKFog4omkIHxaIGhpdHVuZ3wpPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0iY2FsY3VsYXRpb24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+MS4gQ2FyaSBQKFog4omkIC0yLjEzMyk8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPlAoWiDiiaQgLTIuMTMzKSDiiYggMC4wMTY1PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+Mi4gSGl0dW5nIE5pbGFpIHA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPnAgPSAyIMOXIDAuMDE2NSA9IDAuMDMzMDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdGl0bGUiPk5pbGFpIHAgKHAtdmFsdWUpPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdmFsdWUiPnAg4omIIDAuMDMzPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0KYGBgDQoNCjo6OiB7c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0YyRjVFNjsgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICM2QjhFMjM7IHBhZGRpbmc6MTJweDsgYm9yZGVyLXJhZGl1czo4cHg7IG1hcmdpbjoyMHB4IDA7In0NCg0KDQo0Lg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCkJlcmRhc2Fya2FuIGhhc2lsIHBlbmd1amlhbiBzdGF0aXN0aWsgcGFkYSB0aW5na2F0IHNpZ25pZmlrYW5zaSDOsSA9IDAsMDUsIGhpcG90ZXNpcyBub2wgKEjigoApIGRpdG9sYWsga2FyZW5hIG5pbGFpIHAtdmFsdWUgeWFuZyBkaXBlcm9sZWgsIHlhaXR1IHNla2l0YXIgMCwwMzMsIGxlYmloIGtlY2lsIGRhcmkgbmlsYWkgzrEuIE9sZWgga2FyZW5hIGl0dSwgZGFwYXQgZGlzaW1wdWxrYW4gYmFod2EgKip0ZXJkYXBhdCBidWt0aSBzdGF0aXN0aWsgeWFuZyBjdWt1cCB1bnR1ayBtZW55YXRha2FuIGJhaHdhIHJhdGEtcmF0YSB3YWt0dSBiZWxhamFyIGhhcmlhbiBwZW5nZ3VuYSBiZXJiZWRhIHNlY2FyYSBzaWduaWZpa2FuIGRhcmkga2xhaW0gMTIwIG1lbml0IHlhbmcgZGlzYW1wYWlrYW4gb2xlaCBwbGF0Zm9ybS4qKg0KPC9wPiANCg0KDQo1LiANCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQpIYXNpbCBhbmFsaXNpcyBtZW51bmp1a2thbiAqKmJhaHdhIHJhdGEtcmF0YSB3YWt0dSBiZWxhamFyIGhhcmlhbiBwZW5nZ3VuYSB0ZXJidWt0aSBiZXJiZWRhIGRhcmkga2xhaW0gMTIwIG1lbml0IHlhbmcgZGlzYW1wYWlrYW4gZGkgcGVybnlhdGFhbiBkaWF0YXMqKi4gSGFsIGluaSBtZW5naW5kaWthc2lrYW4gYmFod2EgKip0aW5na2F0IGtldGVybGliYXRhbiBwZW5nZ3VuYSBiZWx1bSBzZXBlbnVobnlhIHNlc3VhaSBkZW5nYW4gdGFyZ2V0IHlhbmcgZGloYXJhcGthbioqLiBLb25kaXNpIHRlcnNlYnV0IGRhcGF0IG1lbWVuZ2FydWhpIHBlbmNhcGFpYW4gdHVqdWFuIGJpc25pcywgc2VwZXJ0aSByZXRlbnNpIHBlbmdndW5hIGRhbiBlZmVrdGl2aXRhcyBwcm9ncmFtIHBlbWJlbGFqYXJhbi4gT2xlaCBrYXJlbmEgaXR1LCBwbGF0Zm9ybSBwZXJsdSBtZWxha3VrYW4gZXZhbHVhc2kgdGVyaGFkYXAgc3RyYXRlZ2kga29udGVuLCBmaXR1ciBwZW1iZWxhamFyYW4sIGRhbiBwZW5nYWxhbWFuIHBlbmdndW5hIGFnYXIgd2FrdHUgYmVsYWphciBoYXJpYW4gZGFwYXQgbWVuaW5na2F0IGRhbiBzZWphbGFuIGRlbmdhbiBrbGFpbSB5YW5nIHRlbGFoIGRpdGV0YXBrYW4uDQo8L3A+IA0KDQo6OjoNCi0tLQ0KDQojIFVqaSB0IFNhdHUgU2FtcGVsICjPgyBUaWRhayBEaWtldGFodWksIFNhbXBlbCBLZWNpbCkNCg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCioqVGltIFJpc2V0IFBlbmdhbGFtYW4gUGVuZ2d1bmEgKFVYKSoqIG1lbnllbGlkaWtpIHdha3R1IHJhdGEtcmF0YSBwZW55ZWxlc2FpYW4gdHVnYXMgZGFyaSBhcGxpa2FzaSBiYXJ1IGRhbGFtIHdha3R1ICoqMTAgbWVuaXQqKi4NCjwvcD4gIA0KDQpEYXRhIGJlcmlrdXQgZGlrdW1wdWxrYW4gZGFyaSAxMCBwZW5nZ3VuYToNCg0KJCQNCjkuMixcOyAxMC41LFw7IDkuOCxcOyAxMC4xLFw7IDkuNixcOyAxMC4zLFw7IDkuOSxcOyA5LjcsXDsgMTAuMCxcOyA5LjUNCiQkDQoNCjo6OiB7c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0ZGRjVFMTsgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICMxRTkwRkY7IHBhZGRpbmc6MTJweDsgYm9yZGVyLXJhZGl1czo4cHg7IG1hcmdpbjoyMHB4IDA7In0NCioqVHVnYXMqKg0KDQoxLiBUZW50dWthbiAqKkjigoAqKiBkYW4gKipI4oKBKiogKGR1YSBla29yKS4NCjIuIFRlbnR1a2FuICoqdWppIGhpcG90ZXNpcyB5YW5nIHNlc3VhaSoqLg0KMy4gSGl0dW5nICoqc3RhdGlzdGlrIHQqKiBkYW4gKipuaWxhaSBwKiogcGFkYSAkXGFscGhhID0gMC4wNSQuDQo0LiBCdWF0ICoqa2VwdXR1c2FuIHN0YXRpc3RpayoqLg0KNS4gSmVsYXNrYW4gYmFnYWltYW5hICoqdWt1cmFuIHNhbXBlbCoqIG1lbWVuZ2FydWhpIGtlYW5kYWxhbiBpbmZlcmVuc2lhbC4NCjo6OiANCg0KDQo6Ojoge3N0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGMkY1RTY7IGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjNkI4RTIzOyBwYWRkaW5nOjEycHg7IGJvcmRlci1yYWRpdXM6OHB4OyBtYXJnaW46MjBweCAwOyJ9DQoNCioqUGVueWVsZXNhaWFuIFN0dWRpIEthc3VzIDIqKiANCg0KMS4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQpIaXBvdGVzaXMgbm9sIHNhbWEgZGVuZ2FuIDEwIG1lbml0ICQkSF8wIDogXG11ID0gMTAkJCwgc2VzdWFpIGtsYWltIFRpbSBSaXNldCBQZW5nYWxhbWFuIFBlbmdndW5hLiBTZWRhbmdrYW4gSGlwb3Rlc2lzIGFsdGVybmF0aWYgJCRIXzEgOiBcbXUgXG5lcSAxMA0KJCQgbWVuZ2luZGlrYXNpa2FuIGFkYW55YSBwZXJiZWRhYW4gc2lnbmlmaWthbiBkYXJpIG5pbGFpIHRlcnNlYnV0LCBiYWlrIGxlYmloIGNlcGF0IG1hdXB1biBsZWJpaCBsYW1iYXQuDQo8L3A+IA0KDQoyLg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCioqVWppIGhpcG90ZXNpcyB5YW5nIHRlcGF0IGFkYWxhaCB1amktdCBzYXR1IHNhbXBlbCAob25lLXNhbXBsZSB0LXRlc3QpLioqICANClBlbWlsaWhhbiBpbmkgZGlkYXNhcmthbiBwYWRhIHRpZ2Egc3lhcmF0IHV0YW1hIHlhbmcgdGVycGVudWhpIHlhaXR1IHNpbXBhbmdhbiBiYWt1IHBvcHVsYXNpIHRpZGFrIGRpa2V0YWh1aSwgc2VoaW5nZ2EgbWVuZ2d1bmFrYW4gc2ltcGFuZ2FuIGJha3Ugc2FtcGVsIHNlYmFnYWkgZXN0aW1hc2kgbGFsdSB1a3VyYW4gc2FtcGVsIGtlY2lsIChuPTEwKSBzZWhpbmdnYSB0aWRhayBtZW1lbnVoaSBzeWFyYXQgdW50dWsgdWppLXogeWFuZyBtZW1lcmx1a2FuIM+DIGRpa2V0YWh1aSBhdGF1IG4gYmVzYXI7IGRhbiB5YW5nIHRlcmFraGlyIHlhaXR1IHR1anVhbiBwZW5ndWppYW5ueWEgIG1lbWJhbmRpbmdrYW4gcmF0YS1yYXRhIHNhbXBlbCBkZW5nYW4gbmlsYWkga2xhaW0gc3Blc2lmaWsgKDEwIG1lbml0KS4NCjwvcD4gDQoNCjo6Og0KDQoNCmBgYHs9aHRtbH0NCjwhRE9DVFlQRSBodG1sPg0KPGh0bWwgbGFuZz0iaWQiPg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4NCiAgICA8dGl0bGU+UGVyaGl0dW5nYW4gVWppLXQgU2F0dSBTYW1wZWw8L3RpdGxlPg0KICAgIDxzdHlsZT4NCiAgICAgICAgKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwOw0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBUYWhvbWEsIEdlbmV2YSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgYm9keSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhOw0KICAgICAgICAgICAgY29sb3I6ICMzMzM7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMS42Ow0KICAgICAgICAgICAgcGFkZGluZzogMjBweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmNvbnRhaW5lciB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4Ow0KICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZWY3Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgODIsIDE1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGU3ZmY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGgxIHsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLXNlY3Rpb24gew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZjsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZGF0YS1pdGVtIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgICAgICAgICBwYWRkaW5nOiA4cHggMDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJlYWZlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZGF0YS1pdGVtOmxhc3QtY2hpbGQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmRhdGEtbGFiZWwgew0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZGF0YS12YWx1ZSB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgY29sb3I6ICMxZTNhOGE7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5mb3JtdWxhLWJveCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmOWZmOw0KICAgICAgICAgICAgcGFkZGluZzogMTVweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwOw0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjM2I4MmY2Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZm9ybXVsYSB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMWVtOw0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDYW1icmlhIE1hdGgnLCBzZXJpZjsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5jYWxjdWxhdGlvbiB7DQogICAgICAgICAgICBtYXJnaW46IDE1cHggMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnN0ZXAgew0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnN0ZXAtdGl0bGUgew0KICAgICAgICAgICAgY29sb3I6ICMxZTQwYWY7DQogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAubWF0aC1saW5lIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7DQogICAgICAgICAgICBwYWRkaW5nOiA4cHg7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICAgICAgICAgICAgbWFyZ2luOiA1cHggMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnJlc3VsdC1ib3ggew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZWFmZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzNiODJmNjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnJlc3VsdC10aXRsZSB7DQogICAgICAgICAgICBjb2xvcjogIzFlNDBhZjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAucmVzdWx0LXZhbHVlIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogODAwOw0KICAgICAgICAgICAgY29sb3I6ICMxZTNhOGE7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBociB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweDsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGU3ZmY7DQogICAgICAgICAgICBtYXJnaW46IDIwcHggMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmRhdGEtbGlzdCB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBtYXJnaW46IDEwcHggMDsNCiAgICAgICAgfQ0KICAgIDwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8aDE+UGVyaGl0dW5nYW4gVWppLXQgU2F0dSBTYW1wZWw8L2gxPg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0iZGF0YS1zZWN0aW9uIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhdGEtaXRlbSI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGEtbGFiZWwiPlVrdXJhbiBzYW1wZWwgKG4pPC9zcGFuPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhLXZhbHVlIj4xMDwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGF0YS1pdGVtIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YS1sYWJlbCI+TmlsYWkgaGlwb3Rlc2lzICjOvOKCgCk8L3NwYW4+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRhdGEtdmFsdWUiPjEwIG1lbml0PC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXRhLWl0ZW0iPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXRhLWxhYmVsIj5EYXRhIHNhbXBlbDwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YS12YWx1ZSI+OS4yLCAxMC41LCA5LjgsIDEwLjEsIDkuNiwgMTAuMywgOS45LCA5LjcsIDEwLjAsIDkuNTwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGF0YS1pdGVtIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YS1sYWJlbCI+VGluZ2thdCBzaWduaWZpa2Fuc2kgKM6xKTwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGF0YS12YWx1ZSI+MC4wNTwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEiPnQgPSAoeMyEIC0gzrzigoApIC8gKHMgLyDiiJpuKTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImNhbGN1bGF0aW9uIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtdGl0bGUiPjEuIEhpdHVuZyByYXRhLXJhdGEgc2FtcGVsICh4zIQpPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj54zIQgPSAoOS4yKzEwLjUrOS44KzEwLjErOS42KzEwLjMrOS45KzkuNysxMC4wKzkuNSkvMTA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPj0gOTguNi8xMCA9IDkuODY8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLXRpdGxlIj4yLiBIaXR1bmcgc2ltcGFuZ2FuIGJha3Ugc2FtcGVsIChzKTwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+SnVtbGFoIGt1YWRyYXQgPSDOoyh44bWiIC0geMyEKcKyID0gMS4zNDQwPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5zwrIgPSAxLjM0NDAgLyA5ID0gMC4xNDkzMzwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+cyA9IOKImjAuMTQ5MzMg4omIIDAuMzg2NDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtdGl0bGUiPjMuIEhpdHVuZyBzdGF0aXN0aWsgdWppIHQ8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPnQgPSAoOS44NiAtIDEwKSAvICgwLjM4NjQgLyDiiJoxMCk8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPj0gLTAuMTQgLyAoMC4zODY0IC8gMy4xNjIzKTwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+PSAtMC4xNCAvIDAuMTIyMiDiiYggLTEuMTQ2PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC10aXRsZSI+U3RhdGlzdGlrIFVqaSB0PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdmFsdWUiPnQg4omIIC0xLjE0NjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxocj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEiPk5pbGFpIHAgKGR1YSBla29yKSA9IDIgw5cgUChUIOKJpCB8dHwpPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0iY2FsY3VsYXRpb24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+NC4gSGl0dW5nIG5pbGFpIHA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPkRlcmFqYXQga2ViZWJhc2FuIChkZikgPSBuIC0gMSA9IDk8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPlAoVCDiiaQgLTEuMTQ2KSDiiYggMC4xNDEgKHNhdHUgZWtvcik8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPk5pbGFpIHAgZHVhIGVrb3IgPSAyIMOXIDAuMTQxIOKJiCAwLjI4MjwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdGl0bGUiPk5pbGFpIHAgKHAtdmFsdWUpPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdmFsdWUiPnAg4omIIDAuMjgyPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0KYGBgDQoNCjo6OiB7c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0YyRjVFNjsgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICM2QjhFMjM7IHBhZGRpbmc6MTJweDsgYm9yZGVyLXJhZGl1czo4cHg7IG1hcmdpbjoyMHB4IDA7In0NCg0KNC4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQpCZXJkYXNhcmthbiBwZXJoaXR1bmdhbiBkZW5nYW4gdGluZ2thdCBzaWduaWZpa2Fuc2kgzrE9MC4wNSBkYW4gbmlsYWkgcC12YWx1ZSDiiYgwLjI4MiwgaGlwb3Rlc2lzIG5vbCB0aWRhayBkaXRvbGFrLiBCYWh3YSwgdGlkYWsgYWRhIGJ1a3RpIHN0YXRpc3RpayB5YW5nIG1lbWFkYWkgdW50dWsgbWVueWF0YWthbiBiYWh3YSByYXRhLXJhdGEgd2FrdHUgcGVueWVsZXNhaWFuIHR1Z2FzIGJlcmJlZGEgc2VjYXJhIHNpZ25pZmlrYW4gZGFyaSAxMCBtZW5pdC4gRGF0YSBzYW1wZWwgeWFuZyBkaXBlcm9sZWggc2VsYXJhcyBkZW5nYW4ga2xhaW0gYmFod2EgcmF0YS1yYXRhIHdha3R1IHBlbnllbGVzYWlhbiB0dWdhcyBhZGFsYWggMTAgbWVuaXQuDQo8L3A+ICANCg0KNS4gDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KVWt1cmFuIHNhbXBlbCBiZXJwZXJhbiBwZW50aW5nIGRhbGFtIGtlYW5kYWxhbiBpbmZlcmVuc2kgc3RhdGlzdGlrIGthcmVuYSBtZW1lbmdhcnVoaSBwcmVzaXNpIGVzdGltYXNpIGRhbiBrZWt1YXRhbiB1amkuIFNhbXBlbCB5YW5nIGxlYmloIGJlc2FyIG1lbmdoYXNpbGthbiBrZXNhbGFoYW4gc3RhbmRhciB5YW5nIGxlYmloIGtlY2lsICQkU0UgPSBcZnJhY3tcc2lnbWF9e1xzcXJ0e259fSQkIHNlaGluZ2dhIGVzdGltYXNpIHBhcmFtZXRlciBwb3B1bGFzaSBtZW5qYWRpIGxlYmloIGFrdXJhdCBkYW4gaW50ZXJ2YWwga2VwZXJjYXlhYW4gc2VtYWtpbiBzZW1waXQuIFNlbGFpbiBpdHUsIHVrdXJhbiBzYW1wZWwgeWFuZyBiZXNhciBtZW5pbmdrYXRrYW4gcG93ZXIgdWppIHN0YXRpc3RpayBkYW4gbWVuZ3VyYW5naSByaXNpa28ga2VzYWxhaGFuIHRpcGUgSUkuIE1lbGFsdWkgVGVvcmVtYSBMaW1pdCBQdXNhdCwgc2FtcGVsIGJlc2FyIGp1Z2EgbWVtYnVhdCBhc3Vtc2kgbm9ybWFsaXRhcyBsZWJpaCBkYXBhdCBkaWFuZGFsa2FuLiBOYW11biwgdWt1cmFuIHNhbXBlbCBoYXJ1cyB0ZXRhcCBkaWltYmFuZ2kgZGVuZ2FuIGt1YWxpdGFzIGRhbiByZXByZXNlbnRhdGl2aXRhcyBkYXRhIGFnYXIgaW5mZXJlbnNpIHlhbmcgZGloYXNpbGthbiB0ZXRhcCB2YWxpZC4NCjwvcD4gDQoNCjo6Og0KLS0tDQoNCiMgVWppIHQgRHVhIFNhbXBlbCAoUGVuZ3VqaWFuIEEvQikNCg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCioqVGltIGFuYWxpdGlrIHByb2R1ayoqIG1lbGFrdWthbiAqKnVqaSBBL0IqKiB1bnR1ayBtZW1iYW5kaW5na2FuIGR1cmFzaSAqKnNlc2kgcmF0YS1yYXRhIChtZW5pdCkqKiBhbnRhcmEgZHVhIHZlcnNpIGRhcmkgbGFtYW4gYXJhaGFuLg0KPC9wPiAgDQoNCmBgYHs9aHRtbH0NCjwhRE9DVFlQRSBodG1sPg0KPGh0bWwgbGFuZz0iaWQiPg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4NCiAgICA8dGl0bGU+RGF0YSBVamkgQS9CPC90aXRsZT4NCiAgICA8c3R5bGU+DQogICAgICAgICogew0KICAgICAgICAgICAgbWFyZ2luOiAwOw0KICAgICAgICAgICAgcGFkZGluZzogMDsNCiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFVJJywgVGFob21hLCBHZW5ldmEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGJvZHkgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmYTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5jb250YWluZXIgew0KICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDsNCiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmVmMDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7DQogICAgICAgICAgICBwYWRkaW5nOiAyMHB4Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDMwLCA1OCwgMTM4LCAwLjEpOw0KICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzNiODJmNjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnRhYmxlLXRpdGxlIHsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHRhYmxlIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHRoZWFkIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjgyZjY7DQogICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHRoIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTBweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHRkIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTBweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmY2U4Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmVmMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnZlcnNpb24tYSB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgY29sb3I6ICMxZTQwYWY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC52ZXJzaW9uLWIgew0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAubm90ZSB7DQogICAgICAgICAgICBwYWRkaW5nOiAxMHB4Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZjsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAgICAgICAgIGNvbG9yOiAjNGI1NTYzOw0KICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTsNCiAgICAgICAgfQ0KICAgIDwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS10aXRsZSI+RGF0YSBVamkgQS9CIC0gRHVyYXNpIFNlc2kgUmF0YS1yYXRhPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8dGFibGU+DQogICAgICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGg+VmVyc2lvbjwvdGg+DQogICAgICAgICAgICAgICAgICAgIDx0aD5TYW1wbGUgU2l6ZSAobik8L3RoPg0KICAgICAgICAgICAgICAgICAgICA8dGg+TWVhbjwvdGg+DQogICAgICAgICAgICAgICAgICAgIDx0aD5TdGQgRGV2PC90aD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0idmVyc2lvbi1hIj5BPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPjI1PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPjQuODwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD4xLjI8L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InZlcnNpb24tYiI+QjwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD4yNTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD41LjQ8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+MS40PC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgPC90YWJsZT4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUiPg0KICAgICAgICAgICAgPHN0cm9uZz5DYXRhdGFuOjwvc3Ryb25nPiBEYXRhIHVudHVrIHVqaSBzdGF0aXN0aWsgcGVyYmFuZGluZ2FuIFZlcnNpIEEgZGFuIEIuDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0KYGBgDQoNCjo6OiB7c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0ZGRjVFMTsgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICMxRTkwRkY7IHBhZGRpbmc6MTJweDsgYm9yZGVyLXJhZGl1czo4cHg7IG1hcmdpbjoyMHB4IDA7In0NCg0KVHVnYXMNCg0KMS4gRm9ybXVsYXNpa2FuICoqaGlwb3Rlc2lzIG5vbCBkYW4gYWx0ZXJuYXRpZioqLg0KMi4gVGVudHVrYW4gKipqZW5pcyB1amkgdCoqIHlhbmcgZGlwZXJsdWthbi4NCjMuIEhpdHVuZyAqKnN0YXRpc3RpayB1amkqKiBkYW4gKipuaWxhaSBwKiouDQo0LiBUYXJpayBrZXNpbXB1bGFuIHN0YXRpc3RpayBwYWRhICRcYWxwaGEgPSAwLjA1JC4NCjUuIEludGVycHJldGFzaWthbiBoYXNpbCB1bnR1ayAqKnBlbmdhbWJpbGFuIGtlcHV0dXNhbiBwcm9kdWsqKi4NCg0KOjo6DQoNCg0KOjo6IHtzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRjJGNUU2OyBib3JkZXItbGVmdDo2cHggc29saWQgIzZCOEUyMzsgcGFkZGluZzoxMnB4OyBib3JkZXItcmFkaXVzOjhweDsgbWFyZ2luOjIwcHggMDsifQ0KIA0KKipQZW55ZWxlc2FpYW4gU3R1ZGkgS2FzdXMgMyoqDQoNCjEuIA0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCioqSGlwb3Rlc2lzIG5vbCAoSOKCgCkqKiBtZW55YXRha2FuIGJhaHdhICoqdGlkYWsgdGVyZGFwYXQgcGVyYmVkYWFuIHlhbmcgc2lnbmlmaWthbiBhbnRhcmEgcmF0YS1yYXRhIGR1cmFzaSBzZXNpIHBlbmdndW5hIHBhZGEgbGFtYW4gYXJhaGFuIFZlcnNpIEEgZGFuIFZlcnNpIEIqKiwgYXRhdSBkZW5nYW4ga2F0YSBsYWluIM68X0EgPSDOvF9CLiBTZW1lbnRhcmEgaXR1LCAqKmhpcG90ZXNpcyBhbHRlcm5hdGlmIChI4oKBKSoqIG1lbnlhdGFrYW4gYmFod2EgdGVyZGFwYXQgcGVyYmVkYWFuIHlhbmcgc2lnbmlmaWthbiBhbnRhcmEga2VkdWEgdmVyc2kgdGVyc2VidXQsIHlhaXR1IM68X0Eg4omgIM68X0IsIHlhbmcgYmVyYXJ0aSAqKmR1cmFzaSBzZXNpIHJhdGEtcmF0YSBwYWRhIHNhbGFoIHNhdHUgdmVyc2kgc2VjYXJhIHN0YXRpc3RpayBsZWJpaCB0aW5nZ2kgYXRhdSBsZWJpaCByZW5kYWggZGliYW5kaW5na2FuIHZlcnNpIGxhaW5ueWEqKi4gUGVuZ3VqaWFuIGluaSBiZXJzaWZhdCBkdWEgYXJhaCAodHdvLXRhaWxlZCkga2FyZW5hIHR1anVhbiB1dGFtYW55YSBhZGFsYWggbWVuZ2lkZW50aWZpa2FzaSBrZWJlcmFkYWFuIHBlcmJlZGFhbiwgdGFucGEgbWVuZ2FzdW1zaWthbiBhcmFoIHRlcnRlbnR1IG1hbmEgeWFuZyBsZWJpaCB1bmdndWwgdGVybGViaWggZGFodWx1Lg0KPC9wPiAgDQoNCg0KMi4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQpVamkgc3RhdGlzdGlrIHlhbmcgZGlndW5ha2FuIGRhbGFtIGthc3VzIGluaSBhZGFsYWggKip1amktdCBkdWEgc2FtcGVsIGluZGVwZW5kZW4qKiBkZW5nYW4gYXN1bXNpIHZhcmlhbnMgc2FtYSAocG9vbGVkIHR3by1zYW1wbGUgdC10ZXN0KS4gVWppIGluaSBkaXBpbGloIGthcmVuYSBiZXJ0dWp1YW4gbWVtYmFuZGluZ2thbiByYXRhLXJhdGEgZHVyYXNpIHNlc2kgYW50YXJhIGR1YSBrZWxvbXBvayBwZW5nZ3VuYSB5YW5nIGJlcmJlZGEsIHlhaXR1IFZlcnNpIEEgZGFuIFZlcnNpIEIsIGRlbmdhbiBqdW1sYWggc2FtcGVsIHlhbmcgc2FtYSBwYWRhIG1hc2luZy1tYXNpbmcga2Vsb21wb2sgKDI1IHJlc3BvbmRlbikgc2VydGEgZGF0YSB5YW5nIGJlcnNpZmF0IGt1YW50aXRhdGlmIGtvbnRpbnUuIFNlbGFpbiBpdHUsIG5pbGFpIHNpbXBhbmdhbiBiYWt1IGtlZHVhIGtlbG9tcG9rIHJlbGF0aWYgdGlkYWsgamF1aCBiZXJiZWRhICgxLDIgZGFuIDEsNCksIHNlaGluZ2dhIGFzdW1zaSBrZXNhbWFhbiB2YXJpYW5zIGRhcGF0IGRpdGVyaW1hIGRhbiBwZW5nZ3VuYWFuIHZhcmlhbiBnYWJ1bmdhbiBkaWFuZ2dhcCBzZXN1YWkgdW50dWsgbWVtcGVyb2xlaCBlc3RpbWFzaSBrZXNhbGFoYW4gc3RhbmRhciB5YW5nIGxlYmloIGFrdXJhdC4NCjwvcD4gIA0KDQo6OjoNCg0KDQpgYGB7PWh0bWx9DQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sIGxhbmc9ImlkIj4NCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+DQogICAgPHRpdGxlPlBlcmhpdHVuZ2FuIFVqaS10IER1YSBTYW1wZWw8L3RpdGxlPg0KICAgIDxzdHlsZT4NCiAgICAgICAgKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwOw0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBUYWhvbWEsIEdlbmV2YSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgYm9keSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhOw0KICAgICAgICAgICAgY29sb3I6ICMzMzM7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMS42Ow0KICAgICAgICAgICAgcGFkZGluZzogMjBweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmNvbnRhaW5lciB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4Ow0KICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZWY3Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgODIsIDE1NSwgMC4xKTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGU3ZmY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGgxIHsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5taW5pLXRhYmxlIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7DQogICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLm1pbmktdGFibGUgdGggew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlM2E4YTsgLyogQmlydSBnZWxhcCAqLw0KICAgICAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgICAgICAgcGFkZGluZzogMTJweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5taW5pLXRhYmxlIHRkIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTdmZjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLm1pbmktdGFibGUgdHIgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYzsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLm1pbmktdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY1Zjk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kZi1yb3cgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZWFmZSAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZm9ybXVsYS1ib3ggew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjlmZjsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgICAgICAgICBtYXJnaW46IDE1cHggMDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzNiODJmNjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmZvcm11bGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQ2FtYnJpYSBNYXRoJywgc2VyaWY7DQogICAgICAgICAgICBjb2xvcjogIzFlM2E4YTsNCiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuY2FsY3VsYXRpb24gew0KICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5zdGVwIHsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5zdGVwLXRpdGxlIHsNCiAgICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLm1hdGgtbGluZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOw0KICAgICAgICAgICAgcGFkZGluZzogOHB4Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmYzsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5yZXN1bHQtYm94IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmVhZmU7DQogICAgICAgICAgICBwYWRkaW5nOiAxNXB4Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsNCiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzYjgyZjY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5yZXN1bHQtdGl0bGUgew0KICAgICAgICAgICAgY29sb3I6ICMxZTQwYWY7DQogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnJlc3VsdC12YWx1ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuNGVtOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaHIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgaGVpZ2h0OiAxcHg7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlN2ZmOw0KICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGgxPlBlcmhpdHVuZ2FuIFVqaS10IER1YSBTYW1wZWw8L2gxPg0KICAgICAgICANCiAgICAgICAgPHRhYmxlIGNsYXNzPSJtaW5pLXRhYmxlIj4NCiAgICAgICAgICAgIDx0aGVhZD4NCiAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgIDx0aD5WZXJzaTwvdGg+DQogICAgICAgICAgICAgICAgICAgIDx0aD5uPC90aD4NCiAgICAgICAgICAgICAgICAgICAgPHRoPnjMhDwvdGg+DQogICAgICAgICAgICAgICAgICAgIDx0aD5zPC90aD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgIDx0ZD5BPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPjI1PC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPjQuODwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD4xLjI8L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+QjwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD4yNTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD41LjQ8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+MS40PC90ZD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgPC90Ym9keT4NCiAgICAgICAgPC90YWJsZT4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEiPmRmID0gbuKCgSArIG7igoIgLSAyID0gMjUgKyAyNSAtIDIgPSA0ODwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEiPnQgPSAoeMyE4oKBIC0geMyE4oKCKSAvIFtzX3Ag4oiaKDEvbuKCgSArIDEvbuKCgildPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0iY2FsY3VsYXRpb24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+MS4gSGl0dW5nIHNlbGlzaWggcmF0YS1yYXRhPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj54zITigoEgLSB4zITigoIgPSA0LjggLSA1LjQgPSAtMC42PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+Mi4gSGl0dW5nIHNpbXBhbmdhbiBiYWt1IGdhYnVuZ2FuIChzX3ApPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5zX3AgPSDiiJpbKCgyNCkoMS4ywrIpICsgKDI0KSgxLjTCsikpIC8gNDhdPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj49IOKImlsoMzQuNTYgKyA0Ny4wNCkgLyA0OF0gPSDiiJpbODEuNiAvIDQ4XTwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+PSDiiJoxLjcg4omIIDEuMzAzODwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtdGl0bGUiPjMuIEhpdHVuZyBwZW55ZWJ1dCAoc3RhbmRhcmQgZXJyb3IpPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5zX3Ag4oiaKDEvMjUgKyAxLzI1KSA9IDEuMzAzOCDiiJooMC4wNCArIDAuMDQpPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj49IDEuMzAzOCDiiJowLjA4ID0gMS4zMDM4IMOXIDAuMjgyOCDiiYggMC4zNjg2PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+NC4gSGl0dW5nIHN0YXRpc3RpayB1amkgdDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+dCA9IC0wLjYgLyAwLjM2ODYg4omIIC0xLjYyODwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdGl0bGUiPlN0YXRpc3RpayBVamkgdDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LXZhbHVlIj50IOKJiCAtMS42Mjg8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8aHI+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtdWxhLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtdWxhIj5OaWxhaSBwIChkdWEgZWtvcikgPSAyIMOXIFAoVCDiiaQgfHR8KTwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImNhbGN1bGF0aW9uIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtdGl0bGUiPjUuIEhpdHVuZyBuaWxhaSBwPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5kZiA9IDQ4LCB0ID0gLTEuNjI4IOKGkiBuaWxhaSBwIOKJiCAwLjExMDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdGl0bGUiPk5pbGFpIHAgKHAtdmFsdWUpPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtdmFsdWUiPnAg4omIIDAuMTEwPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0KYGBgDQoNCjo6OiB7c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0YyRjVFNjsgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICM2QjhFMjM7IHBhZGRpbmc6MTJweDsgYm9yZGVyLXJhZGl1czo4cHg7IG1hcmdpbjoyMHB4IDA7In0NCiANCjQuDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KQmVyZGFzYXJrYW4gaGFzaWwgcGVuZ3VqaWFuIHN0YXRpc3RpayBtZW5nZ3VuYWthbiB1amktdCBkdWEgc2FtcGVsIHBhZGEgdGluZ2thdCBzaWduaWZpa2Fuc2kgzrEgPSAwLDA1LCBkaXBlcm9sZWggKipuaWxhaSBwLXZhbHVlIHNlYmVzYXIgMCwxMTAgeWFuZyBsZWJpaCBiZXNhciBkYXJpIG5pbGFpIM6xKiouIE9sZWgga2FyZW5hIGl0dSwgKipoaXBvdGVzaXMgbm9sIChI4oKAKSB0aWRhayBkYXBhdCBkaXRvbGFrKiosIHNlaGluZ2dhIHRpZGFrIHRlcmRhcGF0IGJ1a3RpIHN0YXRpc3RpayB5YW5nIGN1a3VwIHVudHVrIG1lbnlhdGFrYW4gYWRhbnlhIHBlcmJlZGFhbiB5YW5nIHNpZ25pZmlrYW4gYW50YXJhIHJhdGEtcmF0YSBkdXJhc2kgc2VzaSBwYWRhIFZlcnNpIEEgKDQsOCBtZW5pdCkgZGFuIFZlcnNpIEIgKDUsNCBtZW5pdCkuIERlbmdhbiBkZW1pa2lhbiwgKipzZWxpc2loIHJhdGEtcmF0YSBzZWJlc2FyIDAsNiBtZW5pdCB5YW5nIHRlcmxpaGF0IHBhZGEgZGF0YSBzYW1wZWwgZGFwYXQgZGlhbmdnYXAgc2ViYWdhaSB2YXJpYXNpIHlhbmcgdGVyamFkaSBzZWNhcmEgYWNhayBkYW4gYmVsdW0gbWVudW5qdWtrYW4ga2V1bmdndWxhbioqIHlhbmcgbnlhdGEgZGFyaSBzYWxhaCBzYXR1IHZlcnNpIHRlcmhhZGFwIGR1cmFzaSBzZXNpIHBlbmdndW5hLg0KPC9wPiAgDQoNCjUuIA0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCkJlcmRhc2Fya2FuIFBlcmhpdHVuZ2FuIGRpYXRhcyBtZW51bmp1a2thbiBiYWh3YSAqKnRpZGFrIHRlcmRhcGF0IHBlcmJlZGFhbiB5YW5nIHNpZ25pZmlrYW4gc2VjYXJhIHN0YXRpc3RpayBhbnRhcmEgZHVyYXNpIHNlc2kgcGVuZ2d1bmEgcGFkYSBWZXJzaSBBIGRhbiBWZXJzaSBCKiouIERhbGFtIGtvbnRla3MgcGVuZ2FtYmlsYW4ga2VwdXR1c2FuIHByb2R1aywgaGFsIGluaSBiZXJhcnRpIGJhaHdhIHBlcnViYWhhbiB5YW5nIGRpdGVyYXBrYW4gcGFkYSBWZXJzaSBCIGJlbHVtIHRlcmJ1a3RpIG1lbWJlcmlrYW4gcGVuaW5na2F0YW4ga2V0ZXJsaWJhdGFuIHBlbmdndW5hIHlhbmcgbnlhdGEgZGliYW5kaW5na2FuIFZlcnNpIEEuIE9sZWgga2FyZW5hIGl0dSwgdGltIHByb2R1ayBzZWJhaWtueWEgdGlkYWsgbGFuZ3N1bmcgbWVuZ2dhbnRpIFZlcnNpIEEgZGVuZ2FuIFZlcnNpIEIgaGFueWEgYmVyZGFzYXJrYW4gZHVyYXNpIHNlc2kuIERpcGVybHVrYW4gZXZhbHVhc2kgbGFuanV0YW4sIHNlcGVydGkgcGVuZ3VqaWFuIGRlbmdhbiB1a3VyYW4gc2FtcGVsIHlhbmcgbGViaWggYmVzYXIgc2ViZWx1bSBtZW5nYW1iaWwga2VwdXR1c2FuIGltcGxlbWVudGFzaSBwcm9kdWsgc2VjYXJhIHBlbnVoLg0KPC9wPiAgDQoNCjo6Og0KLS0tDQoNCiMgVWppIENoaS1LdWFkcmF0IHVudHVrIEluZGVwZW5kZW5zaQ0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KU2VidWFoICoqcGVydXNhaGFhbiBlLWNvbW1lcmNlKiogbWVuZWxpdGkgYXBha2FoICoqamVuaXMgcGVyYW5na2F0KiogeWFuZyBkaWd1bmFrYW4gc2VzdWFpIGRlbmdhbiAqKnByZWZlcmVuc2kgbWV0b2RlIHBlbWJheWFyYW4qKi4NCjwvcD4gIA0KDQoNCmBgYHs9aHRtbH0NCjwhRE9DVFlQRSBodG1sPg0KPGh0bWwgbGFuZz0iaWQiPg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4NCiAgICA8dGl0bGU+RGF0YSBQZW1iYXlhcmFuIHBlciBQZXJhbmdrYXQ8L3RpdGxlPg0KICAgIDxzdHlsZT4NCiAgICAgICAgKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwOw0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBUYWhvbWEsIEdlbmV2YSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgYm9keSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhOw0KICAgICAgICAgICAgcGFkZGluZzogMjBweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmNvbnRhaW5lciB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4Ow0KICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAudGFibGUtdGl0bGUgew0KICAgICAgICAgICAgY29sb3I6ICMxZTNhOGE7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdGFibGUgew0KICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdGhlYWQgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlM2E4YTsNCiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdGggew0KICAgICAgICAgICAgcGFkZGluZzogMTJweCAxMHB4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyZDRmOWE7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHRoOmxhc3QtY2hpbGQgew0KICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB0ZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU3ZWI7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHRkOmxhc3QtY2hpbGQgew0KICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjRmZjsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnJvdy1oZWFkZXIgew0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZiAhaW1wb3J0YW50Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAubm90ZSB7DQogICAgICAgICAgICBwYWRkaW5nOiAxMHB4Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZjsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAgICAgICAgIGNvbG9yOiAjNGI1NTYzOw0KICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtdGl0bGUiPkRhdGEgRnJla3VlbnNpIFBlbWJheWFyYW4gcGVyIFBlcmFuZ2thdDwvZGl2Pg0KICAgICAgICANCiAgICAgICAgPHRhYmxlPg0KICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgPHRoPlBlcmFuZ2thdCAvIFBlbWJheWFyYW48L3RoPg0KICAgICAgICAgICAgICAgICAgICA8dGg+RG9tcGV0IERpZ2l0YWw8L3RoPg0KICAgICAgICAgICAgICAgICAgICA8dGg+S2FydHUgS3JlZGl0PC90aD4NCiAgICAgICAgICAgICAgICAgICAgPHRoPkJheWFyIGRpIFRlbXBhdDwvdGg+DQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIDwvdGhlYWQ+DQogICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InJvdy1oZWFkZXIiPk1vYmlsZTwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD4xMjA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+ODA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+NTA8L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InJvdy1oZWFkZXIiPkRlc2t0b3A8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+NjA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+OTA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+NDA8L3RkPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICA8L3RhYmxlPg0KICAgICAgICANCiAgICAgICAgPGRpdiBjbGFzcz0ibm90ZSI+DQogICAgICAgICAgICA8c3Ryb25nPkNhdGF0YW46PC9zdHJvbmc+IERhdGEgbWVudW5qdWtrYW4ganVtbGFoIHRyYW5zYWtzaSBiZXJkYXNhcmthbiBtZXRvZGUgcGVtYmF5YXJhbiBkYW4gamVuaXMgcGVyYW5na2F0Lg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCmBgYCANCg0KOjo6IHtzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkZGNUUxOyBib3JkZXItbGVmdDo2cHggc29saWQgIzFFOTBGRjsgcGFkZGluZzoxMnB4OyBib3JkZXItcmFkaXVzOjhweDsgbWFyZ2luOjIwcHggMDsifQ0KDQpUdWdhcw0KDQoxLiBOeWF0YWthbiAqKkhpcG90ZXNpcyBOb2wgKEjigoApKiogZGFuICoqSGlwb3Rlc2lzIEFsdGVybmF0aWYgKEjigoEpKiouICANCjIuIElkZW50aWZpa2FzaSAqKnVqaSBzdGF0aXN0aWsgeWFuZyBzZXN1YWkqKi4NCjMuIEhpdHVuZyAqKnN0YXRpc3RpayBDaGktU3F1YXJlICjPh8KyKSoqLg0KNC4gVGVudHVrYW4gKipuaWxhaSBwKiogcGFkYSAkXGFscGhhID0gMC4wNSQuDQo1LiBJbnRlcnByZXRhc2lrYW4gaGFzaWwgZGFsYW0ga29udGVrcyAqKnN0cmF0ZWdpIHBlbWJheWFyYW4gZGlnaXRhbCoqLg0KOjo6DQoNCg0KOjo6IHtzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRjJGNUU2OyBib3JkZXItbGVmdDo2cHggc29saWQgIzZCOEUyMzsgcGFkZGluZzoxMnB4OyBib3JkZXItcmFkaXVzOjhweDsgbWFyZ2luOjIwcHggMDsifQ0KDQoqKlBlbnllbGVzYWlhbiBTdHVkaSBLYXN1cyA0KioNCg0KMS4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQoqKkhpcG90ZXNpcyBub2wgKEjigoApKiogbWVueWF0YWthbiBiYWh3YSAqKnRpZGFrIHRlcmRhcGF0IGh1YnVuZ2FuIGFudGFyYSBqZW5pcyBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW4qKiwgeWFpdHUgbW9iaWxlIGF0YXUgZGVza3RvcCwgZGVuZ2FuIHByZWZlcmVuc2kgbWV0b2RlIHBlbWJheWFyYW4gc2VwZXJ0aSBkb21wZXQgZGlnaXRhbCwga2FydHUga3JlZGl0LCBtYXVwdW4gcGVtYmF5YXJhbiBkaSB0ZW1wYXQuIEFydGlueWEsIHBvbGEgcGVtaWxpaGFuIG1ldG9kZSBwZW1iYXlhcmFuIGRpYW5nZ2FwIHNhbWEgcGFkYSBrZWR1YSBrZWxvbXBvayBwZW5nZ3VuYS4gU2ViYWxpa255YSwgKipoaXBvdGVzaXMgYWx0ZXJuYXRpZiAoSOKCgSkqKiBtZW55YXRha2FuIGJhaHdhICoqdGVyZGFwYXQgaHVidW5nYW4geWFuZyBzaWduaWZpa2FuIGFudGFyYSBqZW5pcyBwZXJhbmdrYXQgZGFuIHByZWZlcmVuc2kgbWV0b2RlIHBlbWJheWFyYW4sIHlhbmcgbWVudW5qdWtrYW4gYWRhbnlhIHBlcmJlZGFhbiBrZWNlbmRlcnVuZ2FuIHBpbGloYW4gcGVtYmF5YXJhbiBhbnRhcmEgcGVuZ2d1bmEgcGVyYW5na2F0IG1vYmlsZSBkYW4gZGVza3RvcCoqLg0KPC9wPiAgDQoNCjIuDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KVWppIHN0YXRpc3RpayB5YW5nIHNlc3VhaSB1bnR1ayBhbmFsaXNpcyBpbmkgYWRhbGFoICoqVWppIENoaS1TcXVhcmUqKiB1bnR1ayBIb21vZ2VuaXRhcyBQcm9wb3JzaS4gRGF0YSB5YW5nIGRpZ3VuYWthbiBiZXJ1cGEgZnJla3VlbnNpIGthdGVnb3Jpay4gRGF0YSB0ZXJzZWJ1dCAqKmJlcmFzYWwgZGFyaSBkdWEga2Vsb21wb2sgaW5kZXBlbmRlbioqLCB5YWl0dSBwZW5nZ3VuYSBtb2JpbGUgZGFuIGRlc2t0b3AuIFVqaSBpbmkgZGlndW5ha2FuIHVudHVrIG1lbmd1amkga2VzYW1hYW4gZGlzdHJpYnVzaSBwcm9wb3JzaSBhbnRhciBrZWxvbXBvay4gSGlwb3Rlc2lzIG5vbCBtZW55YXRha2FuIGJhaHdhIHByb3BvcnNpIHBpbGloYW4gbWV0b2RlIHBlbWJheWFyYW4gcGFkYSBrZWR1YSBrZWxvbXBvayBhZGFsYWggc2FtYS4gUGVyaGl0dW5nYW4gZGlsYWt1a2FuIGRlbmdhbiBtZW1iYW5kaW5na2FuIGZyZWt1ZW5zaSBvYnNlcnZhc2kgZGFuIGZyZWt1ZW5zaSBoYXJhcGFuLiBEZW5nYW4gZGVtaWtpYW4sIHVqaSBpbmkgZGFwYXQgbWVuZW50dWthbiBhZGEgYXRhdSB0aWRha255YSBwZXJiZWRhYW4geWFuZyBzaWduaWZpa2FuIHNlY2FyYSBzdGF0aXN0aWsuDQo8L3A+ICANCg0KOjo6DQoNCmBgYHs9aHRtbH0NCjwhRE9DVFlQRSBodG1sPg0KPGh0bWwgbGFuZz0iaWQiPg0KPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4NCiAgICA8dGl0bGU+UGVyaGl0dW5nYW4gQ2hpLVNxdWFyZTwvdGl0bGU+DQogICAgPHN0eWxlPg0KICAgICAgICAqIHsNCiAgICAgICAgICAgIG1hcmdpbjogMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDA7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7DQogICAgICAgICAgICBjb2xvcjogIzMzMzsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgICAgICBwYWRkaW5nOiAyMHB4Ow0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsICdTZWdvZSBVSScsIFRhaG9tYSwgR2VuZXZhLCBWZXJkYW5hLCBzYW5zLXNlcmlmOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDA7ODAwJmRpc3BsYXk9c3dhcCcpOw0KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1KZXRCcmFpbnMrTW9ubzp3Z2h0QDQwMDs1MDA7NjAwJmRpc3BsYXk9c3dhcCcpOw0KICAgICAgICANCiAgICAgICAgLmNvbnRhaW5lciB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDg1MHB4Ow0KICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjZmZmZWY3LCAjZmZmZGYwKTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7DQogICAgICAgICAgICBwYWRkaW5nOiAzMHB4Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDMwLCA1OCwgMTM4LCAwLjEyKTsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGU3ZmY7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGgxIHsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44ZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogODAwOw0KICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDsNCiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDJweCA0cHggcmdiYSgzMCwgNTgsIDEzOCwgMC4wOCk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLXNlY3Rpb24gew0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnRhYmxlLXRpdGxlIHsNCiAgICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDhweDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2I4MmY2Ow0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZGF0YS10YWJsZSB7DQogICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7DQogICAgICAgICAgICBib3JkZXItc3BhY2luZzogMDsNCiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDI1cHggMDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NWVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMzAsIDU4LCAxMzgsIDAuMSk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLXRhYmxlIHRoIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxZTNhOGEgMCUsICMyZDRmOWEgMTAwJSk7DQogICAgICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDEycHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjA1ZW07DQogICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZGF0YS10YWJsZSB0aDpsYXN0LWNoaWxkIHsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmRhdGEtdGFibGUgdGQgew0KICAgICAgICAgICAgcGFkZGluZzogMTZweCAxMnB4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UwZTdmZjsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlN2ZmOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmRhdGEtdGFibGUgdGQ6bGFzdC1jaGlsZCB7DQogICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOCk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5kYXRhLXRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZGF0YS10YWJsZSB0cjpob3ZlciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmNmZmOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAwMik7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuaGlnaGxpZ2h0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmY2ZmYgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICBjb2xvcjogIzFlM2E4YTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLmNhbGN1bGF0aW9uLXN0ZXAgew0KICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDA7DQogICAgICAgICAgICBwYWRkaW5nOiAyMnB4Ow0KICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjBmOWZmLCAjZTZmM2ZmKTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7DQogICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMzYjgyZjY7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuc3RlcC10aXRsZSB7DQogICAgICAgICAgICBjb2xvcjogIzFlNDBhZjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTsNCiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuc3RlcC10aXRsZTo6YmVmb3JlIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICLihpIiOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KICAgICAgICAgICAgY29sb3I6ICMzYjgyZjY7DQogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5tYXRoLWxpbmUgew0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdKZXRCcmFpbnMgTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHg7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgICAgIGNvbG9yOiAjMWYyOTM3Ow0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RiZWFmZTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDQpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZm9ybXVsYS1ib3ggew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2YwZjlmZiAwJSwgI2U2ZjNmZiAxMDAlKTsNCiAgICAgICAgICAgIHBhZGRpbmc6IDIycHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4Ow0KICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMzYjgyZjY7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAuZm9ybXVsYSB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuM2VtOw0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdKZXRCcmFpbnMgTW9ubycsICdDYW1icmlhIE1hdGgnLCBzZXJpZjsNCiAgICAgICAgICAgIGNvbG9yOiAjMWUzYThhOw0KICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7DQogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOw0KICAgICAgICAgICAgcGFkZGluZzogMThweDsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMzAsIDU4LCAxMzgsIDAuMSk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5yZXN1bHQtYm94IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkYmVhZmUgMCUsICNiZmRiZmUgMTAwJSk7DQogICAgICAgICAgICBwYWRkaW5nOiAyOHB4Ow0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7DQogICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjM2I4MmY2Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDMwLCA1OCwgMTM4LCAwLjE1KTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnJlc3VsdC10aXRsZSB7DQogICAgICAgICAgICBjb2xvcjogIzFlNDBhZjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTsNCiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIC5yZXN1bHQtdmFsdWUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAyLjJlbTsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgICAgICAgICBjb2xvcjogIzFlM2E4YTsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnSmV0QnJhaW5zIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7DQogICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMzAsIDU4LCAxMzgsIDAuMSk7DQogICAgICAgICAgICBtYXJnaW46IDEwcHggMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgaHIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgaGVpZ2h0OiAycHg7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCAjM2I4MmY2LCB0cmFuc3BhcmVudCk7DQogICAgICAgICAgICBtYXJnaW46IDMwcHggMDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLm5vdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTsNCiAgICAgICAgICAgIGNvbG9yOiAjNjQ3NDhiOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLnZhbHVlLWhpZ2hsaWdodCB7DQogICAgICAgICAgICBjb2xvcjogI2RjMjYyNjsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmMmYyOw0KICAgICAgICAgICAgcGFkZGluZzogMnB4IDZweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICAgICAgICAgIG1hcmdpbjogMCAycHg7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGgxPiBQZXJoaXR1bmdhbiBDaGktU3F1YXJlICjPh8KyKTwvaDE+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJkYXRhLXNlY3Rpb24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtdGl0bGUiPkRhdGEgT2JzZXJ2YXNpIChP4bWi4rG8KTwvZGl2Pg0KICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJkYXRhLXRhYmxlIj4NCiAgICAgICAgICAgICAgICA8dGhlYWQ+DQogICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5QZXJhbmdrYXQgLyBQZW1iYXlhcmFuPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Eb21wZXQgRGlnaXRhbDwvdGg+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGg+S2FydHUgS3JlZGl0PC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5CYXlhciBkaSBUZW1wYXQ8L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRvdGFsPC90aD4NCiAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICA8L3RoZWFkPg0KICAgICAgICAgICAgICAgIDx0Ym9keT4NCiAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQiPk1vYmlsZTwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MTIwPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD44MDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+NTA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQiPjI1MDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iaGlnaGxpZ2h0Ij5EZXNrdG9wPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD42MDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+OTA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjQwPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iaGlnaGxpZ2h0Ij4xOTA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodCI+VG90YWw8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJoaWdobGlnaHQiPjE4MDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodCI+MTcwPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iaGlnaGxpZ2h0Ij45MDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImhpZ2hsaWdodCI+NDQwPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICA8L3Rib2R5Pg0KICAgICAgICAgICAgPC90YWJsZT4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5vdGUiPkRhdGEgZnJla3VlbnNpIG9ic2VydmFzaSBwZW1iYXlhcmFuIGJlcmRhc2Fya2FuIHBlcmFuZ2thdDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxocj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEiPkXhtaLisbwgPSAoVG90YWwgQmFyaXPhtaIgw5cgVG90YWwgS29sb23isbwpIC8gVG90YWwgS2VzZWx1cnVoYW48L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJjYWxjdWxhdGlvbi1zdGVwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtdGl0bGUiPkxhbmdrYWggMTogSGl0dW5nIEZyZWt1ZW5zaSBIYXJhcGFuIChF4bWi4rG8KTwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5Nb2JpbGUgLSBEb21wZXQgRGlnaXRhbDogKDI1MCDDlyAxODApIC8gNDQwID0gNDUwMDAgLyA0NDAg4omIIDxzcGFuIGNsYXNzPSJ2YWx1ZS1oaWdobGlnaHQiPjEwMi4yNzwvc3Bhbj48L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+TW9iaWxlIC0gS2FydHUgS3JlZGl0OiAoMjUwIMOXIDE3MCkgLyA0NDAgPSA0MjUwMCAvIDQ0MCDiiYggPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+OTYuNTk8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPk1vYmlsZSAtIEJheWFyIGRpIFRlbXBhdDogKDI1MCDDlyA5MCkgLyA0NDAgPSAyMjUwMCAvIDQ0MCDiiYggPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+NTEuMTQ8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPkRlc2t0b3AgLSBEb21wZXQgRGlnaXRhbDogKDE5MCDDlyAxODApIC8gNDQwID0gMzQyMDAgLyA0NDAg4omIIDxzcGFuIGNsYXNzPSJ2YWx1ZS1oaWdobGlnaHQiPjc3LjczPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5EZXNrdG9wIC0gS2FydHUgS3JlZGl0OiAoMTkwIMOXIDE3MCkgLyA0NDAgPSAzMjMwMCAvIDQ0MCDiiYggPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+NzMuNDE8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPkRlc2t0b3AgLSBCYXlhciBkaSBUZW1wYXQ6ICgxOTAgw5cgOTApIC8gNDQwID0gMTcxMDAgLyA0NDAg4omIIDxzcGFuIGNsYXNzPSJ2YWx1ZS1oaWdobGlnaHQiPjM4Ljg2PC9zcGFuPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm11bGEiPs+HwrIgPSDOoyBbKE/htaLisbwgLSBF4bWi4rG8KcKyIC8gReG1ouKxvF08L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJjYWxjdWxhdGlvbi1zdGVwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtdGl0bGUiPkxhbmdrYWggMjogSGl0dW5nIChPIC0gRSnCsi9FIHVudHVrIFNldGlhcCBTZWw8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+TW9iaWxlIC0gRG9tcGV0IERpZ2l0YWw6ICgxMjAgLSAxMDIuMjcpwrIvMTAyLjI3ID0gMTcuNzPCsi8xMDIuMjcg4omIIDxzcGFuIGNsYXNzPSJ2YWx1ZS1oaWdobGlnaHQiPjMuMDczPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5Nb2JpbGUgLSBLYXJ0dSBLcmVkaXQ6ICg4MCAtIDk2LjU5KcKyLzk2LjU5ID0gKC0xNi41OSnCsi85Ni41OSDiiYggPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+Mi44NDk8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPk1vYmlsZSAtIEJheWFyIGRpIFRlbXBhdDogKDUwIC0gNTEuMTQpwrIvNTEuMTQgPSAoLTEuMTQpwrIvNTEuMTQg4omIIDxzcGFuIGNsYXNzPSJ2YWx1ZS1oaWdobGlnaHQiPjAuMDI1PC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0aC1saW5lIj5EZXNrdG9wIC0gRG9tcGV0IERpZ2l0YWw6ICg2MCAtIDc3LjczKcKyLzc3LjczID0gKC0xNy43MynCsi83Ny43MyDiiYggPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+NC4wNDQ8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPkRlc2t0b3AgLSBLYXJ0dSBLcmVkaXQ6ICg5MCAtIDczLjQxKcKyLzczLjQxID0gMTYuNTnCsi83My40MSDiiYggPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+My43NDk8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPkRlc2t0b3AgLSBCYXlhciBkaSBUZW1wYXQ6ICg0MCAtIDM4Ljg2KcKyLzM4Ljg2ID0gMS4xNMKyLzM4Ljg2IOKJiCA8c3BhbiBjbGFzcz0idmFsdWUtaGlnaGxpZ2h0Ij4wLjAzMzwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJjYWxjdWxhdGlvbi1zdGVwIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtdGl0bGUiPkxhbmdrYWggMzogSnVtbGFoa2FuIFNlbXVhIE5pbGFpPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXRoLWxpbmUiPs+HwrIgPSAzLjA3MyArIDIuODQ5ICsgMC4wMjUgKyA0LjA0NCArIDMuNzQ5ICsgMC4wMzM8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+z4fCsiDiiYggPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+MTMuNzczPC9zcGFuPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgDQogICAgICAgIDxkaXYgY2xhc3M9ImNhbGN1bGF0aW9uLXN0ZXAiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC10aXRsZSI+TGFuZ2thaCA0OiBIaXR1bmcgRGVyYWphdCBLZWJlYmFzYW48L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtbGluZSI+ZGYgPSAociAtIDEpKGMgLSAxKSA9ICgyIC0gMSkoMyAtIDEpID0gMSDDlyAyID0gPHNwYW4gY2xhc3M9InZhbHVlLWhpZ2hsaWdodCI+Mjwvc3Bhbj48L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIA0KICAgICAgICA8aHI+DQogICAgICAgIA0KICAgICAgICA8ZGl2IGNsYXNzPSJyZXN1bHQtYm94Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC10aXRsZSI+SHNpbCBQZXJoaXR1bmdhbiBDaGktU3F1YXJlIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzdWx0LXZhbHVlIj7Ph8KyIOKJiCAxMy43NzM8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IGZvbnQtc2l6ZTogMS4yZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjMWUzYThhOyI+DQogICAgICAgICAgICAgICAgRGVyYWphdCBLZWJlYmFzYW4gKGRmKSA9IDINCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibm90ZSIgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IGNvbG9yOiAjNDc1NTY5OyI+DQogICAgICAgICAgICAgICAgTmlsYWkga3JpdGlzIM+HwrIgKM6xPTAuMDUsIGRmPTIpID0gNS45OTENCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCmBgYA0KDQo6Ojoge3N0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGMkY1RTY7IGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjNkI4RTIzOyBwYWRkaW5nOjEycHg7IGJvcmRlci1yYWRpdXM6OHB4OyBtYXJnaW46MjBweCAwOyJ9DQoNCjQuIA0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCkJlcmRhc2Fya2FuIGhhc2lsIHVqaSBDaGktU3F1YXJlIGRpcGVyb2xlaCBuaWxhaSDPh8KyID0gMTMsNzczIGRlbmdhbiBkZXJhamF0IGtlYmViYXNhbiAyIGRhbiBwLXZhbHVlIHNla2l0YXIgMCwwMDEsIHlhbmcgbGViaWgga2VjaWwgZGFyaSB0aW5na2F0IHNpZ25pZmlrYW5zaSDOsSA9IDAsMDUuIE9sZWgga2FyZW5hIGl0dSwgKipoaXBvdGVzaXMgbm9sIGRpdG9sYWsgZGFuIGhpcG90ZXNpcyBhbHRlcm5hdGlmIGRpdGVyaW1hKiouIEhhc2lsIGluaSBtZW51bmp1a2thbiBhZGFueWEgKipodWJ1bmdhbiB5YW5nIHNpZ25pZmlrYW4gc2VjYXJhIHN0YXRpc3RpayoqIGFudGFyYSBqZW5pcyBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW4gKG1vYmlsZSBhdGF1IGRlc2t0b3ApIGRhbiBwcmVmZXJlbnNpIG1ldG9kZSBwZW1iYXlhcmFuLiBEZW5nYW4gZGVtaWtpYW4sIGRhcGF0IGRpc2ltcHVsa2FuIGJhaHdhICoqcGlsaWhhbiBtZXRvZGUgcGVtYmF5YXJhbiBwZW5nZ3VuYSBtZW1hbmcgYmVyYmVkYSBiZXJkYXNhcmthbiBwZXJhbmdrYXQgeWFuZyBtZXJla2EgZ3VuYWthbiwgZGVuZ2FuIHRpbmdrYXQga2VwZXJjYXlhYW4gc2ViZXNhciA5NSUqKi4NCjwvcD4gIA0KDQo1Lg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCkhhc2lsIGFuYWxpc2lzIHN0YXRpc3RpayBtZW51bmp1a2thbiBiYWh3YSAqKmplbmlzIHBlcmFuZ2thdCB5YW5nIGRpZ3VuYWthbiBwZW5nZ3VuYSBiZXJwZW5nYXJ1aCBzaWduaWZpa2FuIHRlcmhhZGFwIHByZWZlcmVuc2kgbWV0b2RlIHBlbWJheWFyYW4qKi4gUGVuZ2d1bmEgbW9iaWxlIGNlbmRlcnVuZyBtZW1pbGloIGRvbXBldCBkaWdpdGFsIGthcmVuYSBrZW11ZGFoYW4gZGFuIGtlY2VwYXRhbiB0cmFuc2Frc2ksIHNlZGFuZ2thbiBwZW5nZ3VuYSBkZXNrdG9wIGxlYmloIHNlcmluZyBtZW5nZ3VuYWthbiBrYXJ0dSBrcmVkaXQgeWFuZyBkaWFuZ2dhcCBsZWJpaCBueWFtYW4gZGFuIGFtYW4uIFRlbXVhbiBpbmkgbWVtYmVyaWthbiBpbXBsaWthc2kgc3RyYXRlZ2lzIGJhZ2kgcGxhdGZvcm0gZGlnaXRhbCB1bnR1ayAqKm1lbnllc3VhaWthbiBkYW4gbWVuZ29wdGltYWxrYW4gb3BzaSBwZW1iYXlhcmFuIGJlcmRhc2Fya2FuIHBlcmFuZ2thdCB5YW5nIGRpZ3VuYWthbioqLCBzZWhpbmdnYSBwcm9zZXMgdHJhbnNha3NpIG1lbmphZGkgbGViaWggZWZpc2llbi4gRGVuZ2FuIHN0cmF0ZWdpIHBlbWJheWFyYW4geWFuZyBzZWxhcmFzIGRlbmdhbiBwcmVmZXJlbnNpIHBlbmdndW5hLCBwZXJ1c2FoYWFuIGJlcnBvdGVuc2kgbWVuaW5na2F0a2FuIHRpbmdrYXQga29udmVyc2kgc2VydGEga2VwdWFzYW4gcGVuZ2d1bmEgc2VjYXJhIGJlcmtlbGFuanV0YW4uDQo8L3A+ICANCg0KOjo6DQotLS0NCg0KIyBLZXNhbGFoYW4gVGlwZSBJIGRhbiBUaXBlIElJIChLb25zZXB0dWFsKQ0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KU2VidWFoICoqc3RhcnR1cCBmaW50ZWNoKiogbWVuZ3VqaSBhcGFrYWggKiphbGdvcml0bWEgZGV0ZWtzaSBwZW5pcHVhbiBiYXJ1KiogZGFwYXQgbWVuZ3VyYW5naSB0cmFuc2Frc2kgcGVuaXB1YW4uDQo8L3A+ICANCg0KLSAqKkjigoA6KiogQWxnb3JpdG1hIGJhcnUgKip0aWRhayBtZW5ndXJhbmdpIHBlbmlwdWFuKiouDQotICoqSOKCgToqKiBBbGdvcml0bWEgYmFydSAqKm1lbmd1cmFuZ2kgcGVuaXB1YW4qKi4NCg0KOjo6IHtzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojRkZGNUUxOyBib3JkZXItbGVmdDo2cHggc29saWQgIzFFOTBGRjsgcGFkZGluZzoxMnB4OyBib3JkZXItcmFkaXVzOjhweDsgbWFyZ2luOjIwcHggMDsifQ0KDQpUdWdhcw0KDQoxLiBKZWxhc2thbiAqKktlc2FsYWhhbiBUaXBlIEkgKM6xKSoqIGRhbGFtIGtvbnRla3MgaW5pLg0KMi4gSmVsYXNrYW4gKipLZXNhbGFoYW4gVGlwZSBJSSAozrIpKiogZGFsYW0ga29udGVrcyBpbmkuDQozLiBJZGVudGlmaWthc2kga2VzYWxhaGFuIG1hbmEgeWFuZyAqKmxlYmloIG1lcnVnaWthbiBkYXJpIHBlcnNwZWt0aWYgYmlzbmlzKiouDQo0LiBEaXNrdXNpa2FuIGJhZ2FpbWFuYSAqKnVrdXJhbiBzYW1wZWwqKiBtZW1lbmdhcnVoaSBLZXNhbGFoYW4gVGlwZSBJSS4NCjUuIEplbGFza2FuIGh1YnVuZ2FuIGFudGFyYSAqKs6xLCDOsiwgZGFuIGRheWEgc3RhdGlzdGlrKiouDQo6OjogDQoNCg0KDQo6Ojoge3N0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGMkY1RTY7IGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjNkI4RTIzOyBwYWRkaW5nOjEycHg7IGJvcmRlci1yYWRpdXM6OHB4OyBtYXJnaW46MjBweCAwOyJ9DQoNCioqUGVueWVsZXNhaWFuIFN0dWRpIEthc3VzIDUqKg0KDQoxLiANCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQoqKktlc2FsYWhhbiBUaXBlIEkgKM6xKSoqIGRhbGFtIGtvbnRla3MgaW5pIHRlcmphZGkgYXBhYmlsYSAqKnN0YXJ0dXAgZmludGVjaCBtZW5vbGFrIGhpcG90ZXNpcyBub2wgKEjigoApKiogeWFuZyBtZW55YXRha2FuIGJhaHdhIGFsZ29yaXRtYSBkZXRla3NpIHBlbmlwdWFuIGJhcnUgdGlkYWsgbWVuZ3VyYW5naSB0cmFuc2Frc2kgcGVuaXB1YW4sIHBhZGFoYWwgcGFkYSBrZW55YXRhYW5ueWEgYWxnb3JpdG1hIHRlcnNlYnV0IG1lbWFuZyB0aWRhayBlZmVrdGlmLiBBcnRpbnlhLCAqKnBlcnVzYWhhYW4gc2VjYXJhIGtlbGlydSBtZW55aW1wdWxrYW4qKiBiYWh3YSBhbGdvcml0bWEgYmFydSBtYW1wdSBtZW51cnVua2FuIHRpbmdrYXQgcGVuaXB1YW4sIHNlaGluZ2dhIGJlcmlzaWtvIG1lbmdhZG9wc2kgc2lzdGVtIHlhbmcgdGlkYWsgbWVtYmVyaWthbiBtYW5mYWF0IG55YXRhIGRhbiBkYXBhdCBtZW5pbWJ1bGthbiBrb25zZWt1ZW5zaSBvcGVyYXNpb25hbCBtYXVwdW4gZmluYW5zaWFsLg0KPC9wPiAgDQoNCjIuIA0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCioqS2VzYWxhaGFuIFRpcGUgSUkgKM6yKSoqIGRhbGFtIGtvbnRla3MgcGVuZ3VqaWFuIGFsZ29yaXRtYSBkZXRla3NpIHBlbmlwdWFuIGluaSB0ZXJqYWRpIGtldGlrYSAqKnN0YXJ0dXAgZ2FnYWwgbWVuZGV0ZWtzaSBiYWh3YSBhbGdvcml0bWEgYmFydSBzZWJlbmFybnlhIGxlYmloICBlZmVrdGlmKiogbWVuZ3VyYW5naSB0cmFuc2Frc2kgcGVuaXB1YW4sIHNlaGluZ2dhIGtlc2ltcHVsYW4geWFuZyBkaWFtYmlsIGFkYWxhaCBhbGdvcml0bWEgdGVyc2VidXQgdGlkYWsgYmVycGVuZ2FydWggcGFkYWhhbCBkYWxhbSBrZW55YXRhYW5ueWEgYWxnb3JpdG1hIGl0dSBtZW1hbmcgYmVyaGFzaWwgbWVudXJ1bmthbiB0aW5na2F0IHBlbmlwdWFuLiBBa2liYXRueWEsICoqc3RhcnR1cCBtZW11dHVza2FuIHVudHVrIHRpZGFrIG1lbmdpbXBsZW1lbnRhc2lrYW4gYWxnb3JpdG1hIHlhbmcgZWZla3RpZiB0ZXJzZWJ1dCwgc2VoaW5nZ2EgdGVydXMgbWVuZ2FsYW1pIGtlcnVnaWFuIGZpbmFuc2lhbCoqIGFraWJhdCBwZW5pcHVhbiB5YW5nIHNlYmVuYXJueWEgZGFwYXQgZGljZWdhaCwga2VoaWxhbmdhbiBwZWx1YW5nIG1lbmluZ2thdGthbiBrZWFtYW5hbiBwbGF0Zm9ybSwgZGFuIGJlcnBvdGVuc2kgbWVuZ3VyYW5naSBrZXBlcmNheWFhbiBwZW5nZ3VuYSBrYXJlbmEgc2lzdGVtIGRldGVrc2kgeWFuZyBrdXJhbmcgb3B0aW1hbCB0ZXRhcCBkaWd1bmFrYW4uDQo8L3A+ICANCg0KMy4gDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KRGFyaSBwZXJzcGVrdGlmIGJpc25pcywgKipLZXNhbGFoYW4gVGlwZSBJSSAozrIpIGxlYmloIG1lcnVnaWthbioqIGthcmVuYSBtZW55ZWJhYmthbiBzdGFydHVwIHRlcnVzICoqbWVuZ2FsYW1pIGtlcnVnaWFuIGZpbmFuc2lhbCBha2liYXQgdHJhbnNha3NpIHBlbmlwdWFuIHlhbmcgc2VoYXJ1c255YSBiaXNhIGRpY2VnYWggb2xlaCBhbGdvcml0bWEgYmFydSoqIHlhbmcgZWZla3RpZiwgc2VtZW50YXJhIEtlc2FsYWhhbiBUaXBlIEkgaGFueWEgbWVuZ2FraWJhdGthbiBwZW1ib3Jvc2FuIGJpYXlhIHBlbmdlbWJhbmdhbiBkYW4gaW50ZWdyYXNpIGFsZ29yaXRtYSB5YW5nIHRlcm55YXRhIHRpZGFrIGVmZWt0aWYsIHlhbmcga2VydWdpYW5ueWEgbGViaWggdGVyYmF0YXMgZGFuIGRhcGF0IGRpcGVyYmFpa2kgZGVuZ2FuIGV2YWx1YXNpIHVsYW5nLg0KPC9wPiAgDQoNCjQuIA0KDQoqKkEuIFNhbXBlbCBCZXNhciBNZW5ndXJhbmdpIFJpc2lrbyBLZXNhbGFoYW4gVGlwZSBJSSoqDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KKipVa3VyYW4gc2FtcGVsIHlhbmcgYmVzYXIgbWVuaW5na2F0a2FuIHBvd2VyIHN0YXRpc3RpayAoMS3OsikqKiwgeWFpdHUgKiprZW1hbXB1YW4gdW50dWsgbWVuZGV0ZWtzaSBlZmVrIGF0YXUgcGVyYmVkYWFuIHlhbmcgc2ViZW5hcm55YSBhZGEqKi4gRGFsYW0ga29udGVrcyBwZW5ndWppYW4gYWxnb3JpdG1hIGRldGVrc2kgcGVuaXB1YW4sICoqc2FtcGVsIHlhbmcgYmVzYXIgKG1pc2FsbnlhIHJpYnVhbiB0cmFuc2Frc2kpIG1lbXVuZ2tpbmthbiBwZW5kZXRla3NpYW4gcGVudXJ1bmFuIHRpbmdrYXQgcGVuaXB1YW4geWFuZyBrZWNpbCBzZWthbGlwdW4qKiwgc2VoaW5nZ2EgKiptZW5ndXJhbmdpIGtlbXVuZ2tpbmFuIHN0YXJ0dXAgZ2FnYWwqKiBtZW5nZW5hbGkgZWZla3Rpdml0YXMgYWxnb3JpdG1hIGJhcnUgeWFuZyBzZWJlbmFybnlhIGJlcm1hbmZhYXQuDQo8L3A+ICANCg0KKipCLiBTYW1wZWwgS2VjaWwgTWVuaW5na2F0a2FuIFJpc2lrbyBLZXNhbGFoYW4gVGlwZSBJSSoqDQoNCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQoqKlNhbXBlbCB5YW5nIGtlY2lsIG1lbmdoYXNpbGthbiBlc3RpbWFzaSB5YW5nIGt1cmFuZyBwcmVzaXNpIGRhbiB2YXJpYWJpbGl0YXMgeWFuZyB0aW5nZ2kqKiwgc2VoaW5nZ2EgcGVyYmVkYWFuIG55YXRhIGRhbGFtIGVmZWt0aXZpdGFzIGFsZ29yaXRtYSAobWlzYWxueWEgcGVudXJ1bmFuIHBlbmlwdWFuIGRhcmkgNSUgbWVuamFkaSAzJSkgbXVuZ2tpbiB0aWRhayBtZW5jYXBhaSBzaWduaWZpa2Fuc2kgc3RhdGlzdGlrLiBBa2liYXRueWEsICoqc3RhcnR1cCBiZXJpc2lrbyBzYWxhaCBtZW55aW1wdWxrYW4gYmFod2EgYWxnb3JpdG1hIGJhcnUgdGlkYWsgZWZla3RpZiwgcGFkYWhhbCBzZWJlbmFybnlhIGVmZWt0aWYqKiwgeWFuZyBtZW55ZWJhYmthbiBrZXJ1Z2lhbiBiZXJrZWxhbmp1dGFuIGthcmVuYSBwZW5pcHVhbiB5YW5nIHRlcnVzIHRlcmphZGkuDQo8L3A+ICANCg0KNS4gDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KKipUaW5na2F0IHNpZ25pZmlrYW5zaSDOsSBtZW51bmp1a2thbiByaXNpa28gbWVsYWt1a2FuIEtlc2FsYWhhbiBUaXBlIEkqKiwgeWFpdHUgKiptZW5vbGFrIGhpcG90ZXNpcyBub2wga2V0aWthIGhpcG90ZXNpcyB0ZXJzZWJ1dCBiZW5hcioqLCBzZWRhbmdrYW4gKirOsiBtZW51bmp1a2thbiByaXNpa28gS2VzYWxhaGFuIFRpcGUgSUksIHlhaXR1IGdhZ2FsIG1lbm9sYWsgaGlwb3Rlc2lzIG5vbCBzYWF0IGhpcG90ZXNpcyBhbHRlcm5hdGlmIGJlbmFyKiosIGRlbmdhbiBkYXlhIHN0YXRpc3RpayBkaWRlZmluaXNpa2FuIHNlYmFnYWkgKioxIOKIkiDOsioqLiBLZXRpa2EgbmlsYWkgKirOsSoqIGRpcGVyYmVzYXIsIGtyaXRlcmlhIHBlbm9sYWthbiBtZW5qYWRpIGxlYmloIGxvbmdnYXIgc2VoaW5nZ2EgZGF5YSBzdGF0aXN0aWsgbWVuaW5na2F0IGRhbiAqKs6yKiogbWVudXJ1biwgc2VtZW50YXJhIHBlbnVydW5hbiAqKs6xKiogdW50dWsgbWVuZ2hpbmRhcmkgS2VzYWxhaGFuIFRpcGUgSSBqdXN0cnUgbWVudXJ1bmthbiBkYXlhIHN0YXRpc3RpayBkYW4gbWVuaW5na2F0a2FuICoqzrIqKi4gT2xlaCBrYXJlbmEgaXR1LCB1bnR1ayBtZW5jYXBhaSBkYXlhIHN0YXRpc3RpayB5YW5nIHRpbmdnaSB0YW5wYSBtZW5pbmdrYXRrYW4gKirOsSoqIHNlY2FyYSBzaWduaWZpa2FuLCBkaXBlcmx1a2FuIHBlbmFtYmFoYW4gdWt1cmFuIHNhbXBlbCB5YW5nIG1lbWFkYWkuDQo8L3A+ICANCjo6Og0KLS0tDQoNCiMgTmlsYWktcCBkYW4gUHJvc2VzIFBlbmdhbWJpbGFuIEtlcHV0dXNhbiBTdGF0aXN0aWsNCg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCkV2YWx1YXNpIG1vZGVsIHByZWRpa3NpIGNodXJuIG1lbmdoYXNpbGthbiBoYXNpbCBzZWJhZ2FpIGJlcmlrdXQ6DQoNCi0gU3RhdGlzdGlrIHVqaSA9IDIuMzEgIA0KLSBOaWxhaSBwID0gMC4wMjEgIA0KLSBUaW5na2F0IHNpZ25pZmlrYW5zaTogJFxhbHBoYSA9IDAuMDUkDQo8L3A+IA0KDQoNCjo6OiB7c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0ZGRjVFMTsgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICMxRTkwRkY7IHBhZGRpbmc6MTZweDsgYm9yZGVyLXJhZGl1czo4cHg7IG1hcmdpbjoyMHB4IDA7In0NCg0KVHVnYXMNCg0KMS4gSmVsYXNrYW4gKiphcnRpIGRhcmkgbmlsYWkgcCoqLg0KMi4gQnVhdGxhaCAqKmtlcHV0dXNhbiBzdGF0aXN0aWsqKi4NCjMuIFRlcmplbWFoa2FuIGtlcHV0dXNhbiB0ZXJzZWJ1dCBrZSBkYWxhbSAqKmJhaGFzYSBub24tdGVrbmlzKiogdW50dWsgbWFuYWplbWVuLg0KNC4gQmFoYXMgcmlzaWtvIGppa2EgKipzYW1wZWwgdGlkYWsgcmVwcmVzZW50YXRpZioqLg0KNS4gSmVsYXNrYW4gbWVuZ2FwYSBuaWxhaSBwICoqdGlkYWsgbWVuZ3VrdXIgdWt1cmFuIGVmZWsqKi4NCjo6Og0KDQoNCjo6OiB7c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I0YyRjVFNjsgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICM2QjhFMjM7IHBhZGRpbmc6MTJweDsgYm9yZGVyLXJhZGl1czo4cHg7IG1hcmdpbjoyMHB4IDA7In0gDQoNCioqUGVueWVsZXNhaWFuIFN0dWRpIEthc3VzIDYqKg0KDQoxLiANCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQoqKk5pbGFpIHAgKHAtdmFsdWUpKiogc2VjYXJhIHVtdW0gYWRhbGFoICoqcHJvYmFiaWxpdGFzIHVudHVrIG1lbmRhcGF0a2FuIGhhc2lsIHNhbXBlbCB5YW5nIHNldGlkYWtueWEgc2FtYSBla3N0cmVtbnlhIGRlbmdhbiB5YW5nIGRpYW1hdGksIGRlbmdhbiBhc3Vtc2kgYmFod2EgaGlwb3Rlc2lzIG5vbCAoSOKCgCkgYmVuYXIqKiwgZGkgbWFuYSAqbmlsYWkgcCB5YW5nIHNlbWFraW4ga2VjaWwgbWVudW5qdWtrYW4gc2VtYWtpbiB0aWRhayBtdW5na2lubnlhIGhhc2lsIHRlcnNlYnV0IHRlcmphZGkgaGFueWEga2FyZW5hIGtlYmV0dWxhbiBzZW1hdGEqIGppa2EgSOKCgCBtZW1hbmcgYmVuYXIsIHNlaGluZ2dhIG5pbGFpIHAgeWFuZyBsZWJpaCByZW5kYWggZGFyaSB0aW5na2F0IHNpZ25pZmlrYW5zaSB5YW5nIGRpdGV0YXBrYW4gKGJpYXNhbnlhIM6xID0gMCwwNSkgbWVtYmVyaWthbiBidWt0aSBzdGF0aXN0aWsgeWFuZyBjdWt1cCB1bnR1ayBtZW5vbGFrIEjigoAgZGFuIG1lbmR1a3VuZyBhZGFueWEgZWZlayBhdGF1IHBlcmJlZGFhbiB5YW5nIHNpZ25pZmlrYW4gc2VjYXJhIHN0YXRpc3RpaywgbWVza2lwdW4gcGVudGluZyB1bnR1ayBkaWluZ2F0IGJhaHdhIG5pbGFpIHAgdGlkYWsgbWVuZ3VrdXIgYmVzYXJueWEgZWZlayBhdGF1IGtlcGVudGluZ2FuIHByYWt0aXMgZGFyaSB0ZW11YW4gdGVyc2VidXQuDQo8L3A+ICANCg0KMi4gDQo8cCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsgdGV4dC1qdXN0aWZ5OiBpbnRlci13b3JkOyI+IA0KQmVyZGFzYXJrYW4gaGFzaWwgZXZhbHVhc2kgbW9kZWwgcHJlZGlrc2kgY2h1cm4gZGVuZ2FuIG5pbGFpIHAgPSAwLDAyMSBkYW4gdGluZ2thdCBzaWduaWZpa2Fuc2kgzrEgPSAwLDA1LCBrYXJlbmEgcCA8IM6xICgwLDAyMSA8IDAsMDUpLCBtYWthICoqaGlwb3Rlc2lzIG5vbCAoSOKCgCkgZGl0b2xhayoqLkFydGlueWEsICp0ZXJkYXBhdCBidWt0aSBzdGF0aXN0aWsgeWFuZyBjdWt1cCB1bnR1ayBtZW55aW1wdWxrYW4gYmFod2EgbW9kZWwgcHJlZGlrc2kgY2h1cm4gdGVyc2VidXQgc2lnbmlmaWthbiogc2VjYXJhIHN0YXRpc3RpayBkYW4gaGFzaWwgeWFuZyBkaXBlcm9sZWggKHN0YXRpc3RpayB1amkgPSAyLDMxKSB0aWRhayBkYXBhdCBkaWFuZ2dhcCB0ZXJqYWRpIGhhbnlhIGthcmVuYSBrZWJldHVsYW4gc2VtYXRhLiANCjwvcD4gIA0KDQozLiANCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7Ij4gDQpCZXJkYXNhcmthbiBoYXNpbCBwZW5ndWppYW4sKiptb2RlbCBwcmVkaWtzaSBjaHVybiB0ZXJidWt0aSBlZmVrdGlmIGRhbiBidWthbiBrZWJldHVsYW4gc2VtYXRhKiosIHNlaGluZ2dhIG1hbXB1IHNlY2FyYSBrb25zaXN0ZW4gbWVuZ2lkZW50aWZpa2FzaSBwZWxhbmdnYW4geWFuZyBiZXJwb3RlbnNpIGJlcmhlbnRpIG1lbmdndW5ha2FuIGxheWFuYW4uIERlbmdhbiBrYXRhIGxhaW4sIG1hbmFqZW1lbiBkYXBhdCBtZW1wZXJjYXlhaSBwcmVkaWtzaSBtb2RlbCBpbmkgc2ViYWdhaSBkYXNhciB1bnR1ayBtZW5nYW1iaWwgbGFuZ2thaC1sYW5na2FoIHN0cmF0ZWdpcywgc2VwZXJ0aSBtZW1iZXJpa2FuIHBlbmF3YXJhbiBraHVzdXMgYXRhdSBsYXlhbmFuIHRhbWJhaGFuIGtlcGFkYSBwZWxhbmdnYW4geWFuZyBiZXJpc2lrbyBjaHVybiwgZ3VuYSBtZW5pbmdrYXRrYW4gcmV0ZW5zaSBkYW4ga2VwdWFzYW4gcGVsYW5nZ2FuLiANCjwvcD4gIA0KDQoNCjQuIA0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCkppa2EgKipzYW1wZWwgdGlkYWsgcmVwcmVzZW50YXRpZioqLCBhZGEgcmlzaWtvIGJhaHdhIG1vZGVsIHByZWRpa3NpIGNodXJuIHlhbmcgZGliYW5ndW4gKnRpZGFrIG1lbmNlcm1pbmthbiBwZXJpbGFrdSBzZWx1cnVoIHBvcHVsYXNpIHBlbGFuZ2dhbiouIEFraWJhdG55YSwgcG9sYSBjaHVybiB5YW5nIHRlcmRldGVrc2kgcGFkYSBzYW1wZWwgbXVuZ2tpbiBiZXJiZWRhIGtldGlrYSBkaXRlcmFwa2FuIHBhZGEgcGVsYW5nZ2FuIG55YXRhLCBzZWhpbmdnYSBrZXB1dHVzYW4gYmlzbmlzIHlhbmcgZGlhbWJpbCBiZXJkYXNhcmthbiBtb2RlbCB0ZXJzZWJ1dCBiaXNhICoqdGlkYWsgYWt1cmF0IGF0YXUgbWVueWVzYXRrYW4qKi4gSGFsIGluaSBkYXBhdCBtZW55ZWJhYmthbiBzdW1iZXIgZGF5YSBkaWFsb2thc2lrYW4gc2VjYXJhIGt1cmFuZyBlZmVrdGlmLCBpbnRlcnZlbnNpIHJldGVuc2kgZ2FnYWwgbWVuY2FwYWkgdGFyZ2V0LCBkYW4gcG90ZW5zaSBrZXJ1Z2lhbiBmaW5hbnNpYWwgYXRhdSBrZWhpbGFuZ2FuIHBlbGFuZ2dhbiBtZW5pbmdrYXQuIE9sZWgga2FyZW5hIGl0dSwgbWVtYXN0aWthbiBzYW1wZWwgeWFuZyAqcmVwcmVzZW50YXRpZiBkYW4gc2VpbWJhbmcqIHNhbmdhdCBwZW50aW5nIHVudHVrIHZhbGlkaXRhcyBwcmVkaWtzaSBkYW4gZWZla3Rpdml0YXMgc3RyYXRlZ2kgeWFuZyBkaWFtYmlsLg0KPC9wPiAgDQoNCjUuIA0KPHAgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7IHRleHQtanVzdGlmeTogaW50ZXItd29yZDsiPiANCioqTmlsYWkgcCB0aWRhayBtZW5ndWt1ciBiZXNhcm55YSBlZmVrIHByYWt0aXMga2FyZW5hIGhhbnlhIG1lbmNlcm1pbmthbiBzaWduaWZpa2Fuc2kgc3RhdGlzdGlrKiosIHlha25pICpwcm9iYWJpbGl0YXMgbWVuZGFwYXRrYW4gaGFzaWwgc2V0aWRha255YSBzZWVrc3RyZW0gcGVuZ2FtYXRhbiBzYWF0IGhpcG90ZXNpcyBub2wgYmVuYXIgYWRhbnlhKi4gTmlsYWkgcCB0aWRhayBtZW5naW5kaWthc2lrYW4gc2ViZXJhcGEgcGVuZ2FydWggYXRhdSBwZXJiZWRhYW4gdGVyc2VidXQgZGFsYW0gYXBsaWthc2kgbnlhdGEuIENvbnRvaG55YSwgZWZlayBrZWNpbCBkYXBhdCBzaWduaWZpa2FuIGRlbmdhbiBzYW1wZWwgYmVzYXIsIHNlZGFuZ2thbiBlZmVrIGJlc2FyIG11bmdraW4gdGlkYWsgc2lnbmlmaWthbiBqaWthIHNhbXBlbCB0ZXJiYXRhcy4gS2FyZW5hbnlhLCBldmFsdWFzaSBkYW1wYWsgYmlzbmlzIGF0YXUgcG9wdWxhc2kgbWVtZXJsdWthbiBtZXRyaWsgZWZlayBwZWxlbmdrYXAsIHNlcGVydGkga29lZmlzaWVuIG1vZGVsLCBvZGRzIHJhdGlvLCBhdGF1IHNlbGlzaWggcmF0YS1yYXRhLg0KPC9wPiAgDQoNCjo6Og0KDQoNCiMgUmVmZXJlbnNpIA0KDQpbMV0gSC4gSXNtYWlsIGFuZCBILiBGYWpyaSwgU3RhdGlzdGlrYSB1bnR1ayBwZW5lbGl0aWFuIHBlbmRpZGlrYW4gZGFuIGlsbXUtaWxtdSBzb3NpYWwuIEpha2FydGEsIEluZG9uZXNpYTogS2VuY2FuYSwgMjAxOC4NCg0KWzJdIEEuIEZhdXp5LCDigJxEaXN0cmlidXNpIGNoaS1rdWFkcmF0LOKAnSBKdXJuYWwgTUlQQSBJS0lQIE1hbGFuZywgdm9sLiAyNSwgbm8uIDEsIHBwLiAxMDPigJMxMTEsIElTU04gMDg1NC04MjY5Lg0KDQpbM10gQy4gU2F2aXRyaSBldCBhbC4sIFN0YXRpc3RpayBtdWx0aXZhcmlhdCBkYWxhbSByaXNldCwgMjAyMS4NCg0K