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hAFaCWQNZA6EAFoKZA9TACkRcgoAAABhgA0AAAogICAgRm9ybWF0IHRva2VucyBhcyBMYVRlWCBjb2RlLiBUaGlzIG5lZWRzIHRoZSBgZmFuY3l2cmJgIGFuZCBgY29sb3JgCiAgICBzdGFuZGFyZCBwYWNrYWdlcy4KCiAgICBXaXRob3V0IHRoZSBgZnVsbGAgb3B0aW9uLCBjb2RlIGlzIGZvcm1hdHRlZCBhcyBvbmUgYGBWZXJiYXRpbWBgCiAgICBlbnZpcm9ubWVudCwgbGlrZSB0aGlzOgoKICAgIC4uIHNvdXJjZWNvZGU6OiBsYXRleAoKICAgICAgICBcYmVnaW57VmVyYmF0aW19W2NvbW1hbmRjaGFycz1cXFx7XH1dCiAgICAgICAgXFBZe2t9e2RlZiB9XFBZe24rbmZ9e2Zvb30oXFBZe259e2Jhcn0pOgogICAgICAgICAgICBcUFl7a317cGFzc30KICAgICAgICBcZW5ke1ZlcmJhdGltfQoKICAgIFdyYXBwaW5nIGNhbiBiZSBkaXNhYmxlZCB1c2luZyB0aGUgYG5vd3JhcGAgb3B0aW9uLgoKICAgIFRoZSBzcGVjaWFsIGNvbW1hbmQgdXNlZCBoZXJlIChgYFxQWWBgKSBhbmQgYWxsIHRoZSBvdGhlciBtYWNyb3MgaXQgbmVlZHMKICAgIGFyZSBvdXRwdXQgYnkgdGhlIGBnZXRfc3R5bGVfZGVmc2AgbWV0aG9kLgoKICAgIFdpdGggdGhlIGBmdWxsYCBvcHRpb24sIGEgY29tcGxldGUgTGFUZVggZG9jdW1lbnQgaXMgb3V0cHV0LCBpbmNsdWRpbmcKICAgIHRoZSBjb21tYW5kIGRlZmluaXRpb25zIGluIHRoZSBwcmVhbWJsZS4KCiAgICBUaGUgYGdldF9zdHlsZV9kZWZzKClgIG1ldGhvZCBvZiBhIGBMYXRleEZvcm1hdHRlcmAgcmV0dXJucyBhIHN0cmluZwogICAgY29udGFpbmluZyBgYFxkZWZgYCBjb21tYW5kcyBkZWZpbmluZyB0aGUgbWFjcm9zIG5lZWRlZCBpbnNpZGUgdGhlCiAgICBgYFZlcmJhdGltYGAgZW52aXJvbm1lbnRzLgoKICAgIEFkZGl0aW9uYWwgb3B0aW9ucyBhY2NlcHRlZDoKCiAgICBgbm93cmFwYAogICAgICAgIElmIHNldCB0byBgYFRydWVgYCwgZG9uJ3Qgd3JhcCB0aGUgdG9rZW5zIGF0IGFsbCwgbm90IGV2ZW4gaW5zaWRlIGEKICAgICAgICBgYFxiZWdpbntWZXJiYXRpbX1gYCBlbnZpcm9ubWVudC4gVGhpcyBkaXNhYmxlcyBtb3N0IG90aGVyIG9wdGlvbnMKICAgICAgICAoZGVmYXVsdDogYGBGYWxzZWBgKS4KCiAgICBgc3R5bGVgCiAgICAgICAgVGhlIHN0eWxlIHRvIHVzZSwgY2FuIGJlIGEgc3RyaW5nIG9yIGEgU3R5bGUgc3ViY2xhc3MgKGRlZmF1bHQ6CiAgICAgICAgYGAnZGVmYXVsdCdgYCkuCgogICAgYGZ1bGxgCiAgICAgICAgVGVsbHMgdGhlIGZvcm1hdHRlciB0byBvdXRwdXQgYSAiZnVsbCIgZG9jdW1lbnQsIGkuZS4gYSBjb21wbGV0ZQogICAgICAgIHNlbGYtY29udGFpbmVkIGRvY3VtZW50IChkZWZhdWx0OiBgYEZhbHNlYGApLgoKICAgIGB0aXRsZWAKICAgICAgICBJZiBgZnVsbGAgaXMgdHJ1ZSwgdGhlIHRpdGxlIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gY2FwdGlvbiB0aGUKICAgICAgICBkb2N1bWVudCAoZGVmYXVsdDogYGAnJ2BgKS4KCiAgICBgZG9jY2xhc3NgCiAgICAgICAgSWYgdGhlIGBmdWxsYCBvcHRpb24gaXMgZW5hYmxlZCwgdGhpcyBpcyB0aGUgZG9jdW1lbnQgY2xhc3MgdG8gdXNlCiAgICAgICAgKGRlZmF1bHQ6IGBgJ2FydGljbGUnYGApLgoKICAgIGBwcmVhbWJsZWAKICAgICAgICBJZiB0aGUgYGZ1bGxgIG9wdGlvbiBpcyBlbmFibGVkLCB0aGlzIGNhbiBiZSBmdXJ0aGVyIHByZWFtYmxlIGNvbW1hbmRzLAogICAgICAgIGUuZy4gYGBcdXNlcGFja2FnZWBgIChkZWZhdWx0OiBgYCcnYGApLgoKICAgIGBsaW5lbm9zYAogICAgICAgIElmIHNldCB0byBgYFRydWVgYCwgb3V0cHV0IGxpbmUgbnVtYmVycyAoZGVmYXVsdDogYGBGYWxzZWBgKS4KCiAgICBgbGluZW5vc3RhcnRgCiAgICAgICAgVGhlIGxpbmUgbnVtYmVyIGZvciB0aGUgZmlyc3QgbGluZSAoZGVmYXVsdDogYGAxYGApLgoKICAgIGBsaW5lbm9zdGVwYAogICAgICAgIElmIHNldCB0byBhIG51bWJlciBuID4gMSwgb25seSBldmVyeSBudGggbGluZSBudW1iZXIgaXMgcHJpbnRlZC4KCiAgICBgdmVyYm9wdGlvbnNgCiAgICAgICAgQWRkaXRpb25hbCBvcHRpb25zIGdpdmVuIHRvIHRoZSBWZXJiYXRpbSBlbnZpcm9ubWVudCAoc2VlIHRoZSAqZmFuY3l2cmIqCiAgICAgICAgZG9jcyBmb3IgcG9zc2libGUgdmFsdWVzKSAoZGVmYXVsdDogYGAnJ2BgKS4KCiAgICBgY29tbWFuZHByZWZpeGAKICAgICAgICBUaGUgTGFUZVggY29tbWFuZHMgdXNlZCB0byBwcm9kdWNlIGNvbG9yZWQgb3V0cHV0IGFyZSBjb25zdHJ1Y3RlZAogICAgICAgIHVzaW5nIHRoaXMgcHJlZml4IGFuZCBzb21lIGxldHRlcnMgKGRlZmF1bHQ6IGBgJ1BZJ2BgKS4KCiAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMC43CiAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAwLjEwCiAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgbm93IGBgJ1BZJ2BgIGluc3RlYWQgb2YgYGAnQydgYC4KCiAgICBgdGV4Y29tbWVudHNgCiAgICAgICAgSWYgc2V0IHRvIGBgVHJ1ZWBgLCBlbmFibGVzIExhVGVYIGNvbW1lbnQgbGluZXMuICBUaGF0IGlzLCBMYVRleCBtYXJrdXAKICAgICAgICBpbiBjb21tZW50IHRva2VucyBpcyBub3QgZXNjYXBlZCBzbyB0aGF0IExhVGVYIGNhbiByZW5kZXIgaXQgKGRlZmF1bHQ6CiAgICAgICAgYGBGYWxzZWBgKS4KCiAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yCgogICAgYG1hdGhlc2NhcGVgCiAgICAgICAgSWYgc2V0IHRvIGBgVHJ1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