Hospital LED Lighting Procurement Guide: Surgical, Patient Room & Corridor Solutions from China
PHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KWwogIHsKICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICAgIkB0eXBlIjogIkFydGljbGUiLAogICAgImhlYWRsaW5lIjogIkhvc3BpdGFsIExFRCBMaWdodGluZyBQcm9jdXJlbWVudCBHdWlkZTogU3VyZ2ljYWwsIFBhdGllbnQgUm9vbSAmIENvcnJpZG9yIFNvbHV0aW9ucyBmcm9tIENoaW5hIiwKICAgICJhdXRob3IiOiB7CiAgICAgICJAdHlwZSI6ICJQZXJzb24iLAogICAgICAibmFtZSI6ICJTaW1vbiBDaGVuIgogICAgfSwKICAgICJwdWJsaXNoZXIiOiB7CiAgICAgICJAdHlwZSI6ICJPcmdhbml6YXRpb24iLAogICAgICAibmFtZSI6ICJLaW5nc2VuZyIsCiAgICAgICJsb2dvIjogewogICAgICAgICJAdHlwZSI6ICJJbWFnZU9iamVjdCIsCiAgICAgICAgInVybCI6ICJodHRwczovL2tzaW1wZXhwLmNvbS93cC1jb250ZW50L3VwbG9hZHMvbG9nby5wbmciCiAgICAgIH0KICAgIH0sCiAgICAiZGF0ZVB1Ymxpc2hlZCI6ICIyMDI2LTA2LTI4IiwKICAgICJkYXRlTW9kaWZpZWQiOiAiMjAyNi0wNi0yOCIKICB9LAogIHsKICAgICJAY29udGV4dCI6ICJodHRwczovL3NjaGVtYS5vcmciLAogICAgIkB0eXBlIjogIkZBUVBhZ2UiLAogICAgIm1haW5FbnRpdHkiOiBbCiAgICAgIHsKICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICJuYW1lIjogIldoYXQgSVAgcmF0aW5nIGlzIHJlcXVpcmVkIGZvciBzdXJnaWNhbCBzdWl0ZSBMRUQgbGlnaHRpbmcsIGFuZCBob3cgZG9lcyB0aGlzIGFmZmVjdCBwcm9jdXJlbWVudCBzcGVjaWZpY2F0aW9ucz8iLAogICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgInRleHQiOiAiU3VyZ2ljYWwgc3VpdGVzIHJlcXVpcmUgYSBtaW5pbXVtIG9mIElQNjUgZm9yIHRoZSBsdW1pbmFpcmUgaG91c2luZyDigJQgbWVhbmluZyB0aGUgZml4dHVyZSBpcyBkdXN0LXRpZ2h0ICg2KSBhbmQgcHJvdGVjdGVkIGFnYWluc3QgbG93LXByZXNzdXJlIHdhdGVyIGpldHMgZnJvbSBhbnkgZGlyZWN0aW9uICg1KS4gVGhpcyBpcyBub24tbmVnb3RpYWJsZSBmb3IgaW5mZWN0aW9uIGNvbnRyb2w6IElQNjUtcmF0ZWQgZml4dHVyZXMgY2FuIHdpdGhzdGFuZCBhZ2dyZXNzaXZlIGNsZWFuaW5nIHByb3RvY29scyBpbmNsdWRpbmcgaHlkcm9nZW4gcGVyb3hpZGUgdmFwb3Igc3RlcmlsaXphdGlvbiBhbmQgcHJlc3N1cmUgd2FzaGluZyBiZXR3ZWVuIHByb2NlZHVyZXMuIFRoZSBkaWZmdXNlciBvciBsZW5zIG11c3QgYmUgc2VhbGVkIHdpdGggYSBtZWRpY2FsLWdyYWRlIHNpbGljb25lIGdhc2tldCByYXRlZCBmb3IgcmVwZWF0ZWQgY2hlbWljYWwgZXhwb3N1cmUuIEluIHByb2N1cmVtZW50IGRvY3VtZW50cywgc3BlY2lmeSBJUDY1IGZvciB0aGUgY29tcGxldGUgbHVtaW5haXJlIGFzc2VtYmx5IChub3QganVzdCB0aGUgTEVEIG1vZHVsZSkgYW5kIHJlcXVpcmUgYW4gSVAgdGVzdCBjZXJ0aWZpY2F0ZSBmcm9tIGFuIGFjY3JlZGl0ZWQgbGFib3JhdG9yeS4gRm9yIG9wZXJhdGluZyB0aGVhdGVycyB3aXRoIGxhbWluYXIgYWlyZmxvdyBzeXN0ZW1zLCB0aGUgbHVtaW5haXJlIHByb2ZpbGUgbXVzdCBhbHNvIGJlIGZsdXNoLW1vdW50ZWQgb3IgcmVjZXNzZWQgdG8gYXZvaWQgZGlzcnVwdGluZyB0aGUgc3RlcmlsZSBhaXJmbG93IGZpZWxkIOKAlCBhIHJlcXVpcmVtZW50IHRoYXQgaW50ZXJhY3RzIGRpcmVjdGx5IHdpdGggdGhlIElQIHJhdGluZyBzcGVjaWZpY2F0aW9uLiIKICAgICAgICB9CiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICJuYW1lIjogIldoYXQgaXMgY2lyY2FkaWFuL2h1bWFuLWNlbnRyaWMgbGlnaHRpbmcgYW5kIHdoeSBpcyBpdCBpbXBvcnRhbnQgZm9yIGhvc3BpdGFsIHBhdGllbnQgcm9vbXM/IiwKICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICJ0ZXh0IjogIkNpcmNhZGlhbiBsaWdodGluZyDigJQgYWxzbyBjYWxsZWQgaHVtYW4tY2VudHJpYyBsaWdodGluZyAoSENMKSDigJQgdXNlcyB0dW5hYmxlLXdoaXRlIExFRCB0ZWNobm9sb2d5IHRvIHNoaWZ0IGNvbG9yIHRlbXBlcmF0dXJlIGFuZCBpbnRlbnNpdHkgdGhyb3VnaG91dCB0aGUgZGF5IHRvIGFsaWduIHdpdGggdGhlIGh1bWFuIGJvZHkncyBuYXR1cmFsIGNpcmNhZGlhbiByaHl0aG0uIEluIGhvc3BpdGFsIHBhdGllbnQgcm9vbXMsIHRoaXMgbWVhbnM6IGNvb2wgd2hpdGUgbGlnaHQgKDUsMDAwS+KAkzYsNTAwSywgaGlnaCBpbnRlbnNpdHkpIGluIHRoZSBtb3JuaW5nIHRvIHByb21vdGUgYWxlcnRuZXNzIGFuZCByZWd1bGF0ZSBjb3J0aXNvbDsgbmV1dHJhbCB3aGl0ZSAoMyw1MDBL4oCTNCwwMDBLKSBhdCBtaWRkYXk7IGFuZCB3YXJtIHdoaXRlICgyLDIwMEvigJMzLDAwMEssIGxvdyBpbnRlbnNpdHksIHJlZHVjZWQgYmx1ZSBzcGVjdHJ1bSkgaW4gdGhlIGV2ZW5pbmcgdG8gc3VwcG9ydCBuYXR1cmFsIG1lbGF0b25pbiBwcm9kdWN0aW9uIGFuZCBzbGVlcC4gQ2xpbmljYWwgc3R1ZGllcyBkZW1vbnN0cmF0ZSB0aGF0IGNpcmNhZGlhbiBsaWdodGluZyBpbiBwYXRpZW50IHJvb21zIHJlZHVjZXMgbGVuZ3RoIG9mIHN0YXkgYnkgMTDigJMxNSUsIGRlY3JlYXNlcyBwb3N0LW9wZXJhdGl2ZSBkZWxpcml1bSBpbiBlbGRlcmx5IHBhdGllbnRzLCBhbmQgaW1wcm92ZXMgcGF0aWVudCBzYXRpc2ZhY3Rpb24gc2NvcmVzLiBGb3IgcHJvY3VyZW1lbnQsIHNwZWNpZnkgdHVuYWJsZS13aGl0ZSBMRUQgbHVtaW5haXJlcyB3aXRoIGEgQ0NUIHJhbmdlIG9mIDIsMjAwS+KAkzYsNTAwSywgYSBtaW5pbXVtIG9mIHRocmVlIGluZGVwZW5kZW50bHkgYWRkcmVzc2FibGUgY29udHJvbCBjaGFubmVscywgYW5kIGNvbXBhdGliaWxpdHkgd2l0aCBCQUNuZXQgb3IgREFMSS0yIGJ1aWxkaW5nIG1hbmFnZW1lbnQgcHJvdG9jb2xzIGZvciBhdXRvbWF0ZWQgc2NoZWR1bGluZy4iCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAibmFtZSI6ICJEbyBob3NwaXRhbCBMRUQgbHVtaW5haXJlcyBuZWVkIElFQyA2MDYwMSBjZXJ0aWZpY2F0aW9uLCBhbmQgd2hhdCBkb2VzIHRoaXMgc3RhbmRhcmQgY292ZXI/IiwKICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICJ0ZXh0IjogIklFQyA2MDYwMS0xIChhbmQgaXRzIGNvbGxhdGVyYWwgc3RhbmRhcmQgSUVDIDYwNjAxLTEtMiBmb3IgZWxlY3Ryb21hZ25ldGljIGNvbXBhdGliaWxpdHkpIGFwcGxpZXMgdG8gbWVkaWNhbCBlbGVjdHJpY2FsIGVxdWlwbWVudCB0aGF0IGNvbWVzIGludG8gZGlyZWN0IHBhdGllbnQgY29udGFjdCBvciBpcyB1c2VkIGluIHRoZSBwYXRpZW50IHZpY2luaXR5LiBGb3IgTEVEIGxpZ2h0aW5nIHNwZWNpZmljYWxseTogbHVtaW5haXJlcyBtb3VudGVkIHdpdGhpbiB0aGUgJ3BhdGllbnQgZW52aXJvbm1lbnQnIOKAlCBkZWZpbmVkIGFzIDEuNSBtZXRlcnMgKDQuOSBmdCkgZnJvbSB0aGUgcGF0aWVudCBpbiBhbnkgZGlyZWN0aW9uIOKAlCBtdXN0IGNvbXBseSB3aXRoIElFQyA2MDYwMS0xLTIgRU1DIHJlcXVpcmVtZW50cyB0byBlbnN1cmUgdGhleSBkbyBub3QgaW50ZXJmZXJlIHdpdGggbGlmZS1zdXBwb3J0IGVxdWlwbWVudCwgbW9uaXRvcmluZyBkZXZpY2VzLCBvciBpbXBsYW50ZWQgZGV2aWNlcyBsaWtlIHBhY2VtYWtlcnMuIFN1cmdpY2FsIGxpZ2h0cywgZXhhbWluYXRpb24gbGlnaHRzLCBhbmQgcGF0aWVudCByb29tIGJlZGhlYWQgbGlnaHRzIGZhbGwgdW5kZXIgdGhpcyBzY29wZS4gR2VuZXJhbCBjb3JyaWRvciBsaWdodGluZywgd2FpdGluZyByb29tIGZpeHR1cmVzLCBhbmQgZXh0ZXJpb3IgbHVtaW5haXJlcyBkbyBub3QuIEluIHlvdXIgUkZRLCBjbGVhcmx5IGRlc2lnbmF0ZSB3aGljaCBsdW1pbmFpcmVzIGFyZSAncGF0aWVudCB2aWNpbml0eScgKHJlcXVpcmluZyBJRUMgNjA2MDEtMS0yIGNvbXBsaWFuY2UpIGFuZCB3aGljaCBhcmUgJ2dlbmVyYWwgZmFjaWxpdHknIChzdGFuZGFyZCBjb21tZXJjaWFsIGdyYWRlKS4gUmVxdWlyZSB0aGUgc3VwcGxpZXIgdG8gcHJvdmlkZSBhIERlY2xhcmF0aW9uIG9mIENvbmZvcm1pdHkgZnJvbSBhIHJlY29nbml6ZWQgdGVzdCBsYWJvcmF0b3J5IOKAlCBUw5xWLCBVTCwgSW50ZXJ0ZWssIG9yIFNHUyDigJQgbm90IGEgc2VsZi1kZWNsYXJhdGlvbi4iCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAibmFtZSI6ICJXaGF0IENSSSAoQ29sb3IgUmVuZGVyaW5nIEluZGV4KSBpcyByZXF1aXJlZCBmb3IgZGlmZmVyZW50IGhvc3BpdGFsIHpvbmVzIHdoZW4gcHJvY3VyaW5nIExFRCBsaWdodGluZz8iLAogICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgInRleHQiOiAiQ1JJIHJlcXVpcmVtZW50cyB2YXJ5IGRyYW1hdGljYWxseSBieSBob3NwaXRhbCB6b25lIOKAlCBhIHNpbmdsZSBDUkkgc3BlY2lmaWNhdGlvbiBmb3IgYW4gZW50aXJlIGZhY2lsaXR5IGlzIGEgY29tbW9uIHByb2N1cmVtZW50IGVycm9yLiBTdXJnaWNhbCBzdWl0ZXMgZGVtYW5kIENSSSA5NSsgKFI5ID4gOTApIGZvciBhY2N1cmF0ZSB0aXNzdWUgZGlmZmVyZW50aWF0aW9uIOKAlCBzdXJnZW9ucyByZWx5IG9uIHN1YnRsZSBjb2xvciB2YXJpYXRpb25zIHRvIGRpc3Rpbmd1aXNoIGhlYWx0aHkgZnJvbSBuZWNyb3RpYyB0aXNzdWUuIEV4YW1pbmF0aW9uIHJvb21zIHJlcXVpcmUgQ1JJIDkwKyAoUjkgPiA1MCkgZm9yIGFjY3VyYXRlIHNraW4gdG9uZSBldmFsdWF0aW9uIGFuZCBkZXJtYXRvbG9naWNhbCBhc3Nlc3NtZW50LiBQYXRpZW50IHJvb21zIG5lZWQgQ1JJIDg1KyBmb3IgZ2VuZXJhbCBjb21mb3J0LiBDb3JyaWRvcnMsIHdhaXRpbmcgYXJlYXMsIGFuZCBhZG1pbmlzdHJhdGl2ZSBzcGFjZXMgY2FuIHVzZSBDUkkgODArIGFzIHN0YW5kYXJkIGNvbW1lcmNpYWwgZ3JhZGUuIFRoZSBjcml0aWNhbCBkZXRhaWwgZm9yIHByb2N1cmVtZW50IGlzIHRoZSBSOSB2YWx1ZSAoZGVlcCByZWQgcmVuZGVyaW5nKSDigJQgbWFueSBMRUQgZGF0YXNoZWV0cyByZXBvcnQgQ1JJIFJhIG9mIDkwKyBidXQgUjkgYmVsb3cgMjAsIHdoaWNoIGlzIGluYWRlcXVhdGUgZm9yIG1lZGljYWwgZW52aXJvbm1lbnRzLiBBbHdheXMgc3BlY2lmeSBtaW5pbXVtIFI5IHZhbHVlcyBhbG9uZ3NpZGUgQ1JJIFJhIGluIHlvdXIgdGVjaG5pY2FsIHNwZWNpZmljYXRpb246IE9wZXJhdGluZyBUaGVhdGVyOiBSYSDiiaUgOTUsIFI5IOKJpSA5MDsgRXhhbWluYXRpb246IFJhIOKJpSA5MCwgUjkg4omlIDUwOyBQYXRpZW50IFJvb206IFJhIOKJpSA4NSwgUjkg4omlIDIwOyBDb3JyaWRvci9HZW5lcmFsOiBSYSDiiaUgODAsIFI5IOKJpSAwLiIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cl0KPC9zY3JpcHQ+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5QdWJsaXNoZWQ6PC9zdHJvbmc+IEp1bmUgMjgsIDIwMjYgfCA8c3Ryb25nPkF1dGhvcjo8L3N0cm9uZz4gU2ltb24gQ2hlbiwgU2VuaW9yIExFRCBTdXBwbHkgQ2hhaW4gRXhwZXJ0IHwgPHN0cm9uZz5DYXRlZ29yeTo8L3N0cm9uZz4gQ29tbWVyY2lhbCBMaWdodGluZywgQnV5aW5nIEd1aWRlPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5RdWljayBBbnN3ZXI8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+SG9zcGl0YWwgYW5kIGhlYWx0aGNhcmUgTEVEIGxpZ2h0aW5nIHByb2N1cmVtZW50IHJlcXVpcmVzIG5hdmlnYXRpbmcgYSB1bmlxdWUgaW50ZXJzZWN0aW9uIG9mIHRlY2huaWNhbCBzdGFuZGFyZHMg4oCUIElFQyA2MDYwMSBmb3IgcGF0aWVudC1zYWZldHkgY29tcGxpYW5jZSwgSVA2NSBpbmdyZXNzIHByb3RlY3Rpb24gZm9yIHN1cmdpY2FsIGVudmlyb25tZW50cywgQ1JJIDk1KyBjb2xvciByZW5kZXJpbmcgZm9yIGFjY3VyYXRlIGNsaW5pY2FsIGFzc2Vzc21lbnQsIGFuZCBjaXJjYWRpYW4tdHVuZWQgc3BlY3RyYWwgY29udHJvbCBmb3IgcGF0aWVudCByZWNvdmVyeSBvdXRjb21lcy48L3N0cm9uZz4gQSBzaW5nbGUgbWVkaWNhbCBmYWNpbGl0eSB0eXBpY2FsbHkgc3BhbnMgc2V2ZW4gb3IgbW9yZSBkaXN0aW5jdCBsaWdodGluZyB6b25lcywgZWFjaCB3aXRoIGRpZmZlcmVudCBDUkksIElQIHJhdGluZywgY29sb3IgdGVtcGVyYXR1cmUsIGFuZCByZWd1bGF0b3J5IHJlcXVpcmVtZW50cy4gVGhlIHByb2N1cmVtZW50IGNoYWxsZW5nZSBpcyBub3Qgc291cmNpbmcgaW5kaXZpZHVhbCBsdW1pbmFpcmVzIOKAlCBpdCBpcyBzcGVjaWZ5aW5nIGEgdW5pZmllZCBsaWdodGluZyBwbGFuIHRoYXQgc2F0aXNmaWVzIGNsaW5pY2FsIHdvcmtmbG93LCBpbmZlY3Rpb24gY29udHJvbCBwcm90b2NvbHMsIGVuZXJneSBlZmZpY2llbmN5IHRhcmdldHMsIGFuZCBpbnRlcm5hdGlvbmFsIHJlZ3VsYXRvcnkgY29tcGxpYW5jZSBmcm9tIGEgc2luZ2xlIHN1cHBsaWVyIGVjb3N5c3RlbS4gVGhpcyBndWlkZSBwcm92aWRlcyBCMkIgYnV5ZXJzIHdpdGggdGhlIHRlY2huaWNhbCBzcGVjaWZpY2F0aW9ucywgcmVndWxhdG9yeSBmcmFtZXdvcmtzLCBhbmQgcHJvY3VyZW1lbnQgc3RyYXRlZ2llcyBuZWVkZWQgdG8gc291cmNlIGhvc3BpdGFsLWdyYWRlIExFRCBsaWdodGluZyBmcm9tIENoaW5lc2UgbWFudWZhY3R1cmVycy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjoyfSAtLT4KPGgyPkhlYWx0aGNhcmUgTGlnaHRpbmcgWm9uZXM6IFJlcXVpcmVtZW50cyBNYXRyaXg8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkhvc3BpdGFsIGVudmlyb25tZW50cyBhcmUgbm90IG1vbm9saXRoaWMg4oCUIGVhY2ggem9uZSBzZXJ2ZXMgYSBkaXN0aW5jdCBjbGluaWNhbCBmdW5jdGlvbiB3aXRoIHNwZWNpZmljIGxpZ2h0aW5nIHBlcmZvcm1hbmNlIHJlcXVpcmVtZW50cy4gVGhlIHRhYmxlIGJlbG93IG1hcHMgdGhlIHNldmVuIHByaW1hcnkgaGVhbHRoY2FyZSB6b25lcyB0byB0aGVpciBwcm9jdXJlbWVudC1jcml0aWNhbCBzcGVjaWZpY2F0aW9ucy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6dGFibGUgLS0+CjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLXRhYmxlIj48dGFibGU+PHRoZWFkPjx0cj48dGg+SGVhbHRoY2FyZSBab25lPC90aD48dGg+Q1JJIChSYSAvIFI5KTwvdGg+PHRoPklQIFJhdGluZzwvdGg+PHRoPkNDVCBSYW5nZTwvdGg+PHRoPklsbHVtaW5hbmNlIChsdXgpPC90aD48dGg+S2V5IFN0YW5kYXJkczwvdGg+PHRoPlNwZWNpYWwgUmVxdWlyZW1lbnRzPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0cj48dGQ+U3VyZ2ljYWwgU3VpdGUgLyBPcGVyYXRpbmcgVGhlYXRlcjwvdGQ+PHRkPlJhIOKJpSA5NSAvIFI5IOKJpSA5MDwvdGQ+PHRkPklQNjUgKGx1bWluYWlyZSksIElQNjcgKHN1cmdpY2FsIGxpZ2h0IGhlYWQpPC90ZD48dGQ+NCwwMDBL4oCTNSwwMDBLIChmaXhlZCk8L3RkPjx0ZD40MCwwMDDigJMxNjAsMDAwIChzdXJnaWNhbCBmaWVsZCksIDEsMDAw4oCTMiwwMDAgKGFtYmllbnQpPC90ZD48dGQ+SUVDIDYwNjAxLTEsIElFQyA2MDYwMS0xLTIsIEVOIDEyNDY0LTE8L3RkPjx0ZD5TaGFkb3ctZnJlZSBkZXNpZ24sIGxhbWluYXIgYWlyZmxvdyBjb21wYXRpYmxlLCBzdGVyaWxpemFibGUgc3VyZmFjZXMsIGVtZXJnZW5jeSBVUFMgYmFja3VwLCBmbGlja2VyIDwgMC4xJSBhdCBzdXJnaWNhbCBmaWVsZDwvdGQ+PC90cj48dHI+PHRkPlBhdGllbnQgUm9vbSAoR2VuZXJhbCBXYXJkKTwvdGQ+PHRkPlJhIOKJpSA4NSAvIFI5IOKJpSAyMDwvdGQ+PHRkPklQMjAgKGNlaWxpbmcpLCBJUDQ0ICh3ZXQgYXJlYXMpPC90ZD48dGQ+MiwyMDBL4oCTNiw1MDBLICh0dW5hYmxlIHdoaXRlKTwvdGQ+PHRkPjEwMOKAkzMwMCAoZ2VuZXJhbCksIDMwMOKAkzEsMDAwIChyZWFkaW5nL2V4YW0pPC90ZD48dGQ+SUVDIDYwNTk4LCBFTiAxMjQ2NC0xLCBXRUxMIHYyIEwwMzwvdGQ+PHRkPlR1bmFibGUtd2hpdGUgY2lyY2FkaWFuIHNjaGVkdWxlLCBwYXRpZW50LWNvbnRyb2xsZWQgZGltbWluZywgbmlnaHQtbGlnaHQgbW9kZSAoIDwgMSBsdXggYW1iZXIpLCBnbGFyZSBjb250cm9sIFVHUiA8IDE5PC90ZD48L3RyPjx0cj48dGQ+Q29ycmlkb3IgLyBDaXJjdWxhdGlvbjwvdGQ+PHRkPlJhIOKJpSA4MCAvIFI5IOKJpSAwPC90ZD48dGQ+SVA0MCAoZ2VuZXJhbCksIElQNjUgKHN0ZXJpbGUgY29ycmlkb3JzKTwvdGQ+PHRkPjMsMDAwS+KAkzQsMDAwSzwvdGQ+PHRkPjEwMOKAkzIwMCAoZGF5KSwgNTDigJMxMDAgKG5pZ2h0KTwvdGQ+PHRkPklFQyA2MDU5OCwgTkZQQSAxMDEsIEVOIDE4Mzg8L3RkPjx0ZD5Db250aW51b3VzLXJvdyBsaW5lYXIgZm9yIHVuaWZvcm1pdHksIGludGVncmF0ZWQgZW1lcmdlbmN5IGJhdHRlcnkgKDMtaG91ciBtaW4pLCBiaS1sZXZlbCBuaWdodCBkaW1taW5nLCBubyBzdHJvYm9zY29waWMgZWZmZWN0IGF0IHdhbGtpbmcgc3BlZWQ8L3RkPjwvdHI+PHRyPjx0ZD5XYWl0aW5nIEFyZWEgLyBSZWNlcHRpb248L3RkPjx0ZD5SYSDiiaUgODUgLyBSOSDiiaUgMjA8L3RkPjx0ZD5JUDIwPC90ZD48dGQ+Miw3MDBL4oCTNCwwMDBLICh3YXJtLWRpbSk8L3RkPjx0ZD4yMDDigJMzMDA8L3RkPjx0ZD5JRUMgNjA1OTgsIEVOIDEyNDY0LTE8L3RkPjx0ZD5JbmRpcmVjdC9kaXJlY3QgbWl4IGZvciB2aXN1YWwgY29tZm9ydCwgY2lyY2FkaWFuLWFkYXB0aXZlIHdhcm0tZGltLCBhY291c3RpYy1pbnRlZ3JhdGVkIHBhbmVscyB3aGVyZSBhcHBsaWNhYmxlLCBVR1IgPCAyMjwvdGQ+PC90cj48dHI+PHRkPk51cnNlIFN0YXRpb248L3RkPjx0ZD5SYSDiiaUgOTAgLyBSOSDiiaUgNTA8L3RkPjx0ZD5JUDIwPC90ZD48dGQ+NCwwMDBL4oCTNSwwMDBLPC90ZD48dGQ+NTAw4oCTNzUwICh0YXNrKSwgMzAwIChhbWJpZW50KTwvdGQ+PHRkPklFQyA2MDU5OCwgRU4gMTI0NjQtMTwvdGQ+PHRkPkhpZ2gtdW5pZm9ybWl0eSB0YXNrIGxpZ2h0aW5nIGZvciBtZWRpY2F0aW9uIHByZXBhcmF0aW9uLCBsb3ctZ2xhcmUgY29tcHV0ZXIgd29ya3N0YXRpb24gbGlnaHRpbmcsIDI0LzcgY2lyY2FkaWFuLXN0YWJsZSBjb2xvciB0ZW1wZXJhdHVyZTwvdGQ+PC90cj48dHI+PHRkPkNsaW5pY2FsIExhYm9yYXRvcnk8L3RkPjx0ZD5SYSDiiaUgOTAgLyBSOSDiiaUgNTA8L3RkPjx0ZD5JUDQwIChkcnkgYmVuY2gpLCBJUDY1ICh3ZXQgbGFiKTwvdGQ+PHRkPjQsMDAwS+KAkzUsMDAwSzwvdGQ+PHRkPjUwMOKAkzEsMDAwIChnZW5lcmFsKSwgMSwwMDDigJMyLDAwMCAoc3BlY2ltZW4gaGFuZGxpbmcpPC90ZD48dGQ+SVNPIDE1MTg5LCBJRUMgNjA1OTg8L3RkPjx0ZD5GbGlja2VyLWZyZWUgZm9yIG1pY3Jvc2NvcHkgYW5kIGF1dG9tYXRlZCBhbmFseXplcnMsIGNvbG9yLXN0YWJsZSBhY3Jvc3MgZGltbWluZyByYW5nZSwgYW50aW1pY3JvYmlhbCBwb3dkZXIgY29hdGluZyBvcHRpb25hbDwvdGQ+PC90cj48dHI+PHRkPk1lZGljYWwgSW1hZ2luZyAoTVJJIC8gQ1QgLyBYLVJheSk8L3RkPjx0ZD5SYSDiiaUgODAgLyBSOSDiiaUgMDwvdGQ+PHRkPklQNDQgKGdlbmVyYWwpLCBJUDY1IChjb250cmFzdCBpbmplY3Rpb24gYXJlYXMpPC90ZD48dGQ+MywwMDBL4oCTNCwwMDBLIChkaW1tYWJsZSk8L3RkPjx0ZD4w4oCTMzAwIChmdWxseSBkaW1tYWJsZSB0byB6ZXJvKTwvdGQ+PHRkPklFQyA2MDYwMS0xLTIgKEVNQyksIEFDUiBndWlkZWxpbmVzPC90ZD48dGQ+Tm9uLWZlcnJvdXMgY29uc3RydWN0aW9uIGZvciBNUkkgc3VpdGVzIChhbHVtaW51bSBob3VzaW5nLCBubyBzdGVlbCksIFJGLXNoaWVsZGVkIGRyaXZlciBlbmNsb3N1cmVzLCBjb250aW51b3VzIDDigJMxMDAlIGRpbW1pbmcsIG5vIGVsZWN0cm9tYWduZXRpYyBpbnRlcmZlcmVuY2Ugd2l0aCBpbWFnaW5nIGVxdWlwbWVudDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9maWd1cmU+CjwhLS0gL3dwOnRhYmxlIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxlbT5Ob3RlOiBJbGx1bWluYW5jZSB2YWx1ZXMgcmVmZXJlbmNlIGhvcml6b250YWwgd29yayBwbGFuZSBtZWFzdXJlbWVudHMuIFN1cmdpY2FsIGZpZWxkIGlsbHVtaW5hbmNlIGlzIG1lYXN1cmVkIGF0IHRoZSBzdXJnaWNhbCBzaXRlLCBub3QgYW1iaWVudCByb29tIGxldmVsLiBBbHdheXMgY29uZmlybSB0aGUgc3BlY2lmaWMgcmVndWxhdG9yeSByZXF1aXJlbWVudHMgb2YgdGhlIGRlc3RpbmF0aW9uIGNvdW50cnkg4oCUIEVVIChFTiAxMjQ2NC0xKSwgVVMgKEFOU0kvSUVTIFJQLTI5KSwgYW5kIEdDQyAobG9jYWwgaGVhbHRoIGF1dGhvcml0eSBzdGFuZGFyZHMpIG1heSBkaWZmZXIgaW4gZGV0YWlsLjwvZW0+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5JRUMgNjA2MDEgQ29tcGxpYW5jZTogV2hlbiBNZWRpY2FsLUdyYWRlIENlcnRpZmljYXRpb24gQXBwbGllczwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SUVDIDYwNjAxIGlzIHRoZSBpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIGZvciB0aGUgYmFzaWMgc2FmZXR5IGFuZCBlc3NlbnRpYWwgcGVyZm9ybWFuY2Ugb2YgbWVkaWNhbCBlbGVjdHJpY2FsIGVxdWlwbWVudC4gRm9yIGhvc3BpdGFsIGxpZ2h0aW5nIHByb2N1cmVtZW50LCB1bmRlcnN0YW5kaW5nIHdoZW4gSUVDIDYwNjAxIGFwcGxpZXMg4oCUIGFuZCB3aGVuIGl0IGRvZXMgbm90IOKAlCBpcyBjcml0aWNhbCB0byBhdm9pZGluZyBib3RoIHVubmVjZXNzYXJ5IGNvc3RzIGFuZCByZWd1bGF0b3J5IG5vbi1jb21wbGlhbmNlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDM+U2NvcGU6IFRoZSAiUGF0aWVudCBFbnZpcm9ubWVudCIgUnVsZTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SUVDIDYwNjAxLTEgZGVmaW5lcyB0aGUgInBhdGllbnQgZW52aXJvbm1lbnQiIGFzIGFueSB2b2x1bWUgd2l0aGluIDEuNSBtZXRlcnMgKDQuOSBmZWV0KSBvZiB0aGUgcGF0aWVudCBzdXBwb3J0IHN1cmZhY2UgaW4gYWxsIGRpcmVjdGlvbnMsIGV4dGVuZGluZyAyLjUgbWV0ZXJzICg4LjIgZmVldCkgYWJvdmUgdGhlIGZsb29yLiBBbnkgZWxlY3RyaWNhbCBlcXVpcG1lbnQgd2l0aGluIHRoaXMgem9uZSDigJQgaW5jbHVkaW5nIGx1bWluYWlyZXMg4oCUIG11c3QgY29tcGx5IHdpdGggSUVDIDYwNjAxLTEgYW5kIGl0cyBjb2xsYXRlcmFsIHN0YW5kYXJkIElFQyA2MDYwMS0xLTIgZm9yIGVsZWN0cm9tYWduZXRpYyBjb21wYXRpYmlsaXR5IChFTUMpLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+UHJhY3RpY2FsIGltcGxpY2F0aW9ucyBmb3IgcHJvY3VyZW1lbnQ6PC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPjxzdHJvbmc+U3VyZ2ljYWwgbHVtaW5haXJlcywgZXhhbWluYXRpb24gbGlnaHRzLCBwYXRpZW50IGJlZGhlYWQgbGlnaHRzOjwvc3Ryb25nPiBXaXRoaW4gdGhlIHBhdGllbnQgZW52aXJvbm1lbnQg4oCUIG11c3QgY2FycnkgSUVDIDYwNjAxLTEgYW5kIDYwNjAxLTEtMiBjZXJ0aWZpY2F0aW9uIGZyb20gYW4gYWNjcmVkaXRlZCB0ZXN0IGxhYm9yYXRvcnkuPC9saT48bGk+PHN0cm9uZz5QYXRpZW50IHJvb20gY2VpbGluZyBsaWdodHMgKOKJpSAyLjVtIGFib3ZlIGZsb29yKTo8L3N0cm9uZz4gT3V0c2lkZSB0aGUgcGF0aWVudCBlbnZpcm9ubWVudCBpZiBtb3VudGVkIGFib3ZlIDIuNSBtZXRlcnMuIFN0YW5kYXJkIElFQyA2MDU5OCAobHVtaW5haXJlcyBnZW5lcmFsIHJlcXVpcmVtZW50cykgYXBwbGllcy4gSG93ZXZlciwgcHJveGltaXR5IHRvIHNlbnNpdGl2ZSBtb25pdG9yaW5nIGVxdWlwbWVudCBtZWFucyBFTUMgdGVzdGluZyBpcyBzdGlsbCByZWNvbW1lbmRlZCBldmVuIGlmIG5vdCBsZWdhbGx5IHJlcXVpcmVkLjwvbGk+PGxpPjxzdHJvbmc+Q29ycmlkb3IsIHdhaXRpbmcgYXJlYSwgbnVyc2Ugc3RhdGlvbiwgZXh0ZXJpb3IgbGlnaHRpbmc6PC9zdHJvbmc+IFN0YW5kYXJkIGNvbW1lcmNpYWwtZ3JhZGUgSUVDIDYwNTk4IGNvbXBsaWFuY2UuIE5vIG1lZGljYWwgY2VydGlmaWNhdGlvbiByZXF1aXJlZC48L2xpPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5FTUMgcmVxdWlyZW1lbnRzIHVuZGVyIElFQyA2MDYwMS0xLTI6PC9zdHJvbmc+IEx1bWluYWlyZXMgd2l0aGluIHRoZSBwYXRpZW50IGVudmlyb25tZW50IG11c3QgZGVtb25zdHJhdGUgZWxlY3Ryb21hZ25ldGljIGNvbXBhdGliaWxpdHkgYWNyb3NzIHR3byBkb21haW5zOiBlbWlzc2lvbnMgKHRoZXkgbXVzdCBub3QgcmFkaWF0ZSBpbnRlcmZlcmVuY2UgdGhhdCBjb3VsZCBkaXNydXB0IEVDRyBtb25pdG9ycywgaW5mdXNpb24gcHVtcHMsIG9yIHZlbnRpbGF0b3JzKSBhbmQgaW1tdW5pdHkgKHRoZXkgbXVzdCBjb250aW51ZSB0byBmdW5jdGlvbiBjb3JyZWN0bHkgd2hlbiBleHBvc2VkIHRvIGVsZWN0cm9tYWduZXRpYyBmaWVsZHMgZnJvbSBkaWF0aGVybXkgZXF1aXBtZW50LCBNUkkgZnJpbmdlIGZpZWxkcywgb3IgZGVmaWJyaWxsYXRvciBkaXNjaGFyZ2UpLiBGb3IgTEVEIGx1bWluYWlyZXMgc3BlY2lmaWNhbGx5LCB0aGUgTEVEIGRyaXZlciBpcyB0aGUgcHJpbWFyeSBzb3VyY2Ugb2YgYm90aCBjb25kdWN0ZWQgYW5kIHJhZGlhdGVkIGVtaXNzaW9ucyDigJQgbWVkaWNhbC1ncmFkZSBkcml2ZXJzIHdpdGggZW5oYW5jZWQgZmlsdGVyaW5nIGFuZCBzaGllbGRlZCBlbmNsb3N1cmVzIGFyZSByZXF1aXJlZCwgYWRkaW5nIGFwcHJveGltYXRlbHkgMzDigJM1MCUgdG8gdGhlIGRyaXZlciBjb3N0IGNvbXBhcmVkIHRvIGNvbW1lcmNpYWwtZ3JhZGUgYWx0ZXJuYXRpdmVzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDM+VmVyaWZpY2F0aW9uOiBSZXF1aXJlZCBEb2N1bWVudGF0aW9uPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5XaGVuIHByb2N1cmluZyBJRUMgNjA2MDEtY29tcGxpYW50IGx1bWluYWlyZXMsIHJlcXVpcmUgdGhlIGZvbGxvd2luZyBmcm9tIHlvdXIgc3VwcGxpZXI6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPjxzdHJvbmc+Q0IgU2NoZW1lIFRlc3QgQ2VydGlmaWNhdGU8L3N0cm9uZz4gZnJvbSBhbiBJRUNFRS1yZWNvZ25pemVkIE5hdGlvbmFsIENlcnRpZmljYXRpb24gQm9keSAoTkNCKSDigJQgdGhpcyBpcyB0aGUgZ29sZCBzdGFuZGFyZCBmb3IgaW50ZXJuYXRpb25hbCBhY2NlcHRhbmNlPC9saT48bGk+PHN0cm9uZz5EZWNsYXJhdGlvbiBvZiBDb25mb3JtaXR5PC9zdHJvbmc+IHNpZ25lZCBieSB0aGUgbWFudWZhY3R1cmVyJ3MgYXV0aG9yaXplZCByZXByZXNlbnRhdGl2ZSwgbGlzdGluZyBhbGwgYXBwbGljYWJsZSBzdGFuZGFyZHMgYW5kIHRlc3QgcmVwb3J0IHJlZmVyZW5jZXM8L2xpPjxsaT48c3Ryb25nPkVNQyBUZXN0IFJlcG9ydDwvc3Ryb25nPiAoSUVDIDYwNjAxLTEtMikgc2hvd2luZyBjb21wbGlhbmNlIHdpdGggYm90aCByYWRpYXRlZCBhbmQgY29uZHVjdGVkIGVtaXNzaW9ucyBsaW1pdHMgKENJU1BSIDExLCBHcm91cCAxLCBDbGFzcyBCIGZvciBoZWFsdGhjYXJlIGZhY2lsaXRpZXMpPC9saT48bGk+PHN0cm9uZz5SaXNrIE1hbmFnZW1lbnQgRmlsZTwvc3Ryb25nPiBwZXIgSVNPIDE0OTcxIOKAlCBpbmNyZWFzaW5nbHkgcmVxdWlyZWQgYnkgaG9zcGl0YWwgcHJvY3VyZW1lbnQgZGVwYXJ0bWVudHMgaW4gRVUgYW5kIE5vcnRoIEFtZXJpY2FuIG1hcmtldHM8L2xpPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5SZWQgZmxhZzo8L3N0cm9uZz4gQSBzdXBwbGllciBjbGFpbWluZyAiSUVDIDYwNjAxIGNvbXBsaWFudCIgYmFzZWQgb24gc2VsZi1kZWNsYXJhdGlvbiB3aXRob3V0IHRoaXJkLXBhcnR5IHRlc3QgbGFib3JhdG9yeSBkb2N1bWVudGF0aW9uLiBNZWRpY2FsIHByb2N1cmVtZW50IGRlcGFydG1lbnRzIHdpbGwgcmVqZWN0IHNlbGYtZGVjbGFyZWQgY29tcGxpYW5jZS4gSW5zaXN0IG9uIHRlc3QgcmVwb3J0cyBmcm9tIElTTy9JRUMgMTcwMjUtYWNjcmVkaXRlZCBsYWJvcmF0b3JpZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5DaXJjYWRpYW4gTGlnaHRpbmcgZm9yIFBhdGllbnQgUmVjb3Zlcnk6IFRoZSBDbGluaWNhbCBDYXNlPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5IdW1hbi1jZW50cmljIGxpZ2h0aW5nIChIQ0wpIOKAlCBhbHNvIHJlZmVycmVkIHRvIGFzIGNpcmNhZGlhbiBsaWdodGluZyDigJQgaXMgbm8gbG9uZ2VyIGEgd2VsbG5lc3MgbHV4dXJ5IGluIGhlYWx0aGNhcmUgZW52aXJvbm1lbnRzLiBJdCBpcyBpbmNyZWFzaW5nbHkgc3BlY2lmaWVkIGluIG5ldyBob3NwaXRhbCBjb25zdHJ1Y3Rpb24gYW5kIG1ham9yIHJlZnVyYmlzaG1lbnQgcHJvamVjdHMgYXMgY2xpbmljYWwgZXZpZGVuY2UgYWNjdW11bGF0ZXMgbGlua2luZyBsaWdodGluZyBzcGVjdHJhbCBxdWFsaXR5IHRvIG1lYXN1cmFibGUgcGF0aWVudCBvdXRjb21lcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPkhvdyBDaXJjYWRpYW4gTGlnaHRpbmcgV29ya3MgaW4gYSBDbGluaWNhbCBDb250ZXh0PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgaHVtYW4gY2lyY2FkaWFuIHN5c3RlbSBpcyByZWd1bGF0ZWQgYnkgaW50cmluc2ljYWxseSBwaG90b3NlbnNpdGl2ZSByZXRpbmFsIGdhbmdsaW9uIGNlbGxzIChpcFJHQ3MpIHRoYXQgcmVzcG9uZCBwcmltYXJpbHkgdG8gc2hvcnQtd2F2ZWxlbmd0aCBibHVlIGxpZ2h0IChwZWFrIHNlbnNpdGl2aXR5IH40ODAgbm0pLiBUaGVzZSBjZWxscyBzaWduYWwgdGhlIHN1cHJhY2hpYXNtYXRpYyBudWNsZXVzIChTQ04pIOKAlCB0aGUgYm9keSdzIG1hc3RlciBjbG9jayDigJQgd2hpY2ggY29udHJvbHMgdGhlIHNsZWVwLXdha2UgY3ljbGUsIGNvcnRpc29sIHByb2R1Y3Rpb24sIGFuZCBjb3JlIGJvZHkgdGVtcGVyYXR1cmUgcmVndWxhdGlvbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BIHByb3Blcmx5IHNwZWNpZmllZCBjaXJjYWRpYW4gbGlnaHRpbmcgc3lzdGVtIGZvbGxvd3MgYSBwcm9ncmFtbWVkIGRhaWx5IHNjaGVkdWxlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjxsaT48c3Ryb25nPk1vcm5pbmcgcGhhc2UgKDA2OjAw4oCTMTA6MDApOjwvc3Ryb25nPiBIaWdoIGludGVuc2l0eSAoMzAw4oCTNTAwIGx1eCBhdCBleWUgbGV2ZWwpLCBoaWdoIENDVCAoNSwwMDBL4oCTNiw1MDBLKSwgaGlnaCBtZWxhbm9waWMgbHV4LiBTdXBwcmVzc2VzIHJlc2lkdWFsIG1lbGF0b25pbiwgcHJvbW90ZXMgYWxlcnRuZXNzLCBhbmQgZW50cmFpbnMgdGhlIGNpcmNhZGlhbiBjbG9jayB0byB0aGUgMjQtaG91ciBkYXkuIFRoaXMgcGhhc2UgaXMgZXNwZWNpYWxseSBjcml0aWNhbCBmb3IgSUNVIHBhdGllbnRzIHdobyBsYWNrIG5hdHVyYWwgZGF5bGlnaHQgZXhwb3N1cmUuPC9saT48bGk+PHN0cm9uZz5NaWRkYXkgcGhhc2UgKDEwOjAw4oCTMTY6MDApOjwvc3Ryb25nPiBNb2RlcmF0ZSBpbnRlbnNpdHkgKDIwMOKAkzMwMCBsdXgpLCBuZXV0cmFsIENDVCAoMyw1MDBL4oCTNCw1MDBLKS4gTWFpbnRhaW5zIGFsZXJ0bmVzcyB3aXRob3V0IG92ZXJzdGltdWxhdGlvbi4gU3VwcG9ydHMgY2xpbmljYWwgc3RhZmYgdGFzayBwZXJmb3JtYW5jZS48L2xpPjxsaT48c3Ryb25nPkV2ZW5pbmcgdHJhbnNpdGlvbiAoMTY6MDDigJMyMDowMCk6PC9zdHJvbmc+IERlY3JlYXNpbmcgaW50ZW5zaXR5ICgxMDDigJMyMDAgbHV4KSwgd2FybWluZyBDQ1QgKDIsNzAwS+KAkzMsMDAwSyksIHJlZHVjZWQgYmx1ZSBzcGVjdHJ1bSBvdXRwdXQuIFNpZ25hbHMgdGhlIGJvZHkgdG8gYmVnaW4gbWVsYXRvbmluIHByb2R1Y3Rpb24uPC9saT48bGk+PHN0cm9uZz5OaWdodCBwaGFzZSAoMjA6MDDigJMwNjowMCk6PC9zdHJvbmc+IFZlcnkgbG93IGludGVuc2l0eSAoIDwgNSBsdXggYXQgZXllIGxldmVsKSwgd2FybSBDQ1QgKDIsMjAwS+KAkzIsNzAwSyksIGFtYmVyIG5pZ2h0LWxpZ2h0IG1vZGUgd2l0aCB6ZXJvIGJsdWUgZW1pc3Npb24uIFN1cHBvcnRzIHNsZWVwIHdoaWxlIGVuYWJsaW5nIHNhZmUgbnVyc2Ugcm91bmRzLjwvbGk+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPk1lYXN1cmFibGUgQ2xpbmljYWwgT3V0Y29tZXM8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk11bHRpcGxlIHBlZXItcmV2aWV3ZWQgc3R1ZGllcyBoYXZlIGRlbW9uc3RyYXRlZCB0aGUgY2xpbmljYWwgaW1wYWN0IG9mIGNpcmNhZGlhbiBsaWdodGluZyBpbiBob3NwaXRhbCBlbnZpcm9ubWVudHM6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPjxzdHJvbmc+UmVkdWNlZCBsZW5ndGggb2Ygc3RheTo8L3N0cm9uZz4gQSAyMDI0IG1ldGEtYW5hbHlzaXMgaW4gdGhlIEpvdXJuYWwgb2YgQ2xpbmljYWwgU2xlZXAgTWVkaWNpbmUgZm91bmQgdGhhdCBjaXJjYWRpYW4gbGlnaHRpbmcgaW50ZXJ2ZW50aW9ucyByZWR1Y2VkIGF2ZXJhZ2UgaG9zcGl0YWwgc3RheSBieSAxLjIgZGF5cyAoMTIlIHJlZHVjdGlvbiBpbiBtZWRpY2FsL3N1cmdpY2FsIHdhcmRzKS48L2xpPjxsaT48c3Ryb25nPkRlY3JlYXNlZCBwb3N0LW9wZXJhdGl2ZSBkZWxpcml1bTo8L3N0cm9uZz4gSUNVIHBhdGllbnRzIGV4cG9zZWQgdG8gY2lyY2FkaWFuIGxpZ2h0aW5nIHByb3RvY29scyBleHBlcmllbmNlZCAzMCUgbG93ZXIgaW5jaWRlbmNlIG9mIHBvc3Qtb3BlcmF0aXZlIGRlbGlyaXVtIGNvbXBhcmVkIHRvIHRob3NlIHVuZGVyIHN0YW5kYXJkIGZpeGVkLXNwZWN0cnVtIGZsdW9yZXNjZW50IGxpZ2h0aW5nLjwvbGk+PGxpPjxzdHJvbmc+SW1wcm92ZWQgc3RhZmYgcGVyZm9ybWFuY2U6PC9zdHJvbmc+IE5pZ2h0LXNoaWZ0IG51cnNpbmcgc3RhZmYgd29ya2luZyB1bmRlciBjaXJjYWRpYW4tYWRhcHRlZCBsaWdodGluZyBzaG93ZWQgMjIlIGZld2VyIG1lZGljYXRpb24gYWRtaW5pc3RyYXRpb24gZXJyb3JzIGF0dHJpYnV0YWJsZSB0byBmYXRpZ3VlLjwvbGk+PGxpPjxzdHJvbmc+UGF0aWVudCBzYXRpc2ZhY3Rpb246PC9zdHJvbmc+IEhDQUhQUyAoSG9zcGl0YWwgQ29uc3VtZXIgQXNzZXNzbWVudCBvZiBIZWFsdGhjYXJlIFByb3ZpZGVycyBhbmQgU3lzdGVtcykgc2NvcmVzIGZvciAicXVpZXRuZXNzIGFuZCByZXN0ZnVsbmVzcyBvZiBob3NwaXRhbCBlbnZpcm9ubWVudCIgaW1wcm92ZWQgYnkgMTXigJMxOCBwZXJjZW50aWxlIHBvaW50cyBpbiBmYWNpbGl0aWVzIHdpdGggY2lyY2FkaWFuIGxpZ2h0aW5nLjwvbGk+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPlByb2N1cmVtZW50IFNwZWNpZmljYXRpb25zIGZvciBDaXJjYWRpYW4tUmVhZHkgTHVtaW5haXJlczwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2hlbiBzb3VyY2luZyB0dW5hYmxlLXdoaXRlIExFRCBsdW1pbmFpcmVzIGZvciBob3NwaXRhbCBjaXJjYWRpYW4gbGlnaHRpbmcsIHNwZWNpZnk6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPjxzdHJvbmc+Q0NUIHJhbmdlOjwvc3Ryb25nPiAyLDIwMEvigJM2LDUwMEsgbWluaW11bSwgY29udGludW91c2x5IHR1bmFibGUgKG5vdCBzdGVwcGVkKTwvbGk+PGxpPjxzdHJvbmc+Q2hhbm5lbCBhcmNoaXRlY3R1cmU6PC9zdHJvbmc+IE1pbmltdW0gdGhyZWUgaW5kZXBlbmRlbnRseSBhZGRyZXNzYWJsZSBMRUQgY2hhbm5lbHMgKHdhcm0gd2hpdGUsIGNvb2wgd2hpdGUsIGFuZCBkZWRpY2F0ZWQgYW1iZXIgb3IgbWludCBjaGFubmVsIGZvciBtZWxhbm9waWMgY29udHJvbCk8L2xpPjxsaT48c3Ryb25nPkNvbnRyb2wgcHJvdG9jb2w6PC9zdHJvbmc+IERBTEktMiAoSUVDIDYyMzg2LTIwOSBmb3IgY29sb3IgY29udHJvbCkgb3IgRE1YNTEyQSB3aXRoIEJBQ25ldC9JUCBnYXRld2F5IGZvciBCTVMgaW50ZWdyYXRpb248L2xpPjxsaT48c3Ryb25nPk1lbGFub3BpYyByYXRpbzo8L3N0cm9uZz4gVGhlIHN1cHBsaWVyIG11c3QgcHJvdmlkZSBzcGVjdHJhbCBwb3dlciBkaXN0cmlidXRpb24gKFNQRCkgZGF0YSBlbmFibGluZyBjYWxjdWxhdGlvbiBvZiBtZWxhbm9waWMvcGhvdG9waWMgKE0vUCkgcmF0aW8gYWNyb3NzIHRoZSBmdWxsIENDVCByYW5nZS4gVGFyZ2V0IE0vUCByYXRpbzog4omlIDEuMCBpbiBtb3JuaW5nIHBoYXNlLCDiiaQgMC4zIGluIG5pZ2h0IHBoYXNlPC9saT48bGk+PHN0cm9uZz5EaW1taW5nIGRlcHRoOjwvc3Ryb25nPiAwLjElIG1pbmltdW0gZm9yIG5pZ2h0LWxpZ2h0IG1vZGUgKG5vdCAxJSBvciA1JSDigJQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAxJSBhbmQgMC4xJSBpcyB2aXN1YWxseSBzaWduaWZpY2FudCBhdCBuaWdodCk8L2xpPjxsaT48c3Ryb25nPkZsaWNrZXI6PC9zdHJvbmc+IElFRUUgMTc4OSBjb21wbGlhbnQsIGZsaWNrZXIgcGVyY2VudGFnZSAgPCA1JSBhdCBhbGwgZGltbWluZyBsZXZlbHMsIGluY2x1ZGluZyBQV00gZnJlcXVlbmNpZXMgYWJvdmUgMyBrSHogdG8gZWxpbWluYXRlIHBlcmNlcHRpYmxlIGZsaWNrZXI8L2xpPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6Mn0gLS0+CjxoMj5FbWVyZ2VuY3kgTGlnaHRpbmcgZm9yIEhvc3BpdGFsIENvcnJpZG9ycyBhbmQgRWdyZXNzIFBhdGhzPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Ib3NwaXRhbCBjb3JyaWRvciBhbmQgZWdyZXNzIHBhdGggbGlnaHRpbmcgY2FycmllcyBkdWFsIHJlc3BvbnNpYmlsaXRpZXM6IGV2ZXJ5ZGF5IGNpcmN1bGF0aW9uIGlsbHVtaW5hdGlvbiBhbmQgbGlmZS1zYWZldHkgZW1lcmdlbmN5IG9wZXJhdGlvbi4gVGhlIHByb2N1cmVtZW50IHNwZWNpZmljYXRpb24gbXVzdCBhZGRyZXNzIGJvdGggbW9kZXMgc2ltdWx0YW5lb3VzbHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5SZWd1bGF0b3J5IEZyYW1ld29yazwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SG9zcGl0YWwgZW1lcmdlbmN5IGxpZ2h0aW5nIG11c3QgY29tcGx5IHdpdGggbXVsdGlwbGUgb3ZlcmxhcHBpbmcgc3RhbmRhcmRzIGRlcGVuZGluZyBvbiBqdXJpc2RpY3Rpb246PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPjxzdHJvbmc+TkZQQSAxMDEgKExpZmUgU2FmZXR5IENvZGUpIOKAlCBVUzo8L3N0cm9uZz4gUmVxdWlyZXMgZW1lcmdlbmN5IGxpZ2h0aW5nIHRvIHByb3ZpZGUgYSBtaW5pbXVtIG9mIDEgZm9vdC1jYW5kbGUgKDEwLjggbHV4KSBhdmVyYWdlIGFsb25nIHRoZSBlZ3Jlc3MgcGF0aCwgd2l0aCBhIG1pbmltdW0gb2YgMC4xIGZvb3QtY2FuZGxlICgxIGx1eCkgYXQgYW55IHBvaW50LCBmb3IgYSBkdXJhdGlvbiBvZiA5MCBtaW51dGVzLiBNb250aGx5IDMwLXNlY29uZCB0ZXN0aW5nIGFuZCBhbm51YWwgOTAtbWludXRlIHRlc3RpbmcgYXJlIG1hbmRhdG9yeS48L2xpPjxsaT48c3Ryb25nPkVOIDE4Mzgg4oCUIEVVOjwvc3Ryb25nPiBTcGVjaWZpZXMgMSBsdXggbWluaW11bSBhbG9uZyB0aGUgY2VudGVyIGxpbmUgb2YgZXNjYXBlIHJvdXRlcywgMC41IGx1eCBmb3IgYW50aS1wYW5pYyBhcmVhcywgYW5kIDUgbHV4IGZvciBmaXJzdC1haWQgc3RhdGlvbnMgYW5kIGZpcmVmaWdodGluZyBlcXVpcG1lbnQgbG9jYXRpb25zLjwvbGk+PGxpPjxzdHJvbmc+Sm9pbnQgQ29tbWlzc2lvbiAoaW50ZXJuYXRpb25hbCk6PC9zdHJvbmc+IFJlcXVpcmVzIHF1YXJ0ZXJseSBlbWVyZ2VuY3kgbGlnaHRpbmcgdGVzdGluZyB3aXRoIGRvY3VtZW50ZWQgcmVzdWx0cywgcGx1cyBhbm51YWwgYmF0dGVyeSBsb2FkIHRlc3RpbmcuPC9saT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDM+VGVjaG5pY2FsIFNwZWNpZmljYXRpb25zIGZvciBIb3NwaXRhbCBDb3JyaWRvciBFbWVyZ2VuY3kgTHVtaW5haXJlczwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPjxzdHJvbmc+QmF0dGVyeSBiYWNrdXA6PC9zdHJvbmc+IEludGVncmF0ZWQgTGlGZVBPNCBiYXR0ZXJ5IHBhY2sgcHJvdmlkaW5nIG1pbmltdW0gMy1ob3VyIGF1dG9ub215IChob3NwaXRhbHMgdHlwaWNhbGx5IGV4Y2VlZCB0aGUgOTAtbWludXRlIG1pbmltdW0gZHVlIHRvIHBhdGllbnQgZXZhY3VhdGlvbiBjb21wbGV4aXR5KS4gU2VsZi10ZXN0IGZ1bmN0aW9uYWxpdHkgd2l0aCBEQUxJIG9yIHdpcmVsZXNzIHJlcG9ydGluZyB0byBjZW50cmFsIG1vbml0b3JpbmcuPC9saT48bGk+PHN0cm9uZz5CYXR0ZXJ5IGNoZW1pc3RyeTo8L3N0cm9uZz4gTGl0aGl1bSBpcm9uIHBob3NwaGF0ZSAoTGlGZVBPNCkgcHJlZmVycmVkIG92ZXIgTmlDZCDigJQgbG9uZ2VyIGN5Y2xlIGxpZmUgKDIsMDAwKyBjeWNsZXMpLCBubyBjYWRtaXVtIGRpc3Bvc2FsIGlzc3VlcyBpbiBFVSBtYXJrZXRzLCBhbmQgc3RhYmxlIHBlcmZvcm1hbmNlIGFjcm9zcyB0aGUgMOKAkzUwwrBDIGhvc3BpdGFsIHRlbXBlcmF0dXJlIHJhbmdlLjwvbGk+PGxpPjxzdHJvbmc+TWFpbnRhaW5lZCB2cy4gbm9uLW1haW50YWluZWQ6PC9zdHJvbmc+IEhvc3BpdGFsIGNvcnJpZG9ycyByZXF1aXJlIG1haW50YWluZWQgb3BlcmF0aW9uIChsdW1pbmFpcmUgb3BlcmF0ZXMgYXMgbm9ybWFsIGxpZ2h0aW5nLCBzd2l0Y2hlcyB0byBiYXR0ZXJ5IG9uIG1haW5zIGZhaWx1cmUpLiBBbGwgY29ycmlkb3IgbHVtaW5haXJlcyBzaG91bGQgaW5jbHVkZSBpbnRlZ3JhbCBlbWVyZ2VuY3kgY29udmVyc2lvbiBjYXBhYmlsaXR5IHJhdGhlciB0aGFuIHJlbHlpbmcgb24gc2VwYXJhdGUgZGVkaWNhdGVkIGVtZXJnZW5jeSBmaXh0dXJlcy48L2xpPjxsaT48c3Ryb25nPkJpLWxldmVsIG5pZ2h0IGRpbW1pbmc6PC9zdHJvbmc+IEludGVncmF0ZWQgb2NjdXBhbmN5IG9yIHRpbWUtYmFzZWQgZGltbWluZyB0aGF0IHJlZHVjZXMgY29ycmlkb3IgaWxsdW1pbmF0aW9uIHRvIDMw4oCTNTAlIGR1cmluZyBuaWdodCBob3VycyAoMjM6MDDigJMwNjowMCkgd2hpbGUgbWFpbnRhaW5pbmcgZnVsbCBlbWVyZ2VuY3kgY2FwYWJpbGl0eSBvbiBwb3dlciBmYWlsdXJlLjwvbGk+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjoyfSAtLT4KPGgyPkluZmVjdGlvbiBDb250cm9sIGFuZCBDbGVhbmFiaWxpdHkgUmVxdWlyZW1lbnRzPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Ib3NwaXRhbCBsdW1pbmFpcmVzIGFyZSBleHBvc2VkIHRvIGFnZ3Jlc3NpdmUgY2xlYW5pbmcgcHJvdG9jb2xzIHRoYXQgc3RhbmRhcmQgY29tbWVyY2lhbCBmaXh0dXJlcyBjYW5ub3Qgd2l0aHN0YW5kLiBUaGUgcHJvY3VyZW1lbnQgc3BlY2lmaWNhdGlvbiBtdXN0IGFkZHJlc3MgbWF0ZXJpYWwgY29tcGF0aWJpbGl0eSBhbmQgc3VyZmFjZSBmaW5pc2ggYXQgdGhlIGNvbXBvbmVudCBsZXZlbC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48bGk+PHN0cm9uZz5Ib3VzaW5nIG1hdGVyaWFsOjwvc3Ryb25nPiBBbHVtaW51bSBhbGxveSAoNjA2My1UNSBtaW5pbXVtKSB3aXRoIHBvbHllc3RlciBwb3dkZXIgY29hdCBmaW5pc2ggY3VyZWQgYXQgMjAwwrBDIGZvciBjaGVtaWNhbCByZXNpc3RhbmNlLiBTdGFpbmxlc3Mgc3RlZWwgMzA0IG9yIDMxNkwgZm9yIGFyZWFzIGV4cG9zZWQgdG8gaHlkcm9nZW4gcGVyb3hpZGUgdmFwb3IgKEhQVikgc3RlcmlsaXphdGlvbiDigJQgc3RhbmRhcmQgcG93ZGVyIGNvYXQgZGVncmFkZXMgdW5kZXIgcmVwZWF0ZWQgSFBWIGV4cG9zdXJlLjwvbGk+PGxpPjxzdHJvbmc+RGlmZnVzZXIvbGVucyBtYXRlcmlhbDo8L3N0cm9uZz4gVGVtcGVyZWQgZ2xhc3Mgb3IgcG9seWNhcmJvbmF0ZSB3aXRoIFVWLXN0YWJpbGl6ZWQgaGFyZCBjb2F0LiBQTU1BIChhY3J5bGljKSBpcyA8c3Ryb25nPm5vdCByZWNvbW1lbmRlZDwvc3Ryb25nPiDigJQgaXQgY3JhemVzIGFuZCB5ZWxsb3dzIHVuZGVyIHJlcGVhdGVkIGV4cG9zdXJlIHRvIHF1YXRlcm5hcnkgYW1tb25pdW0gZGlzaW5mZWN0YW50cyBhbmQgaXNvcHJvcHlsIGFsY29ob2wgd2lwZXMuPC9saT48bGk+PHN0cm9uZz5TZWFsaW5nOjwvc3Ryb25nPiBDbG9zZWQtY2VsbCBzaWxpY29uZSBnYXNrZXQgKEZEQS1jb21wbGlhbnQsIG5vIFZPQyBvdXRnYXNzaW5nKSB3aXRoIElQNjUgcmF0aW5nIGZvciB0aGUgbHVtaW5haXJlIGFzc2VtYmx5LiBUaGUgZ2Fza2V0IG11c3QgYmUgZmllbGQtcmVwbGFjZWFibGUgYXMgYSBtYWludGVuYW5jZSBpdGVtLjwvbGk+PGxpPjxzdHJvbmc+QW50aW1pY3JvYmlhbCBhZGRpdGl2ZXM6PC9zdHJvbmc+IFNpbHZlci1pb24gYW50aW1pY3JvYmlhbCBwb3dkZXIgY29hdGluZyAoZS5nLiwgQmlvQ290ZSwgTWljcm9iYW4pIGlzIGluY3JlYXNpbmdseSBzcGVjaWZpZWQgaW4gRVUgYW5kIEdDQyBob3NwaXRhbCBwcm9qZWN0cy4gVGhlc2UgYWRkaXRpdmVzIHJlZHVjZSBzdXJmYWNlIGJhY3RlcmlhbCBjb2xvbml6YXRpb24gYnkgOTkuOSUgd2l0aGluIDIgaG91cnMgYnV0IGFkZCBhcHByb3hpbWF0ZWx5IDE14oCTMjAlIHRvIHRoZSBsdW1pbmFpcmUgY29zdC48L2xpPjxsaT48c3Ryb25nPlNtb290aCBzdXJmYWNlczo8L3N0cm9uZz4gTm8gZXhwb3NlZCBzY3Jld3MsIG5vIGNyZXZpY2VzLCBubyBob3Jpem9udGFsIGxlZGdlcyB0aGF0IGFjY3VtdWxhdGUgZHVzdC4gVGhlIGx1bWluYWlyZSBwcm9maWxlIG11c3QgYmUgY2xlYW5hYmxlIHdpdGggYSBzaW5nbGUgd2lwZS1kb3duIG1vdGlvbi4gVGhpcyBydWxlcyBvdXQgZGVjb3JhdGl2ZSBmaXh0dXJlcyB3aXRoIGNvbXBsZXggZ2VvbWV0cnkuPC9saT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+Q29tbW9uIE1pc3Rha2VzIGluIEhvc3BpdGFsIExFRCBMaWdodGluZyBQcm9jdXJlbWVudDwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5NaXN0YWtlIDE6IFNwZWNpZnlpbmcgYSBTaW5nbGUgQ1JJIGZvciB0aGUgRW50aXJlIEZhY2lsaXR5PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Qcm9jdXJlbWVudCB0ZWFtcyBvZnRlbiBzcGVjaWZ5ICJDUkkg4omlIDkwIiBmb3IgYWxsIGx1bWluYWlyZXMgYWNyb3NzIHRoZSBob3NwaXRhbCDigJQgYSBtaXN0YWtlIHRoYXQgYWRkcyAyMOKAkzMwJSB0byB0aGUgbGlnaHRpbmcgYnVkZ2V0IHdpdGggemVybyBjbGluaWNhbCBiZW5lZml0IGluIGNvcnJpZG9ycywgd2FpdGluZyByb29tcywgYW5kIGFkbWluaXN0cmF0aXZlIGFyZWFzLiBPcGVyYXRpbmcgdGhlYXRlcnMgbmVlZCBDUkkgOTUrOyBjb3JyaWRvcnMgbmVlZCBDUkkgODArLiBEaWZmZXJlbnRpYXRlIGJ5IHpvbmUgaW4gdGhlIGJpbGwgb2YgbWF0ZXJpYWxzIGFuZCBhbGxvY2F0ZSB0aGUgcHJlbWl1bSAoaGlnaC1DUkkgTEVEcyBjb3N0IG1vcmUgcGVyIGx1bWVuKSB3aGVyZSBpdCBkZWxpdmVycyBjbGluaWNhbCB2YWx1ZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPk1pc3Rha2UgMjogSWdub3JpbmcgdGhlIFI5IChEZWVwIFJlZCkgVmFsdWU8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNSSSBSYSAodGhlIHN0YW5kYXJkIDgtY29sb3IgYXZlcmFnZSkgZG9lcyBub3QgaW5jbHVkZSBSOSwgdGhlIGRlZXAgcmVkIHRlc3QgY29sb3IgdGhhdCBpcyBjcml0aWNhbCBmb3IgcmVuZGVyaW5nIGh1bWFuIHNraW4gdG9uZXMsIGJsb29kLCBhbmQgdGlzc3VlLiBBIGx1bWluYWlyZSB3aXRoIENSSSBSYSA5MiBidXQgUjkgb2YgMTAgbWF5IGJlIHdvcnNlIGZvciBzdXJnaWNhbCBhbmQgZXhhbWluYXRpb24gZW52aXJvbm1lbnRzIHRoYW4gYSBsdW1pbmFpcmUgd2l0aCBDUkkgUmEgODggYW5kIFI5IG9mIDYwLiBBbHdheXMgc3BlY2lmeSBtaW5pbXVtIFI5IHZhbHVlcyBpbiB0aGUgdGVjaG5pY2FsIHNjaGVkdWxlOiBPcGVyYXRpbmcgVGhlYXRlciBSOSDiiaUgOTAsIEV4YW1pbmF0aW9uIFI5IOKJpSA1MC4gVGhpcyBzaW5nbGUgc3BlY2lmaWNhdGlvbiBsaW5lIG9mdGVuIHJldmVhbHMgd2hpY2ggc3VwcGxpZXJzIGdlbnVpbmVseSB1bmRlcnN0YW5kIG1lZGljYWwgbGlnaHRpbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5NaXN0YWtlIDM6IFByb2N1cmluZyBMdW1pbmFpcmVzIFdpdGhvdXQgQ29uZmlybWluZyBEcml2ZXIgRU1JIFBlcmZvcm1hbmNlIGluIE1SSSBTdWl0ZXM8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkxFRCBkcml2ZXJzIGFyZSBzd2l0Y2hpbmcgcG93ZXIgc3VwcGxpZXMgdGhhdCBnZW5lcmF0ZSBjb25kdWN0ZWQgYW5kIHJhZGlhdGVkIGVsZWN0cm9tYWduZXRpYyBlbWlzc2lvbnMuIEluIGFuIE1SSSBzdWl0ZSwgZXZlbiBsb3ctbGV2ZWwgRU1JIGZyb20gYSBsdW1pbmFpcmUgZHJpdmVyIGNhbiBjcmVhdGUgYXJ0aWZhY3RzIG9uIGRpYWdub3N0aWMgaW1hZ2VzLiBTdGFuZGFyZCBjb21tZXJjaWFsIExFRCBkcml2ZXJzIGFyZSBub3QgdGVzdGVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggTVJJIGVxdWlwbWVudC4gRm9yIE1SSSBhbmQgQ1Qgc3VpdGUgbGlnaHRpbmcsIHNwZWNpZnk6IChhKSByZW1vdGUgZHJpdmVyIG1vdW50aW5nIG91dHNpZGUgdGhlIFJGLXNoaWVsZGVkIHJvb20gd2hlcmV2ZXIgcG9zc2libGUsIChiKSBEQy1wb3dlcmVkIGx1bWluYWlyZXMgd2l0aCBjZW50cmFsaXplZCBtZWRpY2FsLWdyYWRlIHBvd2VyIHN1cHBsaWVzIGluIHRoZSBlbGVjdHJpY2FsIHJvb20sIG9yIChjKSBsdW1pbmFpcmVzIHdpdGggbm9uLWZlcnJvdXMgY29uc3RydWN0aW9uIChhbHVtaW51bSBob3VzaW5nLCBubyBzdGVlbCBjb21wb25lbnRzKSBhbmQgZHJpdmVycyB0ZXN0ZWQgZm9yIE1SSSBjb21wYXRpYmlsaXR5IHBlciB0aGUgbWFudWZhY3R1cmVyJ3MgaW5zdGFsbGF0aW9uIGd1aWRlbGluZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5NaXN0YWtlIDQ6IE92ZXJsb29raW5nIEZsaWNrZXIgUmVxdWlyZW1lbnRzIGZvciBDbGluaWNhbCBhbmQgTGFib3JhdG9yeSBTcGFjZXM8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkxFRCBmbGlja2VyIOKAlCB0aGUgbW9kdWxhdGlvbiBvZiBsaWdodCBvdXRwdXQgYXQgdGhlIGRyaXZlcidzIHN3aXRjaGluZyBmcmVxdWVuY3kgb3IgUFdNIGRpbW1pbmcgZnJlcXVlbmN5IOKAlCBpcyBpbnZpc2libGUgdG8gdGhlIG5ha2VkIGV5ZSBhYm92ZSBhcHByb3hpbWF0ZWx5IDEwMCBIeiBidXQgY2FuIGNhdXNlIGFydGlmYWN0cyBpbiB2aWRlby1iYXNlZCBzdXJnaWNhbCBzeXN0ZW1zLCBhdXRvbWF0ZWQgbGFib3JhdG9yeSBhbmFseXplcnMgdXNpbmcgb3B0aWNhbCBzZW5zb3JzLCBhbmQgaGlnaC1zcGVlZCBwaGFybWFjZXV0aWNhbCBpbnNwZWN0aW9uIGNhbWVyYXMuIFRoZSBJRUVFIDE3ODkgc3RhbmRhcmQgcmVjb21tZW5kcyBmbGlja2VyIHBlcmNlbnRhZ2UgYmVsb3cgNSUgYXQgZnJlcXVlbmNpZXMgdXAgdG8gOTAgSHosIGFuZCBiZWxvdyA4JSBmb3IgZnJlcXVlbmNpZXMgdXAgdG8gMywwMDAgSHouIEZvciBjbGluaWNhbCBhbmQgbGFib3JhdG9yeSBwcm9jdXJlbWVudCwgc3BlY2lmeSBmbGlja2VyIHBlcmNlbnRhZ2UgPCA1JSBhY3Jvc3MgdGhlIGZ1bGwgZGltbWluZyByYW5nZSBwZXIgSUVFRSAxNzg5LCBjb25maXJtZWQgYnkgdGVzdCByZXBvcnQuIFRoaXMgcmVxdWlyZW1lbnQgZWxpbWluYXRlcyB0aGUgbG93ZXN0LWNvc3QgUFdNIGRyaXZlcnMgYW5kIHNoaWZ0cyBwcm9jdXJlbWVudCB0b3dhcmQgY29uc3RhbnQtY3VycmVudCByZWR1Y3Rpb24gKENDUikgZGltbWluZyBmb3IgY3JpdGljYWwgYXBwbGljYXRpb25zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDM+TWlzdGFrZSA1OiBGYWlsaW5nIHRvIEluY2x1ZGUgQ29tbWlzc2lvbmluZyBhbmQgVmFsaWRhdGlvbiBpbiB0aGUgUHJvY3VyZW1lbnQgU2NvcGU8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkhvc3BpdGFsIGxpZ2h0aW5nIHByb2N1cmVtZW50IGVuZHMgYXQgZGVsaXZlcnkg4oCUIGJ1dCBsaWdodGluZyBwZXJmb3JtYW5jZSBpcyBvbmx5IHZhbGlkYXRlZCBhZnRlciBpbnN0YWxsYXRpb24gYW5kIGNvbW1pc3Npb25pbmcuIEEgY29tbW9uIHByb2N1cmVtZW50IGVycm9yIGlzIHRvIHRyZWF0IGxpZ2h0aW5nIGFzIGEgY29tbW9kaXR5IHB1cmNoYXNlIHdpdGggbm8gcG9zdC1pbnN0YWxsYXRpb24gdmVyaWZpY2F0aW9uLiBJbmNsdWRlIGluIHRoZSBjb250cmFjdDogb24tc2l0ZSBsdXggbGV2ZWwgbWVhc3VyZW1lbnRzIGZvciBlYWNoIHpvbmUgdHlwZSB3aXRoIGEgY2FsaWJyYXRlZCBsdXggbWV0ZXIsIENDVCB2ZXJpZmljYXRpb24gd2l0aCBhIHNwZWN0cm9waG90b21ldGVyIGZvciBjaXJjYWRpYW4gbGlnaHRpbmcgem9uZXMsIGVtZXJnZW5jeSBzeXN0ZW0gZnVsbC1sb2FkIGRpc2NoYXJnZSB0ZXN0LCBhbmQgYSBjb21taXNzaW9uaW5nIHJlcG9ydCBzaWduZWQgYnkgdGhlIHN1cHBsaWVyJ3MgdGVjaG5pY2FsIHJlcHJlc2VudGF0aXZlLiBXaXRob3V0IHRoZXNlIGNvbnRyYWN0dWFsIHJlcXVpcmVtZW50cywgdGhlIGhvc3BpdGFsIGhhcyBubyByZWNvdXJzZSBpZiBpbnN0YWxsZWQgcGVyZm9ybWFuY2UgZmFsbHMgc2hvcnQgb2Ygc3BlY2lmaWNhdGlvbi4gVGhlIGNvbW1pc3Npb25pbmcgY2xhdXNlIHR5cGljYWxseSBhZGRzIDLigJM0JSB0byB0aGUgY29udHJhY3QgdmFsdWUg4oCUIG5lZ2xpZ2libGUgY29tcGFyZWQgdG8gdGhlIGNvc3Qgb2YgbGl0aWdhdGlvbiBvciByZW1lZGlhbCB3b3JrLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+S2V5IFRha2Vhd2F5czwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PGxpPkhvc3BpdGFsIGxpZ2h0aW5nIHNwYW5zIHNldmVuIGRpc3RpbmN0IHpvbmVzIOKAlCBmcm9tIHN1cmdpY2FsIHN1aXRlcyAoQ1JJIDk1KywgSVA2NSwgSUVDIDYwNjAxKSB0byBjb3JyaWRvcnMgKENSSSA4MCssIGVtZXJnZW5jeSBiYXR0ZXJ5LCBiaS1sZXZlbCBkaW1taW5nKSDigJQgZWFjaCByZXF1aXJpbmcgZGlmZmVyZW50IHByb2N1cmVtZW50IHNwZWNpZmljYXRpb25zLiBBIHNpbmdsZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgZW50aXJlIGZhY2lsaXR5IGlzIGEgY29zdGx5IGVycm9yLjwvbGk+PGxpPklFQyA2MDYwMSBjb21wbGlhbmNlIGFwcGxpZXMgdG8gbHVtaW5haXJlcyB3aXRoaW4gMS41IG1ldGVycyBvZiB0aGUgcGF0aWVudCBlbnZpcm9ubWVudC4gU3VyZ2ljYWwsIGV4YW1pbmF0aW9uLCBhbmQgYmVkaGVhZCBsaWdodHMgcmVxdWlyZSBjZXJ0aWZpZWQgY29tcGxpYW5jZTsgZ2VuZXJhbCB3YXJkIGNlaWxpbmcgbGlnaHRzIGFuZCBjb3JyaWRvciBmaXh0dXJlcyBkbyBub3QuIFZlcmlmeSB3aXRoIENCIFNjaGVtZSBjZXJ0aWZpY2F0ZXMsIG5vdCBzdXBwbGllciBzZWxmLWRlY2xhcmF0aW9ucy48L2xpPjxsaT5DaXJjYWRpYW4vdHVuYWJsZS13aGl0ZSBsaWdodGluZyB3aXRoIGEgMiwyMDBL4oCTNiw1MDBLIENDVCByYW5nZSBhbmQgYXV0b21hdGVkIGRhaWx5IHNjaGVkdWxpbmcgaXMgY2xpbmljYWxseSB2YWxpZGF0ZWQgdG8gcmVkdWNlIHBhdGllbnQgbGVuZ3RoIG9mIHN0YXkgYnkgMTDigJMxNSUgYW5kIGRlY3JlYXNlIHBvc3Qtb3BlcmF0aXZlIGRlbGlyaXVtLiBTcGVjaWZ5IHRocmVlLWNoYW5uZWwgbWluaW11bSBhcmNoaXRlY3R1cmUgd2l0aCBEQUxJLTIgY29udHJvbCBwcm90b2NvbC48L2xpPjxsaT5DUkkgUmEgYWxvbmUgaXMgaW5zdWZmaWNpZW50IGZvciBtZWRpY2FsIHByb2N1cmVtZW50IOKAlCBhbHdheXMgc3BlY2lmeSBtaW5pbXVtIFI5IChkZWVwIHJlZCkgdmFsdWVzOiBPcGVyYXRpbmcgVGhlYXRlciBSOSDiiaUgOTAsIEV4YW1pbmF0aW9uIFI5IOKJpSA1MC4gVGhpcyBzaW5nbGUgcGFyYW1ldGVyIHNlcGFyYXRlcyBtZWRpY2FsLWdyYWRlIExFRHMgZnJvbSBjb21tZXJjaWFsLWdyYWRlIHByb2R1Y3RzLjwvbGk+PGxpPkVtZXJnZW5jeSBsaWdodGluZyBmb3IgaG9zcGl0YWwgY29ycmlkb3JzIHJlcXVpcmVzIDMtaG91ciBiYXR0ZXJ5IGF1dG9ub215IChMaUZlUE80IHByZWZlcnJlZCksIG1haW50YWluZWQgb3BlcmF0aW9uLCBzZWxmLXRlc3QgZnVuY3Rpb25hbGl0eSwgYW5kIGJpLWxldmVsIG5pZ2h0IGRpbW1pbmcg4oCUIGFsbCBpbnRlZ3JhdGVkIGludG8gdGhlIHByaW1hcnkgY29ycmlkb3IgbHVtaW5haXJlIHJhdGhlciB0aGFuIHNlcGFyYXRlIGVtZXJnZW5jeS1vbmx5IGZpeHR1cmVzLjwvbGk+PGxpPkluZmVjdGlvbiBjb250cm9sIGRyaXZlcyBtYXRlcmlhbCBzZWxlY3Rpb246IHN0YWlubGVzcyBzdGVlbCAzMDQvMzE2TCBmb3IgSFBWLXN0ZXJpbGl6ZWQgYXJlYXMsIHBvbHljYXJib25hdGUgbGVuc2VzIG92ZXIgUE1NQSwgc2lsdmVyLWlvbiBhbnRpbWljcm9iaWFsIGNvYXRpbmcgd2hlcmUgc3BlY2lmaWVkLCBhbmQgc21vb3RoIHdpcGUtZG93biBwcm9maWxlcyB3aXRoIG5vIGV4cG9zZWQgZmFzdGVuZXJzIG9yIGhvcml6b250YWwgZHVzdCBsZWRnZXMuPC9saT48bGk+SW5jbHVkZSBjb21taXNzaW9uaW5nIGFuZCB2YWxpZGF0aW9uIGluIHRoZSBwcm9jdXJlbWVudCBjb250cmFjdDogb24tc2l0ZSBsdXgsIENDVCwgZmxpY2tlciwgYW5kIGVtZXJnZW5jeSBzeXN0ZW0gdGVzdGluZyB3aXRoIGEgc2lnbmVkIHJlcG9ydC4gVGhpcyAy4oCTNCUgY29zdCBhZGRpdGlvbiBwcm92aWRlcyBjb250cmFjdHVhbCBsZXZlcmFnZSBpZiBpbnN0YWxsZWQgcGVyZm9ybWFuY2UgZG9lcyBub3QgbWF0Y2ggdGhlIHNwZWNpZmljYXRpb24uPC9saT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjJ9IC0tPgo8aDI+RkFRPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPldoYXQgSVAgcmF0aW5nIGlzIHJlcXVpcmVkIGZvciBzdXJnaWNhbCBzdWl0ZSBMRUQgbGlnaHRpbmcsIGFuZCBob3cgZG9lcyB0aGlzIGFmZmVjdCBwcm9jdXJlbWVudCBzcGVjaWZpY2F0aW9ucz88L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlN1cmdpY2FsIHN1aXRlcyByZXF1aXJlIGEgbWluaW11bSBvZiBJUDY1IGZvciB0aGUgbHVtaW5haXJlIGhvdXNpbmcg4oCUIG1lYW5pbmcgdGhlIGZpeHR1cmUgaXMgZHVzdC10aWdodCAoNikgYW5kIHByb3RlY3RlZCBhZ2FpbnN0IGxvdy1wcmVzc3VyZSB3YXRlciBqZXRzIGZyb20gYW55IGRpcmVjdGlvbiAoNSkuIFRoaXMgaXMgbm9uLW5lZ290aWFibGUgZm9yIGluZmVjdGlvbiBjb250cm9sOiBJUDY1LXJhdGVkIGZpeHR1cmVzIGNhbiB3aXRoc3RhbmQgYWdncmVzc2l2ZSBjbGVhbmluZyBwcm90b2NvbHMgaW5jbHVkaW5nIGh5ZHJvZ2VuIHBlcm94aWRlIHZhcG9yIHN0ZXJpbGl6YXRpb24gYW5kIHByZXNzdXJlIHdhc2hpbmcgYmV0d2VlbiBwcm9jZWR1cmVzLiBUaGUgZGlmZnVzZXIgb3IgbGVucyBtdXN0IGJlIHNlYWxlZCB3aXRoIGEgbWVkaWNhbC1ncmFkZSBzaWxpY29uZSBnYXNrZXQgcmF0ZWQgZm9yIHJlcGVhdGVkIGNoZW1pY2FsIGV4cG9zdXJlLiBJbiBwcm9jdXJlbWVudCBkb2N1bWVudHMsIHNwZWNpZnkgSVA2NSBmb3IgdGhlIGNvbXBsZXRlIGx1bWluYWlyZSBhc3NlbWJseSAobm90IGp1c3QgdGhlIExFRCBtb2R1bGUpIGFuZCByZXF1aXJlIGFuIElQIHRlc3QgY2VydGlmaWNhdGUgZnJvbSBhbiBhY2NyZWRpdGVkIGxhYm9yYXRvcnkuIEZvciBvcGVyYXRpbmcgdGhlYXRlcnMgd2l0aCBsYW1pbmFyIGFpcmZsb3cgc3lzdGVtcywgdGhlIGx1bWluYWlyZSBwcm9maWxlIG11c3QgYWxzbyBiZSBmbHVzaC1tb3VudGVkIG9yIHJlY2Vzc2VkIHRvIGF2b2lkIGRpc3J1cHRpbmcgdGhlIHN0ZXJpbGUgYWlyZmxvdyBmaWVsZCDigJQgYSByZXF1aXJlbWVudCB0aGF0IGludGVyYWN0cyBkaXJlY3RseSB3aXRoIHRoZSBJUCByYXRpbmcgc3BlY2lmaWNhdGlvbi48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzPldoYXQgaXMgY2lyY2FkaWFuL2h1bWFuLWNlbnRyaWMgbGlnaHRpbmcgYW5kIHdoeSBpcyBpdCBpbXBvcnRhbnQgZm9yIGhvc3BpdGFsIHBhdGllbnQgcm9vbXM/PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DaXJjYWRpYW4gbGlnaHRpbmcg4oCUIGFsc28gY2FsbGVkIGh1bWFuLWNlbnRyaWMgbGlnaHRpbmcgKEhDTCkg4oCUIHVzZXMgdHVuYWJsZS13aGl0ZSBMRUQgdGVjaG5vbG9neSB0byBzaGlmdCBjb2xvciB0ZW1wZXJhdHVyZSBhbmQgaW50ZW5zaXR5IHRocm91Z2hvdXQgdGhlIGRheSB0byBhbGlnbiB3aXRoIHRoZSBodW1hbiBib2R5J3MgbmF0dXJhbCBjaXJjYWRpYW4gcmh5dGhtLiBJbiBob3NwaXRhbCBwYXRpZW50IHJvb21zLCB0aGlzIG1lYW5zOiBjb29sIHdoaXRlIGxpZ2h0ICg1LDAwMEvigJM2LDUwMEssIGhpZ2ggaW50ZW5zaXR5KSBpbiB0aGUgbW9ybmluZyB0byBwcm9tb3RlIGFsZXJ0bmVzcyBhbmQgcmVndWxhdGUgY29ydGlzb2w7IG5ldXRyYWwgd2hpdGUgKDMsNTAwS+KAkzQsMDAwSykgYXQgbWlkZGF5OyBhbmQgd2FybSB3aGl0ZSAoMiwyMDBL4oCTMywwMDBLLCBsb3cgaW50ZW5zaXR5LCByZWR1Y2VkIGJsdWUgc3BlY3RydW0pIGluIHRoZSBldmVuaW5nIHRvIHN1cHBvcnQgbmF0dXJhbCBtZWxhdG9uaW4gcHJvZHVjdGlvbiBhbmQgc2xlZXAuIENsaW5pY2FsIHN0dWRpZXMgZGVtb25zdHJhdGUgdGhhdCBjaXJjYWRpYW4gbGlnaHRpbmcgaW4gcGF0aWVudCByb29tcyByZWR1Y2VzIGxlbmd0aCBvZiBzdGF5IGJ5IDEw4oCTMTUlLCBkZWNyZWFzZXMgcG9zdC1vcGVyYXRpdmUgZGVsaXJpdW0gaW4gZWxkZXJseSBwYXRpZW50cywgYW5kIGltcHJvdmVzIHBhdGllbnQgc2F0aXNmYWN0aW9uIHNjb3Jlcy4gRm9yIHByb2N1cmVtZW50LCBzcGVjaWZ5IHR1bmFibGUtd2hpdGUgTEVEIGx1bWluYWlyZXMgd2l0aCBhIENDVCByYW5nZSBvZiAyLDIwMEvigJM2LDUwMEssIGEgbWluaW11bSBvZiB0aHJlZSBpbmRlcGVuZGVudGx5IGFkZHJlc3NhYmxlIGNvbnRyb2wgY2hhbm5lbHMsIGFuZCBjb21wYXRpYmlsaXR5IHdpdGggQkFDbmV0IG9yIERBTEktMiBidWlsZGluZyBtYW5hZ2VtZW50IHByb3RvY29scyBmb3IgYXV0b21hdGVkIHNjaGVkdWxpbmcuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5EbyBob3NwaXRhbCBMRUQgbHVtaW5haXJlcyBuZWVkIElFQyA2MDYwMSBjZXJ0aWZpY2F0aW9uLCBhbmQgd2hhdCBkb2VzIHRoaXMgc3RhbmRhcmQgY292ZXI/PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JRUMgNjA2MDEtMSAoYW5kIGl0cyBjb2xsYXRlcmFsIHN0YW5kYXJkIElFQyA2MDYwMS0xLTIgZm9yIGVsZWN0cm9tYWduZXRpYyBjb21wYXRpYmlsaXR5KSBhcHBsaWVzIHRvIG1lZGljYWwgZWxlY3RyaWNhbCBlcXVpcG1lbnQgdGhhdCBjb21lcyBpbnRvIGRpcmVjdCBwYXRpZW50IGNvbnRhY3Qgb3IgaXMgdXNlZCBpbiB0aGUgcGF0aWVudCB2aWNpbml0eS4gRm9yIExFRCBsaWdodGluZyBzcGVjaWZpY2FsbHk6IGx1bWluYWlyZXMgbW91bnRlZCB3aXRoaW4gdGhlICJwYXRpZW50IGVudmlyb25tZW50IiDigJQgZGVmaW5lZCBhcyAxLjUgbWV0ZXJzICg0LjkgZnQpIGZyb20gdGhlIHBhdGllbnQgaW4gYW55IGRpcmVjdGlvbiDigJQgbXVzdCBjb21wbHkgd2l0aCBJRUMgNjA2MDEtMS0yIEVNQyByZXF1aXJlbWVudHMgdG8gZW5zdXJlIHRoZXkgZG8gbm90IGludGVyZmVyZSB3aXRoIGxpZmUtc3VwcG9ydCBlcXVpcG1lbnQsIG1vbml0b3JpbmcgZGV2aWNlcywgb3IgaW1wbGFudGVkIGRldmljZXMgbGlrZSBwYWNlbWFrZXJzLiBTdXJnaWNhbCBsaWdodHMsIGV4YW1pbmF0aW9uIGxpZ2h0cywgYW5kIHBhdGllbnQgcm9vbSBiZWRoZWFkIGxpZ2h0cyBmYWxsIHVuZGVyIHRoaXMgc2NvcGUuIEdlbmVyYWwgY29ycmlkb3IgbGlnaHRpbmcsIHdhaXRpbmcgcm9vbSBmaXh0dXJlcywgYW5kIGV4dGVyaW9yIGx1bWluYWlyZXMgZG8gbm90LiBJbiB5b3VyIFJGUSwgY2xlYXJseSBkZXNpZ25hdGUgd2hpY2ggbHVtaW5haXJlcyBhcmUgInBhdGllbnQgdmljaW5pdHkiIChyZXF1aXJpbmcgSUVDIDYwNjAxLTEtMiBjb21wbGlhbmNlKSBhbmQgd2hpY2ggYXJlICJnZW5lcmFsIGZhY2lsaXR5IiAoc3RhbmRhcmQgY29tbWVyY2lhbCBncmFkZSkuIFJlcXVpcmUgdGhlIHN1cHBsaWVyIHRvIHByb3ZpZGUgYSBEZWNsYXJhdGlvbiBvZiBDb25mb3JtaXR5IGZyb20gYSByZWNvZ25pemVkIHRlc3QgbGFib3JhdG9yeSDigJQgVMOcViwgVUwsIEludGVydGVrLCBvciBTR1Mg4oCUIG5vdCBhIHNlbGYtZGVjbGFyYXRpb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMz5XaGF0IENSSSAoQ29sb3IgUmVuZGVyaW5nIEluZGV4KSBpcyByZXF1aXJlZCBmb3IgZGlmZmVyZW50IGhvc3BpdGFsIHpvbmVzIHdoZW4gcHJvY3VyaW5nIExFRCBsaWdodGluZz88L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNSSSByZXF1aXJlbWVudHMgdmFyeSBkcmFtYXRpY2FsbHkgYnkgaG9zcGl0YWwgem9uZSDigJQgYSBzaW5nbGUgQ1JJIHNwZWNpZmljYXRpb24gZm9yIGFuIGVudGlyZSBmYWNpbGl0eSBpcyBhIGNvbW1vbiBwcm9jdXJlbWVudCBlcnJvci4gU3VyZ2ljYWwgc3VpdGVzIGRlbWFuZCBDUkkgOTUrIChSOSA+IDkwKSBmb3IgYWNjdXJhdGUgdGlzc3VlIGRpZmZlcmVudGlhdGlvbiDigJQgc3VyZ2VvbnMgcmVseSBvbiBzdWJ0bGUgY29sb3IgdmFyaWF0aW9ucyB0byBkaXN0aW5ndWlzaCBoZWFsdGh5IGZyb20gbmVjcm90aWMgdGlzc3VlLiBFeGFtaW5hdGlvbiByb29tcyByZXF1aXJlIENSSSA5MCsgKFI5ID4gNTApIGZvciBhY2N1cmF0ZSBza2luIHRvbmUgZXZhbHVhdGlvbiBhbmQgZGVybWF0b2xvZ2ljYWwgYXNzZXNzbWVudC4gUGF0aWVudCByb29tcyBuZWVkIENSSSA4NSsgZm9yIGdlbmVyYWwgY29tZm9ydC4gQ29ycmlkb3JzLCB3YWl0aW5nIGFyZWFzLCBhbmQgYWRtaW5pc3RyYXRpdmUgc3BhY2VzIGNhbiB1c2UgQ1JJIDgwKyBhcyBzdGFuZGFyZCBjb21tZXJjaWFsIGdyYWRlLiBUaGUgY3JpdGljYWwgZGV0YWlsIGZvciBwcm9jdXJlbWVudCBpcyB0aGUgUjkgdmFsdWUgKGRlZXAgcmVkIHJlbmRlcmluZykg4oCUIG1hbnkgTEVEIGRhdGFzaGVldHMgcmVwb3J0IENSSSBSYSBvZiA5MCsgYnV0IFI5IGJlbG93IDIwLCB3aGljaCBpcyBpbmFkZXF1YXRlIGZvciBtZWRpY2FsIGVudmlyb25tZW50cy4gQWx3YXlzIHNwZWNpZnkgbWluaW11bSBSOSB2YWx1ZXMgYWxvbmdzaWRlIENSSSBSYSBpbiB5b3VyIHRlY2huaWNhbCBzcGVjaWZpY2F0aW9uOiBPcGVyYXRpbmcgVGhlYXRlcjogUmEg4omlIDk1LCBSOSDiiaUgOTA7IEV4YW1pbmF0aW9uOiBSYSDiiaUgOTAsIFI5IOKJpSA1MDsgUGF0aWVudCBSb29tOiBSYSDiiaUgODUsIFI5IOKJpSAyMDsgQ29ycmlkb3IvR2VuZXJhbDogUmEg4omlIDgwLCBSOSDiiaUgMC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjoyfSAtLT4KPGgyPkNvbXBhcmUyQmVzdDogSG9zcGl0YWwgTEVEIExpZ2h0aW5nIHZzLiBTdGFuZGFyZCBDb21tZXJjaWFsIExFRCDigJQgUHJvY3VyZW1lbnQgRGVjaXNpb24gRnJhbWV3b3JrPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6dGFibGUgLS0+CjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLXRhYmxlIj48dGFibGU+PHRoZWFkPjx0cj48dGg+RGVjaXNpb24gRmFjdG9yPC90aD48dGg+SG9zcGl0YWwtR3JhZGUgTEVEPC90aD48dGg+U3RhbmRhcmQgQ29tbWVyY2lhbCBMRUQ8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyPjx0ZD5DUkkgKFJhIC8gUjkpPC90ZD48dGQ+UmEgODXigJM5NyAvIFI5IDIw4oCTOTUgKHpvbmUtZGVwZW5kZW50KTwvdGQ+PHRkPlJhIDcw4oCTODUgLyBSOSAw4oCTMjA8L3RkPjwvdHI+PHRyPjx0ZD5JUCBSYXRpbmc8L3RkPjx0ZD5JUDY1IChzdXJnaWNhbCksIElQNDQgKHBhdGllbnQgd2V0IGFyZWFzKSwgSVA0MCAoZ2VuZXJhbCk8L3RkPjx0ZD5JUDIw4oCTSVA0MCB0eXBpY2FsPC90ZD48L3RyPjx0cj48dGQ+SUVDIDYwNjAxIENvbXBsaWFuY2U8L3RkPjx0ZD5SZXF1aXJlZCBmb3IgcGF0aWVudC12aWNpbml0eSBsdW1pbmFpcmVzPC90ZD48dGQ+Tm90IGFwcGxpY2FibGU8L3RkPjwvdHI+PHRyPjx0ZD5DaXJjYWRpYW4vVHVuYWJsZSBXaGl0ZTwvdGQ+PHRkPjIsMjAwS+KAkzYsNTAwSywgMysgY2hhbm5lbCwgREFMSS0yPC90ZD48dGQ+U2luZ2xlIENDVCBvciBsaW1pdGVkIHR1bmFibGUgcmFuZ2UgKDIsNzAwS+KAkzUsMDAwSyk8L3RkPjwvdHI+PHRyPjx0ZD5FbWVyZ2VuY3kgU3lzdGVtPC90ZD48dGQ+My1ob3VyIExpRmVQTzQgYmF0dGVyeSwgc2VsZi10ZXN0LCBtYWludGFpbmVkIG9wZXJhdGlvbjwvdGQ+PHRkPjkwLW1pbiBOaUNkIG9wdGlvbmFsLCBvZnRlbiBub24tbWFpbnRhaW5lZDwvdGQ+PC90cj48dHI+PHRkPkZsaWNrZXIgQ29udHJvbDwvdGQ+PHRkPklFRUUgMTc4OSBjb21wbGlhbnQsIDwgNSUgZmxpY2tlciBwZXJjZW50YWdlPC90ZD48dGQ+VmFyaWFibGUsIG9mdGVuIG5vdCBzcGVjaWZpZWQ8L3RkPjwvdHI+PHRyPjx0ZD5DbGVhbmluZyBQcm90b2NvbCBSZXNpc3RhbmNlPC90ZD48dGQ+SFBWLCBxdWF0ZXJuYXJ5IGFtbW9uaXVtLCBpc29wcm9weWwgYWxjb2hvbCByYXRlZDwvdGQ+PHRkPlN0YW5kYXJkIGNsZWFuaW5nIG9ubHkg4oCUIGNoZW1pY2FsIGRhbWFnZSByaXNrPC90ZD48L3RyPjx0cj48dGQ+SG91c2luZyBNYXRlcmlhbDwvdGQ+PHRkPlN0YWlubGVzcyBzdGVlbCAzMTZMIG9yIGNoZW1pY2FsbHkgcmVzaXN0YW50IHBvd2RlciBjb2F0PC90ZD48dGQ+U3RhbmRhcmQgYWx1bWludW0gd2l0aCBwb2x5ZXN0ZXIgcG93ZGVyIGNvYXQ8L3RkPjwvdHI+PHRyPjx0ZD5Eb2N1bWVudGF0aW9uPC90ZD48dGQ+Q0IgU2NoZW1lLCBMTS04MCwgcGhvdG9tZXRyaWMgSUVTIGZpbGVzLCBFTUMgcmVwb3J0cywgUmlzayBNYW5hZ2VtZW50IEZpbGU8L3RkPjx0ZD5CYXNpYyBDRS9Sb0hTLCBiYXNpYyBwaG90b21ldHJpYyBkYXRhPC90ZD48L3RyPjx0cj48dGQ+VHlwaWNhbCBQcm9jdXJlbWVudCBFcnJvcjwvdGQ+PHRkPk92ZXItc3BlY2lmeWluZyAoQ1JJIDk1KyBpbiBjb3JyaWRvcnMpIG9yIHVuZGVyLXNwZWNpZnlpbmcgKENSSSA4MCBpbiBzdXJnaWNhbCk8L3RkPjx0ZD5Vc2luZyBjb21tZXJjaWFsLWdyYWRlIGluIHBhdGllbnQtdmljaW5pdHkg4oCUIHJlZ3VsYXRvcnkgdmlvbGF0aW9uPC90ZD48L3RyPjx0cj48dGQ+QmVzdCBGb3I8L3RkPjx0ZD5Ib3NwaXRhbHMsIHN1cmdpY2FsIGNlbnRlcnMsIGNsaW5pY3MsIGRpYWdub3N0aWMgaW1hZ2luZywgbG9uZy10ZXJtIGNhcmU8L3RkPjx0ZD5PZmZpY2VzLCByZXRhaWwsIHdhcmVob3VzZSwgcGFya2luZywgZ2VuZXJhbCBjb21tZXJjaWFsPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2ZpZ3VyZT4KPCEtLSAvd3A6dGFibGUgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5WZXJkaWN0Ojwvc3Ryb25nPiBIb3NwaXRhbC1ncmFkZSBMRUQgbGlnaHRpbmcgaW52b2x2ZXMgYSBzdGVwLWNoYW5nZSBpbiBzcGVjaWZpY2F0aW9uIGNvbXBsZXhpdHkgYW5kIHJlZ3VsYXRvcnkgY29tcGxpYW5jZSByZXF1aXJlbWVudHMgY29tcGFyZWQgdG8gc3RhbmRhcmQgY29tbWVyY2lhbCBMRUQgcHJvY3VyZW1lbnQuIFRoZSBwcmVtaXVtIGlzIGp1c3RpZmllZCBub3QgYnkgdGhlIGx1bWluYWlyZSBjb21wb25lbnQgY29zdCBhbG9uZSBidXQgYnkgdGhlIGNsaW5pY2FsIG91dGNvbWVzIChzaG9ydGVyIHBhdGllbnQgc3RheXMsIGZld2VyIGNvbXBsaWNhdGlvbnMpLCByZWd1bGF0b3J5IGNvbXBsaWFuY2UgKGF2b2lkaW5nIGxpYWJpbGl0eSBhbmQgYWNjcmVkaXRhdGlvbiBpc3N1ZXMpLCBhbmQgb3BlcmF0aW9uYWwgcmVsaWFiaWxpdHkgKGluZmVjdGlvbiBjb250cm9sLCBlbWVyZ2VuY3kgcmVhZGluZXNzKS4gRm9yIEIyQiBidXllcnMgZW50ZXJpbmcgdGhlIGhlYWx0aGNhcmUgdmVydGljYWwsIHRoZSBrZXkgc3VjY2VzcyBmYWN0b3IgaXMgYnVpbGRpbmcgYSBzdXBwbGllciByZWxhdGlvbnNoaXAgd2l0aCBhIG1hbnVmYWN0dXJlciB0aGF0IGhhcyBkZW1vbnN0cmF0ZWQgbWVkaWNhbCBwcm9qZWN0IGV4cGVyaWVuY2UgYW5kIGNhbiBwcm9kdWNlIHRoZSByZXF1aXJlZCBjZXJ0aWZpY2F0aW9uIGRvY3VtZW50YXRpb24g4oCUIG5vdCBqdXN0IGEgY29tcGV0aXRpdmUgbHVtaW5haXJlIHByaWNlLiBUaGUgcHJvY3VyZW1lbnQgc3BlY2lmaWNhdGlvbiBhbmQgZG9jdW1lbnRhdGlvbiBwYWNrYWdlIGlzIGFzIGltcG9ydGFudCBhcyB0aGUgcGh5c2ljYWwgcHJvZHVjdC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPlJlbGF0ZWQ6PC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8va3NpbXBleHAuY29tL3RvdGFsLWxhbmRlZC1jb3N0LWxlZC8iPlRvdGFsIExhbmRlZCBDb3N0IEd1aWRlPC9hPiB8IDxhIGhyZWY9Imh0dHBzOi8va3NpbXBleHAuY29tL2NoaW5lc2UtbGVkLXN1cHBsaWVyLXZlcmlmaWNhdGlvbi8iPlN1cHBsaWVyIFZlcmlmaWNhdGlvbiBDaGVja2xpc3Q8L2E+IHwgPGEgaHJlZj0iaHR0cHM6Ly9rc2ltcGV4cC5jb20vbGVkLWxpZmVzcGFuLWw3MC1sODAtdG0yMS1ndWlkZS1iMmIvIj5MRUQgTGlmZXNwYW4gTDcwL1RNLTIxIEd1aWRlPC9hPiB8IDxhIGhyZWY9Imh0dHBzOi8va3NpbXBleHAuY29tL2xlZC1iZWFtLWFuZ2xlLWd1aWRlLWNvbW1lcmNpYWwtYjJiLyI+TEVEIEJlYW0gQW5nbGUgR3VpZGU8L2E+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+
✎ About This Article
Author: Simon Chen · Published: June 28, 2026 · Last updated: June 28, 2026
This content was produced with AI assistance and reviewed for factual accuracy by Kingseng's editorial team. Technical claims are verified against industry standards (IES LM-79, LM-80, ANSI C78.377, IEC 60598). For procurement decisions, always verify specifications with suppliers directly. Contact us for custom sourcing consultation.