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AApDb3B5cmlnaHQgKEMpIDE5OTYgSWFuIEphY2tzb24KQ29weXJpZ2h0IChDKSAxOTk3IEtsZWUgRGllbmVzCkNvcHlyaWdodCAoQykgMjAwOCBSYXBoYWVsIEhlcnR6b2cACkNvcHlyaWdodCAoQykgMTk5NiBJYW4gSmFja3Nvbi4ACkNvcHlyaWdodCAoQykgMTk5NiBJYW4gSmFja3Nvbi4KQ29weXJpZ2h0IChDKSAyMDAwIFdpY2hlcnQgQWtrZXJtYW4KQ29weXJpZ2h0IChDKSAyMDA3IEZyYW5rIExpY2h0ZW5oZWxkAApDb3B5cmlnaHQgKEMpIDE5OTYgSWFuIEphY2tzb24uCkNvcHlyaWdodCAoQykgMjAwMCBXaWNoZXJ0IEFra2VybWFuLgpDb3B5cmlnaHQgKEMpIDIwMDYgRnJhbmsgTGljaHRlbmhlbGQuCkNvcHlyaWdodCAoQykgMjAwNyBSYXBoYWVsIEhlcnR6b2cuCgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMSBXaWNoZXJ0IEFra2VybWFuLgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMiBXaWNoZXJ0IEFra2VybWFuLgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDEgV2ljaGVydCBBa2tlcm1hbgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDUsMjAwNyBGcmFuayBMaWNodGVuaGVsZC4ACkNvcHlyaWdodCAoQykgMTk5OS0yMDAxIE1hcmN1cyBCcmlua21hbm4gPGJyaW5rbWRAZGViaWFuLm9yZz4uCkNvcHlyaWdodCAoQykgMjAwNC0yMDA1IFNjb3R0IEphbWVzIFJlbW5hbnQgPHNjb3R0QG5ldHNwbGl0LmNvbT4uAApDb3B5cmlnaHQgKEMpIDIwMDcgUmFwaGFlbCBIZXJ0em9nLgoACk9wdGlvbnM6CiAgLWEsIC0tbm8tYXJjaGl0ZWN0dXJlICAgIG5vIGFyY2hpdGVjdHVyZSBwYXJ0IGluIGZpbGVuYW1lLgogIC1vLCAtLW92ZXJ3cml0ZSAgICAgICAgICBvdmVyd3JpdGUgaWYgZmlsZSBleGlzdHMuCiAgLWssIC0tc3ltbGluayAgICAgICAgICAgIGRvbid0IGNyZWF0ZSBhIG5ldyBmaWxlLCBidXQgYSBzeW1saW5rLgogIC1zLCAtLXN1YmRpciBbZGlyXSAgICAgICBtb3ZlIGZpbGUgaW50byBzdWJkaXIgKHVzZSB3aXRoIGNhcmUpLgogIC1jLCAtLWNyZWF0ZS1kaXIgICAgICAgICBjcmVhdGUgdGFyZ2V0IGRpciBpZiBub3QgdGhlcmUgKHVzZSB3aXRoIGNhcmUpLgogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBzaG93IHRoaXMgaGVscCBtZXNzYWdlLgogIC12LCAtLXZlcnNpb24gICAgICAgICAgICBzaG93IHRoZSB2ZXJzaW9uLgoKZmlsZS5kZWIgY2hhbmdlcyB0byA8cGFja2FnZT5fPHZlcnNpb24+XzxhcmNoaXRlY3R1cmU+LjxwYWNrYWdlX3R5cGU+CmFjY29yZGluZyB0byB0aGUgJ3VuZGVyc2NvcmVzIGNvbnZlbnRpb24nLgoAClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgb3IKbGF0ZXIgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gVGhlcmUgaXMgTk8gd2FycmFudHkuCgAKVXNhZ2U6ICVzIFs8b3B0aW9ucz4gLi4uXQoKT3B0aW9uczoKICAtcjxnYWluLXJvb3QtY29tbWFuZD4KICAgICAgICAgICAgICAgICBjb21tYW5kIHRvIGdhaW4gcm9vdCBwcml2aWxlZ2VzIChkZWZhdWx0IGlzIGZha2Vyb290KS4KICAtUjxydWxlcz4gICAgICBydWxlcyBmaWxlIHRvIGV4ZWN1dGUgKGRlZmF1bHQgaXMgZGViaWFuL3J1bGVzKS4KICAtcDxzaWduLWNvbW1hbmQ+CiAgLWQgICAgICAgICAgICAgZG8gbm90IGNoZWNrIGJ1aWxkIGRlcGVuZGVuY2llcyBhbmQgY29uZmxpY3RzLgogIC1EICAgICAgICAgICAgIGNoZWNrIGJ1aWxkIGRlcGVuZGVuY2llcyBhbmQgY29uZmxpY3RzLgogIC1UPHRhcmdldD4gICAgIGNhbGwgZGViaWFuL3J1bGVzIDx0YXJnZXQ+IHdpdGggdGhlIHByb3BlciBlbnZpcm9ubWVudAogIC0tYXMtcm9vdCAgICAgIGVuc3VyZSAtVCBjYWxscyB0aGUgdGFyZ2V0IHdpdGggcm9vdCByaWdodHMKICAtals8bnVtYmVyPl0gICBzcGVjaWZ5IGpvYnMgdG8gcnVuIHNpbXVsdGFuZW91c2x5IH0gcGFzc2VkIHRvIGRlYmlhbi9ydWxlcwogIC1rPGtleWlkPiAgICAgIHRoZSBrZXkgdG8gdXNlIGZvciBzaWduaW5nLgogIC1zZ3BnICAgICAgICAgIHRoZSBzaWduLWNvbW1hbmQgaXMgY2FsbGVkIGxpa2UgR1BHLgogIC1zcGdwICAgICAgICAgIHRoZSBzaWduLWNvbW1hbmQgaXMgY2FsbGVkIGxpa2UgUEdQLgogIC11cyAgICAgICAgICAgIHVuc2lnbmVkIHNvdXJjZS4KICAtdWMgICAgICAgICAgICB1bnNpZ25lZCBjaGFuZ2VzLgogIC1hPGFyY2g+ICAgICAgIERlYmlhbiBhcmNoaXRlY3R1cmUgd2UgYnVpbGQgZm9yIChpbXBsaWVzIC1kKS4KICAtYiAgICAgICAgICAgICBiaW5hcnktb25seSwgZG8gbm90IGJ1aWxkIHNvdXJjZS4gICB9IGFsc28gcGFzc2VkIHRvCiAgLUIgICAgICAgICAgICAgYmluYXJ5LW9ubHksIG5vIGFyY2gtaW5kZXAgZmlsZXMuICAgfSBkcGtnLWdlbmNoYW5nZXMKICAtQSAgICAgICAgICAgICBiaW5hcnktb25seSwgb25seSBhcmNoLWluZGVwIGZpbGVzLiB9CiAgLVMgICAgICAgICAgICAgc291cmNlIG9ubHksIG5vIGJpbmFyeSBmaWxlcy4gICAgIH0KICAtRiAgICAgICAgICAgICBub3JtYWwgZnVsbCBidWlsZCAoYmluYXJpZXMgYW5kIHNvdXJjZXMpLgogIC10PHN5c3RlbT4gICAgIHNldCBHTlUgc3lzdGVtIHR5cGUuICAgICAgICAgICB9IHBhc3NlZCB0byBkcGtnLWFyY2hpdGVjdHVyZQogIC12PHZlcnNpb24+ICAgIGNoYW5nZXMgc2luY2UgdmVyc2lvbiA8dmVyc2lvbj4uICAgICAgfQogIC1tPG1haW50PiAgICAgIG1haW50YWluZXIgZm9yIHBhY2thZ2UgaXMgPG1haW50Pi4gICAgfQogIC1lPG1haW50PiAgICAgIG1haW50YWluZXIgZm9yIHJlbGVhc2UgaXMgPG1haW50Pi4gICAgfSBvbmx5IHBhc3NlZAogIC1DPGRlc2NmaWxlPiAgIGNoYW5nZXMgYXJlIGRlc2NyaWJlZCBpbiA8ZGVzY2ZpbGU+LiAgfSB0byBkcGtnLWdlbmNoYW5nZXMKICAtc2kgKGRlZmF1bHQpICBzcmMgaW5jbHVkZXMgb3JpZyBpZiBuZXcgdXBzdHJlYW0uICAgIH0KICAtc2EgICAgICAgICAgICB1cGxvYWRlZCBzcmMgYWx3YXlzIGluY2x1ZGVzIG9yaWcuICAgIH0KICAtc2QgICAgICAgICAgICB1cGxvYWRlZCBzcmMgaXMgZGlmZiBhbmQgLmRzYyBvbmx5LiAgIH0KICAtc24gICAgICAgICAgICBmb3JjZSBEZWJpYW4gbmF0aXZlIHNvdXJjZSBmb3JtYXQuICAgICAgfQogIC1zW3NBa3VyS1VSXSAgIHNlZSBkcGtnLXNvdXJjZSBmb3IgZXhwbGFuYXRpb24uICAgICAgICB9IG9ubHkgcGFzc2VkCiAgLXo8bGV2ZWw+ICAgICAgY29tcHJlc3Npb24gbGV2ZWwgb2Ygc291cmNlICAgICAgICAgICAgIH0gdG8gZHBrZy1zb3VyY2UKICAtWjxjb21wcmVzc29yPiBjb21wcmVzc2lvbiB0byB1c2UgZm9yIHNvdXJjZSAgICAgICAgICAgfQogIC1uYyAgICAgICAgICAgIGRvIG5vdCBjbGVhbiBzb3VyY2UgdHJlZSAoaW1wbGllcyAtYikuCiAgLXRjICAgICAgICAgICAgY2xlYW4gc291cmNlIHRyZWUgd2hlbiBmaW5pc2hlZC4KICAtYXAgICAgICAgICAgICBhZGQgcGF1c2UgYmVmb3JlIHN0YXJ0aW5nIHNpZ25hdHVyZSBwcm9jZXNzLgogIC1pWzxyZWdleD5dICAgIGlnbm9yZSBkaWZmcyBvZiBmaWxlcyBtYXRjaGluZyByZWdleC4gICAgfSBvbmx5IHBhc3NlZAogIC1JWzxwYXR0ZXJuPl0gIGZpbHRlciBvdXQgZmlsZXMgd2hlbiBidWlsZGluZyB0YXJiYWxscy4gfSB0byBkcGtnLXNvdXJjZQogIC0tc291cmNlLW9wdGlvbj08b3B0PgoJCSBwYXNzIG9wdGlvbiA8b3B0PiB0byBkcGtnLXNvdXJjZQogIC0tY2hhbmdlcy1vcHRpb249PG9wdD4KCQkgcGFzcyBvcHRpb24gPG9wdD4gdG8gZHBrZy1nZW5jaGFuZ2VzCiAgLS1hZG1pbmRpcj08ZGlyZWN0b3J5PgogICAgICAgICAgICAgICAgIGNoYW5nZSB0aGUgYWRtaW5pc3RyYXRpdmUgZGlyZWN0b3J5LgogIC1oLCAtLWhlbHAgICAgIHNob3cgdGhpcyBoZWxwIG1lc3NhZ2UuCiAgICAgIC0tdmVyc2lvbiAgc2hvdyB0aGUgdmVyc2lvbi4KACAgJXMgKHBhY2thZ2Ugc2F5cyAlcywgbm90ICVzKQAgIG5ldyB2ZXJzaW9uIGlzICVzACAgb2xkIHZlcnNpb24gaXMgJXMAJE9SSUdJTiBpcyB1c2VkIGluIFJQQVRIIG9mICVzIGFuZCB0aGUgY29ycmVzcG9uZGluZyBkaXJlY3RvcnkgY291bGQgbm90IGJlIGlkZW50aWZpZWQgZHVlIHRvIGxhY2sgb2YgREVCSUFOIHN1Yi1kaXJlY3RvcnkgaW4gdGhlIHJvb3Qgb2YgcGFja2FnZSdzIGJ1aWxkIHRyZWUAJWQgc2ltaWxhciB3YXJuaW5nIGhhcyBiZWVuIHNraXBwZWQgKHVzZSAtdiB0byBzZWUgaXQpLgAlZCBvdGhlciBzaW1pbGFyIHdhcm5pbmdzIGhhdmUgYmVlbiBza2lwcGVkICh1c2UgLXYgdG8gc2VlIHRoZW0gYWxsKS4AJXMgY29udGFpbnMgYW4gaW5zZWN1cmUgcGF0aDogJXMAJXMgY29udGFpbnMgYW4gdW5yZXNvbHZhYmxlIHJlZmVyZW5jZSB0byBzeW1ib2wgJXM6IGl0J3MgcHJvYmFibHkgYSBwbHVnaW4uACVzIGRpZG4ndCBjb21wbGV0ZSBpbiAlZCBzZWNvbmQAJXMgZGlkbid0IGNvbXBsZXRlIGluICVkIHNlY29uZHMAJXMgZGllZCBmcm9tIHNpZ25hbCAlcwAlcyBkb2VzIG5vdCBleGlzdAAlcyBkb2Vzbid0IGNvbnRhaW4gYSB2YWxpZCBPcGVuUEdQIHNpZ25hdHVyZQAlcyBkb2Vzbid0IG1hdGNoIGNvbXBsZXRlbHkgJXMAJXMgZmFpbGVkIHdpdGggdW5rbm93biBleGl0IGNvZGUgJWQAJXMgZmllbGQgb2YgcGFja2FnZSAlczogACVzIGZpbGUAJXMgZ2F2ZSBlcnJvciBleGl0IHN0YXR1cyAlcwAlcyBoYXMgYW4gdW5leHBlY3RlZCBTT05BTUUgKCVzKQAlcyBpcyBhIHN5bWxpbmsAJXMgaXMgYSBzeW1saW5rIHRvIG91dHNpZGUgJXMAJXMgaXMgZW1wdHkAJXMgaXMgbm90IGEgY29tcHJlc3Npb24gbGV2ZWwAJXMgaXMgbm90IGEgcGxhaW4gZmlsZQAlcyBpcyBub3QgYSBzdXBwb3J0ZWQgY29tcHJlc3Npb24AJXMgaXMgbm90IGEgc3VwcG9ydGVkIGNvbXByZXNzaW9uIG1ldGhvZAAlcyBpcyBub3QgYSBzdXBwb3J0ZWQgdmFyaWFibGUgbmFtZQAlcyBpcyBub3QgYSB2YWxpZCBvcHRpb24gZm9yICVzACVzIGlzIG5vdCBhIHZhbGlkIHZlcnNpb24AJXMgaXMgbm90IHRoZSBuYW1lIG9mIGEgZmlsZQAlcyBuZWVkcyBhIGRpcmVjdG9yeQAlcyBuZWVkcyBhIHBhcmFtZXRlcgAlcyBwYWNrYWdlIHdpdGggdWRlYiBzcGVjaWZpYyBmaWVsZCAlcwAlcyBzaG91bGQgYmUgYSBkaXJlY3Rvcnkgb3Igbm9uLWV4aXN0aW5nACVzIHNob3VsZCBiZSBhIGZpbGUgb3Igbm9uLWV4aXN0aW5nACVzIHNob3VsZG4ndCBiZSBsaW5rZWQgd2l0aCAlcyAoaXQgdXNlcyBub25lIG9mIGl0cyBzeW1ib2xzKS4AJXMobCVzKTogJXMAJXMobCVzKTogJXMKTElORTogJXMAJXM6IEJ1aWxkIGNvbmZsaWN0czogACVzOiBVbm1ldCBidWlsZCBkZXBlbmRlbmNpZXM6IAAlczogYXJjaC1pbmRlcCB1cGxvYWQgLSBub3QgaW5jbHVkaW5nIGFyY2gtc3BlY2lmaWMgcGFja2FnZXMAJXM6IGFyY2gtc3BlY2lmaWMgdXBsb2FkIC0gbm90IGluY2x1ZGluZyBhcmNoLWluZGVwZW5kZW50IHBhY2thZ2VzACVzOiB1bnJlcHJlc2VudGFibGUgY2hhbmdlcyB0byBzb3VyY2UAJyVzJyBvcHRpb24gc3BlY2lmaWVzIG5vbi1leGlzdGluZyB2ZXJzaW9uACdoYXJkZW5pbmcnIGZsYWcgZm91bmQgYnV0ICdoYXJkZW5pbmctd3JhcHBlcicgbm90IGluc3RhbGxlZAAnb2Zmc2V0JyB3aXRob3V0ICdjb3VudCcgaGFzIG5vIGVmZmVjdAAnc2luY2UnIG9wdGlvbiBzcGVjaWZpZXMgbW9zdCByZWNlbnQgdmVyc2lvbiwgaWdub3JpbmcAJ3VudGlsJyBvcHRpb24gc3BlY2lmaWVzIG9sZGVzdCB2ZXJzaW9uLCBpZ25vcmluZwAoVXNlIC1kIGZsYWcgdG8gb3ZlcnJpZGUuKQAtLXRhcmdldC1mb3JtYXQgb3B0aW9uIGlzIG1pc3NpbmcALUUgYW5kIC1XIGFyZSBkZXByZWNhdGVkLCB0aGV5IGFyZSB3aXRob3V0IGVmZmVjdAAtYiB0YWtlcyBhdCBtb3N0IGEgZGlyZWN0b3J5IGFuZCBhbiBvcmlnIHNvdXJjZSBhcmd1bWVudCAod2l0aCB2MS4wIHNvdXJjZSBwYWNrYWdlKQAtYiB0YWtlcyBvbmx5IG9uZSBwYXJhbWV0ZXIgd2l0aCBmb3JtYXQgYCVzJwAtcyVzIG9wdGlvbiBvdmVycmlkZXMgZWFybGllciAtcyVzIG9wdGlvbgAtdSwgLS11ZGViIG9wdGlvbiBpcyBkZXByZWNhdGVkIChzZWUgUkVBRE1FLmZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZSkALXggbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LCB0aGUgLmRzYwAteCBuZWVkcyB0aGUgLmRzYyBmaWxlIGFzIGZpcnN0IGFyZ3VtZW50LCBub3QgYSBkaXJlY3RvcnkALXggdGFrZXMgbm8gbW9yZSB0aGFuIHR3byBhcmd1bWVudHMALm9yaWcgZGlyZWN0b3J5IG5hbWUgJXMgaXMgbm90IDxwYWNrYWdlPi08dXBzdHJlYW12ZXJzaW9uPiAod2FudGVkICVzKQAub3JpZy50YXIgbmFtZSAlcyBpcyBub3QgPHBhY2thZ2U+Xzx1cHN0cmVhbXZlcnNpb24+Lm9yaWcudGFyICh3YW50ZWQgJXMpADxjb250cm9sLWZpbGU+IGlzIHRoZSBjb250cm9sIGZpbGUgdG8gcHJvY2VzcyAoZGVmYXVsdDogZGViaWFuL2NvbnRyb2wpLgA8c3RhbmRhcmQgaW5wdXQ+ADxzdGFuZGFyZCBvdXRwdXQ+AEJpbmFyeSBkaXIgJXMgbm90IGZvdW5kAEJ1aWxkIGRlcGVuZGVuY2llcy9jb25mbGljdHMgdW5zYXRpc2ZpZWQ7IGFib3J0aW5nLgBCdWlsZCBvcHRpb25zOgogIC1jPGNvbnRyb2xmaWxlPiAgICAgICAgICBnZXQgY29udHJvbCBpbmZvIGZyb20gdGhpcyBmaWxlLgogIC1sPGNoYW5nZWxvZ2ZpbGU+ICAgICAgICBnZXQgcGVyLXZlcnNpb24gaW5mbyBmcm9tIHRoaXMgZmlsZS4KICAtRjxjaGFuZ2Vsb2dmb3JtYXQ+ICAgICAgZm9yY2UgY2hhbmdlIGxvZyBmb3JtYXQuCiAgLVY8bmFtZT49PHZhbHVlPiAgICAgICAgIHNldCBhIHN1YnN0aXR1dGlvbiB2YXJpYWJsZS4KICAtVDx2YXJsaXN0ZmlsZT4gICAgICAgICAgcmVhZCB2YXJpYWJsZXMgaGVyZS4KICAtRDxmaWVsZD49PHZhbHVlPiAgICAgICAgb3ZlcnJpZGUgb3IgYWRkIGEgLmRzYyBmaWVsZCBhbmQgdmFsdWUuCiAgLVU8ZmllbGQ+ICAgICAgICAgICAgICAgIHJlbW92ZSBhIGZpZWxkLgogIC1xICAgICAgICAgICAgICAgICAgICAgICBxdWlldCBtb2RlLgogIC1pWzxyZWdleHA+XSAgICAgICAgICAgICBmaWx0ZXIgb3V0IGZpbGVzIHRvIGlnbm9yZSBkaWZmcyBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0cyB0bzogJyVzJykuCiAgLUlbPHBhdHRlcm4+XSAgICAgICAgICAgIGZpbHRlciBvdXQgZmlsZXMgd2hlbiBidWlsZGluZyB0YXJiYWxscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0cyB0bzogJXMpLgogIC1aPGNvbXByZXNzaW9uPiAgICAgICAgICBzZWxlY3QgY29tcHJlc3Npb24gdG8gdXNlIChkZWZhdWx0cyB0byAnJXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCBhcmU6ICVzKS4KICAtejxsZXZlbD4gICAgICAgICAgICAgICAgY29tcHJlc3Npb24gbGV2ZWwgdG8gdXNlIChkZWZhdWx0cyB0byAnJWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCBhcmU6ICcxJy0nOScsICdiZXN0JywgJ2Zhc3QnKQBDYW4ndCBleHRyYWN0IG5hbWUgYW5kIHZlcnNpb24gZnJvbSBsaWJyYXJ5IG5hbWUgYCVzJwBDYW4ndCBtZXJnZSBzeW1ib2xzIGZyb20gb2JqZWN0cyB3aXRob3V0IFNPTkFNRS4AQ2FuJ3QgcmVhZCBkaXJlY3RvcnkgJXM6ICVzAENhbm5vdCBjb250aW51ZSBkdWUgdG8gdGhlIGVycm9yIGFib3ZlLgBDYW5ub3QgY29udGludWUgZHVlIHRvIHRoZSBlcnJvcnMgbGlzdGVkIGFib3ZlLgBDb25mbGljdGluZyBjaGVja3N1bXMgYCVzJyBhbmQgYCVzJyBmb3IgZmlsZSBgJXMnAENvbmZsaWN0aW5nIGZpbGUgc2l6ZXMgYCV1JyBhbmQgYCV1JyBmb3IgZmlsZSBgJXMnAENvcHlyaWdodCAoQykgMjAwOS0yMDEwIFJhcGhhZWwgSGVydHpvZy4AQ291bGRuJ3QgY2xvc2Ugc3Rkb3V0AENvdWxkbid0IGRldGVybWluZSBnY2Mgc3lzdGVtIHR5cGUsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IChuYXRpdmUgY29tcGlsYXRpb24pAENvdWxkbid0IG9wZW4gJXMgZm9yIHJlYWRpbmcAQ291bGRuJ3QgcGFyc2UgZHluYW1pYyByZWxvY2F0aW9uIHJlY29yZDogJXMAQ291bGRuJ3QgcGFyc2UgZHluYW1pYyBzeW1ib2wgZGVmaW5pdGlvbjogJXMARGViaWFuICVzIHZlcnNpb24gJXMuCgBEZWZhdWx0IEdOVSBzeXN0ZW0gdHlwZSAlcyBmb3IgRGViaWFuIGFyY2ggJXMgZG9lcyBub3QgbWF0Y2ggc3BlY2lmaWVkIEdOVSBzeXN0ZW0gdHlwZSAlcwBEcGtnOjpDb21wcmVzc2lvbjo6UHJvY2VzcyBjYW4gb25seSBzdGFydCBvbmUgc3VicHJvY2VzcyBhdCBhIHRpbWUARW50ZXIgdGhlIGRlc2lyZWQgcGF0Y2ggbmFtZTogAEV4dHJhY3Qgb3B0aW9uczoKICAtLW5vLWNvcHkgICAgICAgICAgICAgICAgZG9uJ3QgY29weSAub3JpZyB0YXJiYWxscwogIC0tbm8tY2hlY2sgICAgICAgICAgICAgICBkb24ndCBjaGVjayBzaWduYXR1cmUgYW5kIGNoZWNrc3VtcyBiZWZvcmUgdW5wYWNraW5nCiAgLS1yZXF1aXJlLXZhbGlkLXNpZ25hdHVyZSBhYm9ydCBpZiB0aGUgcGFja2FnZSBkb2Vzbid0IGhhdmUgYSB2YWxpZCBzaWduYXR1cmUARmFpbGVkIHRvIHBhcnNlIGEgbGluZSBpbiAlczogJXMARmFpbGVkIHRvIHBhcnNlIGxpbmUgaW4gJXM6ICVzAEZhaWxlZCB0byBzaWduIC5jaGFuZ2VzIGZpbGUARmFpbGVkIHRvIHNpZ24gLmRzYyBhbmQgLmNoYW5nZXMgZmlsZQBGYWlsZWQgd2hlbiB3cml0aW5nIHN0ZG91dABGaWxlICVzIGhhcyBjaGVja3N1bSAlcyBpbnN0ZWFkIG9mIGV4cGVjdGVkICVzIChhbGdvcml0aG0gJXMpAEZpbGUgJXMgaGFzIHNpemUgJXUgaW5zdGVhZCBvZiBleHBlY3RlZCAldQBGb3JtYXQgYDMuMCAoY3VzdG9tKScgaXMgb25seSB1c2VkIHRvIGNyZWF0ZSBzb3VyY2UgcGFja2FnZXMAR2VuZXJhbCBvcHRpb25zOgogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBzaG93IHRoaXMgaGVscCBtZXNzYWdlLgogICAgICAtLXZlcnNpb24gICAgICAgICAgICBzaG93IHRoZSB2ZXJzaW9uLgBJbGxlZ2FsIHBhY2thZ2UgbmFtZSBgJXMnAE1vcmUgb3B0aW9ucyBhcmUgYXZhaWxhYmxlIGJ1dCB0aGV5IGRlcGVuZCBvbiB0aGUgc291cmNlIHBhY2thZ2UgZm9ybWF0LgpTZWUgZHBrZy1zb3VyY2UoMSkgZm9yIG1vcmUgaW5mby4ATm8gUGFja2FnZSBmaWVsZCBpbiBjb250cm9sIGZpbGUgb2YgJXMATm90ZTogbGlicmFyaWVzIGFyZSBub3Qgc2VhcmNoZWQgaW4gb3RoZXIgYmluYXJ5IHBhY2thZ2VzIHRoYXQgZG8gbm90IGhhdmUgYW55IHNobGlicyBvciBzeW1ib2xzIGZpbGUuClRvIGhlbHAgZHBrZy1zaGxpYmRlcHMgZmluZCBwcml2YXRlIGxpYnJhcmllcywgeW91IG1pZ2h0IG5lZWQgdG8gc2V0IExEX0xJQlJBUllfUEFUSC4AT2JqZHVtcCBjb3VsZG4ndCBwYXJzZSAlcwoAT3B0aW9uczoKICAtQiAgICAgICAgICAgICBiaW5hcnktb25seSwgaWdub3JlIC1JbmRlcC4KICAtZCBidWlsZC1kZXBzICB1c2UgZ2l2ZW4gc3RyaW5nIGFzIGJ1aWxkIGRlcGVuZGVuY2llcyBpbnN0ZWFkIG9mCiAgICAgICAgICAgICAgICAgcmV0cmlldmluZyB0aGVtIGZyb20gY29udHJvbCBmaWxlCiAgLWMgYnVpbGQtY29uZiAgdXNlIGdpdmVuIHN0cmluZyBmb3IgYnVpbGQgY29uZmxpY3RzIGluc3RlYWQgb2YKICAgICAgICAgICAgICAgICByZXRyaWV2aW5nIHRoZW0gZnJvbSBjb250cm9sIGZpbGUKICAtLWFkbWluZGlyPTxkaXJlY3Rvcnk+CiAgICAgICAgICAgICAgICAgY2hhbmdlIHRoZSBhZG1pbmlzdHJhdGl2ZSBkaXJlY3RvcnkuCiAgLWgsIC0taGVscCAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZS4KICAgICAgLS12ZXJzaW9uICBzaG93IHRoZSB2ZXJzaW9uLgBPdmVycmlkZSBmaWxlICVzIG5vdCBmb3VuZABQR1Agc2lnbmF0dXJlIG5vdCBhbGxvd2VkIGhlcmUAUEdQIHN1cHBvcnQgaXMgZGVwcmVjYXRlZCAoc2VlIFJFQURNRS5mZWF0dXJlLXJlbW92YWwtc2NoZWR1bGUpAFBhY2thZ2UgJXMgKGZpbGVuYW1lICVzKSBoYXMgRmlsZW5hbWUgZmllbGQhAFBhY2thZ2UgJXMgKGZpbGVuYW1lICVzKSBpcyByZXBlYXQgYnV0IG5ld2VyIHZlcnNpb247AFBhY2thZ2UgJXMgKGZpbGVuYW1lICVzKSBpcyByZXBlYXQ7AFBhY2thZ2VzIGluIGFyY2hpdmUgYnV0IG1pc3NpbmcgZnJvbSBvdmVycmlkZSBmaWxlOgBQYWNrYWdlcyBpbiBvdmVycmlkZSBmaWxlIGJ1dCBub3QgaW4gYXJjaGl2ZToAUGFja2FnZXMgaW4gb3ZlcnJpZGUgZmlsZSB3aXRoIGluY29ycmVjdCBvbGQgbWFpbnRhaW5lciB2YWx1ZToAUGFja2FnZXMgc3BlY2lmeWluZyBzYW1lIG1haW50YWluZXIgYXMgb3ZlcnJpZGUgZmlsZToAUHJlc3MgdGhlIHJldHVybiBrZXkgdG8gc3RhcnQgc2lnbmluZyBwcm9jZXNzCgBTcGVjaWZpZWQgR05VIHN5c3RlbSB0eXBlICVzIGRvZXMgbm90IG1hdGNoIGdjYyBzeXN0ZW0gdHlwZSAlcy4AU3ltYm9sIGluZm9ybWF0aW9uIG11c3QgYmUgcHJlY2VkZWQgYnkgYSBoZWFkZXIgKGZpbGUgJXMsIGxpbmUgJXMpLgBUaGlzIGlzIGN1cnJlbnRseSBhIG5vbi1mYXRhbCB3YXJuaW5nIHdpdGggLVMsIGJ1dABUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yCmxhdGVyIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuIFRoZXJlIGlzIE5PIHdhcnJhbnR5LgoAVGhpcyBzb3VyY2UgcGFja2FnZSBjYW4gb25seSBiZSBtYW5pcHVsYXRlZCB1c2luZyBienIsIHdoaWNoIGlzIG5vdCBpbiB0aGUgUEFUSC4AVGhpcyBzb3VyY2UgcGFja2FnZSBjYW4gb25seSBiZSBtYW5pcHVsYXRlZCB1c2luZyBnaXQsIHdoaWNoIGlzIG5vdCBpbiB0aGUgUEFUSC4AVHJpZWQgdG8gbWVyZ2UgdGhlIHNhbWUgb2JqZWN0ICglcykgdHdpY2UgaW4gYSBzeW1maWxlLgBVbmFibGUgdG8gcmVuYW1lICVzIHRvICVzAFVuY29uZGl0aW9uYWwgbWFpbnRhaW5lciBvdmVycmlkZSBmb3IgJXMAVW5rbm93biBnY2Mgc3lzdGVtIHR5cGUgJXMsIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0IChuYXRpdmUgY29tcGlsYXRpb24pAFVzYWdlOiAlcyBbPG9wdGlvbj4gLi4uXQoKT3B0aW9uczoKICAtYiAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5LW9ubHkgYnVpbGQgLSBubyBzb3VyY2UgZmlsZXMuCiAgLUIgICAgICAgICAgICAgICAgICAgICAgIGFyY2gtc3BlY2lmaWMgLSBubyBzb3VyY2Ugb3IgYXJjaC1pbmRlcCBmaWxlcy4KICAtQSAgICAgICAgICAgICAgICAgICAgICAgb25seSBhcmNoLWluZGVwIC0gbm8gc291cmNlIG9yIGFyY2gtc3BlY2lmaWMgZmlsZXMuCiAgLVMgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS1vbmx5IHVwbG9hZC4KICAtYzxjb250cm9sZmlsZT4gICAgICAgICAgZ2V0IGNvbnRyb2wgaW5mbyBmcm9tIHRoaXMgZmlsZS4KICAtbDxjaGFuZ2Vsb2dmaWxlPiAgICAgICAgZ2V0IHBlci12ZXJzaW9uIGluZm8gZnJvbSB0aGlzIGZpbGUuCiAgLWY8ZmlsZXNsaXN0ZmlsZT4gICAgICAgIGdldCAuZGViIGZpbGVzIGxpc3QgZnJvbSB0aGlzIGZpbGUuCiAgLXY8c2luY2V2ZXJzaW9uPiAgICAgICAgIGluY2x1ZGUgYWxsIGNoYW5nZXMgbGF0ZXIgdGhhbiB2ZXJzaW9uLgogIC1DPGNoYW5nZXNkZXNjcmlwdGlvbj4gICB1c2UgY2hhbmdlIGRlc2NyaXB0aW9uIGZyb20gdGhpcyBmaWxlLgogIC1tPG1haW50YWluZXI+ICAgICAgICAgICBvdmVycmlkZSBjb250cm9sJ3MgbWFpbnRhaW5lciB2YWx1ZS4KICAtZTxtYWludGFpbmVyPiAgICAgICAgICAgb3ZlcnJpZGUgY2hhbmdlbG9nJ3MgbWFpbnRhaW5lciB2YWx1ZS4KICAtdTx1cGxvYWRmaWxlc2Rpcj4gICAgICAgZGlyZWN0b3J5IHdpdGggZmlsZXMgKGRlZmF1bHQgaXMgYC4uJykuCiAgLXNpIChkZWZhdWx0KSAgICAgICAgICAgIHNyYyBpbmNsdWRlcyBvcmlnIGlmIG5ldyB1cHN0cmVhbS4KICAtc2EgICAgICAgICAgICAgICAgICAgICAgc291cmNlIGluY2x1ZGVzIG9yaWcgc3JjLgogIC1zZCAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgaXMgZGlmZiBhbmQgLmRzYyBvbmx5LgogIC1xICAgICAgICAgICAgICAgICAgICAgICBxdWlldCAtIG5vIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgb24gc3RkZXJyLgogIC1GPGNoYW5nZWxvZ2Zvcm1hdD4gICAgICBmb3JjZSBjaGFuZ2UgbG9nIGZvcm1hdC4KICAtVjxuYW1lPj08dmFsdWU+ICAgICAgICAgc2V0IGEgc3Vic3RpdHV0aW9uIHZhcmlhYmxlLgogIC1UPHZhcmxpc3RmaWxlPiAgICAgICAgICByZWFkIHZhcmlhYmxlcyBoZXJlLCBub3QgZGViaWFuL3N1YnN0dmFycy4KICAtRDxmaWVsZD49PHZhbHVlPiAgICAgICAgb3ZlcnJpZGUgb3IgYWRkIGEgZmllbGQgYW5kIHZhbHVlLgogIC1VPGZpZWxkPiAgICAgICAgICAgICAgICByZW1vdmUgYSBmaWVsZC4KICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgc2hvdyB0aGUgdmVyc2lvbi4KAFVzYWdlOiAlcyBbPG9wdGlvbj4gLi4uXQoKT3B0aW9uczoKICAtbDxjaGFuZ2Vsb2dmaWxlPiAgICAgICAgZ2V0IHBlci12ZXJzaW9uIGluZm8gZnJvbSB0aGlzIGZpbGUuCiAgLUY8Y2hhbmdlbG9nZm9ybWF0PiAgICAgIGZvcmNlIGNoYW5nZSBsb2cgZm9ybWF0LgogIC1MPGxpYmRpcj4gICAgICAgICAgICAgICBsb29rIGZvciBjaGFuZ2UgbG9nIHBhcnNlcnMgaW4gPGxpYmRpcj4uCiAgLWgsIC0taGVscCAgICAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIG1lc3NhZ2UuCiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgIHNob3cgdGhlIHZlcnNpb24uCgpwYXJzZXIgb3B0aW9uczoKICAgIC0tZm9ybWF0IDxvdXRwdXRmb3JtYXQ+ICAgICBzZWUgbWFuIHBhZ2UgZm9yIGxpc3Qgb2YgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IGZvcm1hdHMsIGRlZmF1bHRzIHRvICdkcGtnJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IHdpdGggZHBrZy1kZXYKICAgIC0tc2luY2UgPHZlcnNpb24+LCAgICAgICAgICBpbmNsdWRlIGFsbCBjaGFuZ2VzIGxhdGVyIHRoYW4gdmVyc2lvbgogICAgICAtczx2ZXJzaW9uPiwgLXY8dmVyc2lvbj4KICAgIC0tdW50aWwgPHZlcnNpb24+LCAgICAgICAgICBpbmNsdWRlIGFsbCBjaGFuZ2VzIGVhcmxpZXIgdGhhbiB2ZXJzaW9uCiAgICAgIC11PHZlcnNpb24+CiAgICAtLWZyb20gPHZlcnNpb24+LCAgICAgICAgICAgaW5jbHVkZSBhbGwgY2hhbmdlcyBlcXVhbCBvciBsYXRlcgogICAgICAtZjx2ZXJzaW9uPiAgICAgICAgICAgICAgIHRoYW4gdmVyc2lvbgogICAgLS10byA8dmVyc2lvbj4sIC10PHZlcnNpb24+IGluY2x1ZGUgYWxsIGNoYW5nZXMgdXAgdG8gb3IgZXF1YWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIHZlcnNpb24KICAgIC0tY291bnQgPG51bWJlcj4sICAgICAgICAgICBpbmNsdWRlIDxudW1iZXI+IGVudHJpZXMgZnJvbSB0aGUgdG9wCiAgICAgIC1jPG51bWJlcj4sIC1uPG51bWJlcj4gICAgKG9yIHRoZSB0YWlsIGlmIDxudW1iZXI+IGlzIGxvd2VyIHRoYW4gMCkKICAgIC0tb2Zmc2V0IDxudW1iZXI+LCAgICAgICAgICBjaGFuZ2UgdGhlIHN0YXJ0aW5nIHBvaW50IGZvciAtLWNvdW50LAogICAgICAtbzxudW1iZXI+ICAgICAgICAgICAgICAgIGNvdW50ZWQgZnJvbSB0aGUgdG9wIChvciB0aGUgdGFpbCBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxudW1iZXI+IGlzIGxvd2VyIHRoYW4gMCkKICAgIC0tYWxsICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlIGFsbCBjaGFuZ2VzCgBVc2FnZTogJXMgWzxvcHRpb24+IC4uLl0KCk9wdGlvbnM6CiAgLXA8cGFja2FnZT4gICAgICAgICAgICAgIGdlbmVyYXRlIHN5bWJvbHMgZmlsZSBmb3IgcGFja2FnZS4KICAtUDxwYWNrYWdlYnVpbGRkaXI+ICAgICAgdGVtcG9yYXJ5IGJ1aWxkIGRpciBpbnN0ZWFkIG9mIGRlYmlhbi90bXAuCiAgLWU8bGlicmFyeT4gICAgICAgICAgICAgIGV4cGxpY2l0bHkgbGlzdCBsaWJyYXJpZXMgdG8gc2Nhbi4KICAtdjx2ZXJzaW9uPiAgICAgICAgICAgICAgdmVyc2lvbiBvZiB0aGUgcGFja2FnZXMgKGRlZmF1bHRzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24gZXh0cmFjdGVkIGZyb20gZGViaWFuL2NoYW5nZWxvZykuCiAgLWM8bGV2ZWw+ICAgICAgICAgICAgICAgIGNvbXBhcmUgZ2VuZXJhdGVkIHN5bWJvbHMgZmlsZSB3aXRoIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2UgdGVtcGxhdGUgaW4gdGhlIGRlYmlhbiBkaXJlY3RvcnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGZhaWwgaWYgZGlmZmVyZW5jZSBpcyB0b28gaW1wb3J0YW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXZlbCBnb2VzIGZyb20gMCBmb3Igbm8gY2hlY2ssIHRvIDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGFsbCBjaGVja3MpLiBCeSBkZWZhdWx0IGNoZWNrcyBhdAogICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCAxLgogIC1xICAgICAgICAgICAgICAgICAgICAgICBrZWVwIHF1aWV0IGFuZCBuZXZlciBlbWl0IGFueSB3YXJuaW5ncyBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZSBhIGRpZmYgYmV0d2VlbiBnZW5lcmF0ZWQgc3ltYm9scwogICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlIGFuZCB0aGUgcmVmZXJlbmNlIHRlbXBsYXRlLgogIC1JPGZpbGU+ICAgICAgICAgICAgICAgICBmb3JjZSB1c2FnZSBvZiA8ZmlsZT4gYXMgcmVmZXJlbmNlIHN5bWJvbHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGZpbGUuCiAgLU88ZmlsZT4gICAgICAgICAgICAgICAgIHdyaXRlIHRvIDxmaWxlPiwgbm90IC4uLi9ERUJJQU4vc3ltYm9scy4KICAtTyAgICAgICAgICAgICAgICAgICAgICAgd3JpdGUgdG8gc3Rkb3V0LCBub3QgLi4uL0RFQklBTi9zeW1ib2xzLgogIC10ICAgICAgICAgICAgICAgICAgICAgICB3cml0ZSBpbiB0ZW1wbGF0ZSBtb2RlICh0YWdzIGFyZSBub3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkIGFuZCBpbmNsdWRlZCBpbiBvdXRwdXQpLgogIC1WICAgICAgICAgICAgICAgICAgICAgICB2ZXJib3NlIG91dHB1dC4gV3JpdGUgZGVwcmVjYXRlZCBzeW1ib2xzIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuIG1hdGNoaW5nIHN5bWJvbHMgYXMgY29tbWVudHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGluIHRlbXBsYXRlIG1vZGUgb25seSkuCiAgLWE8YXJjaD4gICAgICAgICAgICAgICAgIGFzc3VtZSA8YXJjaD4gYXMgaG9zdCBhcmNoaXRlY3R1cmUgd2hlbiBwcm9jZXNzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbCBmaWxlcy4KICAtZCAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZWJ1ZyBpbmZvcm1hdGlvbiBkdXJpbmcgd29yay4KICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgc2hvdyB0aGUgdmVyc2lvbi4KAFVzYWdlOiAlcyBbPG9wdGlvbj4gLi4uXQoKT3B0aW9uczoKICAtcDxwYWNrYWdlPiAgICAgICAgICAgICAgcHJpbnQgY29udHJvbCBmaWxlIGZvciBwYWNrYWdlLgogIC1jPGNvbnRyb2xmaWxlPiAgICAgICAgICBnZXQgY29udHJvbCBpbmZvIGZyb20gdGhpcyBmaWxlLgogIC1sPGNoYW5nZWxvZ2ZpbGU+ICAgICAgICBnZXQgcGVyLXZlcnNpb24gaW5mbyBmcm9tIHRoaXMgZmlsZS4KICAtRjxjaGFuZ2Vsb2dmb3JtYXQ+ICAgICAgZm9yY2UgY2hhbmdlIGxvZyBmb3JtYXQuCiAgLXY8Zm9yY2V2ZXJzaW9uPiAgICAgICAgIHNldCB2ZXJzaW9uIG9mIGJpbmFyeSBwYWNrYWdlLgogIC1mPGZpbGVzbGlzdGZpbGU+ICAgICAgICB3cml0ZSBmaWxlcyBoZXJlIGluc3RlYWQgb2YgZGViaWFuL2ZpbGVzLgogIC1QPHBhY2thZ2VidWlsZGRpcj4gICAgICB0ZW1wb3JhcnkgYnVpbGQgZGlyIGluc3RlYWQgb2YgZGViaWFuL3RtcC4KICAtbjxmaWxlbmFtZT4gICAgICAgICAgICAgYXNzdW1lIHRoZSBwYWNrYWdlIGZpbGVuYW1lIHdpbGwgYmUgPGZpbGVuYW1lPi4KICAtTyAgICAgICAgICAgICAgICAgICAgICAgd3JpdGUgdG8gc3Rkb3V0LCBub3QgLi4uL0RFQklBTi9jb250cm9sLgogIC1pcywgLWlwLCAtaXNwLCAtaXBzICAgICBkZXByZWNhdGVkLCBpZ25vcmVkIGZvciBjb21wYXRpYmlsaXR5LgogIC1EPGZpZWxkPj08dmFsdWU+ICAgICAgICBvdmVycmlkZSBvciBhZGQgYSBmaWVsZCBhbmQgdmFsdWUuCiAgLVU8ZmllbGQ+ICAgICAgICAgICAgICAgIHJlbW92ZSBhIGZpZWxkLgogIC1WPG5hbWU+PTx2YWx1ZT4gICAgICAgICBzZXQgYSBzdWJzdGl0dXRpb24gdmFyaWFibGUuCiAgLVQ8dmFybGlzdGZpbGU+ICAgICAgICAgIHJlYWQgdmFyaWFibGVzIGhlcmUsIG5vdCBkZWJpYW4vc3Vic3R2YXJzLgogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBzaG93IHRoaXMgaGVscCBtZXNzYWdlLgogICAgICAtLXZlcnNpb24gICAgICAgICAgICBzaG93IHRoZSB2ZXJzaW9uLgoAVXNhZ2U6ICVzIFs8b3B0aW9uPiAuLi5dIDxiaW5hcnlwYXRoPiBbPG92ZXJyaWRlZmlsZT4gWzxwYXRocHJlZml4Pl1dID4gUGFja2FnZXMKCk9wdGlvbnM6CiAgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgIHNjYW4gZm9yIDx0eXBlPiBwYWNrYWdlcyAoZGVmYXVsdCBpcyAnZGViJykuCiAgLXUsIC0tdWRlYiAgICAgICAgICAgICAgIHNjYW4gZm9yIHVkZWJzIChvYnNvbGV0ZSBhbGlhcyBmb3IgLXR1ZGViKS4KICAtYSwgLS1hcmNoIDxhcmNoPiAgICAgICAgYXJjaGl0ZWN0dXJlIHRvIHNjYW4gZm9yLgogIC1tLCAtLW11bHRpdmVyc2lvbiAgICAgICBhbGxvdyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBhIHNpbmdsZSBwYWNrYWdlLgogIC1lLCAtLWV4dHJhLW92ZXJyaWRlIDxmaWxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZXh0cmEgb3ZlcnJpZGUgZmlsZS4KICAtTSwgLS1tZWRpdW0gPG1lZGl1bT4gICAgYWRkIFgtTWVkaXVtIGZpZWxkIGZvciBkc2VsZWN0IG11bHRpY2QgYWNjZXNzIG1ldGhvZAogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBzaG93IHRoaXMgaGVscCBtZXNzYWdlLgogICAgICAtLXZlcnNpb24gICAgICAgICAgICBzaG93IHRoZSB2ZXJzaW9uLgoAVXNhZ2U6ICVzIFs8b3B0aW9uPiAuLi5dIDxiaW5hcnlwYXRoPiBbPG92ZXJyaWRlZmlsZT4gWzxwYXRocHJlZml4Pl1dID4gU291cmNlcwoKT3B0aW9uczoKICAtbiwgLS1uby1zb3J0ICAgICAgICAgICAgZG9uJ3Qgc29ydCBieSBwYWNrYWdlIGJlZm9yZSBvdXRwdXR0aW5nLgogIC1lLCAtLWV4dHJhLW92ZXJyaWRlIDxmaWxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZXh0cmEgb3ZlcnJpZGUgZmlsZS4KICAtcywgLS1zb3VyY2Utb3ZlcnJpZGUgPGZpbGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBmaWxlIGZvciBhZGRpdGlvbmFsIHNvdXJjZSBvdmVycmlkZXMsIGRlZmF1bHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgcmVndWxhciBvdmVycmlkZSBmaWxlIHdpdGggLnNyYyBhcHBlbmRlZC4KICAgICAgLS1kZWJ1ZyAgICAgICAgICAgICAgdHVybiBkZWJ1Z2dpbmcgb24uCiAgICAgIC0taGVscCAgICAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIG1lc3NhZ2UuCiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgIHNob3cgdGhlIHZlcnNpb24uCgpTZWUgdGhlIG1hbiBwYWdlIGZvciB0aGUgZnVsbCBkb2N1bWVudGF0aW9uLgoAVXNhZ2U6ICVzIFs8b3B0aW9uPiAuLi5dIDxleGVjdXRhYmxlPnwtZTxleGVjdXRhYmxlPiBbPG9wdGlvbj4gLi4uXQoKUG9zaXRpb25hbCBvcHRpb25zIChvcmRlciBpcyBzaWduaWZpY2FudCk6CiAgPGV4ZWN1dGFibGU+ICAgICAgICAgICAgIGluY2x1ZGUgZGVwZW5kZW5jaWVzIGZvciA8ZXhlY3V0YWJsZT4sCiAgLWU8ZXhlY3V0YWJsZT4gICAgICAgICAgICh1c2UgLWUgaWYgPGV4ZWN1dGFibGU+IHN0YXJ0cyB3aXRoIGAtJykKICAtZDxkZXBlbmRlbmN5ZmllbGQ+ICAgICAgbmV4dCBleGVjdXRhYmxlKHMpIHNldCBzaGxpYnM6PGRlcGVuZGVuY3lmaWVsZD4uCgpPcHRpb25zOgogIC1wPHZhcm5hbWVwcmVmaXg+ICAgICAgICBzZXQgPHZhcm5hbWVwcmVmaXg+OiogaW5zdGVhZCBvZiBzaGxpYnM6Ki4KICAtTyAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgdmFyaWFibGUgc2V0dGluZ3MgdG8gc3Rkb3V0LgogIC1MPGxvY2Fsc2hsaWJzZmlsZT4gICAgICBzaGxpYnMgb3ZlcnJpZGUgZmlsZSwgbm90IGRlYmlhbi9zaGxpYnMubG9jYWwuCiAgLVQ8dmFybGlzdGZpbGU+ICAgICAgICAgIHVwZGF0ZSB2YXJpYWJsZXMgaGVyZSwgbm90IGRlYmlhbi9zdWJzdHZhcnMuCiAgLXQ8dHlwZT4gICAgICAgICAgICAgICAgIHNldCBwYWNrYWdlIHR5cGUgKGRlZmF1bHQgaXMgZGViKS4KICAteDxwYWNrYWdlPiAgICAgICAgICAgICAgZXhjbHVkZSBwYWNrYWdlIGZyb20gdGhlIGdlbmVyYXRlZCBkZXBlbmRlbmNpZXMuCiAgLVM8cGtnYnVpbGRkaXI+ICAgICAgICAgIHNlYXJjaCBuZWVkZWQgbGlicmFyaWVzIGluIHRoZSBnaXZlbgogICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrYWdlIGJ1aWxkIGRpcmVjdG9yeSBmaXJzdC4KICAtdiAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2UgbW9kZSAoY2FuIGJlIHVzZWQgbXVsdGlwbGUgdGltZXMpLgogIC0taWdub3JlLW1pc3NpbmctaW5mbyAgICBkb24ndCBmYWlsIGlmIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24gY2FuJ3QgYmUgZm91bmQuCiAgLS13YXJuaW5ncz08dmFsdWU+ICAgICAgIGRlZmluZSBzZXQgb2YgYWN0aXZlIHdhcm5pbmdzIChzZWUgbWFudWFsIHBhZ2UpLgogIC0tYWRtaW5kaXI9PGRpcmVjdG9yeT4gICBjaGFuZ2UgdGhlIGFkbWluaXN0cmF0aXZlIGRpcmVjdG9yeS4KICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgc2hvdyB0aGUgdmVyc2lvbi4KCkRlcGVuZGVuY3kgZmllbGRzIHJlY29nbmlzZWQgYXJlOgogICVzCgBVc2FnZTogJXMgWzxvcHRpb24+IC4uLl0gPG9sZD4gPG5ldy1hPiA8bmV3LWI+IFs8b3V0Pl0KCk9wdGlvbnM6CiAgLS1tZXJnZS1wcmVyZWxlYXNlcywgLW0gIG1lcmdlIHByZS1yZWxlYXNlcyB0b2dldGhlciwgaWdub3JlcyBldmVyeXRoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIHRoZSBsYXN0ICd+JyBpbiB0aGUgdmVyc2lvbi4KICAtLWhlbHAsIC1oLCAtPyAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZS4KICAtLXZlcnNpb24gICAgICAgICAgICAgICAgc2hvdyB0aGUgdmVyc2lvbi4KAFVzYWdlOiAlcyBbPG9wdGlvbj4gLi4uXSBbPGFjdGlvbj5dCgpPcHRpb25zOgogIC1hPGRlYmlhbi1hcmNoPiAgICBzZXQgY3VycmVudCBEZWJpYW4gYXJjaGl0ZWN0dXJlLgogIC10PGdudS1zeXN0ZW0+ICAgICBzZXQgY3VycmVudCBHTlUgc3lzdGVtIHR5cGUuCiAgLUwgICAgICAgICAgICAgICAgIGxpc3QgdmFsaWQgYXJjaGl0ZWN0dXJlcy4KICAtZiAgICAgICAgICAgICAgICAgZm9yY2UgZmxhZyAob3ZlcnJpZGUgdmFyaWFibGVzIHNldCBpbiBlbnZpcm9ubWVudCkuCgpBY3Rpb25zOgogIC1sICAgICAgICAgICAgICAgICBsaXN0IHZhcmlhYmxlcyAoZGVmYXVsdCkuCiAgLWU8ZGViaWFuLWFyY2g+ICAgIGNvbXBhcmUgd2l0aCBjdXJyZW50IERlYmlhbiBhcmNoaXRlY3R1cmUuCiAgLWk8YXJjaC1hbGlhcz4gICAgIGNoZWNrIGlmIGN1cnJlbnQgRGViaWFuIGFyY2hpdGVjdHVyZSBpcyA8YXJjaC1hbGlhcz4uCiAgLXE8dmFyaWFibGU+ICAgICAgIHByaW50cyBvbmx5IHRoZSB2YWx1ZSBvZiA8dmFyaWFibGU+LgogIC1zICAgICAgICAgICAgICAgICBwcmludCBjb21tYW5kIHRvIHNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCiAgLXUgICAgICAgICAgICAgICAgIHByaW50IGNvbW1hbmQgdG8gdW5zZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzLgogIC1jIDxjb21tYW5kPiAgICAgICBzZXQgZW52aXJvbm1lbnQgYW5kIHJ1biB0aGUgY29tbWFuZCBpbiBpdC4KICAtLWhlbHAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZS4KICAtLXZlcnNpb24gICAgICAgICAgc2hvdyB0aGUgdmVyc2lvbi4KAFVzYWdlOiAlcyBbPG9wdGlvbj4uLi5dIDxmaWxlPi4uLgoAVXNhZ2U6ICVzIFs8b3B0aW9uPi4uLl0gPGZpbGVuYW1lPiA8c2VjdGlvbj4gPHByaW9yaXR5PgoKT3B0aW9uczoKICAtZjxmaWxlc2xpc3RmaWxlPiAgICAgICAgd3JpdGUgZmlsZXMgaGVyZSBpbnN0ZWFkIG9mIGRlYmlhbi9maWxlcy4KICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgc2hvdyB0aGUgdmVyc2lvbi4KAFVzYWdlOiAlcyBbPG9wdGlvbj4uLi5dIFs8Y2hhbmdlbG9nZmlsZT5dCgpPcHRpb25zOgogICAgLS1oZWxwLCAtaCAgICAgICAgICAgICAgICAgIHByaW50IHVzYWdlIGluZm9ybWF0aW9uCiAgICAtLXZlcnNpb24sIC1WICAgICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbgogICAgLS1sYWJlbCwgLWwgPGZpbGU+ICAgICAgICAgIG5hbWUgb2YgdGhlIGNoYW5nZWxvZyBmaWxlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGluIGVycm9yIG1lc3NhZ2VzCiAgICAtLWZpbGUgPGZpbGU+ICAgICAgICAgICAgICAgY2hhbmdlbG9nIGZpbGUgdG8gcGFyc2UsIGRlZmF1bHRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gJy0nIChzdGFuZGFyZCBpbnB1dCkKICAgIC0tZm9ybWF0IDxvdXRwdXRmb3JtYXQ+ICAgICBzZWUgbWFuIHBhZ2UgZm9yIGxpc3Qgb2YgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IGZvcm1hdHMsIGRlZmF1bHRzIHRvICdkcGtnJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IHdpdGggZHBrZy1kZXYKICAgIC0tc2luY2UsIC1zLCAtdiA8dmVyc2lvbj4gICBpbmNsdWRlIGFsbCBjaGFuZ2VzIGxhdGVyIHRoYW4gdmVyc2lvbgogICAgLS11bnRpbCwgLXUgPHZlcnNpb24+ICAgICAgIGluY2x1ZGUgYWxsIGNoYW5nZXMgZWFybGllciB0aGFuIHZlcnNpb24KICAgIC0tZnJvbSwgLWYgPHZlcnNpb24+ICAgICAgICBpbmNsdWRlIGFsbCBjaGFuZ2VzIGVxdWFsIG9yIGxhdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhbiB2ZXJzaW9uCiAgICAtLXRvLCAtdCA8dmVyc2lvbj4gICAgICAgICAgaW5jbHVkZSBhbGwgY2hhbmdlcyB1cCB0byBvciBlcXVhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYW4gdmVyc2lvbgogICAgLS1jb3VudCwgLWMsIC1uIDxudW1iZXI+ICAgIGluY2x1ZGUgPG51bWJlcj4gZW50cmllcyBmcm9tIHRoZSB0b3AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgdGhlIHRhaWwgaWYgPG51bWJlcj4gaXMgbG93ZXIgdGhhbiAwKQogICAgLS1vZmZzZXQsIC1vIDxudW1iZXI+ICAgICAgIGNoYW5nZSB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIC0tY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlZCBmcm9tIHRoZSB0b3AgKG9yIHRoZSB0YWlsIGlmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG51bWJlcj4gaXMgbG93ZXIgdGhhbiAwKQogICAgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUgYWxsIGNoYW5nZXMKAFVzYWdlOiAlcyBbPG9wdGlvbj4uLi5dIFs8Y29udHJvbC1maWxlPl0AVmVyc2lvbiBudW1iZXIgc3VnZ2VzdHMgVWJ1bnR1IGNoYW5nZXMsIGJ1dCBNYWludGFpbmVyOiBkb2VzIG5vdCBoYXZlIFVidW50dSBhZGRyZXNzAFZlcnNpb24gbnVtYmVyIHN1Z2dlc3RzIFVidW50dSBjaGFuZ2VzLCBidXQgdGhlcmUgaXMgbm8gWFNCQy1PcmlnaW5hbC1NYWludGFpbmVyIGZpZWxkAFdyb3RlICVzIGVudHJpZXMgdG8gb3V0cHV0IFBhY2thZ2VzIGZpbGUuAGAlcycgaXMgbm90IGEgbGVnYWwgYXJjaGl0ZWN0dXJlIHN0cmluZwBgJXMnIGlzIG5vdCBhIGxlZ2FsIGFyY2hpdGVjdHVyZSBzdHJpbmcuAGAlcycgYXJlIG5vdCBsZWdhbCBhcmNoaXRlY3R1cmUgc3RyaW5ncy4AYGRwa2ctZGViIC1JICVzIGNvbnRyb2wnIGV4aXRlZCB3aXRoICVkLCBza2lwcGluZyBwYWNrYWdlAGFib3J0aW5nIGR1ZSB0byAtLWFib3J0LW9uLXVwc3RyZWFtLWNoYW5nZXMAYWRkICVzIGluIGRlYmlhbi9zb3VyY2UvaW5jbHVkZS1iaW5hcmllcyBpZiB5b3Ugd2FudCB0byBzdG9yZSB0aGUgbW9kaWZpZWQgYmluYXJ5IGluIHRoZSBkZWJpYW4gdGFyYmFsbABhZGRpbmcgJXMgdG8gJXMAYWRtaW5pc3RyYXRpdmUgZGlyZWN0b3J5ICclcycgZG9lcyBub3QgZXhpc3QAYW4gdW5pb24gZGVwZW5kZW5jeSBjYW4gb25seSBjb250YWluIHNpbXBsZSBkZXBlbmRlbmNpZXMAYXBwbHlpbmcgJXMAYXJjaGl0ZWN0dXJlICVzIG9ubHkgYWxsb3dlZCBvbiBpdHMgb3duIChsaXN0IGZvciBwYWNrYWdlICVzIGlzIGAlcycpAGFzc3VtaW5nIGFyY2hpdGVjdHVyZSAnJXMnIGZvciAnJXMnAGFzc3VtaW5nIHNlY3Rpb24gJyVzJyBmb3IgJyVzJwBiYWQga2V5LXZhbHVlIGFmdGVyIGA7JzogYCVzJwBiYWQgbGluZSBpbiBzdWJzdHZhcnMgZmlsZSAlcyBhdCBsaW5lICVkAGJhZCBwYWNrYWdlIGNvbnRyb2wgaW5mb3JtYXRpb24gZm9yICclcycAYmFkbHkgZm9ybWF0dGVkIGhlYWRpbmcgbGluZQBiYWRseSBmb3JtYXR0ZWQgdHJhaWxlciBsaW5lAGJhZGx5IGZvcm1hdHRlZCB1cmdlbmN5IHZhbHVlOiAlcwBiYWRseSBmb3JtZWQgbGluZSBpbiBmaWxlcyBsaXN0IGZpbGUsIGxpbmUgJWQAYmluYXJpZXMgdG8gYW5hbHl6ZSBzaG91bGQgYWxyZWFkeSBiZSBpbnN0YWxsZWQgaW4gdGhlaXIgcGFja2FnZSdzIGRpcmVjdG9yeS4AYmluYXJ5IGFuZCBkaWZmIHVwbG9hZCAob3JpZ2luYWwgc291cmNlIE5PVCBpbmNsdWRlZCkAYmluYXJ5IGNvbnRyb2wgZmlsZSAlcwBiaW5hcnkgZmlsZSBjb250ZW50cyBjaGFuZ2VkAGJpbmFyeSBvbmx5IHVwbG9hZCAobm8gc291cmNlIGluY2x1ZGVkKQBiaW5hcnktb25seSB1cGxvYWQgLSBub3QgaW5jbHVkaW5nIGFueSBzb3VyY2UgY29kZQBibG9jayBkZXZpY2UAYnVpbGRpbmcgJXMgaW4gJXMAYnVpbGRpbmcgJXMgdXNpbmcgZXhpc3RpbmcgJXMAYnVuZGxpbmc6ICVzAGJ6ciBzdGF0dXMgZXhpdGVkIG5vbnplcm8AY2FuJ3QgYnVpbGQgd2l0aCBzb3VyY2UgZm9ybWF0ICclcyc6ICVzAGNhbid0IGNyZWF0ZSBzeW1saW5rICVzAGNhbid0IHBhcnNlIGRlcGVuZGVuY3kgJXMAY2Fubm90IGNoYW5nZSB0aW1lc3RhbXAgZm9yICVzAGNhbm5vdCBjbG9zZSAlcwBjYW5ub3QgY29tYmluZSAlcyBhbmQgJXMAY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMAY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJyVzJwBjYW5ub3QgZXhlYyBmb3JtYXQgcGFyc2VyOiAlcwBjYW5ub3QgZmluZCAnJXMnAGNhbm5vdCBmb3JrIGZvciAlcwBjYW5ub3QgZnN0YXQgZmlsZSAlcwBjYW5ub3QgaW5zdGFsbCBvdXRwdXQgY29udHJvbCBmaWxlIGAlcycAY2Fubm90IG1ha2UgJXMgZXhlY3V0YWJsZQBjYW5ub3QgbWtkaXIgJXMAY2Fubm90IG1vdmUgJyVzJyB0byBleGlzdGluZyBmaWxlAGNhbm5vdCBvcGVuICVzAGNhbm5vdCBvcGVuIGZpbGUgJXMAY2Fubm90IG9wZW4gbmV3IG91dHB1dCBjb250cm9sIGZpbGUgYCVzJwBjYW5ub3Qgb3BlbmRpciAlcwBjYW5ub3QgcmVhZCAlcwBjYW5ub3QgcmVhZCBmaWxlcyBsaXN0IGZpbGUAY2Fubm90IHJlYWQgbGluayAlcwBjYW5ub3QgcmVhZCB0aW1lc3RhbXAgZnJvbSAlcwBjYW5ub3QgcmVnaXN0ZXIgY2hhbmdlcyBpbiAlcywgdGhpcyBwYXRjaCBhbHJlYWR5IGV4aXN0cwBjYW5ub3QgcmVtb3ZlICVzAGNhbm5vdCByZXByZXNlbnQgY2hhbmdlIHRvICVzOgBjYW5ub3QgcmVwcmVzZW50IGNoYW5nZSB0byAlczogJXMAY2Fubm90IHN0YXQgJXMAY2Fubm90IHN0YXQgZGlyZWN0b3J5ICVzAGNhbm5vdCBzdGF0IGRpcmVjdG9yeSAlcyAoYmVmb3JlIHJlbW92YWwpAGNhbm5vdCBzdGF0IGZpbGUgJXMAY2Fubm90IHN0YXQgb3JpZyBhcmd1bWVudCAlcwBjYW5ub3Qgd3JpdGUgJXMAY2hhbmdlbG9nIGZvcm1hdCAlcyBpcyB1bmtub3duAGNoYW5nZWxvZyBwYXJzZXIgJXMAY2hhcmFjdGVyIGRldmljZQBjaGRpciBmb3IgZHUgdG8gYCVzJwBjaGRpciB0byAlcwBjaGVja3N1bSBwcm9ncmFtIGdhdmUgYm9ndXMgb3V0cHV0IGAlcycAY2hpbGQgcHJvY2VzcwBjbG9uaW5nICVzAGNsb3NlIG5ldyBmaWxlcyBsaXN0IGZpbGUAY2xvc2Ugb2xkIGZpbGVzIGxpc3QgZmlsZQBjbG9zZSBvbiB0YXIgaW5wdXQAY29udGludWVkIHZhbHVlIGxpbmUgbm90IGluIGZpZWxkAGNvbnRyb2wgaW5mbyBvZiBhIC5kZWIgcGFja2FnZQBjb250cm9sIGluZm9ybWF0aW9uAGNvcHkgb2YgdGhlIGRlYmlhbiBkaXJlY3RvcnkAY29weSBvbGQgZW50cnkgdG8gbmV3IGZpbGVzIGxpc3QgZmlsZQBjb3B5IG9sZCBlbnRyeSB0byBuZXcgdmFybGlzdCBmaWxlIGAlcycAY291bGQgbm90IHZlcmlmeSBzaWduYXR1cmUgb24gJXMgc2luY2UgZ3BnIGlzbid0IGluc3RhbGxlZABjb3VsZG4ndCBmaW5kIGxpYnJhcnkgJXMgbmVlZGVkIGJ5ICVzIChFTEYgZm9ybWF0OiAnJXMnOyBSUEFUSDogJyVzJykuAGNvdWxkbid0IHBhcnNlIGNvbnRyb2wgaW5mb3JtYXRpb24gZnJvbSAlcy4AY291bGRuJ3QgcGFyc2UgZGF0ZSAlcwBjcmVhdGVkIGRpcmVjdG9yeSAnJXMnAGNyZWF0aW5nIHNoYWxsb3cgY2xvbmUgd2l0aCBkZXB0aCAlcwBjdXJyZW50IGhvc3QgYXJjaGl0ZWN0dXJlICclcycgZG9lcyBub3QgYXBwZWFyIGluIHBhY2thZ2UncyBhcmNoaXRlY3R1cmUgbGlzdCAoJXMpAGRlYmlhbi9ydWxlcyBpcyBub3QgZXhlY3V0YWJsZTogZml4aW5nIHRoYXQuAGRlcGVuZGVuY3kgb24gJXMgY291bGQgYmUgYXZvaWRlZCBpZiAiJXMiIHdlcmUgbm90IHVzZWxlc3NseSBsaW5rZWQgYWdhaW5zdCBpdCAodGhleSB1c2Ugbm9uZSBvZiBpdHMgc3ltYm9scykuAGRldGVjdGVkICVkIHVud2FudGVkIGJpbmFyeSBmaWxlIChhZGQgaXQgaW4gZGViaWFuL3NvdXJjZS9pbmNsdWRlLWJpbmFyaWVzIHRvIGFsbG93IGl0cyBpbmNsdXNpb24pLgBkZXRlY3RlZCAlZCB1bndhbnRlZCBiaW5hcnkgZmlsZXMgKGFkZCB0aGVtIGluIGRlYmlhbi9zb3VyY2UvaW5jbHVkZS1iaW5hcmllcyB0byBhbGxvdyB0aGVpciBpbmNsdXNpb24pLgBkZXZpY2Ugb3Igc29ja2V0IGlzIG5vdCBhbGxvd2VkAGRpZmYgJXMgbW9kaWZpZXMgZmlsZSAlcyB0aHJvdWdoIGEgc3ltbGluazogJXMAZGlmZiAlcyByZW1vdmVzIGEgbm9uLWV4aXN0aW5nIGZpbGUgJXMgKGxpbmUgJWQpAGRpZmYgYCVzJyBkb2Vzbid0IGNvbnRhaW4gYW55IHBhdGNoAGRpZmYgYCVzJyBmaW5pc2hlcyBpbiBtaWRkbGUgb2YgLS0tLysrKyAobGluZSAlZCkAZGlmZiBgJXMnIHBhdGNoZXMgZmlsZSAlcyB0d2ljZQBkaWZmIGAlcycgcGF0Y2hlcyBmaWxlIHdpdGggbmFtZSBlbmRpbmcgLmRwa2ctb3JpZwBkaWZmIGAlcycgcGF0Y2hlcyBzb21ldGhpbmcgd2hpY2ggaXMgbm90IGEgcGxhaW4gZmlsZQBkaWZmIG9uICVzAGRpcmVjdG9yeQBkaXJlY3RvcnkgYXJndW1lbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5AGRpdmVyc2lvbnMgaW52b2x2ZWQgLSBvdXRwdXQgbWF5IGJlIGluY29ycmVjdABkb2Vzbid0IGNvbnRhaW4gYSBienIgcmVwb3NpdG9yeQBkb2Vzbid0IGNvbnRhaW4gYSBnaXQgcmVwb3NpdG9yeQBkcGtnLWdlbmNoYW5nZXMAZHUgZ2F2ZSB1bmV4cGVjdGVkIG91dHB1dCBgJXMnAGR1IGluIGAlcycAZHVwbGljYXRlIGZpZWxkICVzIGZvdW5kAGR1cGxpY2F0ZSBmaWxlcyBpbiAlcyBzb3VyY2UgcGFja2FnZTogJXMuKgBkdXBsaWNhdGUgZmlsZXMgbGlzdCBlbnRyeSBmb3IgZmlsZSAlcyAobGluZSAlZCkAZHVwbGljYXRlIGZpbGVzIGxpc3QgZW50cnkgZm9yIHBhY2thZ2UgJXMgKGxpbmUgJWQpAGVudHJ5IGluIGRwa2cncyBzdGF0dXMgZmlsZQBlcG9jaCBwYXJ0IG9mIHRoZSB2ZXJzaW9uIG51bWJlciBpcyBub3QgYSBudW1iZXI6ICclcycAZXJyb3IAZXJyb3IgY2xvc2luZyAlcyAoJD8gJWQsICQhIGAlcycpAGVycm9yIG9jY3VycmVkIHdoaWxlIHBhcnNpbmcgJXMAZXJyb3Igb2NjdXJyZWQgd2hpbGUgcGFyc2luZyAlcyBmaWVsZDogJXMAZXhlY3V0YWJsZSBtb2RlICUwNG8gb2YgJyVzJyB3aWxsIG5vdCBiZSByZXByZXNlbnRlZCBpbiBkaWZmAGV4cGVjdGVkICVzLCBnb3QgJXMAZXhwZWN0ZWQgUEdQIHNpZ25hdHVyZSwgZm91bmQgRU9GIGFmdGVyIGJsYW5rIGxpbmUAZXhwZWN0ZWQgUEdQIHNpZ25hdHVyZSwgZm91bmQgc29tZXRoaW5nIGVsc2UgYCVzJwBleHBlY3RlZCBbICstXSBhdCBzdGFydCBvZiBsaW5lICVkIG9mIGRpZmYgYCVzJwBleHBlY3RlZCBeLS0tIGluIGxpbmUgJWQgb2YgZGlmZiBgJXMnAGV4cGVjdGVkIF5AQCBhdCBsaW5lICVkIG9mIGRpZmYgYCVzJwBleHRyYWN0aW5nICVzIGluICVzAGV4dHJhY3RpbmcgdW5zaWduZWQgc291cmNlIHBhY2thZ2UgKCVzKQBmYWlsZWQgdG8gcmVuYW1lIG5ld2x5LWV4dHJhY3RlZCAlcyB0byAlcwBmYWlsZWQgdG8gcmVuYW1lIHNhdmVkICVzIHRvICVzAGZhaWxlZCB0byB2ZXJpZnkgc2lnbmF0dXJlIG9uICVzAGZhaWxlZCB0byB3cml0ZQBmYWtlcm9vdCBub3QgZm91bmQsIGVpdGhlciBpbnN0YWxsIHRoZSBmYWtlcm9vdApwYWNrYWdlLCBzcGVjaWZ5IGEgY29tbWFuZCB3aXRoIHRoZSAtciBvcHRpb24sIG9yIHJ1biB0aGlzIGFzIHJvb3QAZmF0YWwgZXJyb3Igb2NjdXJyZWQgd2hpbGUgcGFyc2luZyAlcwBmYXRhbCBlcnJvciBvY2N1cnJlZCB3aGlsZSBwYXJzaW5nIGlucHV0AGZpbGUgJXMgaGFzIG5vIGZpbmFsIG5ld2xpbmUgKGVpdGhlciBvcmlnaW5hbCBvciBtb2RpZmllZCB2ZXJzaW9uKQBmaWxlIHJlbW92YWwgd2l0aG91dCBwcm9wZXIgZmlsZW5hbWUgaW4gZGlmZiBgJXMnIChsaW5lICVkKQBmaWxlbmFtZSwgc2VjdGlvbiBhbmQgcHJpb3JpdHkgbWF5IGNvbnRhaW4gbm8gd2hpdGVzcGFjZQBmaXJzdCBibG9jayBsYWNrcyBhIHNvdXJjZSBmaWVsZABmaXJzdCBoZWFkaW5nAGZvcm1hdCBwYXJzZXIgJXMgbm90IGV4ZWN1dGFibGUAZm9ybWF0IHYzLjAgKGdpdCkgZXhwZWN0ZWQgJXMAZm9ybWF0IHYzLjAgKGdpdCkgdW5rbm93biBmaWxlOiAlcwBmb3JtYXQgdjMuMCAoZ2l0KSB1c2VzIG9ubHkgb25lIC5naXQgZmlsZQBmb3JtYXQgdjMuMCAoZ2l0KSB1c2VzIG9ubHkgb25lIC5naXRzaGFsbG93IGZpbGUAZm9ybWF0IHYzLjAgdXNlcyBvbmx5IG9uZSBzb3VyY2UgZmlsZQBmb3VuZCBibGFuayBsaW5lIHdoZXJlIGV4cGVjdGVkICVzAGZvdW5kIGNoYW5nZSBkYXRhIHdoZXJlIGV4cGVjdGVkICVzAGZvdW5kIGVvZiB3aGVyZSBleHBlY3RlZCAlcwBmb3VuZCBzdGFydCBvZiBlbnRyeSB3aGVyZSBleHBlY3RlZCAlcwBmb3VuZCB0cmFpbGVyIHdoZXJlIGV4cGVjdGVkICVzAGZ1bGwgdXBsb2FkIChvcmlnaW5hbCBzb3VyY2UgaXMgaW5jbHVkZWQpAGZ1bGwgdXBsb2FkOyBEZWJpYW4tbmF0aXZlIHBhY2thZ2UgKGZ1bGwgc291cmNlIGlzIGluY2x1ZGVkKQBnYWluLXJvb3QtY29tbW1hbmQgJyVzJyBub3QgZm91bmQAZ2VuZXJhbCBzZWN0aW9uIG9mIGNvbnRyb2wgaW5mbyBmaWxlAGdpdCBscy1maWxlcyBleGl0ZWQgbm9uemVybwBnaXQgcmVwb3NpdG9yeSAlcyB1c2VzIHN1Ym1vZHVsZXMuIFRoaXMgaXMgbm90IHlldCBzdXBwb3J0ZWQuAGhvc3QgYXJjaGl0ZWN0dXJlAGlnbm9yZWQgdGhhdCBvbmUgYW5kIHVzaW5nIGRhdGEgZnJvbSAlcyEAaWdub3JpbmcgLXNkIG9wdGlvbiBmb3IgbmF0aXZlIERlYmlhbiBwYWNrYWdlAGlnbm9yaW5nIGRlbGV0aW9uIG9mIGRpcmVjdG9yeSAlcwBpZ25vcmluZyBkZWxldGlvbiBvZiBmaWxlICVzAGlnbm9yaW5nIGRlbGV0aW9uIG9mIHN5bWxpbmsgJXMAaWdub3JpbmcgZHVwbGljYXRlIG92ZXJyaWRlIGVudHJ5IGZvciAlcyBhdCBsaW5lICVkAGlnbm9yaW5nIGR1cGxpY2F0ZSBzb3VyY2Ugb3ZlcnJpZGUgZW50cnkgZm9yICVzIGF0IGxpbmUgJWQAaWdub3Jpbmcgb3ZlcnJpZGUgZW50cnkgZm9yICVzLCBpbnZhbGlkIHByaW9yaXR5ICVzAGluY2x1ZGluZyBmdWxsIHNvdXJjZSBjb2RlIGluIHVwbG9hZABpbmZvAGluc3RhbGwgbmV3IGZpbGVzIGxpc3QgZmlsZQBpbnN0YWxsIG5ldyB2YXJsaXN0IGZpbGUgYCVzJwBpbnRlcm5hbCBlcnJvcgBpbnZhbGlkIEZvcm1hdCBmaWVsZCBgJXMnAGludmFsaWQgZGVwZW5kZW5jeSBnb3QgZ2VuZXJhdGVkOiAlcwBpbnZhbGlkIGZsYWcgaW4gJXM6ICVzAGludmFsaWQgbGluZSBpbiAlcyBjaGVja3N1bXMgc3RyaW5nOiAlcwBpbnZhbGlkIG92ZXJyaWRlIGVudHJ5IGF0IGxpbmUgJWQgKCVkIGZpZWxkcykAaW52YWxpZCBzb3VyY2Ugb3ZlcnJpZGUgZW50cnkgYXQgbGluZSAlZCAoJWQgZmllbGRzKQBpbnZhbGlkIHN5bnRheCBmb3Igb3B0aW9uIGluICVzLCBsaW5lICVkAGl0IGlzIGEgYmFkIGlkZWEgdG8gZ2VuZXJhdGUgYSBzb3VyY2UgcGFja2FnZSB3aXRob3V0IGNsZWFuaW5nIHVwIGZpcnN0LCBpdCBtaWdodCBjb250YWluIHVuZGVzaXJlZCBmaWxlcy4AbGluZSAlZCBvZiAlcyBpcyBpbnZhbGlkLCBpdCBoYXMgYmVlbiBpZ25vcmVkLgBsaW5lICVkIG9mICVzIG1lbnRpb25zIHVua25vd24gZmxhZyAlcwBsaW5lIGFmdGVyIC0tLSBpc24ndCBhcyBleHBlY3RlZCBpbiBkaWZmIGAlcycgKGxpbmUgJWQpAGxpbmUgd2l0aCB1bmtub3duIGZvcm1hdCAobm90IGZpZWxkLWNvbG9uLXZhbHVlKQBsb2NhbCBjaGFuZ2VzIGhhdmUgYmVlbiByZWNvcmRlZCBpbiBhIG5ldyBwYXRjaDogJXMAbWlzc2luZyBQcmlvcml0eSBmb3IgYmluYXJ5IHBhY2thZ2UgJXM7IHVzaW5nICctJwBtaXNzaW5nIFByaW9yaXR5IGZvciBzb3VyY2UgZmlsZXMAbWlzc2luZyBTZWN0aW9uIGZvciBiaW5hcnkgcGFja2FnZSAlczsgdXNpbmcgJy0nAG1pc3NpbmcgU2VjdGlvbiBmb3Igc291cmNlIGZpbGVzAG1pc3NpbmcgY3JpdGljYWwgc291cmNlIGNvbnRyb2wgZmllbGQgJXMAbWlzc2luZyBpbmZvcm1hdGlvbiBmb3IgY3JpdGljYWwgb3V0cHV0IGZpZWxkICVzAG1pc3NpbmcgaW5mb3JtYXRpb24gZm9yIG91dHB1dCBmaWVsZCAlcwBtaXNzaW5nIG9yaWcudGFyIG9yIGRlYmlhbi50YXIgZmlsZSBpbiB2Mi4wIHNvdXJjZSBwYWNrYWdlAG1rZGlyIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBkaXJlY3RvcnkAbW9yZSBjaGFuZ2UgZGF0YSBvciB0cmFpbGVyAG1vcmUgdGhhbiBvbmUgZmlsZSBzcGVjaWZpZWQgKCVzIGFuZCAlcykAbW92ZWQgJyVzJyB0byAnJXMnAG11bHRpcGxlIHRhcmZpbGVzIGluIHYxLjAgc291cmNlIHBhY2thZ2UAbXVzdCBzcGVjaWZ5IHBhY2thZ2Ugc2luY2UgY29udHJvbCBpbmZvIGhhcyBtYW55ICglcykAbmFtZWQgcGlwZQBuYW1lZCBzb2NrZXQAbmF0aXZlIHBhY2thZ2Ugd2l0aCAub3JpZy50YXIAbmVlZCBhdCBsZWFzdCBhIGZpbGVuYW1lAG5lZWQgYXQgbGVhc3Qgb25lIGV4ZWN1dGFibGUAbmVlZCBleGFjdGx5IGEgZmlsZW5hbWUsIHNlY3Rpb24gYW5kIHByaW9yaXR5AG5ldyBsaWJyYXJpZXMgYXBwZWFyZWQgaW4gdGhlIHN5bWJvbHMgZmlsZTogJXMAbmV3bHkgY3JlYXRlZCBlbXB0eSBmaWxlICclcycgd2lsbCBub3QgYmUgcmVwcmVzZW50ZWQgaW4gZGlmZgBuZXh0IGhlYWRpbmcgb3IgZW9mAG5vIFBhY2thZ2UgZmllbGQgZm91bmQgaW4gJyVzJywgc2tpcHBpbmcgaXQAbm8gYmluYXJ5IHBhY2thZ2VzIHNwZWNpZmllZCBpbiAlcwBubyBkZWJpYW4vc3ltYm9scyBmaWxlIHVzZWQgYXMgYmFzaXMgZm9yIGdlbmVyYXRpbmcgJXMAbm8gZGVwZW5kZW5jeSBpbmZvcm1hdGlvbiBmb3VuZCBmb3IgJXMgKHVzZWQgYnkgJXMpLgBubyBmaWxlcyBpbmRpY2F0ZWQgb24gY29tbWFuZCBsaW5lAG5vIHNvdXJjZSBmb3JtYXQgc3BlY2lmaWVkIGluICVzLCBzZWUgZHBrZy1zb3VyY2UoMSkAbm8gc3VjaCBkaXJlY3RvcnkgJyVzJywgdHJ5IC0tY3JlYXRlLWRpciAoLWMpIG9wdGlvbgBubyBzdWNoIGVudHJ5IGZvdW5kLCBpZ25vcmluZyAnJXMnIHBhcmFtZXRlcgBubyB0YXJmaWxlIGluIEZpbGVzIGZpZWxkAG5vbmUgZm91bmQsIHN0YXJ0aW5nIGZyb20gdGhlIG9sZGVzdCBlbnRyeQBub25lIG9mIHRoZSBmaWxlbmFtZXMgaW4gLS0tLysrKyBhcmUgdmFsaWQgaW4gZGlmZiAnJXMnIChsaW5lICVkKQBub25leGlzdGVudABub3QgaW5jbHVkaW5nIG9yaWdpbmFsIHNvdXJjZSBjb2RlIGluIHVwbG9hZABvbmx5IG9uZSBvZiAteCwgLWIgb3IgLS1wcmludC1mb3JtYXQgYWxsb3dlZCwgYW5kIG9ubHkgb25jZQBvbmx5IHN1cHBvcnRzIGd6aXAgY29tcHJlc3Npb24Ab3BlbiBuZXcgZmlsZXMgbGlzdCBmaWxlAG9wZW4gbmV3IHN1YnN0dmFycyBmaWxlIGAlcycAb3BlbiBvbGQgdmFybGlzdCBmaWxlIGAlcycgZm9yIHJlYWRpbmcAb3JpZyBhcmd1bWVudCAlcyBpcyBub3QgYSBwbGFpbiBmaWxlIG9yIGRpcmVjdG9yeQBvcmlnIGFyZ3VtZW50IGlzIGVtcHR5IChtZWFucyBubyBvcmlnLCBubyBkaWZmKSBidXQgc291cmNlIGhhbmRsaW5nIHN0eWxlIC1zJXMgd2FudHMgc29tZXRoaW5nAG9yaWcgYXJndW1lbnQgaXMgcGFja2VkIGJ1dCBzb3VyY2UgaGFuZGxpbmcgc3R5bGUgLXMlcyBjYWxscyBmb3IgdW5wYWNrZWQgKC5vcmlnLykAb3JpZyBhcmd1bWVudCBpcyB1bnBhY2tlZCBidXQgc291cmNlIGhhbmRsaW5nIHN0eWxlIC1zJXMgY2FsbHMgZm9yIHBhY2tlZCAoLm9yaWcudGFyLjxleHQ+KQBvcmlnIGRpciBgJXMnIGFscmVhZHkgZXhpc3RzLCBub3Qgb3ZlcndyaXRpbmcsIGdpdmluZyB1cDsgdXNlIC1zQSwgLXNLIG9yIC1zUCB0byBvdmVycmlkZQBvcmlnaW5hbCBhbmQgbW9kaWZpZWQgZmlsZXMgYXJlIC9kZXYvbnVsbCBpbiBkaWZmIGAlcycgKGxpbmUgJWQpAG91dHB1dCBmb3JtYXQgJXMgbm90IHN1cHBvcnRlZABvdXRwdXQgb2YgY2hhbmdlbG9nIHBhcnNlcgBvdmVycmlkaW5nICVzIGluIGVudmlyb25tZW50OiAlcwBwYWNrYWdlICVzIGhhcyBwcmlvcml0eSAlcyBpbiBjb250cm9sIGZpbGUgYnV0ICVzIGluIGZpbGVzIGxpc3QAcGFja2FnZSAlcyBoYXMgc2VjdGlvbiAlcyBpbiBjb250cm9sIGZpbGUgYnV0ICVzIGluIGZpbGVzIGxpc3QAcGFja2FnZSAlcyBpbiBjb250cm9sIGZpbGUgYnV0IG5vdCBpbiBmaWxlcyBsaXN0AHBhY2thZ2UgJXMgbGlzdGVkIGluIGZpbGVzIGxpc3QgYnV0IG5vdCBpbiBjb250cm9sIGluZm8AcGFja2FnZSAlcyBub3QgaW4gY29udHJvbCBpbmZvAHBhY2thZ2UgJXM6IABwYWNrYWdlJ3Mgc2VjdGlvbiBvZiBjb250cm9sIGluZm8gZmlsZQBwYWNrZWQgb3JpZyBgJXMnIGV4aXN0cyBidXQgaXMgbm90IGEgcGxhaW4gZmlsZQBwYXJzZWQgdmVyc2lvbiBvZiBjaGFuZ2Vsb2cAcGlwZSBmb3IgJXMAcGxhaW4gZmlsZQByZWFkIGNoYW5nZXNkZXNjcmlwdGlvbgByZWFkIG9sZCBmaWxlcyBsaXN0IGZpbGUAcmVtb3ZlIHBhdGNoIGJhY2t1cCBmaWxlICVzAHJlb3BlbiBzdGRpbgByZW9wZW4gc3Rkb3V0AHJlcGVhdGVkIGtleS12YWx1ZSAlcwByZXF1aXJlZCByZW1vdmFsIG9mIGAlcycgaW5zdGFsbGVkIGJ5IG9yaWdpbmFsIHRhcmJhbGwAcm0gLXJmIGZhaWxlZCB0byByZW1vdmUgYCVzJwBzZWUgZGlmZiBvdXRwdXQgYmVsb3cAc2V0dGluZyB1cCBzaGFsbG93IGNsb25lAHNldmVyYWwgb3JpZy50YXIgZmlsZXMgZm91bmQgKCVzIGFuZCAlcykgYnV0IG9ubHkgb25lIGlzIGFsbG93ZWQAc2hhcmVkIGxpYnMgaW5mbyBmaWxlIGAlcycgbGluZSAlZDogYmFkIGxpbmUgYCVzJwBzaG9ydCBvcHRpb24gbm90IGFsbG93ZWQgaW4gJXMsIGxpbmUgJWQAc2tpcHBpbmcgJyVzJwBzb21lIGxpYnJhcmllcyBkaXNhcHBlYXJlZCBpbiB0aGUgc3ltYm9scyBmaWxlOiAlcwBzb21lIG5ldyBzeW1ib2xzIGFwcGVhcmVkIGluIHRoZSBzeW1ib2xzIGZpbGU6ICVzAHNvbWUgc3ltYm9scyBvciBwYXR0ZXJucyBkaXNhcHBlYXJlZCBpbiB0aGUgc3ltYm9scyBmaWxlOiAlcwBzb3VyY2UgYW5kIHZlcnNpb24gYXJlIHJlcXVpcmVkIHRvIGNvbXB1dGUgdGhlIHNvdXJjZSBiYXNlbmFtZQBzb3VyY2UgY2hhbmdlZCBieQBzb3VyY2UgZGlyZWN0b3J5ICclcycgaXMgbm90IDxzb3VyY2VwYWNrYWdlPi08dXBzdHJlYW12ZXJzaW9uPiAnJXMnAHNvdXJjZSBkaXJlY3RvcnkgaXMgbm90IHRoZSB0b3AgZGlyZWN0b3J5IG9mIGEgYnpyIHJlcG9zaXRvcnkgKCVzLy5ienIgbm90IHByZXNlbnQpLCBidXQgRm9ybWF0IGJ6ciB3YXMgc3BlY2lmaWVkAHNvdXJjZSBkaXJlY3RvcnkgaXMgbm90IHRoZSB0b3AgZGlyZWN0b3J5IG9mIGEgZ2l0IHJlcG9zaXRvcnkgKCVzLy5naXQgbm90IHByZXNlbnQpLCBidXQgRm9ybWF0IGdpdCB3YXMgc3BlY2lmaWVkAHNvdXJjZSBoYW5kbGluZyBzdHlsZSAtcyVzIG5vdCBhbGxvd2VkIHdpdGggLWIAc291cmNlIGhhbmRsaW5nIHN0eWxlIC1zJXMgbm90IGFsbG93ZWQgd2l0aCAteABzb3VyY2Ugb25seSB1cGxvYWQgKG9yaWdpbmFsIHNvdXJjZSBpcyBpbmNsdWRlZCkAc291cmNlIG9ubHkgdXBsb2FkOiBEZWJpYW4tbmF0aXZlIHBhY2thZ2UAc291cmNlIG9ubHksIGRpZmYtb25seSB1cGxvYWQgKG9yaWdpbmFsIHNvdXJjZSBOT1QgaW5jbHVkZWQpAHNvdXJjZSBwYWNrYWdlAHNvdXJjZSBwYWNrYWdlIGZvcm1hdCBgJXMnIGlzIG5vdCBzdXBwb3J0ZWQgKFBlcmwgbW9kdWxlICVzIGlzIHJlcXVpcmVkKQBzb3VyY2UgcGFja2FnZSBoYXMgdHdvIGNvbmZsaWN0aW5nIHZhbHVlcyAtICVzIGFuZCAlcwBzb3VyY2UgcGFja2FnZSBuYW1lIGAlcycgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXIgYCVzJwBzb3VyY2UgcGFja2FnZSBuYW1lIGAlcycgc3RhcnRzIHdpdGggbm9uLWFscGhhbnVtAHNvdXJjZSB2ZXJzaW9uAHNwZWNpYWwgbW9kZSAlMDRvIG9mICclcycgd2lsbCBub3QgYmUgcmVwcmVzZW50ZWQgaW4gZGlmZgBzdGFydCBvZiBjaGFuZ2UgZGF0YQBzeW1ib2wgJXMgdXNlZCBieSAlcyBmb3VuZCBpbiBub25lIG9mIHRoZSBsaWJyYXJpZXMuAHN5bWJvbCBuYW1lIHVuc3BlY2lmaWVkOiAlcwBzeW1saW5rIHRvICVzAHN5bnRheCBlcnJvciBpbiAlcyBhdCBsaW5lICVkOiAlcwB0YWlsIG9mICVzAHRhcmZpbGUgYCVzJyBhbHJlYWR5IGV4aXN0cywgbm90IG92ZXJ3cml0aW5nLCBnaXZpbmcgdXA7IHVzZSAtc1Ugb3IgLXNSIHRvIG92ZXJyaWRlAHRoZSAlcyBmaWVsZCBjb250YWlucyBhbiBhcmNoLXNwZWNpZmljIGRlcGVuZGVuY3kgYnV0IHRoZSBwYWNrYWdlIGlzIGFyY2hpdGVjdHVyZSBhbGwAdGhlIGN1cnJlbnQgdmVyc2lvbiAoJXMpIGlzIGVhcmxpZXIgdGhhbiB0aGUgcHJldmlvdXMgb25lICglcykAdGhlIGRpZmYgbW9kaWZpZXMgdGhlIGZvbGxvd2luZyB1cHN0cmVhbSBmaWxlczogJXMAdGhlIGdlbmVyYXRlZCBzeW1ib2xzIGZpbGUgaXMgZW1wdHkAdGhlIGhlYWRlciBkb2Vzbid0IG1hdGNoIHRoZSBleHBlY3RlZCByZWdleAB0aGUgc2VyaWVzIGZpbGUgKCVzKSBjb250YWlucyB1bnN1cHBvcnRlZCBvcHRpb25zICgnJXMnLCBsaW5lICVzKSwgZHBrZy1zb3VyY2UgbWlnaHQgZmFpbCB3aGVuIGFwcGx5aW5nIHBhdGNoZXMuAHRoZSB0cmFpbGVyIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHJlZ2V4AHRvbyBtYW55IHN1YnN0aXR1dGlvbnMgLSByZWN1cnNpdmUgPyAtIGluIGAlcycAdHdvIGNvbW1hbmRzIHNwZWNpZmllZDogLS0lcyBhbmQgLS0lcwB1bmFibGUgdG8gY2hhbmdlIHBlcm1pc3Npb24gb2YgYCVzJwB1bmFibGUgdG8gY2hkaXIgdG8gYCVzJwB1bmFibGUgdG8gY2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBgJXMnAHVuYWJsZSB0byBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIG9yaWcgZGlyIGAlcycAdW5hYmxlIHRvIGNoZWNrIGZvciByZW1vdmFsIG9mIGRpciBgJXMnAHVuYWJsZSB0byBkZXRlcm1pbmUgJXMAdW5hYmxlIHRvIGV4ZWN1dGUgJXMAdW5hYmxlIHRvIGtlZXAgb3JpZyBkaXJlY3RvcnkgKGFscmVhZHkgZXhpc3RzKQB1bmFibGUgdG8gb3BlbiBzaGFyZWQgbGlicyBpbmZvIGZpbGUgYCVzJwB1bmFibGUgdG8gcmVuYW1lIGAlcycgKG5ld2x5IGNyZWF0ZWQpIHRvIGAlcycAdW5hYmxlIHRvIHJlbmFtZSBgJXMnIHRvIGAlcycAdW5hYmxlIHRvIHN0YXQgcHV0YXRpdmUgdW5wYWNrZWQgb3JpZyBgJXMnAHVuYXBwbHlpbmcgJXMAdW5jb21taXR0ZWQsIG5vdC1pZ25vcmVkIGNoYW5nZXMgaW4gd29ya2luZyBkaXJlY3Rvcnk6ICVzAHVuZXhwZWN0ZWQgZW5kIG9mIGRpZmYgYCVzJwB1bmZpbmlzaGVkIFBHUCBzaWduYXR1cmUAdW5rbm93biBEZWJpYW4gYXJjaGl0ZWN0dXJlICVzLCB5b3UgbXVzdCBzcGVjaWZ5IEdOVSBzeXN0ZW0gdHlwZSwgdG9vAHVua25vd24gR05VIHN5c3RlbSB0eXBlICVzLCB5b3UgbXVzdCBzcGVjaWZ5IERlYmlhbiBhcmNoaXRlY3R1cmUsIHRvbwB1bmtub3duIGRlZmF1bHQgR05VIHN5c3RlbSB0eXBlIGZvciBEZWJpYW4gYXJjaGl0ZWN0dXJlICVzAHVua25vd24gZmlsZSB0eXBlAHVua25vd24gaW5mb3JtYXRpb24gZmllbGQgJyVzJyBpbiBpbnB1dCBkYXRhIGluICVzAHVua25vd24ga2V5LXZhbHVlICVzAHVua25vd24gbGluZSBmcm9tIGRpZmYgLXUgb24gJXM6IGAlcycAdW5rbm93biBvcHRpb24gYCVzJwB1bmtub3duIG9wdGlvbiBvciBhcmd1bWVudCAlcwB1bmtub3duIG91dHB1dCBmcm9tIGRwa2cgLS1zZWFyY2g6ICclcycAdW5rbm93biBzaWduIGNvbW1hbmQsIGFzc3VtaW5nIHBncCBzdHlsZSBpbnRlcmZhY2UAdW5rbm93biBzdWJzdGl0dXRpb24gdmFyaWFibGUgJHslc30AdW5wYWNrIHRhcmdldCBleGlzdHM6ICVzAHVucGFja2VkIG9yaWcgYCVzJyBleGlzdHMgYnV0IGlzIG5vdCBhIGRpcmVjdG9yeQB1bnBhY2tpbmcgJXMAdW5yZWNvZ25pc2VkIGRlcGVuZGVuY3kgZmllbGQgYCVzJwB1bnJlY29nbmlzZWQgbGluZQB1bnJlY29nbml6ZWQgZmlsZSBmb3IgYSAlcyBzb3VyY2UgcGFja2FnZTogJXMAdW5yZWNvZ25pemVkIGZpbGUgZm9yIGEgbmF0aXZlIHNvdXJjZSBwYWNrYWdlOiAlcwB1bnJlcHJlc2VudGFibGUgY2hhbmdlcyB0byBzb3VyY2UAdW5zdXBwb3J0ZWQgdmVyc2lvbiBvZiB0aGUgcXVpbHQgbWV0YWRhdGE6ICVzAHVudXNlZCBzdWJzdGl0dXRpb24gdmFyaWFibGUgJHslc30AdW53YW50ZWQgYmluYXJ5IGZpbGU6ICVzAHVwc3RyZWFtIGZpbGVzIHRoYXQgaGF2ZSBiZWVuIG1vZGlmaWVkOiAlcwB1c2UgbmV3ZXN0IGVudHJ5IHRoYXQgaXMgZWFybGllciB0aGFuIHRoZSBvbmUgc3BlY2lmaWVkAHVzZSBvbGRlc3QgZW50cnkgdGhhdCBpcyBsYXRlciB0aGFuIHRoZSBvbmUgc3BlY2lmaWVkAHVzZSB0aGUgJzMuMCAocXVpbHQpJyBmb3JtYXQgdG8gaGF2ZSBzZXBhcmF0ZSBhbmQgZG9jdW1lbnRlZCBjaGFuZ2VzIHRvIHVwc3RyZWFtIGZpbGVzLCBzZWUgZHBrZy1zb3VyY2UoMSkAdXNlZCB0aGF0IG9uZSBhbmQgaWdub3JlZCBkYXRhIGZyb20gJXMhAHVzaW5nIGEgZ2Fpbi1yb290LWNvbW1hbmQgd2hpbGUgYmVpbmcgcm9vdAB1c2luZyBvcHRpb25zIGZyb20gJXM6ICVzAHVzaW5nIHNvdXJjZSBmb3JtYXQgYCVzJwB2ZW5kb3IgZmlsZQB2ZXJzaW9uIG51bWJlciBjYW5ub3QgYmUgZW1wdHkAdmVyc2lvbiBudW1iZXIgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXIgYCVzJwB3YWl0IGZvciAlcwB3YXJuaW5nAHdpbGwgcHJvYmFibHkgYmVjb21lIGZhdGFsIGluIHRoZSBmdXR1cmUuAHdyaXRlIGNoYW5nZXMgZmlsZQB3cml0ZSBkaXZlcnNpb24gaW5mbyB0byBzdGRlcnIAd3JpdGUgZXJyb3Igb24gY29udHJvbCBkYXRhAHdyaXRlIG5ldyBlbnRyeSB0byBuZXcgZmlsZXMgbGlzdCBmaWxlAHdyaXRlIG9uIHRhciBpbnB1dAB3cml0ZSBvcmlnaW5hbCBzb3VyY2UgbWVzc2FnZQB5b3UgY2FuIGludGVncmF0ZSB0aGUgbG9jYWwgY2hhbmdlcyB3aXRoICVzAHlvdSBjYW4gb25seSBzcGVjaWZ5IG9uZSBvZiAnZnJvbScgYW5kICdzaW5jZScsIHVzaW5nICdzaW5jZScAeW91IGNhbiBvbmx5IHNwZWNpZnkgb25lIG9mICd0bycgYW5kICd1bnRpbCcsIHVzaW5nICd1bnRpbCcAeW91IGNhbid0IGNvbWJpbmUgJ2NvdW50JyBvciAnb2Zmc2V0JyB3aXRoIGFueSBvdGhlciByYW5nZSBvcHRpb24AeW91IGNhbid0IHVzZSBzeW12ZXIgdGFnIHRvIGNhdGNoIHVudmVyc2lvbmVkIHN5bWJvbHM6ICVzAFByb2plY3QtSWQtVmVyc2lvbjogZnIKUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGRlYmlhbi1kcGtnQGxpc3RzLmRlYmlhbi5vcmcKUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMTAtMTQgMDc6MTErMDIwMApQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTA3LTE4IDE5OjQxKzAyMDAKTGFzdC1UcmFuc2xhdG9yOiBDaHJpc3RpYW4gUGVycmllciA8YnVidWxsZUBkZWJpYW4ub3JnPgpMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPGRlYmlhbi1sMTBuLWZyZW5jaEBsaXN0cy5kZWJpYW4ub3JnPgpMYW5ndWFnZTogZnIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9bj4xOwpYLUdlbmVyYXRvcjogTG9rYWxpemUgMS4yCgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uCkNvcHlyaWdodCAoQykgMTk5NyBLbGVlIERpZW5lcwpDb3B5cmlnaHQgKEMpIDIwMDggUmFwaGFlbCBIZXJ0em9nAApDb3B5cmlnaHQgKEMpIDE5OTYgSWFuIEphY2tzb24uAApDb3B5cmlnaHQgKEMpIDE5OTYgSWFuIEphY2tzb24uCkNvcHlyaWdodCAoQykgMjAwMCBXaWNoZXJ0IEFra2VybWFuLgpDb3B5cmlnaHQgKEMpIDIwMDcgRnJhbmsgTGljaHRlbmhlbGQuAApDb3B5cmlnaHQgKEMpIDE5OTYgSWFuIEphY2tzb24uCkNvcHlyaWdodCAoQykgMjAwMCBXaWNoZXJ0IEFra2VybWFuLgpDb3B5cmlnaHQgKEMpIDIwMDYgRnJhbmsgTGljaHRlbmhlbGQuCkNvcHlyaWdodCAoQykgMjAwNyBSYXBoYWVsIEhlcnR6b2cuCgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMSBXaWNoZXJ0IEFra2VybWFuLgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMiBXaWNoZXJ0IEFra2VybWFuLgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDEgV2ljaGVydCBBa2tlcm1hbgAKQ29weXJpZ2h0IChDKSAxOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDUsMjAwNyBGcmFuayBMaWNodGVuaGVsZC4ACkNvcHlyaWdodCAoQykgMTk5OS0yMDAxIE1hcmN1cyBCcmlua21hbm4gPGJyaW5rbWRAZGViaWFuLm9yZz4uCkNvcHlyaWdodCAoQykgMjAwNC0yMDA1IFNjb3R0IEphbWVzIFJlbW5hbnQgPHNjb3R0QG5ldHNwbGl0LmNvbT4uAApDb3B5cmlnaHQgKEMpIDIwMDcgUmFwaGFlbCBIZXJ0em9nLgoACk9wdGlvbnM6CiAgLWEsIC0tbm8tYXJjaGl0ZWN0dXJlICAgIHBhcyBkZSBwYXJ0aWUgYXJjaGl0ZWN0dXJlIGRhbnMgbGUgbm9tIGRlIGZpY2hpZXIuCiAgLW8sIC0tb3ZlcndyaXRlICAgICAgICAgIMOpY3Jhc2VyIHNpIGxlIGZpY2hpZXIgZXhpc3RlLgogIC1rLCAtLXN5bWxpbmsgICAgICAgICAgICBuZSBwYXMgY3LDqWVyIGRlIG5vdXZlYXUgZmljaGllciBtYWlzIHVuIGxpZW4gc3ltYm9saXF1ZS4KICAtcywgLS1zdWJkaXIgW2Rpcl0gICAgICAgZMOpcGxhY2VyIGxlIGZpY2hpZXIgZGFucyB1IHNvdXMtcsOpcGVydG9pcmUgKHV0aWxpc2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2ZWMgcHLDqWNhdXRpb24pLgogIC1jLCAtLWNyZWF0ZS1kaXIgICAgICAgICBjcsOpZXIgbGUgcsOpcGVydG9pcmUgY2libGUgc2kgYWJzZW50ICh1dGlsaXNlciBhdmVjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByw6ljYXV0aW9uKS4KICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGUuCiAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgIGFmZmljaGVyIGxhIHZlcnNpb24uCgptb2RpZmljYXRpb24gZGUgZmljaGllci5kZWIgZW4gPHBhcXVldD5fPHZlcnNpb24+XzxhcmNoaXRlY3R1cmU+Ljx0eXBlX3BhcXVldD4Kc2Vsb24gbGEgwqsgY29udmVudGlvbiBkZXMgJ3VuZGVyc2NvcmVzJ8KgwrsuCgAKQ2UgbG9naWNpZWwgZXN0IHVuIGxvZ2ljaWVsIGxpYnJlLiBWb3lleiBsYSBsaWNlbmNlIMKrwqBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZcKgwrsKZGFucyBsYSB2ZXJzaW9uIDIgb3UgdW5lIHZlcnNpb24gc3Vww6lyaWV1cmUgcG91ciBsZXMgY29uZGl0aW9ucyBkZSBjb3BpZS4gSWwgbid5IGEgUEFTIGRlIGdhcmFudGllLgoAClN5bnRheGXCoDogJXMgWzxvcHRpb25zPiAuLi5dCgpPcHRpb25zwqA6CiAgLXI8Y29tbWFuZGUtZ2Fpbi1yb290PgogICAgICAgICAgICAgICAgIGNvbW1hbmRlIHBvdXIgb2J0ZW5pciBsZXMgcHJpdmlsw6hnZXMgYWRtaW5pc3RyYXRldXIKICAgICAgICAgICAgICAgICAocGFyIGTDqWZhdXQsIGZha2Vyb290KS4KICAtUjxydWxlcz4gICAgICBmaWNoaWVyIHJ1bGVzIMOgIGV4w6ljdXRlciAocGFyIGTDqWZhdXQsIGRlYmlhbi9ydWxlcykuCiAgLXA8Y29tbWFuZGUtc2lnbj4KICAtZCAgICAgICAgICAgICBuZSBwYXMgdsOpcmlmaWVyIGxlcyBkw6lwZW5kYW5jZXMgZGUgY29uc3RydWN0aW9uIGV0IGxlcyBjb25mbGl0cy4KICAtRCAgICAgICAgICAgICB2w6lyaWZpZXIgbGVzIGTDqXBlbmRhbmNlcyBkZSBjb25zdHJ1Y3Rpb24gZXQgbGVzIGNvbmZsaXRzLgogIC1UPGNpYmxlPiAgICAgIGxhbmNlciDCq8KgZGViaWFuL3J1bGVzIDxjaWJsZT7CoMK7IGF2ZWMgbCdlbnZpcm9ubmVtZW50CiAgICAgICAgICAgICAgICAgYWTDqXF1YXQuCiAgLS1hcy1yb290ICAgICAgYXZlYyAtVCwgYXBwZWxlciBsYSBjaWJsZSBhdmVjIGxlcyBkcm9pdHMgZHUKICAgICAgICAgICAgICAgICBzdXBlcnV0aWxpc2F0ZXVyLgogIC1qWzxub21icmU+XSAgIHNww6ljaWZpZXIgbGUgbm9tYnJlIGRlIHTDomNoZXMgw6AgZXjDqWN1dGVyIHNpbXVsdGFuw6ltZW50IH0gCiAgICAgICAgICAgICAgICAgcGFzc8OpIMOgIGRlYmlhbi9ydWxlcwogIC1rPGlkLWNsw6k+ICAgICBjbMOpIMOgIHV0aWxpc2VyIHBvdXIgbGEgc2lnbmF0dXJlLgogIC1zZ3BnICAgICAgICAgIGxhIGNvbW1hbmRlIGRlIHNpZ25hdHVyZSBlc3QgYXBwZWzDqWUgY29tbWUgR1BHLgogIC1zcGdwICAgICAgICAgIGxhIGNvbW1hbmRlIGRlIHNpZ25hdHVyZSBlc3QgYXBwZWzDqWUgY29tbWUgUEdQLgogIC11cyAgICAgICAgICAgIGZpY2hpZXIgc291cmNlIG5vbiBzaWduw6kuCiAgLXVjICAgICAgICAgICAgZmljaGllciBjaGFuZ2VzIG5vbiBzaWduw6kuCiAgLWE8YXJjaD4gICAgICAgYXJjaGl0ZWN0dXJlIERlYmlhbiBkZSBjb25zdHJ1Y3Rpb24gKGltcGxpcXVlIC1kKS4KICAtYiAgICAgICAgICAgICBiaW5haXJlIHVuaXF1ZW1lbnQsIG5lIHBhcyBjb25zdHJ1aXJlICAgIH0gw6lnYWxlbWVudAogICAgICAgICAgICAgICAgIGxlcyBzb3VyY2VzLn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBwYXNzw6kKICAtQiAgICAgICAgICAgICBiaW5haXJlIHVuaXF1ZW1lbnQsIHBhcyBkZSBmaWNoaWVyICAgICAgIH0gw6AKICAgICAgICAgICAgICAgICDCq8KgYXJjaC1pbmRlcMKgwrsuICAgICAgICAgICAgICAgICAgICAgICAgICB9IGRwa2ctCiAgLUEgICAgICAgICAgICAgYmluYWlyZSB1bmlxdWVtZW50LCBzZXVsZW1lbnQgbGVzICAgICAgICB9IGdlbmNoYW5nZXMKICAgICAgICAgICAgICAgICBmaWNoaWVycyDCq8KgYXJjaC1pbmRlcMKgwrsgICAgICAgICAgICAgICAgICB9CiAgLVMgICAgICAgICAgICAgc291cmNlIHVuaXF1ZW1lbnQsIHBhcyBkZSBmaWNoaWVyICAgICAgICB9CiAgICAgICAgICAgICAgICAgYmluYWlyZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgLUYgICAgICAgICAgICAgY29uc3RydWN0aW9uIGNvbXBsw6h0ZSBub3JtYWxlIChiaW5haXJlcyBldCBzb3VyY2VzKS4KICAtdDxzeXN0w6htZT4gICAgZMOpZmluaXIgbGUgdHlwZSBzeXN0w6htZSBHTlUuICAgICAgICAgICB9IHBhc3PDqSDDoCBkcGtnLWFyY2hpdGVjdHVyZQogIC12PHZlcnNpb24+ICAgIGNoYW5nZW1lbnRzIGRlcHVpcyBsYSB2ZXJzaW9uIDx2ZXJzaW9uPi4gICAgICAgICAgICAgfQogIC1tPHJlc3A+ICAgICAgIGxlIHJlc3BvbnNhYmxlIHBvdXIgbGUgcGFxdWV0IGVzdCA8cmVzcD4uICAgICAgICAgICAgfQogIC1lPHJlc3A+ICAgICAgIGxlIHJlc3BvbnNhYmxlIHBvdXIgbGEgcHVibGljYXRpb24gZXN0IDxyZXNwPi4gICAgICAgfSB1bmlxdWVtZW50IHBhc3PDqQogIC1DPGZpY2hpZXItZGVzYz4gbGVzIGNoYW5nZW1lbnRzIHNvbnQgZMOpY3JpdHMgZGFucyA8ZmljaGllci1kZXNjPi4gIH0gw6AgZHBrZy1nZW5jaGFuZ2VzCiAgLXNpIChkw6lmYXV0KSAgIHNyYyBpbmNsdXQgbCdvcmlnIHNpIG5vdXZlbGxlIHZlcnNpb24gYW1vbnQuICAgICAgICAgfQogIC1zYSAgICAgICAgICAgIGxlIHNvdXJjZSBlbnZvecOpIGluY2x1dCB0b3Vqb3VycyBsJ29yaWcuICAgICAgICAgICAgIH0KICAtc2QgICAgICAgICAgICBsZSBzb3VyY2UgZW52b3nDqSBuZSBjb21wcmVuZCBxdWUgbGUgZGlmZiBldCBsZSAuZHNjLiB9CiAgLXNuICAgICAgICAgICAgZm9yY2UgbGUgZm9ybWF0IHNvdXJjZSBuYXRpZiBEZWJpYW4uICAgICAgfQogIC1zW3NBa3VyS1VSXSAgIHZvaXIgZHBrZy1zb3VyY2UgcG91ciBsJ2V4cGxpY2F0aW9uLiAgICAgIH0gc2V1bGVtZW50IHBhc3PDqQogIC16PG5pdmVhdT4gICAgIG5pdmVhdSBkZSBjb21wcmVzc2lvbiBkZXMgc291cmNlcyAgICAgICAgIH0gw6AgZHBrZy1zb3VyY2UKICAtWjxjb21wcmVzc2lvbj4KICAgICAgICAgICAgICAgICB0eXBlIGRlIGNvbXByZXNzaW9uIMOgIHV0aWxpc2VyIHBvdXIgbGVzIHNvdXJjZXMgIH0KICAtbmMgICAgICAgICAgICBuZSBwYXMgbmV0dG95ZXIgbCdhcmJvcmVzY2VuY2UgZGVzIHNvdXJjZXMgKGltcGxpcXVlIC1iKS4KICAtdGMgICAgICAgICAgICBuZXR0b3llciBsJ2FyYm9yZXNjZW5jZSBkZXMgc291cmNlcyDDoCBsYSBmaW4uCiAgLWFwICAgICAgICAgICAgYWpvdXRlciB1bmUgcGF1c2UgYXZhbnQgZGUgbGFuY2VyIGxlIHByb2Nlc3N1cyBkZSBzaWduYXR1cmUuCiAgLWlbPHJlZ2V4Pl0gICAgaWdub3JlciBsZXMgZGlmZsOpcmVuY2VzIGRlIGZpY2hpZXJzIGNvcnJlc3BvbmRhbnQgw6AgcmVnZXguIH0gdW5pcXVlbWVudCBwYXNzw6kKICAtSVs8Zm9ybWF0Pl0gICBmaWx0cmVyIGxlcyBmaWNoaWVycyBsb3JzIGRlIGxhIGNvbnN0cnVjdGlvbiBkZXMgdGFyYmFsbHMuIH0gw6AgZHBrZy1zb3VyY2UKICAtLXNvdXJjZS1vcHRpb249PG9wdD4KCQkgcGFzc2VyIGwnb3B0aW9uIDxvcHQ+IMOgIGRwa2ctc291cmNlCiAgLS1jaGFuZ2VzLW9wdGlvbj08b3B0PgoJCSBwYXNzZXIgbCdvcHRpb24gPG9wdD4gw6AgZHBrZy1nZW5jaGFuZ2VzCiAgLS1hZG1pbmRpcj08csOpcGVydG9pcmU+CiAgICAgICAgICAgICAgICAgY2hhbmdlciBsZSByw6lwZXJ0b2lyZSBkJ2FkbWluaXN0cmF0aW9uLgogIC1oLCAtLWhlbHAgICAgIGFmZmljaGVyIGNlIG1lc3NhZ2UgZCdhaWRlLgogICAgICAtLXZlcnNpb24gIGFmZmljaGVyIGxhIHZlcnNpb24uCgAgICVzIChsZSBwYXF1ZXQgZGl0ICVzLCBwYXMgJXMpACAgbGEgbm91dmVsbGUgdmVyc2lvbiBlc3QgJXMAICBsJ2FuY2llbm5lIHZlcnNpb24gZXN0ICVzACRPUklHSU4gZXN0IHV0aWxpc8OpIGRhbnMgbGUgUlBBVEggZGUgJXMgZXQgbGUgcsOpcGVydG9pcmUgY29ycmVzcG9uZGFudCBuJ2EgcGFzIHB1IMOqdHJlIGlkZW50aWZpw6kgZW4gcmFpc29uIGRlIGwnYWJzZW5jZSBkZSBzb3VzLXLDqXBlcnRvaXJlIERFQklBTiBkYW5zIGxhIHJhY2luZSBkZSBsJ2FyYm9yZXNjZW5jZSBkZSBjb25zdHJ1Y3Rpb24gZHUgcGFxdWV0ACVkIGF1dHJlIGF2ZXJ0aXNzZW1lbnQgc2VtYmxhYmxlIGEgw6l0w6kgc2F1dMOpICh1dGlsaXNlciAtdiBwb3VyIGxlcyB2b2lyIHRvdXMpLgAlZCBhdXRyZXMgYXZlcnRpc3NlbWVudHMgc2VtYmxhYmxlcyBvbnQgw6l0w6kgc2F1dMOpcyAodXRpbGlzZXIgLXYgcG91ciBsZXMgdm9pciB0b3VzKS4AJXMgY29udGllbnQgdW4gY2hlbWluIGQnYWNjw6hzIG5vbiBzw7tywqA6wqAlcwAlcyBjb250aWVudCB1bmUgcsOpZsOpcmVuY2UgYXUgc3ltYm9sZSAlcyBxdWkgbmUgcGV1dCDDqnRyZSByw6lzb2x1ZcKgOsKgaWwgcGV1dCBzJ2FnaXIgZCd1biBncmVmZm9uICjCq8KgcGx1Z2luwqDCuykuACVzIG5lIHMnZXN0IHBhcyB0ZXJtaW7DqSBlbiAlZCBzZWNvbmRlACVzIG5lIHMnZXN0IHBhcyB0ZXJtaW7DqSBlbiAlZCBzZWNvbmRlcwAlcyB0dcOpIHBhciBsZSBzaWduYWwgJXMAJXMgbidleGlzdGUgcGFzACVzIG5lIGNvbnRpZW50IHBhcyBkZSBzaWduYXR1cmUgT3BlblBHUCB2YWxhYmxlACVzIG5lIGNvcnJlc3BvbmQgcGFzIGNvbXBsw6h0ZW1lbnQgw6AgJXMAJXMgYSDDqWNob3XDqSBhdmVjIHVuZSBlcnJldXIgZGUgc29ydGllIGRlIHR5cGUgaW5jb25udSAlZABjaGFtcCAlcyBkdSBwYXF1ZXQgJXPCoDogAGZpY2hpZXIgJXMAJXMgYSBwcm9kdWl0IHVuZSBlcnJldXIgZGUgc29ydGllIGRlIHR5cGUgJXMAJXMgdXRpbGlzZSB1biBTT05BTUUgaW5hdHRlbmR1ICglcykAJXMgZXN0IHVuIGxpZW4gc3ltYm9saXF1ZQAlcyBlc3QgdW4gbGllbiBzeW1ib2xpcXVlIHZlcnMgbCdleHTDqXJpZXVyICVzACVzIGVzdCB2aWRlACVzIG4nZXN0IHBhcyB1biBuaXZlYXUgZGUgY29tcHJlc3Npb24AJXMgbidlc3QgcGFzIHVuIGZpY2hpZXIgbm9ybWFsACVzIG4nZXN0IHBhcyB1bmUgY29tcHJlc3Npb24gZ8OpcsOpZQAlcyBuJ2VzdCBwYXMgdW5lIG3DqXRob2RlIGNvbXByZXNzaW9uIGfDqXLDqWUAJXMgbidlc3QgcGFzIGxlIG5vbSBkJ3VuZSB2YXJpYWJsZSByZWNvbm51ZQAlcyBuJ2VzdCBwYXMgdW5lIG9wdGlvbiB2YWxhYmxlIHBvdXIgJXMAJXMgbidlc3QgcGFzIHVuZSB2ZXJzaW9uIHZhbGFibGUAJXMgbidlc3QgcGFzIHVuIG5vbSBkZSBmaWNoaWVyAHLDqXBlcnRvaXJlIG7DqWNlc3NhaXJlIHBvdXIgJXMAcGFyYW3DqHRyZSBuw6ljZXNzYWlyZSBwb3VyICVzAHBhcXVldCAlcyBhdmVjIGNoYW1wIHNww6ljaWZpcXVlIHVkZWIgJXMAJXMgZGV2cmFpdCDDqnRyZSB1biByw6lwZXJ0b2lyZSBvdSBuZSBwYXMgZXhpc3RlcgAlcyBkZXZyYWl0IMOqdHJlIHVuIGZpY2hpZXIgb3UgbmUgcGFzIGV4aXN0ZXIAJXMgbmUgZGV2cmFpdCBwYXMgw6p0cmUgbGnDqSBhdmVjICVzIChpbCBuJ3V0aWxpc2UgYXVjdW4gZGUgc2VzIHN5bWJvbGVzKS4AJXMobCVzKcKgOiAlcwAlcyhsJXMpOiAlcwpMSUdORcKgOiAlcwAlc8KgOiBjb25mbGl0cyBkZSBjb25zdHJ1Y3Rpb24gZHUgcGFxdWV0wqA6IAAlc8KgOiBkw6lwZW5kYW5jZXMgZGUgY29uc3RydWN0aW9uIG5vbiB0cm91dsOpZXPCoDogACVzwqA6IGVudm9pIGQndW4gcGFxdWV0IGluZMOpcGVuZGFudCBkZSBsJ2FyY2hpdGVjdHVyZSAtIG4naW5jbHV0IHBhcyBkZSBwYXF1ZXQgc3DDqWNpZmlxdWUgZCd1bmUgYXJjaGl0ZWN0dXJlLgAlc8KgOiBlbnZvaSBkJ3VuIHBhcXVldCBwb3VyIHVuZSBhcmNoaXRlY3R1cmUgLSBuJ2luY2x1dCBwYXMgZGUgcGFxdWV0IGluZMOpcGVuZGFudCBkJ3VuZSBhcmNoaXRlY3R1cmUuACVzwqA6IG1vZGlmaWNhdGlvbnMgbm9uIHJlcHLDqXNlbnRhYmxlcyBkZXMgc291cmNlcwBsJ29wdGlvbiDCq8KgJXPCoMK7IGluZGlxdWUgdW5lIHZlcnNpb24gaW5leGlzdGFudGUAZHJhcGVhdSDCq8KgaGFyZGVuaW5nwqDCuyBtYWlzIMKrwqBoYXJkZW5pbmctd3JhcHBlcsKgwrsgbidlc3QgcGFzIGluc3RhbGzDqQDCq8Kgb2Zmc2V0wqDCuyBzYW5zIMKrwqBjb3VudMKgwrsgbidhIGF1Y3VuIGVmZmV0AGwnb3B0aW9uIMKrwqBzaW5jZcKgwrsgaW5kaXF1ZSBsYSB2ZXJzaW9uIGxhIHBsdXMgcsOpY2VudGUgZXQgZXN0IGlnbm9yw6llAGwnb3B0aW9uIMKrwqB1bnRpbMKgwrsgaW5kaXF1ZSBsYSB2ZXJzaW9uIGxhIHBsdXMgYW5jaWVubmUgZXQgZXN0IGlnbm9yw6llAChVdGlsaXNleiBsJ29wdGlvbiAtZCBwb3VyIGZvcmNlci4pAEwnb3B0aW9uIC0tdGFyZ2V0LWZvcm1hdCBlc3QgYWJzZW50ZQBMYSBnZXN0aW9uIGRlIC1FIGV0IC1XIGVzdCBvYnNvbMOodGUgKGNlcyBwYXJhbcOodHJlcyBzb250IHNhbnMgZWZmZXQpAGlsIGZhdXQgYXUgcGx1cyB1biBwYXJhbcOodHJlIHLDqXBlcnRvaXJlIGV0IHVuIHBhcmFtw6h0cmUgc291cmNlIGQnb3JpZ2luZSBhdmVjIC1iIChwb3VyIGxlcyBwYXF1ZXRzIHNvdXJjZSB2MS4wKQAtYiBuJ3V0aWxpc2UgcXUndW4gcGFyYW3DqHRyZSBhdmVjIGxlIGZvcm1hdCDCq8KgJXPCoMK7AGwnb3B0aW9uIC1zJXMgYW5udWxlIHVuZSBwcsOpY8OpZGVudGUgb3B0aW9uIC1zJXMALXUsIC0tdWRlYiBvcHRpb24gb2Jzb2zDqHRlICh2b2lyIFJFQURNRS5mZWF0dXJlLXJlbW92YWwtc2NoZWR1bGUpAC14IGRlbWFuZGUgYXUgbW9pbnMgdW4gcGFyYW3DqHRyZSwgbGUgZmljaGllciAuZHNjAC14IGRlbWFuZGUgbGUgZmljaGllciAuZHNjIGNvbW1lIHByZW1pZXIgcGFyYW3DqHRyZSwgcGFzIHVuIHLDqXBlcnRvaXJlAC14IG5lIHByZW5kIHBhcyBwbHVzIGRlIGRldXggcGFyYW3DqHRyZXMAcsOpcGVydG9pcmUgLm9yaWcgJXMgbidlc3QgcGFzIDxwYXF1ZXQ+LTx2ZXJzaW9uX2Ftb250PiAoJXMgZGVtYW5kw6kpAC5vcmlnLnRhciAlcyBuJ2VzdCBwYXMgPHBhcXVldD5fPHZlcnNpb25fYW1vbnQ+Lm9yaWcudGFyICglcyBkZW1hbmTDqSkAPGZpY2hpZXIgZGUgY29udHLDtGxlPiBlc3QgbGUgZmljaGllciBkZSBjb250csO0bGUgw6AgdHJhaXRlciAocGFyIGTDqWZhdXQsIGRlYmlhbi9jb250cm9sKS4APGVudHLDqWUgc3RhbmRhcmQ+ADxzb3J0aWUgc3RhbmRhcmQ+AFLDqXBlcnRvaXJlIGRlIGJpbmFpcmVzICVzIG5vbiB0cm91dsOpAETDqXBlbmRhbmNlcyBkZSBjb25zdHJ1Y3Rpb24gZXQgY29uZmxpdHMgbm9uIHNhdGlzZmFpdHPCoDsgw6ljaGVjLgBPcHRpb25zIGRlIGNvbnN0cnVjdGlvbsKgOgogIC1jPGZpY2hpZXJfZGVfY29udHLDtGxlPiAgICBvYnRlbmlyIGxlcyBpbmZvcm1hdGlvbnMgZGUgY29udHLDtGxlIGRhbnMgY2UgZmljaGllci4KICAtbDxmaWNoaWVyX2NoYW5nZWxvZz4gICAgICBvYnRlbmlyIGxlcyBpbmZvcm1hdGlvbnMgZGUgY2hhbmdlbG9nIGRhbnMgY2UgZmljaGllci4KICAtRjxjaGFuZ2Vsb2dmb3JtYXQ+ICAgICAgICBtb2RpZmllciBsZSBmb3JtYXQgZHUgY2hhbmdlbG9nLgogIC1WPG5vbT49PHZhbGV1cj4gICAgICAgICAgIGTDqWZpbmlyIHVuZSBzdWJzdGl0dXRpb24gZGUgdmFyaWFibGUuCiAgLVQ8dmFybGlzdGZpbGU+ICAgICAgICAgICAgbGlyZSBsZXMgdmFyaWFibGVzIGRhbnMgY2UgZmljaGllciwgcGFzIGRhbnMgZGViaWFuL3N1YnN0dmFycy4KICAtRDxjaGFtcD49PHZhbGV1cj4gICAgICAgICByZW1wbGFjZXIgb3UgYWpvdXRlciB1bmUgcGFpcmUgY2hhbXAgLyB2YWxldXIuCiAgLVU8Y2hhbXA+ICAgICAgICAgICAgICAgICAgc3VwcHJpbWVyIHVuIGNoYW1wLgogIC1xICAgICAgICAgICAgICAgICAgICAgICAgIG9ww6lyYXRpb24gbXVldHRlLCBuZSBwYXMgYWZmaWNoZXIgZCdhdmVydGlzc2VtZW50cy4KICAtaVs8cmVnZXhwPl0gICAgICAgICAgICAgICDDqWxpbWluZXIgbGVzIGZpY2hpZXJzIMOgIGlnbm9yZXIsIGTDqWZhdXQgJXMuCiAgLUlbPGZvcm1hdD5dICAgICAgICAgICAgICAgw6lsaW1pbmVyIGRlcyBmaWNoaWVycyBlbiBjb25zdHJ1aXNhbnQgbGVzIHRhcmJhbGxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhciBkw6lmYXV0wqA6ICVzKS4KICAtWjxjb21wcmVzc2lvbj4gICAgICAgICAgICBjaG9pc2lyIGxhIGNvbXByZXNzaW9uIMOgIHV0aWxpc2VyIChwYXIgZMOpZmF1dCwgJXPCoCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXMgdmFsZXVycyBnw6lyw6llcyBzb250wqA6ICVzKS4KICAtejxuaXZlYXU+ICAgICAgICAgICAgICAgICBuaXZlYXUgZGUgY29tcHJlc3Npb24gw6AgdXRpbGlzZXIgKHBhciBkw6lmYXV0LCAlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXMgdmFsZXVycyBnw6lyw6llcyBzb250wqA6IMKrwqAxwqDCuyAtIMKrwqA5wqDCuywgwqvCoGJlc3TCoMK7LCDCq8KgZmFzdMKgwrspAEltcG9zc2libGUgZCdleHRyYWlyZSBsZSBub20gZXQgbGEgdmVyc2lvbiBkdSBub20gZGUgbGEgYmlibGlvdGjDqHF1ZSDCq8KgJXPCoMK7AEltcG9zc2libGUgZGUgZnVzaW9ubmVyIGxlcyBzeW1ib2xlcyBkZXB1aXMgZGVzIG9iamV0cyBzYW5zIFNPTkFNRS4ASW1wb3NzaWJsZSBkZSBsaXJlIGxlIHLDqXBlcnRvaXJlICVzwqA6ICVzAEltcG9zc2libGUgZGUgY29udGludWVyIMOgIGNhdXNlciBkZSBsJ2VycmV1ciBjaS1kZXNzdXMuAEltcG9zc2libGUgZGUgY29udGludWVyIMOgIGNhdXNlIGRlcyBlcnJldXJzIGNpLWRlc3N1cy4AU29tbWVzIGRlIGNvbnRyw7RsZSBlbiBjb25mbGl0wqA6IMKrwqAlc8KgwrsgZXQgwqvCoCVzwqDCuyBwb3VyIGxlIGZpY2hpZXIgwqvCoCVzwqDCuwBDb25mbGl0IGRlIHRhaWxsZSBkZSBmaWNoaWVycyAldSBldCAldSBwb3VyIGxlIGZpY2hpZXIgJXMAQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAgUmFwaGFlbCBIZXJ0em9nLgBJbXBvc3NpYmxlIGRlIGZlcm1lciBzdGRvdXQAaW1wb3NzaWJsZSBkZSBkw6l0ZXJtaW5lciBsZSB0eXBlIGRlIGdjYyB1dGlsaXPDqSwgcmV0b3VyIGF1IHN5c3TDqG1lIHBhciBkw6lmYXV0IChjb21waWxhdGlvbiBuYXRpdmUpAEltcG9zc2libGUgZGUgbGlyZSAlcwBJbXBvc3NpYmxlIGQnYW5hbHlzZXIgbCdlbnJlZ2lzdHJlbWVudCBkJ2FsbG9jYXRpb24gZHluYW1pcXVlwqA6ICVzAEltcG9zc2libGUgZCdhbmFseXNlciBsYSBkw6lmaW5pdGlvbiBkZSBzeW1ib2xlcyBkeW5hbWlxdWXCoDogJXMARGViaWFuICVzIHZlcnNpb24gJXMuCgBMZSB0eXBlIHBhciBkw6lmYXV0IGR1IHN5c3TDqG1lIEdOVSAlcyBwb3VyIGwnYXJjaGl0ZWN0dXJlIERlYmlhbiAlcyBuZSBjb3JyZXNwb25kIHBhcyBhdSB0eXBlIGR1IHN5c3TDqG1lIEdOVSBpbmRpcXXDqSAlcwBEcGtnOjpjb21wcmVzc2lvbjo6UHJvY2VzcyBuZSBwZXV0IGTDqW1hcnJlciBxdSd1biBzb3VzLXByb2Nlc3N1cyDDoCBsYSBmb2lzAFNhaXNpc3NleiBsZSBub20gZHUgZmljaGllciBkZSBkaWZmw6lyZW5jZSA6IABPcHRpb25zIGQnZXh0cmFjdGlvbsKgOgogIC0tbm8tY29weSAgICAgICAgICAgICAgICAgIG5lIHBhcyBjb3BpZXIgbCdhcmNoaXZlIG9yaWdpbmFsZQogIC0tbm8tY2hlY2sgICAgICAgICAgICAgICAgIG5lIHBhcyBjb250csO0bGVyIGxhIHNpZ25hdHVyZSBldCBsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21tZXMgZGUgY29udHLDtGxlIGF2YW50IGRlIGTDqWNvbXBhY3Rlci4KIC0tLXJlcXVpcmUtdmFsaWQtc2lnbmF0dXJlICBpbXBvc2VyIHF1ZSBsZSBwYXF1ZXQgY29tcG9ydGUgdW5lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmF0dXJlIHZhbGFibGUuAEltcG9zc2libGUgZCdhbmFseXNlciB1bmUgbGlnbmUgZGFucyAlc8KgOiAlcwBJbXBvc3NpYmxlIGQnYW5hbHlzZXIgdW5lIGxpZ25lIGRhbnMgJXPCoDogJXMAw4ljaGVjIGRlIHNpZ25hdHVyZSBkdSBmaWNoaWVyIC5jaGFuZ2VzAMOJY2hlYyBkZSBzaWduYXR1cmUgZGVzIGZpY2hpZXJzIC5kc2MgZXQgLmNoYW5nZXMASW1wb3NzaWJsZSBkJ8OpY3JpcmUgc3VyIHN0ZG91dABsYSBzb21tZSBkZSBjb250csO0bGUgZHUgZmljaGllciAlcyBlc3QgJXMgYXUgbGlldSBkZSAlcyAoYWxnb3JpdGhtZSAlcykAbGEgdGFpbGxlIGR1IGZpY2hpZXIgJXMgZXN0ICV1IGF1IGxpZXUgZGUgJXUgYXR0ZW5kdQBMZSBmb3JtYXQgwqvCoDMuMCAocGVyc29ubmFsaXPDqSnCoMK7ICjCq8KgMy4wIChjdXN0b20pwqDCuykgbidlc3QgdXRpbGlzw6kgcXVlIHBvdXIgY3LDqWVyIGRlcyBwYXF1ZXRzIHNvdXJjZQBPcHRpb25zIGfDqW7DqXJhbGVzwqA6CiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGUuCiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbi4Abm9tIGRlIHBhcXVldCAlcyBub24gYXV0b3Jpc8OpAERlcyBvcHRpb25zIHN1cHBsw6ltZW50YWlyZXMgc29udCBkaXNwb25pYmxlcyBtYWlzIGTDqXBlbmRlbnQgZHUgZm9ybWF0IGRlIHBhcXVldCBzb3VyY2UgdXRpbGlzw6kuClZldWlsbGV6IGNvbnN1bHRlciBsYSBwYWdlIGRlIG1hbnVlbCBkcGtnLXNvdXJjZSgxKSBwb3VyIHBsdXMgZCdpbmZvcm1hdGlvbnMuAFBhcyBkZSBjaGFtcCBQYWNrYWdlIGRhbnMgbGUgZmljaGllciBkZSBjb250csO0bGUgZGUgJXMATm90ZcKgOiBsZXMgYmlibGlvdGjDqHF1ZXMgbmUgc29udCBwYXMgcmVjaGVyY2jDqWVzIGRhbnMgZCdhdXRyZXMgcGFxdWV0cyBiaW5haXJlcyBxdWkgbidvbnQgcGFzIGRlIGZpY2hpZXIgc2hsaWJzIG91IGRlIGZpY2hpZXIgZGUgc3ltYm9sZXMuClBvdXIgYWlkZXIgZHBrZy1zaGxpYmRlcHMgw6AgdHJvdXZlciBkZXMgYmlibGlvdGjDqHF1ZXMgcHJpdsOpZXMsIHZvdXMgZGV2cmlleiBkw6lmaW5pciBMRF9MSUJSQVJZX1BBVEguAE9iamR1bXAgbmUgcGV1dCBhbmFseXNlciAlcwoAT3B0aW9uc8KgOgogIC1CICAgICAgICAgICAgICAgICAgICBiaW5haXJlIHNldWwsIGlnbm9yZSAtSW5kZXAuCiAgLWQgYnVpbGQtZGVwcyAgdXRpbGlzZXIgbGEgY2hhw65uZSBpbmRpcXXDqWUgY29tbWUgZMOpcGVuZGFuY2VzIGRlIGNvbnN0cnVjdGlvbgogICAgICAgICAgICAgICAgICjCq8KgYnVpbGQgZGVwc8KgwrspIGF1IGxpZXUgZGUgY2VsbGVzIGR1IGZpY2hpZXIgY29udHJvbAogIC1jIGJ1aWxkLWNvbmYgIHV0aWxpc2VyIGxhIGNoYcOubmUgaW5kaXF1w6llIGNvbW1lIGNvbmZsaXQgZGUgY29uc3RydWN0aW9uCiAgICAgICAgICAgICAgICAgKMKrwqBidWlsZCBjb25mbGljdHPCoMK7KSBhdSBsaWV1IGRlIGNlbGxlcyBkdSBmaWNoaWVyIGNvbnRyb2wKICAtLWFkbWluZGlyPTxyw6lwZXJ0b2lyZT4KICAgICAgICAgICAgICAgICBjaGFuZ2VyIGxlIHLDqXBlcnRvaXJlIGQnYWRtaW5pc3RyYXRpb24uCiAgLWgsIC0taGVscCAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGUuCiAgICAgIC0tdmVyc2lvbiAgYWZmaWNoZXIgbGEgdmVyc2lvbi4ARmljaGllciBvdmVycmlkZSAlcyBub24gdHJvdXbDqQBzaWduYXR1cmUgUEdQIG5vbiBhdXRvcmlzw6llIGljaQBMYSBnZXN0aW9uIGRlIFBHUCBlc3Qgb2Jzb2zDqHRlICh2b2lyIGxlIGZpY2hpZXIgUkVBRE1FLmZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZSkuAExlIHBhcXVldCAlcyAobm9tICVzKSBhIHVuIGNoYW1wIEZpbGVuYW1lwqAhAExlIHBhcXVldCAlcyAobm9tICVzKSByw6lww6l0w6ksIG1haXMgdmVyc2lvbiBwbHVzIHLDqWNlbnRlAExlIHBhcXVldCAlcyAobm9tICVzKSBlc3QgcsOpcMOpdMOpwqA7AFBhcXVldHMgZGFucyBsJ2FyY2hpdmUgbWFpcyBwYXMgZGFucyBsZSBmaWNoaWVyIGQnb3ZlcnJpZGXCoDoAUGFxdWV0cyBkYW5zIGxlIGZpY2hpZXIgZCdvdmVycmlkZSBtYWlzIHBhcyBkYW5zIGwnYXJjaGl2ZcKgOgBQYXF1ZXRzIGRhbnMgbGUgZmljaGllciBkJ292ZXJyaWRlIGF2ZWMgdmFsZXVyIGluY29ycmVjdGUgcG91ciBsJ2FuY2llbiByZXNwb25zYWJsZcKgOgBQYXF1ZXRzIGluZGlxdWFudCBsZSBtw6ptZSByZXNwb25zYWJsZSBxdWUgbGUgZmljaGllciBkJ292ZXJyaWRlwqA6AEFwcHV5ZXogc3VyIEVudHLDqWUgcG91ciBjb21tZW5jZXIgbGUgcHJvY2Vzc3VzIGRlIHNpZ25hdHVyZQoAbGUgdHlwZSBkdSBzeXN0w6htZSBHTlUgaW5kaXF1w6kgJXMgbmUgY29ycmVzcG9uZCBwYXMgYXUgdHlwZSBkZSBnY2MgJXMATGVzIGluZm9ybWF0aW9ucyBkZSBzeW1ib2xlcyBkb2l2ZW50IMOqdHJlIHByw6ljw6lkw6llcyBwYXIgdW4gZW4tdMOqdGUgKGZpY2hpZXIgJXMsIGxpZ25lICVzKS4AQ2VjaSBlc3QgYWN0dWVsbGVtZW50IHVuIGF2ZXJ0aXNzZW1lbnQgc2FucyBjb25zw6lxdWVuY2UgYXZlYyAtUywgbWFpcwBDZSBsb2dpY2llbCBlc3QgdW4gbG9naWNpZWwgbGlicmUuIFZveWV6IGxhIGxpY2VuY2UgwqvCoEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlwqDCuwpkYW5zIGxhIHZlcnNpb24gMiBvdSB1bmUgdmVyc2lvbiBzdXDDqXJpZXVyZSBwb3VyIGxlcyBjb25kaXRpb25zIGRlIGNvcGllLiBJbCBuJ3kgYSBQQVMgZGUgZ2FyYW50aWUuCgBDZSBwYXF1ZXQgc291cmNlIG5lIHBldXQgw6p0cmUgbWFuaXB1bMOpIHF1J2F2ZXogYnpyLCBxdWkgbidlc3QgcGFzIGFjY2Vzc2libGUgZGFucyBsZSBjaGVtaW4gZGUgcmVjaGVyY2hlIHBhciBkw6lmYXV0IChQQVRIKS4AQ2UgcGFxdWV0IHNvdXJjZSBuZSBwZXV0IMOqdHJlIG1hbmlwdWzDqSBxdSdhdmVjIGdpdCwgcXVpIG4nZXN0IHBhcyBhY2Nlc3NpYmxlIGRhbnMgbGUgY2hlbWluIGRlIHJlY2hlcmNoZSBwYXIgZMOpZmF1dCAoUEFUSCkuAFRlbnRhdGl2ZSBkZSBmdXNpb24gZHUgbcOqbWUgb2JqZXQgKCVzKSBkZXV4IGZvaXMgZGFucyB1biBmaWNoaWVyIGRlIHN5bWJvbGVzLgBpbXBvc3NpYmxlIGRlIG1vZGlmaWVyICVzIGVuICVzAEFubnVsYXRpb24gaW5jb25kaXRpb25uZWxsZSBkdSByZXNwb25zYWJsZSBwb3VyICVzAHR5cGUgZGUgZ2NjICVzIGluY29ubnUsIHJldG91ciBhdSBzeXN0w6htZSBwYXIgZMOpZmF1dCAoY29tcGlsYXRpb24gbmF0aXZlKQBTeW50YXhlwqA6ICVzIFs8b3B0aW9uPiAuLi5dCgpPcHRpb25zwqA6CiAgLWIgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RydWN0aW9uIGR1IGJpbmFpcmUgc2V1bCAtIHBhcyBkZSBmaWNoaWVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLgogIC1CICAgICAgICAgICAgICAgICAgICAgICAgIHNww6ljaWZpcXVlIMOgIHVuZSBhcmNoLiAtIHBhcyBkZSBmaWNoaWVyIHNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91IGFyY2gtaW5kZXAuCiAgLUEgICAgICAgICAgICAgICAgICAgICAgICAgaW5kw6lwZW5kYW50IGQndW5lIGFyY2guIC0gcGFzIGRlIGZpY2hpZXIgc291cmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3UgZmljaGllcnMgZMOpcGVuZGFudCBkZSBsJ2FyY2guCiAgLVMgICAgICAgICAgICAgICAgICAgICAgICAgZW52b2kgKMKrwqB1cGxvYWTCoMK7KSBkZSBzb3VyY2Ugc2V1bGVtZW50LgogIC1jPGZpY2hpZXJfZGVfY29udHLDtGxlPiAgICBvYnRlbmlyIGxlcyBpbmZvcm1hdGlvbnMgZGUgY29udHLDtGxlIGRhbnMgY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWNoaWVyLgogIC1sPGZpY2hpZXJfY2hhbmdlbG9nPiAgICAgIG9idGVuaXIgbGVzIGluZm9ybWF0aW9ucyBkZSBjaGFuZ2Vsb2cgZGFucyBjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpY2hpZXIuCiAgLWY8ZmljaGllcl9kZXNfZmljaGllcnM+ICAgb2J0ZW5pciBsYSBsaXN0ZSBkZXMgZmljaGllcnMgLmRlYiBkYW5zIGNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmljaGllci4KICAtdjxkZXB1aXNfdmVyc2lvbj4gICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgbW9kaWZpY2F0aW9ucyBkZXB1aXMgY2V0dGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uLgogIC1DPGNoYW5nZXNkZXNjcmlwdGlvbj4gICAgIHV0aWxpc2VyIGxhIGRlc2NyaXB0aW9uIGRlcyBjaGFuZ2VtZW50cyBkYW5zIGNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmljaGllci4KICAtbTxyZXNwb25zYWJsZT4gICAgICAgICAgICByZW1wbGFjZXIgbGEgdmFsZXVyIHBvdXIgbGUgcmVzcG9uc2FibGUgZGFucyBsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpY2hpZXIgY29udHJvbC4KICAtZTxyZXNwb25zYWJsZT4gICAgICAgICAgICByZW1wbGFjZXIgbGEgdmFsZXVyIHBvdXIgbGUgcmVzcG9uc2FibGUgZGFucyBsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpY2hpZXIgY2hhbmdlbG9nLgogIC11PHVwbG9hZGZpbGVzZGlyPiAgICAgICAgIHLDqXBlcnRvaXJlIGF2ZWMgZmljaGllcnMgKHBhciBkw6lmYXV0IGMnZXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgwqvCoC4uwqDCuykuCiAgLXNpIChkw6lmYXV0KSAgICAgICAgICAgICAgIGxlIHNvdXJjZSBpbmNsdXQgdW4gb3JpZyBwb3VyIGRlYmlhbi1yZXZpc2lvbiAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3UgMS4KICAtc2EgICAgICAgICAgICAgICAgICAgICAgICBsZSBzb3VyY2UgaW5jbHV0IHVuIG9yaWcuCiAgLXNkICAgICAgICAgICAgICAgICAgICAgICAgbGUgc291cmNlIGluY2x1dCBzZXVsZW1lbnQgdW4gZGlmZiBldCB1biAuZHNjLgogIC1xICAgICAgICAgICAgICAgICAgICAgICAgIHNpbGVuY2UgLSBwYXMgZCdpbmZvcm1hdGlvbiBzdXIgc3RkZXJyLgogIC1GPGNoYW5nZWxvZ2Zvcm1hdD4gICAgICAgIG1vZGlmaWVyIGxlIGZvcm1hdCBkdSBjaGFuZ2Vsb2cuCiAgLVY8bm9tPj08dmFsZXVyPiAgICAgICAgICAgZMOpZmluaXIgdW5lIHN1YnN0aXR1dGlvbiBkZSB2YXJpYWJsZS4KICAtVDx2YXJsaXN0ZmlsZT4gICAgICAgICAgICBsaXJlIGxlcyB2YXJpYWJsZXMgZGFucyBjZSBmaWNoaWVyLCBwYXMgZGFucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYmlhbi9zdWJzdHZhcnMuCiAgLUQ8Y2hhbXA+PTx2YWxldXI+ICAgICAgICAgcmVtcGxhY2VyIG91IGFqb3V0ZXIgdW5lIHBhaXJlIGNoYW1wIC8gdmFsZXVyLgogIC1VPGNoYW1wPiAgICAgICAgICAgICAgICAgIHN1cHByaW1lciB1biBjaGFtcC4KICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICBhZmZpY2hlciBjZSBtZXNzYWdlIGQnYWlkZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBhZmZpY2hlciBsYSB2ZXJzaW9uLgoAU3ludGF4ZcKgOiAlcyBbPG9wdGlvbj4gLi4uXQoKT3B0aW9uczoKICAtbDxmaWNoaWVyX2NoYW5nZWxvZz4gICAgb2J0ZW5pciBkZSBsJ2luZm9ybWF0aW9uIHNlbG9uIGxhIHZlcnNpb24gZGFucyBjZQogICAgICAgICAgICAgICAgICAgICAgICAgICBmaWNoaWVyLgogIC1GPGZvcm1hdF9jaGFuZ2Vsb2c+ICAgICBmb3JjZXIgbGUgZm9ybWF0IGR1IGpvdXJuYWwgZGVzIGNoYW5nZW1lbnRzLgogIC1MPGxpYmRpcj4gICAgICAgICAgICAgICByZWNoZXJjaGVyIGxlcyBhbmFseXNldXJzIGRlIGNoYW5nZW1lbnRzIGRhbnMgPGxpYmRpcj4uCiAgLWgsIC0taGVscCAgICAgICAgICAgICAgIGFmZmljaGVyIGNlIG1lc3NhZ2UgZCdhaWRlLgogICAgICAtLXZlcnNpb24gICAgICAgICAgICBhZmZpY2hlciBsYSB2ZXJzaW9uLgoKT3B0aW9ucyBkZSBsJ2FuYWx5c2V1csKgOgogICAgLS1mb3JtYXQgPGZvcm1hdF9zb3J0aWU+ICAgIGNvbnN1bHRlciBsYSBwYWdlIGRlIG1hbnVlbCBwb3VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pciBsYSBsaXN0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcyBmb3JtYXRzIGRlIHNvcnRpZSBkaXNwb25pYmxlcy4gVmFsZXVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyIGTDqWZhdXTCoDrCoMKrwqBkcGtnwqDCuyBwb3VyIGNvbXBhdGliaWxpdMOpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZlYyDCq8KgZHBrZy1kZXbCoMK7CiAgICAtLXNpbmNlLCAtcywgLXYgPHZlcnNpb24+ICAgaW5jbHVyZSB0b3V0ZXMgbGVzIG1vZGlmaWNhdGlvbnMgZGVwdWlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2V0dGUgdmVyc2lvbgogICAgLS11bnRpbCwgLXUgPHZlcnNpb24+ICAgICAgIGluY2x1cmUgdG91dGVzIGxlcyBtb2RpZmljYXRpb25zIGFudMOpcmlldXJlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMOgIGNldHRlIHZlcnNpb24KICAgIC0tZnJvbSwgLWYgPHZlcnNpb24+ICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgbW9kaWZpY2F0aW9ucyBkZXB1aXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXR0ZSB2ZXJzaW9uIGluY2x1c2UKICAgIC0tdG8sIC10IDx2ZXJzaW9uPiAgICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgbW9kaWZpY2F0aW9ucyBhbnTDqXJpZXVyZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDoCBjZXR0ZSB2ZXJzaW9uIGluY2x1c2UKICAgIC0tY291bnQsIC1jLCAtbiA8bm9tYnJlPiAgICBpbmNsdXJlIDxub21icmU+IGVudHLDqWVzIGRlcHVpcyBsZSBkw6lidXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3UgYmllbiBsZXMgZGVybmnDqHJlcyBzaSA8bm9tYnJlPiBlc3QgaW5mw6lyaWV1ciDDoCAwKQogICAgLS1vZmZzZXQsIC1vIDxudW1iZXI+ICAgICAgIG1vZGlmaWVyIGxlIHBvaW50IGRlIGTDqW1hcnJhZ2UgZGUgLS1jb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDoCBwYXJ0aXIgZHUgZMOpYnV0IChvdSBkZSBsYSBmaW4gc2kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bm9tYnJlPiBlc3QgaW5mw6lyaWV1ciDDoCAwKQogICAgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgIGluY2x1cmUgdG91dGVzIGxlcyBtb2RpZmljYXRpb25zCgBTeW50YXhlwqA6ICVzIFs8b3B0aW9uPiAuLi5dCgpPcHRpb25zwqA6CiAgLXA8cGFxdWV0PiAgICAgICAgICAgICAgIGfDqW7DqXJlciBsZSBmaWNoaWVyIGRlcyBzeW1ib2xlcyBwb3VyIGNlIHBhcXVldC4KICAtUDxyw6lwY29uc3RycGFxdWV0PiAgICAgIHLDqXBlcnRvaXJlIGRlIGNvbnN0cnVjdGlvbiB0ZW1wb3JhaXJlIGF1IGxpZXUgZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGViaWFuL3RtcC4KICAtZTxiaWJsaW90aMOocXVlPiAgICAgICAgIEFmZmljaGVyIGV4cGxpY2l0ZW1lbnQgbGVzIGJpYmxpb3Row6hxdWVzIMOgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2hlcmNoZXIuCiAgLXY8dmVyc2lvbj4gICAgICAgICAgICAgIHZlcnNpb24gZGVzIHBhcXVldHMgKHBhciBkw6lmYXV0LCBsYSB2ZXJzaW9uIGV4dHJhaXRlIGRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYmlhbi9jaGFuZ2Vsb2cpLgogIC1jPG5pdmVhdT4gICAgICAgICAgICAgICBjb21wYXJlciBsZXMgc3ltYm9sZXMgZ8OpbsOpcsOpcyBhdmVjIGxlIGZpY2hpZXIgZGUgcsOpZsOpcmVuY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFucyBsZSByw6lwZXJ0b2lyZSBkZWJpYW4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgIMOJY2hvdWUgc2kgbGVzIGRpZmbDqXJlbmNlcyBzb250IHRyb3AgaW1wb3J0YW50ZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxlIG5pdmVhdSB2YSBkZSAwIHBvdXIgYXVjdW4gY29udHLDtGxlIMOgIDQgcG91ciB0b3VzCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlcyBjb250csO0bGVzKS4gUGFyIGTDqWZhdXQsIGxlIG5pdmVhdSBkZSBjb250csO0bGUgZXN0IDEuCiAgLXEgICAgICAgICAgICAgICAgICAgICAgIHJlc3RlciBzaWxlbmNpZXV4IGV0IG4nYWZmaWNoZXIgYXVjdW4gYXZlcnRpc3NlbWVudCBuaQogICAgICAgICAgICAgICAgICAgICAgICAgICBjcsOpZXIgZGUgZmljaGllciBkZSBkaWZmw6lyZW5jZXMgZW50cmUgbGVzIHN5bWJvbGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyw6nDqXMgZXQgbGUgY2FuZXZhcyBkZSByw6lmw6lyZW5jZS4KICAtSTxmaWNoaWVyPiAgICAgICAgICAgICAgZm9yY2VyIGwndXRpbGlzYXRpb24gZGUgPGZpY2hpZXI+IGNvbW1lIGZpY2hpZXIgZGUgc3ltYm9sZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGUgcsOpZsOpcmVuY2UgYXUgbGlldSBkdSBmaWNoaWVyIHBhciBkw6lmYXV0LgogIC1PPGZpY2hpZXI+ICAgICAgICAgICAgICDDqWNyaXJlIGRhbnMgPGZpY2hpZXI+IGF1IGxpZXUgZGUgLi4uL0RFQklBTi9zeW1ib2xzLgogIC1PICAgICAgICAgICAgICAgICAgICAgICDDqWNyaXJlIGRhbnMgbGEgc29ydGllIHN0YW5kYXJkIGF1IGxpZXUgZGUgLi4uL0RFQklBTi9zeW1ib2xzLgogIC10ICAgICAgICAgICAgICAgICAgICAgICDDqWNyaXJlIGVuIG1vZGUgbW9kw6hsZSAodGVtcGxhdGUpLiBMZXMgw6l0aXF1ZXR0ZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgbmUgc29udCBwYXMgdHJhaXTDqWVzIGV0IHNvbnQgaW5jbHVzZXMgZGFucyBsYSBzb3J0aWUuCiAgLVYgICAgICAgICAgICAgICAgICAgICAgIGRldmVuaXIgdmVyYmV1eC4gTidhZmZpY2hlciBsZXMgc3ltYm9sZXMgb2Jzb2zDqHRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICBldCBsZXMgc3ltYm9sZXMgY29ycmVzcG9uZGFudCBhdSBtb3RpZiBxdWUgc291cyBmb3JtZQogICAgICAgICAgICAgICAgICAgICAgICAgICBkZSBjb21tZW50YWlyZXMgKHVuaXF1ZW1lbnQgZW4gbW9kZSDCq8KgY2FuZXZhc8KgwrspLiAKICAtYTxhcmNoPiAgICAgICAgICAgICAgICAgdXRpbGlzZSA8YXJjaD4gY29tbWUgYXJjaGl0ZWN0dXJlIHBlbmRhbnQgbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhaXRlbWVudAogIC1kICAgICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIGTDqWJvZ3VhZ2UgcGVuZGFudCBsZSB0cmFpdGVtZW50LgogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICBhZmZpY2hlciBjZSBtZXNzYWdlIGQnYWlkZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbi4KAFN5bnRheGXCoDogJXMgWzxvcHRpb24+IC4uLl0KCk9wdGlvbnPCoDoKICAtcDxwYXF1ZXQ+ICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZSBmaWNoaWVyIGRlIGNvbnRyw7RsZSBkdSBwYXF1ZXQuCiAgLWM8ZmljaGllcl9kZV9jb250csO0bGU+ICAgIG9idGVuaXIgbGVzIGluZm9ybWF0aW9ucyBkZSBjb250csO0bGUgZGFucyBjZSBmaWNoaWVyLgogIC1sPGZpY2hpZXJfY2hhbmdlbG9nPiAgICAgIG9idGVuaXIgbGVzIGluZm9ybWF0aW9ucyBkZSBjaGFuZ2Vsb2cgZGFucyBjZSBmaWNoaWVyLgogIC1GPGNoYW5nZWxvZ2Zvcm1hdD4gICAgICAgIG1vZGlmaWVyIGxlIGZvcm1hdCBkZSBjaGFuZ2Vsb2cuCiAgLXY8Zm9yY2V2ZXJzaW9uPiAgICAgICAgICAgZMOpZmluaXIgbGEgdmVyc2lvbiBkdSBwYXF1ZXQgYmluYWlyZS4KICAtZjxmaWNoaWVyX2Rlc19maWNoaWVycz4gICDDqWNyaXJlIGxhIGxpc3RlIGRlcyBmaWNoaWVycyBkYW5zIGNlIGZpY2hpZXIsIG5vbiBkYW5zIGRlYmlhbi9maWxlcy4KICAtUDxwYWNrYWdlYnVpbGRkaXI+ICAgICAgICByw6lwZXJ0b2lyZSB0ZW1wb3JhaXJlIGRlIGNvbnN0cnVjdGlvbiwgYXUgbGlldSBkZSBkZWJpYW4vdG1wLgogIC1uPGZpY2hpZXI+ICAgICAgICAgICAgICAgIHN1cHBvc2VyIHF1ZSBsZSBub20gZHUgcGFxdWV0IHNlcmEgPGZpY2hpZXI+LgogIC1PICAgICAgICAgICAgICAgICAgICAgICAgIMOpY3JpcmUgc3VyIHN0ZG91dCwgcGFzIC4uLi9ERUJJQU4vY29udHJvbC4KICAtaXMsIC1pcCwgLWlzcCwgLWlwcyAgICAgICBvcHRpb25zIGTDqWNvbnNlaWxsw6llcywgaWdub3LDqWVzIHBvdXIgY29tcGF0aWJpbGl0w6kuCiAgLUQ8Y2hhbXA+PTx2YWxldXI+ICAgICAgICAgcmVtcGxhY2VyIG91IGFqb3V0ZXIgdW5lIHBhaXJlIGNoYW1wIC8gdmFsZXVyLgogIC1VPGNoYW1wPiAgICAgICAgICAgICAgICAgIHN1cHByaW1lciB1biBjaGFtcC4KICAtVjxub20+PTx2YWxldXI+ICAgICAgICAgICBkw6lmaW5pciB1bmUgc3Vic3RpdHV0aW9uIGRlIHZhcmlhYmxlLgogIC1UPHZhcmxpc3RmaWxlPiAgICAgICAgICAgIGxpcmUgbGVzIHZhcmlhYmxlcyBkYW5zIGNlIGZpY2hpZXIsIHBhcyBkYW5zIGRlYmlhbi9zdWJzdHZhcnMuCiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGUuCiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbi4KAFN5bnRheGXCoDogJXMgWzxvcHRpb24+IC4uLl0gPHJlcC1kZS1iaW5haXJlcz4gPGZpY2hpZXItZCdvdmVycmlkZT4gWzxjaGVtaW4tw6AtcHLDqWZpeGVyPl0gPgpQYWNrYWdlcwoKT3B0aW9uc8KgOgogIC10LCAtLXR5cGUgPHR5cGU+ICAgICByZWNoZXJjaGVyIGxlcyBwYXF1ZXRzIGRlIDx0eXBlPiAocGFyIGTDqWZhdXQsIMKrwqBkZWLCoMK7KS4KICAtdSwgLS11ZGViICAgICAgICAgICAgcmVjaGVyY2hlciBsZXMgdWRlYnMgKGFsaWFzIG9ic29sw6h0ZSBwb3VyIC10dWRlYikuCiAgLWEsIC0tYXJjaCA8YXJjaD4gICAgIGFyY2hpdGVjdHVyZSDDoCByZWNoZXJjaGVyLgogIC1tLCAtLW11bHRpdmVyc2lvbiAgICBwZXJtZXR0cmUgcGx1c2lldXJzIHZlcnNpb25zIGQndW4gcGFxdWV0LgogIC1lLCAtLWV4dHJhLW92ZXJyaWRlIDxmaWNoaWVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIHVuIGZpY2hpZXIgc3VwcGzDqW1lbnRhaXJlIGQnwqvCoG92ZXJyaWRlwqDCuy4KICAtTSwgLS1tZWRpdW0gPG1lZGl1bT4gYWpvdXRlciBsZSBjaGFtcCBYLU1lZGl1bSBwb3VyIGxhIG3DqXRob2RlIGQnYWNjw6hzCiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpY2QgZGUgZHNlbGVjdC4KICAtaCwgLS1oZWxwICAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGUuCiAgICAgIC0tdmVyc2lvbiAgICAgICAgIGFmZmljaGVyIGxhIHZlcnNpb24uCgBTeW50YXhlwqA6ICVzIFs8b3B0aW9uPiAuLi5dIDxyZXAtZGUtYmluYWlyZXM+IDxmaWNoaWVyLWQnb3ZlcnJpZGU+IFs8Y2hlbWluLcOgLXByw6lmaXhlcj5dID4KU291cmNlcwoKT3B0aW9uc8KgOgogIC1uLCAtLW5vLXNvcnQgICAgICAgICAgbmUgcGFzIHRyaWVyIHBhciBwYXF1ZXQgYXZhbnQgYWZmaWNoYWdlCiAgLWUsIC0tZXh0cmEtb3ZlcnJpZGUgPGZpY2hpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIHVuIGZpY2hpZXIgc3VwcGzDqW1lbnRhaXJlIGQnb3ZlcnJpZGUuCiAgLXMsIC0tc291cmNlLW92ZXJyaWRlIDxmaWNoaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGlzZXIgZmljaGllciBwb3VyIGQnYXV0cmVzIGFubnVsYXRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgcGFyIGTDqWZhdXQgYydlc3QgbGUgZmljaGllciBkJ292ZXJyaWRlIG5vcm1hbAogICAgICAgICAgICAgICAgICAgICAgICAgcXVpIGVzdCB1dGlsaXPDqS4KICAgICAgLS1kZWJ1ZyAgICAgICAgICAgIGFjdGl2ZXIgbGUgZMOpYm9nYWdlLgogICAgICAtLWhlbHAgICAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGUuCiAgICAgIC0tdmVyc2lvbiAgICAgICAgICBhZmZpY2hlciBsYSB2ZXJzaW9uLgoAU3ludGF4ZcKgOiAlcyBbPG9wdGlvbj4gLi4uXSA8ZXjDqWN1dGFibGU+fC1lPGV4w6ljdXRhYmxlPiBbPG9wdGlvbj4gLi4uXQoKT3B0aW9ucyDDoCBwb3NpdGlvbiAobCdvcmRyZSBlc3QgaW1wb3J0YW50KcKgOgogIDxleMOpY3V0YWJsZT4gICAgICAgICAgICAgICAgaW5jbHVyZSBsZXMgZMOpcGVuZGFuY2VzIHBvdXIgPGV4w6ljdXRhYmxlPiwKICAtZTxleMOpY3V0YWJsZT4gICAgICAgICAgICAgIG9wdGlvbiAtZSBzaSA8ZXjDqWN1dGFibGU+IGNvbW1lbmNlIHBhciDCq8KgLcKgwrsKICAtZDxjaGFtcF9kw6lwZW5kYW5jZT4gICAgICAgIGxlIHByb2NoYWluIGV4w6ljdXRhYmxlIGTDqWZpbml0IHNobGliczo8Y2hhbXBfZMOpcGVuZGFuY2U+CgpPcHRpb25zwqA6CiAgLXA8dmFybmFtZXByZWZpeD4gICAgICAgICAgIGTDqWZpbmlyIDx2YXJuYW1lcHJlZml4PjoqIGF1IGxpZXUgZGUgc2hsaWJzOiouCiAgLU8gICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyB2YXJpYWJsZXMgZMOpZmluaWVzIHN1ciBzdGRvdXQuCiAgLUw8bG9jYWxzaGxpYnNmaWxlPiAgICAgICAgIGZpY2hpZXIgZCdvdmVycmlkZSBwb3VyIHNobGlicywgcGFzIGRlYmlhbi9zaGxpYnMubG9jYWwuCiAgLVQ8dmFybGlzdGZpbGU+ICAgICAgICAgICAgIG1ldHRyZSDDoCBqb3VyIGxlcyB2YXJpYWJsZXMgaWNpLCBwYXMgZGViaWFuL3N1YnN0dmFycy4KICAtdDx0eXBlPiAgICAgICAgICAgICAgICAgICAgZMOpZmluaXIgbGUgdHlwZSBkZSBwYXF1ZXQgKC5kZWIgcGFyIGTDqWZhdXQpLgogIC14PHBhcXVldD4gICAgICAgICAgICAgICAgICBleGNsdXJlIGxlIHBhcXVldCBkZXMgZMOpcGVuZGFuY2VzIGfDqW7DqXLDqWVzLgogIC1TPHBrZ2J1aWxkZGlyPiAgICAgICAgICAgICByZWNoZXJjaGVyIGxlcyBiaWJsaW90aMOocXVlcyBuw6ljZXNzYWlyZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFucyBsZSByw6lwZXJ0b2lyZSBkZSBjb25zdHJ1Y3Rpb24gaW5kaXF1w6kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gcHJlbWllciBsaWV1LgogIC12ICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVyIGxlIG1vZGUgYmF2YXJkIChwZXV0IMOqdHJlIHV0aWxpc8OpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsdXNpZXVycyBmb2lzKS4KICAtLWlnbm9yZS1taXNzaW5nLWluZm8gICAgICAgbmUgcGFzIMOpY2hvdWVyIHNpIGxlcyBpbmZvcm1hdGlvbnMgZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZMOpcGVuZGFuY2UgbmUgc29udCBwYXMgdHJvdXbDqWVzLgogIC0td2FybmluZ3M9PHZhbGV1cj4gICAgICAgICBkw6lmaW5pciBsZSBqZXUgZCdhdmVydGlzc2VtZW50cyBhY3RpZnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaXIgbGEgcGFnZSBkZSBtYW51ZWwpLgogIC0tYWRtaW5kaXI9PHLDqXBlcnRvaXJlPiAgICAgY2hhbmdlciBkZSByw6lwZXJ0b2lyZSBkJ2FkbWluaXN0cmF0aW9uLgogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBjZSBtZXNzYWdlIGQnYWlkZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbi4KCkNoYW1wcyBkZSBkw6lwZW5kYW5jZSByZWNvbm51c8KgOgogICVzCgBTeW50YXhlwqA6ICVzIFs8b3B0aW9uPi4uLl0gPGFuY2llbj4gPG5vdXZlYXUtYT4gPG5vdXZlYXUtYj4gWzxzb3J0aWU+XQoKT3B0aW9uc8KgOgogIC0tbWVyZ2UtcHJlcmVsZWFzZXMsIC1tICBmdXNpb25uZXIgbGVzIHZlcnNpb25zIHByw6lsaW1pbmFpcmVzIGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yYW50IGNlIHF1aSBzdWl0IGxlIGRlcm5pZXIgY2FyYWN0w6hyZQogICAgICAgICAgICAgICAgICAgICAgICAgICDCq8KgfsKgwrsgZGFucyBsYSB2ZXJzaW9uLgogIC1oLCAtLWhlbHAsIC0/ICAgICAgICAgICBhZmZpY2hlciBjZSBtZXNzYWdlIGQnYWlkZS4KICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbi4KAFN5bnRheGXCoDogJXMgWzxvcHRpb24+IC4uLl0gWzxhY3Rpb24+XQoKT3B0aW9uc8KgOgogIC1hPGRlYmlhbi1hcmNoPiAgICBkw6lmaW5pciBsJ2FyY2hpdGVjdHVyZSBEZWJpYW4gZW4gY291cnMuCiAgLXQ8Z251LXN5c3RlbT4gICAgIGTDqWZpbmlyIGxlIHR5cGUgZHUgc3lzdMOobWUgR05VIGVuIGNvdXJzLgogIC1MICAgICAgICAgICAgICAgICBsaXN0ZXIgbGVzIGFyY2hpdGVjdHVyZXMgdmFsYWJsZXMuCiAgLWYgICAgICAgICAgICAgICAgIGZvcsOnYWdlLCBhbm51bGVyIGxlcyB2YXJpYWJsZXMgZMOpZmluaWVzIHBhciBsJ2Vudmlyb25uZW1lbnQuCgpBY3Rpb25zwqA6CiAgLWwgICAgICAgICAgICAgICAgIGxpc3RlciBsZXMgdmFyaWFibGVzIChkw6lmYXV0KS4KICAtZTxkZWJpYW4tYXJjaD4gICAgY29tcGFyZXIgYXZlYyBsJ2FyY2hpdGVjdHVyZSBEZWJpYW4gZW4gY291cnMuCiAgLWk8YXJjaC1hbGlhcz4gICAgIHbDqXJpZmllciBxdWUgbCdhcmNoaXRlY3R1cmUgRGViaWFuIGVuIGNvdXJzIGVzdCA8YXJjaC1hbGlhcz4uCiAgLXE8dmFyaWFibGU+ICAgICAgIG4nYWZmaWNoZXIgcXVlIGxhIHZhbGV1ciBkZSA8dmFyaWFibGU+LgogIC1zICAgICAgICAgICAgICAgICBhZmZpY2hlciBsYSBjb21tYW5kZSBwb3VyIGTDqWZpbmlyIGxlcyB2YXJpYWJsZXMgZCdlbnZpcm9ubmVtZW50LgogIC11ICAgICAgICAgICAgICAgICBhZmZpY2hlciBsYSBjb21tYW5kZSBwb3VyIGFubnVsZXIgbGVzIHZhcmlhYmxlcyBkJ2Vudmlyb25uZW1lbnQuCiAgLWMgPGNvbW1hbmRlPiAgICAgIG1ldHRyZSBlbiBwbGFjZSBsJ2Vudmlyb25uZW1lbnQgZXQgZXjDqWN1dGVyIGxhIGNvbW1hbmRlLgogIC0taGVscCAgICAgICAgICAgICBhZmZpY2hlciBjZSBtZXNzYWdlIGQnYWlkZS4KICAtLXZlcnNpb24gICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbi4KAFV0aWxpc2F0aW9uwqA6ICVzIFs8b3B0aW9uPi4uLl0gPGZpY2hpZXI+Li4uCgBTeW50YXhlwqA6ICVzIFs8b3B0aW9uPi4uLl0gPGZpY2hpZXI+IDxzZWN0aW9uPiA8cHJpb3JpdMOpPgoKT3B0aW9uc8KgOgogIC1mIDxmaWNoaWVyX2Rlc19maWNoaWVycz4gICAgbGlzdGVyIGxlcyBmaWNoaWVycyBkYW5zIGNlIGZpY2hpZXIgcGx1dMO0dCBxdWUgZGViaWFuL2ZpbGVzLgogIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGUuCiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBhZmZpY2hlciBsYSB2ZXJzaW9uLgoAU3ludGF4ZcKgOiAlcyBbPG9wdGlvbj4uLi5dIFs8ZmljaGllcl9jaGFuZ2Vsb2c+XQoKT3B0aW9uczoKICAgIC0taGVscCwgLWggICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGQndXRpbGlzYXRpb24KICAgIC0tdmVyc2lvbiwgLVYgICAgICAgICAgICAgICBhZmZpY2hlciBsYSB2ZXJzaW9uCiAgICAtLWxhYmVsLCAtbCA8ZmljaGllcj4gICAgICAgbm9tIGR1IGZpY2hpZXIgZGUgY2hhbmdlbWVudHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDoCB1dGlsaXNlciBkYW5zIGxlcyBtZXNzYWdlcyBkJ2VycmV1cgogICAgLS1maWxlIDxmaWNoaWVyPiAgICAgICAgICAgIGZpY2hpZXIgZGUgY2hhbmdlbWVudHMgw6AgYW5hbHlzZXIuIExhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsZXVyIHBhciBkw6lmYXV0IGVzdCDCq8KgLcKgwrsgKGVudHLDqWUgc3RhbmRhcmQpCiAgICAtLWZvcm1hdCA8Zm9ybWF0X3NvcnRpZT4gICAgdm9pciBsYSBwYWdlIGRlIG1hbnVlbCBwb3VyIGxhIGxpc3RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzIGZvcm1hdHMgZGUgc29ydGllLiBMYSB2YWxldXIgcGFyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZMOpZmF1dCBlc3QgwqvCoGRwa2fCoMK7IHBvdXIgY29tcGF0aWJpbGl0w6kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmVjIGRwa2ctZGV2CiAgICAtLXNpbmNlLCAtcywgLXYgPHZlcnNpb24+ICAgaW5jbHVyZSB0b3V0ZXMgbGVzIG1vZGlmaWNhdGlvbnMgZGVwdWlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2V0dGUgdmVyc2lvbgogICAgLS11bnRpbCwgLXUgPHZlcnNpb24+ICAgICAgIGluY2x1cmUgdG91dGVzIGxlcyBtb2RpZmljYXRpb25zIGFudMOpcmlldXJlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMOgIGNldHRlIHZlcnNpb24KICAgIC0tZnJvbSwgLWYgPHZlcnNpb24+ICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgbW9kaWZpY2F0aW9ucyBkZXB1aXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXR0ZSB2ZXJzaW9uIGluY2x1c2UKICAgIC0tdG8sIC10IDx2ZXJzaW9uPiAgICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgbW9kaWZpY2F0aW9ucyBhbnTDqXJpZXVyZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDoCBjZXR0ZSB2ZXJzaW9uLCBpbmNsdXNlCiAgICAtLWNvdW50LCAtYywgLW4gPG5vbWJyZT4gICAgaW5jbHVyZSA8bm9tYnJlPiBlbnRyw6llcyBkZXB1aXMgbGUgZMOpYnV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG91IGJpZW4gbGVzIGRlcm5pw6hyZXMgc2kgPG5vbWJyZT4gZXN0IGluZsOpcmlldXIgw6AgMCkKICAgIC0tb2Zmc2V0LCAtbyA8bnVtYmVyPiAgICAgICBtb2RpZmllciBsZSBwb2ludCBkZSBkw6ltYXJyYWdlIGRlIC0tY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgw6AgcGFydGlyIGR1IGTDqWJ1dCAob3UgZGUgbGEgZmluIHNpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5vbWJyZT4gZXN0IGluZsOpcmlldXIgw6AgMCkKICAgIC0tYWxsICAgICAgICAgICAgICAgICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgbW9kaWZpY2F0aW9ucwoAVXRpbGlzYXRpb27CoDogJXMgWzxvcHRpb24+Li4uXSA8ZmljaGllciBkZSBjb250csO0bGU+AExlIG51bcOpcm8gZGUgdmVyc2lvbiBpbmRpcXVlIGRlcyBtb2RpZmljYXRpb25zIFVidW50dSBtYWlzIGxlIGNoYW1wIMKrwqBNYWludGFpbmVyOsKgwrsgbmUgY29tcG9ydGUgcGFzIGQnYWRyZXNzZSBVYnVudHUATGUgbnVtw6lybyBkZSB2ZXJzaW9uIGluZGlxdWUgZGVzIG1vZGlmaWNhdGlvbnMgVWJ1bnR1IG1haXMgaWwgbidleGlzdGUgcGFzIGRlIGNoYW1wIMKrwqBYU0JDLU9yaWdpbmFsLU1haW50YWluZXI6wqDCuwAlcyBlbnRyw6llcyDDqWNyaXRlcyBkYW5zIGxlIGZpY2hpZXIgUGFja2FnZXMuACVzIG4nZXN0IHBhcyB1bmUgYXJjaGl0ZWN0dXJlIGF1dG9yaXPDqWUAwqvCoCVzwqDCuyBuJ2VzdCBwYXMgdW5lIGFyY2hpdGVjdHVyZSBhdXRvcmlzw6llLgDCq8KgJXPCoMK7IG5lIHNvbnQgcGFzIGRlcyBhcmNoaXRlY3R1cmVzIGF1dG9yaXPDqWVzLgDCq8KgZHBrZy1kZWIgLUkgJXMgY29udHJvbMKgwrssIHNvcnRpZSBhdmVjICVkLCBwYXF1ZXQgc2F1dMOpAGFiYW5kb24gc3VpdGUgw6AgLS1hYm9ydC1vbi11cHN0cmVhbS1jaGFuZ2VzAEFqb3V0ZXogJXMgZGFucyBkZWJpYW4vc291cmNlL2luY2x1ZGUtYmluYXJpZXMgc2kgdm91cyBzb3VoYWl0ZXogY29uc2VydmVyIGxlIGJpbmFpcmUgbW9kaWZpw6kgZGFucyBsZSBmaWNoZXIgdGFyIGRlYmlhbgBham91dCBkZSAlcyDDoCAlcwByw6lwZXJ0b2lyZSBkJ2FkbWluaXN0cmF0aW9uICVzIG4nZXhpc3RlIHBhcwBVbmUgdW5pb24gZGUgZMOpcGVuZGFuY2VzIG5lIHBldXQgcGFzIGNvbnRlbmlyIGRlIHNpbXBsZSBkw6lwZW5kYW5jZXMAbWlzZSBlbiBwbGFjZSBkZSAlcwBhcmNoaXRlY3R1cmUgJXMgc2V1bGVtZW50IGF1dG9yaXPDqWUgdG91dGUgc2V1bGUgKGxpc3RlIHBvdXIgcGFxdWV0ICVzIGVzdCAlcykAYXJjaGl0ZWN0dXJlIHN1cHBvc8OpZSAnJXMnIHBvdXIgJyVzJwBzZWN0aW9uIMKrwqAlc8Kgwrsgc3VwcG9zw6llIHBvdXIgwqvCoCVzwqDCuwBtYXV2YWlzZSBjbMOpLXZhbGV1ciBhcHLDqHMgwqvCoDvCoMK7wqA6ICVzAGZpY2hpZXIgc3Vic3R2YXJzICVzwqA6IGxpZ25lICVkIG1hbCBmb3Jtw6llAGluZm9ybWF0aW9ucyBkZSBjb250csO0bGUgaW5jb3JyZWN0ZXMgcG91ciDCq8KgJXPCoMK7AGxpZ25lIGQnZW4tdMOqdGUgbWFsIGZvcm3DqWUAbGlnbmUgZGUgZmluIG1hbCBmb3Jtw6llAHZhbGV1ciB1cmdlbmN5IG1hbCBmb3Jtw6llwqA6ICVzAGxpZ25lICVkIG1hbCBmb3Jtw6llIGRhbnMgbGUgZmljaGllciBkZSBsaXN0ZSBkZXMgZmljaGllcnMAbGVzIGJpbmFpcmVzIMOgIGFuYWx5c2VyIGRldnJhaWVudCBkw6lqw6Agw6p0cmUgcHLDqXNlbnRzIGRhbnMgbGUgcsOpcGVydG9pcmUgZGUgbGV1ciBwYXF1ZXQuAGVudm9pIGQndW4gYmluYWlyZSBldCBkdSBmaWNoaWVyIGRlIGRpZmbDqXJlbmNlcyAoYXVjdW5lIGluY2x1c2lvbiBkdSBjb2RlIHNvdXJjZSBkJ29yaWdpbmUpAGZpY2hpZXIgZGUgY29udHLDtGxlIGJpbmFpcmUgJXMAY29udGVudSBkJ3VuIGZpY2hpZXIgYmluYWlyZSBtb2RpZmnDqQBlbnZvaSBkJ3VuIGJpbmFpcmUgc2V1bGVtZW50IChhdWN1bmUgaW5jbHVzaW9uIGRlIGNvZGUgc291cmNlKQBlbnZvaSBkJ3VuIGJpbmFpcmUgLSBhdWN1bmUgaW5jbHVzaW9uIGRlIGNvZGUgc291cmNlAHDDqXJpcGjDqXJpcXVlIGJsb2MAY29uc3RydWN0aW9uIGRlICVzIGRhbnMgJXMAY29uc3RydWN0aW9uIGRlICVzIMOgIHBhcnRpciBkZSAlcwBqb25jdGlvbiAoYnVuZGxpbmcpwqA6wqAlcwDDqXRhdCBkZSBzb3J0aWUgbm9uIG51bCBwb3VyIGJ6cgBpbXBvc3NpYmxlIGRlIGNvbnN0cnVpcmUgYXZlYyBsZSBmb3JtYXQgc291cmNlIMKrwqAlc8KgwrvCoDrCoCVzAGltcG9zc2libGUgZGUgbGlyZSBsZSBsaWVuIHN5bWJvbGlxdWUgJXMAaW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxhIGTDqXBlbmRhbmNlICVzAGltcG9zc2libGUgZGUgbW9kaWZpZXIgbGEgZGF0ZSBkZSAlcwBpbXBvc3NpYmxlIGRlIGZlcm1lciAlcwBpbXBvc3NpYmxlIGRlIGNvbWJpbmVyICVzIGV0ICVzAGltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlICVzAGltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlIMKrwqAlc8KgwrsAaW1wb3NzaWJsZSBkJ2V4w6ljdXRlciBsJ2FuYWx5c2V1ciBkZSBmb3JtYXTCoDogJXMAaW1wb3NzaWJsZSBkZSB0cm91dmVyICVzAGZvcmsgaW1wb3NzaWJsZSBwb3VyICVzAGZzdGF0IGltcG9zc2libGUgcG91ciBsZSBmaWNoaWVyICVzAGltcG9zc2libGUgZCdpbnN0YWxsZXIgbGUgbm91dmVhdSBmaWNoaWVyIGRlIGNvbnRyw7RsZSBlbiBzb3J0aWUgJXMAaW1wb3NzaWJsZSBkZSByZW5kcmUgJXMgZXjDqWN1dGFibGUAaW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgcsOpcGVydG9pcmUgJXMAaW1wb3NzaWJsZSBkZSBkw6lwbGFjZXIgwqvCoCVzwqDCuyB2ZXJzIHVuIGZpY2hpZXIgZXhpc3RhbnQAaW1wb3NzaWJsZSBkJ291dnJpciAlcwBpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGZpY2hpZXIgJXMAaW1wb3NzaWJsZSBkJ291dnJpciBsZSBub3V2ZWF1IGZpY2hpZXIgZGUgY29udHLDtGxlIGVuIHNvcnRpZSAlcwBpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHLDqXBlcnRvaXJlICVzAGltcG9zc2libGUgZGUgbGlyZSAlcwBpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciBkZSBsaXN0ZSBkZXMgZmljaGllcnMuAGltcG9zc2libGUgZGUgbGlyZSBsZSBsaWVuICVzAGltcG9zc2libGUgZGUgbGlyZSBsYSBkYXRlIGRlICVzAGltcG9zc2libGUgZCdlbnJlZ2lzdHJlciBsZXMgY2hhbmdlbWVudHMgZGFucyAlcywgbGUgZmljaGllciBkZSBkaWZmw6lyZW5jZSBleGlzdGUgZMOpasOgIABpbXBvc3NpYmxlIGRlIHN1cHByaW1lciAlcwBpbXBvc3NpYmxlIGQnaWRlbnRpZmllciBsZXMgY2hhbmdlbWVudHMgZGUgJXPCoDoAaW1wb3NzaWJsZSBkJ2lkZW50aWZpZXIgbGVzIGNoYW5nZW1lbnRzIGRlICVzwqA6ICVzAHN0YXQgZGUgJXMgaW1wb3NzaWJsZQDCq8Kgc3RhdMKgwrsgZHUgcsOpcGVydG9pcmUgJXMgaW1wb3NzaWJsZQBzdGF0IGR1IHLDqXBlcnRvaXJlICVzIGltcG9zc2libGUgKGF2YW50IHN1cHByZXNzaW9uKQBzdGF0IGltcG9zc2libGUgcG91ciBsZSBmaWNoaWVyICVzAMKrwqBzdGF0wqDCuyBkdSBwYXJhbcOodHJlIG9yaWdpbmUgJXMgaW1wb3NzaWJsZQBpbXBvc3NpYmxlIGQnw6ljcmlyZSAlcwBmb3JtYXQgZGUgZmljaGllciBkZSBjaGFuZ2VtZW50cyAlcyBpbmNvbm51AGFuYWx5c2V1ciBkZSBmaWNoaWVyIGRlIGNoYW5nZW1lbnRzwqA6ICVzAHDDqXJpcGjDqXJpcXVlIGNhcmFjdMOocmUAY2hkaXIgcG91ciBkdSB2ZXJzICVzAGNoZGlyIHZlcnMgJXMAbGUgcHJvZ3JhbW1lIGRlIGNhbGN1bCBkZSBzb21tZSBkZSBjb250csO0bGUgYSBmb3VybmkgdW4gcsOpc3VsdGF0IGFub3JtYWzCoDrCoMKrwqAlc8KgwrsAcHJvY2Vzc3VzIGZpbHMAY2xvbmFnZSBkZSAlcwBmZXJtZXR1cmUgZHUgbm91dmVhdSBmaWNoaWVyIGRlIGxpc3RlIGRlcyBmaWNoaWVycwBmZXJtZXR1cmUgZGUgbCdhbmNpZW4gZmljaGllciBkZSBsaXN0ZSBkZXMgZmljaGllcnMAw6ljcml0dXJlIHN1ciBsYSBzb3J0aWUgZGUgdGFyAGxhIGxpZ25lIGNvbnRpbnXDqWUgbidlc3QgcGFzIGRhbnMgbGUgY2hhbXAAaW5mb3JtYXRpb24gZGUgY29udHLDtGxlIGQndW4gcGFxdWV0IC5kZWIAaW5mb3JtYXRpb24gZGUgY29udHLDtGxlAGNvcGllIGR1IHLDqXBlcnRvaXJlIGRlYmlhbgBjb3BpZSBkZSBsJ2FuY2llbm5lIGVudHLDqWUgZGFucyBsZSBub3V2ZWF1IGZpY2hpZXIgZGUgbGlzdGUgZGVzIGZpY2hpZXJzAGNvcGllIGQndW5lIGFuY2llbm5lIGVudHLDqWUgZGFucyBsZSBub3V2ZWF1IGZpY2hpZXIgdmFybGlzdCAlcwBpbXBvc3NpYmxlIGRlIHbDqXJpZmllciBsYSBzaWduYXR1cmUgc3VyICVzLCBncGcgbidlc3QgcGFzIGluc3RhbGzDqQBpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGEgYmlibGlvdGjDqHF1ZSAlcyB1dGlsaXPDqWUgcGFyICVzIChmb3JtYXQgRUxGwqA6wqDCq8KgJXPCoMK7OyBSUEFUSMKgOsKgwqvCoCVzwqDCuykASW1wb3NzaWJsZSBkJ2FuYWx5c2VyIGxlcyBpbmZvcm1hdGlvbnMgZGUgY29udHLDtGxlIGRlICVzAGltcG9zc2libGUgZCdhbmFseXNlciBsYSBkYXRlICVzAHLDqXBlcnRvaXJlIMKrwqAlc8KgwrsgY3LDqcOpAENyw6lhdGlvbiBkJ3VuIGNsb25lIHN1cGVyZmljaWVsICjCq8Kgc2hhbGxvdyBjbG9uZcKgwrspIGF2ZWMgbGEgcHJvZm9uZGV1ciAlcwBsJ2FjdHVlbGxlIGFyY2hpdGVjdHVyZSBow7R0ZSDCq8KgJXPCoMK7IG4nYXBwYXJhw650IHBhcyBkYW5zIGxhIGxpc3RlIGQnYXJjaGl0ZWN0dXJlIGR1IHBhcXVldCAoJXMpAGRlYmlhbi9ydWxlcyBuJ2VzdCBwYXMgZXjDqWN1dGFibGU6IGNvcnJpZ8OpLgBsYSBkw6lwZW5kYW5jZSBzdXIgJXMgcG91cnJhaXQgw6p0cmUgw6l2aXTDqWUgc2kgwqvCoCVzwqDCuyBuJ3kgw6l0YWl0IHBhcyBsacOpIHNhbnMgbsOpY2Vzc2l0w6kgKGlsIG4ndXRpbGlzZSBhdWN1biBkZSBzZXMgc3ltYm9sZXMpLgAlZCBmaWNoaWVyIGJpbmFpcmUgbm9uIHNvdWhhaXTDqSBhIMOpdMOpIGTDqXRlY3TDqSAoaWwgZXN0IG7DqWNlc3NhaXJlIGRlIGwnYWpvdXRlciBkYW5zIGRlYmlhbi9zb3VyY2UvaW5jbHVkZS1iaW5hcmllcyBwb3VyIGF1dG9yaXNlciBzb24gaW5jbHVzaW9uKS4AJWQgZmljaGllcnMgYmluYWlyZXMgbm9uIHNvdWhhaXTDqXMgb250IMOpdMOpIGTDqXRlY3TDqXMgKGlsIGVzdCBuw6ljZXNzYWlyZSBkZSBsZXMgYWpvdXRlciBkYW5zIGRlYmlhbi9zb3VyY2UvaW5jbHVkZS1iaW5hcmllcyBwb3VyIGF1dG9yaXNlciBsZXVyIGluY2x1c2lvbikuAHDDqXJpcGjDqXJpcXVlIG91IHNvY2tldCBub24gYXV0b3Jpc8OpAGwgZmljaGllciBkZSBkaWZmw6lyZW5jZXMgJXMgbW9kaWZpZSBsZSBmaWNoaWVyICVzIHZpYSB1biBsaWVuIHN5bWJvbGlxdWXCoDrCoCVzAGxlIGZpY2hpZXIgZGUgZGlmZsOpcmVuY2VzICVzIHN1cHByaW1lIHVuIGZpY2hpZXIgKCVzKSBxdWkgbidleGlzdGUgcGFzIChsaWduZSAlZCkAbGUgZmljaGllciBkZSBkaWZmw6lyZW5jZXMgJXMgbmUgY29udGllbnQgcGFzIGRlIGNoYW5nZW1lbnQAZGlmZiAlcyBzZSB0ZXJtaW5lIGF1IG1pbGlldSBkZSAtLS0vKysrIChsaWduZSAlZCkAbGUgZmljaGllciBkZSBkaWZmw6lyZW5jZXMgJXMgbW9kaWZpZSBkZXV4IGZvaXMgbGUgZmljaGllciAlcwBkaWZmICVzIG1vZGlmaWUgdW4gZmljaGllciBkb250IGxlIG5vbSBkZSB0ZXJtaW5lIHBhciAuZHBrZy1vcmlnAGRpZmYgJXMgbW9kaWZpZSB1biBvYmpldCBxdWkgbidlc3QgcGFzIHVuIGZpY2hpZXIgbm9ybWFsAGRpZmYgc3VyICVzAHLDqXBlcnRvaXJlAHBhcmFtw6h0cmUgcsOpcGVydG9pcmUgJXMgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlAGTDqXRvdXJuZW1lbnRzIGVuIGpldSwgbGEgc29ydGllIHBldXQgw6p0cmUgaW5jb3JyZWN0ZQBuZSBjb250aWVudCBwYXMgZGUgZMOpcMO0dCBienIAbmUgY29udGllbnQgcGFzIGRlIGTDqXDDtHQgZ2l0AGRwa2ctZ2VuY2hhbmdlcwByw6lzdWx0YXQgaW5hdHRlbmR1IGRlIGR1ICVzAGR1IGRhbnMgJXMAY2hhbXAgJXMgZW4gZG91YmxlAGZpY2hpZXJzIG1lbnRpb25uw6lzIGRldXggZm9pcyBkYW5zIGxlIHBhcXVldCBzb3VyY2UgJXPCoDrCoCVzLioAZW50csOpZSBlbiBkb3VibGUgZGFucyBsZSBmaWNoaWVyIGRlIGxpc3RlIGRlcyBmaWNoaWVycyBwb3VyIGxlIGZpY2hpZXIgJXMgKGxpZ25lICVkKQBlbnRyw6llIGVuIGRvdWJsZSBkYW5zIGxlIGZpY2hpZXIgZGUgbGlzdGUgZGVzIGZpY2hpZXJzIHBvdXIgbGUgcGFxdWV0ICVzIChsaWduZSAlZCkgAGVudHLDqWUgZGFucyBsZSBmaWNoaWVyIGQnw6l0YXQgZGUgZHBrZwBsYSBwYXJ0aWUgZCfDqHJlICjCq8KgZXBvY2jCoMK7KSBkdSBudW3DqXJvIGRlIHZlcnNpb24gbidlc3QgcGFzIHVuIG5vbWJyZcKgOsKgwqvCoCVzwqDCuwBlcnJldXIAZXJyZXVyIGVuIGZlcm1hbnQgJXMgKCQ/ICVkLCAkISBgJXMnKQBlcnJldXIgcmVuY29udHLDqWUgbG9ycyBkZSBsJ2FuYWx5c2UgZGUgJXMAZXJyZXVyIHJlbmNvbnRyw6llIGxvcnMgZGUgbCdhbmFseXNlIGR1IGNtYXAgJXPCoDrCoCVzAGxlIG1vZGUgZXjDqWN1dGFibGUgJTA0byBkZSDCq8KgJXPCoMK7IG5lIHNlcmEgcGFzIHJlcHLDqXNlbnTDqSBkYW5zIGxlIGZpY2hpZXIgZGUgZGlmZsOpcmVuY2VzACVzIGF0dGVuZHUsICVzIHJlw6d1AHNpZ25hdHVyZSBQR1AgYXR0ZW5kdWUsIEVPRiBhcHLDqHMgbGlnbmUgYmxhbmNoZSB0cm91dsOpAHNpZ25hdHVyZSBQR1AgYXR0ZW5kdWUsIMKrwqAlc8KgwrsgdHJvdXbDqQBbICstXSBhdHRlbmR1IGF1IGTDqWJ1dCBkZSBsYSBsaWduZSAlZCBkdSBmaWNoaWVyIGRlIGRpZmbDqXJlbmNlcyAlcwBkYW5zIGxhIGxpZ25lICVkIGR1IGZpY2hpZXIgZGUgZGlmZsOpcmVuY2VzICVzLCDCq8KgXi0tLcKgwrsgYXR0ZW5kdQBeQEAgYXR0ZW5kdSBsaWduZSAlZCBkdSBmaWNoaWVyIGRlIGRpZmbDqXJlbmNlcyAlcwBleHRyYWN0aW9uIGRlICVzIGRhbnMgJXMAZXh0cmFjdGlvbiBkJ3VuIHBhcXVldCBzb3VyY2Ugbm9uIHNpZ27DqSAoJXMpAGltcG9zc2libGUgZGUgbW9kaWZpZXIgbGUgZmljaGllciBleHRyYWl0ICVzIGVuICVzAGltcG9zc2libGUgZGUgbW9kaWZpZXIgbGUgZmljaGllciBzYXV2ZWdhcmTDqSAlcyBlbiAlcwBpbXBvc3NpYmxlIGRlIHbDqXJpZmllciBsYSBzaWduYXR1cmUgc3VyICVzAMOpY2hlYyBkJ8OpY3JpdHVyZQBmYWtlcm9vdCBub24gdHJvdXbDqSwgdmV1aWxsZXogc29pdCBpbnN0YWxsZXIgbGUgcGFxdWV0IGZha2Vyb290LApzb2l0IGluZGlxdWVyIHVuZSBjb21tYW5kZSBhdmVjIGwnb3B0aW9uIC1yIG91IGV4w6ljdXRlciBjZXR0ZQpjb21tYW5kZSBlbiB0YW50IHF1J2FkbWluaXN0cmF0ZXVyAGVycmV1ciBmYXRhbGUgcmVuY29udHLDqWUgbG9ycyBkZSBsJ2FuYWx5c2UgZGUgJXMAZXJyZXVyIGZhdGFsZSByZW5jb250csOpZSBsb3JzIGRlIGwnYW5hbHlzZSBkZXMgZG9ubsOpZXMAZmljaGllciAlcyBzYW5zIGNhcmFjdMOocmUgbm91dmVsbGUgbGlnbmUgdGVybWluYWwgKHNvaXQgbCdvcmlnaW5hbCBzb2l0IGxhIHZlcnNpb24gbW9kaWZpw6llKQBsaWduZSBhcHLDqHMgLS0tIG4nZXN0IHBhcyBjb21tZSBhdHRlbmR1IGRhbnMgZGlmZiAlcyAobGlnbmUgJWQpAGZpY2hpZXIsIHNlY3Rpb24gZXQgcHJpb3JpdMOpIG5lIHBldXZlbnQgY29udGVuaXIgZCdlc3BhY2UAbGUgcHJlbWllciBibG9jIG5lIGNvbXBvcnRlIHBhcyBkZSBjaGFtcCBzb3VyY2UAcHJlbWllciBlbi10w6p0ZQBsJ2FuYWx5c2V1ciBkZSBmb3JtYXQgJXMgbidlc3QgcGFzIGV4w6ljdXRhYmxlAGxlIGZvcm1hdCB2My4wIChnaXQpIGF0dGVuZCAlcwBmaWNoaWVyIGluY29ubnUgcG91ciBsZSBmb3JtYXQgdjMuMCAoZ2l0KcKgOsKgJXMAbGUgZm9ybWF0IHYzLjAgKGdpdCkgbid1dGlsaXNlIHF1J3VuIGZpY2hpZXIgLmdpdABsZSBmb3JtYXQgdjMuMCAoZ2l0KSBuJ3V0aWxpc2UgcXUndW4gZmljaGllciAuZ2l0c2hhbGxvdwBsZSBmb3JtYXQgdjMuMCBuJ3V0aWxpc2UgcXUndW4gZmljaGllciBzb3VyY2UAbGlnbmUgYmxhbmNoZSB0cm91dsOpZSwgJXMgYXR0ZW5kdQBjaGFuZ2VtZW50cyB0cm91dsOpcywgJXMgYXR0ZW5kdQBmaW4gZGUgZmljaGllciB0cm91dsOpZSwgJXMgYXR0ZW5kdQBkw6lidXQgZCd1bmUgZW50csOpZSB0cm91dsOpLCAlcyBhdHRlbmR1AGxpZ25lIGRlIGZpbiB0cm91dsOpZSwgJXMgYXR0ZW5kdQBlbnZvaSBjb21wbGV0IChpbmNsdXNpb24gZHUgY29kZSBzb3VyY2UgZCdvcmlnaW5lKQBlbnZvaSBjb21wbGV0wqA7IHBhcXVldCBEZWJpYW4gbmF0aWYgKGluY2x1c2lvbiBkdSBjb2RlIHNvdXJjZSBjb21wbGV0KQBjb21tYW5kZSBwb3VyIG9idGVuaXIgbGVzIHByaXZpbMOoZ2VzIGFkbWluaXN0cmF0ZXVyIMKrwqAlc8Kgwrsgbm9uIHRyb3V2w6llAHNlY3Rpb24gZ8OpbsOpcmFsZSBkYW5zIGxlIGZpY2hpZXIgaW5mbwDDqXRhdCBkZSBzb3J0aWUgbm9uIG51bCBkZSBnaXQgbHMtZmlsZXMAbGUgZMOpcMO0dCBnaXQgJXMgdXRpbGlzZSBkZXMgc291cy1tb2R1bGVzLiBDZWxhIG4nZXN0IGFjdHVlbGxlbWVudCBwYXMgZ8OpcsOpLgBhcmNoaXRlY3R1cmUgaMO0dGUAY2VsdWktY2kgYSDDqXTDqSBpZ25vcsOpIGV0IGxlcyBkb25uw6llcyBkZSAlcyBvbnQgw6l0w6kgdXRpbGlzw6llc8KgIQBvcHRpb24gLXNkIGlnbm9yw6llIHBvdXIgbGVzIHBhcXVldHMgRGViaWFuIHB1cmUgc291Y2hlAHN1cHByZXNzaW9uIGR1IHLDqXBlcnRvaXJlICVzIGlnbm9yw6llAHN1cHByZXNzaW9uIGR1IGZpY2hpZXIgJXMgaWdub3LDqWUAc3VwcHJlc3Npb24gZHUgbGllbiBzeW1ib2xpcXVlICVzIGlnbm9yw6llAGVudHLDqWUgZW4gZG91YmxlICVzIGlnbm9yw6llLCBsaWduZSAlZABlbnRyw6llIGVuIGRvdWJsZSAlcyBpZ25vcsOpZSBkYW5zIGxlIGZpY2hpZXIgZCdvdmVycmlkZSBwb3VyIGxlcyBzb3VyY2VzLCBsaWduZSAlZABlbnRyw6llIGVuIGRvdWJsZSAlcyBpZ25vcsOpZSwgcHJpb3JpdMOpICVzIG5vbiB2YWxhYmxlAGluY2x1c2lvbiBkdSBjb2RlIHNvdXJjZSBvcmlnaW5hbCBkYW5zIGwnZW52b2kgKMKrwqB1cGxvYWTCoMK7KQBpbmZvAGluc3RhbGxhdGlvbiBkdSBub3V2ZWF1IGZpY2hpZXIgZGUgbGlzdGUgZGVzIGZpY2hpZXJzAGluc3RhbGxhdGlvbiBkdSBub3V2ZWF1IGZpY2hpZXIgdmFybGlzdCAlcwBlcnJldXIgaW50ZXJuZQBjaGFtcCBGb3JtYXQgwqvCoCVzwqDCuyBub24gdmFsYWJsZQBVbmUgZMOpcGVuZGFuY2Ugbm9uIHZhbGFibGUgYSDDqXTDqSBjcsOpw6llwqA6wqAlcwBkcmFwZWF1IG5vbiB2YWxhYmxlIGRhbnMgJXPCoDogJXMAbGlnbmUgbm9uIHZhbGFibGUgZGFucyBsYSBjaGHDrm5lIGRlIHNvbW1lIGRlIGNvbnRyw7RsZSAlc8KgOiAlcwBlbnRyw6llIGludmFsaWRlLCBsaWduZSAlZCAoY2hhbXBzICVkKQBlbnRyw6llIG5vbiB2YWxhYmxlIGRhbnMgbGUgZmljaGllciBkJ292ZXJyaWRlIHBvdXIgbGVzIHNvdXJjZXMsIGxpZ25lICVkIChjaGFtcHMgJWQpAGVycmV1ciBkZSBzeW50YXhlIHBvdXIgbCdvcHRpb24gJXMgw6AgbGEgbGlnbmUgJWQASWwgZXN0IGTDqWNvbnNlaWxsw6kgZGUgY3LDqWVyIHVuIHBhcXVldCBzb3VyY2Ugc2FucyBsZSBuZXR0b3llciBwcsOpYWxhYmxlbWVudC4gSWwgcGV1dCBjb250ZW5pciBkZXMgZmljaGllcnMgbm9uIHNvdWhhaXTDqXMuAGxhIGxpZ25lICVkIGRlICVzIG4nZXN0IHBhcyB2YWxhYmxlIGV0IGEgw6l0w6kgaWdub3LDqWUuAExhIGxpZ25lICVkIGRlICVzIGNvbXByZW5kIHVuIGRyYXBlYXUgJXMgaW5jb25udQBsaWduZSBhcHLDqHMgLS0tIG4nZXN0IHBhcyBjb21tZSBhdHRlbmR1IGRhbnMgZGlmZiAlcyAobGlnbmUgJWQpAGxpZ25lIGRlIGZvcm1hdCBpbmNvbm51LCBmb3JtYXQgZGlmZsOpcmVudCBkZSDCq8KgY2hhbXAtZGV1eCBwb2ludHMtdmFsZXVywqDCuwBsZXMgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIG9udCDDqXTDqSBlbnJlZ2lzdHLDqWVzIGRhbnMgdW4gbm91dmVhdSBwYXRjaDogJXMAbGUgY2hhbXAgwqvCoFByaW9yaXR5wqDCuyBkdSBwYXF1ZXQgYmluYWlyZSAlcyBtYW5xdWXCoDsgdXRpbGlzYXRpb24gZGUgwqvCoC3CoMK7AGlsIG1hbnF1ZSBsYSBwcmlvcml0w6kgZGVzIGZpY2hpZXJzIHNvdXJjZQBsYSBzZWN0aW9uIGR1IHBhcXVldCBiaW5haXJlICVzIG1hbnF1ZcKgOyB1dGlsaXNhdGlvbiBkZSDCq8KgLcKgwrsAaWwgbWFucXVlIGxhIHNlY3Rpb24gZGVzIGZpY2hpZXJzIHNvdXJjZQB1biBjaGFtcCBkZSBjb250csO0bGUgdml0YWwgbWFucXVlLCAlcwBpbCBtYW5xdWUgbCdpbmZvcm1hdGlvbiBwb3VyIGwnaW1wb3J0YW50IGNoYW1wIGRlIHNvcnRpZSAlcwBpbmZvcm1hdGlvbiBtYW5xdWFudGUgcG91ciBsZSBjaGFtcCBkZSBzb3J0aWUgJXMAZmljaGllciBvcmlnLnRhciBvdSBkZWJpYW4udGFyIG1hbnF1YW50IGRhbnMgdW4gcGFxdWV0IHNvdXJjZSB2Mi4wAGltcG9zc2libGUgZCd1dGlsaXNlciBta2RpciBwb3VyIGNyw6llciBsZSByw6lwZXJ0b2lyZQBkb25uw6llcyBkZSBtb2RpZmljYXRpb25zIHN1cHBsw6ltZW50YWlyZXMgb3UgZGUgZmluAHBsdXMgZCd1biBmaWNoaWVyIGluZGlxdcOpICglcyBldCAlcykAZMOpcGxhY2VtZW50IGRlIMKrwqAlc8KgwrsgZW4gwqvCoCVzwqDCuwBwbHVzaWV1cnMgZmljaGllcnMgdGFyIGRhbnMgdW4gcGFxdWV0IHNvdXJjZSB2MS4wAGlsIGZhdXQgaW5kaXF1ZXIgdW4gcGFxdWV0IGNhciBsZSBmaWNoaWVyIGRlIGNvbnRyw7RsZSBjb250aWVudCBwbHVzaWV1cnMgKCVzKQB0dWJlIG5vbW3DqQDCq8Kgc29ja2V0wqDCuyBub21tw6kAcGFxdWV0IG5hdGlmIGF2ZWMgLm9yaWcudGFyAGF1IG1vaW5zIHVuIG5vbSBkZSBmaWNoaWVyIGVzdCBuw6ljZXNzYWlyZQBhdSBtb2lucyB1biBleMOpY3V0YWJsZSBlc3QgbsOpY2Vzc2FpcmUASWwgZXN0IGRlbWFuZMOpIGV4YWN0ZW1lbnQgdW4gZmljaGllciwgdW5lIHNlY3Rpb24gZXQgdW5lIHByaW9yaXTDqQBub3V2ZWxsZXMgYmlibGlvdGjDqHF1ZXMgYXBwYXJ1ZXMgZGFucyBsZSBmaWNoaWVyIGRlcyBzeW1ib2xlc8KgOsKgJXMAbGUgZmljaGllciDCq8KgJXPCoMK7LCBub3V2ZWxsZW1lbnQgY3LDqcOpLCBuZSBzZXJhIHBhcyByZXByw6lzZW50w6kgZGFucyBsZSBmaWNoaWVyIGRlIGRpZmbDqXJlbmNlcwBlbi10w6p0ZSBzdWl2YW50IG91IGZpbiBkZSBmaWNoaWVyAHBhcyBkZSBjaGFtcCBQYWNrYWdlIHRyb3V2w6kgZGFucyDCq8KgJXPCoMK7LCBpZ25vcsOpAHBhcyBkZSBwYXF1ZXQgYmluYWlyZSBpbmRpcXXDqSBkYW5zICVzAHBhcyBkZSBmaWNoaWVyIGRlYmlhbi9zeW1ib2xzIHV0aWxpc8OpIGNvbW1lIGJhc2UgcG91ciBnw6luw6lyZXIgJXMAcGFzIGQnaW5mb3JtYXRpb24gZGUgZMOpcGVuZGFuY2UgdHJvdXbDqWUgcG91ciAlcyAodXRpbGlzw6kgcGFyICVzKS4AcGFzIGRlIGZpY2hpZXIgaW5kaXF1w6kgw6AgbGEgbGlnbmUgZGUgY29tbWFuZGUAYXVjdW4gZm9ybWF0IHNvdXJjZSBpbmRpcXXDqSBkYW5zICVzLCB2b2lyIGRwa2ctc291cmNlKDEpAHLDqXBlcnRvaXJlICDCq8KgJXPCoMK7IGluZXhpc3RhbnQsIGVzc2F5ZXogbCdvcHRpb24gLS1jcmVhdGUtZGlyICgtYykAYXVjdW5lIHRlbGxlIGVudHLDqWUgbidhIMOpdMOpIHRyb3V2w6llLCBwYXJhbcOodHJlIMKrwqAlc8KgwrsgaWdub3LDqQBwYXMgZGUgZmljaGllciB0YXIgZGFucyBsZSBjaGFtcCBGaWxlcwBhdWN1bmUgdHJvdXbDqWUsIGTDqW1hcnJhZ2UgZGVwdWlzIGxhIGRlcm5pw6hyZSBlbnRyw6llAGF1Y3VuIGRlcyBmaWNoaWVycyBpbmRpcXXDqXMgcGFyIMKrwqAtLS0vKysrwqDCuyBuJ2VzdCB2YWxhYmxlIGRhbnMgbGUgZmljaGllciBkZSBkaWZmw6lyZW5jZXMgwqvCoCVzwqDCuyAobGlnbmUgJWQpAGluZXhpc3RhbnQAcGFzIGQnaW5jbHVzaW9uIGR1IGNvZGUgc291cmNlIG9yaWdpbmFsIGRhbnMgbCdlbnZvaSAowqvCoHVwbG9hZMKgwrspAHVuZSBzZXVsZSBvcHRpb24gLXgsIC1iIG91IC0tcHJpbnQtZm9ybWF0IGVzdCBhdXRvcmlzw6llLCBldCB1bmUgc2V1bGUgZm9pcwBuZSBnw6hyZSBxdWUgbGEgY29tcHJlc3Npb24gZ3ppcABvdXZlcnR1cmUgZHUgbm91dmVhdSBmaWNoaWVyIGRlIGxpc3RlIGRlcyBmaWNoaWVycwBvdXZlcnR1cmUgZHUgbm91dmVhdSBmaWNoaWVyIHN1YnN0dmFycyAlcwBsZWN0dXJlIGRlIGwnYW5jaWVuIGZpY2hpZXIgdmFybGlzdCAlcwBsZSBwYXJhbcOodHJlIHNvdXJjZSAlcyBuJ2VzdCBwYXMgdW4gZmljaGllciBvdSB1biByw6lwZXJ0b2lyZQBsZSBwYXJhbcOodHJlIHNvdXJjZSBlc3QgdmlkZSAocGFzIGQnb3JpZywgcGFzIGRlIGRpZmYpIG1haXMgbCdvcHRpb24gLXMlcyB2ZXV0IHF1ZWxxdWUgY2hvc2UuAGxlIHBhcmFtw6h0cmUgc291cmNlIGVzdCBjb21wcmVzc8OpIG1haXMgbCdvcHRpb24gLXMlcyBkZW1hbmRlIGRlcyBzb3VyY2VzIG5vbiBjb21wcmVzc8OpZXMgKC5vcmlnLykAbGUgcGFyYW3DqHRyZSBzb3VyY2Ugbidlc3QgcGFzIGNvbXByZXNzw6kgbWFpcyBsJ29wdGlvbiAtcyVzIGRlbWFuZGUgZGVzIHNvdXJjZXMgY29tcHJlc3PDqWVzICgub3JpZy50YXIuPGV4dD4pAGxlIHLDqXBlcnRvaXJlIG9yaWcgJXMgZXhpc3RlIGTDqWrDoCwgcGFzIGRlIG1vZGlmaWNhdGlvbiwgYWJhbmRvbsKgOyB1dGlsaXNlciAtc0EsIC1zSyBvdSAtc1AgcG91ciBmb3JjZXIuAGxlcyBmaWNoaWVycyBvcmlnaW5hbCBldCBtb2RpZmnDqSBzb250IC9kZXYvbnVsbCBkYW5zIGxlIGZpY2hpZXIgZGUgZGlmZsOpcmVuY2VzICVzIChsaWduZSAlZCkAZm9ybWF0IGRlIHNvcnRpZSAlcyBub24gZ8OpcsOpAGFmZmljaGFnZSBkZSBsJ2FuYWx5c2V1ciBkZSBmaWNoaWVyIGRlIGNoYW5nZW1lbnRzAHJlbXBsYWNlbWVudCBkZSAlcyBkYW5zIGwnZW52aXJvbm5lbWVudMKgOiAlcwBsZSBwYXF1ZXQgJXMgYSB1bmUgcHJpb3JpdMOpICVzIGRhbnMgbGUgZmljaGllciBkZSBjb250csO0bGUgbWFpcyB1bmUgcHJpb3JpdMOpICVzIGRhbnMgbGUgZmljaGllciBkZSBsaXN0ZSBkZXMgZmljaGllcnMAbGUgcGFxdWV0ICVzIGEgdW5lIHNlY3Rpb24gJXMgZGFucyBsZSBmaWNoaWVyIGRlIGNvbnRyw7RsZSBtYWlzIHVuZSBzZWN0aW9uICVzIGRhbnMgbGUgZmljaGllciBkZSBsaXN0ZSBkZXMgZmljaGllcnMAcGFxdWV0ICVzIGRhbnMgbGUgZmljaGllciBkZSBjb250csO0bGUgbWFpcyBwYXMgZGFucyBsZSBmaWNoaWVyIGRlIGxpc3RlIGRlcyBmaWNoaWVycwBwYXF1ZXQgJXMgbGlzdMOpIGRhbnMgbGUgZmljaGllciBkZSBsaXN0ZSBkZXMgZmljaGllcnMgbWFpcyBwYXMgZGFucyBsZSBmaWNoaWVyIGluZm8AbGUgcGFxdWV0ICVzIG4nZXN0IHBhcyBkYW5zIGxlIGZpY2hpZXIgZGUgY29udHLDtGxlAHBhcXVldCAlc8KgOsKgAHNlY3Rpb24gZHUgcGFxdWV0IGRhbnMgbGUgZmljaGllciBpbmZvAGxlIGZpY2hpZXIgb3JpZ2luYWwgY29tcHJlc3PDqSAlcyBleGlzdGUgbWFpcyBjZSBuJ2VzdCBwYXMgdW4gc2ltcGxlIGZpY2hpZXIAdmVyc2lvbiBhbmFseXPDqWUgZGUgY2hhbmdlbG9nAHBpcGUgcG91ciAlcwBzaW1wbGUgZmljaGllcgBsZWN0dXJlIGRlIGNoYW5nZXNkZXNjcmlwdGlvbgBsZWN0dXJlIGR1IG5vdXZlYXUgZmljaGllciBkZSBsaXN0ZSBkZXMgZmljaGllcnMAc3VwcHJlc3Npb24gZHUgZmljaGllciBkZSBzYXV2ZWdhcmRlICVzAHLDqW91dmVydHVyZSBzdGRpbgByw6lvdXZlcnR1cmUgc3Rkb3V0AGNsw6ktdmFsZXVyIHLDqXDDqXTDqSAlcwBzdXBwcmVzc2lvbiBpbmRpc3BlbnNhYmxlIGRlIMKrwqAlc8KgwrsgaW5zdGFsbMOpIHBhciBsJ2FyY2hpdmUgdGFyIG9yaWdpbmFsZQBybSAtcmYgbidhIHBhcyBzdXBwcmltw6kgJXMAVmV1aWxsZXogY29uc3VsdGVyIGxlIGZpY2hpZXIgZGUgZGlmZsOpcmVuY2VzIGNpLWRlc3NvdXMAY29uZmlndXJhdGlvbiBkdSBjbG9uZSBzdXBlcmZpY2llbABwbHVzaWV1cnMgZmljaGllcnMgb3JpZy50YXIgb250IMOpdMOpIHRyb3V2w6lzICglcyBldCAlcykgYWxvcnMgcXUndW4gc2V1bCBuJ2VzdCBhdXRvcmlzw6kAZmljaGllciBpbmZvIHN1ciBsZXMgYmlibGlvdGjDqHF1ZXMgcGFydGFnw6llcyDCq8KgJXPCoMK7LCBsaWduZSAlZMKgOiBsaWduZSBtYWwgZm9ybcOpZSDCq8KgJXPCoMK7AG9wdGlvbiBjb3VydGUgbm9uIGF1dG9yaXPDqWUgZGFucyAlcyDDoCBsYSBsaWduZSAlZADCq8KgJXPCoMK7IGlnbm9yw6kAY2VydGFpbmVzIGJpYmxpb3Row6hxdWVzIG9udCBkaXNwYXJ1IGR1IGZpY2hpZXIgZGVzIHN5bWJvbGVzwqA6wqAlcwBjZXJ0YWlucyBub3V2ZWF1eCBzeW1ib2xlcyBzb250IGFwcGFydXMgZGFucyBsZSBmaWNoaWVyIGRlcyBzeW1ib2xlc8KgOsKgJXMAY2VydGFpbnMgc3ltYm9sZXMgb3UgbW90aWZzIG9udCBkaXNwYXJ1IGR1IGZpY2hpZXIgZGVzIHN5bWJvbGVzwqA6wqAlcwBsYSBzb3VyY2UgZXQgbGEgdmVyc2lvbiBzb250IGluZGlzcGVuc2FibGVzIHBvdXIgY2FsY3VsZXIgbGUgbm9tIGRlIGJhc2UgZGUgbGEgc291cmNlAHNvdXJjZSBjaGFuZ8OpIHBhcgByw6lwZXJ0b2lyZSBzb3VyY2UgJXMgbidlc3QgcGFzIDxwYXF1ZXRfc291cmNlPi08dmVyc2lvbl9hbW9udD4gJXMAbGUgcsOpcGVydG9pcmUgc291cmNlIG4nZXN0IHBhcyBsZSBzb21tZXQgZCd1biBkw6lww7R0IGJ6ciAoJXMvLmJ6ciBhYnNlbnQpIGJpZW4gcXVlIGxlIGZvcm1hdCBienIgYWl0IMOpdMOpIGluZGlxdcOpAGxlIHLDqXBlcnRvaXJlIHNvdXJjZSBuJ2VzdCBwYXMgbGUgc29tbWV0IGQndW4gZMOpcMO0dCBnaXQgKCVzLy5naXQgYWJzZW50KSBiaWVuIHF1ZSBsZSBmb3JtYXQgZ2l0IGFpdCDDqXTDqSBpbmRpcXXDqQBnZXN0aW9uIGRlcyBzb3VyY2VzIGF2ZWMgLXMlcyBub24gYXV0b3Jpc8OpZSBhdmVjIC1iAGdlc3Rpb24gZGVzIHNvdXJjZXMgYXZlYyAtcyVzIG5vbiBhdXRvcmlzw6llIGF2ZWMgLXgAZW52b2kgZHUgc291cmNlIHNldWxlbWVudCAoaW5jbHVzaW9uIGR1IGNvZGUgc291cmNlIGQnb3JpZ2luZSkAZW52b2kgZGUgc291cmNlIHVuaXF1ZW1lbnTCoDogcGFxdWV0IERlYmlhbiBuYXRpZgBzb3VyY2UgdW5pcXVlbWVudCwgZW52b2kgZHUgZmljaGllciBkZSBkaWZmw6lyZW5jZXMgdW5pcXVlbWVudCAoYXVjdW5lIGluY2x1c2lvbiBkdSBjb2RlIHNvdXJjZSBkJ29yaWdpbmUpAHBhcXVldCBzb3VyY2UAbGUgZm9ybWF0IGRlIHBhcXVldCBzb3VyY2UgwqvCoCVzwqDCuyBuJ2VzdCBwYXMgZ8OpcsOpIChsZSBtb2R1bGUgUGVybCAlcyBlc3QgcmVxdWlzKQBsZSBwYXF1ZXQgc291cmNlIGEgZGV1eCB2YWxldXJzIGVuIGNvbmZsaXTCoDogJXMgZXQgJXMAbGUgbm9tIGR1IHBhcXVldCBzb3VyY2UgwqvCoCVzwqDCuyBjb250aWVudCB1biBjYXJhY3TDqHJlIMKrwqAlc8Kgwrsgbm9uIGF1dG9yaXPDqQBsZSBub20gZHUgcGFxdWV0IHNvdXJjZSDCq8KgJXPCoMK7IG5lIGNvbW1lbmNlIG5pIHBhciB1bmUgbGV0dHJlIG5pIHBhciB1biBjaGlmZnJlAHZlcnNpb24gc291cmNlAGxlIG1vZGUgc3DDqWNpYWwgJTA0byBkZSDCq8KgJXPCoMK7IG5lIHNlcmEgcGFzIHJlcHLDqXNlbnTDqSBkYW5zIGxlIGZpY2hpZXIgZGUgZGlmZsOpcmVuY2VzAGTDqWJ1dCBkZXMgZG9ubsOpZXMgZGUgbW9kaWZpY2F0aW9ucwBzeW1ib2xlICVzIHV0aWxpc8OpIHBhciAlcyBub24gdHJvdXbDqSBkYW5zIGxlcyBiaWJsaW90aMOocXVlcy4Abm9tIGRlIHN5bWJvbGUgbm9uIHByw6ljaXPDqcKgOsKgJXMAbGllbiBzeW1ib2xpcXVlIHZlcnMgJXMAZXJyZXVyIGRlIHN5bnRheGUgZGFucyAlcyDDoCBsYSBsaWduZSAlZMKgOiAlcwBmaW4gZGUgJXMAbGUgZmljaGllciB0YXIgJXMgZXhpc3RlIGTDqWrDoCwgcGFzIGRlIG1vZGlmaWNhdGlvbiwgYWJhbmRvbsKgOyB1dGlsaXNlciAtc1Ugb3UgLXNSIHBvdXIgZm9yY2VyLgBsZSBjaGFtcCAlcyBjb250aWVudCB1bmUgZMOpcGVuZGFuY2Ugc3DDqWNpZmlxdWUgZCd1bmUgYXJjaGl0ZWN0dXJlIG1haXMgbGUgcGFxdWV0IHV0aWxpc2UgwqvCoGFyY2hpdGVjdHVyZTogYWxswqDCuy4ATGEgdmVyc2lvbiBhY3R1ZWxsZSAoJXMpIGVzdCBpbmbDqXJpZXVyZSDDoCBsYSB2ZXJzaW9uIHByw6ljw6lkZW50ZSAoJXMpAGxlIGZpY2hpZXIgZGUgZGlmZsOpcmVuY2VzIG1vZGlmaWUgbGVzIGZpY2hpZXJzIGFtb250IHN1aXZhbnRzwqA6ICVzAGxlIGZpY2hpZXIgZGVzIHN5bWJvbGVzIGfDqW7DqXLDqSBlc3QgdmlkZQBsJ2VuLXTDqnRlIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGwnZXhwcmVzc2lvbiByw6lndWxpw6hyZSBhdHRlbmR1ZQBsZSBmaWNoaWVyIMKrwqBzZXJpZXPCoMK7ICglcykgY29udGllbnQgZGVzIG9wdGlvbnMgbm9uIGfDqXLDqWVzICjCq8KgJXPCoMK7LCBsaWduZSAlcyksIGRwa2ctc291cmNlIHBvdXJyYWl0IMOpY2hvdWVyIGRhbnMgbCdhcHBsaWNhdGlvbiBkZXMgY29ycmVjdGlmcy4AbGEgcGFydGllIGZpbmFsZSAowqvCoHRyYWlsZXLCoMK7KSBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ2V4cHJlc3Npb24gcsOpZ3VsacOocmUgYXR0ZW5kdWUAdHJvcCBkZSBzdWJzdGl0dXRpb25zIC0gbW9kZSByw6ljdXJzaWbCoD8gLSBkYW5zIMKrwqAlc8KgwrsAZGV1eCBjb21tYW5kZXMgaW5kaXF1w6llc8KgOiAtLSVzIGV0IC0tJXMAaW1wb3NzaWJsZSBkZSBtb2RpZmllciBsZXMgcGVybWlzc2lvbnMgZGUgJXMAaW1wb3NzaWJsZSBkZSBjaGFuZ2VyIGRlIHLDqXBlcnRvaXJlIHZlcnMgwqvCoCVzwqDCuwBpbXBvc3NpYmxlIGRlIHbDqXJpZmllciBsJ2V4aXN0ZW5jZSBkZSAlcwBpbXBvc3NpYmxlIGRlIHbDqXJpZmllciBsJ2V4aXN0ZW5jZSBkdSByw6lwZXJ0b2lyZSBvcmlnICVzAGltcG9zc2libGUgZGUgdsOpcmlmaWVyIGxhIHN1cHByZXNzaW9uIGR1IHLDqXBlcnRvaXJlICVzAGltcG9zc2libGUgZGUgZMOpdGVybWluZXIgJXMAaW1wb3NzaWJsZSBkJ2V4w6ljdXRlciAlcwBpbXBvc3NpYmxlIGRlIGdhcmRlciByw6lwZXJ0b2lyZSBvcmlnLCBpbCBleGlzdGUgZMOpasOgAGltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkJ2luZm8gc3VyIGxlcyBiaWJsaW90aMOocXVlcyBwYXJ0YWfDqWVzICVzAGltcG9zc2libGUgZGUgbW9kaWZpZXIgJXMgKG5vdXZlbGxlbWVudCBjcsOpw6kpIGVuICVzAGltcG9zc2libGUgZGUgbW9kaWZpZXIgJXMgZW4gJXMAc3RhdCBpbXBvc3NpYmxlIGR1IHN1cHBvc8OpIG9yaWcgbm9uIGNvbXByZXNzw6kgJXMAcmV0cmFpdCBkZSAlcwBub24gwqvCoGNvbW1pdMOpwqDCuywgbW9kaWZpY2F0aW9ucyBub24gaWdub3LDqWVzIGRhbnMgbGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbMKgOsKgJXMAZmluIGluYXR0ZW5kdWUgZGUgZGlmZiAlcwBzaWduYXR1cmUgUEdQIG5vbiB0ZXJtaW7DqWUAYXJjaGl0ZWN0dXJlIERlYmlhbiBpbmNvbm51ZSAlcywgdm91cyBkZXZleiBhdXNzaSBpbmRpcXVlciBsZSB0eXBlIGR1IHN5c3TDqG1lIEdOVSAAdHlwZSBkdSBzeXN0w6htZSBHTlUgaW5jb25udSAlcywgdm91cyBkZXZleiBhdXNzaSBpbmRpcXVlciBsJ2FyY2hpdGVjdHVyZSBEZWJpYW4gAHR5cGUgZHUgc3lzdMOobWUgR05VIHBhciBkw6lmYXV0IGluY29ubnUgcG91ciBsJ2FyY2hpdGVjdHVyZSBEZWJpYW4gJXMAdHlwZSBkZSBmaWNoaWVyIGluY29ubnUAY2hhbXAgZCdpbmZvcm1hdGlvbiBpbmNvbm51IMKrwqAlc8KgwrsgZGFucyBsZXMgZG9ubsOpZXMgZCdlbnRyw6llIGRlICVzAGNsw6kgY2zDqS12YWxldXIgaW5jb25udWUgJXMAbGlnbmUgaW5jb25udWUgZGFucyBkaWZmIC11IHN1ciAlc8KgOiBgJXMnAG9wdGlvbiBpbmNvbm51ZSDCq8KgJXPCoMK7AG9wdGlvbiBvdSBwYXJhbcOodHJlIGluY29ubnUgJXMAcsOpc3VsdGF0IGRlIGRwa2cgLS1zZWFyY2ggaW5jb25udcKgOiAlcwBjb21tYW5kZSBkZSBzaWduYXR1cmUgaW5jb25udWUsIHN1cHBvc2UgdW5lIGludGVyZmFjZSBkZSBzdHlsZSBwZ3AAdmFyaWFibGUgZGUgc3Vic3RpdHV0aW9uIGluY29ubnVlICR7JXN9AGNpYmxlIG5vbiBjb21wcmVzc8OpZSBleGlzdGXCoDogJXMATGUgZmljaGllciBvcmlnaW5hbCBub24gY29tcHJlc3PDqSAlcyBleGlzdGUgbWFpcyBjZSBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUAZXh0cmFjdGlvbiBkZSAlcwBjaGFtcCBkZSBkw6lwZW5kYW5jZSBub24gcmVjb25udSDCq8KgJXPCoMK7AGxpZ25lIG5vbiByZWNvbm51ZQB0eXBlIGRlIGZpY2hpZXIgbm9uIHJlY29ubnUgcG91ciB1biBmaWNoaWVyIHNvdXJjZSAlc8KgOsKgJXMAZmljaGllciBub24gcmVjb25udSBwb3VyIHVuIHBhcXVldCBzb3VyY2UgbmF0aWbCoDrCoCVzAG1vZGlmaWNhdGlvbnMgbm9uIHJlcHLDqXNlbnRhYmxlcyBkZXMgc291cmNlcwB2ZXJzaW9uIGluY29ubnVlIGRlcyBtw6l0YWRvbm7DqWVzIGRlIHF1aWx0wqA6wqAlcwB2YXJpYWJsZSBkZSBzdWJzdGl0dXRpb24gaW51dGlsaXPDqWUgJHslc30AZmljaGllciBiaW5haXJlIG5vbiBzb3VoYWl0w6nCoDrCoCVzAGZpY2hpZXJzIGFtb250IG1vZGlmacOpc8KgOiAlcwB1dGlsaXNlciBsJ2VudHLDqWUgbGEgcGx1cyByw6ljZW50ZSBxdWkgZXN0IGluZsOpcmlldXJlIMOgIGNlbGxlIGluZGlxdcOpZQB1dGlsaXNlciBsJ2VudHLDqWUgbGEgcGx1cyBhbmNpZW5uZSBxdWkgZXN0IHN1cMOpcmlldXJlIMOgIGNlbGxlIGluZGlxdcOpZQBjaG9pc2lzc2V6IGxlIGZvcm1hdCDCq8KgMy4wIChxdWlsdCnCoMK7IHBvdXIgdXRpbGlzZXIgZGVzIG1vZGlmaWNhdGlvbnMgc8OpcGFyw6llcyBldCBkb2N1bWVudMOpZXMgZGFucyBsZXMgc291cmNlcyBhbW9udCwgdm9pciBkcGtnLXNvdXJjZSgxKQBjZWx1aS1jaSBhIMOpdMOpIGlnbm9yw6kgZXQgbGVzIGRvbm7DqWVzIGRlICVzIG9udCDDqXTDqSBpZ25vcsOpZXMgIQB1dGlsaXNhdGlvbiBkJ3VuZSBjb21tYW5kZSBwb3VyIG9idGVuaXIgbGVzIHByaXZpbMOoZ2VzIGFkbWluaXN0cmF0ZXVyIGVuIHRhbnQgcXUnYWRtaW5pc3RyYXRldXIAdXRpbGlzYXRpb24gZGVzIG9wdGlvbnMgZGVwdWlzICVzwqA6ICVzAHV0aWxpc2F0aW9uIGR1IGZvcm1hdCBzb3VyY2UgwqvCoCVzwqDCuwBmaWNoaWVyIGR1IGZvdXJuaXNzZXVyICjCq8KgdmVuZG9ywqDCuykAbGUgbnVtw6lybyBkZSB2ZXJzaW9uIG5lIHBldXQgcGFzIMOqdHJlIHZpZGUAbGUgbnVtw6lybyBkZSB2ZXJzaW9uIGNvbnRpZW50IHVuIGNhcmFjdMOocmUgwqvCoCVzwqDCuyBub24gYXV0b3Jpc8OpAGF0dGVudGUgZGUgJXMAYXZlcnRpc3NlbWVudABkZXZpZW5kcmEgZmF0YWwgZGFucyBsZSBmdXR1ci4Aw6ljcml0dXJlIGR1IGZpY2hpZXIgY2hhbmdlcwBpbmZvIHN1ciBsZSBkw6l0b3VybmVtZW50IGVudm95w6llIHN1ciBzdGRlcnIAZXJyZXVyIGQnw6ljcml0dXJlIHN1ciBkZXMgZG9ubsOpZXMgZGUgY29udHLDtGxlAMOpY3JpdHVyZSBkZSBsYSBub3V2ZWxsZSBlbnRyw6llIGRhbnMgbGUgbm91dmVhdSBmaWNoaWVyIGRlIGxpc3RlIGRlcyBmaWNoaWVycwDDqWNyaXR1cmUgc3VyIGwnZW50csOpZSBkZSB0YXIAw6ljcml0dXJlIGR1IG1lc3NhZ2Ugc291cmNlIG9yaWdpbmFsAHZvdXMgcG91dmV6IGludMOpZ3JlciBsZXMgbW9kaWZpY2F0aW9ucyBsb2NhbGVzIGRhbnMgJXMAaW1wb3NzaWJsZSBkJ2luZGlxdWVyIMKrwqBmcm9twqDCuyBldCDCq8Kgc2luY2XCoMK7IHNpbXVsdGFuw6ltZW50LiDCq8Kgc2luY2XCoMK7IHNlcmEgdXRpbGlzw6kAaW1wb3NzaWJsZSBkJ2luZGlxdWVyIMKrwqB0b8KgwrsgZXQgwqvCoHVudGlswqDCuyBzaW11bHRhbsOpbWVudC4gwqvCoHVudGlswqDCuyBzZXJhIHV0aWxpc8OpAGltcG9zc2libGUgZGUgY29tYmluZXIgwqvCoGNvdW50wqDCuyBldCDCq8Kgb2Zmc2V0wqDCuyBhdmVjIHVuZSBhdXRyZSBvcHRpb24gZGUgbGltaXRhdGlvbgBpbXBvc3NpYmxlIGQndXRpbGlzZXIgbCfDqXRpcXVldHRlIHN5bXZlciBwb3VyIGlkZW50aWZpZXIgbGVzIHN5bWJvbGVzIG5vbiB2ZXJzaW9ubsOpc8KgOsKgJXMA