Tm90aXppZSBxdW90aWRpYW5lIHwgWlJPIMOoIHN0YXRvIGxhbmNpYXRvLCBpbCBtZXJjYXRvIGNyaXB0byByYWxsZW50YSBjb250aW51YW1lbnRlOyAzaVEgaGEgcHJlc2VudGF0byBkb21hbmRhIHBlciBsYW5jaWFyZSBpbCBwcmltbyBFVFAgU29sYW5hIGluIE5vcmQgQW1lcmljYTsgRkVUIGUgQUdJWCBoYW5ubyBwb3J0YXRvIGluIGF
Wy8vXTpjb250ZW50LXR5cGUtTUFSS0RPV04tRE9OT1QtREVMRVRFDQohW10oaHR0cHM6Ly9naW1nMi5nYXRlaW1nLmNvbS9pbWFnZS9hcnRpY2xlLzE3MTg5NDA4MjgxXzE2LnBuZykKCiMjIFJpZXBpbG9nbyBnaW9ybmFsaWVybyBkZWxsZSBjcmlwdG92YWx1dGU6IDNpUSBoYSByaWNoaWVzdG8gZGkgbGFuY2lhcmUgaWwgcHJpbW8gRVRQIFNvbGFuYSBpbiBOb3JkIEFtZXJpY2E7IE5WSURJQSDDqCBkaXZlbnRhdGEgbGEgc29jaWV0w6AgcGnDuSBwcmV6aW9zYSBhbCBtb25kbywgY29uIEZFVCBlIEFHSVggY2hlIGd1aWRhbm8gbCdhc2Nlc2EgZGVpIHRva2VuIEFJOyBNaWRhcyBsYW5jaWEgdW4gdG9rZW4gYmFzYXRvIHN1aSByaWNhdmkgbUJBU0lTIGNvbnRybyBFdGhuYQoKSW5uYW56aSB0dXR0bywgZXNhbWluaWFtbyBsZSBhdHRpdml0w6AgZGkgdHJhZGluZyBkaSBbQml0Y29pbl0oL3ByaWNlL2JpdGNvaW4tYnRjKSBFVEYuIFNlY29uZG8gaSBkYXRpIGRpIEZhcnNpZGUgSW52ZXN0b3IsIGlsIDE4IGdpdWdubywgZ2xpIEVURiBzcG90IEJpdGNvaW4gR3JheXNjYWxlIChHQlRDKSBoYW5ubyBjb250aW51YXRvIGEgcmVnaXN0cmFyZSBkZWZsdXNzaSBkaSBmb25kaSBwYXJpIGEgJDUzLDEgbWlsaW9uaS4gTmVsIGZyYXR0ZW1wbywgZ2xpIGRlZmx1c3NpIGRlZ2xpIEVURiBzcG90IEJpdGNvaW4gZGkgRmlkZWxpdHkgKEZCVEMpIGFtbW9udGF2YW5vIGEgJDUxLDEgbWlsaW9uaS4KCioqTlZJRElBIGd1aWRhIGxlIGF6aW9uaSB0ZWNub2xvZ2ljaGUsIG1lbnRyZSBGRVQgZSBBR0lYIGd1aWRhbm8gbGEgY3Jlc2NpdGEgZGVpIHRva2VuIGRpIGludGVsbGlnZW56YSBhcnRpZmljaWFsZSoqCklsIHByZXp6byBkZWxsZSBhemlvbmkgZGVsIHByb2R1dHRvcmUgZGkgY2hpcCBOdmlkaWEgw6ggYXVtZW50YXRvIGRlbCA1JSBkYSBsdW5lZMOsLCBzdXBlcmFuZG8gTWljcm9zb2Z0IGluIHZhbG9yZSBkaSBtZXJjYXRvIGUgZGl2ZW50YW5kbyBsYSBzb2NpZXTDoCBwacO5IHByZXppb3NhIGFsIG1vbmRvLiBBbmNoZSBzZSBOdmlkaWEgbm9uIGhhIGFsY3VuYSByZWxhemlvbmUgZGlyZXR0YSBjb24gcXVhbHNpYXNpIHNvY2lldMOgIGRpIGNyaXB0b3ZhbHV0YSwgbCdhdW1lbnRvIGRlbCBwcmV6em8gZGVsbGUgc3VlIGF6aW9uaSBzcGVzc28gZmEgc2FsaXJlIGkgdG9rZW4gY29ycmVsYXRpIGFsbCdpbnRlbGxpZ2VuemEgYXJ0aWZpY2lhbGUuCgpOZWxsZSB1bHRpbWUgMjQgb3JlLCBpIHRva2VuIGNyaXR0b2dyYWZpY2kgbmVsIHNldHRvcmUgZGVsbCdJQSBzb25vIGF1bWVudGF0aSBkZWwgMzUlLCBzdXBlcmFuZG8gZGkgZ3JhbiBsdW5nYSBsZSB2YXJpYXppb25pIGNvbXBsZXNzaXZlIGRlbCBtZXJjYXRvIGNyaXR0b2dyYWZpY28uIOKAnElsIGNhbXBvIGRlbGwnaW50ZWxsaWdlbnphIGFydGlmaWNpYWxlIMOoIG1vbHRvIHBvcG9sYXJlIHNpYSBuZWkgbWVyY2F0aSB0cmFkaXppb25hbGkgY2hlIGluIHF1ZWxsaSBjcml0dG9ncmFmaWNp4oCdLCBoYSBkaWNoaWFyYXRvIEVkd2FyZCBXaWxzb24sIGFuYWxpc3RhIGRpIE5hbnNlbi5haS4gTGUgcHJlc3RhemlvbmkgZGkgTnZpZGlhIHNvbm8gaW1wcmVzc2lvbmFudGksIGUgY2kgc2kgYXNwZXR0YSB1biBhdW1lbnRvIGRlaSB0b2tlbiBsZWdhdGkgYWwgY29uY2V0dG8gZGkgaW50ZWxsaWdlbnphIGFydGlmaWNpYWxlLiBUb2tlbiBjb21lIE5FQVIgZSBSTkRSIHNvbm8gYXVtZW50YXRpIGRpIGNpcmNhIGlsIDMwMCUgbmVsbCd1bHRpbW8gYW5ubywgbWVudHJlIEVUSCDDqCBhdW1lbnRhdG8gc29sbyBsZWdnZXJtZW50ZSBwacO5IGRlbCAxMDAlIG5lbGxvIHN0ZXNzbyBwZXJpb2RvLCBpbmRpY2FuZG8gdW4gYWx0byBsaXZlbGxvIGRpIGludGVyZXNzZSBkaSBtZXJjYXRvIG5lbCBjYW1wbyBkZWxsJ0lBLgoKU2Vjb25kbyBpIGRhdGkgZGkgQ29pbkdlY2tvLCBbRmV0Y2guYWldKC9wcmljZS9mZXRjaC1haS1mZXQpIEwnRkVUIGRpIFNpbmd1bGFyaXR5TkVULCBsJ0FHSVggZSBsJ09DRUFOIGRpIE9jZWFuIFByb3RvY29sIGhhbm5vIGd1aWRhdG8gbGEgY3Jlc2NpdGEgZGVpIHRva2VuIGRpIGludGVsbGlnZW56YSBhcnRpZmljaWFsZSwgY29uIHVuIHRhc3NvIGRpIGNyZXNjaXRhIG1lZGlvIGRlbCAxNSUgaW4gcXVlc3RvIHNldHRvcmUuIEkgdG9rZW4gY29uIHVuIHZhbG9yZSBkaSBtZXJjYXRvIHN1cGVyaW9yZSBhIDEwMCBtaWxpb25pIGRpIGRvbGxhcmkgc29ubyBhdW1lbnRhdGkgZGkgYWxtZW5vIGlsIDQlLCBzdXBlcmFuZG8gc2lnbmlmaWNhdGl2YW1lbnRlIGwnYXVtZW50byBkZWxsbyAwLDIyJSBkZWxsJ2luZGljZSBDb2luRGVzayAyMCAoQ0QyMCkuCgpJbm9sdHJlLCBTaW5ndWxhcml0eU5FVCwgRmV0Y2guYWkgZSBPY2VhbiBQcm90b2NvbCBmb3JtZXJhbm5vIGxhIOKAnEFsbGVhbnphIFN1cGVyaW50ZWxsaWdlbnphIEFydGlmaWNpYWxl4oCdIGlsIDE1IGx1Z2xpbyAyMDI0IGUgZm9uZGVyYW5ubyBpIHRyZSB0b2tlbiBuZWwgdG9rZW4gQVNJLgoKKiozaVEgaGEgcHJlc2VudGF0byBsYSByaWNoaWVzdGEgcGVyIGxhbmNpYXJlIGlsIHByaW1vIFtTb2xhbmFdKC9wcmljZS9zb2xhbmEtc29sKSBFVFAgaW4gTm9yZCBBbWVyaWNhKioKTGEgc29jaWV0w6AgZGkgaW52ZXN0aW1lbnRvIDNpUSBoYSBwcmVzZW50YXRvIGRvbWFuZGEgcGVyIGxhbmNpYXJlIGlsIHByaW1vIHByb2RvdHRvIG5lZ296aWF0byBpbiBib3JzYSAoRVRQKSBkaSBTb2xhbmEgZGVsIENhbmFkYS4gTGEgc29jaWV0w6AgaGEgZGljaGlhcmF0byBnaW92ZWTDrCBjaGUgbCdFVFAgY2hpYW1hdG8gU29sYW5hIEZ1bmQgb2Zmcmlyw6AgYWdsaSBpbnZlc3RpdG9yaSBjYW5hZGVzaSBsJ29wcG9ydHVuaXTDoCBkaSBpbnZlc3RpcmUgaW4gU09MIHNlbnphIGxhIG5lY2Vzc2l0w6AgZGkgcG9ydGFmb2dsaSBvbmxpbmUgbyBhbHRyZSB0ZWNub2xvZ2llIGxlZ2F0ZSBhbGxhIGJsb2NrY2hhaW4uIElsIGZvbmRvIHNhcsOgIHF1b3RhdG8gYWxsYSBCb3JzYSBkaSBUb3JvbnRvIGNvbiBpbCBjb2RpY2UgUVNPTCBzZSBhcHByb3ZhdG8uCgpHcmVnIEJlbmhhaW0sIFZpY2UgUHJlc2lkZW50ZSBFc2VjdXRpdm8gZSBSZXNwb25zYWJpbGUgZGVsIFRyYWRpbmcgcHJlc3NvIDNpUSwgaGEgZGljaGlhcmF0bzogIkluIHF1YW50byBwaW9uaWVyZSBuZWwgY2FtcG8gZGVsbGEgZ2VzdGlvbmUgZGVnbGkgaW52ZXN0aW1lbnRpIGluIGFzc2V0IGRpZ2l0YWxpLCBzaWFtbyBsaWV0aSBkaSBjb250aW51YXJlIGxhIG5vc3RyYSBtaXNzaW9uZSBkaSBmb3JuaXJlIHN0cnVtZW50aSBkaSBpbnZlc3RpbWVudG8gcmVnb2xhbWVudGF0aSBjaGUgaW5jYXJuYW5vIGkgcGnDuSBhbHRpIHN0YW5kYXJkIGUgY29sbGFib3JhcmUgY29uIHBhcnRuZXIgZGkgcHJpbW8gbGl2ZWxsbyBwZXIgY29uc2VudGlyZSBhIGludmVzdGl0b3JpIGluZGl2aWR1YWxpIGUgaXN0aXR1emlvbmFsaSBkaSBhY2NlZGVyZSBlZmZpY2llbnRlbWVudGUgYWxsZSBjbGFzc2kgZGkgYXNzZXQgY3JpdHRvZ3JhZmljaSIuCgpBbCBtb21lbnRvIG5vbiDDqCBjaGlhcm8gcXVhbmRvIGlsIEZvbmRvIFNvbGFuYSBzYXLDoCBhcGVydG8gYWdsaSBpbnZlc3RpdG9yaS4KCioqTWlkYXMgaGEgbGFuY2lhdG8gdW4gbnVvdm8gdG9rZW4gb3JpZW50YXRvIGFsIHJlZGRpdG8sIG1CQVNJUywgY29uIGwnb2JpZXR0aXZvIGRpIHN1cGVyYXJlIEV0aGVuYSoqCkxhIHBpYXR0YWZvcm1hIGRpIHRva2VuaXp6YXppb25lIE1pZGFzIGhhIGxhbmNpYXRvIHVuIG51b3ZvIHRva2VuIGRpIHJldmVudWUgY2hpYW1hdG8gbUJBU0lTLCBjaGUgbWlyYSBhIHN1cGVyYXJlIEV0aGVuYS4gbUJBU0lTIMOoIHVuIHRva2VuIEVSQy0yMCBkZW5vbWluYXRvIGluIGRvbGxhcmkgc3RhdHVuaXRlbnNpLCBjaGUgb3R0aWVuZSByZW5kaW1lbnRpIGF0dHJhdmVyc28gdW5hIHN0cmF0ZWdpYSBkaSB0cmFkaW5nIGNoaWFtYXRhICdkZWx0YSBuZXV0cmFsIGJhc2lzJy4gUXVlc3RhIHN0cmF0ZWdpYSBkaSB0cmFkaW5nIGNvbnNpc3RlIG5lbCB0cmFycmUgcHJvZml0dG8gZGFsbGEgZGlmZmVyZW56YSBkaSBwcmV6em8gdHJhIGkgbWVyY2F0aSBzcG90IGUgaSBtZXJjYXRpIGZ1dHVyZXMgcGVycGV0dWkuCgpEZW5uaXMgRGlua2VsbWV5ZXIsIGZvbmRhdG9yZSBkaSBNaWRhcyBlIGV4IGFuYWxpc3RhIGRpIHJpY2VyY2EgZGVnbGkgaW52ZXN0aW1lbnRpIHByZXNzbyBHb2xkbWFuIFNhY2hzLCBoYSBkaWNoaWFyYXRvIGNoZSBtQkFTSVMgaGEgbW9sdGUgZGlmZmVyZW56ZSByaXNwZXR0byBhIHNVU0RlIGRpIEV0aGVuYS4gbUJBU0lTIMOoIGdlc3RpdG8gZGEgdW5hIHJpbm9tYXRhIHNvY2lldMOgIGRpIGdlc3Rpb25lIHBhdHJpbW9uaWFsZSBhdXRvcml6emF0YSBjaGUgb3BlcmEgc290dG8gcmVzcG9uc2FiaWxpdMOgIGFmZmlkYXRhIHBlciBnYXJhbnRpcmUgY2hlIGlsIHByb2Nlc3NvIGRpIGludmVzdGltZW50byBzaWEgbmVsIG1pZ2xpb3JlIGludGVyZXNzZSBkZWdsaSBpbnZlc3RpdG9yaS4gR2xpIGFzc2V0IGRpIG1CQVNJUyBzb25vIGdlc3RpdGkgZGEgdW4gZ2VzdG9yZSBkaSBmb25kaSByZWdvbGFtZW50YXRvIGluZGlwZW5kZW50ZSwgTkFWIENvbnN1bHRpbmcuCgpJbm9sdHJlLCBtQkFTSVMgb2ZmcmUgcHJvdGV6aW9uZSBkYSBmYWxsaW1lbnRvLCBkb3ZlIGdsaSBhc3NldCBkZWkgY2xpZW50aSBzb25vIGNvbnNlcnZhdGkgaW4gdmVpY29saSBzcGVjaWFsaSBhcHBvc2l0YW1lbnRlIHByb3RldHRpIGRhIGZhbGxpbWVudG8uIEwnYWdlbnRlIGRpIHNpY3VyZXp6YSBkaXN0cmlidWlyw6AgZ2xpIGFzc2V0IGFpIGNyZWRpdG9yaSBpbiBjYXNvIGRpIGRlZmF1bHQuCgpEaW5rZWxtZXllciBoYSBhZ2dpdW50byBjaGUgbUJBU0lTIG1pcmEgYSBvdHRlbmVyZSByZW5kaW1lbnRpIHBpw7kgZWxldmF0aSByaXNwZXR0byBhbCBtZXJjYXRvIGFsbG9jYW5kbyBhdHRpdmFtZW50ZSBsZSBwb3NpemlvbmkgZGkgYmFzZSBkZWxsZSBwcmltZSAyMCBBbHRjb2luLCBjaGUgZGkgc29saXRvIHByb2R1Y29ubyByZW5kaW1lbnRpIHBpw7kgZWxldmF0aSByaXNwZXR0byBhIEJpdGNvaW4gZSBbRXRoZXJldW1dKC9wcmljZS9ldGhlcmV1bS1ldGgpLgoKIyMgVGVuZGVuemUgZGkgbWVyY2F0bzogSWwgcHJvZ2V0dG8gWlJPIMOoIGZpbmFsbWVudGUgc3RhdG8gbGFuY2lhdG8sIG1hIGxhIHJpc3Bvc3RhIGRlbGxhIGNvbXVuaXTDoCDDqCBzdGF0YSBtb2x0byBmZXJvY2UKCklsIHByZXp6byBkaSBCVEMgw6ggc2Nlc28gYWwgZGkgc290dG8gZGVpIDY1LjAwMCBkb2xsYXJpLCBjYXVzYW5kbyB1biBzaWduaWZpY2F0aXZvIGFycmV0cmFtZW50byBkZWwgc2VudGltZW50IGRpIG1lcmNhdG8uCgpFVEggc2kgw6ggc3RhYmlsaXp6YXRvIGludG9ybm8gYWkgJDMsNTIwIGUgbm9uIGhhIG1vc3RyYXRvIGNoaWFyaSBzZWduaSBkaSByaXByZXNhLgoKSWwgZGVjbGlubyBnZW5lcmFsZSBkZWxsZSBBbHRjb2luIGhhIHBvcnRhdG8gYSB1biBzZW50aW1lbnRvIGRpIG1lcmNhdG8gcGVzc2ltaXN0aWNvLiBJIGR1ZSBudW92aSB0b2tlbiBMSVNUQSBlIFpSTywgY29uIHVuYSBncmFuZGUgY2FwaXRhbGl6emF6aW9uZSBkaSBtZXJjYXRvLCBzb25vIHN0YXRpIGxhbmNpYXRpIGllcmkgZSBoYW5ubyBhdHRpcmF0byB1bmEgZ3JhbmRlIHF1YW50aXTDoCBkaSBmb25kaSwgY2F1c2FuZG8gdW4gZ3JhdmUgc2NvbXBpZ2xpbyBkaSBtZXJjYXRvLgoKIyMjIEFzcGV0dGkgbWFjcm9lY29ub21pY2k6CgpJbCBtZXJjYXRvIGF6aW9uYXJpbyBzdGF0dW5pdGVuc2UgaGEgcmVnaXN0cmF0byB1biBsaWV2ZSByaXRpcm8gZSBxdWVzdG8gdmVuZXJkw6wgw6ggaWwgZ2lvcm5vIGRpIHJlZ29sYW1lbnRvIHRyaW1lc3RyYWxlIGRlbGxlIG9wemlvbmksIGlsIGNoZSBwb3RyZWJiZSBhdmVyZSB1bHRlcmlvcmkgaW1wYXR0aSBzdWwgbWVyY2F0by4KCiMjIyBQdW50aSBDYWxkaSBkZWwgTWVyY2F0bzoKCioqUHJvdG9jb2xsbyBkaSBwb250ZSBjcm9zcy1jaGFpbiBMYXllciBaZXJvKioKWlJPOiBJbCB0b2tlbiBkaSBxdWVzdG8gcHJvdG9jb2xsbywgWlJPLCDDqCBzdGF0byBsYW5jaWF0byBzdWxsZSBwcmluY2lwYWxpIHBpYXR0YWZvcm1lIGRpIHRyYWRpbmcgbGEgc2NvcnNhIG5vdHRlIGUgYXR0dWFsbWVudGUgw6ggcXVvdGF0byBhICQzMzUgY29uIHVuIHZhbG9yZSBkaSBtZXJjYXRvIGRpICQzLjM1IG1pbGlhcmRpLgoKTWVjY2FuaXNtbyBkaSByaWNoaWVzdGEgQWlyZHJvcDogYWdsaSB1dGVudGkgdmllbmUgcmljaGllc3RvIGRpIGRvbmFyZSB0b2tlbiBwZXIgcmljaGllZGVyZSBnbGkgQWlyZHJvcCBaUk8uIFBlciBvZ25pIFpSTyByaWNldnV0bywgZGV2b25vIGRvbmFyZSB1biB0b2tlbiBkZWwgdmFsb3JlIGRpICQwLjEgYWwgUHJvdG9jb2xsbyBkZWxsYSBHaWxkYS4KCioqVG9rZW4gZGkgY29uY2V0dG8gZGkgaW50ZWxsaWdlbnphIGFydGlmaWNpYWxlKioKSSB0b2tlbiBjb25jZXR0dWFsaSBBSSBjb21lIEFSS00gZSBXTEQgY29udGludWFubyBhIHJpcHJlbmRlcnNpLiBBemlvbmkgdGVjbm9sb2dpY2hlIGNvbWUgTnZpZGlhIGhhbm5vIHJlZ2lzdHJhdG8gdW5hIGZvcnRlIHBlcmZvcm1hbmNlLCBzdXNjaXRhbmRvIHNwZWN1bGF6aW9uaSB0cmEgZ2xpIGludmVzdGl0b3JpIHNwZWN1bGF0aXZpIHN1aSB0b2tlbiBuYXJyYXRpdmkgZGkgQUkgbmVsIGNhbXBvIGRlbGxlIGNyaXB0b3ZhbHV0ZS4KCioqU2V0dG9yZSBkZWkgbWVtZSoqCkkgdG9rZW4gbWVtZSBjb21lIENhdCBQT1BDQVQgZSBGcm9nIFRVUkJPIGhhbm5vIHZpc3RvIHVuIGF1bWVudG8uCgpOdW92aSBNZW1lcyBsYW5jaWF0aSBzdWxsYSBjYXRlbmEgU29sYW5hOiBTdGFtYXR0aW5hIHByZXN0byDDqCBzdGF0byBsYW5jaWF0byBpbCB0b2tlbiBNZW1lIEtJVFNVTkUsIGNoZSDDqCBzYWxpdG8gZGkgZGllY2kgdm9sdGUgaW4gYnJldmUgdGVtcG8sIG1hIHBvaSDDqCB0b3JuYXRvIGFsIHB1bnRvIGRpIHBhcnRlbnphIGRlbGxhIGNyZXNjaXRhLiBLSVRTVU5FIMOoIHN0YXRvIGlsIHByaW1vIE1lbWUgY29pbiBkZWxsYSB2b2xwZS4KCk1lcmNhdG8gY29tcGxlc3Npdm86IElsIHNldHRvcmUgTWVtZSBoYSBzZWd1aXRvIGxlIHByZXN0YXppb25pIGNvbXBsZXNzaXZlIGRlbCBtZXJjYXRvLCBtb3N0cmFuZG8gdW4gY2Fsby4KCkF0dHVhbG1lbnRlIGlsIG1lcmNhdG8gw6ggaW4gdW5hIGZhc2UgZGkgc2lnbmlmaWNhdGl2YSB2b2xhdGlsaXTDoCBlIGdsaSBpbnZlc3RpdG9yaSBkZXZvbm8gb3BlcmFyZSBjb24gY2F1dGVsYToKCkxlIHRlbmRlbnplIGRpIEJUQyBlIEVUSCBub24gc29ubyBhbmNvcmEgY2hpYXJlLCBlIHNpIGNvbnNpZ2xpYSBkaSBtb25pdG9yYXJlIGRhIHZpY2lubyBpIGxpdmVsbGkgY2hpYXZlIGRpIHN1cHBvcnRvIGUgcmVzaXN0ZW56YS4KCklsIGxhbmNpbyBkZWwgdG9rZW4gWlJPIHBlciBpbCBwcm90b2NvbGxvIENyb3NzLUNoYWluIEJyaWRnZSBMYXllciBaZXJvIGhhIGF0dGlyYXRvIGwnYXR0ZW56aW9uZSBkZWwgbWVyY2F0by4gVHV0dGF2aWEsIGlsIHN1byBtZWNjYW5pc21vIGRpIHJhY2NvbHRhIGRpIGFpcmRyb3Agw6ggdW5pY28gZSBsZSBsYW1lbnRlbGUgZGVsbGEgY29tdW5pdMOgIHNvbm8gYWJiYXN0YW56YSBjb211bmkuCgpMZSBwZXJmb3JtYW5jZSBkZWxsZSBhemlvbmkgdGVjbm9sb2dpY2hlIGd1aWRhbm8gaWwgdG9rZW4gY29uY2V0dG8gZGkgaW50ZWxsaWdlbnphIGFydGlmaWNpYWxlIGUgcG90cmViYmVybyBjb250aW51YXJlIGFkIGVzc2VyZSBlc2FsdGF0ZSBkYWkgZm9uZGkgc3BlY3VsYXRpdmkgYSBicmV2ZSB0ZXJtaW5lLgoKU2ViYmVuZSBpbCBzZXR0b3JlIGRlaSBNZW1lIGFiYmlhIHN1Yml0byBlc3Bsb3Npb25pIGEgYnJldmUgdGVybWluZSwgbGUgc3VlIHByZXN0YXppb25pIGNvbXBsZXNzaXZlIHNvbm8gaW5zdGFiaWxpIGUgZ2xpIGludmVzdGl0b3JpIGRldm9ubyBjb25jZW50cmFyc2kgc3VsbGEgZ2VzdGlvbmUgZGVsIHJpc2NoaW8uCgpOZWxsJ2F0dHVhbGUgY29udGVzdG8gZGkgbWVyY2F0bywgZ2xpIGludmVzdGl0b3JpIGRvdnJlYmJlcm8gcmltYW5lcmUgY2FsbWksIG1vbml0b3JhcmUgYXR0ZW50YW1lbnRlIGxlIHRlbmRlbnplIGRpIG1lcmNhdG8sIGFsbG9jYXJlIGluIG1vZG8gcmFnaW9uZXZvbGUgZ2xpIGFzc2V0IGUgZXZpdGFyZSBkaSBpbnNlZ3VpcmUgY2llY2FtZW50ZSBwcmV6emkgZWxldmF0aS4KCiMjIE1hY3JvOiB0cmFzY2luYXRvIGFsIHJpYmFzc28gZGFsbGUgYXppb25pIGRlbCBzZXR0b3JlIGRlaSBjaGlwIGUgZGFpIGRhdGkgZWNvbm9taWNpLCBsJ1MmUCA1MDAgaGEgcmFnZ2l1bnRvIHVuIG1hc3NpbW8gc3RvcmljbyBwZXIgcG9pIHRvcm5hcmUgaW5kaWV0cm87IGkgbWVyY2F0aSBhemlvbmFyaSBhc2lhdGljaSBoYW5ubyBjaGl1c28gaW4gcmliYXNzbwoKSWwgMjAgZ2l1Z25vLCBnbGkgaW5kaWNpIFMmUCA1MDAgZSBOYXNkYXEgaGFubm8gY2hpdXNvIGFsIHJpYmFzc28gbmVsbGEgc2Vzc2lvbmUgZGkgZ2lvdmVkw6wuIElsIGxlYWRlciBkaSBtZXJjYXRvIE52aWRpYSDDqCBzY2VzbyBkb3BvIGVzc2VyZSBzYWxpdG8gYWwgbWF0dGlubywgcG9pY2jDqSBnbGkgaW52ZXN0aXRvcmkgc3Rhbm5vIHZhbHV0YW5kbyBnbGkgdWx0aW1pIGRhdGkgZWNvbm9taWNpIGUgaSBjb21tZW50aSBkZWkgZnVuemlvbmFyaSBkZWxsYSBGZWRlcmFsIFJlc2VydmUgcGVyIGRldGVybWluYXJlIHNlIGkgdGFzc2kgZGkgaW50ZXJlc3NlIHNhcmFubm8gcmlkb3R0aSBxdWVzdCdhbm5vLgoKSW5kaWNpIHNwZWNpZmljaTogbCdpbmRpY2UgRG93IEpvbmVzIMOoIGF1bWVudGF0byBkZWxsbyAwLDc3JSwgbCdpbmRpY2UgUyZQIDUwMCDDqCBkaW1pbnVpdG8gZGVsbG8gMCwyNSUgZSBsJ2luZGljZSBOYXNkYXEgw6ggZGltaW51aXRvIGRlbGxvIDAsNzklLgoKUHJlY2VkZW50ZW1lbnRlLCBsJ2luZGljZSBTJlAgNTAwIGhhIHJhZ2dpdW50byBwZXIgbGEgcHJpbWEgdm9sdGEgaWwgY3J1Y2lhbGUgbGl2ZWxsbyBkaSA1LjUwMCBwdW50aSwgZSBkaXZlcnNlIHNvY2lldMOgIGRpIHRpdG9saSBoYW5ubyBwcmV2aXN0byBjaGUgbCdpbmRpY2UgYXZyZWJiZSByYWdnaXVudG8gcXVlc3RvIG9iaWV0dGl2byBlbnRybyBsYSBmaW5lIGRlbGwnYW5uby4gSWwgTmFzZGFxIGhhIGNvbmNsdXNvIGxhIHN1YSBzZXJpZSByZWNvcmQgZGkgc2V0dGUgZ2lvcm5pIGRpIG5lZ296aWF6aW9uZSBjb25zZWN1dGl2aSwgcmFnZ2l1bmdlbmRvIHVuIG51b3ZvIG1hc3NpbW8gZGkgY2hpdXN1cmEuCgpJbCBwcmV6em8gZGVsbGUgYXppb25pIGRpIE52aWRpYSDDqCBzY2VzbyBkZWwgMyw1NCUgZG9wbyBlc3NlcmUgYXVtZW50YXRvIGluIHByZWNlZGVuemEuIE1hcnRlZMOsLCBxdWVzdG8gcHJvZHV0dG9yZSBkaSBjaGlwIGhhIHN1cGVyYXRvIE1pY3Jvc29mdCBkaXZlbnRhbmRvIGxhIHNvY2lldMOgIHF1b3RhdGEgcGnDuSBwcmV6aW9zYSwgbWEgb3JhIE1pY3Jvc29mdCBoYSByaWNvbnF1aXN0YXRvIHF1ZXN0YSBwb3NpemlvbmUuCgoqKkkgbWVyY2F0aSBhemlvbmFyaSBhc2lhdGljaSBoYW5ubyBjaGl1c28gaW4gcmliYXNzbyBxdWVzdGEgc2V0dGltYW5hLCBjb24gdW5hIHRlbmRlbnphIGRlbGxvIHllbiBkZWJvbGUqKgpJbCAyMSBnaXVnbm8sIGkgbWVyY2F0aSBhemlvbmFyaSBhc2lhdGljaSBoYW5ubyBzdWJpdG8gdW5hIHByZXNhIGRpIHByb2ZpdHRvIGRvcG8gYXZlciB0b2NjYXRvIHVuIG1hc3NpbW8gZGkgMjYgbWVzaSBhbGwnaW5pemlvIGRpIHF1ZXN0YSBzZXR0aW1hbmEsIGNvbiB1bmEgcGVyZm9ybWFuY2UgZGkgY2hpdXN1cmEgcG9jbyBlbnR1c2lhc21hbnRlLiBJbCB0YWdsaW8gZGVpIHRhc3NpIGQnaW50ZXJlc3NlIGRlbGxhIEJhbmNhIGNlbnRyYWxlIGV1cm9wZWEgaGEgcmFmZm9yemF0byBpbCBkb2xsYXJvIGFtZXJpY2Fubywgc29wcHJpbWVuZG8gdWx0ZXJpb3JtZW50ZSBsbyB5ZW4gZSBhdnZpY2luYW5kb3NpIGFsIGxpdmVsbG8gZGkgcG9zc2liaWxlIGludGVydmVudG8gZGVsbGUgYXV0b3JpdMOgIGdpYXBwb25lc2kuCgpMJ2luZGljZSBhemlvbmFyaW8gTVNDSSBBc2lhIFBhY2lmaWMgw6ggc3RhdG8gaW5mbHVlbnphdG8gZGEgdW4gcml0aXJvIGRlbGxlIGF6aW9uaSB0ZWNub2xvZ2ljaGUsIHNjZW5kZW5kbyBkZWxsbyAwLDA1JSB2ZW5lcmTDrCwgc2VndWVuZG8gbGEgdGVuZGVuemEgZGVsIG1lcmNhdG8gYXppb25hcmlvIGRpIFdhbGwgU3RyZWV0IGR1cmFudGUgbGEgbm90dGUuIEwnaW5kaWNlIE5pa2tlaSBpbiBHaWFwcG9uZSDDqCBzY2VzbyBkZWxsbyAwLDAyJS4gSWwgbWVyY2F0byBhemlvbmFyaW8gY2luZXNlIMOoIHJpbWFzdG8gaW4gZ3JhbiBwYXJ0ZSBpbnZhcmlhdG8sIGNvbiBsJ2luZGljZSBjb21wb3NpdG8gZGkgU2hhbmdoYWkgY2hlIG1hbnRpZW5lIHVuIGxpdmVsbG8gY2hpYXZlIHNvcHJhIGkgMzAwMCBwdW50aS4gTCdpbmRpY2UgSGFuZyBTZW5nIGFkIEhvbmcgS29uZyDDqCBzY2VzbyBkZWxsbyAwLDklLgoKTmVsIHRyYWRpbmcgbm90dHVybm8sIGxhIGJhbmNhIGNlbnRyYWxlIHN2aXp6ZXJhIGhhIG51b3ZhbWVudGUgYWJiYXNzYXRvIGkgdGFzc2kgZGkgaW50ZXJlc3NlLCBtZW50cmUgbGEgQmFuY2EgZCdJbmdoaWx0ZXJyYSBoYSByaXNlcnZhdG8gc3BhemlvIHBlciBsYSBwb2xpdGljYSBkaSBmYWNpbGl0YXppb25lIGRpIGFnb3N0byBkb3BvIGF2ZXIgbWFudGVudXRvIHN0YWJpbGkgaSB0YXNzaSBkaSBpbnRlcmVzc2UuIExhIHN0ZXJsaW5hLCBpbCBmcmFuY28gc3Zpenplcm8gZSBsJ2V1cm8gc29ubyB0dXR0aSBkaW1pbnVpdGksIG1lbnRyZSBpbCBkb2xsYXJvIHN0YXR1bml0ZW5zZSBzaSDDqCBnZW5lcmFsbWVudGUgcmFmZm9yemF0by4KCkEgY2F1c2EgZGVsIHJpdG1vIGFjY2VsZXJhdG8gZGVpIHRhZ2xpIGRlaSB0YXNzaSBkaSBpbnRlcmVzc2UgaW4gRXVyb3BhLCBpbCB0YXNzbyBkaSBjYW1iaW8gZXVybyAvIGRvbGxhcm8gVVNBIMOoIHNjZXNvIGRlbCAwLDQlIGEgJCAxLDA3MDU7IGlsIHRhc3NvIGRpIGNhbWJpbyBzdGVybGluYS1kb2xsYXJvIMOoIHJpbWFzdG8gaW52YXJpYXRvIGEgJDEsMjY1OCwgaWwgbGl2ZWxsbyBwacO5IGJhc3NvIGRlZ2xpIHVsdGltaSBjaW5xdWUgbWVzaS4gTG8geWVuIGdpYXBwb25lc2Ugw6ggc2Nlc28gZGVsbG8gMCwxJSBhIDE1OSwwMSwgaWwgbGl2ZWxsbyBwacO5IGJhc3NvIGRhbGwnaW50ZXJ2ZW50byBkZWxsZSBhdXRvcml0w6AgZ2lhcHBvbmVzaSBhbGxhIGZpbmUgZGkgYXByaWxlLgoKUGVyIHF1YW50byByaWd1YXJkYSBsZSBtYXRlcmllIHByaW1lLCBpIHByZXp6aSBkZWwgcGV0cm9saW8gaGFubm8gcmVnaXN0cmF0byB1biByaW1iYWx6byB2ZW5lcmTDrCBkb3BvIGF2ZXIgcmFnZ2l1bnRvIHVuIG1hc3NpbW8gZGkgc2V0dGUgc2V0dGltYW5lIGFsbCdpbml6aW8gZGkgcXVlc3RhIHNldHRpbWFuYS4gSSBmdXR1cmVzIGRlbCBwZXRyb2xpbyBCcmVudCBzb25vIHNjZXNpIGRlbGxvIDAsMSUgYSAkODUsNTkgYWwgYmFyaWxlLCBtZW50cmUgaSBmdXR1cmVzIGRlbCBwZXRyb2xpbyBzdGF0dW5pdGVuc2Ugc29ubyBzY2VzaSBkZWxsbyAwLDElIGEgJDgxLDE5IGFsIGJhcmlsZS4KCklsIHByZXp6byBkZWxsJ29ybyDDqCByaW1hc3RvIGludmFyaWF0byBhICQyLDM1OC44MyBwZXIgb25jaWEuCgo8ZGl2IGNsYXNzPSJibG9nLWRldGFpbHMtaW5mbyI+CjxkaXY+QXV0b3JlOjxzdHJvbmc+U2hlcnJ5IFMuICZhbXA7IEljaW5nPC9zdHJvbmc+LCBSaWNlcmNhdG9yZSBkaSBHYXRlLmlvCjxkaXY+VHJhZHV0dG9yZTogSm95IFouCjxkaXYgY2xhc3M9ImluZm8tdGlwcyI+KlF1ZXN0byBhcnRpY29sbyByYXBwcmVzZW50YSBzb2xvIGxlIG9waW5pb25pIGRlbCByaWNlcmNhdG9yZSBlIG5vbiBjb3N0aXR1aXNjZSBhbGN1biBzdWdnZXJpbWVudG8gZGkgaW52ZXN0aW1lbnRvLgo8ZGl2PipHYXRlLmlvIHNpIHJpc2VydmEgdHV0dGkgaSBkaXJpdHRpIHN1IHF1ZXN0byBhcnRpY29sby4gU2Fyw6AgY29uc2VudGl0byBpbCByaXBvc3RhZ2dpbyBkZWxsJiMzOTthcnRpY29sbyBhIGNvbmRpemlvbmUgY2hlIHZlbmdhIGZhdHRvIHJpZmVyaW1lbnRvIGEgR2F0ZS5pby4gSW4gdHV0dGkgaSBjYXNpLCB2ZXJyYW5ubyBpbnRyYXByZXNlIGF6aW9uaSBsZWdhbGkgYSBjYXVzYSBkZWxsYSB2aW9sYXppb25lIGRlbCBjb3B5cmlnaHQuCjwvZGl2PjxwPjwvcD4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+