Email             :
rpubs             : https://rpubs.com/Garr
Jurusan          : Statistika Bisnis
Address         : ARA Center, Matana University Tower
                         Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.


1 carilah Definisi Algoritma dan Struktur Data dalam berbagai bidang ilmu (Contoh: Sains Data, Fisika, Teknik Informatika, dan Sistem Informasi)!

jawaban

1.1 sains data

algoritma adalah rangkaian dan kumpulan instruksi yang dibuat langkah per langkah untuk memecahkan masalah dari yang mudah hingga masalah yang sulit.

struktur data adalah kumpulan data yang diatur, disusun, dan di simpan pada suatu tempat penyimpanan yang dapat di panggil kembali untuk digunakan atau diubah sesuai keperluannya.

1.2 fisika

Algoritma adalah urutan pernyataan yang tersusun dan memiliki arti yang tidak ambigu untuk memecahkan suatu masalah seperti dalam bidang fisika yaitu dalam menentukan struktur molekul, memperkirakan parameter galaksi yang berinteraksi, keadaan dasar sistem kuantum elektronik, perilaku bahan magnetik yang tidak teratur, dan transisi fase dalam masalah optimasi kombinatorial, dan masih banyak lagi.

Struktur Data adalah cara yang digunakan untuk mengatur data sehingga dapat digunakan secara efektif dan mudah digunakan yang sangat penting dalam banyak cabang fisika dan penelitian teoretis sering kali menghasilkan teknik simulasi baru yang fundamental untuk diimplementasikan dan dievaluasi

1.3 teknik informatika

algoritma adalah sebuah proses atau prosedur dalam penggunaan data yang meliputi langkah-langkah perhitungan, penalaran, pemrograman, pengolahan dan pemrosesan data untuk menyelesaikan suatu masalah

struktur data merupakan suatu ilmu yang mempelajari sistem pengorganisasian data pada memori komputer maupun file (berkas) pada suatu media penyimpanan dengan menggunakan struktur data array, struct, tree, dan file menggunakan teknik-teknik seperti stack, queue, dan linked list serta hashing.

1.4 sistem informasi

algoritma adalah proses atau serangkaian aturan yang harus diikuti dalam perhitungan atau operasi pemecahan masalah lainnya, terutama oleh komputer. Dengan kata lain, semua susunan logis yang diurutkan berdasarkan sistematika tertentu dan digunakan untuk memecahkan suatu masalah.

struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.

2 Sebagai mahasiswa buatlah algoritma dan flowchart yang anda lakukan untuk mencapai kelulusan sarjana dengan IPK minimal 3.5 dari Universitas Matana.!

jawaban

2.1 algoritma

1. mengikuti mata kuliah

2. mengerjakan tugas-tugas

3. mengikuti uts dan uas dengan ips minimal 3.5

4. lulus mata kuliah atau tidak (jika tidak akan kembali mengulang, jika lulus lanjut)

5. semester berikutnya (jika belum semester 7 maka mengikuti kegiatan sebelumnya, jika sudah semester 7 lanjut)

6. magang

7. menyusun skripsi

8. mengajukan skripsi(jika ditolak maka revisi dan ajukan kembali, jika diterima lanjut sidang

9. sidang skripsi

10. lulus

2.2 flowchart

3 Mengapa anda harus belajar Algoritma dan Struktur Data?

jawaban

  1. membuat cara berpikir kita dalam menghadapi sebuah masalah menjadi rasional, logis, dan sistematis.
  2. memperluas cara kita berpikir dan berpikir panjang dalam menyelesaikan masalah.
  3. memperkuat analisis kita dalam membuat suatu program.
  4. mampu memahami cara berpikir dari sebuah komputer atau program.

4 Sebutkan 3 bahasa pemrograman yang yang paling banyak digunakan dalam Sains Data, Berikan penjelasan kelebihan, kekurangan, dan hubungan bahasa pemrogaman yang satu dengan yang lainnya.

jawaban

java, phyton, R

4.1 java

Java merupakan salah satu bahasa pemrograman yang sangat populer karena dapat digunakan pada berbagai platform yang berbeda. Fleksibilitas ini menjadi fokus karena kini program diharuskan tak hanya optimal di satu platform namun juga dapat digunakan secara baik di banyak tipe perangkat.

4.1.1 kelebihan java

1. sederhana

java memiliki kemudahan dalam melakukan penyusunan sebuah script, selain itu bahasa pemrograman pada java mudah untuk dipelajari dan dipahami.

2. berorientasi pada objek

java merupakan salah satu jenis pemrograman yang menggunakan konsep OOPs, sehingga setiap aplikasi yang dibuat atau dibangun dengan menggunakan java dapat disesuaikan tampilan dan isi aplikasi tersebut untuk digunakan di program lain.

3. bersifat multiplatform

java bersifat multiplatform, atau artinya bisa digunakan pada platform apapun. dengan sifatnya yang multiplatform membuat berbagai jenis perangkat elektronik mampu menjalankan aplikasi dan program yang dibuat menggunakan java.

4.1.2 kekurangan java

1. memakan banyak memori

dalam penggunaannya java memberikan banyak fitur yang mendukung, namun hal tersebut dapat memakan banyaknya penggunaan memori yang cukup besar dalam penggunaannya.

2. menggunakan kode yang rumit

java memang mudah untuk digunakan dan dipahami, namun ini membuat kode dalam java menjadi kalimat yang panjang dan rumit.

3. mudah untuk ditiru

source kode pada bahasa pemrograman java mudah untuk tercuri atau diambil alih, sehingga dapat memunculkan masalah seperti munculnya aplikasi dan program sejenis, dan masalah keamanan dalam aplikasi buatannya.

4.2 phyton

Phyton adalah bahasa pemrograman tingkat tinggi namun mudah dipahami oleh pemula. Hal ini disebabkan karena pembacaannya menggunakan syntax tidak terlalu rumit. Phyton banyak digunakan oleh perusahaan besar dalam pengembangannya, seperti Instagram, Pinterest bahkan Google. oleh karena itu bahasa pemrograman ini memiliki kualitas yang baik dalam tujuan pengembangan web.

4.2.1 kelebihina python

1. mudah dipelajari

sama seperti java, python juga menggunakan bahasa sederhana yang mudah untuk digunakan dan dipelajari.

2. gratis

python merupakan bahasa pemrograman yang dapat diunduh secara gratis, karena mudahnya untuk diperoleh membuat bahasa pemrograman ini bebas untuk digunakan, dan dapat digunakan sebagai alat pembelajaran dalam memahami dasar pemrograman.

3. mempunyai library yang banyak dan luas

python memiliki banyak library didalamnya, sehingga dengan ini dapat memudahkan dalam pemakaian kode. sehingga tidak perlu ditulis secara ulang dan manual.

4.2.2 kekurangan python

1. ketergantungan python

kemudahan yang diberikan oleh bahasa pemrograman python membuat para pemakainya terlalu terbiasa dengan itu, sehingga saat pengguna ingin beralih ke bahasa pemrograman lain akan memgalami sedikit kesulitan untuk memahaminya.

2. lambatnya eksekusi

python bekerja lebih lambat dibandingkan dengan bahasa pemrograman lain, sehingga akan membutuhkan lebih banyak waktu pada saat pengujian dan menjalankan aplikasi tersebut.

3. keterbatasan kode

python mungkin mudah untuk digunakan dalam pengembangan web, namun memiliki keterbatasan dalam penulisan kodenya. hal ini membuat sedikit developer yang menggunakan ini dalam pengembangan aplikasi mereka. selain itu keterbatasan ini membuat sulitnya pemrograman yang dibuat untuk tujuan mobile development.

4.3 R

R merupakan Bahasa pemrograman dan alat analisis yang dikembangkan pada tahun 1993. Bahasa Pemrograman ini banyak digunakan didunia dikarenakan R ini dapat diterapkan dalam ilmu statistic, visualisasi data dan machine learning yang sangat luas.

4.3.1 kelebihan R

1. flexibel

bahasa pemrograman pada r dapat terhubung ke dalam platform lainnya, sehingga dapat terhubung ke berbagai basis operasi seperti microsoft excel, Oracle, mySQL, dll.

2. penggunaan untuk statistik

R umumnya digunakan untuk keperluan statistika, sehingga penggunan R untuk keperluan statistik sangat diunggulkan dibandingkan dengan bahasa pemrograman lain.

3. gratis sama seperti Phyton, bahasa pemrograman R juga open source yang berarti R dapat dengan mudah diperoleh oleh siapa saja untuk belajar cara pemrograman ataupun untuk penggunaan tingkat lanjut.

4.3.2 kekurangan R

penyimpanan data

dalam penggunaan R, data disimpan secara fisik yang akan memakan banyak memori. hal ini membuat memori yang sangat besar saat digunakan untuk keperluan big data.

bukan yang mudah dipahami

bahasa pemrograman R sangat rumit dan sulit dipelajari untuk penggunaan pertama kali, ketimbang bahasa pemrograman gratis lain seperti phyton. sehingga R tidaklah begitu ramah untuk orang yang ingin belajar mengenai pemrograman.

LS0tDQp0aXRsZTogIlR1Z2FzIDEiDQpzdWJ0aXRsZTogIkFsZ29yaXRtYSBkYW4gU3RydWt0dXIgZGF0YSINCmF1dGhvcjogIkdhcnJ5IEp1bGl1cyAoMjAyMDQ5MjAwMDMpIg0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDogDQogICAgaHRtbF9kb2N1bWVudDogbnVsbA0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB5ZXMNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIHRoZW1lOiBzYW5kc3RvbmUNCiAgICBjc3M6IHN0eWxlMS5jc3MNCiAgICBoaWdobGlnaHQ6IG1vbm9jaHJvbWUNCi0tLQ0KDQoNCjxpbWcgc3R5bGU9ImZsb2F0OiByaWdodDsgbWFyZ2luOiAwcHggMTAwcHggMHB4IDBweDsgd2lkdGg6MjUlIiBzcmM9Im1lLnBuZyIvPiANCg0KYGBge3IgbG9nbywgZWNobz1GQUxTRSxmaWcuYWxpZ249J2NlbnRlcicsIG91dC53aWR0aCA9ICczMCUnfQ0Ka25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoImxvZ29tYXRhbmEucG5nIikNCmBgYA0KDQpFbWFpbCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDs6ICBnYXJyeWp1bGl1c3Blcm1hbkBnbWFpbC5jb20gPGJyPg0KcnB1YnMgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDs6IGh0dHBzOi8vcnB1YnMuY29tL0dhcnIgPGJyPg0KSnVydXNhbiAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7OiBbU3RhdGlzdGlrYSBCaXNuaXNdKGh0dHBzOi8vbWF0YW5hdW5pdmVyc2l0eS5hYy5pZC8/bHk9YWNhZGVtaWMmYz1zYikgPGJyPg0KQWRkcmVzcyAgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDogQVJBIENlbnRlciwgTWF0YW5hIFVuaXZlcnNpdHkgVG93ZXIgPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDsgSmwuIENCRCBCYXJhdCBLYXYsIFJULjEsIEN1cnVnIFNhbmdlcmVuZywgS2VsYXBhIER1YSwgVGFuZ2VyYW5nLCBCYW50ZW4gMTU4MTAuDQoNCioqKioNCg0KIyBjYXJpbGFoIERlZmluaXNpIEFsZ29yaXRtYSBkYW4gU3RydWt0dXIgRGF0YSBkYWxhbSBiZXJiYWdhaSBiaWRhbmcgaWxtdSAoQ29udG9oOiBTYWlucyBEYXRhLCBGaXNpa2EsIFRla25payBJbmZvcm1hdGlrYSwgZGFuIFNpc3RlbSBJbmZvcm1hc2kpIQ0KDQoqamF3YWJhbioNCg0KIyMgc2FpbnMgZGF0YQ0KDQphbGdvcml0bWEgYWRhbGFoIHJhbmdrYWlhbiBkYW4ga3VtcHVsYW4gaW5zdHJ1a3NpIHlhbmcgZGlidWF0IGxhbmdrYWggcGVyIGxhbmdrYWggdW50dWsgbWVtZWNhaGthbiBtYXNhbGFoIGRhcmkgeWFuZyBtdWRhaCBoaW5nZ2EgbWFzYWxhaCB5YW5nIHN1bGl0Lg0KDQpzdHJ1a3R1ciBkYXRhIGFkYWxhaCBrdW1wdWxhbiBkYXRhIHlhbmcgZGlhdHVyLCBkaXN1c3VuLCBkYW4gZGkgc2ltcGFuIHBhZGEgc3VhdHUgdGVtcGF0IHBlbnlpbXBhbmFuIHlhbmcgZGFwYXQgZGkgcGFuZ2dpbCBrZW1iYWxpIHVudHVrIGRpZ3VuYWthbiBhdGF1IGRpdWJhaCBzZXN1YWkga2VwZXJsdWFubnlhLg0KDQojIyBmaXNpa2ENCg0KQWxnb3JpdG1hIGFkYWxhaCB1cnV0YW4gcGVybnlhdGFhbiB5YW5nIHRlcnN1c3VuIGRhbiBtZW1pbGlraSBhcnRpIHlhbmcgdGlkYWsgYW1iaWd1IHVudHVrIG1lbWVjYWhrYW4gc3VhdHUgbWFzYWxhaCBzZXBlcnRpIGRhbGFtIGJpZGFuZyBmaXNpa2EgeWFpdHUgZGFsYW0gbWVuZW50dWthbiBzdHJ1a3R1ciBtb2xla3VsLCBtZW1wZXJraXJha2FuIHBhcmFtZXRlciBnYWxha3NpIHlhbmcgYmVyaW50ZXJha3NpLCBrZWFkYWFuIGRhc2FyIHNpc3RlbSBrdWFudHVtIGVsZWt0cm9uaWssIHBlcmlsYWt1IGJhaGFuIG1hZ25ldGlrIHlhbmcgdGlkYWsgdGVyYXR1ciwgZGFuIHRyYW5zaXNpIGZhc2UgZGFsYW0gbWFzYWxhaCBvcHRpbWFzaSBrb21iaW5hdG9yaWFsLCBkYW4gbWFzaWggYmFueWFrIGxhZ2kuDQoNClN0cnVrdHVyIERhdGEgYWRhbGFoIGNhcmEgeWFuZyBkaWd1bmFrYW4gdW50dWsgbWVuZ2F0dXIgZGF0YSBzZWhpbmdnYSBkYXBhdCBkaWd1bmFrYW4gc2VjYXJhIGVmZWt0aWYgZGFuIG11ZGFoIGRpZ3VuYWthbiB5YW5nIHNhbmdhdCBwZW50aW5nIGRhbGFtIGJhbnlhayBjYWJhbmcgZmlzaWthIGRhbiBwZW5lbGl0aWFuIHRlb3JldGlzIHNlcmluZyBrYWxpIG1lbmdoYXNpbGthbiB0ZWtuaWsgc2ltdWxhc2kgYmFydSB5YW5nIGZ1bmRhbWVudGFsIHVudHVrIGRpaW1wbGVtZW50YXNpa2FuIGRhbiBkaWV2YWx1YXNpDQoNCiMjIHRla25payBpbmZvcm1hdGlrYQ0KDQphbGdvcml0bWEgYWRhbGFoIHNlYnVhaCBwcm9zZXMgYXRhdSBwcm9zZWR1ciBkYWxhbSBwZW5nZ3VuYWFuIGRhdGEgeWFuZyBtZWxpcHV0aSBsYW5na2FoLWxhbmdrYWggcGVyaGl0dW5nYW4sIHBlbmFsYXJhbiwgcGVtcm9ncmFtYW4sIHBlbmdvbGFoYW4gZGFuIHBlbXJvc2VzYW4gZGF0YSB1bnR1ayBtZW55ZWxlc2Fpa2FuIHN1YXR1IG1hc2FsYWgNCg0Kc3RydWt0dXIgZGF0YSBtZXJ1cGFrYW4gc3VhdHUgaWxtdSB5YW5nIG1lbXBlbGFqYXJpIHNpc3RlbSBwZW5nb3JnYW5pc2FzaWFuIGRhdGEgcGFkYSBtZW1vcmkga29tcHV0ZXIgbWF1cHVuIGZpbGUgKGJlcmthcykgcGFkYSBzdWF0dSBtZWRpYSBwZW55aW1wYW5hbiBkZW5nYW4gbWVuZ2d1bmFrYW4gc3RydWt0dXIgZGF0YSBhcnJheSwgc3RydWN0LCB0cmVlLCBkYW4gZmlsZSBtZW5nZ3VuYWthbiB0ZWtuaWstdGVrbmlrIHNlcGVydGkgc3RhY2ssIHF1ZXVlLCBkYW4gbGlua2VkIGxpc3Qgc2VydGEgaGFzaGluZy4NCg0KIyMgc2lzdGVtIGluZm9ybWFzaQ0KDQphbGdvcml0bWEgYWRhbGFoIHByb3NlcyBhdGF1IHNlcmFuZ2thaWFuIGF0dXJhbiB5YW5nIGhhcnVzIGRpaWt1dGkgZGFsYW0gcGVyaGl0dW5nYW4gYXRhdSBvcGVyYXNpIHBlbWVjYWhhbiBtYXNhbGFoIGxhaW5ueWEsIHRlcnV0YW1hIG9sZWgga29tcHV0ZXIuIERlbmdhbiBrYXRhIGxhaW4sIHNlbXVhIHN1c3VuYW4gbG9naXMgeWFuZyBkaXVydXRrYW4gYmVyZGFzYXJrYW4gc2lzdGVtYXRpa2EgdGVydGVudHUgZGFuIGRpZ3VuYWthbiB1bnR1ayBtZW1lY2Foa2FuIHN1YXR1IG1hc2FsYWguDQoNCnN0cnVrdHVyIGRhdGEgYWRhbGFoIGNhcmEgcGVueWltcGFuYW4sIHBlbnl1c3VuYW4gZGFuIHBlbmdhdHVyYW4gZGF0YSBkaSBkYWxhbSBtZWRpYSBwZW55aW1wYW5hbiBrb21wdXRlciBzZWhpbmdnYSBkYXRhIHRlcnNlYnV0IGRhcGF0IGRpZ3VuYWthbiBzZWNhcmEgZWZpc2llbi4NCg0KIyBTZWJhZ2FpIG1haGFzaXN3YSBidWF0bGFoIGFsZ29yaXRtYSBkYW4gZmxvd2NoYXJ0IHlhbmcgYW5kYSBsYWt1a2FuIHVudHVrIG1lbmNhcGFpIGtlbHVsdXNhbiBzYXJqYW5hIGRlbmdhbiBJUEsgbWluaW1hbCAzLjUgZGFyaSBVbml2ZXJzaXRhcyBNYXRhbmEuIQ0KDQoqamF3YWJhbioNCg0KIyMgYWxnb3JpdG1hDQoNCioqKjEuIG1lbmdpa3V0aSBtYXRhIGt1bGlhaCoqKg0KDQoqKioyLiBtZW5nZXJqYWthbiB0dWdhcy10dWdhcyoqKg0KDQoqKiozLiBtZW5naWt1dGkgdXRzIGRhbiB1YXMgZGVuZ2FuIGlwcyBtaW5pbWFsIDMuNSoqKg0KDQoqKio0LiBsdWx1cyBtYXRhIGt1bGlhaCBhdGF1IHRpZGFrIChqaWthIHRpZGFrIGFrYW4ga2VtYmFsaSBtZW5ndWxhbmcsIGppa2EgbHVsdXMgbGFuanV0KSoqKg0KDQoqKio1LiBzZW1lc3RlciBiZXJpa3V0bnlhIChqaWthIGJlbHVtIHNlbWVzdGVyIDcgbWFrYSBtZW5naWt1dGkga2VnaWF0YW4gc2ViZWx1bW55YSwgamlrYSBzdWRhaCBzZW1lc3RlciA3IGxhbmp1dCkqKioNCg0KKioqNi4gbWFnYW5nKioqDQoNCioqKjcuIG1lbnl1c3VuIHNrcmlwc2kqKioNCg0KKioqOC4gbWVuZ2FqdWthbiBza3JpcHNpKGppa2EgZGl0b2xhayBtYWthIHJldmlzaSBkYW4gYWp1a2FuIGtlbWJhbGksIGppa2EgZGl0ZXJpbWEgbGFuanV0IHNpZGFuZyoqKg0KDQoqKio5LiBzaWRhbmcgc2tyaXBzaSoqKg0KDQoqKioxMC4gbHVsdXMqKioNCg0KIyMgZmxvd2NoYXJ0DQoNCjxpbWcgc3JjPSJGbG93Y2hhcnQucG5nIi8+DQoNCiMgTWVuZ2FwYSBhbmRhIGhhcnVzIGJlbGFqYXIgQWxnb3JpdG1hIGRhbiBTdHJ1a3R1ciBEYXRhPw0KDQoqamF3YWJhbioNCg0KMS4gbWVtYnVhdCBjYXJhIGJlcnBpa2lyIGtpdGEgZGFsYW0gbWVuZ2hhZGFwaSBzZWJ1YWggbWFzYWxhaCBtZW5qYWRpIHJhc2lvbmFsLCBsb2dpcywgZGFuIHNpc3RlbWF0aXMuDQoyLiBtZW1wZXJsdWFzIGNhcmEga2l0YSBiZXJwaWtpciBkYW4gYmVycGlraXIgcGFuamFuZyBkYWxhbSBtZW55ZWxlc2Fpa2FuIG1hc2FsYWguDQozLiBtZW1wZXJrdWF0IGFuYWxpc2lzIGtpdGEgZGFsYW0gbWVtYnVhdCBzdWF0dSBwcm9ncmFtLg0KNC4gbWFtcHUgbWVtYWhhbWkgY2FyYSBiZXJwaWtpciBkYXJpIHNlYnVhaCBrb21wdXRlciBhdGF1IHByb2dyYW0uDQoNCiMgU2VidXRrYW4gMyBiYWhhc2EgcGVtcm9ncmFtYW4geWFuZyB5YW5nIHBhbGluZyBiYW55YWsgZGlndW5ha2FuIGRhbGFtIFNhaW5zIERhdGEsIEJlcmlrYW4gcGVuamVsYXNhbiBrZWxlYmloYW4sIGtla3VyYW5nYW4sIGRhbiBodWJ1bmdhbiBiYWhhc2EgcGVtcm9nYW1hbiB5YW5nIHNhdHUgZGVuZ2FuIHlhbmcgbGFpbm55YS4NCg0KKmphd2FiYW4qDQoNCmphdmEsIHBoeXRvbiwgUg0KDQojIyBqYXZhDQpKYXZhIG1lcnVwYWthbiBzYWxhaCBzYXR1IGJhaGFzYSBwZW1yb2dyYW1hbiB5YW5nIHNhbmdhdCBwb3B1bGVyIGthcmVuYSBkYXBhdCBkaWd1bmFrYW4gcGFkYSBiZXJiYWdhaSBwbGF0Zm9ybSB5YW5nIGJlcmJlZGEuIEZsZWtzaWJpbGl0YXMgaW5pIG1lbmphZGkgZm9rdXMga2FyZW5hIGtpbmkgcHJvZ3JhbSBkaWhhcnVza2FuIHRhayBoYW55YSBvcHRpbWFsIGRpIHNhdHUgcGxhdGZvcm0gbmFtdW4ganVnYSBkYXBhdCBkaWd1bmFrYW4gc2VjYXJhIGJhaWsgZGkgYmFueWFrIHRpcGUgcGVyYW5na2F0Lg0KDQojIyMga2VsZWJpaGFuIGphdmENCg0KKioqMS4gc2VkZXJoYW5hKioqDQoNCmphdmEgbWVtaWxpa2kga2VtdWRhaGFuIGRhbGFtIG1lbGFrdWthbiBwZW55dXN1bmFuIHNlYnVhaCBzY3JpcHQsIHNlbGFpbiBpdHUgYmFoYXNhIHBlbXJvZ3JhbWFuIHBhZGEgamF2YSBtdWRhaCB1bnR1ayBkaXBlbGFqYXJpIGRhbiBkaXBhaGFtaS4NCg0KKioqMi4gYmVyb3JpZW50YXNpIHBhZGEgb2JqZWsqKioNCg0KamF2YSBtZXJ1cGFrYW4gc2FsYWggc2F0dSBqZW5pcyBwZW1yb2dyYW1hbiB5YW5nIG1lbmdndW5ha2FuIGtvbnNlcCBPT1BzLCBzZWhpbmdnYSBzZXRpYXAgYXBsaWthc2kgeWFuZyBkaWJ1YXQgYXRhdSBkaWJhbmd1biBkZW5nYW4gbWVuZ2d1bmFrYW4gamF2YSBkYXBhdCBkaXNlc3VhaWthbiB0YW1waWxhbiBkYW4gaXNpIGFwbGlrYXNpIHRlcnNlYnV0IHVudHVrIGRpZ3VuYWthbiBkaSBwcm9ncmFtIGxhaW4uDQoNCioqKjMuIGJlcnNpZmF0IG11bHRpcGxhdGZvcm0qKioNCg0KamF2YSBiZXJzaWZhdCBtdWx0aXBsYXRmb3JtLCBhdGF1IGFydGlueWEgYmlzYSBkaWd1bmFrYW4gcGFkYSBwbGF0Zm9ybSBhcGFwdW4uIGRlbmdhbiBzaWZhdG55YSB5YW5nIG11bHRpcGxhdGZvcm0gbWVtYnVhdCBiZXJiYWdhaSBqZW5pcyBwZXJhbmdrYXQgZWxla3Ryb25payBtYW1wdSBtZW5qYWxhbmthbiBhcGxpa2FzaSBkYW4gcHJvZ3JhbSB5YW5nIGRpYnVhdCBtZW5nZ3VuYWthbiBqYXZhLg0KDQojIyMga2VrdXJhbmdhbiBqYXZhDQoNCioqKjEuIG1lbWFrYW4gYmFueWFrIG1lbW9yaSoqKg0KDQpkYWxhbSBwZW5nZ3VuYWFubnlhIGphdmEgbWVtYmVyaWthbiBiYW55YWsgZml0dXIgeWFuZyBtZW5kdWt1bmcsIG5hbXVuIGhhbCB0ZXJzZWJ1dCBkYXBhdCBtZW1ha2FuIGJhbnlha255YSBwZW5nZ3VuYWFuIG1lbW9yaSB5YW5nIGN1a3VwIGJlc2FyIGRhbGFtIHBlbmdndW5hYW5ueWEuDQoNCioqKjIuIG1lbmdndW5ha2FuIGtvZGUgeWFuZyBydW1pdCoqKg0KDQpqYXZhIG1lbWFuZyBtdWRhaCB1bnR1ayBkaWd1bmFrYW4gZGFuIGRpcGFoYW1pLCBuYW11biBpbmkgbWVtYnVhdCBrb2RlIGRhbGFtIGphdmEgbWVuamFkaSBrYWxpbWF0IHlhbmcgcGFuamFuZyBkYW4gcnVtaXQuDQoNCioqKjMuIG11ZGFoIHVudHVrIGRpdGlydSoqKg0KDQpzb3VyY2Uga29kZSBwYWRhIGJhaGFzYSBwZW1yb2dyYW1hbiBqYXZhIG11ZGFoIHVudHVrIHRlcmN1cmkgYXRhdSBkaWFtYmlsIGFsaWgsIHNlaGluZ2dhIGRhcGF0IG1lbXVuY3Vsa2FuIG1hc2FsYWggc2VwZXJ0aSBtdW5jdWxueWEgYXBsaWthc2kgZGFuIHByb2dyYW0gc2VqZW5pcywgZGFuIG1hc2FsYWgga2VhbWFuYW4gZGFsYW0gYXBsaWthc2kgYnVhdGFubnlhLg0KDQojIyBwaHl0b24NCg0KUGh5dG9uIGFkYWxhaCBiYWhhc2EgcGVtcm9ncmFtYW4gdGluZ2thdCB0aW5nZ2kgbmFtdW4gbXVkYWggZGlwYWhhbWkgb2xlaCBwZW11bGEuIEhhbCBpbmkgZGlzZWJhYmthbiBrYXJlbmEgcGVtYmFjYWFubnlhIG1lbmdndW5ha2FuIHN5bnRheCB0aWRhayB0ZXJsYWx1IHJ1bWl0LiBQaHl0b24gYmFueWFrIGRpZ3VuYWthbiBvbGVoIHBlcnVzYWhhYW4gYmVzYXIgZGFsYW0gcGVuZ2VtYmFuZ2FubnlhLCBzZXBlcnRpIEluc3RhZ3JhbSwgUGludGVyZXN0IGJhaGthbiBHb29nbGUuIG9sZWgga2FyZW5hIGl0dSBiYWhhc2EgcGVtcm9ncmFtYW4gaW5pIG1lbWlsaWtpIGt1YWxpdGFzIHlhbmcgYmFpayBkYWxhbSB0dWp1YW4gcGVuZ2VtYmFuZ2FuIHdlYi4NCg0KIyMjIGtlbGViaWhpbmEgcHl0aG9uDQoNCioqKjEuIG11ZGFoIGRpcGVsYWphcmkqKioNCg0Kc2FtYSBzZXBlcnRpIGphdmEsIHB5dGhvbiBqdWdhIG1lbmdndW5ha2FuIGJhaGFzYSBzZWRlcmhhbmEgeWFuZyBtdWRhaCB1bnR1ayBkaWd1bmFrYW4gZGFuIGRpcGVsYWphcmkuDQoNCioqKjIuIGdyYXRpcyoqKg0KDQpweXRob24gbWVydXBha2FuIGJhaGFzYSBwZW1yb2dyYW1hbiB5YW5nIGRhcGF0IGRpdW5kdWggc2VjYXJhIGdyYXRpcywga2FyZW5hIG11ZGFobnlhIHVudHVrIGRpcGVyb2xlaCBtZW1idWF0IGJhaGFzYSBwZW1yb2dyYW1hbiBpbmkgYmViYXMgdW50dWsgZGlndW5ha2FuLCBkYW4gZGFwYXQgZGlndW5ha2FuIHNlYmFnYWkgYWxhdCBwZW1iZWxhamFyYW4gZGFsYW0gbWVtYWhhbWkgZGFzYXIgcGVtcm9ncmFtYW4uDQoNCioqKjMuIG1lbXB1bnlhaSBsaWJyYXJ5IHlhbmcgYmFueWFrIGRhbiBsdWFzKioqDQoNCnB5dGhvbiBtZW1pbGlraSBiYW55YWsgbGlicmFyeSBkaWRhbGFtbnlhLCBzZWhpbmdnYSBkZW5nYW4gaW5pIGRhcGF0IG1lbXVkYWhrYW4gZGFsYW0gcGVtYWthaWFuIGtvZGUuIHNlaGluZ2dhIHRpZGFrIHBlcmx1IGRpdHVsaXMgc2VjYXJhIHVsYW5nIGRhbiBtYW51YWwuDQoNCiMjIyBrZWt1cmFuZ2FuIHB5dGhvbg0KDQoqKioxLiBrZXRlcmdhbnR1bmdhbiBweXRob24qKioNCg0Ka2VtdWRhaGFuIHlhbmcgZGliZXJpa2FuIG9sZWggYmFoYXNhIHBlbXJvZ3JhbWFuIHB5dGhvbiBtZW1idWF0IHBhcmEgcGVtYWthaW55YSB0ZXJsYWx1IHRlcmJpYXNhIGRlbmdhbiBpdHUsIHNlaGluZ2dhIHNhYXQgcGVuZ2d1bmEgaW5naW4gYmVyYWxpaCBrZSBiYWhhc2EgcGVtcm9ncmFtYW4gbGFpbiBha2FuIG1lbWdhbGFtaSBzZWRpa2l0IGtlc3VsaXRhbiB1bnR1ayBtZW1haGFtaW55YS4NCg0KKioqMi4gbGFtYmF0bnlhIGVrc2VrdXNpKioqDQoNCnB5dGhvbiBiZWtlcmphIGxlYmloIGxhbWJhdCBkaWJhbmRpbmdrYW4gZGVuZ2FuIGJhaGFzYSBwZW1yb2dyYW1hbiBsYWluLCBzZWhpbmdnYSBha2FuIG1lbWJ1dHVoa2FuIGxlYmloIGJhbnlhayB3YWt0dSBwYWRhIHNhYXQgcGVuZ3VqaWFuIGRhbiBtZW5qYWxhbmthbiBhcGxpa2FzaSB0ZXJzZWJ1dC4NCg0KKioqMy4ga2V0ZXJiYXRhc2FuIGtvZGUqKioNCg0KcHl0aG9uIG11bmdraW4gbXVkYWggdW50dWsgZGlndW5ha2FuIGRhbGFtIHBlbmdlbWJhbmdhbiB3ZWIsIG5hbXVuIG1lbWlsaWtpIGtldGVyYmF0YXNhbiBkYWxhbSBwZW51bGlzYW4ga29kZW55YS4gaGFsIGluaSBtZW1idWF0IHNlZGlraXQgZGV2ZWxvcGVyIHlhbmcgbWVuZ2d1bmFrYW4gaW5pIGRhbGFtIHBlbmdlbWJhbmdhbiBhcGxpa2FzaSBtZXJla2EuIHNlbGFpbiBpdHUga2V0ZXJiYXRhc2FuIGluaSBtZW1idWF0IHN1bGl0bnlhIHBlbXJvZ3JhbWFuIHlhbmcgZGlidWF0IHVudHVrIHR1anVhbiBtb2JpbGUgZGV2ZWxvcG1lbnQuDQoNCiMjIFINCg0KUiBtZXJ1cGFrYW4gQmFoYXNhIHBlbXJvZ3JhbWFuIGRhbiBhbGF0IGFuYWxpc2lzIHlhbmcgZGlrZW1iYW5na2FuIHBhZGEgdGFodW4gMTk5My4gQmFoYXNhIFBlbXJvZ3JhbWFuIGluaSBiYW55YWsgZGlndW5ha2FuIGRpZHVuaWEgZGlrYXJlbmFrYW4gUiBpbmkgZGFwYXQgZGl0ZXJhcGthbiBkYWxhbSBpbG11IHN0YXRpc3RpYywgdmlzdWFsaXNhc2kgZGF0YSBkYW4gbWFjaGluZSBsZWFybmluZyB5YW5nIHNhbmdhdCBsdWFzLg0KDQojIyMga2VsZWJpaGFuIFINCg0KKioqMS4gZmxleGliZWwqKioNCg0KYmFoYXNhIHBlbXJvZ3JhbWFuIHBhZGEgciBkYXBhdCB0ZXJodWJ1bmcga2UgZGFsYW0gcGxhdGZvcm0gbGFpbm55YSwgc2VoaW5nZ2EgZGFwYXQgdGVyaHVidW5nIGtlIGJlcmJhZ2FpIGJhc2lzIG9wZXJhc2kgc2VwZXJ0aSBtaWNyb3NvZnQgZXhjZWwsIE9yYWNsZSwgbXlTUUwsIGRsbC4NCg0KKioqMi4gcGVuZ2d1bmFhbiB1bnR1ayBzdGF0aXN0aWsqKioNCg0KUiB1bXVtbnlhIGRpZ3VuYWthbiB1bnR1ayBrZXBlcmx1YW4gc3RhdGlzdGlrYSwgc2VoaW5nZ2EgcGVuZ2d1bmFuIFIgdW50dWsga2VwZXJsdWFuIHN0YXRpc3RpayBzYW5nYXQgZGl1bmdndWxrYW4gZGliYW5kaW5na2FuIGRlbmdhbiBiYWhhc2EgcGVtcm9ncmFtYW4gbGFpbi4NCg0KKioqMy4gZ3JhdGlzKioqDQpzYW1hIHNlcGVydGkgUGh5dG9uLCBiYWhhc2EgcGVtcm9ncmFtYW4gUiBqdWdhIG9wZW4gc291cmNlIHlhbmcgYmVyYXJ0aSBSIGRhcGF0IGRlbmdhbiBtdWRhaCBkaXBlcm9sZWggb2xlaCBzaWFwYSBzYWphIHVudHVrIGJlbGFqYXIgY2FyYSBwZW1yb2dyYW1hbiBhdGF1cHVuIHVudHVrIHBlbmdndW5hYW4gdGluZ2thdCBsYW5qdXQuDQoNCiMjIyBrZWt1cmFuZ2FuIFINCg0KKioqcGVueWltcGFuYW4gZGF0YSoqKg0KDQpkYWxhbSBwZW5nZ3VuYWFuIFIsIGRhdGEgZGlzaW1wYW4gc2VjYXJhIGZpc2lrIHlhbmcgYWthbiBtZW1ha2FuIGJhbnlhayBtZW1vcmkuIGhhbCBpbmkgbWVtYnVhdCBtZW1vcmkgeWFuZyBzYW5nYXQgYmVzYXIgc2FhdCBkaWd1bmFrYW4gdW50dWsga2VwZXJsdWFuIGJpZyBkYXRhLg0KDQoqKipidWthbiB5YW5nIG11ZGFoIGRpcGFoYW1pKioqDQoNCmJhaGFzYSBwZW1yb2dyYW1hbiBSIHNhbmdhdCBydW1pdCBkYW4gc3VsaXQgZGlwZWxhamFyaSB1bnR1ayBwZW5nZ3VuYWFuIHBlcnRhbWEga2FsaSwga2V0aW1iYW5nIGJhaGFzYSBwZW1yb2dyYW1hbiBncmF0aXMgbGFpbiBzZXBlcnRpIHBoeXRvbi4gc2VoaW5nZ2EgUiB0aWRha2xhaCBiZWdpdHUgcmFtYWggdW50dWsgb3JhbmcgeWFuZyBpbmdpbiBiZWxhamFyIG1lbmdlbmFpIHBlbXJvZ3JhbWFuLg==