Tm90aXppZSBxdW90aWRpYW5lIHwgSWwgY3JvbGxvIGRlbGxlIGF6aW9uaSB0ZWNub2xvZ2ljaGUgY2F1c2EgZmx1dHR1YXppb25pIGRpIG1lcmNhdG87IElsIG1lcmNhdG8gY3JpdHRvZ3JhZmljbyDDqCBnZW5lcmFsbWVudGUgaW4gcmliYXNzbywgbWEgbGUgbWVtZWNvaW4gTUVXLCBXSUYgZSBTb2xhbmEgc3Rhbm5vIGxldHRlcmFsbWV
Wy8vXTpjb250ZW50LXR5cGUtTUFSS0RPV04tRE9OT1QtREVMRVRFDQohW10oaHR0cHM6Ly9naW1nMi5nYXRlaW1nLmNvbS9pbWFnZS9hcnRpY2xlLzE3MjE4Nzc4MjIxXzIwLnBuZykKCiMjIFJpZXBpbG9nbyBnaW9ybmFsaWVybyBkZWxsZSBjcmlwdG92YWx1dGU6IGlsIG1lcmNhdG8gZGVsbGUgY3JpcHRvdmFsdXRlIMOoIGdlbmVyYWxtZW50ZSBpbiBjYWxvLCBtYSBsZSBjcmlwdG92YWx1dGUgTUVXLCBXSUYgZSBTb2xhbmEgc3Rhbm5vIHZvbGFuZG87IE1vbm9Td2FwIMOoIHN0YXRvIGhhY2tlcmF0byBlIGFnbGkgdXRlbnRpIMOoIHN0YXRvIGNvbnNpZ2xpYXRvIGRpIG5vbiBkZXBvc2l0YXJlIGZvbmRpOyBGb2xkIGhhIHBpYW5pZmljYXRvIGRpIGVzc2VyZSBxdW90YXRhIHN1IE5BU0RBUSB0cmFtaXRlIHVuYSB0cmFuc2F6aW9uZSBTUEFDIGRhIDM2NSBtaWxpb25pIGRpIGRvbGxhcmkKClByaW1hLCBlc2FtaW5pYW1vIGwnYXR0aXZpdMOgIGRpIHRyYWRpbmcgZGkgW0JpdGNvaW5dKC9wcmljZS9iaXRjb2luLWJ0YykgZSBbRXRoZXJldW1dKC9wcmljZS9ldGhlcmV1bS1ldGgpIEVURi4gU2Vjb25kbyBpIGRhdGkgZGkgRmFyc2lkZSBJbnZlc3RvciwgaWwgMjQgbHVnbGlvLCBpbCBHcmF5c2NhbGUgQml0Y29pbiBTcG90IEVURiAoR0JUQykgaGEgcmVnaXN0cmF0byB1biBkZWZsdXNzbyBkaSBmb25kaSBkaSAkMjYsMiBtaWxpb25pLiBOZWwgZnJhdHRlbXBvLCBpbCBGaWRlbGl0eSBCaXRjb2luIFNwb3QgRVRGIChGQlRDKSBoYSByaWNldnV0byB1biBhZmZsdXNzbyBkaSAkMSw0IG1pbGlvbmksIGlsIEJpdHdpc2UgQml0Y29pbiBTcG90IEVURiAoQklUQikgaGEgcmVnaXN0cmF0byB1biBkZWZsdXNzbyBkaSAkNzAsMyBtaWxpb25pLCBlIGwnQVJLIDIxU2hhcmVzIEJpdGNvaW4gU3BvdCBFVEYgKEFSS0IpIGhhIHJlZ2lzdHJhdG8gdW4gZGVmbHVzc28gZGkgJDMsMyBtaWxpb25pLgoKRmx1c3NvIG5ldHRvIGluIGVudHJhdGEgZGkgJDI5LDYgbWlsaW9uaSBwZXIgQml0d2lzZSBFdGhlcmV1bSBTcG90IEVURiAoRVRIVyk7IGZsdXNzaSBpbiBlbnRyYXRhIGRpICQ3NCw1IG1pbGlvbmkgcGVyIEZpZGVsaXR5IEV0aGVyZXVtIFNwb3QgRVRGIChGRVRIKTsgZmx1c3NvIGluIGVudHJhdGEgZGkgJDE5LDggbWlsaW9uaSBwZXIgVmFuRWNrIEV0aGVyZXVtIHNwb3QgRVRGIChFVEhWKTsgZmx1c3NvIG5ldHRvIGluIHVzY2l0YSBkaSAkMzI2LDkgbWlsaW9uaSBwZXIgR3JheXNjYWxlIEV0aGVyZXVtIHNwb3QgRVRGIChFVEhFKS4KCioqQ29uIGwnYXVtZW50YXJlIGRlbGwnYXR0aXZpdMOgIG9ubGluZSwgTUVXLCBXSUYgZSBbU29sYW5hXSgvcHJpY2Uvc29sYW5hLXNvbCkgTGUgbWVtZWNvaW5zIHZvbGFubyoqCgpMYSBtZW1lY29pbiBuZWxsJ2Vjb3Npc3RlbWEgU29sYW5hIGhhIHJhZ2dpdW50byB1bmEgY3Jlc2NpdGEgc2lnbmlmaWNhdGl2YSBuZWdsaSB1bHRpbWkgc2V0dGUgZ2lvcm5pLCBzdXBlcmFuZG8gaWwgbWVyY2F0byBkZWxsZSBjcmlwdG92YWx1dGUgaW4gZ2VuZXJhbGUuIFNlY29uZG8gaSBkYXRpIGRpIENvaW5HZWNrbywgaWwgdmFsb3JlIGRpIG1lcmNhdG8gdG90YWxlIGRlbGxhIG1lbWVjb2luIHN1bGxhIGJsb2NrY2hhaW4gU29sYW5hIMOoIGF1bWVudGF0byBzaWduaWZpY2F0aXZhbWVudGUgbmVnbGkgdWx0aW1pIDcgZ2lvcm5pLCByYWdnaXVuZ2VuZG8gaSA5LDIgbWlsaWFyZGkgZGkgZG9sbGFyaSBhbCAyNCBsdWdsaW8uCgpDYXQgaW4gRG9ncyBXb3JsZCAoTUVXKSBoYSByZWdpc3RyYXRvIGlsIG1hZ2dpb3IgYXVtZW50byBuZWxsYSBzY29yc2Egc2V0dGltYW5hLCBzYWxlbmRvIGRlbGwnODIlIGUgZGVsbCcxLjQlIG5lbGxlIHVsdGltZSAyNCBvcmUuIFNlZ3VlIGRhIHZpY2lubyBHaWdhY2hhZCAoR0lHQSksIGNoZSDDqCBzYWxpdG8gZGVsIDQ1LjUlIG5lZ2xpIHVsdGltaSA3IGdpb3JuaSBlIGRlbCA5JSBuZWxsZSB1bHRpbWUgMjQgb3JlLCByYWdnaXVuZ2VuZG8gdW5hIGNyZXNjaXRhIGEgZHVlIGNpZnJlLgoKQ2FsY29sYXRvIGluIGJhc2UgYWwgdmFsb3JlIGRpIG1lcmNhdG8sIERvZ3dpZmhhdCAoV0lGKSwgaWwgcGnDuSBncmFuZGUgdG9rZW4gbWVtZSBiYXNhdG8gc3UgU29sYW5hLCBoYSByZWdpc3RyYXRvIHVuIGF1bWVudG8gZGVsIDEsOCUgbmVsbG8gc3Rlc3NvIGdpb3JubyBlIHVuIGF1bWVudG8gZGVsIDIxLDUlIGVudHJvIHVuYSBzZXR0aW1hbmEsIHJhZ2dpdW5nZW5kbyB1biB2YWxvcmUgZGkgbWVyY2F0byBkaSAkMiw1NCBtaWxpYXJkaS4gw4ggaW50ZXJlc3NhbnRlIG5vdGFyZSBjaGUgV0lGIHJhcHByZXNlbnRhIHF1YXNpIHVuIHRlcnpvIGRlbGxhIGNhcGl0YWxpenphemlvbmUgZGkgbWVyY2F0byB0b3RhbGUgZGVpIE1lbWVjb2luIGRpIFNvbGFuYS4gTGUgcHJlc3RhemlvbmkgcmlhbHppc3RlIGRlaSBTb2xhbmEgTWVtZWNvaW5zIHJpZmxldHRvbm8gdW4gc2VudGltZW50byBwacO5IGFtcGlvIHRyYSBnbGkgaW52ZXN0aXRvcmkgbmVpIGNvbmZyb250aSBkZWwgc2V0dG9yZS4gU2Vjb25kbyB1biByZWNlbnRlIHJhcHBvcnRvIGRpIENvaW5HZWNrbywgcXVlc3RhIGNsYXNzZSBkaSBhc3NldCDDqCBkaXZlbnRhdGEgdW5vIGRlaSB0ZW1pIHBpw7kgY2FsZGkgZGVsIHNlY29uZG8gdHJpbWVzdHJlIGRlbCAyMDI0LgoKU2Vjb25kbyBpIGRhdGkgZGkgRGVmaUxsYW1hLCBpbCB2b2x1bWUgZGkgc2NhbWJpIGRpIFNvbGFuYSDDqCBzYWxpdG8gZGEgNjAzLDggbWlsaW9uaSBkaSBkb2xsYXJpIGlsIDI5IGdpdWdubyBhIDIsNTQgbWlsaWFyZGkgZGkgZG9sbGFyaSBpbCAxOSBsdWdsaW8uIElsIHZvbHVtZSBkaSB0cmFuc2F6aW9uaSBwacO5IGFsdG8gbmVsbGEgc3RvcmlhIGRpIHF1ZXN0YSBibG9ja2NoYWluIMOoIHN0YXRvIGZpc3NhdG8gaWwgMTUgbWFyem8gYSAzLDggbWlsaWFyZGkgZGkgZG9sbGFyaS4gSWwgbnVtZXJvIGRpIGluZGlyaXp6aSBhdHRpdmkgc3VsbGEgcmV0ZSBTb2xhbmEgw6ggYXVtZW50YXRvIG5ldHRhbWVudGUgbmVsbGUgdWx0aW1lIGR1ZSBzZXR0aW1hbmUuIElsIG51bWVybyBkaSBpbmRpcml6emkgYXR0aXZpIGlsIDIzIGx1Z2xpbyBoYSBzdXBlcmF0byBpIDIgbWlsaW9uaSwgaWwgY2hlIMOoIGlsIDcyJSBpbiBwacO5IHJpc3BldHRvIGFsbCcxLDQ1IG1pbGlvbmkgZGVsIDEwIGx1Z2xpby4KCioqTW9ub1N3YXAgw6ggc3RhdG8gaGFja2VyYXRvIGUgYWdsaSB1dGVudGkgw6ggc3RhdG8gY29uc2lnbGlhdG8gZGkgbm9uIGRlcG9zaXRhcmUgZm9uZGkqKgoKSWwgMjQgbHVnbGlvIDIwMjQsIGxhIHBpYXR0YWZvcm1hIGRpIHNjYW1iaW8gZGVjZW50cmFsaXp6YXRhIGUgZGkgc3Rha2luZyBNb25vU3dhcCBoYSBhbm51bmNpYXRvIGRpIGVzc2VyZSBzdGF0YSBhdHRhY2NhdGEgZGEgaGFja2VyIG1hbGludGVuemlvbmF0aSBlIGhhIGF2dmVydGl0byBnbGkgdXRlbnRpIGRpIG5vbiBmYXJlIHN0YWtlIG8gYWdnaXVuZ2VyZSBmb25kaSBhZ2dpdW50aXZpIGluIHF1ZXN0byBtb21lbnRvLiBNb25vU3dhcCBzdGEgaW5kYWdhbmRvIHN1IHF1ZXN0byBpbmNpZGVudGUuIE5lbGwnYW5udW5jaW8sIE1vbm9Td2FwIGF2dmVydGUgZ2xpIHV0ZW50aSBkaSByaXRpcmFyZSBpbW1lZGlhdGFtZW50ZSBpIGZvbmRpIGRhbGxhIHBpYXR0YWZvcm1hIHBlciBldml0YXJlIHBlcmRpdGUgZSBkaSBub24gaW50ZXJhZ2lyZSBjb24gbGluayBtYWxpbnRlbnppb25hdGkgaWRlbnRpZmljYXRpIGRhbCBwcm90b2NvbGxvIG5laSBwb3N0IGRlaSBzb2NpYWwgbWVkaWEuCgpTZWNvbmRvIGxhIHBpYXR0YWZvcm1hLCBpbCAyMyBsdWdsaW8gMjAyNCwgdW5vIGRlaSBzdW9pIHN2aWx1cHBhdG9yaSBoYSBpbnN0YWxsYXRvIGFjY2lkZW50YWxtZW50ZSB1bidhcHBsaWNhemlvbmUgZGkgcGhpc2hpbmcgbWFsaWduYSBlZCDDqCBzdGF0byBhdHRpcmF0byBkYSB0cnVmZmF0b3JpIGNoZSBmaW5nZXZhbm8gZGkgZXNzZXJlIHZlbnR1cmUgY2FwaXRhbGlzdC4gRHVyYW50ZSBsYSBjaGlhbWF0YSwgaWwgdHJ1ZmZhdG9yZSBoYSBpbnN0YWxsYXRvIHVuIHNvZnR3YXJlIG1hbGlnbm8gc3VsIGNvbXB1dGVyIGRlbGxvIHN2aWx1cHBhdG9yZSwgY2hlIGF2ZXZhIGFjY2Vzc28gYSB0dXR0aSBpIHBvcnRhZm9nbGkgZSBjb250cmF0dGkgc3VsbGEgcGlhdHRhZm9ybWEuIENpw7IgY29uc2VudGUgYWdsaSBoYWNrZXIgZGkgZXN0cmFycmUgbGEgbWFnZ2lvciBwYXJ0ZSBkZWxsYSBsaXF1aWRpdMOgIGRpIHN0YWtpbmcgc3VsbGEgcGlhdHRhZm9ybWEuCgpEb3BvIGNoZSBpbCBjby1mb25kYXRvcmUgZGkgQ29pbkdlY2tvIGhhIGxhbmNpYXRvIHVuIGF2dmVydGltZW50bywgY2kgc29ubyBzdGF0aSBtb2x0aSBpbmNpZGVudGkgZGkgYWx0byBwcm9maWxvIGRpIGF0dGFjY2hpIGluZm9ybWF0aWNpIGVkIGV4cGxvaXQgZGkgdnVsbmVyYWJpbGl0w6AuIEwnaW52ZXN0aWdhdG9yZSBPbmNoYWluIFphY2tYQlQgaGEgcmVjZW50ZW1lbnRlIGVtZXNzbyB1biBhdnZpc28gYWwgW0NvbXBvdW5kXSgvcHJpY2UvY29tcG91bmQtY29tcCkgU2l0byB3ZWIgZmluYW56aWFyaW8sIGNoZSBoYSByZWluZGlyaXp6YXRvIGdsaSB1dGVudGkgYSBwYWdpbmUgZGkgcGhpc2hpbmcuIElsIHRlYW0gZGkgQ29tcG91bmQgRmluYW5jZSBoYSBzdWNjZXNzaXZhbWVudGUgcmlzb2x0byBxdWVzdG8gcHJvYmxlbWEuCgoqKkwnYXBwbGljYXppb25lIGRpIHJpY29tcGVuc2EgQml0Y29pbiBGb2xkIGhhIHBpYW5pZmljYXRvIGRpIGFuZGFyZSBwdWJibGljYSBzdSBOQVNEQVEgYXR0cmF2ZXJzbyBsbyBzY2FtYmlvIFNQQUMgZGEgJDM2NSBtaWxpb25pKioKCkwnYXBwbGljYXppb25lIGRpIHJpY29tcGVuc2EgQml0Y29pbiBGb2xkIHByZXZlZGUgZGkgZXNzZXJlIHF1b3RhdGEgc3UgTkFTREFRIGF0dHJhdmVyc28gdW5hIGZ1c2lvbmUgY29uIGxhIFNwZWNpYWwgUHVycG9zZSBBY3F1aXNpdGlvbiBDb3Jwb3JhdGlvbiAoU1BBQykgRW1lcmFsZCBBY3F1aXNpdGlvbiBDb3JwLiAoRU1MRCkuIERvcG8gaWwgY29tcGxldGFtZW50byBkZWxsYSB0cmFuc2F6aW9uZSwgY2kgc2FyYW5ubyBvbHRyZSAxLjAwMCBCaXRjb2luICg2NyBtaWxpb25pIGRpIGRvbGxhcmkpIG5lbCBiaWxhbmNpbyBkZWxsJ2VudGl0w6AuCgpGb2xkLCBjb24gc2VkZSBhIE5ldyBZb3JrLCBoYSBsYW5jaWF0byB1bmEgY2FydGEgZGkgZGViaXRvIGNhc2hiYWNrIGNoZSBzb3N0aXR1aXNjZSBsZSB0cmFkaXppb25hbGkgcmljb21wZW5zZSBvZmZyZW5kbyByaWNvbXBlbnNlIGluIEJpdGNvaW4uIFNlY29uZG8gdW4gYW5udW5jaW8gZGkgbWVyY29sZWTDrCwgbGEgY2FydGEgZGkgRm9sZCBoYSBlbGFib3JhdG8gb2x0cmUgMiBtaWxpYXJkaSBkaSBkb2xsYXJpIGRpIHZvbHVtZSBkaSB0cmFuc2F6aW9uaSBlIGhhIGVtZXNzbyByaWNvbXBlbnNlIHBlciB1biB2YWxvcmUgZGkgb2x0cmUgNDUgbWlsaW9uaSBkaSBkb2xsYXJpLgoKUXVlc3RhIHRyYW5zYXppb25lIGhhIHJpY2V2dXRvIGwnYXBwcm92YXppb25lIHVuYW5pbWUgZGVpIGNvbnNpZ2xpIGRpIGFtbWluaXN0cmF6aW9uZSBkaSBlbnRyYW1iZSBsZSBzb2NpZXTDoCwgY29uIHVuYSB2YWx1dGF6aW9uZSBwYXRyaW1vbmlhbGUgcHJlLXRyYW5zYXppb25lIGRpICQzNjUgbWlsaW9uaS4gRG9wbyBsYSB0cmFuc2F6aW9uZSwgY2kgc2FyYW5ubyBvbHRyZSAxLjAwMCBCaXRjb2luICgkNjcgbWlsaW9uaSkgbmVsIGJpbGFuY2lvIGRlbGwnZW50aXTDoC4gRm9sZCBub24gaGEgYW5jb3JhIHJlc28gbm90byBpbCB0ZW1wbyBwcmV2aXN0byBwZXIgaWwgY29tcGxldGFtZW50byBkZWxsYSBmdXNpb25lIGUgaWwgc3VvIGNvZGljZSBkaSBuZWdvemlhemlvbmUgc3UgTkFTREFRLgoKIyMgVGVuZGVuemUgZGkgbWVyY2F0bzogSWwgbWVyY2F0byBjb21wbGVzc2l2byDDqCBkaW1pbnVpdG8sIG1hIGlsIHNlbnRpbWVudCBkaSBtZXJjYXRvIHJpbWFuZSBvdHRpbWlzdGEKCklsIEJUQyDDqCBzY2VzbyBzb3R0byBpICQ2NC41MDAgZSBoYSBhdHRyYXZlcnNhdG8gaWwgbWV6em8gZGVsbGUgYmFuZGUgc2V0dGltYW5hbGkgZGkgQm9sbGluZ2VyLiBTZSBpbCBCVEMgcHXDsiByaXByZW5kZXJzaSBlIHRvcm5hcmUgc29wcmEgaWwgbWV6em8gZGVsbGUgYmFuZGUgc2V0dGltYW5hbGkgZGkgQm9sbGluZ2VyIHF1ZXN0YSBzZXR0aW1hbmEsIGNpIHNpIGFzcGV0dGEgY29tdW5xdWUgY2hlIGlsIG1lcmNhdG8gc2lhIHJpYWx6aXN0YSBpbiBmdXR1cm8uIFR1dHRhdmlhLCBzZSBpbCBncmFmaWNvIHNldHRpbWFuYWxlIGNoaXVkZSBhbCBkaSBzb3R0byBkZWwgbWV6em8gZGVsbGUgYmFuZGUgZGkgQm9sbGluZ2VyLCBwb3RyZWJiZSBjb250aW51YXJlIGEgZmx1dHR1YXJlIGFsIHJpYmFzc28uCgpFVEggw6ggc2Nlc28gc290dG8gaSAkMy4yMDAuIEwnRVRGIEV0aGVyZXVtIGRpIEdyYXlzY2FsZSBjb250aW51YSBhIHJlZ2lzdHJhcmUgZ3JhbmRpIGRlZmx1c3NpLiBJbiBwcmVjZWRlbnphLCBsJ0VURiBFdGhlcmV1bSBkaSBHcmF5c2NhbGUgZXJhIHN0YXRvIGEgdW5vIHNjb250byBuZWdhdGl2byBkaSBjaXJjYSAtNDAlIHBlciBtb2x0byB0ZW1wbywgZSBnbGkgYWNxdWlyZW50aSBoYW5ubyBvdHRlbnV0byBtYWdnaW9yaSBwcm9maXR0aSB2ZW5kZW5kbywgY2F1c2FuZG8gdW5hIGVub3JtZSBwcmVzc2lvbmUgc3VsIG1lcmNhdG8uCgpMZSBhbHRjb2luIHNvbm8gZ2VuZXJhbG1lbnRlIGRpbWludWl0ZSBlIGlsIHNldHRvcmUgZGVpIE1lbWUgaGEgYW5jaGUgcmVnaXN0cmF0byB1biBjYWxvLiBBIHF1ZXN0byBwdW50bywgcHVvaSBjb25zaWRlcmFyZSBkaSBhY3F1aXN0YXJlIGxhIHZhbHV0YSBNZW1lIHByZWNlZGVudGVtZW50ZSBmb3J0ZSBhIGxvdHRpLCBpbCBjaGUgcG90cmViYmUgZ2VuZXJhcmUgdWx0ZXJpb3JpIHJlbmRpbWVudGkgaW4gZnV0dXJvLgoKU2VudGltZW50byBkaSBtZXJjYXRvOiBvZ2dpIGwnaW5kaWNlIEFIUjk5OSDDqCAwLDg3LCBpbCBjaGUgaW5kaWNhIGNoZSBpbCBwcmV6em8gYXR0dWFsZSBkZWwgQlRDIMOoIGFkYXR0byBwZXIgaW52ZXN0aW1lbnRpIGEgbHVuZ28gdGVybWluZS4gTCdpbmRpY2UgUGF1cmEgZSBBdmlkaXTDoCDDqCA2OCwgZSBpbCBzZW50aW1lbnRvIGRlbCBtZXJjYXRvIMOoIHN0YXRvIGluIHVubyBzdGF0byBhdmlkbyBwZXIgcXVhdHRybyBnaW9ybmkgY29uc2VjdXRpdmkuIE5vbm9zdGFudGUgbGEgY2FkdXRhIGdlbmVyYWxlIGRlbCBtZXJjYXRvLCBpbCBzZW50aW1lbnRvIGRlbCBtZXJjYXRvIG5vbiDDqCBjYWR1dG8gbmVsIHBhbmljby4KCiMjIyBNYWNyb2Vjb25vbWlhCgpQZXJmb3JtYW5jZSBkZWxsZSBhemlvbmkgc3RhdHVuaXRlbnNpOiBpIHRyZSBwcmluY2lwYWxpIGluZGljaSBkaSBib3JzYSBzdGF0dW5pdGVuc2kgc29ubyB0dXR0aSBkaW1pbnVpdGksIGNvbiBpIGdpZ2FudGkgZGVsbCdJQSBjb21lIE52aWRpYSBlIEJyb2FkY29tIGNoZSBndWlkYW5vIGlsIGNhbG8gZSBsJ2luZGljZSBkZWxsZSBzZXR0ZSBncmFuZGkgYm9yc2Ugc3RhdHVuaXRlbnNpIGNoZSBzY2VuZGUgZGVsIDUsOSUuCgpNZXJjYXRvIG9iYmxpZ2F6aW9uYXJpbzogSWwgcmVuZGltZW50byBkZWwgdGl0b2xvIGRlbCB0ZXNvcm8gYSAzMCBhbm5pIGRlZ2xpIFN0YXRpIFVuaXRpIGhhIHN1cGVyYXRvIGlsIHJlbmRpbWVudG8gZGVsIHRpdG9sbyBkZWwgdGVzb3JvIGEgNSBhbm5pLCBpbCBtYXJnaW5lIHBpw7kgYW1waW8gZGEgbWFnZ2lvIDIwMjMuCgpBc3BldHRhdGl2YSBkaSBwb2xpdGljYTogRG9wbyBpbCByaXRpcm8gZGkgQmlkZW4gZGFsbGUgZWxlemlvbmksIGwnYXNwZXR0YXRpdmEgZGkgdW4gdGFnbGlvIGRlaSB0YXNzaSBkJ2ludGVyZXNzZSBkZWxsYSBGZWRlcmFsIFJlc2VydmUgYSBzZXR0ZW1icmUgw6ggZGltaW51aXRhIGUgaWwgbWVyY2F0byBzaSB0cm92YSBpbiB1bm8gc3RhdG8gZGkgaW5zdGFiaWxpdMOgIG1hY3JvZWNvbm9taWNhLgoKIyMjIEhvdHNwb3QgZGkgbWVyY2F0bzoKCioqRWNvc2lzdGVtYSBTb2xhbmE6KioKUGVyZm9ybWFuY2UgU09ML0VUSDogU09ML0VUSCBjb250aW51YSBhIHJhZmZvcnphcnNpLCBjb24gU09MIGNoZSBoYSBzdXBlcmF0byBpIDE4MCBkb2xsYXJpIGllcmkuIENpIHNpIGFzcGV0dGEgY2hlIHF1ZXN0YSBmb3J0ZSBwZXJmb3JtYW5jZSBjb250aW51ZXLDoCBuZWwgZnV0dXJvIG1lcmNhdG8uCgpMZSBtZW1lY29pbiBvbi1jaGFpbjogbGUgbWVtZWNvaW4gc3VsbGEgY2F0ZW5hIFNvbGFuYSBoYW5ubyBhdnV0byB1bmEgYnVvbmEgcGVyZm9ybWFuY2UgaW4gcXVlc3RvIHBlcmlvZG8gZGkgdHJlbmQgYWwgcmlhbHpvLCBjb24gbGUgY2F0IGNvaW4gUE9QQ0FULCBNRVcsIGVjYy4gY2hlIGhhbm5vIHN1cGVyYXRvIGkgbWFzc2ltaSBzdG9yaWNpLCBlIFpoYW9jYWkgQ2F0IE1lbWUgQ29pbiBNQU5FS0kgY2hlIGhhIHJlZ2lzdHJhdG8gdW4gYXVtZW50byBkaSBvbHRyZSBpbCAxMDAlIGRhbCBtaW5pbW8uCgojIyMgQ29uY2x1c2lvbmUKCklsIG1lcmNhdG8gY3JpcHRvIGF0dHVhbGUgcHJlc2VudGEgdW5hIHNpdHVhemlvbmUgY29tcGxlc3NhIGUgdm9sYXRpbGUsIGNvbiBsZSBwcmluY2lwYWxpIGNyaXB0b3ZhbHV0ZSBjb21lIEJUQyBlZCBFVEggY2hlIHN1YmlzY29ubyB1bmEgcHJlc3Npb25lIGFsIHJpYmFzc28sIG1hIGlsIHNlbnRpbWVudCBkaSBtZXJjYXRvIHJpbWFuZSByZWxhdGl2YW1lbnRlIG90dGltaXN0YS4gSW4gdW4gdHJlbmQgcmliYXNzaXN0YSwgZ2xpIHV0ZW50aSBkb3ZyZWJiZXJvIGRhcmUgcHJpb3JpdMOgIGFsbCdhY3F1aXN0byBkaSB0b2tlbiBzb2xpZGkgc3VsbGEgc3Ryb25nIHB1YmxpYyBjaGFpbiBpbiBsb3R0aSB1bm8gcGVyIHVuby4gQ29uc2lkZXJhbmRvIGwnaW5jZXJ0ZXp6YSBkZWxsJ2Vjb25vbWlhIG1hY3JvIGUgaSBjYW1iaWFtZW50aSBuZWkgcHVudGkgY2FsZGkgZGVsIG1lcmNhdG8sIGdsaSBpbnZlc3RpdG9yaSBkb3ZyZWJiZXJvIHJpbWFuZXJlIGNhdXRpLCBkaXZlcnNpZmljYXJlIGkgcmlzY2hpIGUgZGFyZSBwcmlvcml0w6AgYWdsaSBpbnZlc3RpbWVudGkgaW4gYXNzZXQgc29saWRpLgoKIyMgTWFjcm86IElsIGJydXNjbyBjYWxvIGRlbGxlIGF6aW9uaSB0ZWNub2xvZ2ljaGUgaGEgaW5mbHVlbnphdG8gaWwgbWVyY2F0byBhemlvbmFyaW8sIGNvbiBzaWEgV2FsbCBTdHJlZXQgY2hlIGkgbWVyY2F0aSBhc2lhdGljaSBjaGUgc3ViaXNjb25vIHBlc2FudGkgcGVyZGl0ZQoKSWwgMjQgbHVnbGlvLCBnbGkgaW5kaWNpIFMmUCA1MDAgZSBOYXNkYXEgc29ubyBzY2VzaSBhaSBtaW5pbWkgZGVsbGUgdWx0aW1lIHNldHRpbWFuZSBhbGxhIGNoaXVzdXJhIGRpIG1lcmNvbGVkw6wsIHBvaWNow6kgbGUgcHJlc3RhemlvbmkgaW5mZXJpb3JpIGFsbGUgYXNwZXR0YXRpdmUgZGkgQWxwaGFiZXQgZSBUZXNsYSBoYW5ubyBpbmRlYm9saXRvIGxhIGZpZHVjaWEgZGVnbGkgaW52ZXN0aXRvcmkgbmVsbGUgYXppb25pIGEgZ3JhbmRlIGNhcGl0YWxpenphemlvbmUuCgpHbGkgaW52ZXN0aXRvcmkgc3RhdmFubyBhc3BldHRhbmRvIGNoZSBsYSBwcmltYSBzb2NpZXTDoCB0cmEgbGUgIkJpZyBTZXZlbiIgYW5udW5jaWFzc2UgbGEgc3VhIHBlcmZvcm1hbmNlIHRyaW1lc3RyYWxlIHBlciBkZXRlcm1pbmFyZSBzZSBsZSB2YWx1dGF6aW9uaSBlbGV2YXRlIHNvbm8gcmFnaW9uZXZvbGkuIExhIHBlcmZvcm1hbmNlIGRpIHF1ZXN0ZSBzZXR0ZSBzb2NpZXTDoCBoYSB1biBpbXBhdHRvIHNpZ25pZmljYXRpdm8gc3VsIG1lcmNhdG8gZWQgw6ggZGVzdGluYXRhIGFkIGF2ZXJlIHVuYSByZWF6aW9uZSBhIGNhdGVuYSBhZCBhbXBpbyByYWdnaW8gc3VsIG1lcmNhdG8gY29tcGxlc3Npdm8uCgpMZSBwcmluY2lwYWxpIHBlcmZvcm1hbmNlIGRlZ2xpIGluZGljaSBzb25vIGxlIHNlZ3VlbnRpOiBsJ2luZGljZSBEb3cgSm9uZXMgw6ggc2Nlc28gZGVsbCcxLDI1JSwgbCdpbmRpY2UgUyZQIMOoIHNjZXNvIGRlbCAyLDMxJSBlIGwnaW5kaWNlIE5hc2RhcSDDqCBzY2VzbyBkZWwgMyw2NCUuCgpHaW92ZWTDrCBtYXR0aW5hLCAyNSBsdWdsaW8sIGkgbWVyY2F0aSBhemlvbmFyaSBhc2lhdGljaSBzb25vIHN0YXRpIGR1cmFtZW50ZSBjb2xwaXRpIGRhbGxlIHByZXN0YXppb25pIGRlbGxlIGF6aW9uaSB0ZWNub2xvZ2ljaGUgZSBnbGkgaW52ZXN0aXRvcmkgc2kgc29ubyByaXZvbHRpIGEgYXNzZXQgYSBiYXNzbyByaXNjaGlvLCB0cmEgY3VpIG9iYmxpZ2F6aW9uaSBhIGJyZXZlIHRlcm1pbmUsIHllbiBnaWFwcG9uZXNlIGUgZnJhbmNvIHN2aXp6ZXJvLgoKTCdpbmRpY2UgYXppb25hcmlvIHBpw7kgdXRpbGl6emF0byBkZWwgTVNDSSBBc2lhIFBhY2lmaWMgw6ggc2Nlc28gZGVsbG8gMCw3JSwgbCdpbmRpY2UgTmlra2VpIGRlbCBHaWFwcG9uZSDDqCBwcmVjaXBpdGF0byBkZWwgMiw5JSBlIGwnaW5kaWNlIEtPU1BJIGRlbGxhIENvcmVhIGRlbCBTdWQgw6ggc2Nlc28gZGVsIDIlLiBJbCBtZXJjYXRvIGRpIFRhaXdhbiBjb250aW51YSBhIGNoaXVkZXJlIGEgY2F1c2EgZGVsbCdpbXBhdHRvIGRlbCB0aWZvbmUuIExlIGF6aW9uaSBibHVlIGNoaXAgY2luZXNpIGhhbm5vIHJpZG90dG8gaWwgbG9ybyBjYWxvIHByZWNlZGVudGUgZGVsbG8gMCwxJSwgbWVudHJlIGwnSW5kaWNlIENvbXBvc2l0byBkaSBTaGFuZ2hhaSDDqCBzY2VzbyBkZWxsbyAwLDMlLCB0b2NjYW5kbyB1biBtaW5pbW8gZGkgY2lucXVlIG1lc2kuIEwnSGFuZyBTZW5nIEluZGV4IGRpIEhvbmcgS29uZyDDqCBzY2VzbyBkZWxsbyAwLDYlLCBub25vc3RhbnRlIGxlIHVsdGltZSBtaXN1cmUgZGkgYWxsZW50YW1lbnRvIGRpIFBlY2hpbm8sIGNoZSBub24gaGFubm8gZm9ybml0byB1biBzdWZmaWNpZW50ZSBzdXBwb3J0by4KCkwnaW5kaWNlIGRlbCBwYW5pY28gZGkgV2FsbCBTdHJlZXQgw6ggc2FsaXRvIGEgdW4gbWFzc2ltbyBkaSB0cmUgbWVzaS4gR2xpIGludmVzdGl0b3JpIHN0YW5ubyBjZXJjYW5kbyBkZW5hcm8gc2ljdXJvIGUgZGViaXRpIGEgYnJldmUgdGVybWluZSBhbHRhbWVudGUgbGlxdWlkaSwgY29uIGkgcmVuZGltZW50aSBkZWkgYm9uZCBzdGF0dW5pdGVuc2kgYSBkdWUgYW5uaSBjaGUgc29ubyBzY2VzaSBhaSBsb3JvIGxpdmVsbGkgcGnDuSBiYXNzaSBkYSBxdWFzaSBzZWkgbWVzaSBtZXJjb2xlZMOsLgoKTG8geWVuIGdpYXBwb25lc2UsIGNvbWUgdmFsdXRhIHJpZnVnaW8gc2ljdXJhLCDDqCBzYWxpdG8gZGVsbCcwLDYlLCByYWdnaXVuZ2VuZG8gaWwgc3VvIGxpdmVsbG8gcGnDuSBhbHRvIGRhIGR1ZSBtZXNpIGUgbWV6em8uIER1cmFudGUgbGEgbm90dGUsIGxvIHllbiBnaWFwcG9uZXNlIMOoIHNhbGl0byBkZWxsJzEsMSUgZSBpbCBzdW8gc2xhbmNpbyBhbCByaWFsem8gcmltYW5lIGZvcnRlIGluIHZpc3RhIGRlbGwnaW5jb250cm8gZGVsbGEgYmFuY2EgY2VudHJhbGUgZGkgZG9tZW5pY2EgcHJvc3NpbWEsIGRvdmUgaSBkZWNpc29yaSBkaXNjdXRlcmFubm8gc2UgYXVtZW50YXJlIGkgdGFzc2kgZGkgaW50ZXJlc3NlLiBBbmNoZSBpbCBmcmFuY28gc3Zpenplcm8gw6ggc2FsaXRvIGRlbGwnMCw3JSBkdXJhbnRlIGxhIG5vdHRlLgoKTGEgQmFuY2EgUG9wb2xhcmUgZGVsbGEgQ2luYSBoYSBhYmJhc3NhdG8gaW5hc3BldHRhdGFtZW50ZSBpIHRhc3NpIGRpIGludGVyZXNzZSBhIGx1bmdvIHRlcm1pbmUgZSBhdW1lbnRhdG8gbGUgcmVjZW50aSBtaXN1cmUgZGkgc3RpbW9sbywgbWEgaWwgbWVyY2F0byBhemlvbmFyaW8gY2luZXNlIG5vbiBoYSByaWNldnV0byBtb2x0byBzb3N0ZWduby4KCklsIGNhbG8gZGVsIG1lcmNhdG8gYXppb25hcmlvIGhhIHBvcnRhdG8gZ2xpIGludmVzdGl0b3JpIGFkIGF1bWVudGFyZSBsZSBzY29tbWVzc2Ugc3VpIHRhZ2xpIGRlaSB0YXNzaSBkaSBpbnRlcmVzc2UgZ2xvYmFsaSwgY29uIGkgbWVyY2F0aSBmdXR1cmVzIGNoZSBtb3N0cmFubyB1bmEgcHJvYmFiaWxpdMOgIGRlbCAxMDAlIGNoZSBsYSBGZWRlcmFsIFJlc2VydmUgdGFnbGkgaSB0YXNzaSBkaSBpbnRlcmVzc2UgYSBzZXR0ZW1icmUuIEwnaW1wZW5uYXRhIGRlbGxhIHZvbGF0aWxpdMOgIGRpIG1lcmNhdG8gaGEgcG9ydGF0byBhIHVuYSBzaWduaWZpY2F0aXZhIHJpZHV6aW9uZSBkZWwgdHJhZGluZyBkaSBhcmJpdHJhZ2dpbywgY2F1c2FuZG8gdW4gdWx0ZXJpb3JlIGNhbG8gZGVsIGRvbGxhcm8gc3RhdHVuaXRlbnNlIGRlbGxvIDAsNiUgcmlzcGV0dG8gYWxsbyB5ZW4gZ2lhcHBvbmVzZSBnaW92ZWTDrCBhIDE1Miw4NS4KCkRpIGZyb250ZSBhbCBjcm9sbG8gZG9taW5hdG8gZGFsbGUgYXppb25pIGRpIGdyYW5kZSBjYXBpdGFsaXp6YXppb25lLCBpbCBtZXJjYXRvIGhhIHJpdmFsdXRhdG8gbGUgcHJvc3BldHRpdmUgZGkgcHJvZml0dG8gZGVsbCdhbHRhbWVudGUgcHViYmxpY2l6emF0byBpbnRlbGxpZ2VuemEgYXJ0aWZpY2lhbGUgZSBkZWkgc2V0dGUgZ2lnYW50aSBkZWwgc2V0dG9yZS4gSWwgYnJ1c2NvIGNhbG8gZGkgQWxwaGFiZXQgZSBUZXNsYSBoYSBpbm5lc2NhdG8gaWwgY3JvbGxvIGRpIFdhbGwgU3RyZWV0LiBJbm9sdHJlLCBsZSBwcmVvY2N1cGF6aW9uaSBwZXIgbGEgQ2luYSBlIGxhIGNyZXNjaXRhIGVjb25vbWljYSBnbG9iYWxlIGhhbm5vIGVzZXJjaXRhdG8gdW5hIHByZXNzaW9uZSBlbm9ybWUgc3VsbGUgdmFsdXRlIGxlZ2F0ZSBhbGxlIG1hdGVyaWUgcHJpbWUsIGUgbGEgcHJvcGVuc2lvbmUgYWwgcmlzY2hpbyBuZWkgbWVyY2F0aSBjaW5lc2UgZSBnaWFwcG9uZXNlIGNvbnRpbnVlcsOgLgoKUGVyIHF1YW50byByaWd1YXJkYSBsZSBtYXRlcmllIHByaW1lLCBhIGNhdXNhIGRlbGxlIHByZW9jY3VwYXppb25pIHBlciBpbCByYWxsZW50YW1lbnRvIGVjb25vbWljbyBjaW5lc2UgY2hlIHNvcHByaW1lIGxhIGRvbWFuZGEsIGkgcHJlenppIGRlbCBwZXRyb2xpbyBzb25vIGxlZ2dlcm1lbnRlIGRpbWludWl0aSBlIHJpbWFzdGkgdmljaW5pIGFsIG1pbmltbyBkZWxsZSBzZWkgc2V0dGltYW5lLiBJIGZ1dHVyZXMgZGVsIGdyZWdnaW8gQnJlbnQgc29ubyBzY2VzaSBkZWxsbyAwLDQlIGEgJDgxLDgxIGFsIGJhcmlsZSwgbWVudHJlIGkgZnV0dXJlcyBkZWwgV2VzdCBUZXhhcyBJbnRlcm1lZGlhdGUgKFdUSSkgZGVnbGkgU3RhdGkgVW5pdGkgc29ubyBhbmNoZSBzY2VzaSBkZWxsbyAwLDMlIGEgJDc3LDMzIGFsIGJhcmlsZS4KCklsIG9ybyDDqCBzY2VzbyBkZWxsbyAwLDklIGEgJDIuMzc1LDkyIHBlciBvbmNpYS4KCjxkaXYgY2xhc3M9ImJsb2ctZGV0YWlscy1pbmZvIj4KPGRpdj5BdXRvcmU6PHN0cm9uZz5TaGVycnkgUy4gJmFtcDsgR2xhc3NhPC9zdHJvbmc+LCBSaWNlcmNhdG9yZSBkaSBHYXRlLmlvCjxkaXY+VHJhZHV0dG9yZTogSm95IFouCjxkaXYgY2xhc3M9ImluZm8tdGlwcyI+KlF1ZXN0byBhcnRpY29sbyByYXBwcmVzZW50YSBzb2xvIGxlIG9waW5pb25pIGRlbCByaWNlcmNhdG9yZSBlIG5vbiBjb3N0aXR1aXNjZSBhbGN1biBzdWdnZXJpbWVudG8gZGkgaW52ZXN0aW1lbnRvLgo8ZGl2PipHYXRlLmlvIHNpIHJpc2VydmEgdHV0dGkgaSBkaXJpdHRpIHN1IHF1ZXN0byBhcnRpY29sby4gSWwgcmVwb3N0IGRlbGwmIzM5O2FydGljb2xvIHNhcsOgIGNvbnNlbnRpdG8gYSBjb25kaXppb25lIGNoZSB2ZW5nYSBmYXR0byByaWZlcmltZW50byBhIEdhdGUuaW8uIEluIHR1dHRpIGkgY2FzaSwgc2FyYW5ubyBpbnRyYXByZXNlIGF6aW9uaSBsZWdhbGkgYSBjYXVzYSBkZWxsZSB2aW9sYXppb25pIGRlbCBjb3B5cmlnaHQuCjwvZGl2PjxwPjwvcD4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+