A/MNCk1crFFjAAAAAAAAAAAXAAAAQAAAAHMnAgAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAIAbAIAWgIAZAEAZAIAbAMAWgMAZAMAZAQAZAUAZAYAZAcAZAgAZAkAZAoAZAsAZAwAZA0AZA4AZA8AZBAAZBEAZBIAZBMAZBQAZBUAZBYAZBcAZBgAZBkAZxcAWgQAZBoAWgUAZQIAagYABFoHAFoIAGUCAGoJAARaCgBaCwBlAgBqDAAEWg0AWg4AZQIAag8ABFoQAFoRAGUCAGoSAARaEwBaFABlAgBqFQAEWhYAWhcAZQIAahgABFoZAFoaAGUCAGobAFocAGUCAGodAFodAGQbAGQcAIQBAFoeAGQbAGQdAIQBAFofAGQbAGQbAGQeAIQCAFogAGQbAGQbAGQfAIQCAFohAGQbAGQbAGQgAIQCAFoiAGQbAGQhAIQBAFojAGUBAGokAGQiAGsFAHJkAWUEAGolAGQjAIMBAAFkGwBkJACEAQBaJgBuAABkGwBkJQCEAQBaJwBkJgCEAABaKABkGwBkJwCEAQBaKQBlKgBkKACDAQBaKwBkKQCEAABaLABpAABaLQBpAABaLgBlLwBlAgBqJwBkKgBkGwCDAgCDAQBaMABkKwBaMQBkLACEAABaMgBkLQCEAABaMwBkLgCEAABaNABkLwCEAABaNQBkAQBkAgBsNgBaNgBkMACEAABaNwBlNgBqOABlMABlNwBlMgCDAwABZDEAZDMAZDIAhAAAgwAAWVo5AGQCAFMoNAAAAHPiEgAAU3VwcG9ydCBmb3IgcmVndWxhciBleHByZXNzaW9ucyAoUkUpLgoKVGhpcyBtb2R1bGUgcHJvdmlkZXMgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nIG9wZXJhdGlvbnMgc2ltaWxhciB0bwp0aG9zZSBmb3VuZCBpbiBQZXJsLiAgSXQgc3VwcG9ydHMgYm90aCA4LWJpdCBhbmQgVW5pY29kZSBzdHJpbmdzOyBib3RoCnRoZSBwYXR0ZXJuIGFuZCB0aGUgc3RyaW5ncyBiZWluZyBwcm9jZXNzZWQgY2FuIGNvbnRhaW4gbnVsbCBieXRlcyBhbmQKY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBVUyBBU0NJSSByYW5nZS4KClJlZ3VsYXIgZXhwcmVzc2lvbnMgY2FuIGNvbnRhaW4gYm90aCBzcGVjaWFsIGFuZCBvcmRpbmFyeSBjaGFyYWN0ZXJzLgpNb3N0IG9yZGluYXJ5IGNoYXJhY3RlcnMsIGxpa2UgIkEiLCAiYSIsIG9yICIwIiwgYXJlIHRoZSBzaW1wbGVzdApyZWd1bGFyIGV4cHJlc3Npb25zOyB0aGV5IHNpbXBseSBtYXRjaCB0aGVtc2VsdmVzLiAgWW91IGNhbgpjb25jYXRlbmF0ZSBvcmRpbmFyeSBjaGFyYWN0ZXJzLCBzbyBsYXN0IG1hdGNoZXMgdGhlIHN0cmluZyAnbGFzdCcuCgpUaGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGFyZToKICAgICIuIiAgICAgIE1hdGNoZXMgYW55IGNoYXJhY3RlciBleGNlcHQgYSBuZXdsaW5lLgogICAgIl4iICAgICAgTWF0Y2hlcyB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZy4KICAgICIkIiAgICAgIE1hdGNoZXMgdGhlIGVuZCBvZiB0aGUgc3RyaW5nIG9yIGp1c3QgYmVmb3JlIHRoZSBuZXdsaW5lIGF0CiAgICAgICAgICAgICB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuCiAgICAiKiIgICAgICBNYXRjaGVzIDAgb3IgbW9yZSAoZ3JlZWR5KSByZXBldGl0aW9ucyBvZiB0aGUgcHJlY2VkaW5nIFJFLgogICAgICAgICAgICAgR3JlZWR5IG1lYW5zIHRoYXQgaXQgd2lsbCBtYXRjaCBhcyBtYW55IHJlcGV0aXRpb25zIGFzIHBvc3NpYmxlLgogICAgIisiICAgICAgTWF0Y2hlcyAxIG9yIG1vcmUgKGdyZWVkeSkgcmVwZXRpdGlvbnMgb2YgdGhlIHByZWNlZGluZyBSRS4KICAgICI/IiAgICAgIE1hdGNoZXMgMCBvciAxIChncmVlZHkpIG9mIHRoZSBwcmVjZWRpbmcgUkUuCiAgICAqPywrPyw/PyBOb24tZ3JlZWR5IHZlcnNpb25zIG9mIHRoZSBwcmV2aW91cyB0aHJlZSBzcGVjaWFsIGNoYXJhY3RlcnMuCiAgICB7bSxufSAgICBNYXRjaGVzIGZyb20gbSB0byBuIHJlcGV0aXRpb25zIG9mIHRoZSBwcmVjZWRpbmcgUkUuCiAgICB7bSxufT8gICBOb24tZ3JlZWR5IHZlcnNpb24gb2YgdGhlIGFib3ZlLgogICAgIlxcIiAgICAgRWl0aGVyIGVzY2FwZXMgc3BlY2lhbCBjaGFyYWN0ZXJzIG9yIHNpZ25hbHMgYSBzcGVjaWFsIHNlcXVlbmNlLgogICAgW10gICAgICAgSW5kaWNhdGVzIGEgc2V0IG9mIGNoYXJhY3RlcnMuCiAgICAgICAgICAgICBBICJeIiBhcyB0aGUgZmlyc3QgY2hhcmFjdGVyIGluZGljYXRlcyBhIGNvbXBsZW1lbnRpbmcgc2V0LgogICAgInwiICAgICAgQXxCLCBjcmVhdGVzIGFuIFJFIHRoYXQgd2lsbCBtYXRjaCBlaXRoZXIgQSBvciBCLgogICAgKC4uLikgICAgTWF0Y2hlcyB0aGUgUkUgaW5zaWRlIHRoZSBwYXJlbnRoZXNlcy4KICAgICAgICAgICAgIFRoZSBjb250ZW50cyBjYW4gYmUgcmV0cmlldmVkIG9yIG1hdGNoZWQgbGF0ZXIgaW4gdGhlIHN0cmluZy4KICAgICg/aUxtc3V4KSBTZXQgdGhlIEksIEwsIE0sIFMsIFUsIG9yIFggZmxhZyBmb3IgdGhlIFJFIChzZWUgYmVsb3cpLgogICAgKD86Li4uKSAgTm9uLWdyb3VwaW5nIHZlcnNpb24gb2YgcmVndWxhciBwYXJlbnRoZXNlcy4KICAgICg/UDxuYW1lPi4uLikgVGhlIHN1YnN0cmluZyBtYXRjaGVkIGJ5IHRoZSBncm91cCBpcyBhY2Nlc3NpYmxlIGJ5IG5hbWUuCiAgICAoP1A9bmFtZSkgICAgIE1hdGNoZXMgdGhlIHRleHQgbWF0Y2hlZCBlYXJsaWVyIGJ5IHRoZSBncm91cCBuYW1lZCBuYW1lLgogICAgKD8jLi4uKSAgQSBjb21tZW50OyBpZ25vcmVkLgogICAgKD89Li4uKSAgTWF0Y2hlcyBpZiAuLi4gbWF0Y2hlcyBuZXh0LCBidXQgZG9lc24ndCBjb25zdW1lIHRoZSBzdHJpbmcuCiAgICAoPyEuLi4pICBNYXRjaGVzIGlmIC4uLiBkb2Vzbid0IG1hdGNoIG5leHQuCiAgICAoPzw9Li4uKSBNYXRjaGVzIGlmIHByZWNlZGVkIGJ5IC4uLiAobXVzdCBiZSBmaXhlZCBsZW5ndGgpLgogICAgKD88IS4uLikgTWF0Y2hlcyBpZiBub3QgcHJlY2VkZWQgYnkgLi4uIChtdXN0IGJlIGZpeGVkIGxlbmd0aCkuCiAgICAoPyhpZC9uYW1lKXllc3xubykgTWF0Y2hlcyB5ZXMgcGF0dGVybiBpZiB0aGUgZ3JvdXAgd2l0aCBpZC9uYW1lIG1hdGNoZWQsCiAgICAgICAgICAgICAgICAgICAgICAgdGhlIChvcHRpb25hbCkgbm8gcGF0dGVybiBvdGhlcndpc2UuCgpUaGUgc3BlY2lhbCBzZXF1ZW5jZXMgY29uc2lzdCBvZiAiXFwiIGFuZCBhIGNoYXJhY3RlciBmcm9tIHRoZSBsaXN0CmJlbG93LiAgSWYgdGhlIG9yZGluYXJ5IGNoYXJhY3RlciBpcyBub3Qgb24gdGhlIGxpc3QsIHRoZW4gdGhlCnJlc3VsdGluZyBSRSB3aWxsIG1hdGNoIHRoZSBzZWNvbmQgY2hhcmFjdGVyLgogICAgXG51bWJlciAgTWF0Y2hlcyB0aGUgY29udGVudHMgb2YgdGhlIGdyb3VwIG9mIHRoZSBzYW1lIG51bWJlci4KICAgIFxBICAgICAgIE1hdGNoZXMgb25seSBhdCB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZy4KICAgIFxaICAgICAgIE1hdGNoZXMgb25seSBhdCB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuCiAgICBcYiAgICAgICBNYXRjaGVzIHRoZSBlbXB0eSBzdHJpbmcsIGJ1dCBvbmx5IGF0IHRoZSBzdGFydCBvciBlbmQgb2YgYSB3b3JkLgogICAgXEIgICAgICAgTWF0Y2hlcyB0aGUgZW1wdHkgc3RyaW5nLCBidXQgbm90IGF0IHRoZSBzdGFydCBvciBlbmQgb2YgYSB3b3JkLgogICAgXGQgICAgICAgTWF0Y2hlcyBhbnkgZGVjaW1hbCBkaWdpdDsgZXF1aXZhbGVudCB0byB0aGUgc2V0IFswLTldLgogICAgXEQgICAgICAgTWF0Y2hlcyBhbnkgbm9uLWRpZ2l0IGNoYXJhY3RlcjsgZXF1aXZhbGVudCB0byB0aGUgc2V0IFteMC05XS4KICAgIFxzICAgICAgIE1hdGNoZXMgYW55IHdoaXRlc3BhY2UgY2hhcmFjdGVyOyBlcXVpdmFsZW50IHRvIFsgXHRcblxyXGZcdl0uCiAgICBcUyAgICAgICBNYXRjaGVzIGFueSBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXI7IGVxdWl2LiB0byBbXiBcdFxuXHJcZlx2XS4KICAgIFx3ICAgICAgIE1hdGNoZXMgYW55IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXI7IGVxdWl2YWxlbnQgdG8gW2EtekEtWjAtOV9dLgogICAgICAgICAgICAgV2l0aCBMT0NBTEUsIGl0IHdpbGwgbWF0Y2ggdGhlIHNldCBbMC05X10gcGx1cyBjaGFyYWN0ZXJzIGRlZmluZWQKICAgICAgICAgICAgIGFzIGxldHRlcnMgZm9yIHRoZSBjdXJyZW50IGxvY2FsZS4KICAgIFxXICAgICAgIE1hdGNoZXMgdGhlIGNvbXBsZW1lbnQgb2YgXHcuCiAgICBcXCAgICAgICBNYXRjaGVzIGEgbGl0ZXJhbCBiYWNrc2xhc2guCgpUaGlzIG1vZHVsZSBleHBvcnRzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgogICAgbWF0Y2ggICAgTWF0Y2ggYSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiB0byB0aGUgYmVnaW5uaW5nIG9mIGEgc3RyaW5nLgogICAgc2VhcmNoICAgU2VhcmNoIGEgc3RyaW5nIGZvciB0aGUgcHJlc2VuY2Ugb2YgYSBwYXR0ZXJuLgogICAgc3ViICAgICAgU3Vic3RpdHV0ZSBvY2N1cnJlbmNlcyBvZiBhIHBhdHRlcm4gZm91bmQgaW4gYSBzdHJpbmcuCiAgICBzdWJuICAgICBTYW1lIGFzIHN1YiwgYnV0IGFsc28gcmV0dXJuIHRoZSBudW1iZXIgb2Ygc3Vic3RpdHV0aW9ucyBtYWRlLgogICAgc3BsaXQgICAgU3BsaXQgYSBzdHJpbmcgYnkgdGhlIG9jY3VycmVuY2VzIG9mIGEgcGF0dGVybi4KICAgIGZpbmRhbGwgIEZpbmQgYWxsIG9jY3VycmVuY2VzIG9mIGEgcGF0dGVybiBpbiBhIHN0cmluZy4KICAgIGZpbmRpdGVyIFJldHVybiBhbiBpdGVyYXRvciB5aWVsZGluZyBhIG1hdGNoIG9iamVjdCBmb3IgZWFjaCBtYXRjaC4KICAgIGNvbXBpbGUgIENvbXBpbGUgYSBwYXR0ZXJuIGludG8gYSBSZWdleE9iamVjdC4KICAgIHB1cmdlICAgIENsZWFyIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gY2FjaGUuCiAgICBlc2NhcGUgICBCYWNrc2xhc2ggYWxsIG5vbi1hbHBoYW51bWVyaWNzIGluIGEgc3RyaW5nLgoKU29tZSBvZiB0aGUgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlIHRha2VzIGZsYWdzIGFzIG9wdGlvbmFsIHBhcmFtZXRlcnM6CiAgICBJICBJR05PUkVDQVNFICBQZXJmb3JtIGNhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcuCiAgICBMICBMT0NBTEUgICAgICBNYWtlIFx3LCBcVywgXGIsIFxCLCBkZXBlbmRlbnQgb24gdGhlIGN1cnJlbnQgbG9jYWxlLgogICAgTSAgTVVMVElMSU5FICAgIl4iIG1hdGNoZXMgdGhlIGJlZ2lubmluZyBvZiBsaW5lcyAoYWZ0ZXIgYSBuZXdsaW5lKQogICAgICAgICAgICAgICAgICAgYXMgd2VsbCBhcyB0aGUgc3RyaW5nLgogICAgICAgICAgICAgICAgICAgIiQiIG1hdGNoZXMgdGhlIGVuZCBvZiBsaW5lcyAoYmVmb3JlIGEgbmV3bGluZSkgYXMgd2VsbAogICAgICAgICAgICAgICAgICAgYXMgdGhlIGVuZCBvZiB0aGUgc3RyaW5nLgogICAgUyAgRE9UQUxMICAgICAgIi4iIG1hdGNoZXMgYW55IGNoYXJhY3RlciBhdCBhbGwsIGluY2x1ZGluZyB0aGUgbmV3bGluZS4KICAgIFggIFZFUkJPU0UgICAgIElnbm9yZSB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cyBmb3IgbmljZXIgbG9va2luZyBSRSdzLgogICAgVSAgVU5JQ09ERSAgICAgTWFrZSBcdywgXFcsIFxiLCBcQiwgZGVwZW5kZW50IG9uIHRoZSBVbmljb2RlIGxvY2FsZS4KClRoaXMgbW9kdWxlIGFsc28gZGVmaW5lcyBhbiBleGNlcHRpb24gJ2Vycm9yJy4KCmn/////TnQFAAAAbWF0Y2h0BgAAAHNlYXJjaHQDAAAAc3VidAQAAABzdWJudAUAAABzcGxpdHQHAAAAZmluZGFsbHQHAAAAY29tcGlsZXQFAAAAcHVyZ2V0CAAAAHRlbXBsYXRldAYAAABlc2NhcGV0AQAAAEl0AQAAAEx0AQAAAE10AQAAAFN0AQAAAFh0AQAAAFV0CgAAAElHTk9SRUNBU0V0BgAAAExPQ0FMRXQJAAAATVVMVElMSU5FdAYAAABET1RBTEx0BwAAAFZFUkJPU0V0BwAAAFVOSUNPREV0BQAAAGVycm9ycwUAAAAyLjIuMWkAAAAAYwMAAAADAAAAAwAAAEMAAABzFgAAAHQAAHwAAHwCAIMCAGoBAHwBAIMBAFMoAQAAAHNxAAAAVHJ5IHRvIGFwcGx5IHRoZSBwYXR0ZXJuIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyaW5nLCByZXR1cm5pbmcKICAgIGEgbWF0Y2ggb2JqZWN0LCBvciBOb25lIGlmIG5vIG1hdGNoIHdhcyBmb3VuZC4oAgAAAHQIAAAAX2NvbXBpbGVSAAAAACgDAAAAdAcAAABwYXR0ZXJudAYAAABzdHJpbmd0BQAAAGZsYWdzKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvcmUucHlSAAAAAIYAAABzAgAAAAADYwMAAAADAAAAAwAAAEMAAABzFgAAAHQAAHwAAHwCAIMCAGoBAHwBAIMBAFMoAQAAAHN0AAAAU2NhbiB0aHJvdWdoIHN0cmluZyBsb29raW5nIGZvciBhIG1hdGNoIHRvIHRoZSBwYXR0ZXJuLCByZXR1cm5pbmcKICAgIGEgbWF0Y2ggb2JqZWN0LCBvciBOb25lIGlmIG5vIG1hdGNoIHdhcyBmb3VuZC4oAgAAAFIXAAAAUgEAAAAoAwAAAFIYAAAAUhkAAABSGgAAACgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3JlLnB5UgEAAACLAAAAcwIAAAAAA2MFAAAABQAAAAQAAABDAAAAcxwAAAB0AAB8AAB8BACDAgBqAQB8AQB8AgB8AwCDAwBTKAEAAABzWgEAAFJldHVybiB0aGUgc3RyaW5nIG9idGFpbmVkIGJ5IHJlcGxhY2luZyB0aGUgbGVmdG1vc3QKICAgIG5vbi1vdmVybGFwcGluZyBvY2N1cnJlbmNlcyBvZiB0aGUgcGF0dGVybiBpbiBzdHJpbmcgYnkgdGhlCiAgICByZXBsYWNlbWVudCByZXBsLiAgcmVwbCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGEgY2FsbGFibGU7CiAgICBpZiBhIHN0cmluZywgYmFja3NsYXNoIGVzY2FwZXMgaW4gaXQgYXJlIHByb2Nlc3NlZC4gIElmIGl0IGlzCiAgICBhIGNhbGxhYmxlLCBpdCdzIHBhc3NlZCB0aGUgbWF0Y2ggb2JqZWN0IGFuZCBtdXN0IHJldHVybgogICAgYSByZXBsYWNlbWVudCBzdHJpbmcgdG8gYmUgdXNlZC4oAgAAAFIXAAAAUgIAAAAoBQAAAFIYAAAAdAQAAAByZXBsUhkAAAB0BQAAAGNvdW50UhoAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9yZS5weVICAAAAkAAAAHMCAAAAAAdjBQAAAAUAAAAEAAAAQwAAAHMcAAAAdAAAfAAAfAQAgwIAagEAfAEAfAIAfAMAgwMAUygBAAAAc9sBAABSZXR1cm4gYSAyLXR1cGxlIGNvbnRhaW5pbmcgKG5ld19zdHJpbmcsIG51bWJlcikuCiAgICBuZXdfc3RyaW5nIGlzIHRoZSBzdHJpbmcgb2J0YWluZWQgYnkgcmVwbGFjaW5nIHRoZSBsZWZ0bW9zdAogICAgbm9uLW92ZXJsYXBwaW5nIG9jY3VycmVuY2VzIG9mIHRoZSBwYXR0ZXJuIGluIHRoZSBzb3VyY2UKICAgIHN0cmluZyBieSB0aGUgcmVwbGFjZW1lbnQgcmVwbC4gIG51bWJlciBpcyB0aGUgbnVtYmVyIG9mCiAgICBzdWJzdGl0dXRpb25zIHRoYXQgd2VyZSBtYWRlLiByZXBsIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYQogICAgY2FsbGFibGU7IGlmIGEgc3RyaW5nLCBiYWNrc2xhc2ggZXNjYXBlcyBpbiBpdCBhcmUgcHJvY2Vzc2VkLgogICAgSWYgaXQgaXMgYSBjYWxsYWJsZSwgaXQncyBwYXNzZWQgdGhlIG1hdGNoIG9iamVjdCBhbmQgbXVzdAogICAgcmV0dXJuIGEgcmVwbGFjZW1lbnQgc3RyaW5nIHRvIGJlIHVzZWQuKAIAAABSFwAAAFIDAAAAKAUAAABSGAAAAFIbAAAAUhkAAABSHAAAAFIaAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvcmUucHlSAwAAAJkAAABzAgAAAAAJYwQAAAAEAAAAAwAAAEMAAABzGQAAAHQAAHwAAHwDAIMCAGoBAHwBAHwCAIMCAFMoAQAAAHN0AAAAU3BsaXQgdGhlIHNvdXJjZSBzdHJpbmcgYnkgdGhlIG9jY3VycmVuY2VzIG9mIHRoZSBwYXR0ZXJuLAogICAgcmV0dXJuaW5nIGEgbGlzdCBjb250YWluaW5nIHRoZSByZXN1bHRpbmcgc3Vic3RyaW5ncy4oAgAAAFIXAAAAUgQAAAAoBAAAAFIYAAAAUhkAAAB0CAAAAG1heHNwbGl0UhoAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9yZS5weVIEAAAApAAAAHMCAAAAAANjAwAAAAMAAAADAAAAQwAAAHMWAAAAdAAAfAAAfAIAgwIAagEAfAEAgwEAUygBAAAAcwgBAABSZXR1cm4gYSBsaXN0IG9mIGFsbCBub24tb3ZlcmxhcHBpbmcgbWF0Y2hlcyBpbiB0aGUgc3RyaW5nLgoKICAgIElmIG9uZSBvciBtb3JlIGdyb3VwcyBhcmUgcHJlc2VudCBpbiB0aGUgcGF0dGVybiwgcmV0dXJuIGEKICAgIGxpc3Qgb2YgZ3JvdXBzOyB0aGlzIHdpbGwgYmUgYSBsaXN0IG9mIHR1cGxlcyBpZiB0aGUgcGF0dGVybgogICAgaGFzIG1vcmUgdGhhbiBvbmUgZ3JvdXAuCgogICAgRW1wdHkgbWF0Y2hlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdC4oAgAAAFIXAAAAUgUAAAAoAwAAAFIYAAAAUhkAAABSGgAAACgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3JlLnB5UgUAAACpAAAAcwIAAAAACGkAAAICdAgAAABmaW5kaXRlcmMDAAAAAwAAAAMAAABDAAAAcxYAAAB0AAB8AAB8AgCDAgBqAQB8AQCDAQBTKAEAAABzswAAAFJldHVybiBhbiBpdGVyYXRvciBvdmVyIGFsbCBub24tb3ZlcmxhcHBpbmcgbWF0Y2hlcyBpbiB0aGUKICAgICAgICBzdHJpbmcuICBGb3IgZWFjaCBtYXRjaCwgdGhlIGl0ZXJhdG9yIHJldHVybnMgYSBtYXRjaCBvYmplY3QuCgogICAgICAgIEVtcHR5IG1hdGNoZXMgYXJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuKAIAAABSFwAAAFIeAAAAKAMAAABSGAAAAFIZAAAAUhoAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9yZS5weVIeAAAAtQAAAHMCAAAAAAVjAgAAAAIAAAADAAAAQwAAAHMNAAAAdAAAfAAAfAEAgwIAUygBAAAAc0EAAABDb21waWxlIGEgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4sIHJldHVybmluZyBhIHBhdHRlcm4gb2JqZWN0LigBAAAAUhcAAAAoAgAAAFIYAAAAUhoAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9yZS5weVIGAAAAvAAAAHMCAAAAAAJjAAAAAAAAAAABAAAAQwAAAHMY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