ATTENTION: ENCRYPTION APPLIED CiAgIAoKCgogICAgU29tZSBiYXNpYyBvYnNlY3JpYW4gZHJvbmVzLgoKCk5hbWU6IENvcnJ1c3BoZXJpYyBUZWNobm9sb2d5CgoKRGVzY3JpcHRpb246IApXaGVuIGluIHNwaGVyaWNhbCBvciBmaXhlZC1zaGFwZSBmb3JtcywgY29ycnVzcGhlcmljIHRlY2hub2xvZ3kgYWxtb3N0IHVuaXZlcnNhbGx5IGxvb2tzIHNsZWVrLCBmZWF0dXJlbGVzcywgYW5kIGdpdmVzIHRoZSBpbXByZXNzaW9uIG9mIGdyZWF0IGFkdmFuY2VtZW50LiBXaGVuIGluIGl0cyBhbW9lYmEtbGlrZSBmb3JtLCB0aGUgcHNldWRvLW9yZ2FuaWMgbmF0dXJlIG9mIGl0IGJlY29tZXMgYXBwYXJlbnQuIENvcnJ1c3BoZXJpYyBkZXZpY2VzIG5hdHVyYWxseSB0ZW5kIHRvIHJhbmdlIGluIGNvbG9yIGZyb20gcHVycGxlIHRvIGJsdWUsIGJ1dCBjYW4gYmUgcHJvZ3JhbW1lZCB0byBnZW5lcmF0ZSBkaWZmZXJlbnQgY29sb3JhdGlvbnMuIFRoZXkgdmFyeSBpbiBhcHBlYXJhbmNlIGRlcGVuZGluZyBvbiB0aGVpciBwdXJwb3NlLCBidXQgY29ycnVzcGhlcmljIGRldmljZXMgdGVuZCB0byB0YWtlIG9uIGdlb21ldHJpYyBzaGFwZXMuCgpBYmlsaXRpZXM6CgogICAgICAgICBDb3JydXNwaGVyZXMgYXJlIGNhcGFibGUgb2YgZW11bGF0aW5nIG1vc3QgdGVjaG5vbG9neSwgZ2l2aW5nIG9ic2VjcmlhbnMgdGhlaXIgb3duIHR3aXN0IG9uIGNvbmNlcHRzIGRldmVsb3BlZCBieSBvdGhlciByYWNlcy4gSW4gdGhpcyB3YXksIGFsbCBub3JtYWwgY29ycnVzcGhlcmljIGRldmljZXMgYWJpZGUgYnkgZXN0YWJsaXNoZWQgdGVjaCBydWxlcy4gUGFydGljdWxhcmx5IHN0cmFuZ2Ugb25lcyB3aWxsIG5lZWQgYSBzZXBhcmF0ZSBhcHBsaWNhdGlvbiwgaWYgaXQncyB3YXJyYW50ZWQuCiAgICAgICAgIE1vc3QgY29ycnVzcGhlcmljIGRldmljZXMgYXJlIGNhcGFibGUgb2Ygc3dpdGNoaW5nIGJldHdlZW4gYSBzb2xpZCBmb3JtIGFuZCBhIHNsdWRneSwgbW9iaWxlIGFtb2ViYS1saWtlIGZvcm0gb24gYSB3aGltLiBBbiBleGFtcGxlIG9mIGhvdyB0aGlzIG1heSBiZSB1c2VkIGlzIHRoZSBhdmVyYWdlIGFybW9yIGNvcnJ1c3BoZXJlOiBhIG1hc3Mgb2YgY29ycnUgdGhhdCBlbnZlbG9wcyBhbiBvYnNlY3JpYW4ncyBmb3JtIGFuZCBwb3NpdGlvbnMgZm9ybWVybHkgZnJlZS1mbG9hdGluZyBhcm1vciBwbGF0ZXMgaW4gdml0YWwgYXJlYXMgdG8gZm9ybSBwcm90ZWN0aXZlIGJhcnJpZXJzLgogICAgICAgCgpDb25kaXRpb25hbCBBYmlsaXRpZXM6CgogICAgICAgICBDb3JydXNwaGVyZXMgYXJlIGNhcGFibGUgb2YgYWN0aW5nIHZpcnR1YWxseSBpZGVudGljYWwgdG8gb3JnYW5pYyBicmFpbnMsIGFsbG93aW5nIGZvciBhZHZhbmNlZCBBSSBhbmQgZXZlbiBjb21wbGV0ZSBtaW5kIHRyYW5zZmVycyBvZiBvYnNlY3JpYW5zLiBJbiB0aGUgY2FzZSBvZiBtaW5kIHRyYW5zZmVycywgdGhlIG9ic2VjcmlhbiBiZWNvbWVzIHRoZSBjb3JydSBhbmQgYWJpZGVzIGJ5IGl0cyBhcHBldGl0ZXMsIGFiaWxpdGllcywgYW5kIGxpbWl0YXRpb25zLiAoVGhlIFNwaXIgc3VidHlwZSBvZiBvYnNlY3JpYW4gaXMgb3V0bGluZWQgaW4gbW9yZSBkZXRhaWwgaW4gdGhlIG1haW4gZG9jdW1lbnQsIGJ1dCBpdCBpc24ndCBzdXBlciByZWxldmFudCB0byB0aGlzIGFwcGxpY2F0aW9uLikKICAgICAgICAgSXRzIHBzdWRlby1vcmdhbmljIG5hdHVyZSBhbGxvd3MgaXQgdG8gZHluYW1pY2FsbHkgYWRhcHQgaXRzZWxmIHRvIHdvcmsgd2l0aCBtb3N0IG90aGVyIHRlY2hub2xvZ2llcy4gRm9yIGV4YW1wbGUsIGFuIG9ic2VjcmlhbiBtYXkgaW5zdHJ1Y3QgYSBjb3JydSBtYXNzIHRvIGludGVncmF0ZSB3aXRoIGEgaHVtYW4gc2hpcCB0byBhbGxvdyB0aGVtIHVuaGluZGVyZWQgdXNlLiBUaGVyZSBtYXkgYmUgbWlub3IgaXNzdWVzIGFzIGl0IG9yaWVudHMgaXRzZWxmLCBidXQgZXZlbnR1YWxseSB0aGUgc2hpcCB3aWxsIGJlIGFzIGVhc3kgZm9yIHRoZSBvYnNlY3JpYW4gdG8gdXNlIGFzIG9uZSBvZiB0aGVpciBvd24gYXN0ZXJvaWQgc2hpcHMuIChPYnNlY3JpYW5zIHRlbmQgdG8gc3RydWdnbGUgd2l0aCBtb3N0IGFsaWVuIHRlY2hub2xvZ3kuKQogICAgICAgICBNb3N0IGNvcnJ1c3BoZXJpYyBkZXZpY2VzIGFyZSBub3QgYWZmZWN0ZWQgYnkgRU1QcyB1bmxlc3MgdGhleSB1dGlsaXplIGEgY29tcG9uZW50IHRoYXQgbWlnaHQgYmUgZGlzcnVwdGVkIGJ5IG9uZS4KCgpMaW1pdGF0aW9uczoKCiAgICAgICAgIFRoZSBpbm5lciBlY29zeXN0ZW0gb2YgYSBjb3JydSBzdXBlcm9yZ2FuaXNtIGlzIGZyYWdpbGU6IGEgc3Ryb25nIGluZmVjdGlvdXMgY29udGFtaW5hbnQgb3IgcGFydGljdWxhcmx5IGRpc3J1cHRpdmUgbmFuaXRlIG1heSB2aW9sZW50bHkgZGlzcnVwdCB0aGUgZnVuY3Rpb25zIG9mIGEgY29ycnVzcGhlcmljIGRldmljZS4gSWYgdGhlIGRldmljZSBpcyBub3Qgc3RlcmlsaXplZCB3aXRoaW4gYW4gaG91ciBvciB0d28sIGl0IGNhbiBlYXNpbHkgYmUgcGVybWFuZW50bHkgcnVpbmVkLCBhbG9uZyB3aXRoIGFueSBpbmZvcm1hdGlvbiB0aGUgZGV2aWNlIG1heSBoYXZlIGhlbGQuCiAgICAgICAgIExpa2UgZXZlcnl0aGluZyBlbHNlLCBpZiB5b3UgaGl0IGl0IGVub3VnaCwgaXQgc3RvcHMgd29ya2luZy4gQXMgY29ycnVzcGhlcmljIGRldmljZXMgYW5kIGFybW9yIHN1c3RhaW4gcGh5c2ljYWwgdHJhdW1hLCB0aGUgbWFzc2VzIHdpbGwgYmVnaW4gdG8gJ2ZvcmdldCcgdGhlaXIgcHVycG9zZS4gRGV2aWNlcyB0aGF0IGRvIG5vdCBhY2NvdW50IGZvciBwaHlzaWNhbCB0cmF1bWEgY2FuIGJlIHJlZHVjZWQgdG8gaW5lcnQgbWV0YWxsaWMgc2x1ZGdlIHdpdGggYSBzaW5nbGUgcG93ZXJmdWwgc3RyaWtlLiBBcm1vciBhbmQgb3RoZXIgY29tYmF0aXZlIGFwcGxpY2F0aW9ucyBmb3IgdGhlIGNvcnJ1IHRlbmQgdG8gaGF2ZSBhIGhpZ2hlciB0b2xlcmFuY2UsIGJ1dCB3aWxsIGV2ZW50dWFsbHkgc3VmZmVyIHRoZSBzYW1lIGZhdGUgaWYgc3ViamVjdGVkIHRvIGVub3VnaCBkYW1hZ2Ugd2l0aG91dCB0cmVhdG1lbnQtLSBhICdyZW1pbmRlcictLSBieSBhIEp1ZCBvciBTcGlyIG9ic2VjcmlhbiBzdWJ0eXBlLgogICAgICAKCkNvbmRpdGlvbmFsIExpbWl0YXRpb25zOgoKICAgICAgICAgQ29ycnVzcGhlcmljIHRlY2gsIHdoZW4gaW50ZWdyYXRlZCB3aXRoIGFsaWVuIGRldmljZXMsIHdpbGwgc3RpbGwgbmVlZCB0byBiZSBmZWQuIEFkZGl0aW9uYWxseSwgdGhlIGFsaWVuIHRlY2ggd2lsbCBzdGlsbCBuZWVkIHRvIGJlIHBvd2VyZWQgYnkgaXRzIHByb3BlciBwb3dlciBzb3VyY2UuIEluIHRoaXMgd2F5LCBpbnRlZ3JhdGVkIHRlY2hub2xvZ3kgaXMgYWN0dWFsbHkgbW9yZSBpbmVmZmljaWVudCB0aGFuIHVzaW5nIGp1c3Qgb25lIG9yIHRoZSBvdGhlci4KICAgICAgICAgSXQncyB1c3VhbGx5IG5vdCBwb3NzaWJsZSBmb3IgYW55b25lIGJ1dCBhbiBvYnNlY3JpYW4gdG8gaW50ZXJhY3Qgd2l0aCBjb3JydXNwaGVyaWMgdGVjaCwgc2luY2UgbW9zdCBhcmUgZGVzaWduZWQgd2l0aCBob3JuIGludGVyYWN0aW9uIGluIG1pbmQuIFNvbWUgZGV2aWNlcyBpbmNsdWRlIGFsaWVuLWZyaWVuZGx5IGludGVyZmFjZXMsIGJ1dCBpdCdzIG5vdCB0aGUgbm9ybS4KCiAgIApIb3cgZG9lcyBpdCB3b3JrOgogICAgIENvcnJ1IGFyZSBhIHNwZWNpZXMgb2YgdW51c3VhbCBzdXBlcm9yZ2FuaXNtcyBtYWRlIHVwIG9mIG1ldGFsbGljIG1pY3JvYmVzLiBCeSBtZW50YWxseSBjb25uZWN0aW5nIHRvIHRoZSBjb3JydSB0aHJvdWdoIGNvbnRhY3Qgd2l0aCB0aGVpciBob3Jucywgb2JzZWNyaWFucyBjYW4gcmVzdHJ1Y3R1cmUgbWFzc2VzIG9mIHRoaXMgb3JnYW5pc20gdG8gaW1pdGF0ZSBib3RoIG9ic2VjcmlhbiBhbmQgYWxpZW4tZGVzaWduZWQgdGVjaG5vbG9neS4gQ29tcGxldGUgY29udHJvbCBvdmVyIHRoZSBmb3JtIGFuZCBmdW5jdGlvbiBvZiB0aGUgb3JnYW5pc21zIHdpdGhpbiB0aGUgY29ycnUgaXMgYSBwb3dlcmZ1bCBhbmQgb3ZlcndoZWxtaW5nIHRoaW5nLCBnZW5lcmFsbHkgbGVhdmluZyB0aGUgdGFzayBvZiBlbmdpbmVlcmluZyB0byBhIGNlcnRhaW4gc3ViY2xhc3Mgb2Ygb2JzZWNyaWFuLgogICAgIE5hdHVyYWxseSB0YWtpbmcgdGhlIHNoYXBlIG9mIG1hc3NpdmUgYmxhY2stcHVycGxlIGFtb2ViYS1saWtlIGNyZWF0dXJlcywgYWxsIG9ic2VjcmlhbnMgc2hhcmUgYSBzb3J0IG9mIHN5bWJpb3RpYyBjb25uZWN0aW9uIHRvIHRoZSBjb3JydSwgYmVpbmcgY2FwYWJsZSBvZiBpbnRlcmFjdGluZyB3aXRoIHRoZW0gZGlyZWN0bHkgdmlhIGNvbnRhY3Qgd2l0aCB0aGVpciBob3Jucy4gV2hpbGUgdGhlIGNvcnJ1IGFyZSBub3QgaW5oZXJlbnRseSBzZW50aWVudCwgdGhlIGhvcm4gb2YgYW4gb2JzZWNyaWFuIGlzIGNhcGFibGUgb2YgcGlwaW5nIHRocm91Z2ggbmV1cmFsIGltcHVsc2VzIG9mIHRob3VnaHQgYW5kIGtub3dsZWRnZSB0byB0aGUgY29ycnUsIGFsbG93aW5nIGl0IHRvIGJlIG1vbGRlZCBpbnRvIHdoYXRldmVyIHNoYXBlIG1heSBiZSBkZXNpcmVkIGFuZCBnaXZlbiBhIHB1cnBvc2UgdG8gZXhlY3V0ZS4gSW4gdGhpcyB3YXksIHRoZSBjb3JydSBhY3QgbGlrZSBhIG1hbGxlYWJsZSBjb21wdXRlciBvciBicmFpbi4KICAgICBDb3JydSBhcmUgY3VsdHVyZWQgdGhyb3VnaCB0aGUgcHJvY2Vzc2luZyBvZiB2YXJpb3VzIGNvbmR1Y3RpdmUgbWV0YWxzLCBzdWNoIGFzIHNpbHZlciwgZ29sZCwgY29wcGVyIGFuZCBzbyBvbi4gVGhlIGV4YWN0IHByb2Nlc3MgdXNlZCBpcyBjbG9zZWx5IGhlbGQsIGJ1dCB0aGUgY29uc3VtZWQgbWV0YWwgaXMgcmVuZGVyZWQgdW51c2FibGUgZm9yIGEgc2Vjb25kIHJ1biBvZiB0aGUgcHJvY2VzcywgcmVxdWlyaW5nIG9ic2VjcmlhbnMgdG8ga2VlcCB1cCBhIGNvbnN0YW50IHN1cHBseSBpbiBvcmRlciB0byBtZWV0IHRoZSBkZW1hbmQgZm9yIGNvcnJ1c3BoZXJpYyB0ZWNobm9sb2d5LiBDb3JydSBmZWVkIG9mZiBvZiB0aGUgc2FtZSByZXN1bHRpbmcgc3Vic3RhbmNlLCBvZnRlbiByZWZlcnJlZCB0byBhcyBjb3JydXNwaGVyLCBmb3Igc3VzdGVuYW5jZS4gVGhlIHdhc3RlIHByb2R1Y2VkIGJ5IHRoaXMgcHJvY2Vzcy0tIGN1bHR1cmluZyBhbmQgZmVlZGluZyBib3RoLS0gaXMgc2ltaWxhciB0byB0aGUgb3JpZ2luYWwgbWV0YWwgdXNlZCwgYnV0IHRlbmRzIHRvIGJlIHJlbmRlcmVkIGltcHVyZSBhbmQgcmVxdWlyZXMgZXh0ZW5zaXZlIHJlY29uc3RpdHV0aW9uIGlmIGl0IGlzIGdvaW5nIHRvIGJlIHVzZWQgZm9yIHNvbWV0aGluZyBlbHNlLgoKQXR0YWluYWJpbGl0eToKU2VtaS1jbG9zZWQuIEl0J3Mgb2JzZWNyaWFuIHRlY2gsIGFuZCB3aGlsZSBpdCdzIG5vdCB0aGF0IGhhcmQgdG8gZ2V0IGEgaG9sZCBvZiwgaXQncyByYXJlbHkgbWFkZSB3aXRoIGFsaWVuIHVzZSBpbiBtaW5kLgoKVGFnczogW1JhY2lhbF0gW0NpdmlsaWFuXQoKQ2F0ZWdvcnk6IE90aGVyCgogICAgQWxsIGluIGFsbCwgdGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhbiBvYnNlY3JpYW4gcGFyYWxsZWwgdG8gdGVjaG5vbG9neS4gSXQgbWlnaHQgYmUgbW9zdGx5IGZsYXZvciwgYnV0IGl0IHN0aWxsIGhhcyBzb21lIGFjdHVhbCBzdHJlbmd0aHMgYW5kIHdlYWtuZXNzZXMsIGhvd2V2ZXIgbWlub3IsIHRoYXQgd2FycmFudCBhbiBhcHBsaWNhdGlvbi4K