{"blobs":{"797d961b443154944156523aff8fad0649614006d163b4cdf9646434e40ffc2d":"LS0tCm5hbWU6IHByb2R1Y3QtYW5hbHl0aWNzLWV4cGVyaW1lbnRzCmRlc2NyaXB0aW9uOiBVc2Ugd2hlbiBkZWZpbmluZyBzdWNjZXNzIG1ldHJpY3MsIEtQSXMsIGEgbm9ydGggc3RhciBtZXRyaWMsIGd1YXJkcmFpbHMsIGV2ZW50IHRyYWNraW5nIG9yIGEgdHJhY2tpbmcgcGxhbiwgZnVubmVscywgcmV0ZW50aW9uIG9yIGNvaG9ydHMsIG9yIGRlc2lnbmluZyBhbmQgcmVhZGluZyBhbiBBL0IgdGVzdCBvciBwcm9kdWN0IGV4cGVyaW1lbnQ6IGh5cG90aGVzaXMsIHNhbXBsZSBzaXplLCBkdXJhdGlvbiwgc3RvcHBpbmcgcnVsZXMsIHNpZ25pZmljYW5jZS4KbGljZW5zZTogTUlUIEFORCBBcGFjaGUtMi4wCm1ldGFkYXRhOgogIHNvdXJjZTogW2h0dHBzOi8vZ2l0aHViLmNvbS9jb3JleWhhaW5lczMxL21hcmtldGluZ3NraWxscy90cmVlL21haW4vc2tpbGxzL2FiLXRlc3RpbmcsIGh0dHBzOi8vZ2l0aHViLmNvbS9jb3JleWhhaW5lczMxL21hcmtldGluZ3NraWxscy90cmVlL21haW4vc2tpbGxzL2FuYWx5dGljcywgaHR0cHM6Ly9naXRodWIuY29tL3BodXJ5bi9wbS1za2lsbHMvYmxvYi9tYWluL3BtLWRhdGEtYW5hbHl0aWNzL3NraWxscy9hYi10ZXN0LWFuYWx5c2lzL1NLSUxMLm1kLCBodHRwczovL2dpdGh1Yi5jb20vYW50aHJvcGljcy9rbm93bGVkZ2Utd29yay1wbHVnaW5zL3RyZWUvbWFpbi9wcm9kdWN0LW1hbmFnZW1lbnQvc2tpbGxzL21ldHJpY3MtcmV2aWV3XQotLS0KIyBQcm9kdWN0IEFuYWx5dGljcyBhbmQgRXhwZXJpbWVudHMKCk1lYXN1cmUgd2hhdCBpbmZvcm1zIGEgZGVjaXNpb24sIGFuZCBzYXkgcGxhaW5seSB3aGF0IGlzIGFzc3VtZWQuCgojIyBNZXRyaWNzCi0gU3RhcnQgZnJvbSB0aGUgZGVjaXNpb24gYW5kIHRoZSBxdWVzdGlvbnM7IGV2ZXJ5IG1ldHJpYyBhbmQgZXZlbnQgbXVzdCBjaGFuZ2Ugd2hhdCBzb21lb25lIGRvZXMuCi0gT25lIHByaW1hcnkgbWV0cmljIGZvciB0aGUgZ29hbCwgYSBmZXcgaW5wdXQgbWV0cmljcyB0aGUgdGVhbSBjYW4gbW92ZSwgYW5kIGd1YXJkcmFpbHMgdGhhdCBtdXN0IG5vdCBnZXQgd29yc2UgKGVycm9ycywgc3VwcG9ydCB0aWNrZXRzLCByZWZ1bmRzLCBjYW5jZWxsYXRpb25zLCBwZXJmb3JtYW5jZSwgdW5zdWJzY3JpYmVzKS4gQSB3aW4gdGhhdCBicmVha3MgYSBndWFyZHJhaWwgaXMgbm90IGEgd2luLgotIEEgbm9ydGggc3RhciByZWZsZWN0cyB2YWx1ZSBjdXN0b21lcnMgZ2V0LCBub3QgcmV2ZW51ZSBhbG9uZSwgYW5kIHByZWRpY3RzIHJldGVudGlvbi4KLSBEZWZpbmUgZWFjaCBtZXRyaWMgZXhhY3RseTogZXZlbnQsIHBvcHVsYXRpb24sIHRpbWUgd2luZG93LCBob3cgaXQgaXMgY29tcHV0ZWQuICJBY3RpdmUiIG5lZWRzIGEgZGVmaW5pdGlvbi4KLSBUYXJnZXRzIG5lZWQgYSBiYXNlbGluZS4gV2hlbiB0aGVyZSBpcyBub25lLCB3cml0ZSAiYXNzdW1lZCB0YXJnZXQiIGFuZCBob3cgaXQgd2lsbCBiZSBjaGVja2VkOyBuZXZlciBwcmVzZW50IGEgZ3Vlc3NlZCBudW1iZXIgYXMgZGF0YS4KLSBSZWFkIGRpc3RyaWJ1dGlvbnMsIHNlZ21lbnRzIGFuZCBjb2hvcnRzLCBub3Qgb25seSBhdmVyYWdlczsgY29tcGFyZSBhZ2FpbnN0IHRoZSBwcmV2aW91cyBwZXJpb2QgYW5kIHRoZSB0YXJnZXQuCgojIyBUcmFja2luZyBwbGFuCi0gUGVyIGV2ZW50OiBuYW1lIChvYmplY3RfYWN0aW9uLCBsb3dlcmNhc2UsIGUuZy4gc2lnbnVwX2NvbXBsZXRlZCksIHRyaWdnZXIsIHByb3BlcnRpZXMsIGFuZCB0aGUgcXVlc3Rpb24gaXQgYW5zd2Vycy4KLSBDb250ZXh0IGdvZXMgaW50byBwcm9wZXJ0aWVzLCBub3QgaW50byBuZXcgZXZlbnQgbmFtZXMuIE5vIHBlcnNvbmFsIGRhdGEgaW4gcHJvcGVydGllczsgcmVzcGVjdCBjb25zZW50LgotIE51bWVyYXRvcnMgYW5kIGRlbm9taW5hdG9ycyB1c2UgdGhlIHNhbWUgY2xvc2VkIHRpbWUgd2luZG93OyByZWNlbnQgY29ob3J0cyBzdGlsbCBpbnNpZGUgdGhlaXIgd2luZG93IGFyZSBwZW5kaW5nLCBub3QgZmFpbGVkLgotIENvbXB1dGUgdG90YWxzIGFuZCByYXRlcyBmcm9tIHJvdy1sZXZlbCBkYXRhIGFuZCBjcm9zcy1jaGVjayB0aGVtIGEgc2Vjb25kIHdheS4KCiMjIEV4cGVyaW1lbnQgZGVzaWduCi0gSHlwb3RoZXNpczogIkJlY2F1c2UgW2V2aWRlbmNlXSwgd2UgYmVsaWV2ZSBbY2hhbmdlXSB3aWxsIGNhdXNlIFtvdXRjb21lXSBmb3IgW2F1ZGllbmNlXTsgd2Ugd2lsbCBrbm93IHdoZW4gW21ldHJpY10gbW92ZXMgYnkgW2Ftb3VudF0uIgotIE9uZSBtZWFuaW5nZnVsIGNoYW5nZSBwZXIgdmFyaWFudC4gRGVjaWRlIGluIGFkdmFuY2U6IHByaW1hcnkgbWV0cmljLCBndWFyZHJhaWxzLCBtaW5pbXVtIGVmZmVjdCB3b3J0aCBkZXRlY3RpbmcsIHNpZ25pZmljYW5jZSBsZXZlbCAodXN1YWxseSAwLjA1KSBhbmQgcG93ZXIgKHVzdWFsbHkgODAlKS4KLSBDb21wdXRlIHRoZSBzYW1wbGUgcGVyIHZhcmlhbnQgd2l0aCBhIGNhbGN1bGF0b3IgZnJvbSB0aGUgYmFzZWxpbmUgcmF0ZSBhbmQgdGhlIG1pbmltdW0gZWZmZWN0OyBzbWFsbCBlZmZlY3RzIG9uIGxvdyBiYXNlbGluZXMgbmVlZCB2ZXJ5IGxhcmdlIHNhbXBsZXMuCi0gRHVyYXRpb24gPSBuZWVkZWQgc2FtcGxlIMO3IGVsaWdpYmxlIGRhaWx5IHRyYWZmaWMgcGVyIHZhcmlhbnQuIFJ1biBhdCBsZWFzdCBvbmUgZnVsbCB3ZWVrICh0d28gYnVzaW5lc3MgY3ljbGVzIGluIEIyQiksIGF0IG1vc3QgYWJvdXQgNOKAkzggd2Vla3MuIElmIGl0IGlzIGluZmVhc2libGUsIHJhaXNlIHRoZSBtaW5pbXVtIGVmZmVjdCwgdGVzdCBmZXdlciB2YXJpYW50cywgdGVzdCBmdXJ0aGVyIHVwc3RyZWFtLCBvciBkZWNpZGUgd2l0aG91dCBhIHRlc3QuCi0gUmFuZG9taXplIHBlciB1c2VyIGFuZCBrZWVwIGVhY2ggdXNlciBpbiBvbmUgdmFyaWFudC4gU3RhcnQgc21hbGwgKDkwLzEwKSB3aGVuIHRoZSBjaGFuZ2UgaXMgcmlza3kuCgojIyBSdW5uaW5nIGFuZCByZWFkaW5nCi0gTm8gcGVla2luZzogZG8gbm90IHN0b3AgZm9yIGEgd2luIGJlZm9yZSB0aGUgcGxhbm5lZCBzYW1wbGU7IHN0b3AgZWFybHkgb25seSB3aGVuIGEgZ3VhcmRyYWlsIGlzIGNsZWFybHkgaGFybWVkLiBOZXZlciBleHRlbmQgYSBmaW5pc2hlZCB0ZXN0IHRvIGNoYXNlIHNpZ25pZmljYW5jZS4gUmVwZWF0ZWQgbG9va3MgbmVlZCBhIHNlcXVlbnRpYWwgbWV0aG9kIGNob3NlbiB1cCBmcm9udC4KLSBDaGVjayB0aGUgc3BsaXQgbWF0Y2hlcyB0aGUgcGxhbiAoYSBtaXNtYXRjaCBtZWFucyBicm9rZW4gcmFuZG9taXphdGlvbikgYW5kIHdhdGNoIGZvciBub3ZlbHR5IGVmZmVjdHMuCi0gUmVwb3J0IGVmZmVjdCBzaXplIHdpdGggaXRzIGNvbmZpZGVuY2UgaW50ZXJ2YWwsIHRoZSBwLXZhbHVlLCBndWFyZHJhaWxzIGFuZCBwbGFubmVkIHNlZ21lbnRzLiBBIHAtdmFsdWUgaXMgbm90IHRoZSBwcm9iYWJpbGl0eSB0aGF0IHRoZSB2YXJpYW50IGlzIGJldHRlcjsgc2lnbmlmaWNhbmNlIGFsb25lIGRvZXMgbm90IGp1c3RpZnkgc2hpcHBpbmcuCi0gRGVjaWRlOiBjbGVhciB3aW4gd2l0aCBoZWFsdGh5IGd1YXJkcmFpbHMsIHNoaXA7IHdpbiB3aXRoIGEgZ3VhcmRyYWlsIGNvbmNlcm4sIGludmVzdGlnYXRlOyBubyBkaWZmZXJlbmNlLCByZXBvcnQgdGhlIGludGVydmFsIGFuZCBzdG9wOyBsb3NzLCBrZWVwIHRoZSBjb250cm9sIGFuZCBsZWFybiB3aHkuIFVucGxhbm5lZCBzZWdtZW50IGZpbmRpbmdzIGFyZSBleHBsb3JhdG9yeS4KCiMjIEJlZm9yZSB5b3UgZmluaXNoCi0gWyBdIEVhY2ggbWV0cmljIGlzIGRlZmluZWQgd2l0aCBpdHMgd2luZG93IGFuZCBwb3B1bGF0aW9uOyBndWFyZHJhaWxzIGFyZSBuYW1lZC4KLSBbIF0gQXNzdW1lZCB0YXJnZXRzIGFuZCBhc3N1bXB0aW9ucyBhcmUgbWFya2VkIGFzIHN1Y2guCi0gWyBdIFNhbXBsZSBzaXplLCBkdXJhdGlvbiBhbmQgc3RvcHBpbmcgcnVsZSB3ZXJlIHNldCBiZWZvcmUgc3RhcnRpbmcuCi0gWyBdIFJlc3VsdHMgcmVwb3J0IGVmZmVjdCwgdW5jZXJ0YWludHkgYW5kIGd1YXJkcmFpbHMsIG5vdCBvbmx5IHNpZ25pZmljYW5jZS4K","8bd41a5d3bda57281567925b82f60ce352d5edc81383d222baaabf68a20bb354":"cHJvZHVjdC1hbmFseXRpY3MtZXhwZXJpbWVudHM6IHRoaXJkLXBhcnR5IG5vdGljZXMKClRoaXMgc2tpbGwgY29tYmluZXMgT3JxZXN0cmlhJ3Mgb3duIHRleHQgd2l0aCBtYXRlcmlhbCBmcm9tIHRoZSBzb3VyY2VzIGJlbG93LgpBZGFwdGVkIGZvciBPcnFlc3RyaWE6IGNvbmRlbnNlZCBhbmQgY2hhbmdlZC4KCjEuIGNvcmV5aGFpbmVzMzEvbWFya2V0aW5nc2tpbGxzLCBza2lsbHMvYWItdGVzdGluZyBhbmQgc2tpbGxzL2FuYWx5dGljcwogICBodHRwczovL2dpdGh1Yi5jb20vY29yZXloYWluZXMzMS9tYXJrZXRpbmdza2lsbHMvdHJlZS9tYWluL3NraWxscy9hYi10ZXN0aW5nCiAgIExpY2Vuc2U6IE1JVAogICBDb3B5cmlnaHQgKGMpIDIwMjUgQ29yZXkgSGFpbmVzCgoyLiBwaHVyeW4vcG0tc2tpbGxzLCBwbS1kYXRhLWFuYWx5dGljcy9za2lsbHMvYWItdGVzdC1hbmFseXNpcyBhbmQgcG0tbWFya2V0aW5nLWdyb3d0aC9za2lsbHMvbm9ydGgtc3Rhci1tZXRyaWMKICAgaHR0cHM6Ly9naXRodWIuY29tL3BodXJ5bi9wbS1za2lsbHMvYmxvYi9tYWluL3BtLWRhdGEtYW5hbHl0aWNzL3NraWxscy9hYi10ZXN0LWFuYWx5c2lzL1NLSUxMLm1kCiAgIExpY2Vuc2U6IE1JVAogICBDb3B5cmlnaHQgKGMpIDIwMjYgUGF3ZWwgSHVyeW4KCjMuIGFudGhyb3BpY3Mva25vd2xlZGdlLXdvcmstcGx1Z2lucywgcHJvZHVjdC1tYW5hZ2VtZW50L3NraWxscy9tZXRyaWNzLXJldmlldwogICBodHRwczovL2dpdGh1Yi5jb20vYW50aHJvcGljcy9rbm93bGVkZ2Utd29yay1wbHVnaW5zL3RyZWUvbWFpbi9wcm9kdWN0LW1hbmFnZW1lbnQvc2tpbGxzL21ldHJpY3MtcmV2aWV3CiAgIExpY2Vuc2U6IEFwYWNoZS0yLjAKICAgVGhlIHVwc3RyZWFtIExJQ0VOU0UgKEFwYWNoZSBMaWNlbnNlIDIuMCkgbmFtZXMgbm8gY29weXJpZ2h0IGhvbGRlcjsgaXQgaGFzIG9ubHkgdGhlIHRlbXBsYXRlIHBsYWNlaG9sZGVyLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmNvcmV5aGFpbmVzMzEvbWFya2V0aW5nc2tpbGxzLCBza2lsbHMvYWItdGVzdGluZyBhbmQgc2tpbGxzL2FuYWx5dGljcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCk1JVCBMaWNlbnNlCgpDb3B5cmlnaHQgKGMpIDIwMjUgQ29yZXkgSGFpbmVzCgpQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cm9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCmluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbApjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbApjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCkZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQpBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCk9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFClNPRlRXQVJFLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CnBodXJ5bi9wbS1za2lsbHMsIHBtLWRhdGEtYW5hbHl0aWNzL3NraWxscy9hYi10ZXN0LWFuYWx5c2lzIGFuZCBwbS1tYXJrZXRpbmctZ3Jvd3RoL3NraWxscy9ub3J0aC1zdGFyLW1ldHJpYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCk1JVCBMaWNlbnNlCgpDb3B5cmlnaHQgKGMpIDIwMjYgUGF3ZWwgSHVyeW4KClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKU09GVFdBUkUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQXBhY2hlIExpY2Vuc2UgMi4wLCBmb3I6IGFudGhyb3BpY3Mva25vd2xlZGdlLXdvcmstcGx1Z2lucywgcHJvZHVjdC1tYW5hZ2VtZW50L3NraWxscy9tZXRyaWNzLXJldmlldwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwYWNoZSBMaWNlbnNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMi4wLCBKYW51YXJ5IDIwMDQKICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLwoKICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIFVTRSwgUkVQUk9EVUNUSU9OLCBBTkQgRElTVFJJQlVUSU9OCgogICAxLiBEZWZpbml0aW9ucy4KCiAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sCiAgICAgIGFuZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgoKICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkKICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgoKICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbAogICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCiAgICAgIGNvbnRyb2wgd2l0aCB0aGF0IGVudGl0eS4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sCiAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQogICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgogICAgICBvdGhlcndpc2UsIG9yIChpaSkgb3duZXJzaGlwIG9mIGZpZnR5IHBlcmNlbnQgKDUwJSkgb3IgbW9yZSBvZiB0aGUKICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4KCiAgICAgICJZb3UiIChvciAiWW91ciIpIHNoYWxsIG1lYW4gYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KCiAgICAgICJTb3VyY2UiIGZvcm0gc2hhbGwgbWVhbiB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLAogICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uCiAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCgogICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbAogICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0CiAgICAgIG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwKICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgoKICAgICAgIldvcmsiIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9yc2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3IKICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQogICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKICAgICAgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4KCiAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKICAgICAgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZQogICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zCiAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCiAgICAgIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbgogICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsCiAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCgogICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZwogICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCiAgICAgIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseQogICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyCiAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgogICAgICB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIKICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudAogICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bwogICAgICBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLAogICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQogICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKICAgICAgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UKICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCgogICAgICAiQ29udHJpYnV0b3IiIHNoYWxsIG1lYW4gTGljZW5zb3IgYW5kIGFueSBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQogICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCgogICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAogICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQogICAgICBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwKICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCiAgICAgIFdvcmsgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uCgogICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAogICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQogICAgICAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKICAgICAgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssCiAgICAgIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlCiAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCiAgICAgIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykKICAgICAgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UKICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEKICAgICAgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yawogICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdAogICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCiAgICAgIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZQogICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCgogICA0LiBSZWRpc3RyaWJ1dGlvbi4gWW91IG1heSByZXByb2R1Y2UgYW5kIGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZQogICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UKICAgICAgbWVldCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgogICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgogICAgICAgICAgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQKCiAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKICAgICAgICAgIHN0YXRpbmcgdGhhdCBZb3UgY2hhbmdlZCB0aGUgZmlsZXM7IGFuZAoKICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCiAgICAgICAgICB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbGwgY29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kCiAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLAogICAgICAgICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZgogICAgICAgICAgdGhlIERlcml2YXRpdmUgV29ya3M7IGFuZAoKICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCiAgICAgICAgICBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSBtdXN0CiAgICAgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQKICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAogICAgICAgICAgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25lCiAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZAogICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgogICAgICAgICAgZG9jdW1lbnRhdGlvbiwgaWYgcHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsCiAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kCiAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKICAgICAgICAgIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQKICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uCiAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQogICAgICAgICAgb3IgYXMgYW4gYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0IGZyb20gdGhlIFdvcmssIHByb3ZpZGVkCiAgICAgICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBjb25zdHJ1ZWQKICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KCiAgICAgIFlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZAogICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCiAgICAgIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgb3IgZGlzdHJpYnV0aW9uIG9mIFlvdXIgbW9kaWZpY2F0aW9ucywgb3IKICAgICAgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsCiAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAogICAgICB0aGUgY29uZGl0aW9ucyBzdGF0ZWQgaW4gdGhpcyBMaWNlbnNlLgoKICAgNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAogICAgICBhbnkgQ29udHJpYnV0aW9uIGludGVudGlvbmFsbHkgc3VibWl0dGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsKICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCiAgICAgIE5vdHdpdGhzdGFuZGluZyB0aGUgYWJvdmUsIG5vdGhpbmcgaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBvciBtb2RpZnkKICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgoKICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQogICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCiAgICAgIGV4Y2VwdCBhcyByZXF1aXJlZCBmb3IgcmVhc29uYWJsZSBhbmQgY3VzdG9tYXJ5IHVzZSBpbiBkZXNjcmliaW5nIHRoZQogICAgICBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4KCiAgIDcuIERpc2NsYWltZXIgb2YgV2FycmFudHkuIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvcgogICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdvcmsgKGFuZCBlYWNoCiAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAogICAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IKICAgICAgaW1wbGllZCwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMKICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQogICAgICBQQVJUSUNVTEFSIFBVUlBPU0UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUKICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55CiAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KCiAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAogICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwKICAgICAgdW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IChzdWNoIGFzIGRlbGliZXJhdGUgYW5kIGdyb3NzbHkKICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUKICAgICAgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAogICAgICBpbmNpZGVudGFsLCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb2YgYW55IGNoYXJhY3RlciBhcmlzaW5nIGFzIGEKICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQogICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsCiAgICAgIHdvcmsgc3RvcHBhZ2UsIGNvbXB1dGVyIGZhaWx1cmUgb3IgbWFsZnVuY3Rpb24sIG9yIGFueSBhbmQgYWxsCiAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgoKICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZwogICAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAogICAgICBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwgaW5kZW1uaXR5LAogICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcwogICAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQogICAgICBvbiBZb3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFsZgogICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksCiAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQogICAgICBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uCiAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgoKICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCg=="},"entities":{"agents":[],"projects":[],"skills":[{"files":[{"blob":"8bd41a5d3bda57281567925b82f60ce352d5edc81383d222baaabf68a20bb354","executable":false,"path":"LICENSE.txt"},{"blob":"797d961b443154944156523aff8fad0649614006d163b4cdf9646434e40ffc2d","executable":false,"path":"SKILL.md"}],"id":"skill-product-analytics-experiments","name":"product-analytics-experiments","origin":"orqestria-builtin-skill-product-analytics-experiments","version":"1.0.0+e38ba72e23726f4dd60ced4b"}],"teams":[],"workflows":[]},"format":"orqestria.bundle","package":{"description":"product-analytics-experiments: Explore product opportunities, customer needs and experiments that connect new ideas to a concrete business outcome.","id":"orqestria-skill-product-analytics-experiments","kind":"skill","name":"product-analytics-experiments","readme":"# product-analytics-experiments\n\nproduct-analytics-experiments: Explore product opportunities, customer needs and experiments that connect new ideas to a concrete business outcome.\n\nIncludes the complete skill and its supporting files (2 files). The exact authored scope is preserved below.\n\nOriginal skill description (source language)\n\nUse when defining success metrics, KPIs, a north star metric, guardrails, event tracking or a tracking plan, funnels, retention or cohorts, or designing and reading an A/B test or product experiment: hypothesis, sample size, duration, stopping rules, significance.\n\nInstall the skill, review its source and trust settings, then enable it for the relevant project or agent.","requirements":["Orqestria installed on your computer."],"root":"skill-product-analytics-experiments","version":"1.0.0+26390fdb9c1d045534ebadbe"},"schemaVersion":1}
