PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgIEIgZSBuIHYgaSBuIGcgdSB0IHMgICBhIGwgICB0IHUgdCBvIHIgICBkIGUgbCAgIFYgSSBNICAgLSAgIFZlcnNp8yAxLjUgICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgIEVsIFZpbSDpcyB1biBlZGl0b3IgcG90ZW50IGkgdOkgbW9sdGVzIG9yZHJlcywgbWFzc2EgY29tIHBlciBhCiAgIGV4cGxpY2FyLWxlcyB0b3RlcyB1biB0dXRvciBjb20gYXF1ZXN0LiBBcXVlc3QgdHV0b3IgZXN04CBwZW5zYXQgcGVyIGEKICAgZW5zZW55YXIgbGVzIG9yZHJlcyBi4HNpcXVlcyBxdWUgdXMgcGVybWV0aW4gZmVyIHNlcnZpciBlbCBWaW0gY29tIGEKICAgZWRpdG9yIGRlIHByb3Dyc2l0IGdlbmVyYWwuCgogICBFbCB0ZW1wcyBhcHJveGltYXQgZGUgY29tcGxldGFyIGVsIHR1dG9yIOlzIGQndW5zIDI1IG8gMzAgbWludXRzCiAgIGRlcGVuZW50IGRlIHF1YW50IHRlbXBzIGRlZGlxdWV1IGEgZXhwZXJpbWVudGFyLgoKICAgRmV1IHVuYSBj8nBpYSBkJ2FxdWVzdCBmaXR4ZXIgcGVyIGEgcHJhY3RpY2FyLWhpIChzaSBoZXUgY29tZW7nYXQgYW1iCiAgIGVsIHByb2dyYW1hIHZpbXR1dG9yIGFpePIgcXVlIGVzdGV1IGxsZWdpbnQgamEg6XMgdW5hIGPycGlhKS4KCiAgIMlzIGltcG9ydGFudCByZWNvcmRhciBxdWUgYXF1ZXN0IHR1dG9yIGVzdOAgcGVuc2F0IHBlciBhIGVuc2VueWFyCiAgIHByYWN0aWNhbnQsIOlzIGEgZGlyIHF1ZSBoYXVyZXUgZCdleGVjdXRhciBsZXMgb3JkcmVzIHNpIGxlcyB2b2xldQogICBhcHJlbmRyZS4gU2kgbm9t6XMgbGxlZ2l1IGVsIHRleHQgZWwgbelzIHByb2JhYmxlIOlzIHF1ZSBsZXMgb2JsaWRldS4KCiAgIEFyYSBhc3NlZ3VyZXUtdm9zIHF1ZSBsYSB0ZWNsYSBkZSBibG9xdWVpZyBkZSBtYWr6c2N1bGVzIG5vIGVzdOAKICAgYWN0aXZhZGEgaSBwcmVtZXUgbGEgdGVjbGEgIGogIHBlciBhIG1vdXJlIGVsIGN1cnNvciBhdmFsbCwgZmlucyBxdWUgbGEKICAgbGxp5/MgMS4xIG9jdXBpIGNvbXBsZXRhbWVudCBsYSBwYW50YWxsYS4KICAgCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgTGxp5/MgMS4xOiAgTU9VUkUgRUwgQ1VSU09SCgoKICAqKiBQZXIgYSBtb3VyZSBlbCBjdXJzb3IgcHJlbWV1IGxlcyB0ZWNsZXMgaCwgaiwgaywgbCB0YWwgY29tIHMnaW5kaWNhLiAqKgogICAgICAgXgogICAgICAgayAgICAgICAgUGlzdGE6IExhIGgg6XMgYSBsJ2VzcXVlcnJhIGkgbW91IGVsIGN1cnNvciBjYXAgYSBsJ2VzcXVlcnJhLgogIDwgaCAgICAgbCA+ICAgICAgICAgIExhIGwg6XMgYSBsYSBkcmV0YSBpIG1vdSBlbCBjdXJzb3IgY2FwIGEgbGEgZHJldGEuCiAgICAgICBqICAgICAgICAgICAgICAgTGEgaiBzZW1ibGEgdW5hIGZsZXR4YSBjYXAgYXZhbGwuCiAgICAgICB2CiAgMS4gTW92ZXUgZWwgY3Vyc29yIHBlciBsYSBwYW50YWxsYSBmaW5zIHF1ZSB1cyBzZW50aXUgY29uZm9ydGFibGVzLgoKICAyLiBNYW50aW5ndWV1IHByZW11ZGEgbGEgdGVjbGEgYXZhbGwgKGopIHVuYSBlc3RvbmEuCi0tLT4gQXJhIGphIHNhYmV1IGNvbSBtb3VyZS11cyBmaW5zIGEgbGEgc2Vn/GVudCBsbGnn8y4KCiAgMy4gVXNhbnQgbGEgdGVjbGEgYXZhbGwsIGFuZXUgYSBsYSBsbGnn8yAxLjIuCgpOb3RhOiBTaSBubyBlc3RldSBzZWd1cnMgZGUgbGEgdGVjbGEgcXVlIGhldSBwcmVtdXQsIHByZW1ldSA8RVNDPiBwZXIgYQogICAgICB0b3JuYXIgYWwgbW9kZSBOb3JtYWwuIExsYXZvcnMgdG9ybmV1IGEgdGVjbGVqYXIgbCdvcmRyZSBxdWUgdm9s7WV1LgoKTm90YTogTGVzIHRlY2xlcyBkZSBtb3ZpbWVudCBkZWwgY3Vyc29yIChmbGV0eGVzKSB0YW1i6SBmdW5jaW9uZW4uIFBlcvIKICAgICAgdXNhbnQgaGprbCBhbmlyZXUgbelzIHLgcGlkIHVuIGNvcCB1cyBoaSBoYWd1ZXUgYWNvc3R1bWFudC4KCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICBMbGnn8yAxLjI6IEVOVFJBUiBJIFNPUlRJUiBERUwgVklNCgoKICAhISBOT1RBOiBBYmFucyBkZSBzZWd1aXIgZWxzIHBhc3NvcyBzZWf8ZW50cyBsbGVnaXUgKnRvdGEqIGxhIGxsaefzISEKCiAgMS4gUHJlbWV1IDxFU0M+IChwZXIgYSBlc3RhciBzZWd1cnMgcXVlIGVzdGV1IGVuIGVsIG1vZGUgTm9ybWFsKS4KCiAgMi4gVGVjbGVnZXU6ICAgICAgICAgICAgICAgICAgOnEhIDxFTlRSQVI+LgoKLS0tPiBBbWIgYWl48iBzb3J0aXJldSBkZSBsJ2VkaXRvciBTRU5TRSBkZXNhciBlbHMgY2FudmlzIHF1ZSBoYWd1ZXUgcG9ndXQKICAgICBmZXIuIFNpIHZvbGV1IGRlc2FyIGVscyBjYW52aXMgdGVjbGVnZXU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOndxICA8RU5UUkFSPgoKICAzLiBRdWFuIHZlZ2V1IGwnaW50cm9kdWN0b3IgZGUgbCdpbnTocnByZXQgZXNjcml2aXUgbCdvcmRyZSBhbWIgbGEKICAgICBxdWFsIGhldSBhcnJpYmF0IGEgYXF1ZXN0IHR1dG9yLiBQb2RyaWEgc2VyOiAgIHZpbXR1dG9yIDxFTlRSQVI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTyBi6TogICB2aW0gdHV0b3IgPEVOVFJBUj4KCi0tLT4gJ3ZpbScg6XMgbCdlZGl0b3IgdmltLCBpICd0dXRvcicg6XMgZWwgZml0eGVyIHF1ZSB2b2xldSBlZGl0YXIuCgogIDQuIFNpIGhldSBtZW1vcml0emF0IGxlcyBvcmRyZXMsIGZldSBlbHMgcGFzc29zIGFudGVyaW9ycywgZGUgbCcxIGFsIDMsCiAgICAgcGVyIGEgc29ydGlyIGkgdG9ybmFyIGEgZW50cmFyIGEgbCdlZGl0b3IuIExsYXZvcnMgbW92ZXUgZWwgY3Vyc29yCiAgICAgYXZhbGwgZmlucyBhIGxhIGxsaefzIDEuMy4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgIExsaefzIDEuMzogRURJVEFSIFRFWFQgLSBFU0JPUlJBUgoKCiAgKiogRW4gbW9kZSBOb3JtYWwgcHJlbWV1ICB4ICBwZXIgYSBlc2JvcnJhciBlbCBjYXLgY3RlciBzb3RhIGVsIGN1cnNvci4gKioKCiAgMS4gTW92ZXUgZWwgY3Vyc29yIGZpbnMgYSBsYSBs7W5pYSBxdWUgaGkgaGEgbelzIGF2YWxsIHNlbnlhbGFkYSBhbWIgLS0tPi4KCiAgMi4gUG9zZXUgZWwgY3Vyc29yIGEgc29icmUgZWwgY2Fy4GN0ZXIgcXVlIGNhbCBlc2JvcnJhciBwZXIgYSBjb3JyZWdpcgogICAgIGVscyBlcnJvcnMuCgogIDMuIFByZW1ldSBsYSB0ZWNsYSAgeCAgcGVyIGEgZXNib3JyYXIgZWwgY2Fy4GN0ZXIuCgogIDQuIFJlcGV0aXUgZWxzIHBhc3NvcyAyIGkgMyBmaW5zIHF1ZSBsYSBmcmFzZSBzaWd1aSBjb3JyZWN0YS4KCi0tLT4gVW5uYSB2YWFjYSB2dmEgc2FsdHRhciBwZXJyIHNvYmJyZWUgbGEgbGxsdW5hLgoKICA1LiBBcmEgcXVlIGxhIGztbmlhIOlzIGNvcnJlY3RhLCBhbmV1IGEgbGEgbGxp5/MgMS40LgoKTk9UQTogTWVudHJlIGFuZXUgZmVudCBubyB0cmFjdGV1IGRlIG1lbW9yaXR6YXIsIHByYWN0aXF1ZXUgaSBwcm91LgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgIExsaefzIDEuNDogRURJVEFSIFRFWFQgLSBJTlNFUklSCgoKICAgICAgICAgICAqKiBFbiBtb2RlIE5vcm1hbCBwcmVtZXUgIGkgIHBlciBhIGluc2VyaXIgdGV4dC4gKioKCiAgMS4gTW92ZXUgZWwgY3Vyc29yIGF2YWxsIGZpbnMgbGEgcHJpbWVyYSBs7W5pYSBzZW55YWxhZGEgYW1iIC0tLT4uCgogIDIuIFBlciBhIGZlciBsYSBwcmltZXJhIGztbmlhIGlndWFsIHF1ZSBsYSBzZWdvbmEgcG9zZXUgZWwgY3Vyc29yIHNvYnJlCiAgICAgZWwgcHJpbWVyIGNhcuBjdGVyIFBPU1RFUklPUiBhbCB0ZXh0IHF1ZSBzJ2hhIGQnaW5zZXJpci4KCiAgMy4gUHJlbWV1IGxhIHRlY2xhICBpICBpIGVzY3Jpdml1IGVsIHRleHQgcXVlIGZhbHRhLgoKICA0LiBRdWFuIGhhZ2V1IGFjYWJhdCBwcmVtZXUgPEVTQz4gcGVyIHRvcm5hciBhbCBtb2RlIE5vcm1hbC4gUmVwZXRpdQogICAgIGVscyBwYXNzb3MgMiwgMyBpIDQgZmlucyBhIGNvcnJlZ2lyIGxhIGZyYXNlLgoKLS0tPiBGYWx0ZW4gY2FyY3RycyBlbiBhcXVlc3RhIC4KLS0tPiBGYWx0ZW4gYWxndW5zIGNhcuBjdGVycyBlbiBhcXVlc3RhIGztbmlhLgoKICA1LiBRdWFuIHVzIHRyb2JldSBj8m1vZGVzIGluc2VyaW50IHRleHQgYW5ldSBhbCBzdW1hcmkgZGUgYmFpeC4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMScfTIDEgU1VNQVJJCgoKICAxLiBFbCBjdXJzb3IgZXMgbW91IGFtYiBsZXMgZmxldHhlcyBvIGLpIGFtYiBsZXMgdGVjbGVzIGhqa2wuCiAgICAgICAgIGggKGVzcXVlcnJhKSAgIGogKGF2YWxsKSAgICAgICBrIChhbXVudCkgICAgbCAoZHJldGEpCgogIDIuIFBlciBhIGVudHJhciBhbCBWaW0gKGRlcyBkZSBsJ2ludOhycHJldCkgZXNjcml2aXU6ICB2aW0gRklUWEVSIDxFTlRSQVI+CgogIDMuIFBlciBhIHNvcnRpciB0ZWNsZWdldTogIDxFU0M+IDpxISA8RU5UUkFSPiAgcGVyIGEgZGVzY2FydGFyIGVscyBjYW52aXMuCiAgICAgICAgICAgICBPIELJIHRlY2xlZ2V1OiAgPEVTQz4gOndxIDxFTlRSQVI+ICBwZXIgYSBkZXNhciBlbHMgY2FudmlzLgoKICA0LiBQZXIgYSBlc2JvcnJhciBlbCBjYXLgY3RlciBkZSBzb3RhIGVsIGN1cnNvciBlbiBlbCBtb2RlIE5vcm1hbCBwcmVtZXU6IHgKCiAgNS4gUGVyIGEgaW5zZXJpciB0ZXh0IG9uIGhpIGhhIGVsIGN1cnNvciwgZW4gbW9kZSBOb3JtYWwsIHByZW1ldToKICAgICAgICAgaSAgICAgZXNjcml2aXUgZWwgdGV4dCAgICA8RVNDPgoKTk9UQTogTGEgdGVjbGEgPEVTQz4gdXMgcG9ydGEgYWwgbW9kZSBOb3JtYWwgbyBjYW5jZWy3bGEgdW5hIG9yZHJlIHF1ZQogICAgICBlc3RpZ3VpIGEgbWl0Z2VzLgoKQXJhIGNvbnRpbnVldSBhIGxhIGxsaefzIDIuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICBMbGnn8yAyLjE6IE9SRFJFUyBQRVIgRVNCT1JSQVIKCgogICAgICAqKiBUZWNsZWdldSAgZHcgIHBlciBhIGVzYm9ycmFyIGZpbnMgYWwgZmluYWwgZCd1bmEgcGFyYXVsYS4gKioKCiAgMS4gUHJlbWV1ICA8RVNDPiAgcGVyIGVzdGFyIHNlZ3VycyBxdWUgZXN0ZXUgZW4gbW9kZSBub3JtYWwuCgogIDIuIE1vdmV1IGVsIGN1cnNvciBhdmFsbCBmaW5zIGEgbGEgbO1uaWEgc2VueWFsYWRhIGFtYiAtLS0+LgoKICAzLiBNb3ZldSBlbCBjdXJzb3IgZmlucyBhbCBwcmluY2lwaSBkZSBsYSBwYXJhdWxhIHF1ZSBzJ2hhIGQnZXNib3JyYXIuCgogIDQuIFRlY2xlZ2V1ICBkdyAgcGVyIGEgZmVyIGRlc2FwYXLoaXhlciBsYSBwYXJhdWxhLgoKTk9UQTogTGVzIGxsZXRyZXMgZHcgYXBhcmVpeGVyYW4gYSBsYSBs7W5pYSBkZSBiYWl4IGRlIGxhIHBhbnRhbGxhIG1lbnRyZQogICAgICBsZXMgYW5ldSBlc2NyaXZpbnQuIFNpIHVzIGVxdWl2b3F1ZXUgcHJlbWV1IDxFU0M+IGkgdG9ybmV1IGEgY29tZW7nYXIuCgotLS0+IEhpIGhhIGFsZ3VuZXMgcGFyYXVsZXMgZGl2ZXJ0aXQgcXVlIG5vIHBlcnRhbnllbiBwYXBlciBhIGFxdWVzdGEgZnJhc2UuCgogIDUuIFJlcGV0aXUgZWwgcGFzc29zIDMgaSA0IGZpbnMgcXVlIGxhIGZyYXNlIHNpZ3VpIGNvcnJlY3RhIGkgY29udGludWV1CiAgICAgYSBsYSBsbGnn8yAyLjIuCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgTGxp5/MgMi4yOiBNyVMgT1JEUkVTIFBFUiBFU0JPUlJBUgoKCiAgICAgICAqKiBFc2NyaXZpdSAgZCQgIHBlciBhIGVzYm9ycmFyIGZpbnMgYWwgZmluYWwgZGUgbGEgbO1uaWEuICoqCgogIDEuIFByZW1ldSAgPEVTQz4gIHBlciBhIGVzdGFyIHNlZ3VycyBxdWUgZXN0ZXUgZW4gZWwgbW9kZSBOb3JtYWwuCgogIDIuIE1vdmV1IGVsIGN1cnNvciBhdmFsbCBmaW5zIGEgbGEgbO1uaWEgc2VueWFsYWRhIGFtYiAtLS0+LgoKICAzLiBNb3ZldSBlbCBjdXJzb3IgZmlucyBhbCBmaW5hbCBkZSBsYSBs7W5pYSBjb3JyZWN0YQogICAgIChERVNQUslTIGRlbCBwcmltZXIgLiApLgoKICA0LiBUZWNsZWdldSAgZCQgIHBlciBhIGVzYm9ycmFyIGZpbnMgYWwgZmluYWwgZGUgbGEgbO1uaWEuCgotLS0+IEFsZ/ogaGEgZXNjcml0IGVsIGZpbmFsIGQnYXF1ZXN0YSBs7W5pYSBkb3MgY29wcy4gbO1uaWEgZG9zIGNvcHMuCgogIDUuIEFuZXUgYSBsYSBsbGnn8yAyLjMgcGVyIGEgZW50ZW5kcmUgcXXoIGVzdOAgcGFzc2FudC4KCgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICBMbGnn8yAyLjM6IFNPQlJFIE9SRFJFUyBJIE9CSkVDVEVTCgoKICBFbCBmb3JtYXQgZGUgbCdvcmRyZSBkJ2VzYm9ycmFyICBkICDpcyBlbCBzZWf8ZW50OgoKICAgICAgICAgW25vbWJyZV0gICBkICAgb2JqZWN0ZSAgICAgTyBCySAgICAgZCAgIFtub21icmVdICAgb2JqZWN0ZQogIE9uOgogICAgbm9tYnJlICAtIOlzIGVsIG5vbWJyZSBkZSBjb3BzIHF1ZSBzJ2hhIGQnZXhlY3V0YXIgKG9wY2lvbmFsLCBvbWlzc2nzPTEpLgogICAgZCAgICAgICAtIOlzIGwnb3JkcmUgZCdlc2JvcnJhci4KICAgIG9iamVjdGUgLSDpcyBsYSBjb3NhIGFtYiBsYSBxdWFsIG9wZXJhciAobGxpc3RhIGEgYmFpeCkuCgogIFVuYSBwZXRpdGEgbGxpc3RhIGQnb2JqZWN0ZXM6CiAgICB3IC0gZGVzIGRlbCBjdXJzb3IgZmlucyBhbCBmaW5hbCBkZSBsYSBwYXJhdWxhLCBpbmNsb2VudCBsJ2VzcGFpLgogICAgZSAtIGRlcyBkZWwgY3Vyc29yIGZpbnMgYWwgZmluYWwgZGUgbGEgcGFyYXVsYSwgU0VOU0UgaW5jbG91cmUgbCdlc3BhaS4KICAgICQgLSBkZXMgZGVsIGN1cnNvciBmaW5zIGFsIGZpbmFsIGRlIGxhIGztbmlhLgoKTk9UQTogUGVyIGFscyBhdmVudHVyZXJzOiBzaSB0ZWNsZWdldSBub23pcyBsJ29iamVjdGUsIGVuIGVsIG1vZGUgTm9ybWFsLAogICAgICBzZW5zZSBjYXAgb3JkcmUsIGVsIGN1cnNvciBlcyBtb3Vy4CB0YWwgY29tIGVzdOAgZGVzY3JpdCBhIGxhIGxsaXN0YQogICAgICBkJ29iamVjdGVzLgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICBMbGnn8yAyLjQ6IFVOQSBFWENFUENJ0yBBICdPUkRSRS1PQkpFQ1RFJwoKCiAgICAgICAgICAgICAqKiBUZWNsZWdldSAgZGQgIHBlciBhIGVzYm9ycmFyIHRvdGEgbGEgbO1uaWEuICoqCgogIENvbSBxdWUgbW9sdCBzb3ZpbnQgcydoYW4gZCdlbGltaW5hciBs7W5pZXMgc2VuY2VyZXMsIGVscyBwcm9ncmFtYWRvcnMKICBkZWwgVmkgdmFuIGNyZXVyZSBxdWUgc2VyaWEgbelzIGNvbnZlbmllbnQgdGVjbGVqYXIgIGRkICBwZXIgYSBlc2JvcnJhcgogIHRvdGEgbGEgbO1uaWEuCgogIDEuIE1vdmV1IGVsIGN1cnNvciBhIGxhIHNlZ29uYSBs7W5pYSBkZSBsYSBmcmFzZSBkZSBiYWl4LgogIDIuIFRlY2xlZ2V1ICBkZCAgcGVyIGEgZXNib3JyYXIgbGEgbO1uaWEuCiAgMy4gQXJhIGFuZXUgYSBsYSBxdWFydGEgbO1uaWEuCiAgNC4gVGVjbGVnZXUgIDJkZCAgcGVyIGEgZXNib3JyYXIgZHVlcyBs7W5pZXMgKHJlY29yZGV1IG5vbWJyZS1vcmRyZS1vYmplY3RlKS4KCiAgICAgIDEpICBMZXMgcm9zZXMgc/NuIHZlcm1lbGxlcywKICAgICAgMikgIEVsIGZhbmcg6XMgZGl2ZXJ0aXQsCiAgICAgIDMpICBMZXMgdmlvbGV0ZXMgc/NuIGJsYXZlcywKICAgICAgNCkgIFRpbmMgdW4gY290eGUsCiAgICAgIDUpICBFbHMgcmVsbG90Z2VzIGRpdWVuIGwnaG9yYSwKICAgICAgNikgIEVsIHN1Y3JlIOlzIGRvbOcsCiAgICAgIDcpICBJZ3VhbCBxdWUgdHUuCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICBMbGnn8yAyLjU6IEwnT1JEUkUgREVTRkVSCgoKICoqIFByZW1ldSAgdSAgcGVyIGEgZGVzZmVyIGVscyBjYW52aXMsICBVICBwZXIgYSByZXN0YXVyYXIgdG90YSBsYSBs7W5pYS4gKioKCiAgMS4gTW92ZXUgZWwgY3Vyc29yIHNvYnJlIGVsIHByaW1lciBlcnJvciBkZSBs7W5pYSBkZSBiYWl4IHNlbnlhbGFkYSBhbWIgLS0tPgogIDIuIFByZW1ldSAgeCAgcGVyIGEgZXNib3JyYXIgZWwgY2Fy4GN0ZXIgbm8gZGVzaXRqYXQuCiAgMy4gQXJhIHByZW1ldSAgdSAgcGVyIGEgZGVzZmVyIGwn+mx0aW1hIG9yZHJlIGV4ZWN1dGFkYS4KICA0LiBBcXVlc3QgY29wIGNvcnJlZ2l1IHRvdHMgZWxzIGVycm9ycyBkZSBsYSBs7W5pYSBhbWIgbCdvcmRyZSAgeC4KICA1LiBBcmEgcHJlbWV1ICBVICBwZXIgYSByZXN0YWJsaXIgbGEgbO1uaWEgYWwgc2V1IGVzdGF0IG9yaWdpbmFsLgogIDYuIEFyYSBwcmVtZXUgIHUgIHVucyBxdWFudHMgY29wcyBwZXIgYSBkZXNmZXIgIFUgIGkgbGVzIG9yZHJlcyBhbnRlcmlvcnMuCiAgNy4gQXJhIHByZW1ldSAgQ09OVFJPTC1SICAobGVzIGR1ZXMgdGVjbGVzIGFsIG1hdGVpeCB0ZW1wcykgdW5zIHF1YW50cyBjb3BzCiAgICAgcGVyIGEgcmVmZXIgbGVzIG9yZHJlcy4KCi0tLT4gQ29ycmVlZ2l1IGVscyBlcnJvcnMgZCdhcXF1ZXN0YSBs7W5pYSBpIGRlc3NmZXUtbG9zIGFhbWIgZGVzZmVyLgoKICA4LiBBcXVlc3RlcyBvcmRyZXMgc/NuIG1vbHQg+nRpbHMuIEFyYSBhbmV1IGFsIHN1bWFyaSBkZSBsYSBsbGnn8yAyLgoKCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExJx9MgMiBTVU1BUkkKCgogIDEuIFBlciBhIGVzYm9ycmFyIGRlbCBjdXJzb3IgYWwgZmluYWwgZGUgbGEgcGFyYXVsYSB0ZWNsZWdldTogICAgIGR3CgogIDIuIFBlciBhIGVzYm9ycmFyIGRlbCBjdXJzb3IgYWwgZmluYWwgZGUgbGEgbO1uaWEgdGVjbGVnZXU6ICAgICAgIGQkCgogIDMuIFBlciBhIGVzYm9ycmFyIHVuYSBs7W5pYSBzZW5jZXJhIHRlY2xlZ2V1OiAgICAgZGQKCiAgNC4gRWwgZm9ybWF0IGRlIHF1YWxzZXZvbCBvcmRyZSBkZWwgbW9kZSBOb3JtYWwg6XM6CgogICAgICAgW25vbWJyZV0gICBvcmRyZSAgIG9iamVjdGUgICAgIE8gQskgICAgIG9yZHJlICAgIFtub21icmVdICAgb2JqZWN0ZQogICAgIG9uOgogICAgICAgbm9tYnJlICAtIOlzIHF1YW50cyBjb3BzIHJlcGV0aXIgbCdvcmRyZQogICAgICAgb3JkcmUgICAtIOlzIHF16CBmZXIsIGNvbSBhcmEgIGQgIHBlciBlc2JvcnJhcgogICAgICAgb2JqZWN0ZSAtIOlzIGFtYiBxdeggcydoYSBkJ2FjdHVhciwgY29tIGFyYSAgdyAgKHBhcmF1bGEpLAogICAgICAgICAgICAgICAgICQgKGZpbnMgYSBmaW5hbCBkZSBs7W5pYSksIGV0Yy4KCiAgNS4gUGVyIGEgZGVzZmVyIGxlcyBhY2Npb25zIGFudGVyaW9ycyBwcmVtZXU6ICAgICAgICAgICB1CiAgICAgUGVyIGEgZGVzZmVyIHRvdHMgZWwgY2FudmlzIGVuIHVuYSBs7W5pYSBwcmVtZXU6ICAgICBVCiAgICAgUGVyIGEgZGVzZmVyIGwnb3JkcmUgZGVzZmVyIHByZW1ldTogICAgICAgICAgICAgICAgICBDVFJMLVIKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICBMbGnn8yAzLjE6IEwnT1JEUkUgJ1BPU0FSJwoKCiAgICAgICAqKiBQcmVtZXUgIHAgIHBlciBhIGluc2VyaXIgbCf6bHRpbWEgY29zYSBxdWUgaGV1IGVzYm9ycmF0CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3By6XMgZGVsIGN1cnNvci4gKioKCgogIDEuIE1vdmV1IGVsIGN1cnNvciBhIGxhIHByaW1lcmEgbO1uaWEgZGUgbGxpc3RhIGRlIGJhaXguCgogIDIuIFRlY2xlZ2V1ICBkZCAgcGVyIGEgZXNib3JyYXIgbGEgbO1uaWEgaSBkZXNhci1sYSBhIGxhIG1lbfJyaWEuCgogIDMuIE1vdmV1IGVsIGN1cnNvciBhIGxhIGztbmlhIEFOVEVSSU9SIGQnb24gaGF1cmlhIGQnYW5hci4KCiAgNC4gRW4gbW9kZSBOb3JtYWwsIHByZW1ldSAgcCAgcGVyIGEgaW5zZXJpciBsYSBs7W5pYS4KCiAgNS4gUmVwZXRpdSBlbHMgcGFzc29zIDIsIDMgaSA0IHBlciBhIG9yZGVuYXIgbGVzIGztbmllcyBjb3JyZWN0YW1lbnQuCgogICAgIGQpIFBvdHMgYXByZW5kcmUgdHU/CiAgICAgYikgTGVzIHZpb2xldGVzIHPzbiBibGF2ZXMsCiAgICAgYykgTGEgaW50ZWy3bGln6G5jaWEgcydhcHLobiwKICAgICBhKSBMZXMgcm9zZXMgc/NuIHZlcm1lbGxlcywKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgIExsaefzIDMuMjogTCdPUkRSRSBTVUJTVElUVUlSCgoKICAgICAgICAgICoqIFByZW1ldSAgciAgaSB1biBjYXLgY3RlciBwZXIgYSBzdWJzdGl0dWlyIGVsIGNhcuBjdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGUgc290YSBlbCBjdXJzb3IuICoqCgogIDEuIE1vdmV1IGVsIGN1cnNvciBhIGxhIHByaW1lcmEgbO1uaWEgZGUgc290YSBzZW55YWxhZGEgYW1iIC0tLT4uCgogIDIuIE1vdmV1IGVsIGN1cnNvciBhIHNvYnJlIGRlbCBwcmltZXIgY2Fy4GN0ZXIgZXF1aXZvY2F0LgoKICAzLiBQcmVtZXUgIHIgIGkgdG90IHNlZ3VpdCBlbCBjYXLgY3RlciBjb3JyZWN0ZSBwZXIgYSBjb3JyZWdpciBsJ2Vycm9yLgoKICA0LiBSZXBldGl1IGVscyBwYXNzb3MgMiBpIDMgZmlucyBxdWUgbGEgbO1uaWEgc2lndWkgY29ycmVjdGEuCgotLS0+ICBRdWVuIHZhbiBlc2Nyb3VyZSBhcXVlcnRhIGztbmlhLCBhbGdoIHZhIHBy6W1lciB0aWtsZXMgZXF1aXZvY2FkZXMhCi0tLT4gIFF1YW4gdmFuIGVzY3JpdXJlIGFxdWVzdGEgbO1uaWEsIGFsZ/ogdmEgcHLpbWVyIHRlY2xlcyBlcXVpdm9jYWRlcyEKCiAgNS4gQXJhIGNvbnRpbnVldSBhIGxhIGxsaefzIDMuMi4KCk5PVEE6IFJlY29yZGV1IHF1ZSBoZXUgZGUgcHJhY3RpY2FyLCBubyBtZW1vcml0emFyLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICBMbGnn8yAzLjM6IEwnT1JEUkUgQ0FOVklBUgoKCiAgICAgICAqKiBQZXIgYSBjYW52aWFyIHVuYSBwYXJ0IG8gdG90YSBsYSBwYXJhdWxhLCBlc2NyaXZpdSAgY3cgLiAqKgoKICAxLiBNb3ZldSBlbCBjdXJzb3IgYSBsYSBwcmltZXJhIGztbmlhIGRlIHNvdGEgc2VueWFsYWRhIGFtYiAtLS0+LgoKICAyLiBQb3NldSBlbCBjdXJzb3Igc29icmUgbGEgdSBkZSAnbHVnaGMnLgoKICAzLiBUZWNsZWdldSAgY3cgIGkgY29ycmVnaXUgbGEgcGFyYXVsYSAoZW4gYXF1ZXN0IGNhcywgZXNjcml2aW50ICftbmlhJy4pCgogIDQuIFByZW1ldSA8RVNDPiBpIGFuZXUgYWwgc2Vn/GVudCBlcnJvci4KCiAgNS4gUmVwZXRpdSBlbHMgcGFzc29zIDMgaSA0IGZpbnMgcXVlIGxlcyBkdWVzIGZyYXNlcyBzaWd1aW4gaWd1YWxzLgoKLS0tPiBBcXVlc3RhIGx1Z2hjIHTpIGFsZ3VuZXMgcGFyYWRza2wgcXVlIHMnaGFuIGRlIGNkZGRmLgotLS0+IEFxdWVzdGEgbO1uaWEgdOkgYWxndW5lcyBwYXJhdWxlcyBxdWUgcydoYW4gZGUgY2Fudmlhci4KCk5vdGV1IHF1ZSAgY3cgIG5vIG5vbelzIGNhbnZpYSBsYSBwYXJhdWxhLCB0YW1i6SB1cyBwb3NhIGVuIG1vZGUgZCdpbnNlcmNp8y4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgIExsaefzIDMuNDogTclTIENBTlZJUyBBTUIgYwoKCiAqKiBMJ29yZHJlIGNhbnZpYXIgcyd1c2EgYW1iIGVscyBtYXRlaXhvcyBvYmplY3RlcyBxdWUgbCdvcmRyZSBlc2JvcnJhci4gKioKCiAgMS4gTCdvcmRyZSBjYW52aWFyIGZ1bmNpb25hIGlndWFsIHF1ZSBsYSBkJ2VzYm9ycmFyLiBFbCBmb3JtYXQg6XM6CgogICAgICAgW25vbWJyZV0gICBjICAgb2JqZWN0ZSAgICAgTyBCySAgICAgIGMgICBbbm9tYnJlXSAgIG9iamVjdGUKCiAgMi4gRWxzIG9iamVjdGVzIHPzbiBlbHMgbWF0ZWl4b3MsICB3ICAocGFyYXVsYSksICQgKGZpbmFsIGRlIGztbmlhKSwgZXRjLgoKICAzLiBNb3ZldSBlbCBjdXJzb3IgZmlucyBsYSBwcmltZXJhIGztbmlhIHNlbnlhbGFkYSBhbWIgLS0tPi4KCiAgNC4gQXZhbmNldSBmaW5zIGFsIHByaW1lciBlcnJvci4KCiAgNS4gUHJlbWV1ICBjJCAgcGVyIGZlciBsYSBs7W5pYSBpZ3VhbCBxdWUgbGEgc2Vnb25hIGkgcHJlbWV1IDxFU0M+LgoKLS0tPiBFbCBmaW5hbCBkJ2FxdWVzdGEgbO1uaWEgbmVjZXNzaXRhIGNhbnZpcyBwZXIgc2VyIGlndWFsIHF1ZSBsYSBzZWdvbmEuCi0tLT4gRWwgZmluYWwgZCdhcXVlc3RhIGztbmlhIHMnaGEgZGUgY29ycmVnaXIgYW1iIGwnb3JkcmUgYyQuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExJx9MgMyBTVU1BUkkKCgogIDEuIFBlciBhIHRvcm5hciBhIHBvc2FyIGVsIHRleHQgcXVlIGhldSBlc2JvcnJhdCwgcHJlbWV1ICBwIC4gQWl48iBwb3NhCiAgICAgZWwgdGV4dCBlc2JvcnJhdCBERVNQUslTIGRlbCBjdXJzb3IgKHNpIGhldSBlc2JvcnJhdCB1bmEgbO1uaWEgYW5pcuAKICAgICBhIHBhcmFyIGEgbGEgbO1uaWEgU0VH3EVOVCBkJ29uIGhpIGhhIGVsIGN1cnNvcikuCgogIDIuIFBlciBhIHN1YnN0aXR1aXIgZWwgY2Fy4GN0ZXIgZGUgc290YSBlbCBjdXJzb3IsIHByZW1ldSAgciAgaSB0b3QKICAgICBzZWd1aXQgZWwgY2Fy4GN0ZXIgcXVlIGhhIGRlIHJlZW1wbGHnYXIgbCdvcmlnaW5hbC4KCiAgMy4gTCdvcmRyZSBjYW52aWFyIHBlcm1ldCBjYW52aWFyIGwnb2JqZWN0ZSBlc3BlY2lmaWNhdCwgZGVzIGRlbCBjdXJzb3IKICAgICBmaW5zIGVsIGZpbmFsIGRlIGwnb2JqZWN0ZS4gUGVyIGV4ZW1wbGUsICBjdyAgY2FudmlhIGVsIHF1ZSBoaSBoYSBkZXMKICAgICBkZWwgY3Vyc29yIGZpbnMgYWwgZmluYWwgZGUgbGEgcGFyYXVsYSwgaSAgYyQgIGZpbnMgYWwgZmluYWwgZGUKICAgICBs7W5pYS4KCiAgNC4gRWwgZm9ybWF0IGRlIGwnb3JkcmUgY2FudmlhciDpczoKCiAgICAgICAgIFtub21icmVdICAgYyAgIG9iamVjdGUgICAgICAgTyBCySAgICAgIGMgICBbbm9tYnJlXSAgIG9iamVjdGUKCkFyYSBhbmV1IGEgbGEgc2Vn/GVudCBsbGnn8y4KCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgIExsaefzIDQuMTogU0lUVUFDSdMgSSBFU1RBVCBERUwgRklUWEVSCgoKICAqKiBQcmVtZXUgQ1RSTC1nIHBlciBhIHZldXJlIGxhIHNpdHVhY2nzIGRpbnMgZGVsIGZpdHhlciBpIGVsIHNldSBlc3RhdC4KICAgICBQcmVtZXUgU0hJRlQtZyBwZXIgYSBhbmFyIGEgdW5hIGztbmlhIGRldGVybWluYWRhLiAqKgoKICBOb3RhOiBObyBwcm92ZXUgcmVzIGZpbnMgcXVlIGhhZ3VldSBsbGVnaXQgVE9UQSBsYSBsbGnn8yEhCgogIDEuIE1hbnRpbmd1ZXUgcHJlbXVkYSBsYSB0ZWNsYSBDb250cm9sIGkgcHJlbWV1ICBnIC4gQSBsYSBwYXJ0IGRlIGJhaXgKICAgICBkZSBsYSBw4GdpbmEgYXBhcmVpeGVy4CB1biBs7W5pYSBhbWIgZWwgbm9tIGRlbCBmaXR4ZXIgaSBsYSBs7W5pYSBlbgogICAgIGxhIHF1YWwgdXMgdHJvYmV1LiBSZWNvcmRldSBlbCBu+m1lcm8gZGUgbGEgbO1uaWEgcGVsIFBhcyAzLgoKICAyLiBQcmVtZXUgU2hpZnQtZyBwZXIgYSBhbmFyIGFsIGZpbmFsIGRlIHRvdCBkZWwgZml0eGVyLgoKICAzLiBUZWNsZWdldSBlbCBu+m1lcm8gZGUgbGEgbO1uaWEgb24g6XJldSBpIGRlc3By6XMgcHJlbWV1IFNoaWZ0LWcuIEFpePIKICAgICB1cyB0b3JuYXLgIGEgbGEgbO1uaWEgb24g6XJldSBxdWFuIGhldSBwcmVtdXQgcGVyIHByaW1lciBjb3AgQ3RybC1nLgogICAgIChRdWFuIHRlY2xlZ2V1IGVsIG76bWVybyBOTyBlcyB2ZXVy4CBhIGxhIHBhbnRhbGxhLikKCiAgNC4gQXJhIGV4ZWN1dGV1IGVscyBwYXNzb3MgZGUgbCcxIGFsIDMuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgTGxp5/MgNC4yOiBMJ09SRFJFIENFUkNBUgoKCiAgICAgICAgICAgKiogUHJlbWV1ICAvICBzZWd1aXQgZGUgbGEgZnJhc2UgcXVlIHZ1bGd1ZXUgY2VyY2FyLiAqKgoKICAxLiBFbiBlbCBtb2RlIE5vcm1hbCBwcmVtZXUgZWwgY2Fy4GN0ZXIgIC8gLiBOb3RldSBxdWUgZWwgY3Vyc29yIGFwYXJlaXgKICAgICBhIGxhIHBhcnQgZGUgYmFpeCBkZSBsYSBwYW50YWxsYSBpZ3VhbCBxdWUgYW1iIGwnb3JkcmUgOiAuCgogIDIuIEFyYSBlc2NyaXZpdSAnZXJycm9vcicgPEVOVFJBUj4uIEFxdWVzdGEg6XMgbGEgcGFyYXVsYSBxdWUgdm9sZXUKICAgICBjZXJjYXIuCgogIDMuIFBlciBhIHRvcm5hciBhIGNlcmNhciBsYSBtYXRlaXhhIGZyYXNlLCBwcmVtZXUgIG4gLiAgUGVyIGEgY2VyY2FyIGxhCiAgICAgbWF0ZWl4YSBmcmFzZSBlbiBkaXJlY2Np8yBjb250cmFyaWEsIHByZW1ldSBTaGlmdC1uIC4KCiAgNC4gU2kgdm9sZXUgY2VyY2FyIHVuYSBmcmFzZSBlbiBkaXJlY2Np8yBhc2NlbmRlbnQsIHVzZXUgbCdvcmRyZSAgPyAgZW4KICAgICBsbG9jIGRlIC8uCgotLS0+ICJlcnJyb29yIiBubyDpcyBjb20gcydlc2NyaXUgZXJyb3I7IGVycnJvb3Ig6XMgdW4gZXJyb3IuCgpOb3RhOiBRdWFuIGxhIGNlcmNhIGFycmliaSBhbCBmaW5hbCBkZWwgZml0eGVyIGNvbnRpbnVhcuAgYSBsJ2luaWNpLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgTGxp5/MgNC4zOiBDRVJDQSBERSBQQVLITlRFU0lTCgoKICAgICAgICAgICoqIFByZW1ldSAgJSAgcGVyIGNlcmNhciBlbCApLCBdLCBvIH0gY29ycmVzcG9uZW50LiAqKgoKICAxLiBQb3NldSBlbCBjdXJzb3IgYSBxdWFsc2V2b2wgKCwgWywgbyB7IGRlIGxhIGztbmlhIHNlbnlhbGFkYSBhbWIgLS0tPi4KCiAgMi4gQXJhIHByZW1ldSBlbCBjYXLgY3RlciAgJSAuCgogIDMuIEVsIGN1cnNvciBoYXVyaWEgZCdhbmFyIGEgbGEgY2xhdSBvIHBhcuhudGVzaXMgY29ycmVzcG9uZW50LgoKICA0LiBQcmVtZXUgICUgIHBlciBhIHRvcm5hciBlbCBjdXJzb3IgYWwgcHJpbWVyIHBhcuhudGVzaS4KCi0tLT4gQWl48iAoIOlzIHVuYSBs7W5pYSBhbWIgY2Fy4GN0ZXJzICgsIFsgXSBpIHsgfSBkZSBwcm92YS4gKSkKCk5vdGE6IEFpePIg6XMgbW9sdCD6dGlsIHBlciBhIHRyb2JhciBlcnJvcnMgZW4gcHJvZ3JhbWVzIGluZm9ybeB0aWNzIQoKCgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICBMbGnn8yA0LjQ6IFVOQSBNQU5FUkEgREUgQ09SUkVHSVIgRVJST1JTCgoKICAgICAgKiogRXNjcml2aXUgIDpzL3ZlbGwvbm91L2cgIHBlciBhIHN1YnN0aXR1aXIgJ3ZlbGwnIHBlciAnbm91Jy4gKioKCiAgMS4gTW92ZXUgZWwgY3Vyc29yIGEgbGEgbO1uaWEgZGUgc290YSBzZW55YWxhZGEgYW1iIC0tLT4uCgogIDIuIEVzY3Jpdml1IDpzL2xhYS9sYSA8RU5UUkFSPi4gQXF1ZXN0YSBvcmRyZSBub23pcyBjYW52aWEgbGEgcHJpbWVyYQogICAgIGNvaW5jaWTobmNpYSBxdWUgZXMgdHJvYmkgYSBsYSBs7W5pYS4KCiAgMy4gQXJhIGVzY3Jpdml1IDpzL2xhYS9sYS9nIHBlciBhIGZlciB1bmEgc3Vic3RpdHVjafMgZ2xvYmFsLiBBaXjyCiAgICAgY2FudmlhcuAgdG90ZXMgbGVzIGNvaW5jaWTobmNpZXMgcXVlIGVzIHRyb2JpbiBhIGxhIGztbmlhLgoKLS0tPiBsYWEgbWlsbG9yIOhwb2NhIHBlciBhIHZldXJlIGxhYSBmbG9yIOlzIGxhYSBwcmltYXZlcmEuCgogIDQuIFBlciBhIGNhbnZpYXIgdG90ZXMgbGVzIGNvaW5jaWTobmNpZXMgZCd1bmEgY2FkZW5hIGVudHJlIGR1ZXMgbO1uaWVzLAogICAgIGVzY3Jpdml1ICA6Iywjcy92ZWxsL25vdS9nICBvbiAjLCMgc/NuIGVscyBub21icmVzIGRlIGxlcyBs7W5pZXMuCiAgICAgRXNjcml2aXUgIDolcy92ZWxsL25vdS9nICBwZXIgYSBzdWJzdGl0dWlyIGxhIGNhZGVuYSBhIHRvdCBlbCBmaXR4ZXIuCgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMScfTIDQgU1VNQVJJCgoKICAxLiBDdHJsLWcgbW9zdHJhIGxhIHBvc2ljafMgZGlucyBkZWwgZml0eGVyIGkgbCdlc3RhdCBkZWwgbWF0ZWl4LgogICAgIFNoaWZ0LWcgdXMgcG9ydGEgYWwgZmluYWwgZGVsIGZpdHhlci4gVW4gbvptZXJvIHNlZ3VpdCBkZSBTaGlmdC1nIHVzCiAgICAgcG9ydGEgYSBsYSBs7W5pYSBjb3JyZXNwb25lbnQuCgogIDIuIEwnb3JkcmUgIC8gIHNlZ3VpZGEgZCd1bmEgZnJhc2UgY2VyY2EgbGEgZnJhc2UgY2FwIEVOREFWQU5ULgogICAgIEwnb3JkcmUgID8gIHNlZ3VpZGEgZCd1bmEgZnJhc2UgY2VyY2EgbGEgZnJhc2UgY2FwIEVOREFSUkVSRS4KICAgICBEZXNwculzIGQndW5hIGNlcmNhIHByZW1ldSAgbiAgcGVyIGEgdHJvYmFyIGxhIHBy8nhpbWEgY29pbmNpZOhuY2lhIGVuCiAgICAgbGEgbWF0ZWl4YSBkaXJlY2Np8ywgbyAgU2hpZnQtbiAgcGVyIGEgY2VyY2FyIGVuIGxhIGRpcmVjY2nzIGNvbnRy4HJpYS4KCiAgMy4gTCdvcmRyZSAgJSAgcXVhbiBlbCBjdXJzb3IgZXMgdHJvYmEgZW4gdW4gKCwgKSwgWywgXSwgeywgbyB9IHRyb2JhIGxhCiAgICAgcGFyZWxsYSBjb3JyZXNwb25lbnQuCgogIDQuIFBlciBhIHN1YnN0aXR1aXIgZWwgcHJpbWVyICd2ZWxsJyBwZXIgJ25vdScgZW4gdW5hIGztbmlhIDpzL3ZlbGwvbm91CiAgICAgUGVyIGEgc3Vic3RpdHVpciB0b3RzIGVscyAndmVsbCcgcGVyICdub3UnIGVuIHVuYSBs7W5pYSAgOnMvdmVsbC9ub3UvZwogICAgIFBlciBhIHN1YnN0aXR1aXIgZnJhc2VzIGVudHJlIGxlcyBs7W5pZXMgIyBpICMgICAgICAgICAgIDojLCNzL3ZlbGwvbm91L2cKICAgICBQZXIgYSBzdWJzdGl0dWlyIHRvdGVzIGxlcyBjb2luY2lk6G5jaWVzIGVuIGVsIGZpdHhlciAgICA6JXMvdmVsbC9ub3UvZwogICAgIFBlciBhIGRlbWFuYXIgY29uZmlybWFjafMgY2FkYSBjb3AgYWZlZ2l1ICdjJyAgICAgICAgICAgIDolcy92ZWxsL25vdS9nYwoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgIExsaefzIDUuMTogQ09NIEVYRUNVVEFSIFVOQSBPUkRSRSBFWFRFUk5BCgoKICAgICAgKiogVGVjbGVnZXUgIDohICBzZWd1aXQgZCd1bmEgb3JkcmUgZXh0ZXJuYSBwZXIgYSBleGVjdXRhci1sYS4gKioKCiAgMS4gUHJlbWV1IGVsIGZhbWlsaWFyICA6ICBwZXIgYSBjb2y3bG9jYXIgZWwgY3Vyc29yIGEgbGEgcGFydCBkZSBiYWl4IGRlCiAgICAgbGEgcGFudGFsbGEuICBBaXjyIHVzIHBlcm1ldCBlbnRyYXIgdW5hIG9yZHJlLgoKICAyLiBBcmEgdGVjbGVnZXUgZWwgY2Fy4GN0ZXIgICEgIChzaWduZSBkJ2V4Y2xhbWFjafMpLiBBaXjyIHVzIHBlcm1ldAogICAgIGV4ZWN1dGFyIHF1YWxzZXZvbCBvcmRyZSBkZSBsJ2ludOhycHJldCBkZWwgc2lzdGVtYS4KCiAgMy4gUGVyIGV4ZW1wbGUsIGVzY3Jpdml1ICBscyAgaSB0b3Qgc2VndWl0IHByZW1ldSA8RU5UUkFSPi4gQWl48iB1cwogICAgIG1vc3RyYXLgIGVsIGNvbnRpbmd1dCBkZWwgZGlyZWN0b3JpLCB0YWwgY29tIHNpIGVzdGlndelzc2l1IGEgbGEKICAgICBs7W5pYSBkJ29yZHJlcy4gUHJvdmV1ICA6IWRpciAgc2kgbHMgbm8gZnVuY2lvbmEuCgpOb3RhOiAgRCdhcXVlc3RhIG1hbmVyYSDpcyBwb3NzaWJsZSBleGVjdXRhciBxdWFsc2V2b2wgb3JkcmUgZXh0ZXJuYS4KCk5vdGE6ICBUb3RlcyBsZXMgb3JkcmVzICA6ICBzJ2hhbiBkJ2FjYWJhciBhbWIgbGEgdGVjbGEgPEVOVFJBUj4KCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICBMbGnn8yA1LjI6IE3JUyBTT0JSRSBMJ0VTQ1JJUFRVUkEgREUgRklUWEVSUwoKCiAgICAgICAgICoqIFBlciBhIGRlc2FyIGVscyBjYW52aXMgZmV0cywgZXNjcml2aXUgIDp3ICBGSVRYRVIuICoqCgogIDEuIEVzY3Jpdml1ICA6IWRpciAgbyBi6SAgOiFscyAgcGVyIGEgb2J0ZW5pciB1biBsbGlzdGF0IGRlbCBkaXJlY3RvcmkuCiAgICAgSmEgc2FiZXUgcXVlIGhldSBkZSBwcultZXIgPEVOVFJBUj4gZGVzcHLpcyBkJ2FpePIuCgogIDIuIFRyaWV1IHVuIG5vbSBkZSBmaXR4ZXIgcXVlIG5vIGV4aXN0ZWl4aSwgY29tIGFyYSBQUk9WQS4KCiAgMy4gQXJhIGZldTogIDp3IFBST1ZBICAob24gUFJPVkEg6XMgZWwgbm9tIHF1ZSBoZXUgdHJpYXQuKQoKICA0LiBBaXjyIGRlc2EgZWwgdGV4dCBlbiB1biBmaXR4ZXIgYW1iIGVsIG5vbSBkZSBQUk9WQS4gUGVyIGEgY29tcHJvdmFyLWhvCiAgICAgZXNjcml2aXUgIDohZGlyICBpIG1pcmV1IGVsIGNvbnRpbmd1dCBkZWwgZGlyZWN0b3JpLgoKTm90ZTogU2kgc29ydGl1IGRlbCBWaW0gaSBlbnRyZXUgdW5hIGFsdHJhIHZlZ2FkYSBhbWIgZWwgZml0eGVyIFBST1ZBLCBlbAogICAgICBmaXR4ZXIgc2Vy4CB1bmEgY/JwaWEgZXhhY3RhIGRlbCB0dXRvciBxdWUgaGV1IGRlc2F0LgoKICA1LiBBcmEgZXNib3JyZXUgZWwgZml0eGVyIHRlY2xlamFudCAoTVMtRE9TKTogICA6IWRlbCBQUk9WQQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gYukgKFVuaXgpOiAgIDohcm0gUFJPVkEKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgIExsaefzIDUuMzogVU5BIE9SRFJFIFNFTEVDVElWQSBQRVIgQSBERVNBUgoKCiAgICAgICAqKiBQZXIgYSBkZXNhciB1bmEgcGFydCBkZWwgZml0eGVyLCBlc2NyaXZpdSAgOiMsIyB3IEZJVFhFUiAqKgoKICAxLiBVbiBhbHRyZSBjb3AsIGZldSAgOiFkaXIgIG8gIDohbHMgIHBlciBhIG9idGVuaXIgdW4gbGxpc3RhdCBkZWwKICAgICBkaXJlY3RvcmkgaSB0cmlldSB1biBub20gZGUgZml0eGVyIGFkZXF1YXQgY29tIGFyYSBQUk9WQS4KCiAgMi4gTW92ZXUgZWwgY3Vyc29yIGEgZGFsdCBkZSB0b3QgZGUgbGEgcOBnaW5hIGkgcHJlbWV1ICBDdHJsLWcgIHBlcgogICAgIHNhYmVyIGVsIG76bWVybyBkZSBsYSBs7W5pYS4gIFJFQ09SREVVIEFRVUVTVCBO2k1FUk8hCgogIDMuIEFyYSBhbmV1IGEgYmFpeCBkZSB0b3QgZGUgbGEgcOBnaW5hIGkgdG9ybmV1IGEgcHLpbWVyICBDdHJsLWcuCiAgICAgUkVDT1JERVUgQVFVRVNUIE7aTUVSTyBUQU1CySEKCiAgNC4gUGVyIGEgZGVzYXIgTk9NyVMgdW5hIHNlY2Np8yBlbiB1biBmaXR4ZXIsIGVzY3Jpdml1ICA6IywjIHcgUFJPVkEgIG9uCiAgICAgIywjIHPzbiBlbHMgZG9zIG76bWVyb3MgcXVlIGhldSByZWNvcmRhdCAoZGFsdCwgYmFpeCkgaSBQUk9WQSBlbCBub20KICAgICBkZWwgZml0eGVyLgoKICA1LiBDb21wcm92ZXUgcXVlIGVsIGZpdHhlciBub3UgaGkgc2lndWkgYW1iICA6IWRpciAgcGVy8iBubyBsJ2VzYm9ycmV1LgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgIExsaefzIDUuNDogT0JURU5JUiBJIEFKVU5UQVIgRklUWEVSUwoKCiAgICAgICAgICoqIFBlciBhIGluc2VyaXIgZWwgY29udGluZ3V0IGQndW4gZml0eGVyLCBmZXUgIDpyIEZJVFhFUiAqKgoKICAxLiBBc3NlZ3VyZXUtdm9zLCBhbWIgbCdvcmRyZSAgOiFkaXIgLCBxdWUgZWwgZml0eGVyIFBST1ZBIGVuY2FyYSBoaSDpcy4KCiAgMi4gU2l0dWV1IGVsIGN1cnNvciBhIGRhbHQgZGUgdG90IGQnYXF1ZXN0YSBw4GdpbmEuCgpOT1RBOiBEZXNwculzIGQnZXhlY3V0YXIgZWwgUGFzIDMgdmV1cmV1IGxhIGxsaefzIDUuMy4gVGlyZXUgY2FwIGF2YWxsCiAgICAgIGZpbnMgYSBhcXVlc3RhIGxsaefzIHVuIGFsdHJlIGNvcC4KCiAgMy4gQXJhIG9idGluZ3VldSBlbCBmaXR4ZXIgUFJPVkEgYW1iIGwnb3JkcmUgIDpyIFBST1ZBICBvbiBQUk9WQSDpcyBlbAogICAgIG5vbSBkZWwgZml0eGVyLgoKTk9UQTogIEVsIGZpdHhlciBxdWUgb2J0aW5ndWV1IHMnaW5zZXJlaXggZW4gZWwgbGxvYyBvbiBoaSBoYWdpIGVsIGN1cnNvci4KCiAgNC4gUGVyIGEgY29tcHJvdmFyIHF1ZSBzJ2hhIG9idGluZ3V0IGVsIGZpdHhlciB0aXJldSBlbnJlcmUgaSBtaXJldSBjb20KICAgICBhcmEgaGkgaGEgZHVlcyBj8nBpZXMgZGUgbGEgbGxp5/MgNS4zLCBsJ29yaWdpbmFsIGkgbGEgZGVsIGZpdHhlci4KCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTEnH0yA1IFNVTUFSSQoKCiAgMS4gIDohb3JkcmUgIGV4ZWN1dGEgdW5hIG9yZHJlIGV4dGVybmEuCgogICAgICBBbGd1bnMgZXhlbXBsZXMg+nRpbHM6CiAgICAgICAgIChNUy1ET1MpICAgICAgICAgKFVuaXgpCiAgICAgICAgICA6IWRpciAgICAgICAgICAgIDohbHMgICAgICAgICAgLSAgbW9zdHJhIHVuIGxsaXN0YXQgZGVsIGRpcmVjdG9yaQogICAgICAgICAgOiFkZWwgRklUWEVSICAgICA6IXJtIEZJVFhFUiAgIC0gIGVzYm9ycmEgZWwgZml0eGVyIEZJVFhFUgoKICAyLiAgOncgRklUWEVSICBlc2NyaXUgZWwgZml0eGVyIGVkaXRhdCBhbCBkaXNjIGR1ciwgYW1iIGVsIG5vbSBGSVRYRVIuCgogIDMuICA6IywjdyBGSVRYRVIgIGRlc2EgbGVzIGztbmllcyBkZSAjIGEgIyBlbiBlbCBmaXR4ZXIgRklUWEVSLgoKICA0LiAgOnIgRklUWEVSICBsbGVnZWl4IGVsIGZpdHhlciBGSVRYRVIgZGVsIGRpc2MgZHVyIGkgbCdpbnNlcmVpeCBlbiBlbAogICAgICBmaXR4ZXIgZWRpdGF0IGEgbGEgcG9zaWNp8yBvbiBoaSBoYSBlbCBjdXJzb3IuCgoKCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgTGxp5/MgNi4xOiBMJ09SRFJFIE9CUklSCgoKICAgICAgICAqKiBQcmVtZXUgIG8gIHBlciBhIG9icmlyIHVuYSBs7W5pYSBpIGVudHJhciBlbiBtb2RlIGluc2VyY2nzLiAqKgoKICAxLiBNb3ZldSBlbCBjdXJzb3IgYSBsYSBs7W5pYSBkZSBzb3RhIHNlbnlhbGFkYSBhbWIgLS0tPi4KCiAgMi4gUHJlbWV1IG8gKG1pbvpzY3VsYSkgcGVyIGEgb2JyaXIgdW5hIGztbmlhIGEgQkFJWCBkZWwgY3Vyc29yIGkKICAgICBzaXR1YXItdm9zIGVuIG1vZGUgZCdpbnNlcmNp8y4KCiAgMy4gQ29waWV1IGxhIGztbmlhIHNlbnlhbGFkYSBhbWIgLS0tPiBpIHByZW1ldSA8RVNDPiBwZXIgYSB0b3JuYXIgYWwgbW9kZQogICAgIG5vcm1hbC4KCi0tLT4gRGVzcHLpcyBkZSBwcultZXIgIG8gIGVsIGN1cnNvciBzZSBzaXR1YSBhIGxhIGztbmlhIG5vdmEgZW4gbW9kZSBpbnNlcmNp8y4KCiAgNC4gUGVyIGEgb2JyaXIgdW5hIGztbmlhIGEgU09CUkUgZGVsIGN1cnNvciwgcHJlbWV1IGxhICBPICBtYWr6c2N1bGEsIGVuIGxsb2MKICAgICBkZSBsYSBtaW76c2N1bGEuIFByb3ZldS1obyBhbWIgbGEgbO1uaWEgZGUgc290YS4KT2JyaXUgdW5hIGztbmlhIHNvYnJlIGFxdWVzdGEgcHJlbWVudCBTaGlmdC1vIGFtYiBlbCBjdXJzb3IgZW4gYXF1ZXN0YSBs7W5pYS4KCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICBMbGnn8yA2LjI6IEwnT1JEUkUgQUZFR0lSCgoKICAgICAgICAgICAgKiogUHJlbWV1ICBhICBwZXIgYSBhZmVnaXIgdGV4dCBERVNQUslTIGRlbCBjdXJzb3IuICoqCgogIDEuIE1vdmV1IGVsIGN1cnNvciBhbCBmaW5hbCBkZSBsYSBwcmltZXJhIGztbmlhIGRlIHNvdGEgc2VueWFsYWRhCiAgICAgYW1iIC0tLT4gcHJlbWVudCAgJCAgZW4gZWwgbW9kZSBOb3JtYWwuCgogIDIuIFByZW1ldSBsYSBsbGV0cmEgIGEgIChtaW76c2N1bGEpIHBlciBhIGFmZWdpciB0ZXh0IERFU1BSyVMgZGVsIGNhcuBjdGVyCiAgICAgc290YSBlbCBjdXJzb3IuICAoTGEgIEEgIG1havpzY3VsYSBhZmVnZWl4IHRleHQgYWwgZmluYWwgZGUgbGEgbO1uaWEuKQoKTm90YTogQWl47SBzJ2V2aXRhIGhhdmVyIGRlIHBy6W1lciAgaSAsIGwn+mx0aW0gY2Fy4GN0ZXIsIGVsIHRleHQgYSBpbnNlcmlyLAogICAgICBsYSB0ZWNsYSA8RVNDPiwgY3Vyc29yIGEgbGEgZHJldGEsIGkgZmluYWxtZW50ICB4ICwgbm9t6XMgcGVyIGFmZWdpcgogICAgICB0ZXh0IGEgZmluYWwgZGUgbO1uaWEuCgogIDMuIEFyYSBjb21wbGV0ZXUgbGEgcHJpbWVyYSBs7W5pYS4gVGluZ3VldSBlbiBjb21wdGUgcXVlIGFxdWVzdGEgb3JkcmUKICAgICDpcyBleGFjdGFtZW50IGlndWFsIHF1ZSBsYSBkJ2luc2VyaXIsIGV4Y2VwdGUgcGVsIHF1ZSBmYSBhbCBsbG9jIG9uCiAgICAgcydpbnNlcmVpeCBlbCB0ZXh0LgoKLS0tPiBBcXVlc3RhIGztbmlhIHVzIHBlcm1ldHLgIHByYWN0aWNhcgotLS0+IEFxdWVzdGEgbO1uaWEgdXMgcGVybWV0cuAgcHJhY3RpY2FyIGFmZWdpciB0ZXh0IGEgZmluYWwgZGUgbO1uaWEuCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICBMbGnn8yA2LjM6IFVOQSBBTFRSQSBNQU5FUkEgREUgU1VCU1RJVFVJUgoKCiAgICAgICoqIFRlY2xlZ2V1IHVuYSAgUiAgbWFq+nNjdWxhIHBlciBhIHN1YnN0aXR1aXIgbelzIGQndW4gY2Fy4GN0ZXIuICoqCgogIDEuIE1vdmV1IGVsIGN1cnNvciBhIGxhIGztbmlhIGRlIHNvdGEgc2VueWFsYWRhIGFtYiAtLS0+LgoKICAyLiBQb3NldSBlbCBjdXJzb3IgYWwgcHJpbmNpcGkgZGUgbGEgcHJpbWVyYSBwYXJhdWxhIHF1ZSDpcyBkaWZlcmVudAogICAgIHJlc3BlY3RlIGEgbGEgc2Vnb25hIGztbmlhIHNlbnlhbGFkYSBhbWIgLS0tPiAobGEgcGFyYXVsYSAibCf6bHRpbWEiKS4KCiAgMy4gQXJhIHByZW1ldSAgUiAgaSBzdWJzdGl0de91IGVsIHF1ZSBxdWVkYSBkZSB0ZXh0IGEgbGEgcHJpbWVyYSBs7W5pYQogICAgIGVzY3JpdmludCBzb2JyZSBlbCB0ZXh0IHZlbGwsIHBlciBhIGZlci1sYSBpZ3VhbCBxdWUgbGEgc2Vnb25hLgoKLS0tPiBQZXIgYSBmZXIgYXF1ZXN0YSBs7W5pYSBpZ3VhbCBxdWUgbCf6bHRpbWEgdXNldSBsZXMgdGVjbGVzLgotLS0+IFBlciBhIGZlciBhcXVlc3RhIGztbmlhIGlndWFsIHF1ZSBsYSBzZWdvbmEsIHByZW1ldSBSIGkgZWwgdGV4dCBub3UuCgogIDQuIFRpbmd1ZXUgZW4gY29tcHRlIHF1ZSBlbiBwcultZXIgPEVTQz4gcGVyIGEgc29ydGlyLCBlbCB0ZXh0IHF1ZSBubwogICAgIHMnaGFnaSBhbHRlcmF0IGVzIG1hbnTpLgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgIExsaefzIDYuNDogRVNUQUJMSVIgT1BDSU9OUwoKICAgICAgKiogRmV1IHF1ZSBsZXMgb3JkcmVzIGNlcmNhciBvIHN1YnN0aXR1aXIgaWdub3JpbiBsZXMgZGlmZXLobmNpZXMKICAgICAgICAgICAgICAgICAgICAgZW50cmUgbWFq+nNjdWxlcyBpIG1pbvpzY3VsZXMgKioKCiAgMS4gQ2VycXVldSBsYSBwYXJhdWxhICdpZ25vcmFyJyBhbWI6IC9pZ25vcmFyCiAgICAgUmVwZXRpdS1obyB1bnMgcXVhbnRzIGNvcHMgYW1iIGxhIHRlY2xhIG4uCgogIDIuIEVzdGFibGl1IGwnb3BjafMgJ2ljJyAoaWdub3JlIGNhc2UpIGVzY3JpdmludDoKICAgICA6c2V0IGljCgogIDMuIEFyYSBjZXJxdWV1ICdpZ25vcmFyJyB1biBhbHRyZSBjb3AgYW1iIGxhIHRlY2xhIG4uCiAgICAgUmVwZXRpdS1obyB1bnMgcXVhbnRzIGNvcHMgbelzLgoKICA0LiBFc3RhYmxpdSBsZXMgb3BjaW9ucyAnaGxzZWFyY2gnIGkgJ2luY3NlYXJjaCc6CiAgICAgOnNldCBobHMgaXMKCiAgNS4gQXJhIHRvcm5ldSBhIGV4ZWN1dGFyIHVuYSBvcmRyZSBkZSBjZXJjYSwgaSBtaXJldSBxdeggcGFzc2E6CiAgICAgL2lnbm9yYXIKCiAgNi4gUGVyIGEgdHJldXJlIGVsIHJlc3NhbHRhdCBkZWxzIHJlc3VsdGF0cywgZmV1OgogICAgIDpub2hsc2VhcmNoCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExJx9MgNiBTVU1BUkkKCgogIDEuIEwnb3JkcmUgIG8gIG9icmUgdW5hIGztbmlhIGEgU09UQSBsYSBkZWwgY3Vyc29yIGkgbW91IGVsIGN1cnNvciBhIGxhIG5vdmEKICAgICBs7W5pYSwgZW4gbW9kZSBJbnNlcmNp8y4KICAgICBMYSAgTyAgbWFq+nNjdWxhIG9icmUgbGEgbO1uaWEgYSBTT0JSRSBsYSBxdWUgaGkgaGEgZWwgY3Vyc29yLgoKICAyLiBQcmVtZXUgdW5hICBhICBwZXIgYSBhZmVnaXIgdGV4dCBERVNQUslTIGRlbCBjYXLgY3RlciBhIHNvdGEgZGVsIGN1cnNvci4KICAgICBMYSAgQSAgbWFq+nNjdWxhIGFmZWdlaXggYXV0b23gdGljYW1lbnQgZWwgdGV4dCBhIGZpbmFsIGRlIGztbmlhLgoKICAzLiBMJ29yZHJlICBSICBtYWr6c2N1bGEgdXMgcG9zYSBlbiBtb2RlIHN1YnN0aXR1Y2nzIGZpbnMgcXVlIHByZW1ldSA8RVNDPi4KCiAgNC4gRXNjcml2aXUgIjpzZXQgeHh4IiBwZXIgYSBlc3RhYmxpciBsJ29wY2nzICJ4eHgiCgoKCgoKCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgIExMScfTIDc6IE9SRFJFUyBEJ0FKVURBCgoKICAgICAgICAgICAgICAgICAqKiBVdGlsaXR6ZXUgZWwgc2lzdGVtYSBpbnRlcm4gZCdhanVkYSAqKgoKICBFbCBWaW0gdOkgdW4gZXh0ZW5zIHNpc3RlbWEgZCdhanVkYS4gUGVyIGEgbGxlZ2lyIHVuYSBpbnRyb2R1Y2Np8yBwcm92ZXUgdW5hCiAgZCdhcXVlc3RlcyB0cmVzIGNvc2VzOgogICAgICAgIC0gcHJlbWV1IGxhIHRlY2xhIDxBSlVEQT4gKHNpIGxhIHRlbml1KQogICAgICAgIC0gcHJlbWV1IGxhIHRlY2xhIDxGMT4gKHNpIGxhIHRlbml1KQogICAgICAgIC0gZXNjcml2aXUgICA6aGVscCA8RU5UUkFSPgoKICBUZWNsZWdldSAgOnEgPEVOVFJBUj4gIHBlciBhIHRhbmNhciBsYSBmaW5lc3RyYSBkJ2FqdWRhLgoKICBQb2RldSB0cm9iYXIgYWp1ZGEgc29icmUgcHLgY3RpY2FtZW50IHF1YWxzZXZvbCB0ZW1hIHBhc3NhbnQgdW4gYXJndW1lbnQKICBhIGwnb3JkcmUgIjpoZWxwIi4gUHJvdmV1IGVsIHNlZ/xlbnQgKG5vIG9ibGlkZXUgcHLpbWVyIDxFTlRSQVI+KToKCiAgICAgICAgOmhlbHAgdwogICAgICAgIDpoZWxwIGNfPFQKICAgICAgICA6aGVscCBpbnNlcnQtaW5kZXgKICAgICAgICA6aGVscCB1c2VyLW1hbnVhbAoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICBMTEnH0yA4OiBDUkVBUiBVTiBTQ1JJUFQgRCdJTklDSQoKICAgICAgICAgICAgICAgICAgICoqIEFjdGl2ZXUgZnVuY2lvbnMgYXV0b23gdGljYW1lbnQgKioKCiBFbCBWaW0gdOkgbW9sdGVzIG3pcyBmdW5jaW9ucyBxdWUgZWwgVmksIHBlcvIgbW9sdGVzIGVzdGFuIGRlc2FjdGl2YWRlcwogcGVyIGRlZmVjdGUuIFBlciBhIGNvbWVu52FyIGEgdXRpbGl0emFyIG3pcyBmdW5jaW9ucyBoZXUgZGUgY3JlYXIgdW4KIGZpdHhlciAidmltcmMiLgoKICAxLiBDb21lbmNldSBhIGVkaXRhciBlbCBmaXR4ZXIgInZpbXJjIiwgZGVwZW5lbnQgZGVsIHNpc3RlbWEKICAgICAgICA6ZWRpdCB+Ly52aW1yYyAgICAgICAgIHBlciBVbml4CiAgICAgICAgOmVkaXQgfi9fdmltcmMgICAgICAgICBwZXIgTVMtV2luZG93cwoKICAyLiBMbGVnaXUgZWwgZml0eGVyICJ2aW1yYyIgZCdleGVtcGxlOgoKICAgICAgICA6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQoKICAzLiBEZXNldSBlbCBmaXR4ZXIgYW1iOgoKICAgICAgICA6d3JpdGUKCiBFbCBwcvJ4aW0gY29wIHF1ZSBleGVjdXRldSBlbCBWaW0gdXNhcuAgcmVzc2FsdGF0IGRlIHNpbnRheGkuICBQb2RldQogYWZlZ2lyIGVscyBhanVzdG9zIHF1ZSB2dWxndWV1IGVuIGFxdWVzdCBmaXR4ZXIgInZpbXJjIi4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgogIEFxde0gY29uY2xvdSBlbCBUdXRvciBkZWwgVmltLiDJcyB1bmEgYnJldSBpbnRyb2R1Y2Np8yBhIGwnZWRpdG9yIFZpbSwKICBzdWZpY2llbnQgcGVycXXoIGVsIHB1Z3VldSBjb21lbudhciBhIGZlciBzZXJ2aXIuIE5vIOlzIGNvbXBsZXQgcGVycXXoCiAgZWwgVmltIHTpIG1vbHRlcyBvcmRyZXMuIFBlciBhIGxsZWdpciBlbCBtYW51YWwgZGUgbCd1c3VhcmksIGZldToKICAiOmhlbHAgdXNlci1tYW51YWwiLgoKICBQZXIgYSB1biBlc3R1ZGkgbelzIGEgZm9ucyB1cyByZWNvbWFuZW0gZWwgc2Vn/GVudCBsbGlicmU6CiAgICAgICAgVmltIC0gVmkgSW1wcm92ZWQgLSBkZSBTdGV2ZSBPdWFsbGluZQogICAgICAgIEVkaXRvcmlhbDogTmV3IFJpZGVycwogIMlzIGVsIHByaW1lciBsbGlicmUgZGVkaWNhdCBjb21wbGV0YW1lbnQgYWwgVmltLCBlc3BlY2lhbG1lbnQg+nRpbCBwZXIgYQogIHVzdWFyaXMgbm92ZWxscy4gQ29udOkgbW9sdHMgZXhlbXBsZXMgaSBkaWFncmFtZXMuCiAgVmVnZXUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKCiAgQXF1ZXN0IGFsdHJlIOlzIG3pcyB2ZWxsIGkgdHJhY3RhIG3pcyBzb2JyZSBlbCBWaSBxdWUgc29icmUgZWwgVmltOgogICAgICAgIExlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBkZSBMaW5kYSBMYW1iCiAgICAgICAgRWRpdG9yaWFsOiBPJ1JlaWxseSAmIEFzc29jaWF0ZXMgSW5jLgogIMlzIHVuIGJvbiBsbGlicmUgcGVyIGEgYXByZW5kcmUgcXVhbHNldm9sIGNvc2EgcXVlIGRlc2l0Z2V1IHNvYnJlIGVsIFZpLgogIExhIHNpc2VuYSBlZGljafMgdGFtYukgaW5jbG91IGluZm9ybWFjafMgc29icmUgZWwgVmltLgoKICBBcXVlc3QgdHV0b3JpYWwgaGEgZXN0YXQgZXNjcml0IHBlciBNaWNoYWVsIEMuIFBpZXJjZSBpIFJvYmVydCBLLiBXYXJlLAogIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBhbWIgbGEgY29st2xhYm9yYWNp8yBkZSBDaGFybGVzIFNtaXRoLCBDb2xvcmFkbwogIFN0YXRlIFVuaXZlcnNpdHkuIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgoKICBNb2RpZmljYXQgcGVsIFZpbSBwZXIgQnJhbSBNb29sZW5hYXIuCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K