Pendaftaran presenter ditutup
Inovasi di kelas matematikamu layak menginspirasi seluruh Indonesia.
SeNdiMat 2026: bersama membangun ekosistem guru matematika yang unggul.
Jadilah presenter di Seminar Nasional Pendidikan Matematika 2026. Tanpa makalah. Cukup kirim 6–12 slide berisi praktik nyata, dampak positifnya, dan cara guru lain mereplikasinya.
Seminar Nasional Pendidikan Matematika 2026 mengusung tema “Inovasi Pembelajaran Matematika menuju Ekosistem Guru Matematika yang Unggul”. Pantau jadwal dan pengumuman di bawah ini.
Apakah karya saya memenuhi syarat? Cek di sini →
Tanpa makalah panjang Honorarium bagi presenter Sertifikat Tingkat Nasional
🗓️ Timeline penting
23–30 Oktober 2026 Pengumuman di media sosial BBGTK DIY
2–4 November 2026 Seleksi peserta
6 November 2026 Pengumuman peserta luring dan daring
12 November 2026 Hari pelaksanaan seminar
6–12 slide seleksi presenter
10 topik praktik baik
8 kelompok peserta
12 Nov hari pelaksanaan seminar
Tema SeNdiMat 2026
“Inovasi Pembelajaran Matematika menuju Ekosistem Guru Matematika yang Unggul”
Karyamu tidak harus terlihat sempurna. Kami mencari solusi nyata yang berdampak dan bisa ditiru oleh rekan guru lain.
Cek Mandiri
Apakah praktikmu sudah siap dikirim?
Hilangkan keraguanmu. Centang kriteria yang sudah kamu miliki di bawah ini. (Ini hanya alat bantu, data tidak disimpan).
Masih ada yang belum tercentang? Tidak masalah! Kamu masih punya waktu melengkapinya sebelum tenggat waktu 21 Oktober.
Syarat Pendaftar
Dua Kategori Pendaftar Presenter
Kategori Guru (Internal DIY) Kategori BBGTK/BGTK/KGTK (Nasional)
Terbuka untuk guru kelas atau guru matematika di satuan pendidikan di wilayah DIY :
🧸 Guru PAUD/TK
📘 Guru SD / Paket A
📐 Guru MTK SMP / Paket B
🎓 Guru MTK SMA/SMK / Paket C
🤲 Guru SLB
Terbuka untuk utusan BBGTK/BGTK/KGTK dari seluruh provinsi di Indonesia :
🇮🇩 Pernah terlibat program Pembelajaran Mendalam, KKA, Matematika GEMBIRA, GNN, atau STEM
⭐ Diutamakan widyaiswara/PTP yang relevan dengan pengembangan guru matematika
Kehadiran Peserta
Belum siap presentasi? Hadir sebagai peserta!
Kamu tetap bisa menyerap ilmu sebagai peserta luring maupun daring. Kesempatan besar untuk belajar dari inovasi guru lain.
🧸 Guru PAUD/TK
📘 Guru SD / Paket A
📐 Guru MTK SMP
🎓 Guru MTK SMA/SMK
🤲 Guru SLB
🏫 Kepala Sekolah
🔎 Pengawas
🏛️ Perwakilan BBGTK
Format Karya
Cukup 6–12 Slide Presentasi
Tidak perlu mengetik makalah berlembar-lembar. Tuangkan ceritamu dengan format visual ini.
Latar Belakang Tantangan atau masalah awal kelas
Solusi (Inovasi) Langkah konkrit yang kamu ambil
Bukti Lapangan Dokumentasi/foto proses belajar
Dampak/Hasil Perubahan positif yang terjadi
Refleksi Apa yang bisa diperbaiki ke depan
Tips Replikasi Cara guru lain meniru suksesmu
Format file: .ppt / .pptx Batas maksimal 12 slide
Fokus Penilaian
Fokuslah pada “Dampak Nyata”
Karya yang dicari bukanlah yang paling rumit, melainkan yang terbukti berdampak dan dapat direplikasi.
Dampak yang Terlihat 30%
Sertakan bukti dampak
Timeline Pelaksanaan
Catat Tanggal Pentingnya
23–30 Oktober 2026
Pengumuman Pembukaan Pendaftaran Peserta
2–4 November 2026
Proses Seleksi Peserta
6 November 2026
Pengumuman Peserta Terpilih (Luring & Daring)
12 November 2026
Hari H Seminar SeNdiMat 2026
Alur Pendaftaran
4 Langkah Mudah Menuju SeNdiMat
Pastikan slide kamu (6-12 halaman) sudah tersimpan di perangkat sebelum memulai pendaftaran.
Akses Laman Resmi Mulai dengan mengunjungi portal utama.
Buka Laman →
Unggah Salindia Upload file .ppt atau .pptx sebelum 21 Oktober berakhir.
Unggah Disini →
Kilas Balik
Intip Keseruan SeNdiMat Edisi Lalu
Saksikan sendiri bagaimana guru-guru lain mempresentasikan karyanya. Jadikan ini inspirasi untuk salindiamu!
Jangan biarkan ide cemerlangmu hanya berhenti di dinding kelasmu.
Kemas dalam beberapa salindia dan jadilah inspirasi di panggung SeNdiMat 2026. Ruang pendaftaran otomatis tertutup pada 21 Oktober 2026 .
Sampai jumpa di SeNdiMat 2026!
Pantau pengumuman di media sosial BBGTK DIY untuk informasi terbaru dan pastikan hadir pada 12 November 2026.
“Kami tidak mencari guru yang paling sempurna, tapi mencari guru yang paling nyata berbuat dan berbagi dampaknya.”
SeNdiMat 2026 Seminar 12 Nov 2026
Daftar
KGZ1bmN0aW9uKCl7CiAgLyogPT09PT09PT09PT09PT09PT09PT09IENPTkZJRzogVUJBSCBESSBTSU5JID09PT09PT09PT09PT09PT09PT09PSAqLwogIHZhciBDT05GSUcgPSB7CiAgICBsaW5rU2l0ZTogICAgImh0dHBzOi8vYmJndGtkaXkua2VtZW5kaWtkYXNtZW4uZ28uaWQvc2VuZGltYXQvIiwKICAgIGxpbmtHdWlkZTogICAiIiwgICAKICAgIGxpbmtGb3JtOiAgICAiaHR0cHM6Ly9zLmlkL1NlTmRpTWF0MjAyNl9QcmVzZW50ZXIiLAogICAgbGlua1Blc2VydGE6ICJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9mb3Jtcy9kL2UvMUZBSXBRTFNlNlkzRVh4d1FwYm5WcWhMcDVSdTB0bVFXYkEwd3ZwX0ZPY0laeUdkVkJhY3p3aXcvdmlld2Zvcm0iLCAgCiAgICB3YU51bWJlcjogICAgIjYyODEzMjg1MTYxNzEiLCAgIAogICAgd2FOYW1lOiAgICAgICJQYWsgWW9uIiwKICAgIHdhVGV4dDogICAgICAiSGFsbyBQYWsgWW9uLCBzYXlhIHRlcnRhcmlrIG1lbmRhZnRhciBTZU5kaU1hdCAyMDI2LCBpemluIGJlcnRhbnlhLi4uIiwKICAgIG9wZW5BdDogICAgICAgICAiMjAyNi0xMC0xNVQwMDowMDowMCswNzowMCIsCiAgICBkZWFkbGluZTogICAgICAgIjIwMjYtMTAtMjFUMjM6NTk6NTkrMDc6MDAiLAogICAgcGVzZXJ0YU9wZW5BdDogICIyMDI2LTEwLTIzVDAwOjAwOjAwKzA3OjAwIiwKICAgIHBlc2VydGFDbG9zZUF0OiAiMjAyNi0xMC0zMFQyMzo1OTo1OSswNzowMCIsCiAgICBldmVudFN0YXJ0OiAgICAgIjIwMjYtMTEtMTJUMDA6MDA6MDArMDc6MDAiLAogICAgZXZlbnRFbmQ6ICAgICAgICIyMDI2LTExLTEyVDIzOjU5OjU5KzA3OjAwIiwKICAgIHN0aWNreVRvcDogMCAgICAKICB9OwogIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCiAgdmFyIHN0YXJ0ZWQgPSBmYWxzZTsKICBmdW5jdGlvbiBzdGFydCgpewogICAgaWYoc3RhcnRlZCkgcmV0dXJuOwogICAgdmFyIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2RtLXRvcCIpOwogICAgaWYoIXJvb3QpIHJldHVybjsgICAgICAgICAgICAKICAgIGlmKHdpbmRvdy5fX3NkbVN0YXJ0ZWQpeyBzdGFydGVkID0gdHJ1ZTsgcmV0dXJuOyB9ICAgCiAgICB3aW5kb3cuX19zZG1TdGFydGVkID0gdHJ1ZTsgc3RhcnRlZCA9IHRydWU7CgogICAgdmFyICQgID0gZnVuY3Rpb24ocyxjKXtyZXR1cm4gKGN8fHJvb3QpLnF1ZXJ5U2VsZWN0b3Iocyl9OwogICAgdmFyICQkID0gZnVuY3Rpb24ocyxjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoKGN8fHJvb3QpLnF1ZXJ5U2VsZWN0b3JBbGwocykpfTsKICAgIHZhciBwYWQgPSBmdW5jdGlvbihuKXtyZXR1cm4gbjwxMD8iMCIrbjoiIitufTsKICAgIHZhciBUID0gZnVuY3Rpb24oeCl7cmV0dXJuIG5ldyBEYXRlKHgpLmdldFRpbWUoKX07CiAgICB2YXIgb3A9VChDT05GSUcub3BlbkF0KSwgZGw9VChDT05GSUcuZGVhZGxpbmUpLCBwT3A9VChDT05GSUcucGVzZXJ0YU9wZW5BdCksCiAgICAgICAgcENsPVQoQ09ORklHLnBlc2VydGFDbG9zZUF0KSwgZXM9VChDT05GSUcuZXZlbnRTdGFydCksIGVlPVQoQ09ORklHLmV2ZW50RW5kKTsKICAgIHZhciBlcnJvcnMgPSBbXTsKICAgIGZ1bmN0aW9uIGZhaWwobixlKXsgZXJyb3JzLnB1c2gobik7IHRyeXsgY29uc29sZS5lcnJvcigiW1NlTmRpTWF0XSBibG9rICciK24rIicgZ2FnYWw6IixlKTsgfWNhdGNoKF8pe30gfQogICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zZG0tdG9wIiwgQ09ORklHLnN0aWNreVRvcCsicHgiKTsKCiAgICB2YXIgc2tldyA9IDA7CiAgICB0cnl7CiAgICAgIHZhciBxID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpLmdldCgic2Rtbm93Iik7CiAgICAgIGlmKHEpeyB2YXIgc2ltID0gVChxLmxlbmd0aD09PTEwID8gcSsiVDA5OjAwOjAwKzA3OjAwIiA6IHErIjowMCswNzowMCIpOyBpZighaXNOYU4oc2ltKSkgc2tldyA9IHNpbSAtIERhdGUubm93KCk7IH0KICAgIH1jYXRjaChlKXt9CiAgICB2YXIgbm93ID0gZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKStza2V3fTsKCiAgICB2YXIgVVJMUyA9IHtzaXRlOkNPTkZJRy5saW5rU2l0ZSwgZ3VpZGU6Q09ORklHLmxpbmtHdWlkZXx8Q09ORklHLmxpbmtTaXRlLCBmb3JtOkNPTkZJRy5saW5rRm9ybSwgcGVzZXJ0YTpDT05GSUcubGlua1Blc2VydGF8fENPTkZJRy5saW5rRm9ybX07CiAgICBmdW5jdGlvbiBzZXRMaW5rKGEsa2V5KXsKICAgICAgdmFyIHUgPSBVUkxTW2tleV0gfHwga2V5OwogICAgICBpZihVUkxTW2tleV0pIGEuc2V0QXR0cmlidXRlKCJkYXRhLWxpbmsiLGtleSk7IGVsc2UgYS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtbGluayIpOwogICAgICBhLmhyZWYgPSB1OwogICAgICBpZigvXmh0dHBzPzovLnRlc3QodSkgJiYgdS5pbmRleE9mKGxvY2F0aW9uLm9yaWdpbikhPT0wKXsgYS50YXJnZXQ9Il9ibGFuayI7IGEucmVsPSJub29wZW5lciI7IH0KICAgICAgZWxzZSB7IGEucmVtb3ZlQXR0cmlidXRlKCJ0YXJnZXQiKTsgYS5yZW1vdmVBdHRyaWJ1dGUoInJlbCIpOyB9CiAgICB9CiAgICB2YXIgY3VyID0ge3BoOiIiLCBwczoiIn07CiAgICB2YXIgY2QgPSAkKCIjc2RtLWNkIiksIHN0aWNreSA9ICQoIiNzZG0tc3RpY2t5IiksIGhlcm8gPSAkKCIuaGVybyIpLCBmaW4gPSAkKCIuZmluYWwiKTsKCiAgICB0cnl7CiAgICAgICQkKCJhW2RhdGEtbGlua10iKS5mb3JFYWNoKGZ1bmN0aW9uKGEpeyBpZighYS5oYXNBdHRyaWJ1dGUoImRhdGEtcm9sZSIpKSBzZXRMaW5rKGEsYS5nZXRBdHRyaWJ1dGUoImRhdGEtbGluayIpKTsgfSk7CiAgICAgIHZhciB3YSA9ICQoIiNzZG0td2EiKTsKICAgICAgaWYod2EpewogICAgICAgIHdhLmhyZWYgPSAiaHR0cHM6Ly93YS5tZS8iICsgQ09ORklHLndhTnVtYmVyICsgIj90ZXh0PSIgKyBlbmNvZGVVUklDb21wb25lbnQoQ09ORklHLndhVGV4dCk7CiAgICAgIH0KICAgICAgJCQoIi5pY28sLnBpbGwgZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKX0pOwogICAgfWNhdGNoKGUpeyBmYWlsKCJ0YXV0YW4iLGUpOyB9CgogICAgdHJ5ewogICAgICB2YXIgdm0gPSBudWxsLCB2bUxhc3QgPSBudWxsOwogICAgICB2YXIgYnVpbGRNb2RhbCA9IGZ1bmN0aW9uKCl7CiAgICAgICAgdm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICB2bS5jbGFzc05hbWUgPSAic2RtLXZtIjsgdm0uaGlkZGVuID0gdHJ1ZTsKICAgICAgICB2bS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJkaWFsb2ciKTsgdm0uc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwidHJ1ZSIpOyB2bS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJQZW11dGFyIHZpZGVvIFNlTmRpTWF0Iik7CiAgICAgICAgdm0uaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9InNkbS12bV9fYmciIGRhdGEtY2xvc2U9IjEiPjwvZGl2PjxkaXYgY2xhc3M9InNkbS12bV9fYm94Ij4nICsKICAgICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNkbS12bV9feCIgZGF0YS1jbG9zZT0iMSIgYXJpYS1sYWJlbD0iVHV0dXAgdmlkZW8iPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik01IDVsMTQgMTRNMTkgNUw1IDE5Ii8+PC9zdmc+PC9idXR0b24+JyArCiAgICAgICAgICAnPGRpdiBjbGFzcz0ic2RtLXZtX19mcmFtZSI+PC9kaXY+JyArCiAgICAgICAgICAnPGRpdiBjbGFzcz0ic2RtLXZtX19iYXIiPjxzcGFuIGNsYXNzPSJzZG0tdm1fX3QiPjwvc3Bhbj48YSBjbGFzcz0ic2RtLXZtX195dCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkJ1a2EgZGkgWW91VHViZSDihpc8L2E+PC9kaXY+PC9kaXY+JzsKICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHZtKTsKICAgICAgICB2bS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7IHZhciB0PWUudGFyZ2V0OyBpZih0LmNsb3Nlc3QgJiYgdC5jbG9zZXN0KCJbZGF0YS1jbG9zZV0iKSkgY2xvc2VWaWRlbygpOyB9KTsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihlKXsKICAgICAgICAgIGlmKCF2bSB8fCB2bS5oaWRkZW4pIHJldHVybjsKICAgICAgICAgIGlmKGUua2V5PT09IkVzY2FwZSIpeyBlLnByZXZlbnREZWZhdWx0KCk7IGNsb3NlVmlkZW8oKTsgcmV0dXJuOyB9CiAgICAgICAgICBpZihlLmtleT09PSJUYWIiKXsKICAgICAgICAgICAgdmFyIGYgPSBbdm0ucXVlcnlTZWxlY3RvcigiLnNkbS12bV9feCIpLCB2bS5xdWVyeVNlbGVjdG9yKCIuc2RtLXZtX195dCIpXSwgaSA9IGYuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTsKICAgICAgICAgICAgaWYoZS5zaGlmdEtleSAmJiBpPD0wKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBmWzFdLmZvY3VzKCk7IH0KICAgICAgICAgICAgZWxzZSBpZighZS5zaGlmdEtleSAmJiBpPT09MSl7IGUucHJldmVudERlZmF1bHQoKTsgZlswXS5mb2N1cygpOyB9CiAgICAgICAgICAgIGVsc2UgaWYoaTwwKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBmWzBdLmZvY3VzKCk7IH0KICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfTsKICAgICAgdmFyIG9wZW5WaWRlbyA9IGZ1bmN0aW9uKGEpewogICAgICAgIGlmKCF2bSkgYnVpbGRNb2RhbCgpOwogICAgICAgIHZhciBpZCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLXl0IiksIHRpdGxlID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtdGl0bGUiKSB8fCAiVmlkZW8gU2VOZGlNYXQiOwogICAgICAgIHZtTGFzdCA9IGE7CiAgICAgICAgdmFyIGZyID0gdm0ucXVlcnlTZWxlY3RvcigiLnNkbS12bV9fZnJhbWUiKTsgZnIuaW5uZXJIVE1MID0gIiI7CiAgICAgICAgdmFyIGYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKICAgICAgICBmLnNyYyA9ICJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8iICsgaWQgKyAiP2F1dG9wbGF5PTEmcmVsPTAmbW9kZXN0YnJhbmRpbmc9MSZwbGF5c2lubGluZT0xIjsKICAgICAgICBmLnRpdGxlID0gdGl0bGU7IGYuYWxsb3cgPSAiYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlOyBmdWxsc2NyZWVuIjsKICAgICAgICBmLnNldEF0dHJpYnV0ZSgiYWxsb3dmdWxsc2NyZWVuIiwiIik7IGYuc2V0QXR0cmlidXRlKCJyZWZlcnJlcnBvbGljeSIsInN0cmljdC1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4iKTsKICAgICAgICBmci5hcHBlbmRDaGlsZChmKTsKICAgICAgICB2bS5xdWVyeVNlbGVjdG9yKCIuc2RtLXZtX190IikudGV4dENvbnRlbnQgPSB0aXRsZTsKICAgICAgICB2bS5xdWVyeVNlbGVjdG9yKCIuc2RtLXZtX195dCIpLmhyZWYgPSAiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0iICsgaWQ7CiAgICAgICAgdm0uaGlkZGVuID0gZmFsc2U7CiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoInNkbS12bS1vcGVuIik7CiAgICAgICAgdm0ucXVlcnlTZWxlY3RvcigiLnNkbS12bV9feCIpLmZvY3VzKCk7CiAgICAgICAgdHJ5ewogICAgICAgICAgaWYod2luZG93LmRhdGFMYXllcikgd2luZG93LmRhdGFMYXllci5wdXNoKHtldmVudDoic2VuZGltYXRfdmlkZW9fb3BlbiIsIHZpZGVvX3RpdGxlOnRpdGxlLCBwaGFzZTpjdXIucGh9KTsKICAgICAgICAgIGlmKHR5cGVvZiB3aW5kb3cuZ3RhZz09PSJmdW5jdGlvbiIpIHdpbmRvdy5ndGFnKCJldmVudCIsInNlbmRpbWF0X3ZpZGVvX29wZW4iLHt2aWRlb190aXRsZTp0aXRsZX0pOwogICAgICAgIH1jYXRjaChlKXt9CiAgICAgIH07CiAgICAgIHZhciBjbG9zZVZpZGVvID0gZnVuY3Rpb24oKXsKICAgICAgICBpZighdm0gfHwgdm0uaGlkZGVuKSByZXR1cm47CiAgICAgICAgdm0uaGlkZGVuID0gdHJ1ZTsgdm0ucXVlcnlTZWxlY3RvcigiLnNkbS12bV9fZnJhbWUiKS5pbm5lckhUTUwgPSAiIjsKICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgic2RtLXZtLW9wZW4iKTsKICAgICAgICBpZih2bUxhc3QgJiYgdm1MYXN0LmZvY3VzKSB2bUxhc3QuZm9jdXMoKTsKICAgICAgfTsKCiAgICAgIHZhciB0cmFjayA9IGZ1bmN0aW9uKGEpewogICAgICAgIHZhciBkID0ge2V2ZW50OiJzZW5kaW1hdF9jdGFfY2xpY2siLCBjdGFfbGFiZWw6KGEudGV4dENvbnRlbnR8fCIiKS5yZXBsYWNlKC9ccysvZywiICIpLnRyaW0oKS5zbGljZSgwLDQwKSwgY3RhX3RhcmdldDphLmhyZWYsIHBoYXNlOmN1ci5waH07CiAgICAgICAgdHJ5ewogICAgICAgICAgaWYod2luZG93LmRhdGFMYXllcikgd2luZG93LmRhdGFMYXllci5wdXNoKGQpOwogICAgICAgICAgaWYodHlwZW9mIHdpbmRvdy5ndGFnPT09ImZ1bmN0aW9uIikgd2luZG93Lmd0YWcoImV2ZW50Iiwic2VuZGltYXRfY3RhX2NsaWNrIix7Y3RhX2xhYmVsOmQuY3RhX2xhYmVsLHBoYXNlOmQucGhhc2V9KTsKICAgICAgICB9Y2F0Y2goZSl7fQogICAgICB9OwogICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXsKICAgICAgICB2YXIgYSA9IGUudGFyZ2V0LmNsb3Nlc3QgPyBlLnRhcmdldC5jbG9zZXN0KCJhIikgOiBudWxsOyBpZighYSkgcmV0dXJuOwogICAgICAgIGlmKGEuaGFzQXR0cmlidXRlKCJkYXRhLXl0IikpeyBlLnByZXZlbnREZWZhdWx0KCk7IG9wZW5WaWRlbyhhKTsgcmV0dXJuOyB9CiAgICAgICAgdmFyIHRiID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtdGFiIik7IGlmKHRiKXsgdmFyIHR0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGIpOyBpZih0dCl7IHR0LmNoZWNrZWQgPSB0cnVlOyB9IH0KICAgICAgICBpZihhLmhhc0F0dHJpYnV0ZSgiZGF0YS1saW5rIikgfHwgYS5oYXNBdHRyaWJ1dGUoImRhdGEtcm9sZSIpKSB0cmFjayhhKTsKICAgICAgICB2YXIgaCA9IGEuZ2V0QXR0cmlidXRlKCJocmVmIikgfHwgIiI7CiAgICAgICAgaWYoaC5jaGFyQXQoMCk9PT0iIyIgJiYgaC5sZW5ndGg+MSl7CiAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChoLnNsaWNlKDEpKTsKICAgICAgICAgIGlmKGVsICYmICFlbC5oaWRkZW4pewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7dG9wOmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCt3aW5kb3cuc2Nyb2xsWS0oQ09ORklHLnN0aWNreVRvcCs1NiksYmVoYXZpb3I6InNtb290aCJ9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfWNhdGNoKGUpeyBmYWlsKCJpbnRlcmFrc2kiLGUpOyB9CgogICAgdmFyIGJhclcgPSBmdW5jdGlvbihiKXsgdmFyIGk9JCgiaSIsYik7IGlmKGkpIGkuc3R5bGUud2lkdGggPSAoYi5nZXRBdHRyaWJ1dGUoImRhdGEtdyIpLzMwKjEwMCkrIiUiOyB9OwogICAgdHJ5ewogICAgICBpZigiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiIGluIHdpbmRvdyl7CiAgICAgICAgJCQoIi5iYXIgaSIpLmZvckVhY2goZnVuY3Rpb24oaSl7IGkuc3R5bGUud2lkdGggPSAiMCI7IH0pOwogICAgICAgIHJvb3QuY2xhc3NMaXN0LmFkZCgic2RtLWpzIik7CiAgICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGxpc3QpewogICAgICAgICAgbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGUpeyBpZihlLmlzSW50ZXJzZWN0aW5nKXsgZS50YXJnZXQuY2xhc3NMaXN0LmFkZCgiaW4iKTsgaW8udW5vYnNlcnZlKGUudGFyZ2V0KTsgfSB9KTsKICAgICAgICB9LHt0aHJlc2hvbGQ6LjEyfSk7CiAgICAgICAgJCQoIi5ydiIpLmZvckVhY2goZnVuY3Rpb24oZWwpe2lvLm9ic2VydmUoZWwpfSk7CiAgICAgICAgdmFyIHNjID0gJCgiI3NkbS1zY29yZSIpOwogICAgICAgIGlmKHNjKXsKICAgICAgICAgIHZhciBzbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihsaXN0KXsKICAgICAgICAgICAgbGlzdC5mb3JFYWNoKGZ1bmN0aW9uKGUpeyBpZihlLmlzSW50ZXJzZWN0aW5nKXsgJCQoIi5iYXIiLGUudGFyZ2V0KS5mb3JFYWNoKGJhclcpOyBzby51bm9ic2VydmUoZS50YXJnZXQpOyB9IH0pOwogICAgICAgICAgfSx7dGhyZXNob2xkOi4zfSk7CiAgICAgICAgICBzby5vYnNlcnZlKHNjKTsKICAgICAgICB9CiAgICAgIH0KICAgIH1jYXRjaChlKXsgcm9vdC5jbGFzc0xpc3QucmVtb3ZlKCJzZG0tanMiKTsgJCQoIi5iYXIiKS5mb3JFYWNoKGJhclcpOyBmYWlsKCJhbmltYXNpIixlKTsgfQoKICAgIHRyeXsKICAgICAgdmFyIHBoYXNlID0gZnVuY3Rpb24obil7IHJldHVybiBuPG9wPyJwcmUiIDogbjw9ZGw/Im9wZW4iIDogbjxlcz8iY2xvc2VkIiA6IG48PWVlPyJldmVudCIgOiAiZG9uZSI7IH07CiAgICAgIHZhciBwZXNTdGF0ZSA9IGZ1bmN0aW9uKG4peyByZXR1cm4gbjxwT3A/IndhaXQiIDogbjw9cENsPyJvcGVuIiA6ICJjbG9zZWQiOyB9OwogICAgICB2YXIgcHJpbWFyeSA9IGZ1bmN0aW9uKHBoLHBzKXsKICAgICAgICBpZihwaD09PSJwcmUifHxwaD09PSJvcGVuIikgcmV0dXJuIHt0OiJEYWZ0YXIgSmFkaSBQcmVzZW50ZXIiLHM6IkRhZnRhciIsazoiZm9ybSJ9OwogICAgICAgIGlmKHBoPT09ImNsb3NlZCIpIHJldHVybiBwcz09PSJvcGVuIiA/IHt0OiJEYWZ0YXIgSmFkaSBQZXNlcnRhIixzOiJEYWZ0YXIiLGs6InBlc2VydGEifSA6IHt0OiJJbmZvIFBlc2VydGEiLHM6IkluZm8iLGs6IiNwZXNlcnRhIn07CiAgICAgICAgaWYocGg9PT0iZXZlbnQiKSAgcmV0dXJuIHt0OiJJbmZvIEhhcmkgUGVsYWtzYW5hYW4iLHM6IkluZm8iLGs6InNpdGUifTsKICAgICAgICByZXR1cm4ge3Q6Ikt1bmp1bmdpIExhbWFuIFNlTmRpTWF0IixzOiJCdWthIixrOiJzaXRlIn07CiAgICAgIH07CiAgICAgIHZhciBDRCA9IHsKICAgICAgICBwcmU6ICAge3N0OiJTZWdlcmEgZGlidWthIMK3IDE1IE9rdG9iZXIgMjAyNiIsIHRpOiJPcGVuIENhbGwgZGlidWthIGRhbGFtIiwgc3U6IjE1IE9rdG9iZXIgMjAyNiIsIHRhcmdldDpvcCwKICAgICAgICAgICAgICAgIG5vOiJTaWFwa2FuIHNhbGluZGlhbXUgc2VrYXJhbmcuIFdha3R1IHNlbGVrc2kgdGVyYmF0YXMuIiwgc2s6Ik9wZW4gQ2FsbCBQcmVzZW50ZXIifSwKICAgICAgICBvcGVuOiAge3N0OiJQZW5kYWZ0YXJhbiBwcmVzZW50ZXIgZGlidWthIiwgdGk6IkJhdGFzIGFraGlyIHN1Ym1pdCBzYWxpbmRpYSIsIHN1OiIyMSBPa3RvYmVyIDIwMjYgwrcgcHVrdWwgMjMuNTkgV0lCIiwgdGFyZ2V0OmRsLAogICAgICAgICAgICAgICAgbm86IkphbmdhbiB0dW5nZ3UgYmF0YXMgd2FrdHUhIFBlbmd1bXVtYW4gcHJlc2VudGVyIHRlcnBpbGloOiA8Yj4yNyBPa3RvYmVyIDIwMjY8L2I+LiIsIHNrOiJQZW5kYWZ0YXJhbiBEaWJ1a2EifSwKICAgICAgICBjbG9zZWQ6e3N0OiJQZW5kYWZ0YXJhbiBwcmVzZW50ZXIgZGl0dXR1cCIsIHRpOiJTZW1pbmFyIGRpbXVsYWkgZGFsYW0iLCBzdToiMTIgTm92ZW1iZXIgMjAyNiIsIHRhcmdldDplcywKICAgICAgICAgICAgICAgIG5vOiJQYW50YXUgcGVuZ3VtdW1hbiByZXNtaSBkaSBtZWRpYSBzb3NpYWwgQkJHVEsgRElZLiIsIHNrOiJTZU5kaU1hdCAyMDI2In0sCiAgICAgICAgZXZlbnQ6IHtzdDoiSGFyaSBQZWxha3NhbmFhbiDCtyAxMiBOb3ZlbWJlciAyMDI2IiwgdGk6IkhhcmkgaW5pIiwgc3U6IkhhcmkgcGVsYWtzYW5hYW4gU2VOZGlNYXQgMjAyNiIsIHRhcmdldDowLAogICAgICAgICAgICAgICAgbm86IlNlbGFtYXQgbWVuZ2lrdXRpIFNlTmRpTWF0IDIwMjYuIiwgc2s6IkhhcmkgSW5pIn0sCiAgICAgICAgZG9uZTogIHtzdDoiU2VOZGlNYXQgMjAyNiBUZXJsYWtzYW5hIiwgdGk6IlRlcmltYSBLYXNpaCIsIHN1OiJTZU5kaU1hdCAyMDI2IHRlbGFoIHN1a3NlcyBkaXNlbGVuZ2dhcmFrYW4uIiwgdGFyZ2V0OjAsCiAgICAgICAgICAgICAgICBubzoiU2FtcGFpIGp1bXBhIGRpIFNlTmRpTWF0IGVkaXNpIGJlcmlrdXRueWEuIiwgc2s6IlRlbGFoIEJlcmFraGlyIn0KICAgICAgfTsKICAgICAgdmFyIG1hcmtUaW1lbGluZSA9IGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIG4gPSBuZXcgRGF0ZShub3coKSk7CiAgICAgICAgJCQoIi50bCwgLm10bCIpLmZvckVhY2goZnVuY3Rpb24obGlzdCl7CiAgICAgICAgICB2YXIgZm91bmQgPSBmYWxzZTsKICAgICAgICAgICQkKCJsaSIsbGlzdCkuZm9yRWFjaChmdW5jdGlvbihsaSl7CiAgICAgICAgICAgIGxpLmNsYXNzTGlzdC5yZW1vdmUoImRvbmUiLCJub3ciKTsKICAgICAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZShsaS5nZXRBdHRyaWJ1dGUoImRhdGEtZCIpKyJUMjM6NTk6NTkrMDc6MDAiKTsKICAgICAgICAgICAgaWYoZCA8IG4peyBsaS5jbGFzc0xpc3QuYWRkKCJkb25lIik7IH0gZWxzZSBpZighZm91bmQpeyBmb3VuZCA9IHRydWU7IGxpLmNsYXNzTGlzdC5hZGQoIm5vdyIpOyB9CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgfTsKICAgICAgdmFyIGFwcGx5ID0gZnVuY3Rpb24oZm9yY2UpewogICAgICAgIHZhciBuID0gbm93KCksIHBoID0gcGhhc2UobiksIHBzID0gcGVzU3RhdGUobik7CiAgICAgICAgaWYoIWZvcmNlICYmIHBoPT09Y3VyLnBoICYmIHBzPT09Y3VyLnBzKSByZXR1cm47CiAgICAgICAgY3VyLnBoID0gcGg7IGN1ci5wcyA9IHBzOwogICAgICAgIHJvb3Quc2V0QXR0cmlidXRlKCJkYXRhLXBoYXNlIixwaCk7CiAgICAgICAgJCQoIltkYXRhLXBoXSIpLmZvckVhY2goZnVuY3Rpb24oZWwpeyBlbC5oaWRkZW4gPSBlbC5nZXRBdHRyaWJ1dGUoImRhdGEtcGgiKS5zcGxpdCgiICIpLmluZGV4T2YocGgpIDwgMDsgfSk7CiAgICAgICAgJCQoIltkYXRhLXBlc10iKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsgZWwuaGlkZGVuID0gZWwuZ2V0QXR0cmlidXRlKCJkYXRhLXBlcyIpICE9PSBwczsgfSk7CiAgICAgICAgdmFyIHByID0gcHJpbWFyeShwaCxwcyk7CiAgICAgICAgJCQoJ1tkYXRhLXJvbGU9InByaW1hcnkiXScpLmZvckVhY2goZnVuY3Rpb24oYSl7CiAgICAgICAgICBzZXRMaW5rKGEscHIuayk7IHZhciBsID0gJCgiLmxibCIsYSk7IGlmKGwpIGwudGV4dENvbnRlbnQgPSBhLmhhc0F0dHJpYnV0ZSgiZGF0YS1zaG9ydCIpID8gcHIucyA6IHByLnQ7CiAgICAgICAgfSk7CiAgICAgICAgJCQoJ1tkYXRhLXJvbGU9InNlY29uZCJdJykuZm9yRWFjaChmdW5jdGlvbihhKXsKICAgICAgICAgIHZhciBwcmUgPSAocGg9PT0icHJlInx8cGg9PT0ib3BlbiIpOwogICAgICAgICAgc2V0TGluayhhLCBwcmUgPyAiI3Blc2VydGEiIDogIiN0aW1lbGluZSIpOyAkKCIubGJsIixhKS50ZXh0Q29udGVudCA9IHByZSA/ICJJbmZvIFBlc2VydGEiIDogIkxpaGF0IEphZHdhbCI7CiAgICAgICAgfSk7CiAgICAgICAgdmFyIGMgPSBDRFtwaF07CiAgICAgICAgJCgiI3NkbS1zdGF0dXMiKS50ZXh0Q29udGVudCA9IGMuc3Q7CiAgICAgICAgJCgiI3NkbS1jZC10aXRsZSIpLmlubmVySFRNTCA9ICc8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JyArIChjLnRhcmdldCA/ICLij7MiIDogIvCfjpMiKSArICc8L3NwYW4+ICcgKyBjLnRpOwogICAgICAgICQoIiNzZG0tY2Qtc3ViIikudGV4dENvbnRlbnQgPSBjLnN1OwogICAgICAgICQoIiNzZG0tY2Qtbm90ZSIpLmlubmVySFRNTCA9IGMubm87CiAgICAgICAgY2QuaGlkZGVuID0gIWMudGFyZ2V0OwogICAgICAgICQoIiNzZG0tc3RpY2t5LXQiKS50ZXh0Q29udGVudCA9IGMuc2s7CiAgICAgICAgJCQoIi5uYXYgYSIpLmZvckVhY2goZnVuY3Rpb24oYSl7CiAgICAgICAgICB2YXIgdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEuZ2V0QXR0cmlidXRlKCJocmVmIikuc2xpY2UoMSkpOyBhLmhpZGRlbiA9ICEhKHQgJiYgdC5oaWRkZW4pOwogICAgICAgIH0pOwogICAgICAgIG1hcmtUaW1lbGluZSgpOwogICAgICB9OwogICAgICB2YXIgbGFzdE1pbiA9IC0xOwogICAgICB2YXIgdGljayA9IGZ1bmN0aW9uKCl7CiAgICAgICAgYXBwbHkoZmFsc2UpOwogICAgICAgIHZhciBuID0gbm93KCksIGMgPSBDRFtjdXIucGhdLCBkaWZmID0gYy50YXJnZXQgPyBjLnRhcmdldCAtIG4gOiAwLCBkPTAsaD0wLG09MCxzPTA7CiAgICAgICAgaWYoZGlmZj4wKXsgZD1NYXRoLmZsb29yKGRpZmYvODY0ZTUpOyBoPU1hdGguZmxvb3IoZGlmZiU4NjRlNS8zNmU1KTsgbT1NYXRoLmZsb29yKGRpZmYlMzZlNS82ZTQpOyBzPU1hdGguZmxvb3IoZGlmZiU2ZTQvMWUzKTsgfQogICAgICAgIHZhciB2ID0ge2Q6cGFkKGQpLGg6cGFkKGgpLG06cGFkKG0pLHM6cGFkKHMpfTsKICAgICAgICAkJCgiYiIsY2QpLmZvckVhY2goZnVuY3Rpb24oYil7IGIudGV4dENvbnRlbnQgPSB2W2IuZ2V0QXR0cmlidXRlKCJkYXRhLXUiKV07IH0pOwogICAgICAgICQoIiNzZG0tc3RpY2t5LWNkIikudGV4dENvbnRlbnQgPSBjdXIucGg9PT0icHJlIiA/ICJEaWJ1a2EgZGFsYW0gIitkKyIgaGFyaSIgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXIucGg9PT0ib3BlbiIgPyAiU2lzYSAiK2QrIiBoYXJpICIrcGFkKGgpKyIgamFtIiA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci5waD09PSJjbG9zZWQiID8gIlNlbWluYXIgMTIgTm92IDIwMjYiIDogYy5zdTsKICAgICAgICB2YXIgbW0gPSBNYXRoLmZsb29yKG4vNmU0KTsgaWYobW0hPT1sYXN0TWluKXsgbGFzdE1pbj1tbTsgbWFya1RpbWVsaW5lKCk7IH0KICAgICAgfTsKICAgICAgYXBwbHkodHJ1ZSk7IHRpY2soKTsgc2V0SW50ZXJ2YWwodGljaywxMDAwKTsKICAgIH1jYXRjaChlKXsgZmFpbCgiZmFzZSIsZSk7IH0KCiAgICB0cnl7CiAgICAgIHZhciBsaW5rcyA9ICQkKCIubmF2IGEiKSwgc2VjcyA9IGxpbmtzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYS5nZXRBdHRyaWJ1dGUoImhyZWYiKS5zbGljZSgxKSl9KTsKICAgICAgdmFyIG9uU2Nyb2xsID0gZnVuY3Rpb24oKXsKICAgICAgICB2YXIgeSA9IHdpbmRvdy5zY3JvbGxZICsgQ09ORklHLnN0aWNreVRvcCArIDE0MCwgYyA9IC0xOwogICAgICAgIHNlY3MuZm9yRWFjaChmdW5jdGlvbihzY3QsaSl7IGlmKHNjdCAmJiAhc2N0LmhpZGRlbiAmJiBzY3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFkgPD0geSkgYyA9IGk7IH0pOwogICAgICAgIGxpbmtzLmZvckVhY2goZnVuY3Rpb24oYSxpKXthLmNsYXNzTGlzdC50b2dnbGUoIm9uIixpPT09Yyl9KTsKICAgICAgICB2YXIgcGFzdCA9IGhlcm8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tIDwgMDsKICAgICAgICB2YXIgYXRFbmQgPSBmaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDwgd2luZG93LmlubmVySGVpZ2h0Ki42OwogICAgICAgIHN0aWNreS5jbGFzc0xpc3QudG9nZ2xlKCJzaG93IiwgcGFzdCAmJiAhYXRFbmQgJiYgY3VyLnBoIT09ImRvbmUiKTsKICAgICAgfTsKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsb25TY3JvbGwse3Bhc3NpdmU6dHJ1ZX0pOyBvblNjcm9sbCgpOwogICAgfWNhdGNoKGUpeyBmYWlsKCJuYXZpZ2FzaSIsZSk7IH0KCiAgICByb290LnNldEF0dHJpYnV0ZSgiZGF0YS1qcyIsIGVycm9ycy5sZW5ndGggPyAiZXJyb3I6IitlcnJvcnMuam9pbigiLCIpIDogIm9rIik7CiAgICB0cnl7IGNvbnNvbGUuaW5mbygiW1NlTmRpTWF0XSB2OCBPcHRpbWl6ZWQgYWt0aWYgwrcgZmFzZTogIisoY3VyLnBofHwiPyIpKTsgfWNhdGNoKGUpe30KICB9CgogIGlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyIpeyBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixzdGFydCk7IH0gZWxzZSB7IHN0YXJ0KCk7IH0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsc3RhcnQpOyAKfSkoKTsK