From: Subject: =?iso-2022-jp?B?GyRCJTclaSVQJTk7Mj5IGyhC?= Date: Tue, 29 Apr 2008 11:45:41 +0900 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C8A9EE.8D4132B0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C8A9EE.8D4132B0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 Content-Location: https://tgulc.u-gakugei.ac.jp/syllabus2/referenceDirect.do?nologin=on&subjectID=032600002389&formatCD=1 77u/PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9u YWwvL0VOIj4NCjxIVE1MIGxhbmc9amE+PEhFQUQ+PFRJVExFPuOCt+ODqeODkOOCueWPgueFpzwv VElUTEU+DQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7 IGNoYXJzZXQ9dXRmLTgiPjxMSU5LIA0KaHJlZj0iaHR0cHM6Ly90Z3VsYy51LWdha3VnZWkuYWMu anAvVUkvY3NzL2NvbW1vbi90ZXh0LmNzcyIgdHlwZT10ZXh0L2NzcyANCnJlbD1zdHlsZXNoZWV0 PjxMSU5LIA0KaHJlZj0iaHR0cHM6Ly90Z3VsYy51LWdha3VnZWkuYWMuanAvVUkvY3NzL2NvbW1v bi9zeWxsYWJ1cy5jc3MiIHR5cGU9dGV4dC9jc3MgDQpyZWw9c3R5bGVzaGVldD4NCjxNRVRBIGh0 dHAtZXF1aXY9UHJhZ21hIGNvbnRlbnQ9bm8tY2FjaGU+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwg Ni4wMC4yOTAwLjMzMTQiIG5hbWU9R0VORVJBVE9SPjwvSEVBRD4NCjxCT0RZIHRleHQ9IzAwMDAw MCBiZ0NvbG9yPSNmZmZmZmYgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIA0Kb251bmxvYWQ9c3Vi V2luQ2xvc2UoKSBtYXJnaW5oZWlnaHQ9IjAiIG1hcmdpbndpZHRoPSIwIj4NCjxTQ1JJUFQgbGFu Z3VhZ2U9amF2YXNjcmlwdD4KPCEtLQogIGZ1bmN0aW9uIHN5bGxhYnVzQ2hpbGRPcGVuKHNlc3Np b25JRCwgdGVhY2hlckNEKSB7CiAgICB2YXIgdXJsID0gIi9zeWxsYWJ1czIvc3lsbGFidXNUZWFj aGVyRGV0YWlsLmRvO0xjU2Vzc2lvbklEPSIgKyBzZXNzaW9uSUQgKyAiP3RlYWNoZXJDRD0iICsg dGVhY2hlckNEOwogICAgc3ViV2luZG93ID0gd2luZG93Lm9wZW4odXJsLCAnc3ViV2luZG93Jywg IndpZHRoPTY4MCwgaGVpZ2h0PTQwMCwgc2Nyb2xsYmFycz15ZXMsIHJlc2l6YWJsZT15ZXMsIHN0 YXR1cz15ZXMiKTsKICAgIHN1YldpbmRvdy5mb2N1cygpOwogIH0KLy8tLT4KPC9TQ1JJUFQ+DQoN CjxTQ1JJUFQgbGFuZ3VhZ2U9amF2YXNjcmlwdD4KPCEtLQovKioKICog44K/44Kk44OI44Or566h 55CG77yN44OX44Os44OT44Ol44O844Oc44K/44Oz44KS44Kv44Oq44OD44Kv44GX44Gf44Go44GN 44Gr5ZG844Gw44KM44KLCiAqLwpmdW5jdGlvbiBwcmV2aWV3T3BlbihzZXNzaW9uSUQsIGZvcm1h dENEKXsKCXZhciB1cmwgPSAiL3N5bGxhYnVzMi9zeWxsYWJ1c0Zvcm1hdFByZXZpZXdJbml0LmRv O0xjU2Vzc2lvbklEPSIgKyBzZXNzaW9uSUQgKyAiP3ByZUZvcm1hdENEPSIgKyBmb3JtYXRDRDsK CWRiQ2hpbGRPcGVuKHVybCwgJzgwMCcsICc2MDAnKTsKfQoKLyoqCiAqIOOCv+OCpOODiOODq+eu oeeQhu+8jeWJiumZpOODnOOCv+ODs+OCkuOCr+ODquODg+OCr+OBl+OBn+OBqOOBjeOBq+WRvOOB sOOCjOOCiwogKi8KZnVuY3Rpb24gZGVsZXRlVGl0bGVDb25maXJtKCkgewoJaWYgKCFpc0NoZWNr ZWQoKSkgewoJCS8vIO+8keOBpOOCguODgeOCp+ODg+OCr+OBleOCjOOBpuOBhOOBquOBi+OBo+OB n+OCiWZhbHNl44KS6L+U44GZCgkJYWxlcnQoZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5tZXNzYWdl XzAwMS52YWx1ZSk7CgkJcmV0dXJuIGZhbHNlOwoJfSBlbHNlIHsKCQkvLyDnorroqo3jg4DjgqTj gqLjg63jgrDjgpLooajnpLrjgZnjgosKCQlpZiAoIWNvbmZpcm0oZG9jdW1lbnQuU3lsbGFidXMy Rm9ybS5tZXNzYWdlXzAwMi52YWx1ZQoJCSAgICAgICAgICAgICAgKyAiXG4iICsgZG9jdW1lbnQu U3lsbGFidXMyRm9ybS5tZXNzYWdlXzAwMy52YWx1ZSkpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0g ZWxzZSB7CgkJCWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uYWN0aW9uLnZhbHVlPSJkZWxldGUiOwoJ CQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9Cn0KCi8qKgogKiDjgr/jgqTjg4jjg6vnrqHnkIbvvI3ov73l iqDjg5zjgr/jg7PjgpLjgq/jg6rjg4Pjgq/jgZfjgZ/jgajjgY3jgavlkbzjgbDjgozjgosKICov CmZ1bmN0aW9uIGNyZWF0ZVRpdGxlQ29uZmlybSgpIHsKCWRvY3VtZW50LlN5bGxhYnVzMkZvcm0u YWN0aW9uLnZhbHVlPSJjcmVhdGUiOwp9CgovKioKICog6aCF55uu566h55CG77yN5YmK6Zmk44Oc 44K/44Oz44KS44Kv44Oq44OD44Kv44GX44Gf44Go44GN44Gr5ZG844Gw44KM44KLCiAqLwpmdW5j dGlvbiBkZWxldGVJdGVtQ29uZmlybSgpIHsKCWlmICghaXNDaGVja2VkKCkpIHsKCQkvLyDvvJHj gaTjgoLjg4Hjgqfjg4Pjgq/jgZXjgozjgabjgYTjgarjgYvjgaPjgZ/jgolmYWxzZeOCkui/lOOB mQoJCWFsZXJ0KGRvY3VtZW50LlN5bGxhYnVzMkZvcm0ubWVzc2FnZV8wMDEudmFsdWUpOwoJCXJl dHVybiBmYWxzZTsKCX0gZWxzZSB7CgkJLy8g56K66KqN44OA44Kk44Ki44Ot44Kw44KS6KGo56S6 44GZ44KLCgkJaWYgKCFjb25maXJtKGRvY3VtZW50LlN5bGxhYnVzMkZvcm0ubWVzc2FnZV8wMDIu dmFsdWUpKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9IGVsc2UgewoJCQlkb2N1bWVudC5TeWxsYWJ1 czJGb3JtLmFjdGlvbi52YWx1ZT0iZGVsZXRlIjsKCQkJcmV0dXJuIHRydWU7CgkJfQoJfQp9Cgov KioKICog6aCF55uu566h55CG77yN6L+95Yqg44Oc44K/44Oz44KS44Kv44Oq44OD44Kv44GX44Gf 44Go44GN44Gr5ZG844Gw44KM44KLCiAqLwpmdW5jdGlvbiBjcmVhdGVJdGVtQ29uZmlybSgpIHsK CWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uYWN0aW9uLnZhbHVlPSJjcmVhdGUiOwp9CgovKioKICog 56eR55uu566h55CG77yN44Ko44Kv44K744Or5Ye65Yqb44Oc44K/44Oz44KS44Kv44Oq44OD44Kv 44GX44Gf44Go44GN44Gr5ZG844Gw44KM44KLCiAqLwpmdW5jdGlvbiBkb3dubG9hZENvbmZpcm0o KSB7Cglkb2N1bWVudC5TeWxsYWJ1czJGb3JtLmJ1dHRvbl9raW5kLnZhbHVlPSJkb3dubG9hZCI7 CglyZXR1cm4gZGJDc3ZDbGljaygpOwp9CgovKioKICog56eR55uu566h55CG77yN44Ko44Kv44K7 44Or5Y+W6L6844G/44Oc44K/44Oz44KS44Kv44Oq44OD44Kv44GX44Gf44Go44GN44Gr5ZG844Gw 44KM44KLCiAqLwpmdW5jdGlvbiB1cGxvYWRDb25maXJtKHNlc3Npb25JRCkgewoJZG9jdW1lbnQu U3lsbGFidXMyRm9ybS5idXR0b25fa2luZC52YWx1ZT0idXBsb2FkIjsKCXZhciB1cmwgPSAiL1VJ L2pzcC9zdGFmZi9zeWxsYWJ1czIvU3lsbGFidXNTdWJqZWN0VXBsb2FkLmpzcDtMY1Nlc3Npb25J RD0iICsgc2Vzc2lvbklEOwoJZGJDaGlsZE9wZW4odXJsLCAnNzAwJywgJzUwMCcpOwp9CgovKioK ICog56eR55uu566h55CG77yN44Od44OD44OX44Ki44OD44OX55S76Z2i44Gu44Ko44Kv44K744Or 5Y+W6L6844G/44Oc44K/44Oz44KS44Kv44Oq44OD44Kv44GX44Gf44Go44GN44Gr5ZG844Gw44KM 44KLCiAqLwpmdW5jdGlvbiBwb3B1cFVwbG9hZENvbmZpcm0oc2Vzc2lvbklEKSB7CglvcGVuZXIu bG9jYXRpb24gPSAiL3N5bGxhYnVzMi9zeWxsYWJ1c1N1YmplY3RMaXN0LmRvO0xjU2Vzc2lvbklE PSIgKyBzZXNzaW9uSUQ7CglyZXR1cm4gZGJDbGljaygpOwp9CgovKioKICog56eR55uu566h55CG 77yN5YmK6Zmk44Oc44K/44Oz44KS44Kv44Oq44OD44Kv44GX44Gf44Go44GN44Gr5ZG844Gw44KM 44KLCiAqLwpmdW5jdGlvbiBkZWxldGVTdWJqZWN0Q29uZmlybSgpIHsKCWlmICghaXNDaGVja2Vk KCkpIHsKCQkvLyDvvJHjgaTjgoLjg4Hjgqfjg4Pjgq/jgZXjgozjgabjgYTjgarjgYvjgaPjgZ/j golmYWxzZeOCkui/lOOBmQoJCWFsZXJ0KGRvY3VtZW50LlN5bGxhYnVzMkZvcm0ubWVzc2FnZV8w MDEudmFsdWUpOwoJCXJldHVybiBmYWxzZTsKCX0gZWxzZSB7CgkJLy8g56K66KqN44OA44Kk44Ki 44Ot44Kw44KS6KGo56S644GZ44KLCgkJaWYgKCFjb25maXJtKGRvY3VtZW50LlN5bGxhYnVzMkZv cm0ubWVzc2FnZV8wMDIudmFsdWUpKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9IGVsc2UgewoJCQlk b2N1bWVudC5TeWxsYWJ1czJGb3JtLmJ1dHRvbl9raW5kLnZhbHVlPSJkZWxldGUiOwoJCQlyZXR1 cm4gdHJ1ZTsKCQl9Cgl9Cn0KCi8qKgogKiDjgrPjg5Tjg7zvvI/np7vli5Xjg5zjgr/jg7PjgpLj gq/jg6rjg4Pjgq/jgZfjgZ/jgajjgY3jgavlkbzjgbDjgozjgosKICogQHBhcmFtIHNlc3Npb25J RCDjgrvjg4Pjgrfjg6fjg7NJRAogKiBAcGFyYW0gYWN0aW9uIOOCs+ODlOODvO+8j+enu+WLlQog KiBAcGFyYW0gd2luZG93SGVpZ2h0IOOCteODluOCpuOCpOODs+ODieOCpuOBrumrmOOBlQogKi8K ZnVuY3Rpb24gbW92ZWNvcHlDb25maXJtKHNlc3Npb25JRCwgYWN0aW9uLCB3aW5kb3dIZWlnaHQp IHsKCWlmICghaXNDaGVja2VkKCkpIHsKCQkvLyDvvJHjgaTjgoLjg4Hjgqfjg4Pjgq/jgZXjgozj gabjgYTjgarjgYvjgaPjgZ/jgolmYWxzZeOCkui/lOOBmQoJCWFsZXJ0KGRvY3VtZW50LlN5bGxh YnVzMkZvcm0ubWVzc2FnZV8wMDEudmFsdWUpOwoJfSBlbHNlIHsKCQlkb2N1bWVudC5TeWxsYWJ1 czJGb3JtLmJ1dHRvbl9raW5kLnZhbHVlPWFjdGlvbjsKCQl2YXIgdXJsID0gIi9zeWxsYWJ1czIv c3lsbGFidXNUcmVlQ29weU1vdmVJbml0LmRvO0xjU2Vzc2lvbklEPSIgKyBzZXNzaW9uSUQgKyAi P2FjdGlvbj0iICsgYWN0aW9uOwoJCWRiQ2hpbGRPcGVuKHVybCwgJzcwMCcsIHdpbmRvd0hlaWdo dCk7CgkJZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5zdWJtaXQoKTsKCX0KfQoKLyoqCiAqIOeiuuWu mueKtuazgeabtOaWsOODnOOCv+ODs+OCkuOCr+ODquODg+OCr+OBl+OBn+OBqOOBjeOBq+WRvOOB sOOCjOOCiwogKi8KZnVuY3Rpb24gZmluYWxpemVDb25maXJtKCkgewoJLy8g56K66KqN44OA44Kk 44Ki44Ot44Kw44KS6KGo56S644GZ44KLCglpZiAoIWNvbmZpcm0oZG9jdW1lbnQuU3lsbGFidXMy Rm9ybS5tZXNzYWdlXzAwMy52YWx1ZSkpIHsKCQlyZXR1cm4gZmFsc2U7Cgl9IGVsc2UgewoJCWRv Y3VtZW50LlN5bGxhYnVzMkZvcm0uYnV0dG9uX2tpbmQudmFsdWU9ImZpbmFsaXplIjsKCQlyZXR1 cm4gdHJ1ZTsKCX0KfQoKLyoqCiAqIOODleOCqeODq+ODgOS4gOimp++8jeWJiumZpOODnOOCv+OD s+OCkuOCr+ODquODg+OCr+OBl+OBn+OBqOOBjeOBq+WRvOOBsOOCjOOCiwogKi8KZnVuY3Rpb24g ZGVsZXRlSW5kZXhDb25maXJtKCkgewoJaWYgKCFpc0NoZWNrZWQoKSkgewoJCS8vIO+8keOBpOOC guODgeOCp+ODg+OCr+OBleOCjOOBpuOBhOOBquOBi+OBo+OBn+OCiWZhbHNl44KS6L+U44GZCgkJ YWxlcnQoZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5tZXNzYWdlXzAwMS52YWx1ZSk7CgkJcmV0dXJu IGZhbHNlOwoJfSBlbHNlIHsKCQkvLyDnorroqo3jg4DjgqTjgqLjg63jgrDjgpLooajnpLrjgZnj gosKCQlpZiAoIWNvbmZpcm0oZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5tZXNzYWdlXzAwMi52YWx1 ZQoJCSAgICAgICAgICAgICAgKyAiXG4iICsgZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5tZXNzYWdl XzAwMy52YWx1ZSkpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0gZWxzZSB7CgkJCWRvY3VtZW50LlN5 bGxhYnVzMkZvcm0uYnV0dG9uX2tpbmQudmFsdWU9ImRlbGV0ZSI7CgkJCXJldHVybiB0cnVlOwoJ CX0KCX0KfQoKLyoqCiAqIOODleOCqeODq+ODgOS4gOimp++8jei/veWKoOODnOOCv+ODs+OCkuOC r+ODquODg+OCr+OBl+OBn+OBqOOBjeOBq+WRvOOBsOOCjOOCiwogKi8KZnVuY3Rpb24gY3JlYXRl SW5kZXhDb25maXJtKCkgewoJZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5idXR0b25fa2luZC52YWx1 ZT0iY3JlYXRlIjsKCWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3VibWl0KCk7Cn0KCi8qKgogKiDj g5Xjgqnjg6vjg4DkuIDopqfvvI3jg5Xjgqnjg6vjg4Dnt6jpm4bmmYLjgavlkbzjgbDjgozjgosK ICovCmZ1bmN0aW9uIGVkaXRJbmRleENvbmZpcm0oYXJnLCBpbmRleElELCBpbmRleE5hbWUpIHsK CWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uYnV0dG9uX2tpbmQudmFsdWU9InVwZGF0ZSI7CglyZXR1 cm4gdHJ1ZTsKfQoKLyoqCiAqIOenkeebruOCs+ODlOODvOenu+WLleeUu+mdouOBruaxuuWumuOD nOOCv+ODs+OCkuOCr+ODquODg+OCr+OBl+OBn+OBqOOBjeOBq+WRvOOBsOOCjOOCiwogKi8KZnVu Y3Rpb24gcG9wdXBTdWJqZWN0Q29weU1vdmVDb25maXJtKGFyZywgbWVzc2FnZSkgewoJLy8g56K6 6KqN44OA44Kk44Ki44Ot44Kw44KS6KGo56S644GZ44KLCglpZiAoY29uZmlybShtZXNzYWdlKSkg ewoJCW9wZW5lci5sb2NhdGlvbiA9IGFyZzsKCQl3aW5kb3cuY2xvc2UoKTsKCX0KfQoKLyoqCiAq IOODleOCqeODq+ODgOS9nOaIkO+8j+e3qOmbhueUu+mdouOBruaxuuWumuODnOOCv+ODs+OCkuOC r+ODquODg+OCr+OBl+OBn+OBqOOBjeOBq+WRvOOBsOOCjOOCiwogKi8KZnVuY3Rpb24gaW5kZXhF ZGl0Q29uZmlybShhY3Rpb24sIG1lc3NhZ2UpIHsKCS8vIOeiuuiqjeODgOOCpOOCouODreOCsOOC kuihqOekuuOBmeOCiwoJaWYgKGNvbmZpcm0obWVzc2FnZSkpIHsKCQlkb2N1bWVudC5TeWxsYWJ1 czJGb3JtLmJ1dHRvbl9raW5kLnZhbHVlPWFjdGlvbjsKCQlkb2N1bWVudC5TeWxsYWJ1czJGb3Jt LnN1Ym1pdCgpOwoJfQp9CgovKioKICog44OB44Kn44OD44Kv44Oc44OD44Kv44K544GMMeOBpOS7 peS4iuODgeOCp+ODg+OCr+OBleOCjOOBpuOBhOOCi+OBi+iqv+OBueOCiwogKi8KZnVuY3Rpb24g aXNDaGVja2VkKCkgewoKCXZhciBpc0NoZWNrZWQgPSBmYWxzZTsKCglpZihkb2N1bWVudC5TeWxs YWJ1czJGb3JtLnN5bGxhYnVzQ2hlY2sudHlwZSA9PSBudWxsKSB7CgkJLy8g56eR55uu44GM6KSH 5pWw44Gu5aC05ZCICgkJZm9yICh2YXIgaSA9IDA7IGkgPCBkb2N1bWVudC5TeWxsYWJ1czJGb3Jt LnN5bGxhYnVzQ2hlY2subGVuZ3RoOyBpKyspIHsKCQkJaWYgKGRvY3VtZW50LlN5bGxhYnVzMkZv cm0uc3lsbGFidXNDaGVja1tpXS5jaGVja2VkKSB7CgkJCQlpc0NoZWNrZWQgPSB0cnVlOwoJCQkJ YnJlYWs7CgkJCX0KCQl9Cgl9IGVsc2UgewoJCS8vIOenkeebruOBjO+8keOBpOOBruWgtOWQiAoJ CWlmIChkb2N1bWVudC5TeWxsYWJ1czJGb3JtLnN5bGxhYnVzQ2hlY2suY2hlY2tlZCkgewoJCQlp c0NoZWNrZWQgPSB0cnVlOwoJCX0KCX0KCXJldHVybiBpc0NoZWNrZWQ7Cn0KCmZ1bmN0aW9uIGNo ZWNrQWxsKCkgewoJLy8g44GZ44G544Gm44Gu44OB44Kn44OD44Kv44Oc44OD44Kv44K544KST0ZG 44Gr44GZ44KLCglpZiAoZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5zeWxsYWJ1c0NoZWNrQWxsLmNo ZWNrZWQgPT0gZmFsc2UpIHsKCQkvLyDpgIHkv6Hlr77osaHogIXjgYzopIfmlbDjga7loLTlkIgK CQlpZiAoZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5zeWxsYWJ1c0NoZWNrLnR5cGUgPT0gbnVsbCkg ewoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXND aGVjay5sZW5ndGg7IGkrKykgewoJCQkJZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5zeWxsYWJ1c0No ZWNrW2ldLmNoZWNrZWQgPSBmYWxzZTsKCQkJfQoJCS8vIOmAgeS/oeWvvuixoeiAheOBjOS4gOS6 uuOBruWgtOWQiAoJCX0gZWxzZSB7CgkJCWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXND aGVjay5jaGVja2VkID0gZmFsc2U7CgkJfQoJIAoJLy8g44GZ44G544Gm44Gu44OB44Kn44OD44Kv 44Oc44OD44Kv44K544KST07jgavjgZnjgosKCX0gZWxzZSB7CgkJLy8g6YCB5L+h5a++6LGh6ICF 44GM6KSH5pWw44Gu5aC05ZCICgkJaWYgKGRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXND aGVjay50eXBlID09IG51bGwpIHsKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBkb2N1bWVudC5TeWxs YWJ1czJGb3JtLnN5bGxhYnVzQ2hlY2subGVuZ3RoOyBpKyspIHsKCQkJCWlmIChkb2N1bWVudC5T eWxsYWJ1czJGb3JtLnN5bGxhYnVzQ2hlY2tbaV0uZGlzYWJsZWQgPT0gZmFsc2UpIHsKCQkJCQlk b2N1bWVudC5TeWxsYWJ1czJGb3JtLnN5bGxhYnVzQ2hlY2tbaV0uY2hlY2tlZCA9IHRydWU7CgkJ CQl9CgkJCX0KCQkJLy8g6YCB5L+h5a++6LGh6ICF44GM5LiA5Lq644Gu5aC05ZCICgkJfSBlbHNl IHsKCQkJaWYgKGRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXNDaGVjay5kaXNhYmxlZCA9 PSBmYWxzZSkgewoJCQkJZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5zeWxsYWJ1c0NoZWNrLmNoZWNr ZWQgPSB0cnVlOwoJCQl9CgkJfQoJfQp9CgpmdW5jdGlvbiBjaGVja0FsbDIoKSB7CgkvLyDpgIHk v6Hlr77osaHjgYzopIfmlbDjga7loLTlkIgKCWlmIChkb2N1bWVudC5TeWxsYWJ1czJGb3JtLnN5 bGxhYnVzQ2hlY2sudHlwZSA9PSBudWxsKSB7CgkJZmxhZyA9IHRydWU7CgkJZm9yICh2YXIgaSA9 IDA7IGkgPCBkb2N1bWVudC5TeWxsYWJ1czJGb3JtLnN5bGxhYnVzQ2hlY2subGVuZ3RoOyBpKysp IHsKCQkJaWYgKGRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXNDaGVja1tpXS5kaXNhYmxl ZCA9PSBmYWxzZQoJCQkJJiYgZG9jdW1lbnQuU3lsbGFidXMyRm9ybS5zeWxsYWJ1c0NoZWNrW2ld LmNoZWNrZWQgPT0gZmFsc2UpIHsKCQkJCWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXND aGVja0FsbC5jaGVja2VkID0gZmFsc2U7CgkJCQlmbGFnID0gZmFsc2U7CgkJCQlicmVhazsKCQkJ fQoJCX0KCQlpZiAoZmxhZyA9PSB0cnVlKSB7CgkJCWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3ls bGFidXNDaGVja0FsbC5jaGVja2VkID0gdHJ1ZTsKCQl9CgkvLyDpgIHkv6Hlr77osaHjgYzkuIDk urrjga7loLTlkIgKCX0gZWxzZSB7CgkJLy8gT0ZG44Gr44GV44KM44Gf44KJT0ZG44Gr44GZ44KL CgkJaWYgKGRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXNDaGVjay5jaGVja2VkID09IGZh bHNlKSB7CgkJCWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXNDaGVja0FsbC5jaGVja2Vk ID0gZmFsc2U7CgkJLy8gT07jgavjgZXjgozjgZ/jgolPTuOBq+OBmeOCiwoJCX0gZWxzZSB7CgkJ CWRvY3VtZW50LlN5bGxhYnVzMkZvcm0uc3lsbGFidXNDaGVja0FsbC5jaGVja2VkID0gdHJ1ZTsK CQl9Cgl9Cn0KCnZhciBjaGlsZFdpbmRvdzsKLyoqCiAqIOWtkOeUu+mdouOCkumWieOBmOOCiwog Ki8KZnVuY3Rpb24gc3ViV2luQ2xvc2UoKSB7CiAgICBpZiAoY2hpbGRXaW5kb3cgIT0gbnVsbCkg ewogICAgICAgIGNoaWxkV2luZG93LmNsb3NlKCk7CiAgICB9Cn0KLyoqCiAqIOWIpeeUu+mdouOB p+WPgueFp1VSTOeUu+mdouOCkuihqOekuuOBmeOCiwogKi8KZnVuY3Rpb24gb3BlblVybFJlZmVy ZW5jZVdpbmRvdyhzZXNzaW9uSUQsIHN1YmplY3RJRCwgZm9ybWF0Q29kZSkgewoKICAgIHZhciB1 cmwgPSAiL3N5bGxhYnVzMi9zeWxsYWJ1c1JlZmVyZW5jZURpc3BhdGNoLmRvO0xjU2Vzc2lvbklE PSIgKyBzZXNzaW9uSUQgKyAiP2J1dHRvbl9raW5kPXVybCZzdWJqZWN0SUQ9IiArIHN1YmplY3RJ RCArICImZm9ybWF0Q29kZT0iICsgZm9ybWF0Q29kZTsKICAgIGNoaWxkID0gZGJDaGlsZE9wZW4o dXJsLCAnNjUwJywgJzI1MCcpOwoJcmV0dXJuIGZhbHNlOwp9CgovLy0tPgo8L1NDUklQVD4NCg0K PFRBQkxFIGNlbGxTcGFjaW5nPTEwIGNlbGxQYWRkaW5nPTAgd2lkdGg9IjEwMCUiIGJvcmRlcj0w Pg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgY2xhc3M9dHh0MTIgY29sU3Bhbj0yPjxJTUcg DQogICAgICBzcmM9Imh0dHBzOi8vdGd1bGMudS1nYWt1Z2VpLmFjLmpwL1VJL2ltYWdlL3N0dWRl bnQvc3lsbGFidXMyL3RfZWRpdF9zeWxsYWJ1c3JlZmVyZW5jZTIuZ2lmO0xjU2Vzc2lvbklEPVBR SFRMV0xZYkdMWkdReWxLUUc5WTFGdlFHa1R5NyEtNzMyNDM0MCI+IA0KICAgIDwvVEQ+PC9UUj4N CiAgPFRSPg0KICAgIDxURCBjbGFzcz10eHQxMiB2QWxpZ249dG9wPg0KICAgICAgPFRBQkxFIGNl bGxTcGFjaW5nPTAgY2VsbFBhZGRpbmc9MCB3aWR0aD0iMTAwJSIgYmdDb2xvcj0jOTk5OTk5IA0K ICAgICAgICBib3JkZXI9MT48VEJPRFk+DQogICAgICAgIDxUUiBiZ0NvbG9yPSNmZmZmZmY+DQog ICAgICAgICAgPFREPg0KICAgICAgICAgICAgPFRBQkxFIGNlbGxTcGFjaW5nPTEwIGNlbGxQYWRk aW5nPTAgYm9yZGVyPTA+DQogICAgICAgICAgICAgIDxUQk9EWT4NCiAgICAgICAgICAgICAgPFRS Pg0KICAgICAgICAgICAgICAgIDxURCBjbGFzcz10eHQxMiBub1dyYXA+44K/44Kk44OI44Or44CM PEZPTlQgDQogICAgICAgICAgICAgICAgICBjb2xvcj0jZmYwMDAwPjxCPu+8ku+8kO+8kO+8mOW5 tOW6puOAgOaVmeiCsuWtpumDqOOCt+ODqeODkOOCuTwvQj48L0ZPTlQ+44CN44CB44OV44Kp44Or 44OA44CMPEZPTlQgDQogICAgICAgICAgICAgICAgICBjb2xvcj0jZmYwMDAwPjxCPu+8ku+8kO+8 kO+8mOW5tOW6puOCt+ODqeODkOOCuSZuYnNwO++8jSZuYnNwO+aDheWgseaVmeiCsjwvQj48L0ZP TlQ+44CNPEJSPuOCt+ODqeODkOOCueOBruips+e0sOOBr+S7peS4i+OBqOOBquOCiuOBvuOBmeOA giANCiAgICAgICAgICAgICAgICA8L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPjwvVEQ+PC9UUj48 L1RCT0RZPjwvVEFCTEU+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48U1BBTiANCmlkPXRpbWVy RGlzcGxheSBzdHlsZT0iRk9OVC1TSVpFOiAwcHg7IGZvbnQtY29sb3I6IHdoaXRlIj48L1NQQU4+ DQo8U0NSSVBUIGxhbmd1YWdlPWphdmFzY3JpcHQ+CjwhLS0KLyoKICog44OV44Kh44Kk44Or5ZCN ICAgbGlua0NvbnRyb2wuanMKICog6ZaL55m644K344K544OG44OgIExpdmVDYW1wdXMgV2ViCiAq IOiRl+S9nOaoqSAgICAgICBDb3B5cmlnaHQoYykyMDAzIE5UVERBVEEgS1lVU0hVCiAqIOS8muek vuWQjSAgICAgICAo5qCqKU5UVOODh+ODvOOCv+S5neW3ngogKiAkSWQ6IGpzX2xpbmtDb250cm9s LmpzcCx2IDEuMiAyMDA0LzA5LzI0IDEwOjU0OjQyIHRlcmFkb2tuIEV4cCAkCiAqIOWxpeattAog KiAyMDAzLzA0LzA1IHRhbmFrYWt6IOWIneeJiAogKi8KCi8qKgogKiDnlLvpnaLpgbfnp7sKICoK ICogQHBhcmFtIHMg6YG356e75YWIVVJMCiAqLwogIGZ1bmN0aW9uIGxvY2F0ZVBhZ2VUbyhzKSB7 CiAgICBwYXJlbnQubG9jYXRpb24uaHJlZiA9IHM7CiAgfQoKLyoqCiAqIOODneODg+ODl+OCouOD g+ODl+eUu+mdouOBruihqOekugogKgogKiBAcGFyYW0gcyDpgbfnp7vlhYhVUkwKICogQHBhcmFt IG4g44Od44OD44OX44Ki44OD44OX55S76Z2i6K2Y5Yil5ZCN56ewCiAqIEBwYXJhbSB3IOODneOD g+ODl+OCouODg+ODl+eUu+mdouaoquW5hQogKiBAcGFyYW0gaCDjg53jg4Pjg5fjgqLjg4Pjg5fn lLvpnaLpq5jjgZUKICovCiAgZnVuY3Rpb24gcG9wdXBQYWdlVG8ocywgbiwgdywgaCkgewogICAg cG9wdXBXaW5kb3cgPSB3aW5kb3cub3BlbihzLCBuLCAnd2lkdGg9JyArIHcgKyAnLGhlaWdodD0n ICsgaCArICcsc2Nyb2xsYmFycz15ZXMnKTsKICAgIHBvcHVwV2luZG93LmZvY3VzKCk7CiAgfQoK LyoqCiAqIOiDjOaZr+iJsuOBruWkieabtAogKgogKiBAcGFyYW0gdCDlpInmm7Tlr77osaHjgqjj g6zjg6Hjg7Pjg4gKICogQHBhcmFtIGMg5aSJ5pu05b6M44Gu6IOM5pmv6ImyCiAqLwogIGZ1bmN0 aW9uIHNldEJnQ29sb3IodCwgYykgewogICAgdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBjOwog IH0KLy8tLT4KPC9TQ1JJUFQ+DQoNCjxTQ1JJUFQgbGFuZ3VhZ2U9amF2YXNjcmlwdD4KPCEtLQov KioKICog44Kt44O844Oc44O844OJ44CB44Oe44Km44K544Gr44KI44KL5YWl5Yqb44Gn44Gu55S7 6Z2i6YG356e744KS5Yi25b6h44GZ44KL44Gf44KB44GuamF2YXNjcmlwdAogKi8KIAovKiog44Kt 44O844Kz44O844OJ44KS5Yik5pat44GZ44KL44Gf44KB44Gu44OV44Op44KwICovCmRvY3VtZW50 Lm9ua2V5ZG93biA9IGtleWhhbmRsZXI7Ci8qKiDjg57jgqbjgrnjgq/jg6rjg4Pjgq/jgpLmpJzl h7rjgZflj7Pjgq/jg6rjg4Pjgq/jgpLnpoHmraLjgZnjgosgKi8KZG9jdW1lbnQub25jb250ZXh0 bWVudSA9IG9uQ29udGV4dDsKLyoqIOODnuOCpuOCueODm+OCpOODvOODq+OBjOS9v+eUqOOBleOC jOOBn+OBi+OBqeOBhuOBi+OCkuWIpOWumuOBmeOCiyAqLwpkb2N1bWVudC5vbm1vdXNld2hlZWwg PSB3aGVlbDsKCnZhciBzdWJtaXRGbGFnID0gZmFsc2U7CgovKioKICog44Oe44Km44K544Ob44Kk 44O844Or44Gr44KI44KL5YWl5Yqb5pmC44Gu44Kk44OZ44Oz44OI5Yem55CG44KS6KGM44GGCiAq LwpmdW5jdGlvbiB3aGVlbCgpIHsKCgkvLyDjg5bjg6njgqbjgrbjga7nqK7liKXjgpLlj5blvpcK CXZhciBicm93c2VyID0gbmF2aWdhdG9yLmFwcE5hbWU7CgoJLy8g44OW44Op44Km44K244GMSW50 ZXJuZXQgRXhwbG9yZXIg44Gu5aC05ZCICglpZiAoYnJvd3Nlci5pbmRleE9mKCJNaWNyb3NvZnQi KSA+PSAwKSB7CgkJLy8g44K344OV44OI44Kt44O844Go5ZCM5pmC5oq844GX44Gu5pmC44Gv5Yi2 5b6h44KS6KGM44GGCgkJaWYgKHdpbmRvdy5ldmVudC5zaGlmdEtleSkgewoJCQl3aW5kb3cuZXZl bnQuY2FuY2VsQnViYmxlID0gdHJ1ZTsKCSAgICB3aW5kb3cuZXZlbnQucmV0dXJuVmFsdWUgPSBm YWxzZTsKCQl9Cgl9CgoJLy8g44ON44OD44OI44K544Kx44O844OX44Gu5aC05ZCI44GvIHNoaWZ0 K+ODm+OCpOODvOODq+ODnuOCpuOCuSDjgafpgbfnp7vjgZfjgarjgYTjgZ/jgoHlr77lv5zjgarj gZcKCn0KCi8qKgogKiDjgq3jg7zjg5zjg7zjg4njgojjgovlhaXlipvmmYLjga7jgqTjg5njg7Pj g4jlh6bnkIbjgpLooYzjgYYKICovCmZ1bmN0aW9uIGtleWhhbmRsZXIoZSkgewoJCQoJCS8vIOOD luODqeOCpuOCtuOBrueoruWIpeOCkuWPluW+lwoJCXZhciBicm93c2VyID0gbmF2aWdhdG9yLmFw cE5hbWU7CgkJCgkJLy8g44OW44Op44Km44K244GMSW50ZXJuZXQgRXhwbG9yZXIg44Gu5aC05ZCI CgkJLy8gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgSW50ZXJuZXRFeHBsb3JlciAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJCWlmIChicm93c2VyLmluZGV4T2YoIk1pY3Jvc29mdCIp ID49IDApIHsKCQkJLy8g5oq844GV44KM44Gf44Kt44O844GMZW50ZXIoMTMp44Gu5pmCCgkJCWlm ICh3aW5kb3cuZXZlbnQua2V5Q29kZSA9PSAxMyl7CgkJCQkJLy8g55m655Sf44GX44Gf44Kk44OZ 44Oz44OI44KS54Sh5Yq544Go44GZ44KL77yI44K144OW44Of44OD44OI44Gu5Yi25b6h77yJCgkJ CQkJaWYoZXZlbnQuc3JjRWxlbWVudC50eXBlID09ICJ0ZXh0IiB8fCBldmVudC5zcmNFbGVtZW50 LnR5cGUgPT0gImZpbGUiIHx8IGV2ZW50LnNyY0VsZW1lbnQudHlwZSA9PSBudWxsIHx8IGV2ZW50 LnNyY0VsZW1lbnQudHlwZSA9PSAiY2hlY2tib3giKXsKCSAgICAgICAgCXdpbmRvdy5ldmVudC5y ZXR1cm5WYWx1ZSA9IGZhbHNlOwoJCQkJCX0KCSAgICB9CgoJICAgIC8vIOaKvOOBleOCjOOBn+OC reODvOOBjEY1KDExNinjga7mmYIKCQkJaWYgKHdpbmRvdy5ldmVudC5rZXlDb2RlID09IDExNil7 CgkJCQkJLy8g44Kt44O844Kz44O844OJ44KSOOOBq+abuOOBjeaPm+OBiOWFpeWKm+OCkueEoeWK ueOBqOOBmeOCiwoJCQkJCXdpbmRvdy5ldmVudC5rZXlDb2RlID0gODsKCQkJCQl3aW5kb3cuZXZl bnQuY2FuY2VsQnViYmxlID0gdHJ1ZTsKCSAgICAgICAgd2luZG93LmV2ZW50LnJldHVyblZhbHVl ID0gZmFsc2U7CgkgICAgICAgIHJldHVybiBmYWxzZTsKCSAgICB9CgkJCQoJCQkvLyDmirzjgZXj gozjgZ/jgq3jg7zjgYzlt6YoMzcp44CB5Y+zKDM5KeOBruaZggoJCQlpZiAod2luZG93LmV2ZW50 LmtleUNvZGUgPT0gMzcgfHwgd2luZG93LmV2ZW50LmtleUNvZGUgPT0gMzkpewoJICAgICAgICAv LyBBbHTjgq3jg7zjgYzmirzjgZXjgozjgabjgYTjgovjgYvjg4Hjgqfjg4Pjgq/jgpLooYzjgYYK CSAgICAgICAgaWYgKHdpbmRvdy5ldmVudC5hbHRLZXkpewoJCQkJCQlpZiAod2luZG93LmV2ZW50 LmtleUNvZGUgPT0gMzcpIHsKCQkJCQkJCWFsZXJ0KCfjgq3jg7zjg5zjg7zjg4njgavjgojjgovm iLvjgovlh6bnkIbjga/lh7rmnaXjgb7jgZvjgpPjgIInKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJ CWFsZXJ0KCfjgq3jg7zjg5zjg7zjg4njgavjgojjgovpgLLjgoDlh6bnkIbjga/lh7rmnaXjgb7j gZvjgpPjgIInKTsKCQkJCQkJfQoJCQkJCQkvLyDmirzjgZXjgozjgabjgYTjgozjgbDlhaXlipvj gpLnhKHlirnjgavjgZnjgosKCQkJCQkJd2luZG93LmV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7 CgkgICAgICAgIAl3aW5kb3cuZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTsKCSAgICAgICAgCXJl dHVybiBmYWxzZTsKCSAgICAgICAgfQoJICAgIH0KCgkJCS8vIOaKvOOBleOCjOOBn+OCreODvOOB jEJhY2tzcGFjZSg4KeOBruaZggoJICAgIGlmICh3aW5kb3cuZXZlbnQua2V5Q29kZSA9PSA4KSB7 CgkgICAgICAgIGlmKGV2ZW50LnNyY0VsZW1lbnQudHlwZSAhPSAidGV4dCIgJiYgZXZlbnQuc3Jj RWxlbWVudC50eXBlICE9ICJ0ZXh0YXJlYSIgJiYgZXZlbnQuc3JjRWxlbWVudC50eXBlICE9ICJw YXNzd29yZCIgJiYgZXZlbnQuc3JjRWxlbWVudC50eXBlICE9ICJmaWxlIil7CgkgICAgICAgIAkv LyDjgqTjg5njg7Pjg4jjga7nmbrnlJ/lhYPjgYzjg4bjgq3jgrnjg4jjg5XjgqPjg7zjg6vjg4nj gafjgarjgYTjgajjgY3jga/jg5Djg4Pjgq/jgrnjg5rjg7zjgrkKCSAgICAgICAgCS8vIOS4jeWP r+OBq+OBmeOCiwoJICAgICAgICAJd2luZG93LmV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7Cgkg ICAgICAgIAl3aW5kb3cuZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTsKCSAgICAgICAgCXJldHVy biBmYWxzZTsKCSAgICAJCX0KCQkJfQoJCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIE5ldFNj YXBlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkJfSBlbHNlIHsKCQkJLy8g5oq8 44GV44KM44Gf44Kt44O844GMZW50ZXIoMTMp44Gu5pmCCgkJCWlmIChlLndoaWNoID09IDEzKSB7 CgkJCQkvLyDnmbrnlJ/jgZfjgZ/jgqTjg5njg7Pjg4jjgpLnhKHlirnjgajjgZnjgovvvIjjgrXj g5bjg5/jg4Pjg4jjga7liLblvqHvvIkKCQkJCWlmIChlLnRhcmdldC50eXBlID09ICJ0ZXh0IiB8 fCBlLnRhcmdldC50eXBlID09ICJmaWxlIiB8fCBlLnRhcmdldC50eXBlID09IG51bGwgfHwgZS50 YXJnZXQudHlwZSA9PSAiY2hlY2tib3giKSB7CgkJCQkJLy8g44GT44GT44Gn44Kk44OZ44Oz44OI 44KS44Kt44Oj44Oz44K744Or44GZ44KM44Gw44KI44GE44GM44ON44OD44OI44K544Kx44O844OX 44Gn44Gv5pyq5a6f6KOFCgkJCQkJc3VibWl0RmxhZyA9IGZhbHNlOwoJCQkJCXJldHVybiBmYWxz ZTsKCQkJCX0KICAgIAl9CgoJCQkvLyDmirzjgZXjgozjgZ/jgq3jg7zjgYxGNSgxMTYp44Gu5pmC CgkJCWlmIChlLndoaWNoID09IDExNil7CgkJCQkJLy8g44Kt44O844Kz44O844OJ44KSOOOBq+ab uOOBjeaPm+OBiOWFpeWKm+OCkueEoeWKueOBqOOBmeOCiwoJCQkJCWUud2hpY2ggPSA4OwoJICAg ICAgICAvLyDjgZPjgZPjgafjgqTjg5njg7Pjg4jjgpLjgq3jg6Pjg7Pjgrvjg6vjgZnjgozjgbDj gojjgYTjgYzjg43jg4Pjg4jjgrnjgrHjg7zjg5fjgafjga/mnKrlrp/oo4UKCQkJCQlyZXR1cm4g ZmFsc2U7CgkgICAgfQoJCQkKCQkJLy8g5oq844GV44KM44Gf44Kt44O844GM5bemKDM3KeOAgeWP sygzOSnjga7mmYIKCQkJaWYgKGUud2hpY2ggPT0gMzcgfHwgZS53aGljaCA9PSAzOSl7CgkgICAg ICAgIC8vIOOBk+OBk+OBp+OCpOODmeODs+ODiOOCkuOCreODo+ODs+OCu+ODq+OBmeOCjOOBsOOC iOOBhOOBjOODjeODg+ODiOOCueOCseODvOODl+OBp+OBr+acquWun+ijhQoJCQkJCXJldHVybiBm YWxzZTsKCSAgICAgICAgCgkgICAgfQoKCQkJLy8g5oq844GV44KM44Gf44Kt44O844GMQmFja3Nw YWNlKDgp44Gu5pmCCgkgICAgaWYgKGUud2hpY2ggPT0gOCkgewoJICAgICAgICBpZihlLnRhcmdl dC50eXBlICE9ICJ0ZXh0IiAmJiBlLnRhcmdldC50eXBlICE9ICJ0ZXh0YXJlYSIgJiYgZS50YXJn ZXQudHlwZSAhPSAicGFzc3dvcmQiICYmIGUudGFyZ2V0LnR5cGUgIT0gImZpbGUiKXsKCSAgICAg ICAgCS8vIOOCpOODmeODs+ODiOOBrueZuueUn+WFg+OBjOODhuOCreOCueODiOODleOCo+ODvOOD q+ODieOBp+OBquOBhOOBqOOBjeOBr+ODkOODg+OCr+OCueODmuODvOOCuQoJICAgICAgICAJLy8g 5LiN5Y+v44Gr44GZ44KLCgkgICAgICAgIAkvLyDjgZPjgZPjgafjgqTjg5njg7Pjg4jjgpLjgq3j g6Pjg7Pjgrvjg6vjgZnjgozjgbDjgojjgYTjgYzjg43jg4Pjg4jjgrnjgrHjg7zjg5fjgafjga/m nKrlrp/oo4UKCQkJCQkJcmV0dXJuIGZhbHNlOwoJICAgIAkJfQoJCQl9CgoJCX0KfQoKLyoqCiAq IOWPs+OCr+ODquODg+OCr+aZguOBruODoeODi+ODpeODvOOCkuihqOekuuOBl+OBquOBhOOCiOOB huOBq+OBmeOCiwogKi8KZnVuY3Rpb24gb25Db250ZXh0KGUpewoJCS8vIOODluODqeOCpuOCtuOB rueoruWIpeOCkuWPluW+lwoJCXZhciBicm93c2VyID0gbmF2aWdhdG9yLmFwcE5hbWU7CgkJLy8g 44OW44Op44Km44K244GMSW50ZXJuZXQgRXhwbG9yZXIg44Gu5aC05ZCICgkJLy8gIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMgSW50ZXJuZXRFeHBsb3JlciAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwoJCWlmIChicm93c2VyLmluZGV4T2YoIk1pY3Jvc29mdCIpID49IDApIHsKCQkJLy8g czQwMjAx44GoZzQwMjAx44Gu44OA44Km44Oz44Ot44O844OJ44Oq44Oz44Kv44Gu5pmC44Gu44G/ 5Y+z44Kv44Oq44OD44Kv44KS5Y+v6IO944Go44GZ44KLCgkJCS8vIOWRvOOBsOOCjOOBpuOBhOOC i2phdmFzY3JpcHTlkI3jgafliKTmlq0KCQkJdmFyIGVsZW1lbnQgPSBldmVudC5zcmNFbGVtZW50 Lm5hbWU7CgkJCWlmIChlbGVtZW50ICE9IG51bGwpIHsKCQkJCWlmIChlbGVtZW50LmluZGV4T2Yo ImRvd25Mb2FkRmlsZSIpKSB7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCgkJCS8vIOWP s+OCr+ODquODg+OCr+OBjOaKvOS4i+OBleOCjOOBn+OBqOOBjeOBruOCquODluOCuOOCp+OCr+OD iOOBrueoruWIpeOBq+OCiOOCiuWIpOaWreOCkuihjOOBhgoJICAgIC8vIHRleHQsdGV4dGFyZWEs cGFzc3dvcmQsZmlsZSDlhoXjga7jgajjgY3jga/lj7Pjgq/jg6rjg4Pjgq/jgpLoqLHlj6/jgZnj gosKCSAgICBpZihldmVudC5zcmNFbGVtZW50LnR5cGUgIT0gInRleHQiICYmIGV2ZW50LnNyY0Vs ZW1lbnQudHlwZSAhPSAidGV4dGFyZWEiICYmIGV2ZW50LnNyY0VsZW1lbnQudHlwZSAhPSAicGFz c3dvcmQiICYmIGV2ZW50LnNyY0VsZW1lbnQudHlwZSAhPSAiZmlsZSIpewoJICAgICAgICByZXR1 cm4gZmFsc2U7CgkgICAgfSBlbHNlewoJICAgICAgICByZXR1cm4gdHJ1ZTsKCSAgICB9CgkJLy8g 44OW44Op44Km44K244GMTmV0U2NhcGXjgafjgYLjgovjgajjgY0KCQkvLyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyBOZXRTY2FwZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJCX0g ZWxzZSB7CgkJCS8vIOWPs+OCr+ODquODg+OCr+OBjOaKvOS4i+OBleOCjOOBn+OBqOOBjeOBruOC quODluOCuOOCp+OCr+ODiOOBrueoruWIpeOBq+OCiOOCiuWIpOaWreOCkuihjOOBhgoJICAgIC8v IHRleHQsdGV4dGFyZWEscGFzc3dvcmQsZmlsZSDlhoXjga7jgajjgY3jga/lj7Pjgq/jg6rjg4Pj gq/jgpLoqLHlj6/jgZnjgosKCQkJaWYgKGUudGFyZ2V0LnR5cGUgIT0gInRleHQiICYmIGUudGFy Z2V0LnR5cGUgIT0gInRleHRhcmVhIiAmJiBlLnRhcmdldC50eXBlICE9ICJwYXNzd29yZCIgJiYg ZS50YXJnZXQudHlwZSAhPSAiZmlsZSIpIHsKCSAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgIH0g ZWxzZXsKCSAgICAgICAgcmV0dXJuIHRydWU7CgkgICAgfSAKCQl9Cn0KLy8tLT4KPC9TQ1JJUFQ+ DQoNCjxTQ1JJUFQgbGFuZ3VhZ2U9amF2YXNjcmlwdD4KPCEtLQovKgogKiDljbDliLfjga7jg4Dj gqTjgqLjg63jgrDjgpLooajnpLrjgZnjgovliY3jgavnorroqo3jg4DjgqTjgqLjg63jgrDjgpLo oajnpLrjgZnjgosKICovCmZ1bmN0aW9uIHByaW50TWVzc2FnZSgpIHsKCWlmIChjb25maXJtKCLl vZPljbDliLfmqZ/og73jga/jg5bjg6njgqbjgrbjga7ljbDliLfmqZ/og73jgafjgZnjgILjgojj go3jgZfjgZHjgozjgbDjgIzvvK/vvKvjgI3jgpLjgq/jg6rjg4Pjgq/jgZfjgabjgY/jgaDjgZXj gYTjgIJcbuKAu01hY+err+acq+OBp+OBr+ODgOOCpOOCouODreOCsOOBjOihqOekuuOBleOCjOOB quOBhOWgtOWQiOOBjOOBguOCi+OBruOBp+OAgeODhOODvOODq+ODkOODvOOCiOOCiuWNsOWIt+OC kuihjOOBo+OBpuOBj+OBoOOBleOBhOOAgiIpKSB7CgkJamF2YXNjcmlwdDp3aW5kb3cucHJpbnQo KTsKCX0KfQovLy0tPgo8L1NDUklQVD4NCg0KPFNDUklQVCBsYW5ndWFnZT1qYXZhc2NyaXB0Pgo8 IS0tCi8qKgogKiDlpJrph43pgIHkv6HliLblvqHjgpLooYzjgYbjgIIKICovCmlzU3VibWl0ID0g ZmFsc2U7CmlzQ2hpbGRPcGVuID0gZmFsc2U7CmlzUGRmU3VibWl0ID0gZmFsc2U7CmlzQ3N2U3Vi bWl0ID0gZmFsc2U7CmlzTG9hZCA9IGZhbHNlOwp2YXIgcGRmTmFtZSA9ICcnOwoKZnVuY3Rpb24g Y2hlY2tTdWJtaXQoKSB7CglpZiAoc3VibWl0RmxhZyA9PSBmYWxzZSkgewoJCXJldHVybiBmYWxz ZTsKCX0KfQoKZnVuY3Rpb24gZGJDbGljaygpIHsKCXJldHVybiBkYlByaW50Q2xpY2soJ3N1Ym1p dCcpOwp9CgpmdW5jdGlvbiBkYkNoaWxkT3Blbih1cmwsIHdpZHRoLCBoZWlnaHQpIHsKCXN1Ym1p dEZsYWcgPSB0cnVlOwoJaWYgKCFpc0NoaWxkT3BlbikgewoJCWlzQ2hpbGRPcGVuID0gdHJ1ZTsK CQljaGlsZFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCwgJ3N1YldpbmRvdycsICd3aWR0aD0nICsg d2lkdGggKyAnLGhlaWdodD0nICsgaGVpZ2h0ICsgJywgc2Nyb2xsYmFycz15ZXMsIHJlc2l6YWJs ZT15ZXMsIHN0YXR1cz15ZXMnKTsKCQljaGlsZFdpbmRvdy5mb2N1cygpOwoJfSBlbHNlIHsKCQkv LyBTYWZhcmkxLjDlr77lv5wKCQlpZihuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1NhZmFy aS84NScpICE9IC0xKXsKCQkJLy8gU2FmYXJpMS4w44Gn44Gvd2luZG93LmNsb3NlZOOCkuiqjeit mOOBmeOCi+OBruOBq+aZgumWk+OBjOOBi+OBi+OCi+OBn+OCgeOAgeWtkOOCpuOCo+ODs+ODieOC puOBjOmWi+OBhOOBpuOBhOOBpuOCguS4iuabuOOBjeOBmeOCiwoJCQljaGlsZFdpbmRvdyA9IHdp bmRvdy5vcGVuKHVybCwgJ3N1YldpbmRvdycsICd3aWR0aD0nICsgd2lkdGggKyAnLGhlaWdodD0n ICsgaGVpZ2h0ICsgJywgc2Nyb2xsYmFycz15ZXMsIHJlc2l6YWJsZT15ZXMnKTsKCQkJY2hpbGRX aW5kb3cuZm9jdXMoKTsKCQkvLyBTYWZhcmkxLjDku6XlpJYKCQl9IGVsc2UgewoJCQlpZiAoY2hp bGRXaW5kb3cuY2xvc2VkKSB7CgkJCQljaGlsZFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCwgJ3N1 YldpbmRvdycsICd3aWR0aD0nICsgd2lkdGggKyAnLGhlaWdodD0nICsgaGVpZ2h0ICsgJywgc2Ny b2xsYmFycz15ZXMsIHJlc2l6YWJsZT15ZXMnKTsKCQkJCWNoaWxkV2luZG93LmZvY3VzKCk7CgkJ CX0gZWxzZSB7CgkJCQlhbGVydCgi5a2Q44Km44Kj44Oz44OJ44Km44GM5pei44Gr6ZaL44GE44Gm 44GE44G+44GZ44CCIik7CgkJCX0KCQl9Cgl9Cn0KCmZ1bmN0aW9uIGRiTGlua0NsaWNrKGFyZykg ewoKCXN1Ym1pdEZsYWcgPSB0cnVlOwoJLy8g55S76Z2i44GM5a6M5YWo44Gr44Ot44O844OJ44GX 5YiH44KM44Gm44GE44Gq44GE5aC05ZCI44CBc3VibWl05Yem55CG44KS6KGM44KP44Gb44Gq44GE CglpZihpc0xvYWQpIHsKCQkvLyDml6Ljgavjg5zjgr/jg7Pmk43kvZzjgYzooYzjgo/jgozjgabj gYTjgovloLTlkIjjgIFzdWJtaXTlh6bnkIbjgpLooYzjgo/jgZvjgarjgYQKCQlpZiAoIWlzU3Vi bWl0KSB7CgkJCWlzU3VibWl0ID0gdHJ1ZTsKICAgIAkJZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9 IGFyZzsKCQl9Cgl9Cn0KCmZ1bmN0aW9uIGRiQ3N2Q2xpY2soKSB7CglzdWJtaXRGbGFnID0gdHJ1 ZTsKCS8vIOODleOCoeOCpOODq+WHuuWKm+ODnOOCv+ODs+OBjOaKvOOBleOCjOOBn+WgtOWQiAoJ aWYgKGlzQ3N2U3VibWl0KSB7CgkJaWYgKGNvbmZpcm0oIuWGjeW6puOAgeODleOCoeOCpOODq+WH uuWKm+WHpueQhuOCkuihjOOBhOOBvuOBmeOBi++8nyIpKSB7CgkJCXJldHVybiB0cnVlOwoJCX0g ZWxzZSB7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9IGVsc2UgewoJCWlzQ3N2U3VibWl0ID0gdHJ1 ZTsKCQlyZXR1cm4gdHJ1ZTsKCX0KfQoKCmZ1bmN0aW9uIGRiUHJpbnRDbGlja19TZXJ2ZXJETChh cmcpIHsKCglzdWJtaXRGbGFnID0gdHJ1ZTsKCS8vIOWNsOWIt+ODnOOCv+ODs+OBru+8kuW6puaK vOOBl+OBq+OBr+OCouODqeODvOODiOODoeODg+OCu+ODvOOCuOOCkuihqOekuuOBmeOCiwoJaWYg KGlzUGRmU3VibWl0KSB7CgkJYWxlcnQoIuePvuWcqOWNsOWIt+WHpueQhuS4reOBp+OBmeOAguOB l+OBsOOCieOBj+OBiuW+heOBoeOBj+OBoOOBleOBhOOAgiIpOwoJCXJldHVybiBmYWxzZTsKCX0K CgkvLyDljbDliLfjg5zjgr/jg7PjgYzmirzjgZXjgozjgZ/loLTlkIjjgIHljbDliLflrp/ooYzk uK3jg5Xjg6njgrDjgpLjgIx0cnVl44CN44Gr6Kit5a6a44GZ44KLCglpZiAoYXJnID09ICdwcmlu dCcpIHsKCQlpc1BkZlN1Ym1pdCA9IHRydWU7Cgl9CgoJLy8g55S76Z2i44GM5a6M5YWo44Gr44Ot 44O844OJ44GX5YiH44KM44Gm44GE44Gq44GE5aC05ZCI44CBc3VibWl05Yem55CG44KS6KGM44KP 44Gb44Gq44GECglpZighaXNMb2FkKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoKCS8vIOaXouOBq+OD nOOCv+ODs+aTjeS9nOOBjOihjOOCj+OCjOOBpuOBhOOCi+WgtOWQiOOAgXN1Ym1pdOWHpueQhuOC kuihjOOCj+OBm+OBquOBhAoJaWYgKGlzU3VibWl0KSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoJaXNT dWJtaXQgPSB0cnVlOwoJcmV0dXJuIHRydWU7Cn0KCgpmdW5jdGlvbiBkYlByaW50Q2xpY2soYXJn LCBlbG0sIGJ1dHRvbk5hbWUsIGJ1dHRvblZhbHVlKSB7CglzdWJtaXRGbGFnID0gdHJ1ZTsKCS8v IOWNsOWIt+ODnOOCv+ODs+OBru+8kuW6puaKvOOBl+OBq+OBr+OCouODqeODvOODiOODoeODg+OC u+ODvOOCuOOCkuihqOekuuOBmeOCiwoJaWYgKGlzUGRmU3VibWl0KSB7CgkJYWxlcnQoIuePvuWc qOWNsOWIt+WHpueQhuS4reOBp+OBmeOAguOBl+OBsOOCieOBj+OBiuW+heOBoeOBj+OBoOOBleOB hOOAgiIpOwoJCXJldHVybiBmYWxzZTsKCX0KCgkvLyDljbDliLfjg5zjgr/jg7PjgYzmirzjgZXj gozjgZ/loLTlkIjjgIHljbDliLflrp/ooYzkuK3jg5Xjg6njgrDjgpLjgIx0cnVl44CN44Gr6Kit 5a6a44GZ44KLCglpZiAoYXJnID09ICdwcmludCcpIHsKCQkKCQlpZiAoYXJndW1lbnRzLmxlbmd0 aCA9PSAnMScpIHsKCQkJcmV0dXJuIGRiUHJpbnRDbGlja19TZXJ2ZXJETChhcmcpOwoJCX0gZWxz ZSB7CgkJCgkJCQoJCQkvLyDluLPnpajjgqTjg6Hjg7zjgrjjgYxqc3Dlrp/ooYzntZDmnpzjga7k u6Pjgo/jgorjgavov5TljbTjgZXjgozjgovjgojjgYbjgavjgarjgovjgZ/jgoHvvIwKCQkJLy8g UERG6KGo56S655So44Km44Kk44Oz44OJ44Km44KS6ZaL44GN77yM44GT44Gu44Km44Kk44Oz44OJ 44Km44KS44K/44O844Ky44OD44OI44Gr44GX44Gm44OV44Kp44O844Og44KS6YCB5L+h44GZ44KL CgkJCWlmIChlbG0gIT0gbnVsbCkgewoJCQkJaWYgKCFpc0xvYWQgfHwgaXNTdWJtaXQpIHsKCQkJ CQlyZXR1cm4gZmFsc2U7CgkJCQl9CgoJCQkJdmFyIGZvcm0gPSBlbG0uZm9ybTsKCQkJCXJldHVy biBvcGVuU3ViV2luZG93QW5kU3VibWl0Rm9ybShmb3JtLCBidXR0b25OYW1lLCBidXR0b25WYWx1 ZSk7CgkJCX0KCQkJCgkJCgkJfQoJCQoKCQlpc1BkZlN1Ym1pdCA9IHRydWU7Cgl9CgoJLy8g55S7 6Z2i44GM5a6M5YWo44Gr44Ot44O844OJ44GX5YiH44KM44Gm44GE44Gq44GE5aC05ZCI44CBc3Vi bWl05Yem55CG44KS6KGM44KP44Gb44Gq44GECglpZighaXNMb2FkKSB7CgkJcmV0dXJuIGZhbHNl OwoJfQoKCS8vIOaXouOBq+ODnOOCv+ODs+aTjeS9nOOBjOihjOOCj+OCjOOBpuOBhOOCi+WgtOWQ iOOAgXN1Ym1pdOWHpueQhuOCkuihjOOCj+OBm+OBquOBhAoJaWYgKGlzU3VibWl0KSB7CgkJcmV0 dXJuIGZhbHNlOwoJfQoJaXNTdWJtaXQgPSB0cnVlOwoKCXJldHVybiB0cnVlOwp9CgovKioKICog 5Y2w5Yi35Yem55CG44KS5a6f6KGM44GZ44KLCiAqLwpmdW5jdGlvbiBkYkxpbmtQcmludENsaWNr KGZvcm0sIGJ1dHRvbk5hbWUsIGJ1dHRvblZhbHVlKSB7CglpZiAoIWlzTG9hZCB8fCBpc1N1Ym1p dCkgewoJCXJldHVybiBmYWxzZTsKCX0KCXJldHVybiBvcGVuU3ViV2luZG93QW5kU3VibWl0Rm9y bShmb3JtLCBidXR0b25OYW1lLCBidXR0b25WYWx1ZSk7Cn0KCi8qKgogKiDlrZDjgqbjgqTjg7Pj g4njgqbjgpLplovjgYTjgZ/lvozjgIHjgZ3jga7jgqbjgqTjg7Pjg4njgqbjgpLjgr/jg7zjgrLj g4Pjg4jjgajjgZfjgabjg5Xjgqnjg7zjg6DjgpLpgIHkv6HjgZnjgosKICovCmZ1bmN0aW9uIG9w ZW5TdWJXaW5kb3dBbmRTdWJtaXRGb3JtKGZvcm0sIGJ1dHRvbk5hbWUsIGJ1dHRvblZhbHVlKSB7 Cgl2YXIgYWN0aW9uQmFja3VwID0gbnVsbDsKCXZhciBuZXdFbCA9IG51bGw7CgoJaWYgKGlzU3Vi bWl0KSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoJaXNTdWJtaXQgPSB0cnVlOwoKCS8vIOi1t+WLleWv vuixoeOBruOCouOCr+OCt+ODp+ODs+OBjExjRGlzcGF0Y2hBY3Rpb27jga7loLTlkIjvvIzmjIfl rprjgZXjgozjgZ/lkI3np7Djga4KCS8vIOODnOOCv+ODs+OBjOaKvOOBleOCjOOBn+OBk+OBqOOB q+OBmeOCiwoJaWYgKGJ1dHRvbk5hbWUgIT0gbnVsbCkgewoJCWlmIChidXR0b25WYWx1ZSA9PSBu dWxsKSBidXR0b25WYWx1ZSA9ICJ0cnVlIjsKCgkJaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5k ZXhPZigiTVNJRSA1IikgIT0gLTEgJiYKCQkJbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJN YWMiKSAhPSAtMSkgewoJCQluZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIjxpbnB1dCB0 eXBlPWhpZGRlbj4iKTsKCQkJbmV3RWwubmFtZSA9IGJ1dHRvbk5hbWU7CgkJCW5ld0VsLnZhbHVl ID0gYnV0dG9uVmFsdWU7CgkJCWZvcm0uYWRkKG5ld0VsKTsKCQl9IGVsc2UgewoJCQlhY3Rpb25C YWNrdXAgPSBmb3JtLmFjdGlvbjsKCQkJZm9ybS5hY3Rpb24gPSBmb3JtLmFjdGlvbiArICI/IiAr IGJ1dHRvbk5hbWUgKyAiPSIgKyBidXR0b25WYWx1ZTsKCQl9Cgl9CgoJLy8g5paw6KaP44Km44Kk 44Oz44OJ44Km44KS6ZaL44GPCgl2YXIgcGRmV2luID0gd2luZG93OwoJaWYgKG5hdmlnYXRvci51 c2VyQWdlbnQuaW5kZXhPZigiU2FmYXJpLzg1IikgPT0gLTEpIHsKCQlwZGZXaW4gPSB3aW5kb3cu b3BlbigiYWJvdXQ6YmxhbmsiLCAiUERGIiwgInJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMi KTsKCQlmb3JtLnRhcmdldCA9ICJQREYiOwoJCWZvcm0uc3VibWl0KCk7CgkJZm9ybS50YXJnZXQg PSAiIjsKCX0gZWxzZSB7CgkJZm9ybS5zdWJtaXQoKTsKCX0KCgkvLyDjg5Xjgqnjg7zjg6Djga5h Y3Rpb27jgpLlpInmm7TjgZfjgabjgYTjgovloLTlkIjjga/lhYPjgavmiLvjgZkKCWlmIChhY3Rp b25CYWNrdXAgIT0gbnVsbCkgewoJCWZvcm0uYWN0aW9uID0gYWN0aW9uQmFja3VwOwoJCWFjdGlv bkJhY2t1cCA9IG51bGw7Cgl9CgoJaWYgKG5ld0VsICE9IG51bGwpIHsKCQlmb3JtLnJlbW92ZShu ZXdFbCk7Cgl9CgoJLy8gUERG6KGo56S644Km44Kk44Oz44OJ44Km44KS5pyA5YmN6Z2i44Gr6KGo 56S6CglwZGZXaW4uZm9jdXMoKTsKCglpc1N1Ym1pdCA9IGZhbHNlOwoKCXJldHVybiBmYWxzZTsK fQoKLyoKICog44OH44O844K/44Gu5pu05paw44GM6KGM44KP44KM44KL55S76Z2i44Gr44GK44GE 44Gm44CB44Oh44OL44Ol44O844Gr5oi744KL5YmN44Gr56K66KqN44Oh44OD44K744O844K444KS 6KGo56S644GZ44KLCiAqLwpmdW5jdGlvbiBjb25maXJtTWVzc2FnZShzZXNzaW9uSWQsIG1lc3Nh Z2UpIHsKCWlmIChjb25maXJtKG1lc3NhZ2UpKSB7CgkJaWYgKCFpc1N1Ym1pdCkgewoJCQl3aW5k b3cubG9jYXRpb249Ii9tYWluTWVudS5kbztMY1Nlc3Npb25JRD0iICsgc2Vzc2lvbklkOwoJCX0K CX0KfQoKLyoKICog44OH44O844K/44Gu5pu05paw44GM6KGM44KP44KM44KL55S76Z2i44Gr44GK 44GE44Gm44CB5oi744KL44Oc44K/44Oz44GM5oq844GV44KM44Gf5aC05ZCI44Gr56K66KqN44Oh 44OD44K744O844K444KS6KGo56S644GZ44KLCiAqLwpmdW5jdGlvbiBiYWNrQ29uZmlybU1lc3Nh Z2Uoc2Vzc2lvbklkLCBhY3Rpb24sIG1lc3NhZ2UpIHsKCWlmIChjb25maXJtKG1lc3NhZ2UpKSB7 CgkJaWYgKCFpc1N1Ym1pdCkgewoJCQl3aW5kb3cubG9jYXRpb249YWN0aW9uICsgIjtMY1Nlc3Np b25JRD0iICsgc2Vzc2lvbklkICsgIj9yZT0iOwoJCX0KCX0KfQoKLyoqCiAqIFBERuODleOCoeOC pOODq+WQjeensOOBjOioreWumuOBleOCjOOBpuOBhOOBn+WgtOWQiOOAgeWIpeOCpuOCo+ODs+OD ieOCpuOBp1BERuODleOCoeOCpOODq+OCkuihqOekuuOBmeOCi+OAggogKi8KZnVuY3Rpb24gZmlu aXNoTG9hZCgpIHsKCglsb2dpbkVycm9yQ291bnQgPSAzOwoJZXJyb3JDb3VudCA9IDA7CgkvLyDj g63jgrDjgqTjg7Pjgqjjg6njg7zlm57mlbDjgYzopo/lrprjga7lm57mlbDjgpLkuIrlm57jgovj gajjgqbjgqPjg7Pjg4njgqbjgpLplonjgZjjgosKCWlmIChsb2dpbkVycm9yQ291bnQgPCBlcnJv ckNvdW50KSB7CgkJd2luZG93LmNsb3NlKCk7Cgl9CgoJaXNMb2FkID0gdHJ1ZTsKCgkKCWlmIChw ZGZOYW1lICE9ICIiKSB7CgkJdmFyIHBkZldpbiA9IHdpbmRvdy5vcGVuKHBkZk5hbWUsICdQREYn LCAicmVzaXphYmxlPXllcywgc2Nyb2xsYmFycz15ZXMiKTsKCQlpc1BkZlN1Ym1pdCA9IGZhbHNl OwoJCWlzU3VibWl0ID0gZmFsc2U7CgkJcGRmV2luLmZvY3VzKCk7CgkJcGRmTmFtZSA9ICIiOwoJ fQoJCgoJbGFzdFNlYyA9IDE4MDA7CgoJdElEID0gc2V0SW50ZXJ2YWwoJ2dyYXBoaWNhbFRpbWVy KCknLDEwMDApOwoKCS8vIE5ldFNjYXBl44CBTUFD44GuU2FmYXJpCglpZiAobmF2aWdhdG9yLmFw cE5hbWUgPT0gIk5ldHNjYXBlIikgewoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aW1lckRp c3BsYXkiKS5pbm5lckhUTUwgPSBsYXN0U2VjOwoJLy8gV2luZG93c+OBqE1BQ+OBrklFCgl9IGVs c2UgaWYgKG5hdmlnYXRvci5hcHBOYW1lID09ICJNaWNyb3NvZnQgSW50ZXJuZXQgRXhwbG9yZXIi KSB7CgkJdGltZXJEaXNwbGF5LmlubmVyVGV4dCA9IGxhc3RTZWM7CgkvLyDjgZ3jga7ku5YKCX0g ZWxzZSB7CgkJLy8g5a++6LGh5aSWCgl9Cn0KCi8qKgogKiDjgr/jgqTjg6DjgqLjgqbjg4jjgb7j gafjga7mmYLplpPjgpLooajnpLrjgZnjgovjgIIKICovCi8vIOePvuWcqOOBruODkeOCueOCkuWP luW+l+OBmeOCiwpub3dMb2NhdGlvbiA9IG5ldyBTdHJpbmcocGFyZW50LmxvY2F0aW9uKTsKCmZ1 bmN0aW9uIGdyYXBoaWNhbFRpbWVyKCl7CglsYXN0U2VjLS07CgoJLy8gTmV0U2NhcGXjgIFNQUPj ga5TYWZhcmkKCWlmIChuYXZpZ2F0b3IuYXBwTmFtZSA9PSAiTmV0c2NhcGUiKSB7CgkJZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoInRpbWVyRGlzcGxheSIpLmlubmVySFRNTCA9IGxhc3RTZWM7Cgkv LyBXaW5kb3dz44GoTUFD44GuSUUKCX0gZWxzZSBpZiAobmF2aWdhdG9yLmFwcE5hbWUgPT0gIk1p Y3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciIpIHsKCQl0aW1lckRpc3BsYXkuaW5uZXJUZXh0ID0g bGFzdFNlYzsKCX0gZWxzZSB7CgkJLy8g5a++6LGh5aSWCgl9CglpZiAobm93TG9jYXRpb24uaW5k ZXhPZigiL1VJL2pzcC9sb2dpbiIpIDwgMCkgewoJCWlmKGxhc3RTZWMgPiAxODAwKXsKCQkJY2xl YXJJbnRlcnZhbCh0SUQpOwoKCQkJLy8g56K66KqN44Oh44OD44K744O844K444Gn44CMT0vjgI3j gpLpgbjmip7jgZfjgZ/loLTlkIjjgIHlkITjg6bjg7zjgrbjga7jg63jgrDjgqTjg7PnlLvpnaLj gbjpgbfnp7vjgZnjgosKCQkJaWYgKGNvbmZpcm0oJ+OCv+OCpOODoOOCouOCpuODiOOBjOeZuueU n+OBl+OBvuOBl+OBn+OBruOBp+OAgeODreOCsOOCpOODs+eUu+mdouOBq+aIu+OCiuOBvuOBmeOA gicpKSB7CgkJCQkvLyDmlZnli5nogbflk6Hjga7loLTlkIgKCQkJCWlmICgiIiA9PSAiMSIpIHsK CQkJCQl3aW5kb3cubG9jYXRpb249Ii9VSS9qc3AvbG9naW4vbG9naW5TdGFmZi5qc3AiOwoJCQkJ Ly8g5a2m55Sf44Gu5aC05ZCICgkJCQl9IGVsc2UgaWYgKCIiID09ICIyIikgewoJCQkJCXdpbmRv dy5sb2NhdGlvbj0iL1VJL2pzcC9sb2dpbi9sb2dpblN0dWRlbnQuanNwIjsKCQkJCS8vIOaVmeWT oeOBruWgtOWQiAoJCQkJfSBlbHNlIGlmICgiIiA9PSAiMyIpIHsKCQkJCQl3aW5kb3cubG9jYXRp b249Ii9VSS9qc3AvbG9naW4vbG9naW5UZWFjaGVyLmpzcCI7CgkJCQl9CgkJCX0KCQl9Cgl9Cn0K d2luZG93Lm9ubG9hZCA9IGZpbmlzaExvYWQ7CgoKLyoqCiAqIOODmOODq+ODl+OCpuOCo+ODs+OD ieOCpuOCkumWi+OBjwogKiAyMDA1LjExLjEgbWF0c3VrYW5lIHhEVFMtMzQw5a++5b+c44OY44Or 44OX44KS6ZaL44GP6Zqb44GuU2FmYXJp44OW44Op44Km44K25Yik5a6aIAogKi8KZnVuY3Rpb24g c2hvd0hlbHBXaW5kb3codGFyZ2V0LCBtYXBJZCkgewoKICB2YXIgdXJsID0gIiI7CgogIGlmICh0 YXJnZXQgPT0gInN0dWRlbnQiKSB7Cgl1cmwgPSAnL1VJL2h0bWwvaGVscC9zdHVkZW50L0xpdmVD YW1wdXNXZWJIZWxwU3R1ZGVudC5odG0nCiAgfSBlbHNlIGlmICh0YXJnZXQgPT0gInRlYWNoZXIi KSB7Cgl1cmwgPSAnL1VJL2h0bWwvaGVscC90ZWFjaGVyL0xpdmVDYW1wdXNXZWJIZWxwVGVhY2hl ci5odG0nCiAgfSBlbHNlIGlmICh0YXJnZXQgPT0gInN0YWZmIikgewoJdXJsID0gJy9VSS9odG1s L2hlbHAvc3RhZmYvTGl2ZUNhbXB1c1dlYkhlbHBTdGFmZi5odG0nCiAgfQoKICBpZiAobmF2aWdh dG9yLmFwcFZlcnNpb24uaW5kZXhPZigiU2FmYXJpIikgIT0gLTEgKSB7Cgl3aW5kb3cub3Blbih1 cmwsICdMaXZlQ2FtcHVzV2ViSGVscCcsICd0b29sYmFyPW5vLGxvY2F0aW9uPW5vLGRpcmVjdG9y eT1ubyxzdGF0dXM9eWVzLHNjcm9sbGJhcnM9eWVzLHJlc2l6YWJsZT15ZXMsd2lkdGg9OTAwLGhl aWdodD03MDAnKQogIH0gZWxzZSB7CglSSF9TaG93SGVscCgwLCB1cmwgKyAnPkxjSGVscFdpbmRv dycsIEhIX0hFTFBfQ09OVEVYVCwgbWFwSWQpOwogIH0KCQp9CgovLy0tPgo8L1NDUklQVD4NCg0K PFRBQkxFIGNlbGxTcGFjaW5nPTEwIGNlbGxQYWRkaW5nPTAgYm9yZGVyPTA+DQogIDxUQk9EWT4N CiAgPFRSPg0KICAgIDxURD4NCiAgICAgIDxUQUJMRSBjbGFzcz10eHQxMiBjZWxsU3BhY2luZz0w IGNlbGxQYWRkaW5nPTMgYWxpZ249bGVmdCBiZ0NvbG9yPSM5OTk5OTkgDQogICAgICBib3JkZXI9 MT4NCiAgICAgICAgPFRCT0RZPg0KICAgICAgICA8VFIgYmdDb2xvcj0jZmZmZmZmPg0KICAgICAg ICAgIDxURCBjbGFzcz10eHQxMiBub1dyYXAgd2lkdGg9MTcwIGJnQ29sb3I9IzY2OTlmZj48Rk9O VCANCiAgICAgICAgICAgIGNvbG9yPSNmZmZmZmY+56eR55uu5ZCNICZuYnNwOyA8L0ZPTlQ+PC9U RD4NCiAgICAgICAgICA8VEQgY2xhc3M9dHh0MTIgd2lkdGg9NzcwIGNvbFNwYW49Mz7mg4XloLHj gajmlbDnkIYgJm5ic3A7IDwvVEQ+PC9UUj4NCiAgICAgICAgPFRSIGJnQ29sb3I9I2ZmZmZmZj4N CiAgICAgICAgICA8VEQgY2xhc3M9dHh0MTIgbm9XcmFwIHdpZHRoPTE3MCBiZ0NvbG9yPSM2Njk5 ZmY+PEZPTlQgDQogICAgICAgICAgICBjb2xvcj0jZmZmZmZmPuaLheW9k+aVmeWToSAmbmJzcDsg PC9GT05UPjwvVEQ+DQogICAgICAgICAgPFREIGNsYXNzPXR4dDEyIHdpZHRoPTc3MCBjb2xTcGFu PTM+6auY5pyo44CA5oKfICZuYnNwOyA8L1REPjwvVFI+DQogICAgICAgIDxUUiBiZ0NvbG9yPSNm ZmZmZmY+DQogICAgICAgICAgPFREIGNsYXNzPXR4dDEyIG5vV3JhcCB3aWR0aD0xNzAgYmdDb2xv cj0jNjY5OWZmPjxGT05UIA0KICAgICAgICAgICAgY29sb3I9I2ZmZmZmZj7lr77osaHlrablubQg Jm5ic3A7IDwvRk9OVD48L1REPg0KICAgICAgICAgIDxURCBjbGFzcz10eHQxMiB3aWR0aD0zMDA+ MeW5tCAmbmJzcDsgPC9URD4NCiAgICAgICAgICA8VEQgY2xhc3M9dHh0MTIgbm9XcmFwIHdpZHRo PTE3MCBiZ0NvbG9yPSM2Njk5ZmY+PEZPTlQgDQogICAgICAgICAgICBjb2xvcj0jZmZmZmZmPuOC r+ODqeOCuSAmbmJzcDsgPC9GT05UPjwvVEQ+DQogICAgICAgICAgPFREIGNsYXNzPXR4dDEyIHdp ZHRoPTMwMD7vvJDvvJEgJm5ic3A7IDwvVEQ+PC9UUj4NCiAgICAgICAgPFRSIGJnQ29sb3I9I2Zm ZmZmZj4NCiAgICAgICAgICA8VEQgY2xhc3M9dHh0MTIgbm9XcmFwIHdpZHRoPTE3MCBiZ0NvbG9y PSM2Njk5ZmY+PEZPTlQgDQogICAgICAgICAgICBjb2xvcj0jZmZmZmZmPuism+e+qeWupCAmbmJz cDsgPC9GT05UPjwvVEQ+DQogICAgICAgICAgPFREIGNsYXNzPXR4dDEyIHdpZHRoPTMwMD7vvK7v vJPvvJDvvJTjgIAgJm5ic3A7IDwvVEQ+DQogICAgICAgICAgPFREIGNsYXNzPXR4dDEyIG5vV3Jh cCB3aWR0aD0xNzAgYmdDb2xvcj0jNjY5OWZmPjxGT05UIA0KICAgICAgICAgICAgY29sb3I9I2Zm ZmZmZj7plovorJvlrabmnJ8gJm5ic3A7IDwvRk9OVD48L1REPg0KICAgICAgICAgIDxURCBjbGFz cz10eHQxMiB3aWR0aD0zMDA+5YmN5pyfICZuYnNwOyA8L1REPjwvVFI+DQogICAgICAgIDxUUiBi Z0NvbG9yPSNmZmZmZmY+DQogICAgICAgICAgPFREIGNsYXNzPXR4dDEyIG5vV3JhcCB3aWR0aD0x NzAgYmdDb2xvcj0jNjY5OWZmPjxGT05UIA0KICAgICAgICAgICAgY29sb3I9I2ZmZmZmZj7mm5zm l6Xjg7vmmYLpmZAgJm5ic3A7IDwvRk9OVD48L1REPg0KICAgICAgICAgIDxURCBjbGFzcz10eHQx MiB3aWR0aD0zMDA+5pyI77yRICZuYnNwOyA8L1REPg0KICAgICAgICAgIDxURCBjbGFzcz10eHQx MiBub1dyYXAgd2lkdGg9MTcwIGJnQ29sb3I9IzY2OTlmZj48Rk9OVCANCiAgICAgICAgICAgIGNv bG9yPSNmZmZmZmY+5Y2Y5L2N5Yy65YiGICZuYnNwOyA8L0ZPTlQ+PC9URD4NCiAgICAgICAgICA8 VEQgY2xhc3M9dHh0MTIgd2lkdGg9MzAwPumBuOW/hSAmbmJzcDsgPC9URD48L1RSPg0KICAgICAg ICA8VFIgYmdDb2xvcj0jZmZmZmZmPg0KICAgICAgICAgIDxURCBjbGFzcz10eHQxMiBub1dyYXAg d2lkdGg9MTcwIGJnQ29sb3I9IzY2OTlmZj48Rk9OVCANCiAgICAgICAgICAgIGNvbG9yPSNmZmZm ZmY+5o6I5qWt5b2i5oWLICZuYnNwOyA8L0ZPTlQ+PC9URD4NCiAgICAgICAgICA8VEQgY2xhc3M9 dHh0MTIgd2lkdGg9MzAwPuS4gOiIrOism+e+qSAmbmJzcDsgPC9URD4NCiAgICAgICAgICA8VEQg Y2xhc3M9dHh0MTIgbm9XcmFwIHdpZHRoPTE3MCBiZ0NvbG9yPSM2Njk5ZmY+PEZPTlQgDQogICAg ICAgICAgICBjb2xvcj0jZmZmZmZmPuWNmOS9jeaVsCAmbmJzcDsgPC9GT05UPjwvVEQ+DQogICAg ICAgICAgPFREIGNsYXNzPXR4dDEyIHdpZHRoPTMwMD4yJm5ic3A7IDwvVEQ+PC9UUj4NCiAgICAg ICAgPFRSIGJnQ29sb3I9I2ZmZmZmZj4NCiAgICAgICAgICA8VEQgY2xhc3M9dHh0MTIgbm9XcmFw IHdpZHRoPTE3MCBiZ0NvbG9yPSM2Njk5ZmY+PEZPTlQgDQogICAgICAgICAgICBjb2xvcj0jZmZm ZmZmPuWPl+ism+WvvuixoSZuYnNwOzwvRk9OVD4gPC9URD4NCiAgICAgICAgICA8VEQgY2xhc3M9 dHh0MTIgd2lkdGg9NzcwIGNvbFNwYW49Mz4mbmJzcDsgPC9URD48L1RSPg0KICAgICAgICA8VFIg YmdDb2xvcj0jZmZmZmZmPg0KICAgICAgICAgIDxURCBjbGFzcz10eHQxMiBub1dyYXAgd2lkdGg9 MTcwIGJnQ29sb3I9IzY2OTlmZj48Rk9OVCANCiAgICAgICAgICAgIGNvbG9yPSNmZmZmZmY+5YKZ 6ICDJm5ic3A7PC9GT05UPiA8L1REPg0KICAgICAgICAgIDxURCBjbGFzcz10eHQxMiB3aWR0aD03 NzAgY29sU3Bhbj0zPiZuYnNwOyA8L1REPjwvVFI+DQogICAgICAgIDxUUiBiZ0NvbG9yPSNmZmZm ZmY+DQogICAgICAgICAgPFREIG5vV3JhcCB3aWR0aD0xNzAgYmdDb2xvcj0jOTlmZmNjPjxGT05U IA0KICAgICAgICAgICAgY29sb3I9IzAwMDBmZj7jga3jgonjgYTjgajnm67mqJk8L0ZPTlQ+IDwv VEQ+DQogICAgICAgICAgPFREIHdpZHRoPTc3MCANCiAgICAgICAgICAgIGNvbFNwYW49Mz7ntKDm lbDjgpLlrp/npL7kvJrjgavlv5znlKjjgZfjgZ9SU0Hmmpflj7fnkIboq5bjgpLnkIbop6PjgZnj govjgZPjgajjgYzmnIDntYLnm67mqJnjgafjgYLjgovvvI5SU0Hmmpflj7fjgpLnkIbop6PjgZnj govjgavjga/vvIzmnIDlpKflhazntITmlbDjg7vntKDmlbDjg7vlkIjlkIzlvI/jgarjganmp5jj gIXjgarmlbDlrabjga7nn6XorZjjgpLlv4XopoHjgajjgZnjgovjgYzvvIzmlofns7vlrabnlJ/j gavjgoLliIbjgYvjgovjgojjgYbop6PoqqzjgZnjgovvvI7jgb7jgZ/vvIzlrprnkIbjga7oqLzm mI7jgavjgoLop6bjgozvvIzoqLzmmI7kuK3jgavnlKjjgYTjgonjgozjgovmlbDlrabnmoTjgaro q5bnkIblsZXplovog73lipvjga7nv5LlvpfjgoLnm67mqJnjgajjgZnjgovvvI4mbmJzcDsgDQog ICAgICAgICAgPC9URD48L1RSPg0KICAgICAgICA8VFIgYmdDb2xvcj0jZmZmZmZmPg0KICAgICAg ICAgIDxURCBub1dyYXAgd2lkdGg9MTcwIGJnQ29sb3I9Izk5ZmZjYz48Rk9OVCBjb2xvcj0jMDAw MGZmPuWGheWuuTwvRk9OVD4gDQogICAgICAgICAgPC9URD4NCiAgICAgICAgICA8VEQgd2lkdGg9 NzcwIA0KICAgICAgICAgICAgY29sU3Bhbj0zPumbhuWQiOirluOBqOaVtOaVsOirlu+8iOaVsOOB rueQhuirlu+8ieOBruWIneatqeOCkuism+e+qeOBl++8jOOBneOCjOOCieOCkumnhuS9v+OBl+OB n1JTQeaal+WPt+eQhuirluOBruS7lee1hOOBv+OCkuWIhuOBi+OCiuOChOOBmeOBj+ino+iqrOOB meOCi++8jiZuYnNwOyANCiAgICAgICAgICA8L1REPjwvVFI+DQogICAgICAgIDxUUiBiZ0NvbG9y PSNmZmZmZmY+DQogICAgICAgICAgPFREIG5vV3JhcCB3aWR0aD0xNzAgYmdDb2xvcj0jOTlmZmNj PjxGT05UIGNvbG9yPSMwMDAwZmY+44OG44Kt44K544OIPC9GT05UPiANCiAgICAgICAgICA8L1RE Pg0KICAgICAgICAgIDxURCB3aWR0aD03NzAgDQogICAgICAgICAgICBjb2xTcGFuPTM+5o6I5qWt 44Ob44O844Og44Oa44O844K444Gr44GC44KL6Kyb576p44OO44O844OI44OX44Oq44Oz44OI44KS 5ZCE6Ieq44OX44Oq44Oz44OI44Ki44Km44OI44GX77yM5oyB5Y+C44GZ44KL44GT44Go77yO5LiL 6KiY44CM44Gd44Gu5LuW44CN44Gu6aCF55uu44KS5Y+C54Wn44Gu44GT44Go77yOJm5ic3A7IA0K ICAgICAgICAgIDwvVEQ+PC9UUj4NCiAgICAgICAgPFRSIGJnQ29sb3I9I2ZmZmZmZj4NCiAgICAg ICAgICA8VEQgbm9XcmFwIHdpZHRoPTE3MCBiZ0NvbG9yPSM5OWZmY2M+PEZPTlQgY29sb3I9IzAw MDBmZj7lj4LogIPmlofnjK48L0ZPTlQ+IA0KICAgICAgICAgIDwvVEQ+DQogICAgICAgICAgPFRE IHdpZHRoPTc3MCBjb2xTcGFuPTM+44CO44Gv44GY44KB44Gm44Gu5pWw6KuW44CP44CA44K444On 44K744OV44O7SOODu+OCt+ODq+ODtOOCoeODvOODnuODsyANCiAgICAgICAgICAgIOiRl+OAgOOD lOOCouOCveODs+ODu+OCqOODh+ODpeOCseODvOOCt+ODp+ODsyZuYnNwOyA8L1REPjwvVFI+DQog ICAgICAgIDxUUiBiZ0NvbG9yPSNmZmZmZmY+DQogICAgICAgICAgPFREIG5vV3JhcCB3aWR0aD0x NzAgYmdDb2xvcj0jOTlmZmNjPjxGT05UIA0KICAgICAgICAgICAgY29sb3I9IzAwMDBmZj7miJDn uL7oqZXkvqHmlrnms5U8L0ZPTlQ+IDwvVEQ+DQogICAgICAgICAgPFREIHdpZHRoPTc3MCANCiAg ICAgICAgICAgIGNvbFNwYW49Mz7ml6XpoIPjga7llY/poYzmvJTnv5Ljgbjjga7lj5bjgorntYTj gb/jgpLph43oppbjgZnjgovjgZ/jgoHvvIzmjojmpa3kuK3jga7oqrLpoYzjg7vlrr/poYzjg7vl h7rluK3nirbms4HjgpI2MOeCuea6gOeCue+8jOacgOW+jOOBruaOiOalreaZguOBq+ihjOOBquOB huippumok+OCkjQw54K55rqA54K544Gn6KmV5L6h44GX77yM5ZCI6KiIMTAw54K55rqA54K544Gu 44GG44GhNjDngrnku6XkuIrjga7lrabnlJ/jgavljZjkvY3jgpLkuI7jgYjjgovvvI4mbmJzcDsg DQogICAgICAgICAgPC9URD48L1RSPg0KICAgICAgICA8VFIgYmdDb2xvcj0jZmZmZmZmPg0KICAg ICAgICAgIDxURCBub1dyYXAgd2lkdGg9MTcwIGJnQ29sb3I9Izk5ZmZjYz48Rk9OVCANCiAgICAg ICAgICAgIGNvbG9yPSMwMDAwZmY+5o6I5qWt44K544Kx44K444Ol44O844Or77yI5bGV6ZaL6KiI 55S777yJPC9GT05UPiA8L1REPg0KICAgICAgICAgIDxURCB3aWR0aD03NzAgY29sU3Bhbj0zPg0K ICAgICAgICAgICAgPFRBQkxFIGNsYXNzPXR4dDEyIGNlbGxTcGFjaW5nPTAgY2VsbFBhZGRpbmc9 MyB3aWR0aD0iMTAwJSIgDQpib3JkZXI9MT4NCiAgICAgICAgICAgICAgPFRCT0RZPg0KICAgICAg ICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWdu PW1pZGRsZSB3aWR0aD0iNSUiPjxGT05UIA0KICAgICAgICAgICAgICAgICAgY29sb3I9IzAwMDBm Zj7lm548L0ZPTlQ+PC9URD4NCiAgICAgICAgICAgICAgICA8VEQgY2xhc3M9ZW5hYmxlY29sb3Ig YWxpZ249bWlkZGxlIHdpZHRoPSI5NSUiPjxGT05UIA0KICAgICAgICAgICAgICAgICAgY29sb3I9 IzAwMDBmZj7lhoXlrrk8L0ZPTlQ+PC9URD48L1RSPg0KICAgICAgICAgICAgICA8VFI+DQogICAg ICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9OVCANCiAg ICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjE8L0ZPTlQ+PC9URD4NCiAgICAgICAgICAgICAg ICA8VEQ+44Ks44Kk44OA44Oz44K544O75Z+656SO55+l6K2Y44Gu5b6p57+SPC9URD48L1RSPg0K ICAgICAgICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9y IGFsaWduPW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjI8L0ZP TlQ+PC9URD4NCiAgICAgICAgICAgICAgICA8VEQ+5ZG96aGMPC9URD48L1RSPg0KICAgICAgICAg ICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1p ZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjM8L0ZPTlQ+PC9URD4N CiAgICAgICAgICAgICAgICA8VEQ+6ZuG5ZCIPC9URD48L1RSPg0KICAgICAgICAgICAgICA8VFI+ DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9O VCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjQ8L0ZPTlQ+PC9URD4NCiAgICAgICAg ICAgICAgICA8VEQ+57SE5pWw44Go5pyA5aSn5YWs57SE5pWwPC9URD48L1RSPg0KICAgICAgICAg ICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1p ZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjU8L0ZPTlQ+PC9URD4N CiAgICAgICAgICAgICAgICA8VEQ+57Sg5pWw44Go57Sg5Zug5pWw5YiG6KejPC9URD48L1RSPg0K ICAgICAgICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9y IGFsaWduPW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjY8L0ZP TlQ+PC9URD4NCiAgICAgICAgICAgICAgICA8VEQ+5ZCI5ZCM5byPPC9URD48L1RSPg0KICAgICAg ICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWdu PW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjc8L0ZPTlQ+PC9U RD4NCiAgICAgICAgICAgICAgICA8VEQ+5ZCI5ZCM5pa556iL5byPPC9URD48L1RSPg0KICAgICAg ICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWdu PW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjg8L0ZPTlQ+PC9U RD4NCiAgICAgICAgICAgICAgICA8VEQ+44Kq44Kk44Op44O86Zai5pWwPC9URD48L1RSPg0KICAg ICAgICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFs aWduPW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICBjb2xvcj0jMDAwMGZmPjk8L0ZPTlQ+ PC9URD4NCiAgICAgICAgICAgICAgICA8VEQ+44OV44Kn44Or44Oe44O844Gu5bCP5a6a55CGPC9U RD48L1RSPg0KICAgICAgICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVu YWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICAgIGNvbG9yPSMw MDAwZmY+MTA8L0ZPTlQ+PC9URD4NCiAgICAgICAgICAgICAgICA8VEQ+77yy77yz77yh5pqX5Y+3 77yRPC9URD48L1RSPg0KICAgICAgICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAgPFREIGNs YXNzPWVuYWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAgICAgIGNv bG9yPSMwMDAwZmY+MTE8L0ZPTlQ+PC9URD4NCiAgICAgICAgICAgICAgICA8VEQ+77yy77yz77yh 5pqX5Y+377ySPC9URD48L1RSPg0KICAgICAgICAgICAgICA8VFI+DQogICAgICAgICAgICAgICAg PFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9OVCANCiAgICAgICAgICAgICAg ICAgIGNvbG9yPSMwMDAwZmY+MTI8L0ZPTlQ+PC9URD4NCiAgICAgICAgICAgICAgICA8VEQ+77yy 77yz77yh5pqX5Y+377yTPC9URD48L1RSPg0KICAgICAgICAgICAgICA8VFI+DQogICAgICAgICAg ICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9OVCANCiAgICAgICAg ICAgICAgICAgIGNvbG9yPSMwMDAwZmY+MTM8L0ZPTlQ+PC9URD4NCiAgICAgICAgICAgICAgICA8 VEQ+77yy77yz77yh5pqX5Y+377yUPC9URD48L1RSPg0KICAgICAgICAgICAgICA8VFI+DQogICAg ICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9OVCANCiAg ICAgICAgICAgICAgICAgIGNvbG9yPSMwMDAwZmY+MTQ8L0ZPTlQ+PC9URD4NCiAgICAgICAgICAg ICAgICA8VEQ+77yy77yz77yh5pqX5Y+377yVPC9URD48L1RSPg0KICAgICAgICAgICAgICA8VFI+ DQogICAgICAgICAgICAgICAgPFREIGNsYXNzPWVuYWJsZWNvbG9yIGFsaWduPW1pZGRsZT48Rk9O VCANCiAgICAgICAgICAgICAgICAgIGNvbG9yPSMwMDAwZmY+MTU8L0ZPTlQ+PC9URD4NCiAgICAg ICAgICAgICAgICA8VEQ+6Kmm6aiTPC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L1REPjwvVFI+ DQogICAgICAgIDxUUiBiZ0NvbG9yPSNmZmZmZmY+DQogICAgICAgICAgPFREIG5vV3JhcCB3aWR0 aD0xNzAgYmdDb2xvcj0jOTlmZmNjPjxGT05UIA0KICAgICAgICAgICAgY29sb3I9IzAwMDBmZj7m jojmpa3jga7jgq3jg7zjg6/jg7zjg4k8L0ZPTlQ+IDwvVEQ+DQogICAgICAgICAgPFREIHdpZHRo PTc3MCBjb2xTcGFuPTM+SVQmbmJzcDsgPC9URD48L1RSPg0KICAgICAgICA8VFIgYmdDb2xvcj0j ZmZmZmZmPg0KICAgICAgICAgIDxURCBub1dyYXAgd2lkdGg9MTcwIGJnQ29sb3I9Izk5ZmZjYz48 Rk9OVCANCiAgICAgICAgICAgIGNvbG9yPSMwMDAwZmY+5a2m6Iq444Gu5a2m44Gz44Kt44O844Ov 44O844OJPC9GT05UPiA8L1REPg0KICAgICAgICAgIDxURCB3aWR0aD03NzAgY29sU3Bhbj0zPiZu YnNwOyA8L1REPjwvVFI+DQogICAgICAgIDxUUiBiZ0NvbG9yPSNmZmZmZmY+DQogICAgICAgICAg PFREIG5vV3JhcCB3aWR0aD0xNzAgYmdDb2xvcj0jOTlmZmNjPjxGT05UIA0KICAgICAgICAgICAg Y29sb3I9IzAwMDBmZj7lj5forJvoo5zotrPvvIjlsaXkv67liLbpmZDnrYnvvIk8L0ZPTlQ+IDwv VEQ+DQogICAgICAgICAgPFREIHdpZHRoPTc3MCANCiAgICAgICAgICAgIGNvbFNwYW49Mz4yMDA3 5bm05bqm44Gv77yM55CG57O75a2m55Sf44Gg44GR44Gn44Gq44GP77yM5pWw5a2m44KE5pqX5Y+3 55CG6KuW44Gr6IiI5ZGz44KS5oyB44Gj44Gf5paH57O75a2m55Sf44Gu5Y+X6Kyb44KC55uu56uL 44Gh44G+44GX44Gf77yO5Y+X6Kyb5Yi26ZmQ44Gv54m544Gr44GX44Gq44GE44Gu44Gn77yM6IiI 5ZGz44Gu44GC44KL5pa544Gv44Gp44Gq44Gf44Gn44KC44Gp44GG44Ge77yOJm5ic3A7IA0KICAg ICAgICAgIDwvVEQ+PC9UUj4NCiAgICAgICAgPFRSIGJnQ29sb3I9I2ZmZmZmZj4NCiAgICAgICAg ICA8VEQgbm9XcmFwIHdpZHRoPTE3MCBiZ0NvbG9yPSM5OWZmY2M+PEZPTlQgY29sb3I9IzAwMDBm Zj7jgZ3jga7ku5Y8L0ZPTlQ+IA0KICAgICAgICAgIDwvVEQ+DQogICAgICAgICAgPFREIHdpZHRo PTc3MCBjb2xTcGFuPTM+KDEpIA0KICAgICAgICAgICAg5pyA5Yid44Gu5o6I5qWt5pmC44Gr5oiQ 57i+6KmV5L6h5pa55rOV562J44Gr44Gk44GE44Gm6Kmz44GX44GP6L+w44G544KL44Gu44Gn5b+F 44Ga5Ye65bit44GZ44KL44GT44Go77yOPEJSPigyKSANCiAgICAgICAgICAgIOS4i+iomOODm+OD vOODoOODmuODvOOCuOOBruOAjExlY3R1cmVz44CN44Oa44O844K444Gr77yM6Kyb576p44Gr6Zai 44GZ44KL5oOF5aCx44KS5o+Q5L6b44GZ44KL5LqI5a6a44Gn44GC44KL77yOPEJSPuOAgOOAgOOA gOOAgGh0dHA6Ly93d3cuZWR1Lndhc2VkYS5hYy5qcC9+c2F0b3J1LzxCUj7jgIDjgIDmjojmpa3j gafkvb/jgYborJvnvqnjg47jg7zjg4jjg5fjg6rjg7Pjg4jjgoLjgZPjgZPjgYvjgonplrLopqfv vIzljbDliLfjgafjgY3jgovjgojjgYbjgavjgZnjgovvvI4mbmJzcDsgDQogICAgICAgICAgPC9U RD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L1REPjwvVFI+PC9UQk9EWT48L1RBQkxFPg0KPFRBQkxF IGNlbGxTcGFjaW5nPTAgY2VsbFBhZGRpbmc9MCB3aWR0aD02MzAgYWxpZ249Y2VudGVyIGJvcmRl cj0wPg0KICA8VEJPRFk+DQogIDxUUj4NCiAgICA8VEQgYWxpZ249bWlkZGxlIGhlaWdodD0yMD48 SU1HIA0KICAgICAgc3JjPSJodHRwczovL3RndWxjLnUtZ2FrdWdlaS5hYy5qcC9VSS9pbWFnZS9j b21tb24vYmFyLmdpZjtMY1Nlc3Npb25JRD1QUUhUTFdMWWJHTFpHUXlsS1FHOVkxRnZRR2tUeTch LTczMjQzNDAiPjwvVEQ+PC9UUj4NCiAgPFRSPg0KICAgIDxURCBjbGFzcz10eHQxMCBub1dyYXAg YWxpZ249bWlkZGxlPjxGT05UIGNvbG9yPSM2NjY2NjY+Q29weXJpZ2h0KEMpIA0KICAgICAgMjAw NC0yMDA1IE5UVCBEQVRBIEtZVVNIVSBDby4sTHRkIEFsbCByaWdodHMgDQpyZXNlcnZlZC48L0ZP TlQ+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48QlI+PC9CT0RZPjwvSFRNTD4NCg== ------=_NextPart_000_0000_01C8A9EE.8D4132B0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: https://tgulc.u-gakugei.ac.jp/UI/image/student/syllabus2/t_edit_syllabusreference2.gif;LcSessionID=PQHTLWLYbGLZGQylKQG9Y1FvQGkTy7!-7324340 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 iIdo1YZ9GIjtc4WCWIh0OIQ6SDeBAAA7 ------=_NextPart_000_0000_01C8A9EE.8D4132B0 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: https://tgulc.u-gakugei.ac.jp/UI/image/common/bar.gif;LcSessionID=PQHTLWLYbGLZGQylKQG9Y1FvQGkTy7!-7324340 R0lGODlhQQIBAJEAAMzMzP////4BAgAAACH5BAQUAP8ALAAAAABBAgEAAAI6hBFxqJf7XDORTgZv xTL7DlqZRn5iyJ1qym5uib7w+prtfNt1jCf9rwPygsShkSZEFpXHXHPHjDpXBQA7 ------=_NextPart_000_0000_01C8A9EE.8D4132B0 Content-Type: text/css; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable Content-Location: https://tgulc.u-gakugei.ac.jp/UI/css/common/text.css .txt16 { FONT-WEIGHT: bold; FONT-SIZE: 16px } .txt12 { FONT-SIZE: 12px; LINE-HEIGHT: 16px } .txt10 { FONT-SIZE: 10px } .table1 { BORDER-RIGHT: #339966 1px; BORDER-TOP: #339966 1px; FONT-SIZE: 12px; = BORDER-LEFT: #339966 1px; WIDTH: 1px; BORDER-BOTTOM: #339966 1px; = HEIGHT: 1px } .textfield12 { FONT-SIZE: 12px; LINE-HEIGHT: 16px } .selectbox12 { FONT-SIZE: 12px; LINE-HEIGHT: 12px } .nendo_gakki { FONT-WEIGHT: bold; FONT-SIZE: 16px; COLOR: #dc143c } .textfield12right { FONT-SIZE: 12px; LINE-HEIGHT: 16px; TEXT-ALIGN: right } .hissuItem { FONT-SIZE: 12px; COLOR: #ff0000; LINE-HEIGHT: 16px } .text12info { FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #0000ff; LINE-HEIGHT: 16px } .button12 { CURSOR: pointer } .style1 { COLOR: #0000ff } .style2 { COLOR: #ffffff } ------=_NextPart_000_0000_01C8A9EE.8D4132B0 Content-Type: text/css; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit Content-Location: https://tgulc.u-gakugei.ac.jp/UI/css/common/syllabus.css .important { FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #ff0000 } .disablecolor { COLOR: #ffffff; BACKGROUND-COLOR: #6699ff } .enablecolor { COLOR: #0000ff; BACKGROUND-COLOR: #99ffcc } ------=_NextPart_000_0000_01C8A9EE.8D4132B0--