Kebiasaan Bermain Game di Kalangan Mahasiswa dan Pengaruhnya Terhadap Prestasi Akademik dan Kehidupan Sosial

UTS Statistika Dasar Kelompok 7

Logo

1 Laporan Singkat Statistika

1.1 Definisi dan Aspek

Statistik adalah cabang ilmu yang berkaitan dengan pengumpulan, analisis, interpretasi, dan presentasi data. Statistik menggunakan metode matematis dan algoritmik untuk mengelola data sehingga informasi yang diperoleh dapat digunakan untuk membuat keputusan yang lebih baik.

1.1.1 Aspek Utama Statistik

  • Pengumpulan Data: Proses mengumpulkan data dari berbagai sumber melalui survei, eksperimen, atau observasi. Metode ini mencakup sampling atau pengumpulan data lengkap dari populasi.
  • Analisis Data: Teknik-teknik statistik digunakan untuk menganalisis data, termasuk deskriptif statistik seperti mean (rata-rata), median, mode, dan deviasi standar, serta inferensial statistik seperti uji hipotesis dan analisis regresi.
  • Interpretasi Data: Menafsirkan hasil analisis untuk memahami apa yang data tersebut katakana tentang fenomena yang sedang dipelajari. Ini melibatkan penarikan kesimpulan yang dapat menjelaskan pola, tren, atau hubungan dalam data.
  • Presentasi Data: Menyajikan hasil analisis dalam format yang Mudah dipahami, seperti table, grafik, atau visualisasi lainnya, sehingga informasi dapat disampaikan secara efektif kepada audiens.

1.1.2 Pentingnya Statistik

  • Pengambilan Keputusan: Statistik memungkinkan individu dan organisasi untuk membuat keputusan yang lebih baik dan lebih terinformasi. Dengan data yang tepat dan analisis yang benar, keputusan dapat didasarkan pada bukti empiris daripada asumsi atau spekulasi.
  • Identifikasi Pola dan Tren: Melalui analisis statistik, kita dapat mengidentifikasi pola dan tren dalam data yang mungkin tidak terlihat dengan kasat mata.
  • Uji Hipotesis: Statistik memungkinkan kita untuk menguji hipotesis atau teori dengan menggunakan data. Uji hipotesis seperti t-test atau ANOVA dapat menentukan apakah perbedaan antara kelompok atau variable signifikan secara statistik.
  • Prediksi dan Perencanaan: Dengan menggunakan model statistik, kita dapat membuat prediksi tentang kejadian di masa depan berdasarkan data historis.
  • Evaluasi Program dan Kebijakan: Statistik digunakan untuk mengevaluasi efektivitas program atau kebijakan. Dengan menganalisis data sebelum dan sesudah implementasi, kita dapat menilai apakah perubahan yang dilakukan memiliki dampak yang diinginkan.
  • Penelitian dan Pengembangan: Statistik memainkan peran kunci dalam merancang eksperimen, menganalisis hasil, dan menarik kesimpulan yang valid.
  • Kesehatan dan Kedokteran: Statistik digunakan untuk analisis epidemiologi, uji klinis, dan penelitian medis. Ini membantu dalam memahami prevalensi penyakit, efektivitas pengobatan, dan factor risiko.

1.2 Jenis Statistika

Statistika terbagi menjadi dua jenis utama, yaitu Statistika deskriptif dan Statistika inferensial. Keduanya memiliki tujuan dan teknik yang berbeda dalam menganalisis data.

1.2.1 Statistika Deskriptif

Statistika deskriptif melibatkan metode yang digunakan untuk menggambarkan atau meringkas data dari sampel atau populasi tanpa membuat inferensi atau generalisasi tentang data tersebut. Tujuan utama Statistika deskriptif adalah untuk menyajikan data dalam bentuk yang Mudah dipahami dan memberikan ringkasan yang berguna. Teknik-teknik utama dalam Statistika deskriptif meliputi:

  1. Ukuran Pemetaan Data
  • Mean (Rata-rata)
  • Median
  • Mode
  1. Ukuran Dispersion
  • Range (Rentang)
  • Variance
  • Standard Deviation (Deviasi Standar)
  1. Visualisasi Data
  • Histogram
  • Box Plot
  • Bar Chart dan Pie Chart

1.2.2 Statistika Inferensial

Statistika inferensial melibatkan metode yang digunakan untuk membuat generalisasi atau inferensi tentang populasi berdasarkan data sampel. Teknik-teknik utama dalam Statistika inferensial meliputi:

  1. Uji Hipotesis
  • Uji t: digunakan untuk membandingkan rata-rata dari dua kelompok atau sampel
  • Uji ANOVA (Analysis of Variance): digunakan untuk membandingkan rata-rata antara lebih dari dua kelompok
  • Uji Chi-Square: digunakan untuk menguji hubungan antara dua variable kategorikal.
  1. Interval Kepercayaan

Interval kepercayaan memberikan rentang nilai yang mungkin mengandung parameter populasi.

  1. Regresi dan Korelasi
  • Regresi: menggunakan data untuk memodelkan hubungan antara variable dependen dan satu atau lebih variable independent,
  • Korelasi: Mengukur kekuatan dan arah hubungan linear antara dua variable.
  1. Sampling dan Estimasi
  • Sampling: proses pemilihan sampel dari populasi untuk analisis.
  • Estimasi: menggunakan data sampel untuk memperkirakan parameter populasi, seperti mean atau proporsi.

Statistika deskriptif dan inferensial saling melengkapi dalam analisis data. Statistika deskriptif memberikan gambaran umum tentang data, sedangkan Statistika inferensial memungkinkan penarikan kesimpulan dan pembuatan keputusan berdasarkan data tersebut.

1.3 Jenis Data: Kualitatif va. Kuantitatif

1.3.1 Data Kualitatif

Data kualitatif adalah data yang menggambarkan kualitas atau karakteristik non-numerik. Jenis-jenis data kualitatif meliputi:

  1. Data Nominal: Data nominal adalah data yang terdiri dari kategori yang tidak memiliki urutan atau hierarki.
  2. Data Ordinal: Data ordinal adalah data yang memiliki urutan atau hierarki, tetapi jarak antara kategori tidak terukur secara tepat.

1.3.2 Data Kuantitatif

Data kuantitatif juga dikenal sebagai data numerik, adalah data yang dapat diukur dan dihitung. Jenis-jenis data kuantitatif meliputi:

  1. Data Diskret: Data diskret adalah data yang hanya dapat mengambil nilai tertentu dalam rentang yang terpisah atau terhitung.
  2. Data Kontinu: Data kontinu adalah data yang dapat mengambil nilai dalam rentang yang kontinu atau tak terhingga.

2 Pengumpulan Data

Pengumpulan data merupakan tahap penting dalam penelitian, di mana peneliti mengumpulkan informasi untuk menjawab pertanyaan penelitian atau menguji hipotesis.

2.1 Data Primer

Data primer adalah data yang dikumpulkan langsung dari sumbernya.

  • Survei: metode yang melibatkan serangkaian pertanyaan kepada responden. Kuesioner dapat berupa pertanyaan tertutup (pilihan ganda) atau terbuka.
  • Wawancara: metode pengumpulan data melalui percakapan langsung. Ini bisa terstruktur (pertanyaan tetap) atau semi-terstruktur (fleksibel)
  • Observasi: metode pengumpulan dengan mengamati subjek atau objek tanpa interaksi langsung.
  • Eksperimen: melibatkan control variable untuk melihat pengaruhnya terhadap variable lain.

2.2 Data Sekunder

Data sekunder adalah data yang sudah dikumpulkan oleh pihak lain, tersedia dalam dokumen, laporan, atau basis data.

  • Sumber Tertulis: Pengumpulan data dari sumber tertulis melibatkan dokumen yang sudah ada, seperti laporan tahunan atau artikel.
  • Database Publik: Data sekunder juga bisa diperoleh dari basis data public seperti data sensus.

2.3 Reliabilitas dan Validitas

Reliabilitas dan validitas adalah dua konsep penting yang menentukan kualitas informasi yang diperoleh dalam penelitian.

  • Reliabilitas Data: konsistensi pengukuran dari waktu ke waktu. Data yang reliabel memberikan hasil yang sama dengan kondisi yang sama.
  • Validitas Data: mengukur sejauh mana instrument mengukur apa yang seharusnya diukur.

3 Penyajian Data

Penyajian Data adalah proses pengorganisasian, visualisasi, dan interpretasi data agar lebih mudah dipahami dan dapat diambil kesimpulan. Dalam konteks analisis data, penyajian dilakukan dengan menggunakan berbagai alat dan metode visualisasi seperti table, grafik, dan diagram, tergantung pada jenis datanya (kualitatif atau kuantitatif).

3.1 Data Kualitatif

Data kualitatif biasanya menggambarkan kategori atau kelompok, seperti jenis kelamin, prefrensi produk, atau cara pembelian. Penyajian data kualitatif bisa dilakukan dengan:

  • Tabel Distribusi Frekuensi
  • Diagram Batang
  • Diagram Lingkaran

3.2 Data Kuantitatif

Data kuantitatif menggambarkan variable numerik seperti usia, pendapatan, dan jumlah pembelian. Penyajian data kuantitatif dapat dilakukan dengan:

  • Diagram Histogram
  • Diagram Garis
  • Diagram Boxplot

3.3 Multivariat Data

Data multivariat adalah data yang melibatkan lebih dari dua variable pada waktu yang sama. Penyajian data multivariat sering menggunakan:

  • Scatter Plot Matrix
  • Heatmap

4 Contoh Kasus: Analisis Kebiasaan Bermain Game

Dalam analisis ini, pengumpulan data terkait dengan “Kebiasaan Bermain Game di Kalangan Mahasiswa” dilakukan menggunakan metode pengumpulan survei dengan kuesioner. Metode ini memungkinkan pengumpulan data langsung dari mahasiswa, baik dalam bentuk data kuantitatif maupun kualitatif, secara sederhana dan terstruktur. Dengan kuesioner, kita dapat mengajukan pertanyaan spesifik mengenai kebiasaan bermain game, dampaknya terhadap akademik, dan persepsi mahasiswa mengenai pengaruh game terhadap kehidupan sosial mereka.

4.1 Proses Pengumpulan Data Melalui Kuesioner

Dalam kuesioner ini, beberapa pertanyaan diajukan untuk mengumpulkan informasi yang relevan, seperti:

- Durasi Bermain Game: Mahasiswa diminta mencantumkan waktu rata-rata (dalam jam atau menit) yang dihabiskan untuk bermain game per hari.

- Genre Game Favorit: Mahasiswa memilih dari daftar genre (aksi, petualangan, puzzle, olahraga, dll.) untuk mengetahui preferensi jenis game yang dimainkan.

- Dampak Terhadap Prestasi Akademik: Pertanyaan mengenai pengaruh kebiasaan bermain game terhadap nilai atau pencapaian akademik mereka.

- Dampak Terhadap Kehidupan Sosial: Pertanyaan mengenai bagaimana kebiasaan bermain game mempengaruhi interaksi sosial atau hubungan dengan teman.

Kuesioner ini dibagikan kepada sekelompok responden yang mewakili populasi mahasiswa. Metode kuesioner memudahkan pengumpulan data dalam jumlah besar secara cepat, sehingga hasilnya dapat diolah secara statistik untuk memberikan wawasan tentang pola kebiasaan bermain game di kalangan mahasiswa.

4.2 Jenis Data yang Diperoleh

Data yang diperoleh dari kuesioner ini terdiri dari:

  • Data Kuantitatif: Seperti durasi rata-rata bermain game per hari (dalam jam/menit) dan frekuensi bermain game per minggu. Data ini memberikan gambaran kuantitatif mengenai intensitas bermain game di kalangan mahasiswa.
  • Data Kualitatif: Termasuk genre game favorit dan persepsi dampak game pada akademik dan kehidupan sosial. Data ini membantu menggambarkan pandangan mahasiswa dan pengaruh kebiasaan bermain game secara lebih mendalam.

4.3 Penyajian Data Menggunakan Tabel

Untuk mempermudah interpretasi hasil survei, data dari kuesioner disajikan dalam bentuk tabel. Tabel ini memudahkan pembaca melihat perbandingan antar-kategori secara terstruktur, sehingga pola atau tren dapat dengan mudah diidentifikasi. Penyajian data dalam bentuk tabel memberikan gambaran yang jelas tentang kebiasaan bermain game di kalangan mahasiswa, yang dapat digunakan untuk menilai dampaknya terhadap kehidupan akademik dan sosial mereka.

5 Analisis Kebiasaan Bermain Game

Untuk menganalis “Kebiasaan Bermain Game di Kalangan Mahasiswa serta Pengaruhnya Terhadap Prestasi Akademik dan Kehidupan Sosial”. Metode pengumpulan data yang sesuai harus mampu menangkap aspek kuantitatif dan kualitatif. Ini karena topik ini tidak hanya membutuhkan angka (seperti durasi bermain atau nilai akademik), tetapi juga pengalaman pribadi dan persepsi mahasiswa. Berikut adalah metode pengumpulan data yang sesuai:

5.1 Survei dengan Kuesioner

5.1.1 Efisiensi Waktu

Google Form memungkinkan pengumpulan data dalam waktu yang relatif singkat karena dapat disebarkan secara online. Mahasiswa dapat mengisi kuesioner di mana saja dan kapan saja, sehingga data dapat terkumpul lebih cepat dibandingkan metode lain seperti wawancara atau observasi langsung.

5.1.2 Kemudahan Akses

Dengan Google Form, survei dapat disebarkan dengan mudah melalui tautan yang dibagikan lewat email, grup media sosial, atau platform kampus. Ini memudahkan responden untuk berpartisipasi tanpa perlu hadir secara fisik atau mengatur waktu khusus, yang menghemat waktu baik bagi peneliti maupun responden.

5.1.3 Kemampuan Mengumpulkan Data Kuantitatif dan Kualitatif

Google Form memungkinkan peneliti untuk mengumpulkan data dalam bentuk pilihan ganda atau pertanyaan terbuka. Dengan format ini, peneliti dapat memperoleh data kuantitatif mengenai frekuensi dan durasi bermain game, serta data kualitatif seperti persepsi responden terhadap dampak bermain game.

5.1.4 Pengolahan Data yang Mudah

Data yang terkumpul dari Google Form langsung terintegrasi dalam bentuk spreadsheet, sehingga memudahkan peneliti dalam melakukan analisis lebih lanjut tanpa harus menginput data secara manual. Ini menghemat waktu dalam proses pengolahan dan analisis data.

5.2 Jenis Data yang Dihasilkan

Dengan kuesioner Google Form, jenis data yang dihasilkan meliputi:

5.2.1 Data Kuantitatif

Data kuantitatif ini berbentuk angka dan dapat dihitung atau diukur. Seperti frekuensi bermain game per minggu, rata-rata durasi bermain per sesi, dan persentase mahasiswa yang merasakan dampak pada akademik.

5.2.2 Data Kualitatif

Data kualitatif ini bersifat deskriptif dan biasanya berupa teks, kata-kata, atau kategori yang menggambarkan kualitas atau karakteristik. Seperti persepsi mahasiswa tentang bagaimana bermain game memengaruhi prestasi akademik dan kehidupan sosial mereka.

Dengan metode ini, hasil analisis dapat memperoleh informasi yang relevan secara efisien dan penyajian data yang efektif.

6 Analisis Grafik 1

Berdasarkan grafik tersebut, kita dapat melihat hubungan antara durasi bermain game dan pengaruhnya terhadap hasil akademik responden. Berikut adalah analisis per kategori pengaruh:

  1. Tidak Memengaruhi (Warna Biru):
    • Responden yang menyatakan bermain game tidak memengaruhi hasil akademik memiliki jumlah tertinggi pada durasi “kurang dari 1 jam” dan menurun seiring meningkatnya durasi bermain game.
    • Hal ini mengindikasikan bahwa responden yang bermain game lebih lama cenderung merasakan pengaruh pada hasil akademik mereka.
  2. Sedikit Memengaruhi (Warna Merah):
    • Responden yang merasakan sedikit pengaruh dari bermain game menunjukkan jumlah yang stabil pada durasi bermain 1-2 jam hingga 5 jam atau lebih.
    • Pada durasi “kurang dari 1 jam,” jumlah responden yang merasakan sedikit pengaruh menurun drastis.
  3. Cukup Memengaruhi (Warna Kuning):
    • Pengaruh cukup memengaruhi paling banyak dirasakan oleh responden yang bermain selama 1-2 jam, namun jumlahnya menurun tajam ketika durasi bermain bertambah.
    • Ini menunjukkan bahwa bermain game dalam durasi sedang (1-2 jam) lebih terasa pengaruhnya dibandingkan durasi lainnya.
  4. Sangat Memengaruhi (Warna Hijau):
    • Pengaruh sangat memengaruhi paling banyak dirasakan pada durasi bermain 1-2 jam, tetapi jumlah responden yang merasakan pengaruh ini berkurang seiring meningkatnya durasi bermain.
    • Responden dengan durasi “kurang dari 1 jam” juga menunjukkan adanya pengaruh yang cukup signifikan.

Kesimpulan: Grafik ini menunjukkan bahwa semakin lama durasi bermain game, semakin kecil jumlah responden yang merasa tidak dipengaruhi oleh aktivitas tersebut. Responden yang bermain game dengan durasi yang lebih singkat (kurang dari 1 jam hingga 1-2 jam) cenderung merasa ada pengaruh pada hasil akademik, baik sedikit, cukup, maupun sangat memengaruhi.

7 Analisis Grafik 2

Grafik di atas adalah diagram pie yang menunjukkan pengaruh bermain game terhadap kualitas tidur. Berikut adalah analisis berdasarkan data dalam grafik:

  1. Cukup Memengaruhi (Warna Biru - 33.3%):
    • Sebagian besar responden (33.3%) merasa bahwa bermain game cukup memengaruhi kualitas tidur mereka.
    • Ini menunjukkan bahwa aktivitas bermain game mungkin berdampak moderat pada kualitas tidur sebagian responden, meskipun tidak mengganggu secara signifikan.
  2. Sedikit Memengaruhi (Warna Oranye - 30%):
    • Sebanyak 30% responden merasa pengaruh dari bermain game hanya sedikit memengaruhi kualitas tidur mereka.
    • Persentase ini cukup besar dan menunjukkan bahwa sebagian responden masih merasa bermain game berdampak, namun dampaknya tidak terlalu signifikan.
  3. Tidak Memengaruhi (Warna Hijau - 20%):
    • Sebanyak 20% responden merasa bahwa bermain game tidak memengaruhi kualitas tidur mereka sama sekali.
    • Hal ini menunjukkan bahwa ada sebagian kecil responden yang tidak merasakan pengaruh bermain game terhadap tidur mereka.
  4. Sangat Memengaruhi (Warna Merah - 16.6%):
    • Responden yang merasakan pengaruh sangat signifikan terhadap kualitas tidur hanya sebesar 16.6%.
    • Meskipun persentasenya paling kecil, kelompok ini menunjukkan bahwa bagi sebagian kecil responden, bermain game berdampak sangat signifikan pada kualitas tidur mereka.

Kesimpulan: Secara keseluruhan, sebagian besar responden merasa bahwa bermain game memberikan dampak terhadap kualitas tidur mereka, dengan mayoritas merasakan dampak cukup atau sedikit. Hanya sebagian kecil yang merasakan dampak yang sangat signifikan, dan 20% merasa tidak ada pengaruh sama sekali. Ini mengindikasikan bahwa bermain game cenderung memiliki pengaruh moderat hingga rendah pada kualitas tidur bagi sebagian besar responden.

8 Analisis Grafik 3

Analisis Grafik

  1. Distribusi Jenis Kelamin Responden
    Berdasarkan grafik distribusi jenis kelamin responden, mayoritas responden adalah perempuan (56.6%), sementara laki-laki berjumlah 43.3%. Distribusi ini memberikan gambaran bahwa perempuan sedikit lebih banyak berpartisipasi dalam penelitian ini. Mengingat penelitian ini bertujuan untuk memahami pengaruh bermain game, distribusi ini menjadi penting karena laki-laki dan perempuan memiliki kecenderungan yang berbeda dalam hal durasi dan frekuensi bermain game, yang mungkin memengaruhi hasil akhir terkait pengaruh game pada kualitas tidur dan prestasi akademik.

  2. Pengaruh Durasi Bermain Game terhadap Hasil Akademik
    Grafik yang menunjukkan hubungan antara durasi bermain game dan pengaruhnya terhadap hasil akademik memberikan beberapa temuan penting:

    • Responden yang bermain game dengan durasi 1-2 jam per hari sebagian besar melaporkan bahwa bermain game cukup memengaruhi (4 responden) hingga sangat memengaruhi (6 responden) hasil akademik mereka.
    • Di sisi lain, pada kelompok yang bermain game lebih lama (5 jam atau lebih), sebagian besar responden justru merasa bahwa durasi bermain game sedikit memengaruhi hasil akademik (2 responden) atau bahkan tidak memengaruhi sama sekali (2 responden).
    • Hal ini dapat diinterpretasikan bahwa mahasiswa yang lebih lama bermain game mungkin sudah terbiasa mengatur waktu mereka, sehingga pengaruhnya terhadap hasil akademik tidak selalu besar. Namun, responden yang bermain dalam durasi lebih pendek merasa ada dampak yang signifikan, mungkin karena pengaturan waktu yang kurang seimbang.
  3. Pengaruh Bermain Game terhadap Kualitas Tidur
    Diagram pie yang menunjukkan pengaruh bermain game terhadap kualitas tidur menunjukkan bahwa:

    • Sebagian besar responden merasakan dampak sedang hingga rendah, yaitu 33.3% merasa cukup memengaruhi dan 30% merasa sedikit memengaruhi.
    • Sebanyak 20% responden merasa bermain game tidak memengaruhi kualitas tidur mereka, sementara 16.6% merasa sangat dipengaruhi.
    • Data ini menunjukkan bahwa meskipun bermain game memiliki dampak terhadap kualitas tidur, sebagian besar mahasiswa merasakan dampaknya pada tingkat sedang hingga rendah. Ini mungkin disebabkan oleh kemampuan mahasiswa untuk menyeimbangkan waktu bermain game dengan kebutuhan tidur mereka.

Kesimpulan

Dari penelitian ini, dapat disimpulkan bahwa durasi dan intensitas bermain game memiliki pengaruh yang bervariasi pada aspek akademik dan kualitas tidur mahasiswa. Mayoritas responden perempuan menunjukkan bahwa ada pengaruh bermain game terhadap kualitas tidur mereka, meskipun dampaknya cenderung tidak signifikan. Di sisi lain, pengaruh bermain game terhadap hasil akademik tampak lebih signifikan pada responden dengan durasi bermain yang lebih singkat. Temuan ini menggambarkan bahwa pengaturan waktu yang baik dalam bermain game dapat membantu mengurangi dampak negatifnya pada prestasi akademik dan kualitas tidur.

9 Referensi

C. Bakti Siregar, M.Sc., M. S. Andi Pujo Rahadi, S.T., and M. K. Monica Mayeni Manurung, “Pengantar Statistik untuk Sains Data,” Rpubs. [Online]. Available: https://bookdown.org/dsciencelabs/statistika_dasar/_book/Pengumpulan_Data.html

LS0tDQp0aXRsZTogIktlYmlhc2FhbiBCZXJtYWluIEdhbWUgZGkgS2FsYW5nYW4gTWFoYXNpc3dhIGRhbiBQZW5nYXJ1aG55YSBUZXJoYWRhcCBQcmVzdGFzaSBBa2FkZW1payBkYW4gS2VoaWR1cGFuIFNvc2lhbCINCnN1YnRpdGxlOiAiVVRTIFN0YXRpc3Rpa2EgRGFzYXINCktlbG9tcG9rIDciDQphdXRob3I6IA0KICAtICJBbHlhIE1hdXJhIFJhZGl0aGEgKDUyMjQwMDAzKSINCiAgLSAiRHdpIFNyaSBZYW50aSBNYW51bGxhbmcgKDUyMjQwMDMwKSINCiAgLSAiQ2hlbGxvIEZyaGlubyBNaWtlIE0gKDUyMjQwMDMxKSINCiAgLSAiU2l0aSBBemt5YSBOdXJoYWxpbWEgKDUyMjQwMDMyKSINCmRhdGU6ICAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOiAgICMgaHR0cHM6Ly9naXRodWIuY29tL2p1YmEvcm1kZm9ybWF0cw0KICAgIHNlbGZfY29udGFpbmVkOiB0cnVlDQogICAgdGh1bWJuYWlsczogdHJ1ZQ0KICAgIGxpZ2h0Ym94OiB0cnVlDQogICAgZ2FsbGVyeTogdHJ1ZQ0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQ0KICAgIGxpYl9kaXI6IGxpYnMNCiAgICBkZl9wcmludDogInBhZ2VkIg0KICAgIGNvZGVfZm9sZGluZzogInNob3ciDQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgY3NzOiAiQzovVXNlcnMvRGVsbC9PbmVEcml2ZS9Eb2N1bWVudHMvc3RhdGlzL3N0eWxlLmNzcyINCi0tLQ0KDQo8aW1nIGlkPSJmb3RvLWtlbG9tcG9rIiBzcmM9IkM6L1VzZXJzL0RlbGwvT25lRHJpdmUvRG9jdW1lbnRzL3N0YXRpcy9pbWcva2Vsb21wb2s3LmpwZyIgYWx0PSJMb2dvIiBzdHlsZT0id2lkdGg6NjAwcHg7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IGF1dG87Ij4NCg0KIyBMYXBvcmFuIFNpbmdrYXQgU3RhdGlzdGlrYQ0KDQoNCiMjIERlZmluaXNpIGRhbiBBc3Blaw0KDQpTdGF0aXN0aWsgYWRhbGFoIGNhYmFuZyBpbG11IHlhbmcgYmVya2FpdGFuIGRlbmdhbiBwZW5ndW1wdWxhbiwgYW5hbGlzaXMsIGludGVycHJldGFzaSwgZGFuIHByZXNlbnRhc2kgZGF0YS4gU3RhdGlzdGlrIG1lbmdndW5ha2FuIG1ldG9kZSBtYXRlbWF0aXMgZGFuIGFsZ29yaXRtaWsgdW50dWsgbWVuZ2Vsb2xhIGRhdGEgc2VoaW5nZ2EgaW5mb3JtYXNpIHlhbmcgZGlwZXJvbGVoIGRhcGF0IGRpZ3VuYWthbiB1bnR1ayBtZW1idWF0IGtlcHV0dXNhbiB5YW5nIGxlYmloIGJhaWsuDQoNCiMjIyBBc3BlayBVdGFtYSBTdGF0aXN0aWsNCg0KLQkqKlBlbmd1bXB1bGFuIERhdGEqKjogUHJvc2VzIG1lbmd1bXB1bGthbiBkYXRhIGRhcmkgYmVyYmFnYWkgc3VtYmVyIG1lbGFsdWkgc3VydmVpLCBla3NwZXJpbWVuLCBhdGF1IG9ic2VydmFzaS4gTWV0b2RlIGluaSBtZW5jYWt1cCBzYW1wbGluZyBhdGF1IHBlbmd1bXB1bGFuIGRhdGEgbGVuZ2thcCBkYXJpIHBvcHVsYXNpLg0KLQkqKkFuYWxpc2lzIERhdGEqKjogVGVrbmlrLXRla25payBzdGF0aXN0aWsgZGlndW5ha2FuIHVudHVrIG1lbmdhbmFsaXNpcyBkYXRhLCB0ZXJtYXN1ayBkZXNrcmlwdGlmIHN0YXRpc3RpayBzZXBlcnRpIG1lYW4gKHJhdGEtcmF0YSksIG1lZGlhbiwgbW9kZSwgZGFuIGRldmlhc2kgc3RhbmRhciwgc2VydGEgaW5mZXJlbnNpYWwgc3RhdGlzdGlrIHNlcGVydGkgdWppIGhpcG90ZXNpcyBkYW4gYW5hbGlzaXMgcmVncmVzaS4NCi0JKipJbnRlcnByZXRhc2kgRGF0YSoqOiBNZW5hZnNpcmthbiBoYXNpbCBhbmFsaXNpcyB1bnR1ayBtZW1haGFtaSBhcGEgeWFuZyBkYXRhIHRlcnNlYnV0IGthdGFrYW5hIHRlbnRhbmcgZmVub21lbmEgeWFuZyBzZWRhbmcgZGlwZWxhamFyaS4gSW5pIG1lbGliYXRrYW4gcGVuYXJpa2FuIGtlc2ltcHVsYW4geWFuZyBkYXBhdCBtZW5qZWxhc2thbiBwb2xhLCB0cmVuLCBhdGF1IGh1YnVuZ2FuIGRhbGFtIGRhdGEuDQotCSoqUHJlc2VudGFzaSBEYXRhKio6IE1lbnlhamlrYW4gaGFzaWwgYW5hbGlzaXMgZGFsYW0gZm9ybWF0IHlhbmcgTXVkYWggZGlwYWhhbWksIHNlcGVydGkgdGFibGUsIGdyYWZpaywgYXRhdSB2aXN1YWxpc2FzaSBsYWlubnlhLCBzZWhpbmdnYSBpbmZvcm1hc2kgZGFwYXQgZGlzYW1wYWlrYW4gc2VjYXJhIGVmZWt0aWYga2VwYWRhIGF1ZGllbnMuDQoNCiMjIyBQZW50aW5nbnlhIFN0YXRpc3Rpaw0KDQotCSoqUGVuZ2FtYmlsYW4gS2VwdXR1c2FuKio6IFN0YXRpc3RpayBtZW11bmdraW5rYW4gaW5kaXZpZHUgZGFuIG9yZ2FuaXNhc2kgdW50dWsgbWVtYnVhdCBrZXB1dHVzYW4geWFuZyBsZWJpaCBiYWlrIGRhbiBsZWJpaCB0ZXJpbmZvcm1hc2kuIERlbmdhbiBkYXRhIHlhbmcgdGVwYXQgZGFuIGFuYWxpc2lzIHlhbmcgYmVuYXIsIGtlcHV0dXNhbiBkYXBhdCBkaWRhc2Fya2FuIHBhZGEgYnVrdGkgZW1waXJpcyBkYXJpcGFkYSBhc3Vtc2kgYXRhdSBzcGVrdWxhc2kuDQotCSoqSWRlbnRpZmlrYXNpIFBvbGEgZGFuIFRyZW4qKjogTWVsYWx1aSBhbmFsaXNpcyBzdGF0aXN0aWssIGtpdGEgZGFwYXQgbWVuZ2lkZW50aWZpa2FzaSBwb2xhIGRhbiB0cmVuIGRhbGFtIGRhdGEgeWFuZyBtdW5na2luIHRpZGFrIHRlcmxpaGF0IGRlbmdhbiBrYXNhdCBtYXRhLg0KLQkqKlVqaSBIaXBvdGVzaXMqKjogU3RhdGlzdGlrIG1lbXVuZ2tpbmthbiBraXRhIHVudHVrIG1lbmd1amkgaGlwb3Rlc2lzIGF0YXUgdGVvcmkgZGVuZ2FuIG1lbmdndW5ha2FuIGRhdGEuIFVqaSBoaXBvdGVzaXMgc2VwZXJ0aSB0LXRlc3QgYXRhdSBBTk9WQSBkYXBhdCBtZW5lbnR1a2FuIGFwYWthaCBwZXJiZWRhYW4gYW50YXJhIGtlbG9tcG9rIGF0YXUgdmFyaWFibGUgc2lnbmlmaWthbiBzZWNhcmEgc3RhdGlzdGlrLg0KLQkqKlByZWRpa3NpIGRhbiBQZXJlbmNhbmFhbioqOiBEZW5nYW4gbWVuZ2d1bmFrYW4gbW9kZWwgc3RhdGlzdGlrLCBraXRhIGRhcGF0IG1lbWJ1YXQgcHJlZGlrc2kgdGVudGFuZyBrZWphZGlhbiBkaSBtYXNhIGRlcGFuIGJlcmRhc2Fya2FuIGRhdGEgaGlzdG9yaXMuIA0KLQkqKkV2YWx1YXNpIFByb2dyYW0gZGFuIEtlYmlqYWthbioqOiBTdGF0aXN0aWsgZGlndW5ha2FuIHVudHVrIG1lbmdldmFsdWFzaSBlZmVrdGl2aXRhcyBwcm9ncmFtIGF0YXUga2ViaWpha2FuLiBEZW5nYW4gbWVuZ2FuYWxpc2lzIGRhdGEgc2ViZWx1bSBkYW4gc2VzdWRhaCBpbXBsZW1lbnRhc2ksIGtpdGEgZGFwYXQgbWVuaWxhaSBhcGFrYWggcGVydWJhaGFuIHlhbmcgZGlsYWt1a2FuIG1lbWlsaWtpIGRhbXBhayB5YW5nIGRpaW5naW5rYW4uDQotCSoqUGVuZWxpdGlhbiBkYW4gUGVuZ2VtYmFuZ2FuKio6IFN0YXRpc3RpayBtZW1haW5rYW4gcGVyYW4ga3VuY2kgZGFsYW0gbWVyYW5jYW5nIGVrc3BlcmltZW4sIG1lbmdhbmFsaXNpcyBoYXNpbCwgZGFuIG1lbmFyaWsga2VzaW1wdWxhbiB5YW5nIHZhbGlkLg0KLQkqKktlc2VoYXRhbiBkYW4gS2Vkb2t0ZXJhbioqOiBTdGF0aXN0aWsgZGlndW5ha2FuIHVudHVrIGFuYWxpc2lzIGVwaWRlbWlvbG9naSwgdWppIGtsaW5pcywgZGFuIHBlbmVsaXRpYW4gbWVkaXMuIEluaSBtZW1iYW50dSBkYWxhbSBtZW1haGFtaSBwcmV2YWxlbnNpIHBlbnlha2l0LCBlZmVrdGl2aXRhcyBwZW5nb2JhdGFuLCBkYW4gZmFjdG9yIHJpc2lrby4NCg0KIyMgSmVuaXMgU3RhdGlzdGlrYQ0KDQpTdGF0aXN0aWthIHRlcmJhZ2kgbWVuamFkaSBkdWEgamVuaXMgdXRhbWEsIHlhaXR1IFN0YXRpc3Rpa2EgZGVza3JpcHRpZiBkYW4gU3RhdGlzdGlrYSBpbmZlcmVuc2lhbC4gS2VkdWFueWEgbWVtaWxpa2kgdHVqdWFuIGRhbiB0ZWtuaWsgeWFuZyBiZXJiZWRhIGRhbGFtIG1lbmdhbmFsaXNpcyBkYXRhLg0KDQojIyMgU3RhdGlzdGlrYSBEZXNrcmlwdGlmDQoNClN0YXRpc3Rpa2EgZGVza3JpcHRpZiBtZWxpYmF0a2FuIG1ldG9kZSB5YW5nIGRpZ3VuYWthbiB1bnR1ayBtZW5nZ2FtYmFya2FuIGF0YXUgbWVyaW5na2FzIGRhdGEgZGFyaSBzYW1wZWwgYXRhdSBwb3B1bGFzaSB0YW5wYSBtZW1idWF0IGluZmVyZW5zaSBhdGF1IGdlbmVyYWxpc2FzaSB0ZW50YW5nIGRhdGEgdGVyc2VidXQuIFR1anVhbiB1dGFtYSBTdGF0aXN0aWthIGRlc2tyaXB0aWYgYWRhbGFoIHVudHVrIG1lbnlhamlrYW4gZGF0YSBkYWxhbSBiZW50dWsgeWFuZyBNdWRhaCBkaXBhaGFtaSBkYW4gbWVtYmVyaWthbiByaW5na2FzYW4geWFuZyBiZXJndW5hLg0KVGVrbmlrLXRla25payB1dGFtYSBkYWxhbSBTdGF0aXN0aWthIGRlc2tyaXB0aWYgbWVsaXB1dGk6DQoNCjEuCVVrdXJhbiBQZW1ldGFhbiBEYXRhDQotCU1lYW4gKFJhdGEtcmF0YSkNCi0JTWVkaWFuIA0KLQlNb2RlDQoyLglVa3VyYW4gRGlzcGVyc2lvbg0KLQlSYW5nZSAoUmVudGFuZykNCi0JVmFyaWFuY2UNCi0JU3RhbmRhcmQgRGV2aWF0aW9uIChEZXZpYXNpIFN0YW5kYXIpDQozLglWaXN1YWxpc2FzaSBEYXRhDQotCUhpc3RvZ3JhbQ0KLQlCb3ggUGxvdA0KLQlCYXIgQ2hhcnQgZGFuIFBpZSBDaGFydA0KDQojIyMgU3RhdGlzdGlrYSBJbmZlcmVuc2lhbA0KDQpTdGF0aXN0aWthIGluZmVyZW5zaWFsIG1lbGliYXRrYW4gbWV0b2RlIHlhbmcgZGlndW5ha2FuIHVudHVrIG1lbWJ1YXQgZ2VuZXJhbGlzYXNpIGF0YXUgaW5mZXJlbnNpIHRlbnRhbmcgcG9wdWxhc2kgYmVyZGFzYXJrYW4gZGF0YSBzYW1wZWwuIA0KVGVrbmlrLXRla25payB1dGFtYSBkYWxhbSBTdGF0aXN0aWthIGluZmVyZW5zaWFsIG1lbGlwdXRpOg0KDQoxLglVamkgSGlwb3Rlc2lzDQoNCi0JVWppIHQ6IGRpZ3VuYWthbiB1bnR1ayBtZW1iYW5kaW5na2FuIHJhdGEtcmF0YSBkYXJpIGR1YSBrZWxvbXBvayBhdGF1IHNhbXBlbA0KLQlVamkgQU5PVkEgKEFuYWx5c2lzIG9mIFZhcmlhbmNlKTogZGlndW5ha2FuIHVudHVrIG1lbWJhbmRpbmdrYW4gcmF0YS1yYXRhIGFudGFyYSBsZWJpaCBkYXJpIGR1YSBrZWxvbXBvaw0KLQlVamkgQ2hpLVNxdWFyZTogZGlndW5ha2FuIHVudHVrIG1lbmd1amkgaHVidW5nYW4gYW50YXJhIGR1YSB2YXJpYWJsZSBrYXRlZ29yaWthbC4NCg0KMi4JSW50ZXJ2YWwgS2VwZXJjYXlhYW4NCg0KSW50ZXJ2YWwga2VwZXJjYXlhYW4gbWVtYmVyaWthbiByZW50YW5nIG5pbGFpIHlhbmcgbXVuZ2tpbiBtZW5nYW5kdW5nIHBhcmFtZXRlciBwb3B1bGFzaS4NCg0KMy4JUmVncmVzaSBkYW4gS29yZWxhc2kNCg0KLQlSZWdyZXNpOiBtZW5nZ3VuYWthbiBkYXRhIHVudHVrIG1lbW9kZWxrYW4gaHVidW5nYW4gYW50YXJhIHZhcmlhYmxlIGRlcGVuZGVuIGRhbiBzYXR1IGF0YXUgbGViaWggdmFyaWFibGUgaW5kZXBlbmRlbnQsDQotCUtvcmVsYXNpOiBNZW5ndWt1ciBrZWt1YXRhbiBkYW4gYXJhaCBodWJ1bmdhbiBsaW5lYXIgYW50YXJhIGR1YSB2YXJpYWJsZS4NCg0KNC4JU2FtcGxpbmcgZGFuIEVzdGltYXNpDQoNCi0JU2FtcGxpbmc6IHByb3NlcyBwZW1pbGloYW4gc2FtcGVsIGRhcmkgcG9wdWxhc2kgdW50dWsgYW5hbGlzaXMuDQotCUVzdGltYXNpOiBtZW5nZ3VuYWthbiBkYXRhIHNhbXBlbCB1bnR1ayBtZW1wZXJraXJha2FuIHBhcmFtZXRlciBwb3B1bGFzaSwgc2VwZXJ0aSBtZWFuIGF0YXUgcHJvcG9yc2kuDQoNClN0YXRpc3Rpa2EgZGVza3JpcHRpZiBkYW4gaW5mZXJlbnNpYWwgc2FsaW5nIG1lbGVuZ2thcGkgZGFsYW0gYW5hbGlzaXMgZGF0YS4gU3RhdGlzdGlrYSBkZXNrcmlwdGlmIG1lbWJlcmlrYW4gZ2FtYmFyYW4gdW11bSB0ZW50YW5nIGRhdGEsIHNlZGFuZ2thbiBTdGF0aXN0aWthIGluZmVyZW5zaWFsIG1lbXVuZ2tpbmthbiBwZW5hcmlrYW4ga2VzaW1wdWxhbiBkYW4gcGVtYnVhdGFuIGtlcHV0dXNhbiBiZXJkYXNhcmthbiBkYXRhIHRlcnNlYnV0Lg0KDQojIyBKZW5pcyBEYXRhOiBLdWFsaXRhdGlmIHZhLiBLdWFudGl0YXRpZg0KDQojIyMgRGF0YSBLdWFsaXRhdGlmDQoNCkRhdGEga3VhbGl0YXRpZiBhZGFsYWggZGF0YSB5YW5nIG1lbmdnYW1iYXJrYW4ga3VhbGl0YXMgYXRhdSBrYXJha3RlcmlzdGlrIG5vbi1udW1lcmlrLiANCkplbmlzLWplbmlzIGRhdGEga3VhbGl0YXRpZiBtZWxpcHV0aToNCg0KMS4JRGF0YSBOb21pbmFsOiBEYXRhIG5vbWluYWwgYWRhbGFoIGRhdGEgeWFuZyB0ZXJkaXJpIGRhcmkga2F0ZWdvcmkgeWFuZyB0aWRhayBtZW1pbGlraSB1cnV0YW4gYXRhdSBoaWVyYXJraS4NCjIuCURhdGEgT3JkaW5hbDogRGF0YSBvcmRpbmFsIGFkYWxhaCBkYXRhIHlhbmcgbWVtaWxpa2kgdXJ1dGFuIGF0YXUgaGllcmFya2ksIHRldGFwaSBqYXJhayBhbnRhcmEga2F0ZWdvcmkgdGlkYWsgdGVydWt1ciBzZWNhcmEgdGVwYXQuDQoNCiMjIyBEYXRhIEt1YW50aXRhdGlmDQoNCkRhdGEga3VhbnRpdGF0aWYganVnYSBkaWtlbmFsIHNlYmFnYWkgZGF0YSBudW1lcmlrLCBhZGFsYWggZGF0YSB5YW5nIGRhcGF0IGRpdWt1ciBkYW4gZGloaXR1bmcuIA0KSmVuaXMtamVuaXMgZGF0YSBrdWFudGl0YXRpZiBtZWxpcHV0aToNCg0KMS4JRGF0YSBEaXNrcmV0OiBEYXRhIGRpc2tyZXQgYWRhbGFoIGRhdGEgeWFuZyBoYW55YSBkYXBhdCBtZW5nYW1iaWwgbmlsYWkgdGVydGVudHUgZGFsYW0gcmVudGFuZyB5YW5nIHRlcnBpc2FoIGF0YXUgdGVyaGl0dW5nLg0KMi4JRGF0YSBLb250aW51OiBEYXRhIGtvbnRpbnUgYWRhbGFoIGRhdGEgeWFuZyBkYXBhdCBtZW5nYW1iaWwgbmlsYWkgZGFsYW0gcmVudGFuZyB5YW5nIGtvbnRpbnUgYXRhdSB0YWsgdGVyaGluZ2dhLiANCg0KIyBQZW5ndW1wdWxhbiBEYXRhDQoNClBlbmd1bXB1bGFuIGRhdGEgbWVydXBha2FuIHRhaGFwIHBlbnRpbmcgZGFsYW0gcGVuZWxpdGlhbiwgZGkgbWFuYSBwZW5lbGl0aSBtZW5ndW1wdWxrYW4gaW5mb3JtYXNpIHVudHVrIG1lbmphd2FiIHBlcnRhbnlhYW4gcGVuZWxpdGlhbiBhdGF1IG1lbmd1amkgaGlwb3Rlc2lzLg0KDQojIyBEYXRhIFByaW1lcg0KDQpEYXRhIHByaW1lciBhZGFsYWggZGF0YSB5YW5nIGRpa3VtcHVsa2FuIGxhbmdzdW5nIGRhcmkgc3VtYmVybnlhLg0KDQotCVN1cnZlaTogbWV0b2RlIHlhbmcgbWVsaWJhdGthbiBzZXJhbmdrYWlhbiBwZXJ0YW55YWFuIGtlcGFkYSByZXNwb25kZW4uIEt1ZXNpb25lciBkYXBhdCBiZXJ1cGEgcGVydGFueWFhbiB0ZXJ0dXR1cCAocGlsaWhhbiBnYW5kYSkgYXRhdSB0ZXJidWthLg0KLQlXYXdhbmNhcmE6IG1ldG9kZSBwZW5ndW1wdWxhbiBkYXRhIG1lbGFsdWkgcGVyY2FrYXBhbiBsYW5nc3VuZy4gSW5pIGJpc2EgdGVyc3RydWt0dXIgKHBlcnRhbnlhYW4gdGV0YXApIGF0YXUgc2VtaS10ZXJzdHJ1a3R1ciAoZmxla3NpYmVsKQ0KLQlPYnNlcnZhc2k6IG1ldG9kZSBwZW5ndW1wdWxhbiBkZW5nYW4gbWVuZ2FtYXRpIHN1YmplayBhdGF1IG9iamVrIHRhbnBhIGludGVyYWtzaSBsYW5nc3VuZy4NCi0JRWtzcGVyaW1lbjogbWVsaWJhdGthbiBjb250cm9sIHZhcmlhYmxlIHVudHVrIG1lbGloYXQgcGVuZ2FydWhueWEgdGVyaGFkYXAgdmFyaWFibGUgbGFpbi4NCg0KIyMgRGF0YSBTZWt1bmRlcg0KDQpEYXRhIHNla3VuZGVyIGFkYWxhaCBkYXRhIHlhbmcgc3VkYWggZGlrdW1wdWxrYW4gb2xlaCBwaWhhayBsYWluLCB0ZXJzZWRpYSBkYWxhbSBkb2t1bWVuLCBsYXBvcmFuLCBhdGF1IGJhc2lzIGRhdGEuDQoNCi0JU3VtYmVyIFRlcnR1bGlzOiBQZW5ndW1wdWxhbiBkYXRhIGRhcmkgc3VtYmVyIHRlcnR1bGlzIG1lbGliYXRrYW4gZG9rdW1lbiB5YW5nIHN1ZGFoIGFkYSwgc2VwZXJ0aSBsYXBvcmFuIHRhaHVuYW4gYXRhdSBhcnRpa2VsLg0KLQlEYXRhYmFzZSBQdWJsaWs6IERhdGEgc2VrdW5kZXIganVnYSBiaXNhIGRpcGVyb2xlaCBkYXJpIGJhc2lzIGRhdGEgcHVibGljIHNlcGVydGkgZGF0YSBzZW5zdXMuDQoNCiMjIFJlbGlhYmlsaXRhcyBkYW4gVmFsaWRpdGFzDQoNClJlbGlhYmlsaXRhcyBkYW4gdmFsaWRpdGFzIGFkYWxhaCBkdWEga29uc2VwIHBlbnRpbmcgeWFuZyBtZW5lbnR1a2FuIGt1YWxpdGFzIGluZm9ybWFzaSB5YW5nIGRpcGVyb2xlaCBkYWxhbSBwZW5lbGl0aWFuLg0KDQotCVJlbGlhYmlsaXRhcyBEYXRhOiBrb25zaXN0ZW5zaSBwZW5ndWt1cmFuIGRhcmkgd2FrdHUga2Ugd2FrdHUuIERhdGEgeWFuZyByZWxpYWJlbCBtZW1iZXJpa2FuIGhhc2lsIHlhbmcgc2FtYSBkZW5nYW4ga29uZGlzaSB5YW5nIHNhbWEuDQotCVZhbGlkaXRhcyBEYXRhOiBtZW5ndWt1ciBzZWphdWggbWFuYSBpbnN0cnVtZW50IG1lbmd1a3VyIGFwYSB5YW5nIHNlaGFydXNueWEgZGl1a3VyLg0KDQojIFBlbnlhamlhbiBEYXRhDQoNClBlbnlhamlhbiBEYXRhIGFkYWxhaCBwcm9zZXMgcGVuZ29yZ2FuaXNhc2lhbiwgdmlzdWFsaXNhc2ksIGRhbiBpbnRlcnByZXRhc2kgZGF0YSBhZ2FyIGxlYmloIG11ZGFoIGRpcGFoYW1pIGRhbiBkYXBhdCBkaWFtYmlsIGtlc2ltcHVsYW4uIERhbGFtIGtvbnRla3MgYW5hbGlzaXMgZGF0YSwgcGVueWFqaWFuIGRpbGFrdWthbiBkZW5nYW4gbWVuZ2d1bmFrYW4gYmVyYmFnYWkgYWxhdCBkYW4gbWV0b2RlIHZpc3VhbGlzYXNpIHNlcGVydGkgdGFibGUsIGdyYWZpaywgZGFuIGRpYWdyYW0sIHRlcmdhbnR1bmcgcGFkYSBqZW5pcyBkYXRhbnlhIChrdWFsaXRhdGlmIGF0YXUga3VhbnRpdGF0aWYpLg0KDQojIyBEYXRhIEt1YWxpdGF0aWYNCg0KRGF0YSBrdWFsaXRhdGlmIGJpYXNhbnlhIG1lbmdnYW1iYXJrYW4ga2F0ZWdvcmkgYXRhdSBrZWxvbXBvaywgc2VwZXJ0aSBqZW5pcyBrZWxhbWluLCBwcmVmcmVuc2kgcHJvZHVrLCBhdGF1IGNhcmEgcGVtYmVsaWFuLiBQZW55YWppYW4gZGF0YSBrdWFsaXRhdGlmIGJpc2EgZGlsYWt1a2FuIGRlbmdhbjoNCg0KLQlUYWJlbCBEaXN0cmlidXNpIEZyZWt1ZW5zaQ0KLQlEaWFncmFtIEJhdGFuZw0KLQlEaWFncmFtIExpbmdrYXJhbg0KDQojIyBEYXRhIEt1YW50aXRhdGlmDQoNCkRhdGEga3VhbnRpdGF0aWYgbWVuZ2dhbWJhcmthbiB2YXJpYWJsZSBudW1lcmlrIHNlcGVydGkgdXNpYSwgcGVuZGFwYXRhbiwgZGFuIGp1bWxhaCBwZW1iZWxpYW4uIFBlbnlhamlhbiBkYXRhIGt1YW50aXRhdGlmIGRhcGF0IGRpbGFrdWthbiBkZW5nYW46DQoNCi0JRGlhZ3JhbSBIaXN0b2dyYW0NCi0JRGlhZ3JhbSBHYXJpcw0KLQlEaWFncmFtIEJveHBsb3QNCg0KIyMgTXVsdGl2YXJpYXQgRGF0YQ0KDQpEYXRhIG11bHRpdmFyaWF0IGFkYWxhaCBkYXRhIHlhbmcgbWVsaWJhdGthbiBsZWJpaCBkYXJpIGR1YSB2YXJpYWJsZSBwYWRhIHdha3R1IHlhbmcgc2FtYS4gUGVueWFqaWFuIGRhdGEgbXVsdGl2YXJpYXQgc2VyaW5nIG1lbmdndW5ha2FuOg0KDQotCVNjYXR0ZXIgUGxvdCBNYXRyaXgNCi0JSGVhdG1hcA0KDQoNCiMgQ29udG9oIEthc3VzOiBBbmFsaXNpcyBLZWJpYXNhYW4gQmVybWFpbiBHYW1lDQoNCkRhbGFtIGFuYWxpc2lzIGluaSwgcGVuZ3VtcHVsYW4gZGF0YSB0ZXJrYWl0IGRlbmdhbiAiKipLZWJpYXNhYW4gQmVybWFpbiBHYW1lIGRpIEthbGFuZ2FuIE1haGFzaXN3YSoqIiBkaWxha3VrYW4gbWVuZ2d1bmFrYW4gKiptZXRvZGUgcGVuZ3VtcHVsYW4gc3VydmVpIGRlbmdhbiBrdWVzaW9uZXIqKi4gTWV0b2RlIGluaSBtZW11bmdraW5rYW4gcGVuZ3VtcHVsYW4gZGF0YSBsYW5nc3VuZyBkYXJpIG1haGFzaXN3YSwgYmFpayBkYWxhbSBiZW50dWsgZGF0YSBrdWFudGl0YXRpZiBtYXVwdW4ga3VhbGl0YXRpZiwgc2VjYXJhIHNlZGVyaGFuYSBkYW4gdGVyc3RydWt0dXIuIERlbmdhbiBrdWVzaW9uZXIsIGtpdGEgZGFwYXQgbWVuZ2FqdWthbiBwZXJ0YW55YWFuIHNwZXNpZmlrIG1lbmdlbmFpIGtlYmlhc2FhbiBiZXJtYWluIGdhbWUsIGRhbXBha255YSB0ZXJoYWRhcCBha2FkZW1paywgZGFuIHBlcnNlcHNpIG1haGFzaXN3YSBtZW5nZW5haSBwZW5nYXJ1aCBnYW1lIHRlcmhhZGFwIGtlaGlkdXBhbiBzb3NpYWwgbWVyZWthLg0KDQojIyBQcm9zZXMgUGVuZ3VtcHVsYW4gRGF0YSBNZWxhbHVpIEt1ZXNpb25lcg0KDQpEYWxhbSBrdWVzaW9uZXIgaW5pLCBiZWJlcmFwYSBwZXJ0YW55YWFuIGRpYWp1a2FuIHVudHVrIG1lbmd1bXB1bGthbiBpbmZvcm1hc2kgeWFuZyByZWxldmFuLCBzZXBlcnRpOg0KDQoqKi0gRHVyYXNpIEJlcm1haW4gR2FtZToqKiBNYWhhc2lzd2EgZGltaW50YSBtZW5jYW50dW1rYW4gd2FrdHUgcmF0YS1yYXRhIChkYWxhbSBqYW0gYXRhdSBtZW5pdCkgeWFuZyBkaWhhYmlza2FuIHVudHVrIGJlcm1haW4gZ2FtZSBwZXIgaGFyaS4NCg0KKiotIEdlbnJlIEdhbWUgRmF2b3JpdDoqKiBNYWhhc2lzd2EgbWVtaWxpaCBkYXJpIGRhZnRhciBnZW5yZSAoYWtzaSwgcGV0dWFsYW5nYW4sIHB1enpsZSwgb2xhaHJhZ2EsIGRsbC4pIHVudHVrIG1lbmdldGFodWkgcHJlZmVyZW5zaSBqZW5pcyBnYW1lIHlhbmcgZGltYWlua2FuLg0KDQoqKi0gRGFtcGFrIFRlcmhhZGFwIFByZXN0YXNpIEFrYWRlbWlrOioqIFBlcnRhbnlhYW4gbWVuZ2VuYWkgcGVuZ2FydWgga2ViaWFzYWFuIGJlcm1haW4gZ2FtZSB0ZXJoYWRhcCBuaWxhaSBhdGF1IHBlbmNhcGFpYW4gYWthZGVtaWsgbWVyZWthLg0KDQoqKi0gRGFtcGFrIFRlcmhhZGFwIEtlaGlkdXBhbiBTb3NpYWw6KiogUGVydGFueWFhbiBtZW5nZW5haSBiYWdhaW1hbmEga2ViaWFzYWFuIGJlcm1haW4gZ2FtZSBtZW1wZW5nYXJ1aGkgaW50ZXJha3NpIHNvc2lhbCBhdGF1IGh1YnVuZ2FuIGRlbmdhbiB0ZW1hbi4NCg0KS3Vlc2lvbmVyIGluaSBkaWJhZ2lrYW4ga2VwYWRhIHNla2Vsb21wb2sgcmVzcG9uZGVuIHlhbmcgbWV3YWtpbGkgcG9wdWxhc2kgbWFoYXNpc3dhLiBNZXRvZGUga3Vlc2lvbmVyIG1lbXVkYWhrYW4gcGVuZ3VtcHVsYW4gZGF0YSBkYWxhbSBqdW1sYWggYmVzYXIgc2VjYXJhIGNlcGF0LCBzZWhpbmdnYSBoYXNpbG55YSBkYXBhdCBkaW9sYWggc2VjYXJhIHN0YXRpc3RpayB1bnR1ayBtZW1iZXJpa2FuIHdhd2FzYW4gdGVudGFuZyBwb2xhIGtlYmlhc2FhbiBiZXJtYWluIGdhbWUgZGkga2FsYW5nYW4gbWFoYXNpc3dhLg0KDQojIyBKZW5pcyBEYXRhIHlhbmcgRGlwZXJvbGVoDQoNCkRhdGEgeWFuZyBkaXBlcm9sZWggZGFyaSBrdWVzaW9uZXIgaW5pIHRlcmRpcmkgZGFyaToNCg0KLQkqKkRhdGEgS3VhbnRpdGF0aWYqKjogU2VwZXJ0aSBkdXJhc2kgcmF0YS1yYXRhIGJlcm1haW4gZ2FtZSBwZXIgaGFyaSAoZGFsYW0gamFtL21lbml0KSBkYW4gZnJla3VlbnNpIGJlcm1haW4gZ2FtZSBwZXIgbWluZ2d1LiBEYXRhIGluaSBtZW1iZXJpa2FuIGdhbWJhcmFuIGt1YW50aXRhdGlmIG1lbmdlbmFpIGludGVuc2l0YXMgYmVybWFpbiBnYW1lIGRpIGthbGFuZ2FuIG1haGFzaXN3YS4NCi0JKipEYXRhIEt1YWxpdGF0aWYqKjogVGVybWFzdWsgZ2VucmUgZ2FtZSBmYXZvcml0IGRhbiBwZXJzZXBzaSBkYW1wYWsgZ2FtZSBwYWRhIGFrYWRlbWlrIGRhbiBrZWhpZHVwYW4gc29zaWFsLiBEYXRhIGluaSBtZW1iYW50dSBtZW5nZ2FtYmFya2FuIHBhbmRhbmdhbiBtYWhhc2lzd2EgZGFuIHBlbmdhcnVoIGtlYmlhc2FhbiBiZXJtYWluIGdhbWUgc2VjYXJhIGxlYmloIG1lbmRhbGFtLg0KDQojIyBQZW55YWppYW4gRGF0YSBNZW5nZ3VuYWthbiBUYWJlbA0KDQpVbnR1ayBtZW1wZXJtdWRhaCAqKmludGVycHJldGFzaSBoYXNpbCBzdXJ2ZWkqKiwgZGF0YSBkYXJpIGt1ZXNpb25lciBkaXNhamlrYW4gZGFsYW0gYmVudHVrICoqdGFiZWwqKi4gVGFiZWwgaW5pIG1lbXVkYWhrYW4gcGVtYmFjYSBtZWxpaGF0IHBlcmJhbmRpbmdhbiBhbnRhci1rYXRlZ29yaSBzZWNhcmEgdGVyc3RydWt0dXIsIHNlaGluZ2dhIHBvbGEgYXRhdSB0cmVuIGRhcGF0IGRlbmdhbiBtdWRhaCBkaWlkZW50aWZpa2FzaS4gUGVueWFqaWFuIGRhdGEgZGFsYW0gYmVudHVrIHRhYmVsIG1lbWJlcmlrYW4gZ2FtYmFyYW4geWFuZyBqZWxhcyB0ZW50YW5nIGtlYmlhc2FhbiBiZXJtYWluIGdhbWUgZGkga2FsYW5nYW4gbWFoYXNpc3dhLCB5YW5nIGRhcGF0IGRpZ3VuYWthbiB1bnR1ayBtZW5pbGFpIGRhbXBha255YSB0ZXJoYWRhcCBrZWhpZHVwYW4gYWthZGVtaWsgZGFuIHNvc2lhbCBtZXJla2EuDQoNCg0KIyBBbmFsaXNpcyBLZWJpYXNhYW4gQmVybWFpbiBHYW1lDQoNClVudHVrIG1lbmdhbmFsaXMgKioiS2ViaWFzYWFuIEJlcm1haW4gR2FtZSBkaSBLYWxhbmdhbiBNYWhhc2lzd2Egc2VydGEgUGVuZ2FydWhueWEgVGVyaGFkYXAgUHJlc3Rhc2kgQWthZGVtaWsgZGFuIEtlaGlkdXBhbiBTb3NpYWwqKiIuIE1ldG9kZSBwZW5ndW1wdWxhbiBkYXRhIHlhbmcgc2VzdWFpIGhhcnVzIG1hbXB1IG1lbmFuZ2thcCBhc3BlayBrdWFudGl0YXRpZiBkYW4ga3VhbGl0YXRpZi4gSW5pIGthcmVuYSB0b3BpayBpbmkgdGlkYWsgaGFueWEgbWVtYnV0dWhrYW4gYW5na2EgKHNlcGVydGkgZHVyYXNpIGJlcm1haW4gYXRhdSBuaWxhaSBha2FkZW1payksIHRldGFwaSBqdWdhIHBlbmdhbGFtYW4gcHJpYmFkaSBkYW4gcGVyc2Vwc2kgbWFoYXNpc3dhLiBCZXJpa3V0IGFkYWxhaCBtZXRvZGUgcGVuZ3VtcHVsYW4gZGF0YSB5YW5nIHNlc3VhaToNCg0KIyMgU3VydmVpIGRlbmdhbiBLdWVzaW9uZXINCg0KIyMjCUVmaXNpZW5zaSBXYWt0dQ0KKipHb29nbGUgRm9ybSoqIG1lbXVuZ2tpbmthbiBwZW5ndW1wdWxhbiBkYXRhIGRhbGFtIHdha3R1IHlhbmcgcmVsYXRpZiBzaW5na2F0IGthcmVuYSBkYXBhdCBkaXNlYmFya2FuIHNlY2FyYSBvbmxpbmUuIE1haGFzaXN3YSBkYXBhdCBtZW5naXNpIGt1ZXNpb25lciBkaSBtYW5hIHNhamEgICAgICAgIGRhbiBrYXBhbiBzYWphLCBzZWhpbmdnYSBkYXRhIGRhcGF0IHRlcmt1bXB1bCBsZWJpaCBjZXBhdCBkaWJhbmRpbmdrYW4gbWV0b2RlIGxhaW4gc2VwZXJ0aSB3YXdhbmNhcmEgYXRhdSBvYnNlcnZhc2kgbGFuZ3N1bmcuDQoNCiMjIwlLZW11ZGFoYW4gQWtzZXMNCkRlbmdhbiAqKkdvb2dsZSBGb3JtKiosICpzdXJ2ZWkqIGRhcGF0IGRpc2ViYXJrYW4gZGVuZ2FuIG11ZGFoIG1lbGFsdWkgdGF1dGFuIHlhbmcgICAgZGliYWdpa2FuIGxld2F0IGVtYWlsLCBncnVwIG1lZGlhIHNvc2lhbCwgYXRhdSBwbGF0Zm9ybSBrYW1wdXMuIEluaSBtZW11ZGFoa2FuICAgICAgICByZXNwb25kZW4gdW50dWsgYmVycGFydGlzaXBhc2kgdGFucGEgcGVybHUgaGFkaXIgc2VjYXJhIGZpc2lrIGF0YXUgbWVuZ2F0dXIgd2FrdHUgICAgIGtodXN1cywgeWFuZyBtZW5naGVtYXQgd2FrdHUgYmFpayBiYWdpIHBlbmVsaXRpIG1hdXB1biByZXNwb25kZW4uDQoNCiMjIwlLZW1hbXB1YW4gTWVuZ3VtcHVsa2FuIERhdGEgS3VhbnRpdGF0aWYgZGFuIEt1YWxpdGF0aWYNCioqR29vZ2xlIEZvcm0qKiBtZW11bmdraW5rYW4gcGVuZWxpdGkgdW50dWsgbWVuZ3VtcHVsa2FuIGRhdGEgZGFsYW0gYmVudHVrICoqcGlsaWhhbiAgZ2FuZGEgYXRhdSBwZXJ0YW55YWFuIHRlcmJ1a2EqKi4gRGVuZ2FuIGZvcm1hdCBpbmksIHBlbmVsaXRpIGRhcGF0IG1lbXBlcm9sZWggZGF0YSBrdWFudGl0YXRpZiBtZW5nZW5haSBmcmVrdWVuc2kgZGFuIGR1cmFzaSBiZXJtYWluIGdhbWUsIHNlcnRhIGRhdGEga3VhbGl0YXRpZiAgICAgICAgIHNlcGVydGkgcGVyc2Vwc2kgcmVzcG9uZGVuIHRlcmhhZGFwIGRhbXBhayBiZXJtYWluIGdhbWUuDQoNCiMjIwlQZW5nb2xhaGFuIERhdGEgeWFuZyBNdWRhaA0KRGF0YSB5YW5nIHRlcmt1bXB1bCBkYXJpIEdvb2dsZSBGb3JtIGxhbmdzdW5nIHRlcmludGVncmFzaSBkYWxhbSBiZW50dWsgICAgICAgICAgICAgICAqKnNwcmVhZHNoZWV0KiosIHNlaGluZ2dhIG1lbXVkYWhrYW4gcGVuZWxpdGkgZGFsYW0gbWVsYWt1a2FuIGFuYWxpc2lzIGxlYmloIGxhbmp1dCAgIHRhbnBhIGhhcnVzIG1lbmdpbnB1dCBkYXRhIHNlY2FyYSBtYW51YWwuIEluaSBtZW5naGVtYXQgd2FrdHUgZGFsYW0gcHJvc2VzICAgICAgICAgICAgcGVuZ29sYWhhbiBkYW4gYW5hbGlzaXMgZGF0YS4NCg0KDQojIyBKZW5pcyBEYXRhIHlhbmcgRGloYXNpbGthbg0KRGVuZ2FuIGt1ZXNpb25lciBHb29nbGUgRm9ybSwgamVuaXMgZGF0YSB5YW5nIGRpaGFzaWxrYW4gbWVsaXB1dGk6DQpgYGB7ciwgZWNobz1GQUxTRX0NCg0KaGVhZChkYXRhX2t1ZXNpb25lciA8LSByZWFkLmNzdigifi91dHMvdXRzc3RhdGlzL2RhdGEzLmNzdiIpKQ0KDQoNCg0KYGBgDQoNCiMjIyBEYXRhIEt1YW50aXRhdGlmDQoqKkRhdGEga3VhbnRpdGF0aWYqKiBpbmkgYmVyYmVudHVrIGFuZ2thIGRhbiBkYXBhdCBkaWhpdHVuZyBhdGF1IGRpdWt1ci4gU2VwZXJ0aSBmcmVrdWVuc2kgYmVybWFpbiBnYW1lIHBlciBtaW5nZ3UsIHJhdGEtcmF0YSBkdXJhc2kgYmVybWFpbiBwZXIgc2VzaSwgZGFuIHBlcnNlbnRhc2UgbWFoYXNpc3dhIHlhbmcgbWVyYXNha2FuIGRhbXBhayBwYWRhIGFrYWRlbWlrLg0KDQojIyMgRGF0YSBLdWFsaXRhdGlmDQoqKkRhdGEga3VhbGl0YXRpZioqIGluaSBiZXJzaWZhdCBkZXNrcmlwdGlmIGRhbiBiaWFzYW55YSBiZXJ1cGEgdGVrcywga2F0YS1rYXRhLCBhdGF1IGthdGVnb3JpIHlhbmcgbWVuZ2dhbWJhcmthbiBrdWFsaXRhcyBhdGF1IGthcmFrdGVyaXN0aWsuIFNlcGVydGkgcGVyc2Vwc2kgbWFoYXNpc3dhIHRlbnRhbmcgYmFnYWltYW5hIGJlcm1haW4gZ2FtZSBtZW1lbmdhcnVoaSBwcmVzdGFzaSBha2FkZW1payBkYW4ga2VoaWR1cGFuIHNvc2lhbCBtZXJla2EuDQoNCkRlbmdhbiBtZXRvZGUgaW5pLCBoYXNpbCBhbmFsaXNpcyBkYXBhdCBtZW1wZXJvbGVoIGluZm9ybWFzaSB5YW5nIHJlbGV2YW4gc2VjYXJhIGVmaXNpZW4gZGFuIHBlbnlhamlhbiBkYXRhIHlhbmcgZWZla3RpZi4NCg0KDQoNCg0KIyBBbmFsaXNpcyBHcmFmaWsgMQ0KDQpgYGB7ciwgZWNobz1GQUxTRSwgd2FybmluZz1GQUxTRX0NCg0KbGlicmFyeShnZ3Bsb3QyKQ0KDQpkYXRhIDwtIGRhdGEuZnJhbWUoDQogIER1cmFzaSA9IGMoIkt1cmFuZyBkYXJpIDEgamFtIiwgIjEtMiBqYW0iLCAiMy00IGphbSIsICI1IGphbSBhdGF1IGxlYmloIiksDQogIFRpZGFrX21lbWVuZ2FydWhpID0gYyg0LCAyLCAxLCAwKSwNCiAgU2VkaWtpdF9tZW1lbmdhcnVoaSA9IGMoMSwgMywgMywgMiksDQogIEN1a3VwX21lbWVuZ2FydWhpID0gYygyLCA2LCA0LCAzKSwNCiAgU2FuZ2F0X21lbWVuZ2FydWhpID0gYygzLCA0LCA0LCAxKQ0KKQ0KbGlicmFyeShyZXNoYXBlMikNCmRhdGFfbWVsdCA8LSBtZWx0KGRhdGEsIGlkLnZhcnMgPSAiRHVyYXNpIiwgdmFyaWFibGUubmFtZSA9ICJQZW5nYXJ1aCIsIHZhbHVlLm5hbWUgPSAiTmlsYWkiKQ0KDQpnZ3Bsb3QoZGF0YV9tZWx0LCBhZXMoeCA9IER1cmFzaSwgeSA9IE5pbGFpLCBjb2xvciA9IFBlbmdhcnVoLCBncm91cCA9IFBlbmdhcnVoKSkgKw0KICBnZW9tX2xpbmUobGluZXdpZHRoID0gMSkgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyKSArDQogIGxhYnModGl0bGUgPSAiUGVuZ2FydWggRHVyYXNpIEJlcm1haW4gR2FtZSBkZW5nYW4gSGFzaWwgQWthZGVtaWsiLA0KICAgICAgIHggPSAiRHVyYXNpIEJlcm1haW4gR2FtZSIsDQogICAgICAgeSA9ICJKdW1sYWggUmVzcG9uZGVuIikgKw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gYygiYmx1ZSIsICJyZWQiLCAieWVsbG93IiwgImdyZWVuIikpICsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkNCg0KDQpgYGANCkJlcmRhc2Fya2FuIGdyYWZpayB0ZXJzZWJ1dCwga2l0YSBkYXBhdCBtZWxpaGF0IGh1YnVuZ2FuIGFudGFyYSBkdXJhc2kgYmVybWFpbiBnYW1lIGRhbiBwZW5nYXJ1aG55YSB0ZXJoYWRhcCBoYXNpbCBha2FkZW1payByZXNwb25kZW4uIEJlcmlrdXQgYWRhbGFoIGFuYWxpc2lzIHBlciBrYXRlZ29yaSBwZW5nYXJ1aDoNCg0KMS4gKipUaWRhayBNZW1lbmdhcnVoaSAoV2FybmEgQmlydSkqKjoNCiAgIC0gUmVzcG9uZGVuIHlhbmcgbWVueWF0YWthbiBiZXJtYWluIGdhbWUgdGlkYWsgbWVtZW5nYXJ1aGkgaGFzaWwgYWthZGVtaWsgbWVtaWxpa2kganVtbGFoIHRlcnRpbmdnaSBwYWRhIGR1cmFzaSAia3VyYW5nIGRhcmkgMSBqYW0iIGRhbiBtZW51cnVuIHNlaXJpbmcgbWVuaW5na2F0bnlhIGR1cmFzaSBiZXJtYWluIGdhbWUuDQogICAtIEhhbCBpbmkgbWVuZ2luZGlrYXNpa2FuIGJhaHdhIHJlc3BvbmRlbiB5YW5nIGJlcm1haW4gZ2FtZSBsZWJpaCBsYW1hIGNlbmRlcnVuZyBtZXJhc2FrYW4gcGVuZ2FydWggcGFkYSBoYXNpbCBha2FkZW1payBtZXJla2EuDQoNCjIuICoqU2VkaWtpdCBNZW1lbmdhcnVoaSAoV2FybmEgTWVyYWgpKio6DQogICAtIFJlc3BvbmRlbiB5YW5nIG1lcmFzYWthbiBzZWRpa2l0IHBlbmdhcnVoIGRhcmkgYmVybWFpbiBnYW1lIG1lbnVuanVra2FuIGp1bWxhaCB5YW5nIHN0YWJpbCBwYWRhIGR1cmFzaSBiZXJtYWluIDEtMiBqYW0gaGluZ2dhIDUgamFtIGF0YXUgbGViaWguDQogICAtIFBhZGEgZHVyYXNpICJrdXJhbmcgZGFyaSAxIGphbSwiIGp1bWxhaCByZXNwb25kZW4geWFuZyBtZXJhc2FrYW4gc2VkaWtpdCBwZW5nYXJ1aCBtZW51cnVuIGRyYXN0aXMuDQoNCjMuICoqQ3VrdXAgTWVtZW5nYXJ1aGkgKFdhcm5hIEt1bmluZykqKjoNCiAgIC0gUGVuZ2FydWggY3VrdXAgbWVtZW5nYXJ1aGkgcGFsaW5nIGJhbnlhayBkaXJhc2FrYW4gb2xlaCByZXNwb25kZW4geWFuZyBiZXJtYWluIHNlbGFtYSAxLTIgamFtLCBuYW11biBqdW1sYWhueWEgbWVudXJ1biB0YWphbSBrZXRpa2EgZHVyYXNpIGJlcm1haW4gYmVydGFtYmFoLg0KICAgLSBJbmkgbWVudW5qdWtrYW4gYmFod2EgYmVybWFpbiBnYW1lIGRhbGFtIGR1cmFzaSBzZWRhbmcgKDEtMiBqYW0pIGxlYmloIHRlcmFzYSBwZW5nYXJ1aG55YSBkaWJhbmRpbmdrYW4gZHVyYXNpIGxhaW5ueWEuDQoNCjQuICoqU2FuZ2F0IE1lbWVuZ2FydWhpIChXYXJuYSBIaWphdSkqKjoNCiAgIC0gUGVuZ2FydWggc2FuZ2F0IG1lbWVuZ2FydWhpIHBhbGluZyBiYW55YWsgZGlyYXNha2FuIHBhZGEgZHVyYXNpIGJlcm1haW4gMS0yIGphbSwgdGV0YXBpIGp1bWxhaCByZXNwb25kZW4geWFuZyBtZXJhc2FrYW4gcGVuZ2FydWggaW5pIGJlcmt1cmFuZyBzZWlyaW5nIG1lbmluZ2thdG55YSBkdXJhc2kgYmVybWFpbi4NCiAgIC0gUmVzcG9uZGVuIGRlbmdhbiBkdXJhc2kgImt1cmFuZyBkYXJpIDEgamFtIiBqdWdhIG1lbnVuanVra2FuIGFkYW55YSBwZW5nYXJ1aCB5YW5nIGN1a3VwIHNpZ25pZmlrYW4uDQoNCioqS2VzaW1wdWxhbioqOg0KR3JhZmlrIGluaSBtZW51bmp1a2thbiBiYWh3YSBzZW1ha2luIGxhbWEgZHVyYXNpIGJlcm1haW4gZ2FtZSwgc2VtYWtpbiBrZWNpbCBqdW1sYWggcmVzcG9uZGVuIHlhbmcgbWVyYXNhIHRpZGFrIGRpcGVuZ2FydWhpIG9sZWggYWt0aXZpdGFzIHRlcnNlYnV0LiBSZXNwb25kZW4geWFuZyBiZXJtYWluIGdhbWUgZGVuZ2FuIGR1cmFzaSB5YW5nIGxlYmloIHNpbmdrYXQgKGt1cmFuZyBkYXJpIDEgamFtIGhpbmdnYSAxLTIgamFtKSBjZW5kZXJ1bmcgbWVyYXNhIGFkYSBwZW5nYXJ1aCBwYWRhIGhhc2lsIGFrYWRlbWlrLCBiYWlrIHNlZGlraXQsIGN1a3VwLCBtYXVwdW4gc2FuZ2F0IG1lbWVuZ2FydWhpLg0KDQoNCiMgQW5hbGlzaXMgR3JhZmlrIDINCg0KYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2UgPSBGQUxTRX0NCiMgTG9hZCBuZWNlc3NhcnkgbGlicmFyaWVzDQpsaWJyYXJ5KHBsb3RseSkNCg0KIyBEYXRhIHdha3R1IGJlcm1haW4gZ2FtZSAoZGFsYW0gamFtKSBkYW4gcGVyc2VudGFzZW55YQ0KZGF0YSA8LSBkYXRhLmZyYW1lKA0KICBQZW5nYXJ1aCA9IGMoIlRpZGFrIE1lbXBlbmdhcnVoaSIsICJTZWRpa2l0IE1lbXBlbmdhcnVoaSIsICJDdWt1cCBNZW1wZW5nYXJ1aGkiLCAiU2FuZ2F0IE1lbXBlbmdhcnVoaSIpLA0KICBQZXJzZW50YXNlID0gYygyMCwgMzAsIDMzLjMsIDE2LjYpDQopDQoNCiMgQ3JlYXRlIGludGVyYWN0aXZlIHBpZSBjaGFydCB3aXRoIHBsb3RseQ0KZmlnIDwtIHBsb3RfbHkoDQogIGRhdGEsDQogIGxhYmVscyA9IH5QZW5nYXJ1aCwNCiAgdmFsdWVzID0gflBlcnNlbnRhc2UsDQogIHR5cGUgPSAncGllJywNCiAgdGV4dGluZm8gPSAnbGFiZWwrcGVyY2VudCcsDQogIGhvbGUgPSAiMC4xIiwNCiAgaW5zaWRldGV4dG9yaWVudGF0aW9uID0gJ3JhZGlhbCcNCikgJT4lDQogIGxheW91dCgNCiAgICB0aXRsZSA9ICJQZW5nYXJ1aCBHYW1lIFRlcmhhZGFwIEt1YWxpdGFzIFRpZHVyIiwNCiAgICBzaG93bGVnZW5kID0gVFJVRQ0KICApDQoNCmZpZw0KYGBgDQoNCkdyYWZpayBkaSBhdGFzIGFkYWxhaCBkaWFncmFtIHBpZSB5YW5nIG1lbnVuanVra2FuIHBlbmdhcnVoIGJlcm1haW4gZ2FtZSB0ZXJoYWRhcCBrdWFsaXRhcyB0aWR1ci4gQmVyaWt1dCBhZGFsYWggYW5hbGlzaXMgYmVyZGFzYXJrYW4gZGF0YSBkYWxhbSBncmFmaWs6DQoNCjEuICoqQ3VrdXAgTWVtZW5nYXJ1aGkgKFdhcm5hIEJpcnUgLSAzMy4zJSkqKjoNCiAgIC0gU2ViYWdpYW4gYmVzYXIgcmVzcG9uZGVuICgzMy4zJSkgbWVyYXNhIGJhaHdhIGJlcm1haW4gZ2FtZSBjdWt1cCBtZW1lbmdhcnVoaSBrdWFsaXRhcyB0aWR1ciBtZXJla2EuDQogICAtIEluaSBtZW51bmp1a2thbiBiYWh3YSBha3Rpdml0YXMgYmVybWFpbiBnYW1lIG11bmdraW4gYmVyZGFtcGFrIG1vZGVyYXQgcGFkYSBrdWFsaXRhcyB0aWR1ciBzZWJhZ2lhbiByZXNwb25kZW4sIG1lc2tpcHVuIHRpZGFrIG1lbmdnYW5nZ3Ugc2VjYXJhIHNpZ25pZmlrYW4uDQoNCjIuICoqU2VkaWtpdCBNZW1lbmdhcnVoaSAoV2FybmEgT3JhbnllIC0gMzAlKSoqOg0KICAgLSBTZWJhbnlhayAzMCUgcmVzcG9uZGVuIG1lcmFzYSBwZW5nYXJ1aCBkYXJpIGJlcm1haW4gZ2FtZSBoYW55YSBzZWRpa2l0IG1lbWVuZ2FydWhpIGt1YWxpdGFzIHRpZHVyIG1lcmVrYS4NCiAgIC0gUGVyc2VudGFzZSBpbmkgY3VrdXAgYmVzYXIgZGFuIG1lbnVuanVra2FuIGJhaHdhIHNlYmFnaWFuIHJlc3BvbmRlbiBtYXNpaCBtZXJhc2EgYmVybWFpbiBnYW1lIGJlcmRhbXBhaywgbmFtdW4gZGFtcGFrbnlhIHRpZGFrIHRlcmxhbHUgc2lnbmlmaWthbi4NCg0KMy4gKipUaWRhayBNZW1lbmdhcnVoaSAoV2FybmEgSGlqYXUgLSAyMCUpKio6DQogICAtIFNlYmFueWFrIDIwJSByZXNwb25kZW4gbWVyYXNhIGJhaHdhIGJlcm1haW4gZ2FtZSB0aWRhayBtZW1lbmdhcnVoaSBrdWFsaXRhcyB0aWR1ciBtZXJla2Egc2FtYSBzZWthbGkuDQogICAtIEhhbCBpbmkgbWVudW5qdWtrYW4gYmFod2EgYWRhIHNlYmFnaWFuIGtlY2lsIHJlc3BvbmRlbiB5YW5nIHRpZGFrIG1lcmFzYWthbiBwZW5nYXJ1aCBiZXJtYWluIGdhbWUgdGVyaGFkYXAgdGlkdXIgbWVyZWthLg0KDQo0LiAqKlNhbmdhdCBNZW1lbmdhcnVoaSAoV2FybmEgTWVyYWggLSAxNi42JSkqKjoNCiAgIC0gUmVzcG9uZGVuIHlhbmcgbWVyYXNha2FuIHBlbmdhcnVoIHNhbmdhdCBzaWduaWZpa2FuIHRlcmhhZGFwIGt1YWxpdGFzIHRpZHVyIGhhbnlhIHNlYmVzYXIgMTYuNiUuDQogICAtIE1lc2tpcHVuIHBlcnNlbnRhc2VueWEgcGFsaW5nIGtlY2lsLCBrZWxvbXBvayBpbmkgbWVudW5qdWtrYW4gYmFod2EgYmFnaSBzZWJhZ2lhbiBrZWNpbCByZXNwb25kZW4sIGJlcm1haW4gZ2FtZSBiZXJkYW1wYWsgc2FuZ2F0IHNpZ25pZmlrYW4gcGFkYSBrdWFsaXRhcyB0aWR1ciBtZXJla2EuDQoNCioqS2VzaW1wdWxhbioqOg0KU2VjYXJhIGtlc2VsdXJ1aGFuLCBzZWJhZ2lhbiBiZXNhciByZXNwb25kZW4gbWVyYXNhIGJhaHdhIGJlcm1haW4gZ2FtZSBtZW1iZXJpa2FuIGRhbXBhayB0ZXJoYWRhcCBrdWFsaXRhcyB0aWR1ciBtZXJla2EsIGRlbmdhbiBtYXlvcml0YXMgbWVyYXNha2FuIGRhbXBhayBjdWt1cCBhdGF1IHNlZGlraXQuIEhhbnlhIHNlYmFnaWFuIGtlY2lsIHlhbmcgbWVyYXNha2FuIGRhbXBhayB5YW5nIHNhbmdhdCBzaWduaWZpa2FuLCBkYW4gMjAlIG1lcmFzYSB0aWRhayBhZGEgcGVuZ2FydWggc2FtYSBzZWthbGkuIEluaSBtZW5naW5kaWthc2lrYW4gYmFod2EgYmVybWFpbiBnYW1lIGNlbmRlcnVuZyBtZW1pbGlraSBwZW5nYXJ1aCBtb2RlcmF0IGhpbmdnYSByZW5kYWggcGFkYSBrdWFsaXRhcyB0aWR1ciBiYWdpIHNlYmFnaWFuIGJlc2FyIHJlc3BvbmRlbi4NCg0KIyBBbmFsaXNpcyBHcmFmaWsgMw0KYGBge3IsIGVjaG89RkFMU0UsIG1lc3NhZ2UgPSBGQUxTRX0NCiMgTG9hZCBuZWNlc3NhcnkgbGlicmFyaWVzDQpsaWJyYXJ5KHBsb3RseSkNCg0KIyBEYXRhIHdha3R1IGJlcm1haW4gZ2FtZSAoZGFsYW0gamFtKSBkYW4gcGVyc2VudGFzZW55YQ0KZGF0YSA8LSBkYXRhLmZyYW1lKA0KICBKZW5pc19LZWxhbWluID0gYygiTGFraS1sYWtpIiwgIlBlcmVtcHVhbiIpLA0KICBQZXJzZW50YXNlID0gYyg0My4zLCA1Ni42KQ0KKQ0KDQojIENyZWF0ZSBpbnRlcmFjdGl2ZSBiYXIgY2hhcnQgd2l0aCBwbG90bHkNCmZpZyA8LSBwbG90X2x5KA0KICBkYXRhLA0KICB4ID0gfkplbmlzX0tlbGFtaW4sDQogIHkgPSB+UGVyc2VudGFzZSwNCiAgdHlwZSA9ICdiYXInLA0KICB0ZXh0ID0gfnBhc3RlKFBlcnNlbnRhc2UsICIlIiksDQogIHRleHRwb3NpdGlvbiA9ICdhdXRvJw0KKSAlPiUNCiAgbGF5b3V0KA0KICAgIHRpdGxlID0gIkplbmlzIEtlbGFtaW4gUmVzcG9uZGVuIiwNCiAgICB4YXhpcyA9IGxpc3QodGl0bGUgPSAiSmVuaXMgS2VsYW1pbiIpLA0KICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJQZXJzZW50YXNlICglKSIpDQogICkNCg0KZmlnDQoNCmBgYA0KDQoNCioqQW5hbGlzaXMgR3JhZmlrKioNCg0KMS4gKipEaXN0cmlidXNpIEplbmlzIEtlbGFtaW4gUmVzcG9uZGVuKiogIA0KICAgQmVyZGFzYXJrYW4gZ3JhZmlrIGRpc3RyaWJ1c2kgamVuaXMga2VsYW1pbiByZXNwb25kZW4sIG1heW9yaXRhcyByZXNwb25kZW4gYWRhbGFoIHBlcmVtcHVhbiAoNTYuNiUpLCBzZW1lbnRhcmEgbGFraS1sYWtpIGJlcmp1bWxhaCA0My4zJS4gRGlzdHJpYnVzaSBpbmkgbWVtYmVyaWthbiBnYW1iYXJhbiBiYWh3YSBwZXJlbXB1YW4gc2VkaWtpdCBsZWJpaCBiYW55YWsgYmVycGFydGlzaXBhc2kgZGFsYW0gcGVuZWxpdGlhbiBpbmkuIE1lbmdpbmdhdCBwZW5lbGl0aWFuIGluaSBiZXJ0dWp1YW4gdW50dWsgbWVtYWhhbWkgcGVuZ2FydWggYmVybWFpbiBnYW1lLCBkaXN0cmlidXNpIGluaSBtZW5qYWRpIHBlbnRpbmcga2FyZW5hIGxha2ktbGFraSBkYW4gcGVyZW1wdWFuIG1lbWlsaWtpIGtlY2VuZGVydW5nYW4geWFuZyBiZXJiZWRhIGRhbGFtIGhhbCBkdXJhc2kgZGFuIGZyZWt1ZW5zaSBiZXJtYWluIGdhbWUsIHlhbmcgbXVuZ2tpbiBtZW1lbmdhcnVoaSBoYXNpbCBha2hpciB0ZXJrYWl0IHBlbmdhcnVoIGdhbWUgcGFkYSBrdWFsaXRhcyB0aWR1ciBkYW4gcHJlc3Rhc2kgYWthZGVtaWsuDQoNCjIuICoqUGVuZ2FydWggRHVyYXNpIEJlcm1haW4gR2FtZSB0ZXJoYWRhcCBIYXNpbCBBa2FkZW1payoqICANCiAgIEdyYWZpayB5YW5nIG1lbnVuanVra2FuIGh1YnVuZ2FuIGFudGFyYSBkdXJhc2kgYmVybWFpbiBnYW1lIGRhbiBwZW5nYXJ1aG55YSB0ZXJoYWRhcCBoYXNpbCBha2FkZW1payBtZW1iZXJpa2FuIGJlYmVyYXBhIHRlbXVhbiBwZW50aW5nOg0KICAgLSBSZXNwb25kZW4geWFuZyBiZXJtYWluIGdhbWUgZGVuZ2FuIGR1cmFzaSAxLTIgamFtIHBlciBoYXJpIHNlYmFnaWFuIGJlc2FyIG1lbGFwb3JrYW4gYmFod2EgYmVybWFpbiBnYW1lIGN1a3VwIG1lbWVuZ2FydWhpICg0IHJlc3BvbmRlbikgaGluZ2dhIHNhbmdhdCBtZW1lbmdhcnVoaSAoNiByZXNwb25kZW4pIGhhc2lsIGFrYWRlbWlrIG1lcmVrYS4NCiAgIC0gRGkgc2lzaSBsYWluLCBwYWRhIGtlbG9tcG9rIHlhbmcgYmVybWFpbiBnYW1lIGxlYmloIGxhbWEgKDUgamFtIGF0YXUgbGViaWgpLCBzZWJhZ2lhbiBiZXNhciByZXNwb25kZW4ganVzdHJ1IG1lcmFzYSBiYWh3YSBkdXJhc2kgYmVybWFpbiBnYW1lIHNlZGlraXQgbWVtZW5nYXJ1aGkgaGFzaWwgYWthZGVtaWsgKDIgcmVzcG9uZGVuKSBhdGF1IGJhaGthbiB0aWRhayBtZW1lbmdhcnVoaSBzYW1hIHNla2FsaSAoMiByZXNwb25kZW4pLiANCiAgIC0gSGFsIGluaSBkYXBhdCBkaWludGVycHJldGFzaWthbiBiYWh3YSBtYWhhc2lzd2EgeWFuZyBsZWJpaCBsYW1hIGJlcm1haW4gZ2FtZSBtdW5na2luIHN1ZGFoIHRlcmJpYXNhIG1lbmdhdHVyIHdha3R1IG1lcmVrYSwgc2VoaW5nZ2EgcGVuZ2FydWhueWEgdGVyaGFkYXAgaGFzaWwgYWthZGVtaWsgdGlkYWsgc2VsYWx1IGJlc2FyLiBOYW11biwgcmVzcG9uZGVuIHlhbmcgYmVybWFpbiBkYWxhbSBkdXJhc2kgbGViaWggcGVuZGVrIG1lcmFzYSBhZGEgZGFtcGFrIHlhbmcgc2lnbmlmaWthbiwgbXVuZ2tpbiBrYXJlbmEgcGVuZ2F0dXJhbiB3YWt0dSB5YW5nIGt1cmFuZyBzZWltYmFuZy4NCg0KMy4gKipQZW5nYXJ1aCBCZXJtYWluIEdhbWUgdGVyaGFkYXAgS3VhbGl0YXMgVGlkdXIqKiAgDQogICBEaWFncmFtIHBpZSB5YW5nIG1lbnVuanVra2FuIHBlbmdhcnVoIGJlcm1haW4gZ2FtZSB0ZXJoYWRhcCBrdWFsaXRhcyB0aWR1ciBtZW51bmp1a2thbiBiYWh3YToNCiAgIC0gU2ViYWdpYW4gYmVzYXIgcmVzcG9uZGVuIG1lcmFzYWthbiBkYW1wYWsgc2VkYW5nIGhpbmdnYSByZW5kYWgsIHlhaXR1IDMzLjMlIG1lcmFzYSBjdWt1cCBtZW1lbmdhcnVoaSBkYW4gMzAlIG1lcmFzYSBzZWRpa2l0IG1lbWVuZ2FydWhpLiANCiAgIC0gU2ViYW55YWsgMjAlIHJlc3BvbmRlbiBtZXJhc2EgYmVybWFpbiBnYW1lIHRpZGFrIG1lbWVuZ2FydWhpIGt1YWxpdGFzIHRpZHVyIG1lcmVrYSwgc2VtZW50YXJhIDE2LjYlIG1lcmFzYSBzYW5nYXQgZGlwZW5nYXJ1aGkuDQogICAtIERhdGEgaW5pIG1lbnVuanVra2FuIGJhaHdhIG1lc2tpcHVuIGJlcm1haW4gZ2FtZSBtZW1pbGlraSBkYW1wYWsgdGVyaGFkYXAga3VhbGl0YXMgdGlkdXIsIHNlYmFnaWFuIGJlc2FyIG1haGFzaXN3YSBtZXJhc2FrYW4gZGFtcGFrbnlhIHBhZGEgdGluZ2thdCBzZWRhbmcgaGluZ2dhIHJlbmRhaC4gSW5pIG11bmdraW4gZGlzZWJhYmthbiBvbGVoIGtlbWFtcHVhbiBtYWhhc2lzd2EgdW50dWsgbWVueWVpbWJhbmdrYW4gd2FrdHUgYmVybWFpbiBnYW1lIGRlbmdhbiBrZWJ1dHVoYW4gdGlkdXIgbWVyZWthLg0KDQoqKktlc2ltcHVsYW4qKg0KDQpEYXJpIHBlbmVsaXRpYW4gaW5pLCBkYXBhdCBkaXNpbXB1bGthbiBiYWh3YSBkdXJhc2kgZGFuIGludGVuc2l0YXMgYmVybWFpbiBnYW1lIG1lbWlsaWtpIHBlbmdhcnVoIHlhbmcgYmVydmFyaWFzaSBwYWRhIGFzcGVrIGFrYWRlbWlrIGRhbiBrdWFsaXRhcyB0aWR1ciBtYWhhc2lzd2EuIE1heW9yaXRhcyByZXNwb25kZW4gcGVyZW1wdWFuIG1lbnVuanVra2FuIGJhaHdhIGFkYSBwZW5nYXJ1aCBiZXJtYWluIGdhbWUgdGVyaGFkYXAga3VhbGl0YXMgdGlkdXIgbWVyZWthLCBtZXNraXB1biBkYW1wYWtueWEgY2VuZGVydW5nIHRpZGFrIHNpZ25pZmlrYW4uIERpIHNpc2kgbGFpbiwgcGVuZ2FydWggYmVybWFpbiBnYW1lIHRlcmhhZGFwIGhhc2lsIGFrYWRlbWlrIHRhbXBhayBsZWJpaCBzaWduaWZpa2FuIHBhZGEgcmVzcG9uZGVuIGRlbmdhbiBkdXJhc2kgYmVybWFpbiB5YW5nIGxlYmloIHNpbmdrYXQuIFRlbXVhbiBpbmkgbWVuZ2dhbWJhcmthbiBiYWh3YSBwZW5nYXR1cmFuIHdha3R1IHlhbmcgYmFpayBkYWxhbSBiZXJtYWluIGdhbWUgZGFwYXQgbWVtYmFudHUgbWVuZ3VyYW5naSBkYW1wYWsgbmVnYXRpZm55YSBwYWRhIHByZXN0YXNpIGFrYWRlbWlrIGRhbiBrdWFsaXRhcyB0aWR1ci4NCg0KDQojIFJlZmVyZW5zaQ0KQy4gQmFrdGkgU2lyZWdhciwgTS5TYy4sIE0uIFMuIEFuZGkgUHVqbyBSYWhhZGksIFMuVC4sIGFuZCBNLiBLLiBNb25pY2EgTWF5ZW5pIE1hbnVydW5nLCDigJxQZW5nYW50YXIgU3RhdGlzdGlrIHVudHVrIFNhaW5zIERhdGEs4oCdIFJwdWJzLiBbT25saW5lXS4gQXZhaWxhYmxlOiBodHRwczovL2Jvb2tkb3duLm9yZy9kc2NpZW5jZWxhYnMvc3RhdGlzdGlrYV9kYXNhci9fYm9vay9QZW5ndW1wdWxhbl9EYXRhLmh0bWw=