

Email : yeni.arwanti@student.matanauniversity.com
RPubs : https://rpubs.com/yeninawn/
Jurusan : Fisika Medis
Address : ARA Center, Matana University Tower
Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
Soal 1
Carilah Definisi Algoritma dan Struktur Data dalam berbagai bidang ilmu (Contoh: Sains Data, Fisika, Teknik Informatika, dan Sistem Informasi)!
Jawaban:
Pengertian Algoritma dalam Matematika
Algoritma dalam ilmu matematika dan komputer adalah prosedur langkah-langkah untuk perhitungan yang digunakan dalam perhitungan, pemrosesan data, dan penalaran otomatis.
Pengertian Algoritma Dalam Fisika
Algoritma dalam fisika adalah urutan untuk perhitungan atau menyelesaikan suatu masalah yang ditulis secara berurutan dengan berdasarkan rumus-rumus fisika.
Pengertian Struktur Data Dalam Ilmu Komputer
Dalam hal ilmu komputer, struktur data adalah cara menyimpan, mengatur, dan mengelola data dalam media penyimpanan komputer sehingga data dapat digunakan secara efisien.
PengertIan Struktur Data Dalam Teknik Pemrograman
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom data, baik kolom yang terlihat oleh pengguna atau kolom yang hanya digunakan untuk tujuan pemrograman yang tidak terlihat oleh pengguna.
Soal 2
Sebagai mahasiswa buatlah algoritma dan flowchart yang anda lakukan untuk mencapai kelulusan sarjana dengan IPK minimal 3.5 dari Universitas Matana.!
Soal 3
Mengapa anda harus belajar Algoritma dan Struktur Data?
Jawaban:
Karena dalam kehidupan seharibanyak penerapan algoritma. Seperti cara-cara melakukan pendaftaran sebagai nasabah baru di suatu bank. Dengan algoritma dapat menyelesaikan masalah di berbagai bidang dengan langkah-langkah yang jelas dan detail. Dengan algoritma juga logika kita akan terasah serta dapat mengambil keputusan yang logis.
Ada banyak manfaat struktur data diantaranya ; memberikan kemudahan dalam proses pemrograman dan pengelompokan data, memudahkan dalam menggunakan konsep algoritma pemrograman, efisiensi atau minimalkan memori yang dipakai, memudahkan dalam pengaturan data, mempercepat dalam penyelesaian masalah saat pengembangan program, dan memudahkan dalam menyusun bahasa pemrograman.
Soal 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
Bahasa Pemrograman R
Kelebihan :
Bahasa R memiliki analisis data yang canggih dan gratis. Bahas ini mudah dipelajari, punya banyak pengguna, hingga ada banyak komunitas yang terus mengembangkannya. Fitur visualisasi datanya juga tak asal dibuat. fitur itu relatif berkualitas dan mampu menghasilkan grafik yang cantik.
Kekurangan : R relatif mudah dipelajari. ini bukanlah bahasa untuk pemula. tampilan command–line bahasa ini sedikit membingungkan. Data di dalam R juga disimpan di dalam memori fisik. Ini bisa menjadi salah satu kekurangannya. Meski begitu, R sudah punya integrasi dengan Hadoop, framework untuk data yang berukuran besar. Eksekusi alias pembacaan kode R juga memakan waktu yang lama.
Hubungan : R merupakan bahasa pemrograman yang tepat untuk digunakan. Sebab R punya cukup banyak packages yang sangat mendukung untuk membangun sebuah visualisasi yang cukup menarik. Misalnya saja, adanya ggplot2 yang digunakan untuk membuat grafik, lattice untuk menunjukkan hubungan dari variabel, dan rCharts untuk memunculkan visualisasi dari java script dengan menggunakan R. Berbeda dengan Python, bahasa pemrograman ini membuat pekerjaan lebih mudah karena adanya IPython Notebook, yang dapat membagikan catatan kepada siapa saja tanpa meminta mereka mengunduh program. Python juga merupakan bahasa general yang mudah dipelajari dan dimengerti oleh banyak developer dan siap untuk digunakan ke dunia kerja.
Bahasa Pemrograman Python
Kelebihan : Memiliki library yang luas dan banyak. Didalamnya terdapat berbagai macam kode untuk digunakan seperti regular expressions, documentation-generation, unit testing, database, CGI, email, dan masih banyak lagi. Sehingga dengan adanya library ini, anda tidak perlu menulis lagi secara manual. Python merupakan bahasa pemrograman open source atau dapat kita unduh secara gratis. Bahasa satu ini dikembangkan di bawah lisensi open source yang disetujui oleh OSI dimana bahasa pemrograman ini bebas digunakan, dikembangkan, dan didistribusikan, bahkan termasuk tujuan komersial.
Python mampu menghubungkan benda-benda disekitar lingkungan kita kedalam sebuah jaring-jaring (internet) yang menghubungkan satu sama lain.
Python merupakan bahasa yang mudah dipelajari bahkan untuk pengembang pemula. Kode bahasa python ini mudah dibaca dan bisa menjalankan banyak fungsi kompleks dengan mudah, karena banyaknya library. Selain itu, proses pengembangan bahasa python bisa dilakukan dengan cepat menggunakan kode yang lebih sedikit. Bahkan tim kecil pun bisa menangani bahasa python secara efektif. Kekurangan : Tidak cocok untuk aplikasi mobile. Pengembangan aplikasi dan game kurang cocok jika menggunakan python. Bahkan banyak yang mengatakan bahwa mustahil membuat game dalam bentuk tiga dimensi dengan grafis tinggi menggunakan python. Eksekusi relatif lambat. Python dinilai memiliki performa yang relatif lambat jika dibandingkan dengan bahasa pemrograman lainnya. Bahkan beberapa penugasan terdapat diluar dari jangkauan python, serupa bahasa pemrograman dinamis lainnya.
Hubungan : Python tidak memiliki paket data sebanyak R, paket data standar pengolahan data yang dipakai biasanya adalah numpy, scipy, panda. Butuh dasar-dasar pemrograman untuk fasih mengolah data dengan Python. Walaupun tidak lebih praktis dibanding R, biasanya tim data science menggunakan Python justru karena ketidak-tergantungan berlebihan terhadap paket-paket pengolah data. Proses pengolahan data bisa ditelusuri secara mendetail karena biasanya paket pengolah data di Python adalah produk open source yang juga ditulis di Python sehingga mudah dimodifikasi ulang sesuai kebutuhan (juga gampang melacak perubahan apa yang terjadi, perubahan parameter kecil kadang bisa mengubah hasil akhir secara total - contoh: proyek scikit Python banyak sekali mengalami perubahan). Mudah mengintegrasikan hasil atau metode pengolahan data dengan program lain atau bisa langsung diluncurkan ke mesin produksi untuk khalayak umum juga merupakan kelebihan Python.
Bahasa Pemrograman Java
Kelebihan : Salah satu kelebihan dari Java adalah memudahkan dalam hal pengembangan aplikasi. Setiap aplikasi ataupun program yang dibuat dengan menggunakan dasar bahasa pemrograman Java memiliki kemampuan yang sangat baik untuk dilakukan pengembangan lebih lanjut.Kelebihan lainnya dari bahasa pemrograman java yang banyak diminati oleh para developer dan programmer adalah karena Java salah satu bahasa pemrograman yang sifatnya multi platform, alias universal dan bisa digunakan dalam platform apapun. Hal tersebut membuat banyak sekali para pengembang aplikasi yang menggunakan basis bahasa pemrograman Java untuk membuat aplikasi yang diinginkannya.
Kekurangan : Bahasa pemrograman Java memang menawarkan banyak sekali fitur yang hebat, mulai dari kemudahan dalam menyusun script, hingga fitur object oriented, yang menjadi salah satu ciri khas dari bahasa pemrograman Java. Akan tetapi sayangnya, semua kelebihan tersebut harus dikompensasi dengan kebutuhan memori yang cukup besar. Hal ini menyebabkan beberapa aplikasi Java membutuhkan resource memory yang cukup besar untuk dapat berjalan dengan baik. Begitu pula ketika seorang developer akan mengembangkan aplikasi Java, developer juga membutuhkan memori yang tinggi dalam mengembangkan aplikasi Bahasa mudahnya dari istilah dekompilasi ini adalah pengambilan source code. Jadi, Java merupakan salah satu bahasa pemrograman yang mudah mengalami dekompilasi. ini.
Hubungan : Dalam proses coding itu sendiri kita harus membuat deret coding yang lebih panjang dan rumit dengan menggunakan Java, sementara kita cukup menggunakan coding yang pendek dan minimalis dengan menggunakan Python. Kita juga harus memperjelas tipe variabel yang ingin anda gunakan di dalam bahasa pemrograman Java. Sebaliknya, Python tidak memerlukan penjelasan seperti itu (karena tipenya dinamis).
LS0tDQp0aXRsZTogIkFsZ29yaXRtYSBkYW4gU3RydWt0dXIgRGF0YSINCnN1YnRpdGxlOiAiVHVnYXMgMSINCmF1dGhvcjogIlllbmkgTnVyIEFyd2FudGkgKDIwMjE0NTIwMDExKSINCmRhdGU6ICJgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyVCICVkLCAlWScpYCINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6IA0KICAgIGh0bWxfZG9jdW1lbnQ6IG51bGwNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCiAgICB0b2M6IHllcw0KICAgIHRvY19mbG9hdDoNCiAgICAgIGNvbGxhcHNlZDogeWVzDQogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMNCiAgICBjb2RlX2Rvd25sb2FkOiB5ZXMNCiAgICB0aGVtZTogc2FuZHN0b25lDQogICAgY3NzOiBzdHlsZTEuY3NzDQogICAgaGlnaGxpZ2h0OiBtb25vY2hyb21lDQotLS0NCg0KDQo8aW1nIHN0eWxlPSJmbG9hdDogcmlnaHQ7IG1hcmdpbjogMHB4IDEwMHB4IDBweCAwcHg7IHdpZHRoOjIwJSIgc3JjPSJtZS5wbmciLz4gDQoNCmBgYHtyIGxvZ28sIGVjaG89RkFMU0UsZmlnLmFsaWduPSdjZW50ZXInLCBvdXQud2lkdGggPSAnMzAlJ30NCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKCJsb2dvLnBuZyIpDQpgYGANCg0KRW1haWwgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7OiAgeWVuaS5hcndhbnRpQHN0dWRlbnQubWF0YW5hdW5pdmVyc2l0eS5jb20gPGJyPg0KUlB1YnMgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzogaHR0cHM6Ly9ycHVicy5jb20veWVuaW5hd24vIDxicj4NCkp1cnVzYW4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzogW0Zpc2lrYSBNZWRpc10oaHR0cHM6Ly9tYXRhbmF1bml2ZXJzaXR5LmFjLmlkLz9seT1hY2FkZW1pYyZjPXNiKSA8YnI+DQpBZGRyZXNzICAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgOiBBUkEgQ2VudGVyLCBNYXRhbmEgVW5pdmVyc2l0eSBUb3dlciA8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOyBKbC4gQ0JEIEJhcmF0IEthdiwgUlQuMSwgQ3VydWcgU2FuZ2VyZW5nLCBLZWxhcGEgRHVhLCBUYW5nZXJhbmcsIEJhbnRlbiAxNTgxMC4NCg0KKioqKg0KDQojIFNvYWwgMQ0KDQpDYXJpbGFoIERlZmluaXNpIEFsZ29yaXRtYSBkYW4gU3RydWt0dXIgRGF0YSBkYWxhbSBiZXJiYWdhaSBiaWRhbmcgaWxtdSAoQ29udG9oOiBTYWlucyBEYXRhLCBGaXNpa2EsIFRla25payBJbmZvcm1hdGlrYSwgZGFuIFNpc3RlbSBJbmZvcm1hc2kpIQ0KDQojIyAqKkphd2FiYW46KioNCg0KIyMjIFBlbmdlcnRpYW4gQWxnb3JpdG1hIGRhbGFtIE1hdGVtYXRpa2ENCkFsZ29yaXRtYSBkYWxhbSBpbG11IG1hdGVtYXRpa2EgZGFuIGtvbXB1dGVyIGFkYWxhaCBwcm9zZWR1ciBsYW5na2FoLWxhbmdrYWggdW50dWsgcGVyaGl0dW5nYW4geWFuZyBkaWd1bmFrYW4gZGFsYW0gcGVyaGl0dW5nYW4sIHBlbXJvc2VzYW4gZGF0YSwgZGFuIHBlbmFsYXJhbiBvdG9tYXRpcy4NCg0KIyMjIFBlbmdlcnRpYW4gQWxnb3JpdG1hIERhbGFtIEZpc2lrYSANCkFsZ29yaXRtYSBkYWxhbSBmaXNpa2EgYWRhbGFoIHVydXRhbiB1bnR1ayBwZXJoaXR1bmdhbiBhdGF1IG1lbnllbGVzYWlrYW4gc3VhdHUgbWFzYWxhaCB5YW5nIGRpdHVsaXMgc2VjYXJhIGJlcnVydXRhbiBkZW5nYW4gYmVyZGFzYXJrYW4gcnVtdXMtcnVtdXMgZmlzaWthLg0KDQojIyMgUGVuZ2VydGlhbiBTdHJ1a3R1ciBEYXRhIERhbGFtIElsbXUgS29tcHV0ZXINCkRhbGFtIGhhbCBpbG11IGtvbXB1dGVyLCBzdHJ1a3R1ciBkYXRhIGFkYWxhaCBjYXJhIG1lbnlpbXBhbiwgbWVuZ2F0dXIsIGRhbiBtZW5nZWxvbGEgZGF0YSBkYWxhbSBtZWRpYSBwZW55aW1wYW5hbiBrb21wdXRlciBzZWhpbmdnYSBkYXRhIGRhcGF0IGRpZ3VuYWthbiBzZWNhcmEgZWZpc2llbi4NCg0KIyMjIFBlbmdlcnRJYW4gU3RydWt0dXIgRGF0YSBEYWxhbSBUZWtuaWsgUGVtcm9ncmFtYW4NCkRhbGFtIHRla25payBwZW1yb2dyYW1hbiwgc3RydWt0dXIgZGF0YSBiZXJhcnRpIHRhdGEgbGV0YWsgZGF0YSB5YW5nIGJlcmlzaSBrb2xvbSBkYXRhLCBiYWlrIGtvbG9tIHlhbmcgdGVybGloYXQgb2xlaCBwZW5nZ3VuYSBhdGF1IGtvbG9tIHlhbmcgaGFueWEgZGlndW5ha2FuIHVudHVrIHR1anVhbiBwZW1yb2dyYW1hbiB5YW5nIHRpZGFrIHRlcmxpaGF0IG9sZWggcGVuZ2d1bmEuDQoNCiMgU29hbCAyDQoNClNlYmFnYWkgbWFoYXNpc3dhIGJ1YXRsYWggYWxnb3JpdG1hIGRhbiBmbG93Y2hhcnQgeWFuZyBhbmRhIGxha3VrYW4gdW50dWsgbWVuY2FwYWkga2VsdWx1c2FuIHNhcmphbmEgZGVuZ2FuIElQSyBtaW5pbWFsIDMuNSBkYXJpIFVuaXZlcnNpdGFzIE1hdGFuYS4hDQoNCiMjICoqSmF3YWJhbjoqKg0KDQoNCmBgYHtyIGltYWdlMSwgZWNobz1GQUxTRSwgZmlnLmNhcD0iR2FtYmFyIDE6IEZsb3djaGFydCBDYXJhIE1lbmphZGkgU2FyamFuYSBEZW5nYW4gSVBLIE1pbmltYWwgMyw1IGRpIFVuaXZlcnNpdGFzIE1hdGFuYSIsZmlnLmFsaWduPSdjZW50ZXInLCBvdXQud2lkdGggPSAnMTAwJSd9DQprbml0cjo6aW5jbHVkZV9ncmFwaGljcygiZmxvd2NoYXJ0LnBuZyIpDQpgYGANCg0KIyBTb2FsIDMNCg0KTWVuZ2FwYSBhbmRhIGhhcnVzIGJlbGFqYXIgQWxnb3JpdG1hIGRhbiBTdHJ1a3R1ciBEYXRhPw0KDQojIyAqKkphd2FiYW46KioNCg0KS2FyZW5hIGRhbGFtIGtlaGlkdXBhbiBzZWhhcmliYW55YWsgcGVuZXJhcGFuIGFsZ29yaXRtYS4gU2VwZXJ0aSBjYXJhLWNhcmEgbWVsYWt1a2FuIHBlbmRhZnRhcmFuIHNlYmFnYWkgbmFzYWJhaCBiYXJ1IGRpIHN1YXR1IGJhbmsuIERlbmdhbiBhbGdvcml0bWEgZGFwYXQgbWVueWVsZXNhaWthbiBtYXNhbGFoIGRpIGJlcmJhZ2FpIGJpZGFuZyBkZW5nYW4gbGFuZ2thaC1sYW5na2FoIHlhbmcgamVsYXMgZGFuIGRldGFpbC4gRGVuZ2FuIGFsZ29yaXRtYSBqdWdhIGxvZ2lrYSBraXRhIGFrYW4gdGVyYXNhaCBzZXJ0YSBkYXBhdCBtZW5nYW1iaWwga2VwdXR1c2FuIHlhbmcgbG9naXMuIA0KDQpBZGEgYmFueWFrIG1hbmZhYXQgc3RydWt0dXIgZGF0YSBkaWFudGFyYW55YSA7IG1lbWJlcmlrYW4ga2VtdWRhaGFuIGRhbGFtIHByb3NlcyBwZW1yb2dyYW1hbiBkYW4gcGVuZ2Vsb21wb2thbiBkYXRhLCBtZW11ZGFoa2FuIGRhbGFtIG1lbmdndW5ha2FuIGtvbnNlcCBhbGdvcml0bWEgcGVtcm9ncmFtYW4sIGVmaXNpZW5zaSBhdGF1IG1pbmltYWxrYW4gbWVtb3JpIHlhbmcgZGlwYWthaSwgbWVtdWRhaGthbiBkYWxhbSBwZW5nYXR1cmFuIGRhdGEsIG1lbXBlcmNlcGF0IGRhbGFtIHBlbnllbGVzYWlhbiBtYXNhbGFoIHNhYXQgcGVuZ2VtYmFuZ2FuIHByb2dyYW0sIGRhbiBtZW11ZGFoa2FuIGRhbGFtIG1lbnl1c3VuIGJhaGFzYSBwZW1yb2dyYW1hbi4NCg0KIyBTb2FsIDQNCg0KU2VidXRrYW4gMyBiYWhhc2EgcGVtcm9ncmFtYW4geWFuZyB5YW5nIHBhbGluZyBiYW55YWsgZGlndW5ha2FuIGRhbGFtIFNhaW5zIERhdGEsIEJlcmlrYW4gcGVuamVsYXNhbiBrZWxlYmloYW4sIGtla3VyYW5nYW4sIGRhbiBodWJ1bmdhbiBiYWhhc2EgcGVtcm9nYW1hbiB5YW5nIHNhdHUgZGVuZ2FuIHlhbmcgbGFpbm55YS4NCg0KIyMgKipKYXdhYmFuKioNCg0KIyMjIEJhaGFzYSBQZW1yb2dyYW1hbiBSDQpLZWxlYmloYW4gOiAgDQpCYWhhc2EgUiBtZW1pbGlraSBhbmFsaXNpcyBkYXRhIHlhbmcgY2FuZ2dpaCBkYW4gZ3JhdGlzLiBCYWhhcyBpbmkgbXVkYWggZGlwZWxhamFyaSwgcHVueWEgYmFueWFrIHBlbmdndW5hLCBoaW5nZ2EgYWRhIGJhbnlhayBrb211bml0YXMgeWFuZyB0ZXJ1cyBtZW5nZW1iYW5na2FubnlhLiBGaXR1ciB2aXN1YWxpc2FzaSBkYXRhbnlhIGp1Z2EgdGFrIGFzYWwgZGlidWF0LiBmaXR1ciBpdHUgcmVsYXRpZiBiZXJrdWFsaXRhcyBkYW4gbWFtcHUgbWVuZ2hhc2lsa2FuIGdyYWZpayB5YW5nIGNhbnRpay4NCg0KS2VrdXJhbmdhbiA6IA0KUiByZWxhdGlmIG11ZGFoIGRpcGVsYWphcmkuICBpbmkgYnVrYW5sYWggYmFoYXNhIHVudHVrIHBlbXVsYS4gdGFtcGlsYW4gY29tbWFuZOKAk2xpbmUgYmFoYXNhIGluaSBzZWRpa2l0IG1lbWJpbmd1bmdrYW4uIERhdGEgZGkgZGFsYW0gUiBqdWdhIGRpc2ltcGFuIGRpIGRhbGFtIG1lbW9yaSBmaXNpay4gSW5pIGJpc2EgbWVuamFkaSBzYWxhaCBzYXR1IGtla3VyYW5nYW5ueWEuIE1lc2tpIGJlZ2l0dSwgUiBzdWRhaCBwdW55YSBpbnRlZ3Jhc2kgZGVuZ2FuIEhhZG9vcCwgZnJhbWV3b3JrIHVudHVrIGRhdGEgeWFuZyBiZXJ1a3VyYW4gYmVzYXIuIEVrc2VrdXNpIGFsaWFzIHBlbWJhY2FhbiBrb2RlIFIganVnYSBtZW1ha2FuIHdha3R1IHlhbmcgbGFtYS4NCg0KSHVidW5nYW4gOg0KUiBtZXJ1cGFrYW4gYmFoYXNhIHBlbXJvZ3JhbWFuIHlhbmcgdGVwYXQgdW50dWsgZGlndW5ha2FuLiBTZWJhYiBSIHB1bnlhIGN1a3VwIGJhbnlhayBwYWNrYWdlcyB5YW5nIHNhbmdhdCBtZW5kdWt1bmcgdW50dWsgbWVtYmFuZ3VuIHNlYnVhaCB2aXN1YWxpc2FzaSB5YW5nIGN1a3VwIG1lbmFyaWsuIE1pc2FsbnlhIHNhamEsIGFkYW55YSBnZ3Bsb3QyIHlhbmcgZGlndW5ha2FuIHVudHVrIG1lbWJ1YXQgZ3JhZmlrLCBsYXR0aWNlIHVudHVrIG1lbnVuanVra2FuIGh1YnVuZ2FuIGRhcmkgdmFyaWFiZWwsIGRhbiByQ2hhcnRzIHVudHVrIG1lbXVuY3Vsa2FuIHZpc3VhbGlzYXNpIGRhcmkgamF2YSBzY3JpcHQgZGVuZ2FuIG1lbmdndW5ha2FuIFIuIEJlcmJlZGEgZGVuZ2FuIFB5dGhvbiwgYmFoYXNhIHBlbXJvZ3JhbWFuIGluaSBtZW1idWF0IHBla2VyamFhbiBsZWJpaCBtdWRhaCBrYXJlbmEgYWRhbnlhIElQeXRob24gTm90ZWJvb2ssIHlhbmcgZGFwYXQgbWVtYmFnaWthbiBjYXRhdGFuIGtlcGFkYSBzaWFwYSBzYWphIHRhbnBhIG1lbWludGEgbWVyZWthIG1lbmd1bmR1aCBwcm9ncmFtLiBQeXRob24ganVnYSBtZXJ1cGFrYW4gYmFoYXNhIGdlbmVyYWwgeWFuZyBtdWRhaCBkaXBlbGFqYXJpIGRhbiBkaW1lbmdlcnRpIG9sZWggYmFueWFrIGRldmVsb3BlciBkYW4gc2lhcCB1bnR1ayBkaWd1bmFrYW4ga2UgZHVuaWEga2VyamEuDQoNCg0KIyMjIEJhaGFzYSBQZW1yb2dyYW1hbiBQeXRob24NCktlbGViaWhhbiA6IA0KTWVtaWxpa2kgbGlicmFyeSB5YW5nIGx1YXMgZGFuIGJhbnlhay4gRGlkYWxhbW55YSB0ZXJkYXBhdCBiZXJiYWdhaSBtYWNhbSBrb2RlIHVudHVrIGRpZ3VuYWthbiBzZXBlcnRpIHJlZ3VsYXIgZXhwcmVzc2lvbnMsIGRvY3VtZW50YXRpb24tZ2VuZXJhdGlvbiwgdW5pdCB0ZXN0aW5nLCBkYXRhYmFzZSwgQ0dJLCBlbWFpbCwgZGFuIG1hc2loIGJhbnlhayBsYWdpLiBTZWhpbmdnYSBkZW5nYW4gYWRhbnlhIGxpYnJhcnkgaW5pLCBhbmRhIHRpZGFrIHBlcmx1IG1lbnVsaXMgbGFnaSBzZWNhcmEgbWFudWFsLg0KUHl0aG9uIG1lcnVwYWthbiBiYWhhc2EgcGVtcm9ncmFtYW4gb3BlbiBzb3VyY2UgYXRhdSBkYXBhdCBraXRhIHVuZHVoIHNlY2FyYSBncmF0aXMuIEJhaGFzYSBzYXR1IGluaSBkaWtlbWJhbmdrYW4gZGkgYmF3YWggbGlzZW5zaSBvcGVuIHNvdXJjZSB5YW5nIGRpc2V0dWp1aSBvbGVoIE9TSSBkaW1hbmEgYmFoYXNhIHBlbXJvZ3JhbWFuIGluaSBiZWJhcyBkaWd1bmFrYW4sIGRpa2VtYmFuZ2thbiwgZGFuIGRpZGlzdHJpYnVzaWthbiwgYmFoa2FuIHRlcm1hc3VrIHR1anVhbiBrb21lcnNpYWwuDQoNClB5dGhvbiBtYW1wdSBtZW5naHVidW5na2FuIGJlbmRhLWJlbmRhIGRpc2VraXRhciBsaW5na3VuZ2FuIGtpdGEga2VkYWxhbSBzZWJ1YWggamFyaW5nLWphcmluZyAoaW50ZXJuZXQpIHlhbmcgbWVuZ2h1YnVuZ2thbiBzYXR1IHNhbWEgbGFpbi4NCg0KUHl0aG9uIG1lcnVwYWthbiBiYWhhc2EgeWFuZyBtdWRhaCBkaXBlbGFqYXJpIGJhaGthbiB1bnR1ayBwZW5nZW1iYW5nIHBlbXVsYS4gS29kZSBiYWhhc2EgcHl0aG9uIGluaSBtdWRhaCBkaWJhY2EgZGFuIGJpc2EgbWVuamFsYW5rYW4gYmFueWFrIGZ1bmdzaSBrb21wbGVrcyBkZW5nYW4gbXVkYWgsIGthcmVuYSBiYW55YWtueWEgbGlicmFyeS4NClNlbGFpbiBpdHUsIHByb3NlcyBwZW5nZW1iYW5nYW4gYmFoYXNhIHB5dGhvbiBiaXNhIGRpbGFrdWthbiBkZW5nYW4gY2VwYXQgbWVuZ2d1bmFrYW4ga29kZSB5YW5nIGxlYmloIHNlZGlraXQuIEJhaGthbiB0aW0ga2VjaWwgcHVuIGJpc2EgbWVuYW5nYW5pIGJhaGFzYSBweXRob24gc2VjYXJhIGVmZWt0aWYuDQpLZWt1cmFuZ2FuIDoNClRpZGFrIGNvY29rIHVudHVrIGFwbGlrYXNpIG1vYmlsZS4gUGVuZ2VtYmFuZ2FuIGFwbGlrYXNpIGRhbiBnYW1lIGt1cmFuZyBjb2NvayBqaWthIG1lbmdndW5ha2FuIHB5dGhvbi4gQmFoa2FuIGJhbnlhayB5YW5nIG1lbmdhdGFrYW4gYmFod2EgbXVzdGFoaWwgbWVtYnVhdCBnYW1lIGRhbGFtIGJlbnR1ayB0aWdhIGRpbWVuc2kgZGVuZ2FuIGdyYWZpcyB0aW5nZ2kgbWVuZ2d1bmFrYW4gcHl0aG9uLg0KRWtzZWt1c2kgcmVsYXRpZiBsYW1iYXQuIFB5dGhvbiBkaW5pbGFpIG1lbWlsaWtpIHBlcmZvcm1hIHlhbmcgcmVsYXRpZiBsYW1iYXQgamlrYSBkaWJhbmRpbmdrYW4gZGVuZ2FuIGJhaGFzYSBwZW1yb2dyYW1hbiBsYWlubnlhLiBCYWhrYW4gYmViZXJhcGEgcGVudWdhc2FuIHRlcmRhcGF0IGRpbHVhciBkYXJpIGphbmdrYXVhbiBweXRob24sIHNlcnVwYSBiYWhhc2EgcGVtcm9ncmFtYW4gZGluYW1pcyBsYWlubnlhLg0KDQpIdWJ1bmdhbiA6DQpQeXRob24gdGlkYWsgbWVtaWxpa2kgcGFrZXQgZGF0YSBzZWJhbnlhayBSLCBwYWtldCBkYXRhIHN0YW5kYXIgcGVuZ29sYWhhbiBkYXRhIHlhbmcgZGlwYWthaSBiaWFzYW55YSBhZGFsYWggbnVtcHksIHNjaXB5LCBwYW5kYS4gQnV0dWggZGFzYXItZGFzYXIgcGVtcm9ncmFtYW4gdW50dWsgZmFzaWggbWVuZ29sYWggZGF0YSBkZW5nYW4gUHl0aG9uLiBXYWxhdXB1biB0aWRhayBsZWJpaCBwcmFrdGlzIGRpYmFuZGluZyBSLCBiaWFzYW55YSB0aW0gZGF0YSBzY2llbmNlIG1lbmdndW5ha2FuIFB5dGhvbiBqdXN0cnUga2FyZW5hIGtldGlkYWstdGVyZ2FudHVuZ2FuIGJlcmxlYmloYW4gdGVyaGFkYXAgcGFrZXQtcGFrZXQgcGVuZ29sYWggZGF0YS4gUHJvc2VzIHBlbmdvbGFoYW4gZGF0YSBiaXNhIGRpdGVsdXN1cmkgc2VjYXJhIG1lbmRldGFpbCBrYXJlbmEgYmlhc2FueWEgcGFrZXQgcGVuZ29sYWggZGF0YSBkaSBQeXRob24gYWRhbGFoIHByb2R1ayBvcGVuIHNvdXJjZSB5YW5nIGp1Z2EgZGl0dWxpcyBkaSBQeXRob24gc2VoaW5nZ2EgbXVkYWggZGltb2RpZmlrYXNpIHVsYW5nIHNlc3VhaSBrZWJ1dHVoYW4gKGp1Z2EgZ2FtcGFuZyBtZWxhY2FrIHBlcnViYWhhbiBhcGEgeWFuZyB0ZXJqYWRpLCBwZXJ1YmFoYW4gcGFyYW1ldGVyIGtlY2lsIGthZGFuZyBiaXNhIG1lbmd1YmFoIGhhc2lsIGFraGlyIHNlY2FyYSB0b3RhbCAtIGNvbnRvaDogcHJveWVrIHNjaWtpdCBQeXRob24gYmFueWFrIHNla2FsaSBtZW5nYWxhbWkgcGVydWJhaGFuKS4gTXVkYWggbWVuZ2ludGVncmFzaWthbiBoYXNpbCBhdGF1IG1ldG9kZSBwZW5nb2xhaGFuIGRhdGEgZGVuZ2FuIHByb2dyYW0gbGFpbiBhdGF1IGJpc2EgbGFuZ3N1bmcgZGlsdW5jdXJrYW4ga2UgbWVzaW4gcHJvZHVrc2kgdW50dWsga2hhbGF5YWsgdW11bSBqdWdhIG1lcnVwYWthbiBrZWxlYmloYW4gUHl0aG9uLg0KDQojIyMgQmFoYXNhIFBlbXJvZ3JhbWFuIEphdmENCg0KS2VsZWJpaGFuIDoNClNhbGFoIHNhdHUga2VsZWJpaGFuIGRhcmkgSmF2YSBhZGFsYWggbWVtdWRhaGthbiBkYWxhbSBoYWwgcGVuZ2VtYmFuZ2FuIGFwbGlrYXNpLiBTZXRpYXAgYXBsaWthc2kgYXRhdXB1biBwcm9ncmFtIHlhbmcgZGlidWF0IGRlbmdhbiBtZW5nZ3VuYWthbiBkYXNhciBiYWhhc2EgcGVtcm9ncmFtYW4gSmF2YSBtZW1pbGlraSBrZW1hbXB1YW4geWFuZyBzYW5nYXQgYmFpayB1bnR1ayBkaWxha3VrYW4gcGVuZ2VtYmFuZ2FuIGxlYmloIGxhbmp1dC5LZWxlYmloYW4gbGFpbm55YSBkYXJpIGJhaGFzYSBwZW1yb2dyYW1hbiBqYXZhIHlhbmcgYmFueWFrIGRpbWluYXRpIG9sZWggcGFyYSBkZXZlbG9wZXIgZGFuIHByb2dyYW1tZXIgYWRhbGFoIGthcmVuYSBKYXZhIHNhbGFoIHNhdHUgYmFoYXNhIHBlbXJvZ3JhbWFuIHlhbmcgc2lmYXRueWEgbXVsdGkgcGxhdGZvcm0sIGFsaWFzIHVuaXZlcnNhbCBkYW4gYmlzYSBkaWd1bmFrYW4gZGFsYW0gcGxhdGZvcm0gYXBhcHVuLiBIYWwgdGVyc2VidXQgbWVtYnVhdCBiYW55YWsgc2VrYWxpIHBhcmEgcGVuZ2VtYmFuZyBhcGxpa2FzaSB5YW5nIG1lbmdndW5ha2FuIGJhc2lzIGJhaGFzYSBwZW1yb2dyYW1hbiBKYXZhIHVudHVrIG1lbWJ1YXQgYXBsaWthc2kgeWFuZyBkaWluZ2lua2FubnlhLg0KDQpLZWt1cmFuZ2FuIDoNCkJhaGFzYSBwZW1yb2dyYW1hbiBKYXZhIG1lbWFuZyBtZW5hd2Fya2FuIGJhbnlhayBzZWthbGkgZml0dXIgeWFuZyBoZWJhdCwgbXVsYWkgZGFyaSBrZW11ZGFoYW4gZGFsYW0gbWVueXVzdW4gc2NyaXB0LCBoaW5nZ2EgZml0dXIgb2JqZWN0IG9yaWVudGVkLCB5YW5nIG1lbmphZGkgc2FsYWggc2F0dSBjaXJpIGtoYXMgZGFyaSBiYWhhc2EgcGVtcm9ncmFtYW4gSmF2YS4gQWthbiB0ZXRhcGkgc2F5YW5nbnlhLCBzZW11YSBrZWxlYmloYW4gdGVyc2VidXQgaGFydXMgZGlrb21wZW5zYXNpIGRlbmdhbiBrZWJ1dHVoYW4gbWVtb3JpIHlhbmcgY3VrdXAgYmVzYXIuIEhhbCBpbmkgbWVueWViYWJrYW4gYmViZXJhcGEgYXBsaWthc2kgSmF2YSBtZW1idXR1aGthbiByZXNvdXJjZSBtZW1vcnkgeWFuZyBjdWt1cCBiZXNhciB1bnR1ayBkYXBhdCBiZXJqYWxhbiBkZW5nYW4gYmFpay4gQmVnaXR1IHB1bGEga2V0aWthIHNlb3JhbmcgZGV2ZWxvcGVyIGFrYW4gbWVuZ2VtYmFuZ2thbiBhcGxpa2FzaSBKYXZhLCBkZXZlbG9wZXIganVnYSBtZW1idXR1aGthbiBtZW1vcmkgeWFuZyB0aW5nZ2kgZGFsYW0gbWVuZ2VtYmFuZ2thbiBhcGxpa2FzaQ0KQmFoYXNhIG11ZGFobnlhIGRhcmkgaXN0aWxhaCBkZWtvbXBpbGFzaSBpbmkgYWRhbGFoIHBlbmdhbWJpbGFuIHNvdXJjZSBjb2RlLiBKYWRpLCBKYXZhIG1lcnVwYWthbiBzYWxhaCBzYXR1IGJhaGFzYSBwZW1yb2dyYW1hbiB5YW5nIG11ZGFoIG1lbmdhbGFtaSBkZWtvbXBpbGFzaS4gaW5pLg0KDQpIdWJ1bmdhbiA6DQpEYWxhbSBwcm9zZXMgY29kaW5nIGl0dSBzZW5kaXJpIGtpdGEgaGFydXMgbWVtYnVhdCBkZXJldCBjb2RpbmcgeWFuZyBsZWJpaCBwYW5qYW5nIGRhbiBydW1pdCBkZW5nYW4gbWVuZ2d1bmFrYW4gSmF2YSwgc2VtZW50YXJhIGtpdGEgY3VrdXAgbWVuZ2d1bmFrYW4gY29kaW5nIHlhbmcgcGVuZGVrIGRhbiBtaW5pbWFsaXMgZGVuZ2FuIG1lbmdndW5ha2FuIFB5dGhvbi4gS2l0YSBqdWdhIGhhcnVzIG1lbXBlcmplbGFzIHRpcGUgdmFyaWFiZWwgeWFuZyBpbmdpbiBhbmRhIGd1bmFrYW4gZGkgZGFsYW0gYmFoYXNhIHBlbXJvZ3JhbWFuIEphdmEuIFNlYmFsaWtueWEsIFB5dGhvbiB0aWRhayBtZW1lcmx1a2FuIHBlbmplbGFzYW4gc2VwZXJ0aSBpdHUgKGthcmVuYSB0aXBlbnlhIGRpbmFtaXMpLg0KDQoNCg==