{"request":"CAQSCWNvbnRhaW5lciDg1ANq4DQKBnB5dGhvbhLVNGRlZiBwYXJzZV92ZXJzaW9uKHYpOgogICAgIyBTcGxpdCBidWlsZCBtZXRhZGF0YQogICAgaWYgJysnIGluIHY6CiAgICAgICAgY29yZSwgYnVpbGQgPSB2LnNwbGl0KCcrJywgMSkKICAgIGVsc2U6CiAgICAgICAgY29yZSA9IHYKICAgICAgICBidWlsZCA9IE5vbmUKCiAgICAjIFNwbGl0IHByZS1yZWxlYXNlCiAgICBpZiAnLScgaW4gY29yZToKICAgICAgICB2ZXJzaW9uX3BhcnQsIHByZV9wYXJ0ID0gY29yZS5zcGxpdCgnLScsIDEpCiAgICBlbHNlOgogICAgICAgIHZlcnNpb25fcGFydCA9IGNvcmUKICAgICAgICBwcmVfcGFydCA9IE5vbmUKCiAgICAjIFBhcnNlIG51bWVyaWMgbWFqb3IubWlub3IucGF0Y2gKICAgIG51bV9wYXJ0cyA9IHZlcnNpb25fcGFydC5zcGxpdCgnLicpCiAgICBpZiBsZW4obnVtX3BhcnRzKSAhPSAzOgogICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgdmVyc2lvbjogbXVzdCBoYXZlIGV4YWN0bHkgdGhyZWUgbnVtZXJpYyBjb21wb25lbnRzIikKICAgIG51bXMgPSBbXQogICAgZm9yIHBhcnQgaW4gbnVtX3BhcnRzOgogICAgICAgIGlmIG5vdCBwYXJ0OgogICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBudW1lcmljIGNvbXBvbmVudCIpCiAgICAgICAgIyBObyBsZWFkaW5nIHplcm9zIHVubGVzcyB0aGUgcGFydCBpcyBleGFjdGx5ICIwIgogICAgICAgIGlmIGxlbihwYXJ0KSA+IDEgYW5kIHBhcnRbMF0gPT0gJzAnOgogICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgY29tcG9uZW50OiB7cGFydH0iKQogICAgICAgIGlmIG5vdCBwYXJ0LmlzZGlnaXQoKToKICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmIk5vbi1kaWdpdCBpbiBudW1lcmljIGNvbXBvbmVudDoge3BhcnR9IikKICAgICAgICBudW1zLmFwcGVuZChpbnQocGFydCkpCiAgICBtYWpvciwgbWlub3IsIHBhdGNoID0gbnVtcwoKICAgICMgUGFyc2UgcHJlLXJlbGVhc2UgaWRlbnRpZmllcnMKICAgIHByZXJlbGVhc2UgPSBbXQogICAgaWYgcHJlX3BhcnQgaXMgbm90IE5vbmU6CiAgICAgICAgaWRzID0gcHJlX3BhcnQuc3BsaXQoJy4nKQogICAgICAgIGZvciBpZGVuIGluIGlkczoKICAgICAgICAgICAgaWYgbm90IGlkZW46CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBwcmUtcmVsZWFzZSBpZGVudGlmaWVyIikKICAgICAgICAgICAgIyBBbGxvd2VkIGNoYXJhY3RlcnM6IEFTQ0lJIGxldHRlcnMsIGRpZ2l0cywgaHlwaGVuCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gcHJlLXJlbGVhc2UgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgIyBJZiBhbGwgZGlnaXRzLCBubyBsZWFkaW5nIHplcm8KICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgcHJlLXJlbGVhc2UgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgcHJlcmVsZWFzZS5hcHBlbmQoaWRlbikKCiAgICAjIFBhcnNlIGJ1aWxkIG1ldGFkYXRhIChpZ25vcmVkKQogICAgYnVpbGRfaWRzID0gW10KICAgIGlmIGJ1aWxkIGlzIG5vdCBOb25lOgogICAgICAgIGlkcyA9IGJ1aWxkLnNwbGl0KCcuJykKICAgICAgICBmb3IgaWRlbiBpbiBpZHM6CiAgICAgICAgICAgIGlmIG5vdCBpZGVuOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgYnVpbGQgaWRlbnRpZmllciIpCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgYnVpbGRfaWRzLmFwcGVuZChpZGVuKQoKICAgIHJldHVybiB7CiAgICAgICAgJ21ham9yJzogbWFqb3IsCiAgICAgICAgJ21pbm9yJzogbWlub3IsCiAgICAgICAgJ3BhdGNoJzogcGF0Y2gsCiAgICAgICAgJ3ByZXJlbGVhc2UnOiBwcmVyZWxlYXNlLAogICAgICAgICdidWlsZCc6IGJ1aWxkX2lkcwogICAgfQoKZGVmIHNlbXZlcl9jb21wYXJlKGEsIGIpOgogICAgdmEgPSBwYXJzZV92ZXJzaW9uKGEpCiAgICB2YiA9IHBhcnNlX3ZlcnNpb24oYikKCiAgICAjIENvbXBhcmUgbWFqb3IsIG1pbm9yLCBwYXRjaCBudW1lcmljYWxseQogICAgaWYgdmFbJ21ham9yJ10gIT0gdmJbJ21ham9yJ106CiAgICAgICAgcmV0dXJuIC0xIGlmIHZhWydtYWpvciddIDwgdmJbJ21ham9yJ10gZWxzZSAxCiAgICBpZiB2YVsnbWlub3InXSAhPSB2YlsnbWlub3InXToKICAgICAgICByZXR1cm4gLTEgaWYgdmFbJ21pbm9yJ10gPCB2YlsnbWlub3InXSBlbHNlIDEKICAgIGlmIHZhWydwYXRjaCddICE9IHZiWydwYXRjaCddOgogICAgICAgIHJldHVybiAtMSBpZiB2YVsncGF0Y2gnXSA8IHZiWydwYXRjaCddIGVsc2UgMQoKICAgICMgQm90aCBoYXZlIHNhbWUgbnVtZXJpYyBwYXJ0LCBub3cgaGFuZGxlIHByZXJlbGVhc2UKICAgIGFfcHIgPSB2YVsncHJlcmVsZWFzZSddCiAgICBiX3ByID0gdmJbJ3ByZXJlbGVhc2UnXQoKICAgICMgQm90aCB3aXRob3V0IHByZXJlbGVhc2UgPT4gZXF1YWwKICAgIGlmIGFfcHIgaXMgTm9uZSBhbmQgYl9wciBpcyBOb25lOgogICAgICAgIHJldHVybiAwCiAgICAjIGEgaGFzIHByZXJlbGVhc2UsIGIgZG9lcyBub3QgPT4gYSBsb3dlcgogICAgaWYgYV9wciBpcyBub3QgTm9uZSBhbmQgYl9wciBpcyBOb25lOgogICAgICAgIHJldHVybiAtMQogICAgIyBiIGhhcyBwcmVyZWxlYXNlLCBhIGRvZXMgbm90ID0+IGEgaGlnaGVyCiAgICBpZiBhX3ByIGlzIE5vbmUgYW5kIGJfcHIgaXMgbm90IE5vbmU6CiAgICAgICAgcmV0dXJuIDEKCiAgICAjIEJvdGggaGF2ZSBwcmVyZWxlYXNlLCBjb21wYXJlIGlkZW50aWZpZXIgYnkgaWRlbnRpZmllcgogICAgbWF4X2xlbiA9IG1heChsZW4oYV9wciksIGxlbihiX3ByKSkKICAgIGZvciBpIGluIHJhbmdlKG1heF9sZW4pOgogICAgICAgIGFfaWQgPSBhX3ByW2ldIGlmIGkgPCBsZW4oYV9wcikgZWxzZSBOb25lCiAgICAgICAgYl9pZCA9IGJfcHJbaV0gaWYgaSA8IGxlbihiX3ByKSBlbHNlIE5vbmUKCiAgICAgICAgaWYgYV9pZCBpcyBub3QgTm9uZSBhbmQgYl9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgYV9kaWdpdCA9IGFfaWQuaXNkaWdpdCgpCiAgICAgICAgICAgIGJfZGlnaXQgPSBiX2lkLmlzZGlnaXQoKQogICAgICAgICAgICBpZiBhX2RpZ2l0IGFuZCBiX2RpZ2l0OgogICAgICAgICAgICAgICAgIyBudW1lcmljIGNvbXBhcmlzb24KICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA8IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA+IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICAgICAgIyBlcXVhbCwgY29udGludWUKICAgICAgICAgICAgZWxpZiBub3QgYV9kaWdpdCBhbmQgbm90IGJfZGlnaXQ6CiAgICAgICAgICAgICAgICAjIEFTQ0lJIGNvbXBhcmlzb24KICAgICAgICAgICAgICAgIGlmIGFfaWQgPCBiX2lkOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICAgICAgaWYgYV9pZCA+IGJfaWQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgICAgICMgZXF1YWwsIGNvbnRpbnVlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAjIG9uZSBkaWdpdCwgb25lIG5vdDogZGlnaXQgaXMgbG93ZXIKICAgICAgICAgICAgICAgIGlmIGFfZGlnaXQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgIyBPbmUgb2YgdGhlbSBpcyBOb25lIChpLmUuLCB3ZSBleGhhdXN0ZWQgaWRlbnRpZmllcnMpCiAgICAgICAgICAgIGlmIGFfaWQgaXMgTm9uZSBhbmQgYl9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICMgYSBzaG9ydGVyID0+IGxvd2VyCiAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgaWYgYl9pZCBpcyBOb25lIGFuZCBhX2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIyBhIGxvbmdlciA9PiBoaWdoZXIKICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICMgYm90aCBOb25lIHNob3VsZCBub3QgaGFwcGVuOyBjb250aW51ZQoKICAgICMgQWxsIGNvbXBhcmVkIGlkZW50aWZpZXJzIGVxdWFsCiAgICByZXR1cm4gMAoKZGVmIHJ1bl90ZXN0cygpOgogICAgZmFpbHVyZXMgPSBbXQoKICAgICMgTm9ybWFsIGNhc2VzIHdpdGggZXhwZWN0ZWQgcmVzdWx0cwogICAgbm9ybWFsX2Nhc2VzID0gWwogICAgICAgICgiMS4wLjAiLCAiMi4wLjAiLCAtMSksCiAgICAgICAgKCIyLjEuMSIsICIyLjEuMCIsIDEpLAogICAgICAgICgiMS4wLjAtYWxwaGEiLCAiMS4wLjAiLCAtMSksCiAgICAgICAgKCIxLjAuMC1hbHBoYS4xIiwgIjEuMC4wLWFscGhhLmJldGEiLCAtMSksCiAgICAgICAgKCIxLjAuMCtidWlsZC41IiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIxLjAuMCIsICIxLjAuMCIsIDApLAogICAgICAgICgiMC4wLjEiLCAiMC4wLjAiLCAxKSwKICAgICAgICAoIjEuMC4wLWJldGEiLCAiMS4wLjAtYWxwaGEiLCAxKSwKICAgICAgICAoIjEuMC4wLTEuMiIsICIxLjAuMC0xLjEwIiwgLTEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEiLCAxKSwKICAgICAgICAoIjEuMC4wLTEuMiIsICIxLjAuMC0xLjIuMyIsIC0xKSwKICAgICAgICAoIjEuMC4wK2J1aWxkLjUiLCAiMS4wLjArYnVpbGQuNiIsIDApLAogICAgICAgICgiMS4wLjArYnVpbGQuNSIsICIxLjAuMCIsIDApLAogICAgICAgICgiMS4wLjAtcmMuMSIsICIxLjAuMC1yYy4wIiwgMSksCiAgICAgICAgKCIxLjAuMC1yYy4xIiwgIjEuMC4wLXJjLjEuMCIsIC0xKSwKICAgIF0KCiAgICBmb3IgYSwgYiwgZXhwIGluIG5vcm1hbF9jYXNlczoKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJlcyA9IHNlbXZlcl9jb21wYXJlKGEsIGIpCiAgICAgICAgICAgIGlmIHJlcyAhPSBleHA6CiAgICAgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQoZiJGQUlMOiB7YX0gdnMge2J9IGV4cGVjdGVkIHtleHB9IGdvdCB7cmVzfSIpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQoZiJFUlJPUjoge2F9IHZzIHtifSByYWlzZWQge2V9IikKCiAgICAjIENhc2VzIHRoYXQgc2hvdWxkIHJhaXNlIFZhbHVlRXJyb3IKICAgIGVycm9yX2Nhc2VzID0gWwogICAgICAgICgiMS4wIiwgIjEuMC4wIiksCiAgICAgICAgKCIwMS4wLjAiLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLTAxIiwgIjEuMC4wIiksCiAgICAgICAgKCIxLjAuMC0rIiwgIjEuMC4wIiksCiAgICAgICAgKCIxLjAuMC4uIiwgIjEuMC4wIiksCiAgICAgICAgKCIxLjAuMC0iLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLS4tIiwgIjEuMC4wIiksCiAgICAgICAgKCIxLjAuMC1hYmMuIiwgIjEuMC4wIiksCiAgICAgICAgKCIxLjAuMC1hYmMuZGVmIiwgIjEuMC4wIiksCiAgICAgICAgKCIxLjAuMC1hYmMuZGVmK2J1aWxkIiksICAjIHBsdXMgd2l0aG91dCBkb3Q/IG1heWJlIG9rYXkgYnV0IHdlIHRyZWF0IGFzIGludmFsaWQ/IEFjdHVhbGx5IGJ1aWxkIHBhcnQgbXVzdCBiZSBkb3Qtc2VwYXJhdGVkIGlkZW50aWZpZXJzOyAiYnVpbGQiIGlzIG9rYXkgYnV0IHBsdXMgbXVzdCBiZSBmb2xsb3dlZCBieSBkb3Qtc2VwYXJhdGVkIGlkZW50aWZpZXJzOyBidXQgd2UgY2FuIGtlZXAgc2ltcGxlLgogICAgXQoKICAgIGZvciBhLCBiIGluIGVycm9yX2Nhc2VzOgogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzID0gc2VtdmVyX2NvbXBhcmUoYSwgYikKICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKGYiRVJST1I6IHthfSB2cyB7Yn0gc2hvdWxkIGhhdmUgcmFpc2VkIFZhbHVlRXJyb3IgYnV0IHJldHVybmVkIHtyZXN9IikKICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgcGFzcyAgIyBleHBlY3RlZAogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKGYiRVJST1I6IHthfSB2cyB7Yn0gcmFpc2VkIHVuZXhwZWN0ZWQge2V9IikKCiAgICBpZiBmYWlsdXJlczoKICAgICAgICBmb3IgZiBpbiBmYWlsdXJlczoKICAgICAgICAgICAgcHJpbnQoZikKICAgICAgICByZXR1cm4gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIkFMTCBURVNUUyBQQVNTRUQiKQogICAgICAgIHJldHVybiBUcnVlCgojIFJ1biB0aGUgdGVzdCBzdWl0ZQpydW5fdGVzdHMoKQ==","response":"CgZkb2NrZXISBmtlcm5lbBjVHSLiAwgEEkA0Y2M4ZGJlZGJjYWViYTM1NTA3ODBjYTM5NWFhMTAzNjQ0M2M1ZTZjYmYzMzIxYTdmNGVhYzU5NmYyNzViOTlhGkA2ODBkMzQzMjhmMGMyMzhmMzVhNTVkMWMzNmFmODFjZjJmMGQzNzBiNTY4YzYzOTVjNmQzMWZjZWE3NTA0MjViIgZkb2NrZXIqBmtlcm5lbDJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxQMXy8vmXNEiimPP5lzRSQGUxMWYzZjYxM2FlNGRhMzA4ZDExYmE1ZGRjZGQ1YWEzNDJlNTVmYjUxZDdhYTBmZDU3YjY4YjRiNWMyNDMzZmNYAWpAZDViYjIzZGQ0MjIyMTI2YWE1Nzk4NzUzN2NkMjAyNTQ4MzA3ZmQzMDM5MzZkZTRhYWI3NTM1ODk0OGQ0OWY3NnJgb2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4KmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgyVGRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MWr6ARLzAVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICBGaWxlICI8Y2VsbCAxPiIsIGxpbmUgMjAwLCBpbiA8bW9kdWxlPgogICAgcnVuX3Rlc3RzKCkKICAgIH5+fn5+fn5+fl5eCiAgRmlsZSAiPGNlbGwgMT4iLCBsaW5lIDE4MiwgaW4gcnVuX3Rlc3RzCiAgICBmb3IgYSwgYiBpbiBlcnJvcl9jYXNlczoKICAgICAgICBeXl5eClZhbHVlRXJyb3I6IHRvbyBtYW55IHZhbHVlcyB0byB1bnBhY2sgKGV4cGVjdGVkIDIpChgBOAE=","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiJkNWJiMjNkZDQyMjIxMjZhYTU3OTg3NTM3Y2QyMDI1NDgzMDdmZDMwMzkzNmRlNGFhYjc1MzU4OTQ4ZDQ5Zjc2In19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiNGNjOGRiZWRiY2FlYmEzNTUwNzgwY2EzOTVhYTEwMzY0NDNjNWU2Y2JmMzMyMWE3ZjRlYWM1OTZmMjc1Yjk5YSIsInJlc3VsdF9zaGEyNTYiOiI2ODBkMzQzMjhmMGMyMzhmMzVhNTVkMWMzNmFmODFjZjJmMGQzNzBiNTY4YzYzOTVjNmQzMWZjZWE3NTA0MjViIiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2MDQ4NDUzLCJlbmRlZF91bml4X21zIjoxNzkzMTM2MDUzMjgyLCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjoxLCJwcmV2aW91c19zaGEyNTYiOiIiLCJyZWNvcmRfc2hhMjU2IjoiZDViYjIzZGQ0MjIyMTI2YWE1Nzk4NzUzN2NkMjAyNTQ4MzA3ZmQzMDM5MzZkZTRhYWI3NTM1ODk0OGQ0OWY3NiJ9fQ==","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"7doaeu/LW3uN1CIign6ImN4YdD167sqGySrhk0mqMfk9XvqD3yW+l0JnOCVrJTk5XjIXUiVolMXkngGsinD0BQ=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiMTk4M2ExNzg0NmZmMWRjOWY1NDE0NzJjMzVkY2IzOTc0ZTk0ZTY3MmFhYTk3ZWFmOWYwNDAxYTg5MjcwNmU3NyJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjEsInByZXZpb3VzX3NoYTI1NiI6IiIsImVudHJ5X3NoYTI1NiI6IjE5ODNhMTc4NDZmZjFkYzlmNTQxNDcyYzM1ZGNiMzk3NGU5NGU2NzJhYWE5N2VhZjlmMDQwMWE4OTI3MDZlNzcifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"xhTOXnrMvB7UKybygneJ3Iq5p0QBP+awZ65DhyE1HmgvDioiFx/mVApGqaQJuAlwlK8L0Q7XXCPaz9mRLEdBAg=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANqvDEKBnB5dGhvbhKxMWRlZiBwYXJzZV92ZXJzaW9uKHYpOgogICAgIyBTcGxpdCBidWlsZCBtZXRhZGF0YQogICAgaWYgJysnIGluIHY6CiAgICAgICAgY29yZSwgYnVpbGQgPSB2LnNwbGl0KCcrJywgMSkKICAgIGVsc2U6CiAgICAgICAgY29yZSA9IHYKICAgICAgICBidWlsZCA9IE5vbmUKCiAgICAjIFNwbGl0IHByZS1yZWxlYXNlCiAgICBpZiAnLScgaW4gY29yZToKICAgICAgICB2ZXJzaW9uX3BhcnQsIHByZV9wYXJ0ID0gY29yZS5zcGxpdCgnLScsIDEpCiAgICBlbHNlOgogICAgICAgIHZlcnNpb25fcGFydCA9IGNvcmUKICAgICAgICBwcmVfcGFydCA9IE5vbmUKCiAgICAjIFBhcnNlIG51bWVyaWMgbWFqb3IubWlub3IucGF0Y2gKICAgIG51bV9wYXJ0cyA9IHZlcnNpb25fcGFydC5zcGxpdCgnLicpCiAgICBpZiBsZW4obnVtX3BhcnRzKSAhPSAzOgogICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgdmVyc2lvbjogbXVzdCBoYXZlIGV4YWN0bHkgdGhyZWUgbnVtZXJpYyBjb21wb25lbnRzIikKICAgIG51bXMgPSBbXQogICAgZm9yIHBhcnQgaW4gbnVtX3BhcnRzOgogICAgICAgIGlmIG5vdCBwYXJ0OgogICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBudW1lcmljIGNvbXBvbmVudCIpCiAgICAgICAgIyBObyBsZWFkaW5nIHplcm9zIHVubGVzcyB0aGUgcGFydCBpcyBleGFjdGx5ICIwIgogICAgICAgIGlmIGxlbihwYXJ0KSA+IDEgYW5kIHBhcnRbMF0gPT0gJzAnOgogICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgY29tcG9uZW50OiB7cGFydH0iKQogICAgICAgIGlmIG5vdCBwYXJ0LmlzZGlnaXQoKToKICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmIk5vbi1kaWdpdCBpbiBudW1lcmljIGNvbXBvbmVudDoge3BhcnR9IikKICAgICAgICBudW1zLmFwcGVuZChpbnQocGFydCkpCiAgICBtYWpvciwgbWlub3IsIHBhdGNoID0gbnVtcwoKICAgICMgUGFyc2UgcHJlLXJlbGVhc2UgaWRlbnRpZmllcnMKICAgIHByZXJlbGVhc2UgPSBbXQogICAgaWYgcHJlX3BhcnQgaXMgbm90IE5vbmU6CiAgICAgICAgaWRzID0gcHJlX3BhcnQuc3BsaXQoJy4nKQogICAgICAgIGZvciBpZGVuIGluIGlkczoKICAgICAgICAgICAgaWYgbm90IGlkZW46CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBwcmUtcmVsZWFzZSBpZGVudGlmaWVyIikKICAgICAgICAgICAgIyBBbGxvd2VkIGNoYXJhY3RlcnM6IEFTQ0lJIGxldHRlcnMsIGRpZ2l0cywgaHlwaGVuCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gcHJlLXJlbGVhc2UgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgIyBJZiBhbGwgZGlnaXRzLCBubyBsZWFkaW5nIHplcm8KICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgcHJlLXJlbGVhc2UgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgcHJlcmVsZWFzZS5hcHBlbmQoaWRlbikKCiAgICAjIFBhcnNlIGJ1aWxkIG1ldGFkYXRhIChpZ25vcmVkKQogICAgYnVpbGRfaWRzID0gW10KICAgIGlmIGJ1aWxkIGlzIG5vdCBOb25lOgogICAgICAgIGlkcyA9IGJ1aWxkLnNwbGl0KCcuJykKICAgICAgICBmb3IgaWRlbiBpbiBpZHM6CiAgICAgICAgICAgIGlmIG5vdCBpZGVuOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgYnVpbGQgaWRlbnRpZmllciIpCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgYnVpbGRfaWRzLmFwcGVuZChpZGVuKQoKICAgIHJldHVybiB7CiAgICAgICAgJ21ham9yJzogbWFqb3IsCiAgICAgICAgJ21pbm9yJzogbWlub3IsCiAgICAgICAgJ3BhdGNoJzogcGF0Y2gsCiAgICAgICAgJ3ByZXJlbGVhc2UnOiBwcmVyZWxlYXNlLAogICAgICAgICdidWlsZCc6IGJ1aWxkX2lkcwogICAgfQoKZGVmIHNlbXZlcl9jb21wYXJlKGEsIGIpOgogICAgdmEgPSBwYXJzZV92ZXJzaW9uKGEpCiAgICB2YiA9IHBhcnNlX3ZlcnNpb24oYikKCiAgICAjIENvbXBhcmUgbWFqb3IsIG1pbm9yLCBwYXRjaCBudW1lcmljYWxseQogICAgaWYgdmFbJ21ham9yJ10gIT0gdmJbJ21ham9yJ106CiAgICAgICAgcmV0dXJuIC0xIGlmIHZhWydtYWpvciddIDwgdmJbJ21ham9yJ10gZWxzZSAxCiAgICBpZiB2YVsnbWlub3InXSAhPSB2YlsnbWlub3InXToKICAgICAgICByZXR1cm4gLTEgaWYgdmFbJ21pbm9yJ10gPCB2YlsnbWlub3InXSBlbHNlIDEKICAgIGlmIHZhWydwYXRjaCddICE9IHZiWydwYXRjaCddOgogICAgICAgIHJldHVybiAtMSBpZiB2YVsncGF0Y2gnXSA8IHZiWydwYXRjaCddIGVsc2UgMQoKICAgICMgQm90aCBoYXZlIHNhbWUgbnVtZXJpYyBwYXJ0LCBub3cgaGFuZGxlIHByZXJlbGVhc2UKICAgIGFfcHIgPSB2YVsncHJlcmVsZWFzZSddCiAgICBiX3ByID0gdmJbJ3ByZXJlbGVhc2UnXQoKICAgICMgQm90aCB3aXRob3V0IHByZXJlbGVhc2UgPT4gZXF1YWwKICAgIGlmIGFfcHIgaXMgTm9uZSBhbmQgYl9wciBpcyBOb25lOgogICAgICAgIHJldHVybiAwCiAgICAjIGEgaGFzIHByZXJlbGVhc2UsIGIgZG9lcyBub3QgPT4gYSBsb3dlcgogICAgaWYgYV9wciBpcyBub3QgTm9uZSBhbmQgYl9wciBpcyBOb25lOgogICAgICAgIHJldHVybiAtMQogICAgIyBiIGhhcyBwcmVyZWxlYXNlLCBhIGRvZXMgbm90ID0+IGEgaGlnaGVyCiAgICBpZiBhX3ByIGlzIE5vbmUgYW5kIGJfcHIgaXMgbm90IE5vbmU6CiAgICAgICAgcmV0dXJuIDEKCiAgICAjIEJvdGggaGF2ZSBwcmVyZWxlYXNlLCBjb21wYXJlIGlkZW50aWZpZXIgYnkgaWRlbnRpZmllcgogICAgbWF4X2xlbiA9IG1heChsZW4oYV9wciksIGxlbihiX3ByKSkKICAgIGZvciBpIGluIHJhbmdlKG1heF9sZW4pOgogICAgICAgIGFfaWQgPSBhX3ByW2ldIGlmIGkgPCBsZW4oYV9wcikgZWxzZSBOb25lCiAgICAgICAgYl9pZCA9IGJfcHJbaV0gaWYgaSA8IGxlbihiX3ByKSBlbHNlIE5vbmUKCiAgICAgICAgaWYgYV9pZCBpcyBub3QgTm9uZSBhbmQgYl9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgYV9kaWdpdCA9IGFfaWQuaXNkaWdpdCgpCiAgICAgICAgICAgIGJfZGlnaXQgPSBiX2lkLmlzZGlnaXQoKQogICAgICAgICAgICBpZiBhX2RpZ2l0IGFuZCBiX2RpZ2l0OgogICAgICAgICAgICAgICAgIyBudW1lcmljIGNvbXBhcmlzb24KICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA8IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA+IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICAgICAgIyBlcXVhbCwgY29udGludWUKICAgICAgICAgICAgZWxpZiBub3QgYV9kaWdpdCBhbmQgbm90IGJfZGlnaXQ6CiAgICAgICAgICAgICAgICAjIEFTQ0lJIGNvbXBhcmlzb24KICAgICAgICAgICAgICAgIGlmIGFfaWQgPCBiX2lkOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICAgICAgaWYgYV9pZCA+IGJfaWQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgICAgICMgZXF1YWwsIGNvbnRpbnVlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAjIG9uZSBkaWdpdCwgb25lIG5vdDogZGlnaXQgaXMgbG93ZXIKICAgICAgICAgICAgICAgIGlmIGFfZGlnaXQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgIyBPbmUgb2YgdGhlbSBpcyBOb25lIChpLmUuLCB3ZSBleGhhdXN0ZWQgaWRlbnRpZmllcnMpCiAgICAgICAgICAgIGlmIGFfaWQgaXMgTm9uZSBhbmQgYl9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICMgYSBzaG9ydGVyID0+IGxvd2VyCiAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgaWYgYl9pZCBpcyBOb25lIGFuZCBhX2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIyBhIGxvbmdlciA9PiBoaWdoZXIKICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICMgYm90aCBOb25lIHNob3VsZCBub3QgaGFwcGVuOyBjb250aW51ZQoKICAgICMgQWxsIGNvbXBhcmVkIGlkZW50aWZpZXJzIGVxdWFsCiAgICByZXR1cm4gMAoKZGVmIHJ1bl90ZXN0cygpOgogICAgZmFpbHVyZXMgPSBbXQoKICAgICMgTm9ybWFsIGNhc2VzIHdpdGggZXhwZWN0ZWQgcmVzdWx0cyAoaW5jbHVkaW5nIHRoZSBleGFtcGxlcyBmcm9tIHRoZSBwcm9tcHQpCiAgICBub3JtYWxfY2FzZXMgPSBbCiAgICAgICAgKCIxLjAuMCIsICIyLjAuMCIsIC0xKSwKICAgICAgICAoIjIuMS4xIiwgIjIuMS4wIiwgMSksCiAgICAgICAgKCIxLjAuMC1hbHBoYSIsICIxLjAuMCIsIC0xKSwKICAgICAgICAoIjEuMC4wLWFscGhhLjEiLCAiMS4wLjAtYWxwaGEuYmV0YSIsIC0xKSwKICAgICAgICAoIjEuMC4wK2J1aWxkLjUiLCAiMS4wLjAiLCAwKSwKICAgICAgICAoIjEuMC4wIiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIwLjAuMSIsICIwLjAuMCIsIDEpLAogICAgICAgICgiMS4wLjAtYmV0YSIsICIxLjAuMC1hbHBoYSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMTAiLCAtMSksCiAgICAgICAgKCIxLjAuMC0xLjIiLCAiMS4wLjAtMSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMi4zIiwgLTEpLAogICAgICAgICgiMS4wLjArYnVpbGQuNSIsICIxLjAuMCtidWlsZC42IiwgMCksCiAgICAgICAgKCIxLjAuMCtidWlsZC41IiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIxLjAuMC1yYy4xIiwgIjEuMC4wLXJjLjAiLCAxKSwKICAgICAgICAoIjEuMC4wLXJjLjEiLCAiMS4wLjAtcmMuMS4wIiwgLTEpLAogICAgXQoKICAgIGZvciBhLCBiLCBleHAgaW4gbm9ybWFsX2Nhc2VzOgogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzID0gc2VtdmVyX2NvbXBhcmUoYSwgYikKICAgICAgICAgICAgaWYgcmVzICE9IGV4cDoKICAgICAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkZBSUw6IHthfSB2cyB7Yn0gZXhwZWN0ZWQge2V4cH0gZ290IHtyZXN9IikKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHJhaXNlZCB7ZX0iKQoKICAgICMgQ2FzZXMgdGhhdCBzaG91bGQgcmFpc2UgVmFsdWVFcnJvcgogICAgZXJyb3JfY2FzZXMgPSBbCiAgICAgICAgKCIxLjAiLCAiMS4wLjAiKSwKICAgICAgICAoIjAxLjAuMCIsICIxLjAuMCIpLAogICAgXQoKICAgIGZvciBhLCBiIGluIGVycm9yX2Nhc2VzOgogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzID0gc2VtdmVyX2NvbXBhcmUoYSwgYikKICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKGYiRVJST1I6IHthfSB2cyB7Yn0gc2hvdWxkIGhhdmUgcmFpc2VkIFZhbHVlRXJyb3IgYnV0IHJldHVybmVkIHtyZXN9IikKICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgcGFzcyAgIyBleHBlY3RlZAogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgZmFpbHVyZXMuYXBwZW5kKGYiRVJST1I6IHthfSB2cyB7Yn0gcmFpc2VkIHVuZXhwZWN0ZWQge2V9IikKCiAgICBpZiBmYWlsdXJlczoKICAgICAgICBmb3IgZiBpbiBmYWlsdXJlczoKICAgICAgICAgICAgcHJpbnQoZikKICAgICAgICByZXR1cm4gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIkFMTCBURVNUUyBQQVNTRUQiKQogICAgICAgIHJldHVybiBUcnVlCgojIFJ1biB0aGUgdGVzdCBzdWl0ZQpydW5fdGVzdHMoKQ==","response":"CgZkb2NrZXISBmtlcm5lbBiGAiKkBAgEEkAyOTJhZWJmNWNhMTdkYTFiY2JjNDgxYzEyMjU2ZmJhZTEzOWM0NTQxZTU3ZjkyOTU4ZDkwNDZiMzQxYmVhMjNmGkA5ODZmMWM2OGM4ZmUzNjNmYjg0MTk3YjM0N2RjZmI2NGZhOWJiNTFlYjEyZTRiMThjNmQ1OGFkMjczZmU1MWVhIgZkb2NrZXIqBmtlcm5lbDJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxQLKe+/mXNEjFqfv5lzRSQGUxMWYzZjYxM2FlNGRhMzA4ZDExYmE1ZGRjZGQ1YWEzNDJlNTVmYjUxZDdhYTBmZDU3YjY4YjRiNWMyNDMzZmNYAmJAZDViYjIzZGQ0MjIyMTI2YWE1Nzk4NzUzN2NkMjAyNTQ4MzA3ZmQzMDM5MzZkZTRhYWI3NTM1ODk0OGQ0OWY3NmpAOTlmYjNlNmQ2NTI3Y2NlZmM4MjA1ZDc1MjE1ZmZiYTg2NTMxYWZhMzAyOGU1NzljM2JjMjA3MGIyM2M0NTFhMXJgb2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4KmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgyVGRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MWo1CjNGQUlMOiAxLjAuMC1hbHBoYSB2cyAxLjAuMCBleHBlY3RlZCAtMSBnb3QgMQpGYWxzZQo=","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiI5OWZiM2U2ZDY1MjdjY2VmYzgyMDVkNzUyMTVmZmJhODY1MzFhZmEzMDI4ZTU3OWMzYmMyMDcwYjIzYzQ1MWExIn19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiMjkyYWViZjVjYTE3ZGExYmNiYzQ4MWMxMjI1NmZiYWUxMzljNDU0MWU1N2Y5Mjk1OGQ5MDQ2YjM0MWJlYTIzZiIsInJlc3VsdF9zaGEyNTYiOiI5ODZmMWM2OGM4ZmUzNjNmYjg0MTk3YjM0N2RjZmI2NGZhOWJiNTFlYjEyZTRiMThjNmQ1OGFkMjczZmU1MWVhIiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2MTg1MTM4LCJlbmRlZF91bml4X21zIjoxNzkzMTM2MTg2NTY1LCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjoyLCJwcmV2aW91c19zaGEyNTYiOiJkNWJiMjNkZDQyMjIxMjZhYTU3OTg3NTM3Y2QyMDI1NDgzMDdmZDMwMzkzNmRlNGFhYjc1MzU4OTQ4ZDQ5Zjc2IiwicmVjb3JkX3NoYTI1NiI6Ijk5ZmIzZTZkNjUyN2NjZWZjODIwNWQ3NTIxNWZmYmE4NjUzMWFmYTMwMjhlNTc5YzNiYzIwNzBiMjNjNDUxYTEifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"iWG4tXV0nomnyXeNdXfF95rTeqt46ZEj2KKBeVPKdWGnGYK1kdcvC2Cg77dBUPBv7qpNvaEMMXklQ4OY9vGfAw=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiODdhMGMxYzk4MGNlZDk4MGI1ZmVjNTA1YmJmYWJlN2QxMzBjYTg4NzlkZjZiNzNiYWI3NDg4ZjAwMDYxZThjNiJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjIsInByZXZpb3VzX3NoYTI1NiI6IjRkZDRhOWZkYmI4OGNkMDU3Y2E2YmVlODRmOTRhMTQ4YjQxMmZkYzMwYTllNmFhZTRhNGJlNmQyYzkyOGE5N2IiLCJlbnRyeV9zaGEyNTYiOiI4N2EwYzFjOTgwY2VkOTgwYjVmZWM1MDViYmZhYmU3ZDEzMGNhODg3OWRmNmI3M2JhYjc0ODhmMDAwNjFlOGM2In19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"FYZoS82SNHRuMETfb3xPAeG+phPdzTaVZS5wKxGAJAo2Cs+mzdbGTZ1POUvMn5uTpiFs6L0ZbGvIvFtkgAJ/BA=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANqxxwKBnB5dGhvbhK8HGRlZiBwYXJzZV92ZXJzaW9uKHYpOgogICAgaWYgJysnIGluIHY6CiAgICAgICAgY29yZSwgYnVpbGQgPSB2LnNwbGl0KCcrJywgMSkKICAgIGVsc2U6CiAgICAgICAgY29yZSA9IHYKICAgICAgICBidWlsZCA9IE5vbmUKICAgIGlmICctJyBpbiBjb3JlOgogICAgICAgIHZlcnNpb25fcGFydCwgcHJlX3BhcnQgPSBjb3JlLnNwbGl0KCctJywgMSkKICAgIGVsc2U6CiAgICAgICAgdmVyc2lvbl9wYXJ0ID0gY29yZQogICAgICAgIHByZV9wYXJ0ID0gTm9uZQogICAgbnVtX3BhcnRzID0gdmVyc2lvbl9wYXJ0LnNwbGl0KCcuJykKICAgIGlmIGxlbihudW1fcGFydHMpICE9IDM6CiAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCB2ZXJzaW9uOiBtdXN0IGhhdmUgZXhhY3RseSB0aHJlZSBudW1lcmljIGNvbXBvbmVudHMiKQogICAgbnVtcyA9IFtdCiAgICBmb3IgcGFydCBpbiBudW1fcGFydHM6CiAgICAgICAgaWYgbm90IHBhcnQ6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkVtcHR5IG51bWVyaWMgY29tcG9uZW50IikKICAgICAgICBpZiBsZW4ocGFydCkgPiAxIGFuZCBwYXJ0WzBdID09ICcwJzoKICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmIkxlYWRpbmcgemVybyBpbiBudW1lcmljIGNvbXBvbmVudDoge3BhcnR9IikKICAgICAgICBpZiBub3QgcGFydC5pc2RpZ2l0KCk6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJOb24tZGlnaXQgaW4gbnVtZXJpYyBjb21wb25lbnQ6IHtwYXJ0fSIpCiAgICAgICAgbnVtcy5hcHBlbmQoaW50KHBhcnQpKQogICAgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IG51bXMKICAgIHByZXJlbGVhc2UgPSBbXQogICAgaWYgcHJlX3BhcnQgaXMgbm90IE5vbmU6CiAgICAgICAgaWRzID0gcHJlX3BhcnQuc3BsaXQoJy4nKQogICAgICAgIGZvciBpZGVuIGluIGlkczoKICAgICAgICAgICAgaWYgbm90IGlkZW46CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBwcmUtcmVsZWFzZSBpZGVudGlmaWVyIikKICAgICAgICAgICAgaWYgbm90IGFsbChjLmlzYWxudW0oKSBvciBjID09ICctJyBmb3IgYyBpbiBpZGVuKToKICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZhbGlkIGNoYXJhY3RlciBpbiBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBpZiBpZGVuLmlzZGlnaXQoKToKICAgICAgICAgICAgICAgIGlmIGxlbihpZGVuKSA+IDEgYW5kIGlkZW5bMF0gPT0gJzAnOgogICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJMZWFkaW5nIHplcm8gaW4gbnVtZXJpYyBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBwcmVyZWxlYXNlLmFwcGVuZChpZGVuKQogICAgYnVpbGRfaWRzID0gW10KICAgIGlmIGJ1aWxkIGlzIG5vdCBOb25lOgogICAgICAgIGlkcyA9IGJ1aWxkLnNwbGl0KCcuJykKICAgICAgICBmb3IgaWRlbiBpbiBpZHM6CiAgICAgICAgICAgIGlmIG5vdCBpZGVuOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgYnVpbGQgaWRlbnRpZmllciIpCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgYnVpbGRfaWRzLmFwcGVuZChpZGVuKQogICAgcmV0dXJuIHsKICAgICAgICAnbWFqb3InOiBtYWpvciwKICAgICAgICAnbWlub3InOiBtaW5vciwKICAgICAgICAncGF0Y2gnOiBwYXRjaCwKICAgICAgICAncHJlcmVsZWFzZSc6IHByZXJlbGVhc2UsCiAgICAgICAgJ2J1aWxkJzogYnVpbGRfaWRzCiAgICB9CgpkZWYgc2VtdmVyX2NvbXBhcmUoYSwgYik6CiAgICB2YSA9IHBhcnNlX3ZlcnNpb24oYSkKICAgIHZiID0gcGFyc2VfdmVyc2lvbihiKQogICAgaWYgdmFbJ21ham9yJ10gIT0gdmJbJ21ham9yJ106CiAgICAgICAgcmV0dXJuIC0xIGlmIHZhWydtYWpvciddIDwgdmJbJ21ham9yJ10gZWxzZSAxCiAgICBpZiB2YVsnbWlub3InXSAhPSB2YlsnbWlub3InXToKICAgICAgICByZXR1cm4gLTEgaWYgdmFbJ21pbm9yJ10gPCB2YlsnbWlub3InXSBlbHNlIDEKICAgIGlmIHZhWydwYXRjaCddICE9IHZiWydwYXRjaCddOgogICAgICAgIHJldHVybiAtMSBpZiB2YVsncGF0Y2gnXSA8IHZiWydwYXRjaCddIGVsc2UgMQogICAgYV9wciA9IHZhWydwcmVyZWxlYXNlJ10KICAgIGJfcHIgPSB2YlsncHJlcmVsZWFzZSddCiAgICBpZiBhX3ByIGlzIE5vbmUgYW5kIGJfcHIgaXMgTm9uZToKICAgICAgICByZXR1cm4gMAogICAgaWYgYV9wciBpcyBub3QgTm9uZSBhbmQgYl9wciBpcyBOb25lOgogICAgICAgIHJldHVybiAtMQogICAgaWYgYV9wciBpcyBOb25lIGFuZCBiX3ByIGlzIG5vdCBOb25lOgogICAgICAgIHJldHVybiAxCiAgICBtYXhfbGVuID0gbWF4KGxlbihhX3ByKSwgbGVuKGJfcHIpKQogICAgZm9yIGkgaW4gcmFuZ2UobWF4X2xlbik6CiAgICAgICAgYV9pZCA9IGFfcHJbaV0gaWYgaSA8IGxlbihhX3ByKSBlbHNlIE5vbmUKICAgICAgICBiX2lkID0gYl9wcltpXSBpZiBpIDwgbGVuKGJfcHIpIGVsc2UgTm9uZQogICAgICAgIGlmIGFfaWQgaXMgbm90IE5vbmUgYW5kIGJfaWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIGFfZGlnaXQgPSBhX2lkLmlzZGlnaXQoKQogICAgICAgICAgICBiX2RpZ2l0ID0gYl9pZC5pc2RpZ2l0KCkKICAgICAgICAgICAgaWYgYV9kaWdpdCBhbmQgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA8IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA+IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICBlbGlmIG5vdCBhX2RpZ2l0IGFuZCBub3QgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGFfaWQgPCBiX2lkOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICAgICAgaWYgYV9pZCA+IGJfaWQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIGlmIGFfZGlnaXQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYgYV9pZCBpcyBOb25lIGFuZCBiX2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgIGlmIGJfaWQgaXMgTm9uZSBhbmQgYV9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICByZXR1cm4gMAoKcHJpbnQoc2VtdmVyX2NvbXBhcmUoIjEuMC4wLWFscGhhIiwgIjEuMC4wIikp","response":"CgZkb2NrZXISBmtlcm5lbBh2IqQECAQSQGU3NzM0NzljMzljZDJkZTZiNTJhZmZjZThhOTQ3MGFiZDhmMGRkMjdhMTM5ZDZkOTYzMjQyZTU3MjNlNGMzMGEaQDU5ZmZjYWY1MWNjYzg4N2VhMWYwNWI2ZTUyZWE0NzIzNjNiNmY2MjU2NzM4MTU5MWFjMTcxMWMxZjJlMzQ3N2UiBmRvY2tlcioGa2VybmVsMlRkb2NrZXItaW1hZ2U6c2hhMjU2OjQ4NjY2YzE0YjM4N2MxZjhhYzI2MzNkYmZkMzJhM2JiMTE4MzY5ZjM1ZTBkMDMxOWU2NmYyZmEwZjNlYzkxNzFAreP8+Zc0SLjm/PmXNFJAZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmY1gDYkA5OWZiM2U2ZDY1MjdjY2VmYzgyMDVkNzUyMTVmZmJhODY1MzFhZmEzMDI4ZTU3OWMzYmMyMDcwYjIzYzQ1MWExakBiYTJlMGU2NTcwOWZkMDFkOTQ0ZmE3NGViNjU3NjY2OTUxNzcxNWM1MmFlMGUzZDIxN2Y5ZTQ5OWM1MWM3NWJicmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgqYG9jaS1tYW5pZmVzdDpsaW51eC9hbWQ2NEBzaGEyNTY6Y2U0YzczMmU2MjZjZTBjMzFkNDMwM2E1NWZiM2I4Mzc4MWUzMjk4NDAzZTFmMDdmYTVhYmYxMThjMTYwNDNlODJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxagQKAjEK","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiJiYTJlMGU2NTcwOWZkMDFkOTQ0ZmE3NGViNjU3NjY2OTUxNzcxNWM1MmFlMGUzZDIxN2Y5ZTQ5OWM1MWM3NWJiIn19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiZTc3MzQ3OWMzOWNkMmRlNmI1MmFmZmNlOGE5NDcwYWJkOGYwZGQyN2ExMzlkNmQ5NjMyNDJlNTcyM2U0YzMwYSIsInJlc3VsdF9zaGEyNTYiOiI1OWZmY2FmNTFjY2M4ODdlYTFmMDViNmU1MmVhNDcyMzYzYjZmNjI1NjczODE1OTFhYzE3MTFjMWYyZTM0NzdlIiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2MjEwMzQ5LCJlbmRlZF91bml4X21zIjoxNzkzMTM2MjEwNzQ0LCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjozLCJwcmV2aW91c19zaGEyNTYiOiI5OWZiM2U2ZDY1MjdjY2VmYzgyMDVkNzUyMTVmZmJhODY1MzFhZmEzMDI4ZTU3OWMzYmMyMDcwYjIzYzQ1MWExIiwicmVjb3JkX3NoYTI1NiI6ImJhMmUwZTY1NzA5ZmQwMWQ5NDRmYTc0ZWI2NTc2NjY5NTE3NzE1YzUyYWUwZTNkMjE3ZjllNDk5YzUxYzc1YmIifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"kddwMD+vnd5pFrYX6LuSDKFJ54wX8e0Ufkp2UZygOAE8BujG2bdF5eDtr4IJ3bo36R++uISQ7ByzFS/4QvjoDg=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiMWM0ZDEwODQ3NWQyN2E2MWYwMmZjNWJkOTZmZDNiNjNiYjFkNzNlYTE4ZDdjZTVmOGMxMmFkMTU3MDVjMmU1ZSJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjMsInByZXZpb3VzX3NoYTI1NiI6IjRkNmUyZjNkYjkyOTQwM2RkOGQ4YzZhYjk1NjU5MjI1YzQzODRmYmU2NGM4NGMxZjE0NjA5MGM0YWYxZmVhZWIiLCJlbnRyeV9zaGEyNTYiOiIxYzRkMTA4NDc1ZDI3YTYxZjAyZmM1YmQ5NmZkM2I2M2JiMWQ3M2VhMThkN2NlNWY4YzEyYWQxNTcwNWMyZTVlIn19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"i0H3uOIghBoo7+IoW/0ZEdMaSrKQPpCVrB9XdAWtPJQDE145LR7WPRlOA0bFzIMKcl9mSqL573O18LQdqE/zBQ=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANqyxAKBnB5dGhvbhLAEGRlZiBwYXJzZV92ZXJzaW9uKHYpOgogICAgaWYgJysnIGluIHY6CiAgICAgICAgY29yZSwgYnVpbGQgPSB2LnNwbGl0KCcrJywgMSkKICAgIGVsc2U6CiAgICAgICAgY29yZSA9IHYKICAgICAgICBidWlsZCA9IE5vbmUKICAgIGlmICctJyBpbiBjb3JlOgogICAgICAgIHZlcnNpb25fcGFydCwgcHJlX3BhcnQgPSBjb3JlLnNwbGl0KCctJywgMSkKICAgIGVsc2U6CiAgICAgICAgdmVyc2lvbl9wYXJ0ID0gY29yZQogICAgICAgIHByZV9wYXJ0ID0gTm9uZQogICAgbnVtX3BhcnRzID0gdmVyc2lvbl9wYXJ0LnNwbGl0KCcuJykKICAgIGlmIGxlbihudW1fcGFydHMpICE9IDM6CiAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCB2ZXJzaW9uOiBtdXN0IGhhdmUgZXhhY3RseSB0aHJlZSBudW1lcmljIGNvbXBvbmVudHMiKQogICAgbnVtcyA9IFtdCiAgICBmb3IgcGFydCBpbiBudW1fcGFydHM6CiAgICAgICAgaWYgbm90IHBhcnQ6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkVtcHR5IG51bWVyaWMgY29tcG9uZW50IikKICAgICAgICBpZiBsZW4ocGFydCkgPiAxIGFuZCBwYXJ0WzBdID09ICcwJzoKICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmIkxlYWRpbmcgemVybyBpbiBudW1lcmljIGNvbXBvbmVudDoge3BhcnR9IikKICAgICAgICBpZiBub3QgcGFydC5pc2RpZ2l0KCk6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJOb24tZGlnaXQgaW4gbnVtZXJpYyBjb21wb25lbnQ6IHtwYXJ0fSIpCiAgICAgICAgbnVtcy5hcHBlbmQoaW50KHBhcnQpKQogICAgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IG51bXMKICAgIHByZXJlbGVhc2UgPSBbXQogICAgaWYgcHJlX3BhcnQgaXMgbm90IE5vbmU6CiAgICAgICAgaWRzID0gcHJlX3BhcnQuc3BsaXQoJy4nKQogICAgICAgIGZvciBpZGVuIGluIGlkczoKICAgICAgICAgICAgaWYgbm90IGlkZW46CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBwcmUtcmVsZWFzZSBpZGVudGlmaWVyIikKICAgICAgICAgICAgaWYgbm90IGFsbChjLmlzYWxudW0oKSBvciBjID09ICctJyBmb3IgYyBpbiBpZGVuKToKICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZhbGlkIGNoYXJhY3RlciBpbiBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBpZiBpZGVuLmlzZGlnaXQoKToKICAgICAgICAgICAgICAgIGlmIGxlbihpZGVuKSA+IDEgYW5kIGlkZW5bMF0gPT0gJzAnOgogICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJMZWFkaW5nIHplcm8gaW4gbnVtZXJpYyBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBwcmVyZWxlYXNlLmFwcGVuZChpZGVuKQogICAgYnVpbGRfaWRzID0gW10KICAgIGlmIGJ1aWxkIGlzIG5vdCBOb25lOgogICAgICAgIGlkcyA9IGJ1aWxkLnNwbGl0KCcuJykKICAgICAgICBmb3IgaWRlbiBpbiBpZHM6CiAgICAgICAgICAgIGlmIG5vdCBpZGVuOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgYnVpbGQgaWRlbnRpZmllciIpCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgYnVpbGRfaWRzLmFwcGVuZChpZGVuKQogICAgcmV0dXJuIHsKICAgICAgICAnbWFqb3InOiBtYWpvciwKICAgICAgICAnbWlub3InOiBtaW5vciwKICAgICAgICAncGF0Y2gnOiBwYXRjaCwKICAgICAgICAncHJlcmVsZWFzZSc6IHByZXJlbGVhc2UsCiAgICAgICAgJ2J1aWxkJzogYnVpbGRfaWRzCiAgICB9CgpwcmludChwYXJzZV92ZXJzaW9uKCIxLjAuMC1hbHBoYSIpKQ==","response":"CgZkb2NrZXISBmtlcm5lbBgZIqQECAQSQDIyYTRhZThjYzg3NGNlOWYxZTE3Zjk1YWNlYTQ2OGZmMzFjOTU3MzZkZjI0ODlhMzViZWJmYzFmYTVjMGQ5ZGMaQGM4NzZmNjMyZDU1OGU0NWQyMjhiNTFmOTM2NTE4NmExZjQ1NzQxZGQ3MTE3OGIzMGE4YTQyZDZiNzM3OThiMTYiBmRvY2tlcioGa2VybmVsMlRkb2NrZXItaW1hZ2U6c2hhMjU2OjQ4NjY2YzE0YjM4N2MxZjhhYzI2MzNkYmZkMzJhM2JiMTE4MzY5ZjM1ZTBkMDMxOWU2NmYyZmEwZjNlYzkxNzFA/sP9+Zc0SMzE/fmXNFJAZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmY1gEYkBiYTJlMGU2NTcwOWZkMDFkOTQ0ZmE3NGViNjU3NjY2OTUxNzcxNWM1MmFlMGUzZDIxN2Y5ZTQ5OWM1MWM3NWJiakA0ZmMzNDI5MjJmYWQyYjc4NmE4NjI3YTRmODFmZGQ0ZjNkNzA4OWRiODgzNTljMWMzOGI0MDVmNjBhNmQ5MzE3cmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgqYG9jaS1tYW5pZmVzdDpsaW51eC9hbWQ2NEBzaGEyNTY6Y2U0YzczMmU2MjZjZTBjMzFkNDMwM2E1NWZiM2I4Mzc4MWUzMjk4NDAzZTFmMDdmYTVhYmYxMThjMTYwNDNlODJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxak0KS3snbWFqb3InOiAxLCAnbWlub3InOiAwLCAncGF0Y2gnOiAwLCAncHJlcmVsZWFzZSc6IFsnYWxwaGEnXSwgJ2J1aWxkJzogW119Cg==","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiI0ZmMzNDI5MjJmYWQyYjc4NmE4NjI3YTRmODFmZGQ0ZjNkNzA4OWRiODgzNTljMWMzOGI0MDVmNjBhNmQ5MzE3In19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiMjJhNGFlOGNjODc0Y2U5ZjFlMTdmOTVhY2VhNDY4ZmYzMWM5NTczNmRmMjQ4OWEzNWJlYmZjMWZhNWMwZDlkYyIsInJlc3VsdF9zaGEyNTYiOiJjODc2ZjYzMmQ1NThlNDVkMjI4YjUxZjkzNjUxODZhMWY0NTc0MWRkNzExNzhiMzBhOGE0MmQ2YjczNzk4YjE2IiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2MjIyNzE4LCJlbmRlZF91bml4X21zIjoxNzkzMTM2MjIyNzk2LCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjo0LCJwcmV2aW91c19zaGEyNTYiOiJiYTJlMGU2NTcwOWZkMDFkOTQ0ZmE3NGViNjU3NjY2OTUxNzcxNWM1MmFlMGUzZDIxN2Y5ZTQ5OWM1MWM3NWJiIiwicmVjb3JkX3NoYTI1NiI6IjRmYzM0MjkyMmZhZDJiNzg2YTg2MjdhNGY4MWZkZDRmM2Q3MDg5ZGI4ODM1OWMxYzM4YjQwNWY2MGE2ZDkzMTcifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"ogyeIdZw6ryLLb4Tw00Gh7fFJmhMvZTCkrjM6PP70JC74mb1Ie0SeLFgZjDNDpEhddUD/71z57nH8fcP4LtoAQ=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiMGZiMGE3YTlkNzJhODgxOGIxN2Y0YjM3ZGE5ZmY0NDRjYWE2NWQxNGU5MDk4MWU4NTMyYWU0MWYwMWFiZjg4YyJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjQsInByZXZpb3VzX3NoYTI1NiI6IjZkNjE2OGEzZDI3NTAyZWExYjk2ODUyZGJkMDNjNjQxMDA5MTFhNjIyYjQxYTUwOTk0MDM1OTMyNmJjYzkzZWMiLCJlbnRyeV9zaGEyNTYiOiIwZmIwYTdhOWQ3MmE4ODE4YjE3ZjRiMzdkYTlmZjQ0NGNhYTY1ZDE0ZTkwOTgxZTg1MzJhZTQxZjAxYWJmODhjIn19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"XRj3pwexFYHwyxG/Mh9mNrwkcLo0pa5H8iMRiZBJOLc7OIHrHHOvIgpKHL7EkA9PouiMOTrYS2I1YzQd0+hvAw=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANq/A0KBnB5dGhvbhLxDWRlZiBzZW12ZXJfY29tcGFyZV9kZWJ1ZyhhLCBiKToKICAgIHZhID0gcGFyc2VfdmVyc2lvbihhKQogICAgdmIgPSBwYXJzZV92ZXJzaW9uKGIpCiAgICBwcmludCgidmE6IiwgdmEpCiAgICBwcmludCgidmI6IiwgdmIpCiAgICBpZiB2YVsnbWFqb3InXSAhPSB2YlsnbWFqb3InXToKICAgICAgICByZXR1cm4gLTEgaWYgdmFbJ21ham9yJ10gPCB2YlsnbWFqb3InXSBlbHNlIDEKICAgIGlmIHZhWydtaW5vciddICE9IHZiWydtaW5vciddOgogICAgICAgIHJldHVybiAtMSBpZiB2YVsnbWlub3InXSA8IHZiWydtaW5vciddIGVsc2UgMQogICAgaWYgdmFbJ3BhdGNoJ10gIT0gdmJbJ3BhdGNoJ106CiAgICAgICAgcmV0dXJuIC0xIGlmIHZhWydwYXRjaCddIDwgdmJbJ3BhdGNoJ10gZWxzZSAxCiAgICBhX3ByID0gdmFbJ3ByZXJlbGVhc2UnXQogICAgYl9wciA9IHZiWydwcmVyZWxlYXNlJ10KICAgIHByaW50KCJhX3ByOiIsIGFfcHIsICJiX3ByOiIsIGJfcHIpCiAgICBpZiBhX3ByIGlzIE5vbmUgYW5kIGJfcHIgaXMgTm9uZToKICAgICAgICByZXR1cm4gMAogICAgaWYgYV9wciBpcyBub3QgTm9uZSBhbmQgYl9wciBpcyBOb25lOgogICAgICAgIHByaW50KCJyZXR1cm4gLTEgY2FzZSIpCiAgICAgICAgcmV0dXJuIC0xCiAgICBpZiBhX3ByIGlzIE5vbmUgYW5kIGJfcHIgaXMgbm90IE5vbmU6CiAgICAgICAgcmV0dXJuIDEKICAgIHByaW50KCJib3RoIGhhdmUgcHJlcmVsZWFzZSIpCiAgICBtYXhfbGVuID0gbWF4KGxlbihhX3ByKSwgbGVuKGJfcHIpKQogICAgZm9yIGkgaW4gcmFuZ2UobWF4X2xlbik6CiAgICAgICAgYV9pZCA9IGFfcHJbaV0gaWYgaSA8IGxlbihhX3ByKSBlbHNlIE5vbmUKICAgICAgICBiX2lkID0gYl9wcltpXSBpZiBpIDwgbGVuKGJfcHIpIGVsc2UgTm9uZQogICAgICAgIHByaW50KCJpIiwgaSwgImFfaWQiLCBhX2lkLCAiYl9pZCIsIGJfaWQpCiAgICAgICAgaWYgYV9pZCBpcyBub3QgTm9uZSBhbmQgYl9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgYV9kaWdpdCA9IGFfaWQuaXNkaWdpdCgpCiAgICAgICAgICAgIGJfZGlnaXQgPSBiX2lkLmlzZGlnaXQoKQogICAgICAgICAgICBpZiBhX2RpZ2l0IGFuZCBiX2RpZ2l0OgogICAgICAgICAgICAgICAgaWYgaW50KGFfaWQpIDwgaW50KGJfaWQpOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICAgICAgaWYgaW50KGFfaWQpID4gaW50KGJfaWQpOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgIGVsaWYgbm90IGFfZGlnaXQgYW5kIG5vdCBiX2RpZ2l0OgogICAgICAgICAgICAgICAgaWYgYV9pZCA8IGJfaWQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgICAgICBpZiBhX2lkID4gYl9pZDoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgaWYgYV9kaWdpdDoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiBhX2lkIGlzIE5vbmUgYW5kIGJfaWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgaWYgYl9pZCBpcyBOb25lIGFuZCBhX2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgIHJldHVybiAwCgpwcmludChzZW12ZXJfY29tcGFyZV9kZWJ1ZygiMS4wLjAtYWxwaGEiLCAiMS4wLjAiKSk=","response":"CgZkb2NrZXISBmtlcm5lbBgIIqQECAQSQDFiNWMxOWZjMTZjMjQ3NjNiOThjMWRiZjZiMDdhMGVhN2Y5N2M4OTNiMDBkNGY5MDk3MGE2Njc3ODAzMDE0YTMaQDE3YzQyM2EwMWVjNjNjZWM4Mzc0YzQ3Yzc4MTcxOTJiODZkNmVmMjMyNGY2NmRkNGIxYmYxMTQ3ODkyZTI5ZDAiBmRvY2tlcioGa2VybmVsMlRkb2NrZXItaW1hZ2U6c2hhMjU2OjQ4NjY2YzE0YjM4N2MxZjhhYzI2MzNkYmZkMzJhM2JiMTE4MzY5ZjM1ZTBkMDMxOWU2NmYyZmEwZjNlYzkxNzFA5ZX++Zc0SJiW/vmXNFJAZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmY1gFYkA0ZmMzNDI5MjJmYWQyYjc4NmE4NjI3YTRmODFmZGQ0ZjNkNzA4OWRiODgzNTljMWMzOGI0MDVmNjBhNmQ5MzE3akAyYzg2NTJkNzk3MjVmZTQ2Y2NmNmUwYjcxMGRmMTY1ZjFjYmNiNmQ4NzMwMzI1M2MxZTYzZWNjZjYyMTE0ZWQ2cmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgqYG9jaS1tYW5pZmVzdDpsaW51eC9hbWQ2NEBzaGEyNTY6Y2U0YzczMmU2MjZjZTBjMzFkNDMwM2E1NWZiM2I4Mzc4MWUzMjk4NDAzZTFmMDdmYTVhYmYxMThjMTYwNDNlODJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxauMBCuABdmE6IHsnbWFqb3InOiAxLCAnbWlub3InOiAwLCAncGF0Y2gnOiAwLCAncHJlcmVsZWFzZSc6IFsnYWxwaGEnXSwgJ2J1aWxkJzogW119CnZiOiB7J21ham9yJzogMSwgJ21pbm9yJzogMCwgJ3BhdGNoJzogMCwgJ3ByZXJlbGVhc2UnOiBbXSwgJ2J1aWxkJzogW119CmFfcHI6IFsnYWxwaGEnXSBiX3ByOiBbXQpib3RoIGhhdmUgcHJlcmVsZWFzZQppIDAgYV9pZCBhbHBoYSBiX2lkIE5vbmUKMQo=","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiIyYzg2NTJkNzk3MjVmZTQ2Y2NmNmUwYjcxMGRmMTY1ZjFjYmNiNmQ4NzMwMzI1M2MxZTYzZWNjZjYyMTE0ZWQ2In19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiMWI1YzE5ZmMxNmMyNDc2M2I5OGMxZGJmNmIwN2EwZWE3Zjk3Yzg5M2IwMGQ0ZjkwOTcwYTY2Nzc4MDMwMTRhMyIsInJlc3VsdF9zaGEyNTYiOiIxN2M0MjNhMDFlYzYzY2VjODM3NGM0N2M3ODE3MTkyYjg2ZDZlZjIzMjRmNjZkZDRiMWJmMTE0Nzg5MmUyOWQwIiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2MjMzMTg5LCJlbmRlZF91bml4X21zIjoxNzkzMTM2MjMzMjQwLCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjo1LCJwcmV2aW91c19zaGEyNTYiOiI0ZmMzNDI5MjJmYWQyYjc4NmE4NjI3YTRmODFmZGQ0ZjNkNzA4OWRiODgzNTljMWMzOGI0MDVmNjBhNmQ5MzE3IiwicmVjb3JkX3NoYTI1NiI6IjJjODY1MmQ3OTcyNWZlNDZjY2Y2ZTBiNzEwZGYxNjVmMWNiY2I2ZDg3MzAzMjUzYzFlNjNlY2NmNjIxMTRlZDYifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"UGsJIj57tL8LKfPmHDU7HxD4slsejP/BR3C2UZX7FGv0hFTTDLtjrvFppoDMDEESI+tkj9TPunjn/Q6DynBLCg=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiZjAyYzE3ODNiN2JjMjNhZDQ4ZmZjM2Y2ZGMyZjQ5NGQ0ZDIwMGU0YWMxMThmNTQyODBiZjQ2MmNkZmFlNjliYSJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjUsInByZXZpb3VzX3NoYTI1NiI6IjExMWQ3MTEyMWFkMmQwNjBlMzYyYjhmMDUxZmFkZWQ5ZjU2OGM4YjExZmNjY2E4ZjkyNDliNjdkMjEwNGNkNzAiLCJlbnRyeV9zaGEyNTYiOiJmMDJjMTc4M2I3YmMyM2FkNDhmZmMzZjZkYzJmNDk0ZDRkMjAwZTRhYzExOGY1NDI4MGJmNDYyY2RmYWU2OWJhIn19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"S2HWvcM9r1VDsV+gNx6xoWEhGIf8kISB57kugLFG+I/iOmq3O66Pvxidw8wwl8ZKyF7lF/8vkie0PlQgnzUODQ=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANqqy4KBnB5dGhvbhKgLmRlZiBwYXJzZV92ZXJzaW9uKHYpOgogICAgaWYgJysnIGluIHY6CiAgICAgICAgY29yZSwgYnVpbGQgPSB2LnNwbGl0KCcrJywgMSkKICAgIGVsc2U6CiAgICAgICAgY29yZSA9IHYKICAgICAgICBidWlsZCA9IE5vbmUKICAgIGlmICctJyBpbiBjb3JlOgogICAgICAgIHZlcnNpb25fcGFydCwgcHJlX3BhcnQgPSBjb3JlLnNwbGl0KCctJywgMSkKICAgIGVsc2U6CiAgICAgICAgdmVyc2lvbl9wYXJ0ID0gY29yZQogICAgICAgIHByZV9wYXJ0ID0gTm9uZQogICAgbnVtX3BhcnRzID0gdmVyc2lvbl9wYXJ0LnNwbGl0KCcuJykKICAgIGlmIGxlbihudW1fcGFydHMpICE9IDM6CiAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCB2ZXJzaW9uOiBtdXN0IGhhdmUgZXhhY3RseSB0aHJlZSBudW1lcmljIGNvbXBvbmVudHMiKQogICAgbnVtcyA9IFtdCiAgICBmb3IgcGFydCBpbiBudW1fcGFydHM6CiAgICAgICAgaWYgbm90IHBhcnQ6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkVtcHR5IG51bWVyaWMgY29tcG9uZW50IikKICAgICAgICBpZiBsZW4ocGFydCkgPiAxIGFuZCBwYXJ0WzBdID09ICcwJzoKICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmIkxlYWRpbmcgemVybyBpbiBudW1lcmljIGNvbXBvbmVudDoge3BhcnR9IikKICAgICAgICBpZiBub3QgcGFydC5pc2RpZ2l0KCk6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJOb24tZGlnaXQgaW4gbnVtZXJpYyBjb21wb25lbnQ6IHtwYXJ0fSIpCiAgICAgICAgbnVtcy5hcHBlbmQoaW50KHBhcnQpKQogICAgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IG51bXMKICAgIHByZXJlbGVhc2UgPSBbXQogICAgaWYgcHJlX3BhcnQgaXMgbm90IE5vbmU6CiAgICAgICAgaWRzID0gcHJlX3BhcnQuc3BsaXQoJy4nKQogICAgICAgIGZvciBpZGVuIGluIGlkczoKICAgICAgICAgICAgaWYgbm90IGlkZW46CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBwcmUtcmVsZWFzZSBpZGVudGlmaWVyIikKICAgICAgICAgICAgaWYgbm90IGFsbChjLmlzYWxudW0oKSBvciBjID09ICctJyBmb3IgYyBpbiBpZGVuKToKICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZhbGlkIGNoYXJhY3RlciBpbiBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBpZiBpZGVuLmlzZGlnaXQoKToKICAgICAgICAgICAgICAgIGlmIGxlbihpZGVuKSA+IDEgYW5kIGlkZW5bMF0gPT0gJzAnOgogICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJMZWFkaW5nIHplcm8gaW4gbnVtZXJpYyBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBwcmVyZWxlYXNlLmFwcGVuZChpZGVuKQogICAgYnVpbGRfaWRzID0gW10KICAgIGlmIGJ1aWxkIGlzIG5vdCBOb25lOgogICAgICAgIGlkcyA9IGJ1aWxkLnNwbGl0KCcuJykKICAgICAgICBmb3IgaWRlbiBpbiBpZHM6CiAgICAgICAgICAgIGlmIG5vdCBpZGVuOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgYnVpbGQgaWRlbnRpZmllciIpCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgYnVpbGRfaWRzLmFwcGVuZChpZGVuKQogICAgcmV0dXJuIHsKICAgICAgICAnbWFqb3InOiBtYWpvciwKICAgICAgICAnbWlub3InOiBtaW5vciwKICAgICAgICAncGF0Y2gnOiBwYXRjaCwKICAgICAgICAncHJlcmVsZWFzZSc6IHByZXJlbGVhc2UsCiAgICAgICAgJ2J1aWxkJzogYnVpbGRfaWRzCiAgICB9CgpkZWYgc2VtdmVyX2NvbXBhcmUoYSwgYik6CiAgICB2YSA9IHBhcnNlX3ZlcnNpb24oYSkKICAgIHZiID0gcGFyc2VfdmVyc2lvbihiKQoKICAgICMgQ29tcGFyZSBtYWpvciwgbWlub3IsIHBhdGNoIG51bWVyaWNhbGx5CiAgICBpZiB2YVsnbWFqb3InXSAhPSB2YlsnbWFqb3InXToKICAgICAgICByZXR1cm4gLTEgaWYgdmFbJ21ham9yJ10gPCB2YlsnbWFqb3InXSBlbHNlIDEKICAgIGlmIHZhWydtaW5vciddICE9IHZiWydtaW5vciddOgogICAgICAgIHJldHVybiAtMSBpZiB2YVsnbWlub3InXSA8IHZiWydtaW5vciddIGVsc2UgMQogICAgaWYgdmFbJ3BhdGNoJ10gIT0gdmJbJ3BhdGNoJ106CiAgICAgICAgcmV0dXJuIC0xIGlmIHZhWydwYXRjaCddIDwgdmJbJ3BhdGNoJ10gZWxzZSAxCgogICAgYV9wciA9IHZhWydwcmVyZWxlYXNlJ10KICAgIGJfcHIgPSB2YlsncHJlcmVsZWFzZSddCgogICAgIyBCb3RoIHdpdGhvdXQgcHJlcmVsZWFzZSBpZGVudGlmaWVycyA9PiBlcXVhbAogICAgaWYgbm90IGFfcHIgYW5kIG5vdCBiX3ByOgogICAgICAgIHJldHVybiAwCiAgICAjIGEgaGFzIHByZXJlbGVhc2UsIGIgZG9lcyBub3QgPT4gYSBsb3dlcgogICAgaWYgYV9wciBhbmQgbm90IGJfcHI6CiAgICAgICAgcmV0dXJuIC0xCiAgICAjIGIgaGFzIHByZXJlbGVhc2UsIGEgZG9lcyBub3QgPT4gYSBoaWdoZXIKICAgIGlmIG5vdCBhX3ByIGFuZCBiX3ByOgogICAgICAgIHJldHVybiAxCgogICAgIyBCb3RoIGhhdmUgcHJlcmVsZWFzZSwgY29tcGFyZSBpZGVudGlmaWVyIGJ5IGlkZW50aWZpZXIKICAgIG1heF9sZW4gPSBtYXgobGVuKGFfcHIpLCBsZW4oYl9wcikpCiAgICBmb3IgaSBpbiByYW5nZShtYXhfbGVuKToKICAgICAgICBhX2lkID0gYV9wcltpXSBpZiBpIDwgbGVuKGFfcHIpIGVsc2UgTm9uZQogICAgICAgIGJfaWQgPSBiX3ByW2ldIGlmIGkgPCBsZW4oYl9wcikgZWxzZSBOb25lCgogICAgICAgIGlmIGFfaWQgaXMgbm90IE5vbmUgYW5kIGJfaWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIGFfZGlnaXQgPSBhX2lkLmlzZGlnaXQoKQogICAgICAgICAgICBiX2RpZ2l0ID0gYl9pZC5pc2RpZ2l0KCkKICAgICAgICAgICAgaWYgYV9kaWdpdCBhbmQgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA8IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA+IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICBlbGlmIG5vdCBhX2RpZ2l0IGFuZCBub3QgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGFfaWQgPCBiX2lkOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICAgICAgaWYgYV9pZCA+IGJfaWQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICMgb25lIGRpZ2l0LCBvbmUgbm90OiBkaWdpdCBpcyBsb3dlcgogICAgICAgICAgICAgICAgaWYgYV9kaWdpdDoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICBlbHNlOgogICAgICAgICAgICAjIE9uZSBvZiB0aGVtIGlzIE5vbmUgKGkuZS4sIHdlIGV4aGF1c3RlZCBpZGVudGlmaWVycykKICAgICAgICAgICAgaWYgYV9pZCBpcyBOb25lIGFuZCBiX2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgIGlmIGJfaWQgaXMgTm9uZSBhbmQgYV9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICMgYm90aCBOb25lIHNob3VsZCBub3QgaGFwcGVuOyBjb250aW51ZQoKICAgICMgQWxsIGNvbXBhcmVkIGlkZW50aWZpZXJzIGVxdWFsCiAgICByZXR1cm4gMAoKZGVmIHJ1bl90ZXN0cygpOgogICAgZmFpbHVyZXMgPSBbXQoKICAgICMgTm9ybWFsIGNhc2VzIHdpdGggZXhwZWN0ZWQgcmVzdWx0cyAoaW5jbHVkaW5nIHRoZSBleGFtcGxlcyBmcm9tIHRoZSBwcm9tcHQpCiAgICBub3JtYWxfY2FzZXMgPSBbCiAgICAgICAgKCIxLjAuMCIsICIyLjAuMCIsIC0xKSwKICAgICAgICAoIjIuMS4xIiwgIjIuMS4wIiwgMSksCiAgICAgICAgKCIxLjAuMC1hbHBoYSIsICIxLjAuMCIsIC0xKSwKICAgICAgICAoIjEuMC4wLWFscGhhLjEiLCAiMS4wLjAtYWxwaGEuYmV0YSIsIC0xKSwKICAgICAgICAoIjEuMC4wK2J1aWxkLjUiLCAiMS4wLjAiLCAwKSwKICAgICAgICAoIjEuMC4wIiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIwLjAuMSIsICIwLjAuMCIsIDEpLAogICAgICAgICgiMS4wLjAtYmV0YSIsICIxLjAuMC1hbHBoYSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMTAiLCAtMSksCiAgICAgICAgKCIxLjAuMC0xLjIiLCAiMS4wLjAtMSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMi4zIiwgLTEpLAogICAgICAgICgiMS4wLjArYnVpbGQuNSIsICIxLjAuMCtidWlsZC42IiwgMCksCiAgICAgICAgKCIxLjAuMCtidWlsZC41IiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIxLjAuMC1yYy4xIiwgIjEuMC4wLXJjLjAiLCAxKSwKICAgICAgICAoIjEuMC4wLXJjLjEiLCAiMS4wLjAtcmMuMS4wIiwgLTEpLAogICAgXQoKICAgIGZvciBhLCBiLCBleHAgaW4gbm9ybWFsX2Nhc2VzOgogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzID0gc2VtdmVyX2NvbXBhcmUoYSwgYikKICAgICAgICAgICAgaWYgcmVzICE9IGV4cDoKICAgICAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkZBSUw6IHthfSB2cyB7Yn0gZXhwZWN0ZWQge2V4cH0gZ290IHtyZXN9IikKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHJhaXNlZCB7ZX0iKQoKICAgICMgQ2FzZXMgdGhhdCBzaG91bGQgcmFpc2UgVmFsdWVFcnJvcgogICAgZXJyb3JfY2FzZXMgPSBbCiAgICAgICAgKCIxLjAiLCAiMS4wLjAiKSwKICAgICAgICAoIjAxLjAuMCIsICIxLjAuMCIpLAogICAgICAgICgiMS4wLjAtMDEiLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLSsiLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLi4iLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLSIsICIxLjAuMCIpLAogICAgICAgICgiMS4wLjAtLi0iLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLWFiYy4iLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLWFiYy5kZWYiLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLWFiYy5kZWYrYnVpbGQiKSwKICAgIF0KCiAgICBmb3IgYSwgYiBpbiBlcnJvcl9jYXNlczoKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJlcyA9IHNlbXZlcl9jb21wYXJlKGEsIGIpCiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHNob3VsZCBoYXZlIHJhaXNlZCBWYWx1ZUVycm9yIGJ1dCByZXR1cm5lZCB7cmVzfSIpCiAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgIHBhc3MgICMgZXhwZWN0ZWQKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHJhaXNlZCB1bmV4cGVjdGVkIHtlfSIpCgogICAgaWYgZmFpbHVyZXM6CiAgICAgICAgZm9yIGYgaW4gZmFpbHVyZXM6CiAgICAgICAgICAgIHByaW50KGYpCiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICBlbHNlOgogICAgICAgIHByaW50KCJBTEwgVEVTVFMgUEFTU0VEIikKICAgICAgICByZXR1cm4gVHJ1ZQoKcnVuX3Rlc3RzKCk=","response":"CgZkb2NrZXISBmtlcm5lbBgOIqQECAQSQDEyMzk3YmQxYjNkNDNhNDJkZjIzMmZlMjI0Mjg3Y2U0ODAwMDlkNGEzNDFlNjQwNTQzZGE0OGYxYzU1Nzk5YTAaQDg1N2JkN2U1NTlmODBkZjQxOGY1MWQ0MTMyOTk1MTAwZGZmMDczZjA4YTI1NWY0ZTJlMzJiZTFkMGIwOGRiNjQiBmRvY2tlcioGa2VybmVsMlRkb2NrZXItaW1hZ2U6c2hhMjU2OjQ4NjY2YzE0YjM4N2MxZjhhYzI2MzNkYmZkMzJhM2JiMTE4MzY5ZjM1ZTBkMDMxOWU2NmYyZmEwZjNlYzkxNzFA/euA+pc0SLXsgPqXNFJAZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmY1gGYkAyYzg2NTJkNzk3MjVmZTQ2Y2NmNmUwYjcxMGRmMTY1ZjFjYmNiNmQ4NzMwMzI1M2MxZTYzZWNjZjYyMTE0ZWQ2akAzNjM1OWQ1YTE0M2Q4YTQ4MTBkMWE3MDk0ZWVmYjQ0NTUzNWYxZWY0YzZmMGYyNDIxYWVmMGFmODkyNmQ3MWZkcmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgqYG9jaS1tYW5pZmVzdDpsaW51eC9hbWQ2NEBzaGEyNTY6Y2U0YzczMmU2MjZjZTBjMzFkNDMwM2E1NWZiM2I4Mzc4MWUzMjk4NDAzZTFmMDdmYTVhYmYxMThjMTYwNDNlODJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxavgBEvMBVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIjxjZWxsIDY+IiwgbGluZSAxNzksIGluIDxtb2R1bGU+CiAgICBydW5fdGVzdHMoKQogICAgfn5+fn5+fn5+Xl4KICBGaWxlICI8Y2VsbCA2PiIsIGxpbmUgMTYyLCBpbiBydW5fdGVzdHMKICAgIGZvciBhLCBiIGluIGVycm9yX2Nhc2VzOgogICAgICAgIF5eXl4KVmFsdWVFcnJvcjogdG9vIG1hbnkgdmFsdWVzIHRvIHVucGFjayAoZXhwZWN0ZWQgMikKGAE=","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiIzNjM1OWQ1YTE0M2Q4YTQ4MTBkMWE3MDk0ZWVmYjQ0NTUzNWYxZWY0YzZmMGYyNDIxYWVmMGFmODkyNmQ3MWZkIn19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiMTIzOTdiZDFiM2Q0M2E0MmRmMjMyZmUyMjQyODdjZTQ4MDAwOWQ0YTM0MWU2NDA1NDNkYTQ4ZjFjNTU3OTlhMCIsInJlc3VsdF9zaGEyNTYiOiI4NTdiZDdlNTU5ZjgwZGY0MThmNTFkNDEzMjk5NTEwMGRmZjA3M2YwOGEyNTVmNGUyZTMyYmUxZDBiMDhkYjY0IiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2Mjc2OTg5LCJlbmRlZF91bml4X21zIjoxNzkzMTM2Mjc3MDQ1LCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjo2LCJwcmV2aW91c19zaGEyNTYiOiIyYzg2NTJkNzk3MjVmZTQ2Y2NmNmUwYjcxMGRmMTY1ZjFjYmNiNmQ4NzMwMzI1M2MxZTYzZWNjZjYyMTE0ZWQ2IiwicmVjb3JkX3NoYTI1NiI6IjM2MzU5ZDVhMTQzZDhhNDgxMGQxYTcwOTRlZWZiNDQ1NTM1ZjFlZjRjNmYwZjI0MjFhZWYwYWY4OTI2ZDcxZmQifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"w/JsGHcAgHiSwfmhcaZjrQ2Gk+VgHX6fDPNdVXZyhtaVPfRQElQ/Vr8jRrCWHHgNIEt1rCYNE1kcou+uD4PLAQ=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiM2JkN2MwZWM4NjNlZWUxZWY0NjMyZjExNjMyNmZhNGY1MDdlYTcxODg5ZjRiMDU5Yjc2ODc4M2FiODYwZGYwZiJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjYsInByZXZpb3VzX3NoYTI1NiI6IjcwOGMyY2NlMDc2Y2NjZGJjYzFiY2FhZmQ0MmI2ODgxMGRlNjE3YWRhZjEzMjJhNGY4MjRhMDgzMTA0ZWJkZmEiLCJlbnRyeV9zaGEyNTYiOiIzYmQ3YzBlYzg2M2VlZTFlZjQ2MzJmMTE2MzI2ZmE0ZjUwN2VhNzE4ODlmNGIwNTliNzY4NzgzYWI4NjBkZjBmIn19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"Ny/4pL1SXe1f66V/IwnuAu3gi1PGdy7khJnfIRIPfvzev/HbyKDeD2rDSX9EkZfY00ysYysoAjGfMSnXqQ86Ag=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANqii4KBnB5dGhvbhL/LWRlZiBwYXJzZV92ZXJzaW9uKHYpOgogICAgaWYgJysnIGluIHY6CiAgICAgICAgY29yZSwgYnVpbGQgPSB2LnNwbGl0KCcrJywgMSkKICAgIGVsc2U6CiAgICAgICAgY29yZSA9IHYKICAgICAgICBidWlsZCA9IE5vbmUKICAgIGlmICctJyBpbiBjb3JlOgogICAgICAgIHZlcnNpb25fcGFydCwgcHJlX3BhcnQgPSBjb3JlLnNwbGl0KCctJywgMSkKICAgIGVsc2U6CiAgICAgICAgdmVyc2lvbl9wYXJ0ID0gY29yZQogICAgICAgIHByZV9wYXJ0ID0gTm9uZQogICAgbnVtX3BhcnRzID0gdmVyc2lvbl9wYXJ0LnNwbGl0KCcuJykKICAgIGlmIGxlbihudW1fcGFydHMpICE9IDM6CiAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCB2ZXJzaW9uOiBtdXN0IGhhdmUgZXhhY3RseSB0aHJlZSBudW1lcmljIGNvbXBvbmVudHMiKQogICAgbnVtcyA9IFtdCiAgICBmb3IgcGFydCBpbiBudW1fcGFydHM6CiAgICAgICAgaWYgbm90IHBhcnQ6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkVtcHR5IG51bWVyaWMgY29tcG9uZW50IikKICAgICAgICBpZiBsZW4ocGFydCkgPiAxIGFuZCBwYXJ0WzBdID09ICcwJzoKICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmIkxlYWRpbmcgemVybyBpbiBudW1lcmljIGNvbXBvbmVudDoge3BhcnR9IikKICAgICAgICBpZiBub3QgcGFydC5pc2RpZ2l0KCk6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJOb24tZGlnaXQgaW4gbnVtZXJpYyBjb21wb25lbnQ6IHtwYXJ0fSIpCiAgICAgICAgbnVtcy5hcHBlbmQoaW50KHBhcnQpKQogICAgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IG51bXMKICAgIHByZXJlbGVhc2UgPSBbXQogICAgaWYgcHJlX3BhcnQgaXMgbm90IE5vbmU6CiAgICAgICAgaWRzID0gcHJlX3BhcnQuc3BsaXQoJy4nKQogICAgICAgIGZvciBpZGVuIGluIGlkczoKICAgICAgICAgICAgaWYgbm90IGlkZW46CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBwcmUtcmVsZWFzZSBpZGVudGlmaWVyIikKICAgICAgICAgICAgaWYgbm90IGFsbChjLmlzYWxudW0oKSBvciBjID09ICctJyBmb3IgYyBpbiBpZGVuKToKICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZhbGlkIGNoYXJhY3RlciBpbiBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBpZiBpZGVuLmlzZGlnaXQoKToKICAgICAgICAgICAgICAgIGlmIGxlbihpZGVuKSA+IDEgYW5kIGlkZW5bMF0gPT0gJzAnOgogICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJMZWFkaW5nIHplcm8gaW4gbnVtZXJpYyBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBwcmVyZWxlYXNlLmFwcGVuZChpZGVuKQogICAgYnVpbGRfaWRzID0gW10KICAgIGlmIGJ1aWxkIGlzIG5vdCBOb25lOgogICAgICAgIGlkcyA9IGJ1aWxkLnNwbGl0KCcuJykKICAgICAgICBmb3IgaWRlbiBpbiBpZHM6CiAgICAgICAgICAgIGlmIG5vdCBpZGVuOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgYnVpbGQgaWRlbnRpZmllciIpCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgYnVpbGRfaWRzLmFwcGVuZChpZGVuKQogICAgcmV0dXJuIHsKICAgICAgICAnbWFqb3InOiBtYWpvciwKICAgICAgICAnbWlub3InOiBtaW5vciwKICAgICAgICAncGF0Y2gnOiBwYXRjaCwKICAgICAgICAncHJlcmVsZWFzZSc6IHByZXJlbGVhc2UsCiAgICAgICAgJ2J1aWxkJzogYnVpbGRfaWRzCiAgICB9CgpkZWYgc2VtdmVyX2NvbXBhcmUoYSwgYik6CiAgICB2YSA9IHBhcnNlX3ZlcnNpb24oYSkKICAgIHZiID0gcGFyc2VfdmVyc2lvbihiKQoKICAgICMgQ29tcGFyZSBtYWpvciwgbWlub3IsIHBhdGNoIG51bWVyaWNhbGx5CiAgICBpZiB2YVsnbWFqb3InXSAhPSB2YlsnbWFqb3InXToKICAgICAgICByZXR1cm4gLTEgaWYgdmFbJ21ham9yJ10gPCB2YlsnbWFqb3InXSBlbHNlIDEKICAgIGlmIHZhWydtaW5vciddICE9IHZiWydtaW5vciddOgogICAgICAgIHJldHVybiAtMSBpZiB2YVsnbWlub3InXSA8IHZiWydtaW5vciddIGVsc2UgMQogICAgaWYgdmFbJ3BhdGNoJ10gIT0gdmJbJ3BhdGNoJ106CiAgICAgICAgcmV0dXJuIC0xIGlmIHZhWydwYXRjaCddIDwgdmJbJ3BhdGNoJ10gZWxzZSAxCgogICAgYV9wciA9IHZhWydwcmVyZWxlYXNlJ10KICAgIGJfcHIgPSB2YlsncHJlcmVsZWFzZSddCgogICAgIyBCb3RoIHdpdGhvdXQgcHJlcmVsZWFzZSBpZGVudGlmaWVycyA9PiBlcXVhbAogICAgaWYgbm90IGFfcHIgYW5kIG5vdCBiX3ByOgogICAgICAgIHJldHVybiAwCiAgICAjIGEgaGFzIHByZXJlbGVhc2UsIGIgZG9lcyBub3QgPT4gYSBsb3dlcgogICAgaWYgYV9wciBhbmQgbm90IGJfcHI6CiAgICAgICAgcmV0dXJuIC0xCiAgICAjIGIgaGFzIHByZXJlbGVhc2UsIGEgZG9lcyBub3QgPT4gYSBoaWdoZXIKICAgIGlmIG5vdCBhX3ByIGFuZCBiX3ByOgogICAgICAgIHJldHVybiAxCgogICAgIyBCb3RoIGhhdmUgcHJlcmVsZWFzZSwgY29tcGFyZSBpZGVudGlmaWVyIGJ5IGlkZW50aWZpZXIKICAgIG1heF9sZW4gPSBtYXgobGVuKGFfcHIpLCBsZW4oYl9wcikpCiAgICBmb3IgaSBpbiByYW5nZShtYXhfbGVuKToKICAgICAgICBhX2lkID0gYV9wcltpXSBpZiBpIDwgbGVuKGFfcHIpIGVsc2UgTm9uZQogICAgICAgIGJfaWQgPSBiX3ByW2ldIGlmIGkgPCBsZW4oYl9wcikgZWxzZSBOb25lCgogICAgICAgIGlmIGFfaWQgaXMgbm90IE5vbmUgYW5kIGJfaWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIGFfZGlnaXQgPSBhX2lkLmlzZGlnaXQoKQogICAgICAgICAgICBiX2RpZ2l0ID0gYl9pZC5pc2RpZ2l0KCkKICAgICAgICAgICAgaWYgYV9kaWdpdCBhbmQgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA8IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA+IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICBlbGlmIG5vdCBhX2RpZ2l0IGFuZCBub3QgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGFfaWQgPCBiX2lkOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICAgICAgaWYgYV9pZCA+IGJfaWQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICMgb25lIGRpZ2l0LCBvbmUgbm90OiBkaWdpdCBpcyBsb3dlcgogICAgICAgICAgICAgICAgaWYgYV9kaWdpdDoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICBlbHNlOgogICAgICAgICAgICAjIE9uZSBvZiB0aGVtIGlzIE5vbmUgKGkuZS4sIHdlIGV4aGF1c3RlZCBpZGVudGlmaWVycykKICAgICAgICAgICAgaWYgYV9pZCBpcyBOb25lIGFuZCBiX2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgIGlmIGJfaWQgaXMgTm9uZSBhbmQgYV9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICMgYm90aCBOb25lIHNob3VsZCBub3QgaGFwcGVuOyBjb250aW51ZQoKICAgICMgQWxsIGNvbXBhcmVkIGlkZW50aWZpZXJzIGVxdWFsCiAgICByZXR1cm4gMAoKZGVmIHJ1bl90ZXN0cygpOgogICAgZmFpbHVyZXMgPSBbXQoKICAgICMgTm9ybWFsIGNhc2VzIHdpdGggZXhwZWN0ZWQgcmVzdWx0cyAoaW5jbHVkaW5nIHRoZSBleGFtcGxlcyBmcm9tIHRoZSBwcm9tcHQpCiAgICBub3JtYWxfY2FzZXMgPSBbCiAgICAgICAgKCIxLjAuMCIsICIyLjAuMCIsIC0xKSwKICAgICAgICAoIjIuMS4xIiwgIjIuMS4wIiwgMSksCiAgICAgICAgKCIxLjAuMC1hbHBoYSIsICIxLjAuMCIsIC0xKSwKICAgICAgICAoIjEuMC4wLWFscGhhLjEiLCAiMS4wLjAtYWxwaGEuYmV0YSIsIC0xKSwKICAgICAgICAoIjEuMC4wK2J1aWxkLjUiLCAiMS4wLjAiLCAwKSwKICAgICAgICAoIjEuMC4wIiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIwLjAuMSIsICIwLjAuMCIsIDEpLAogICAgICAgICgiMS4wLjAtYmV0YSIsICIxLjAuMC1hbHBoYSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMTAiLCAtMSksCiAgICAgICAgKCIxLjAuMC0xLjIiLCAiMS4wLjAtMSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMi4zIiwgLTEpLAogICAgICAgICgiMS4wLjArYnVpbGQuNSIsICIxLjAuMCtidWlsZC42IiwgMCksCiAgICAgICAgKCIxLjAuMCtidWlsZC41IiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIxLjAuMC1yYy4xIiwgIjEuMC4wLXJjLjAiLCAxKSwKICAgICAgICAoIjEuMC4wLXJjLjEiLCAiMS4wLjAtcmMuMS4wIiwgLTEpLAogICAgXQoKICAgIGZvciBhLCBiLCBleHAgaW4gbm9ybWFsX2Nhc2VzOgogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzID0gc2VtdmVyX2NvbXBhcmUoYSwgYikKICAgICAgICAgICAgaWYgcmVzICE9IGV4cDoKICAgICAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkZBSUw6IHthfSB2cyB7Yn0gZXhwZWN0ZWQge2V4cH0gZ290IHtyZXN9IikKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHJhaXNlZCB7ZX0iKQoKICAgICMgQ2FzZXMgdGhhdCBzaG91bGQgcmFpc2UgVmFsdWVFcnJvcgogICAgZXJyb3JfY2FzZXMgPSBbCiAgICAgICAgKCIxLjAiLCAiMS4wLjAiKSwKICAgICAgICAoIjAxLjAuMCIsICIxLjAuMCIpLAogICAgICAgICgiMS4wLjAtMDEiLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLSsiLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLi4iLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLSIsICIxLjAuMCIpLAogICAgICAgICgiMS4wLjAtLi0iLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLWFiYy4iLCAiMS4wLjAiKSwKICAgICAgICAoIjEuMC4wLWFiYy5kZWYiLCAiMS4wLjAiKSwKICAgIF0KCiAgICBmb3IgYSwgYiBpbiBlcnJvcl9jYXNlczoKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJlcyA9IHNlbXZlcl9jb21wYXJlKGEsIGIpCiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHNob3VsZCBoYXZlIHJhaXNlZCBWYWx1ZUVycm9yIGJ1dCByZXR1cm5lZCB7cmVzfSIpCiAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgIHBhc3MgICMgZXhwZWN0ZWQKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHJhaXNlZCB1bmV4cGVjdGVkIHtlfSIpCgogICAgaWYgZmFpbHVyZXM6CiAgICAgICAgZm9yIGYgaW4gZmFpbHVyZXM6CiAgICAgICAgICAgIHByaW50KGYpCiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICBlbHNlOgogICAgICAgIHByaW50KCJBTEwgVEVTVFMgUEFTU0VEIikKICAgICAgICByZXR1cm4gVHJ1ZQoKcnVuX3Rlc3RzKCk=","response":"CgZkb2NrZXISBmtlcm5lbBgIIqQECAQSQDUxZTcxYWI3NTFmN2E0NjdkMDYxZWZkYzQyNDM3NmY0OGZjODBiZjcxMGQ2ZmQ1Yjg3NTUyNWVhMzgzM2RhNzUaQGNlNjQzODc2YzI5MzVjNzM1NThjZmU0ODNkMTJjMjhkMTQ0ZTk0MmEzYWQ0ZWM1OWMxM2M1NTZjNGRkODcxYzYiBmRvY2tlcioGa2VybmVsMlRkb2NrZXItaW1hZ2U6c2hhMjU2OjQ4NjY2YzE0YjM4N2MxZjhhYzI2MzNkYmZkMzJhM2JiMTE4MzY5ZjM1ZTBkMDMxOWU2NmYyZmEwZjNlYzkxNzFA/JKC+pc0SKmTgvqXNFJAZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmY1gHYkAzNjM1OWQ1YTE0M2Q4YTQ4MTBkMWE3MDk0ZWVmYjQ0NTUzNWYxZWY0YzZmMGYyNDIxYWVmMGFmODkyNmQ3MWZkakAwMjBhYjY4NGZlMTNiYzM3NWRiYmYyZTAyMzlmZjcyMjU5ZjE2ZDVhZjA0ZjdhMTc0ZTU4NzIwZmQ3MGM3MWM2cmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgqYG9jaS1tYW5pZmVzdDpsaW51eC9hbWQ2NEBzaGEyNTY6Y2U0YzczMmU2MjZjZTBjMzFkNDMwM2E1NWZiM2I4Mzc4MWUzMjk4NDAzZTFmMDdmYTVhYmYxMThjMTYwNDNlODJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxalQKUkVSUk9SOiAxLjAuMC1hYmMuZGVmIHZzIDEuMC4wIHNob3VsZCBoYXZlIHJhaXNlZCBWYWx1ZUVycm9yIGJ1dCByZXR1cm5lZCAtMQpGYWxzZQo=","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiIwMjBhYjY4NGZlMTNiYzM3NWRiYmYyZTAyMzlmZjcyMjU5ZjE2ZDVhZjA0ZjdhMTc0ZTU4NzIwZmQ3MGM3MWM2In19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiNTFlNzFhYjc1MWY3YTQ2N2QwNjFlZmRjNDI0Mzc2ZjQ4ZmM4MGJmNzEwZDZmZDViODc1NTI1ZWEzODMzZGE3NSIsInJlc3VsdF9zaGEyNTYiOiJjZTY0Mzg3NmMyOTM1YzczNTU4Y2ZlNDgzZDEyYzI4ZDE0NGU5NDJhM2FkNGVjNTljMTNjNTU2YzRkZDg3MWM2IiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2Mjk4MzY0LCJlbmRlZF91bml4X21zIjoxNzkzMTM2Mjk4NDA5LCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjo3LCJwcmV2aW91c19zaGEyNTYiOiIzNjM1OWQ1YTE0M2Q4YTQ4MTBkMWE3MDk0ZWVmYjQ0NTUzNWYxZWY0YzZmMGYyNDIxYWVmMGFmODkyNmQ3MWZkIiwicmVjb3JkX3NoYTI1NiI6IjAyMGFiNjg0ZmUxM2JjMzc1ZGJiZjJlMDIzOWZmNzIyNTlmMTZkNWFmMDRmN2ExNzRlNTg3MjBmZDcwYzcxYzYifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"6e9u7n0iA5CrTnXUjblGtaMHMM5jSFX0w3GPhrF4+bY98h8SH6No96pRWoDk27ovlGvJ1Sn5Moks+mTDujNxBA=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiN2ViMmZkY2NiMjhhZDI5ZjFkYjU0OGM2ZjAxZTBmNzg5MTk2ZmE4NGY5YzE4NmIzMTkyOTAzOTc4MmU1MTA1ZSJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjcsInByZXZpb3VzX3NoYTI1NiI6ImExNTM0NGZjOGE4OGQ4NzkwYTEwOGFiMDVhMWM3ZmRhZWFhYTk2ZDAzMjQzYjdiMTQ4OGUxNWJiOGNjMThiNTQiLCJlbnRyeV9zaGEyNTYiOiI3ZWIyZmRjY2IyOGFkMjlmMWRiNTQ4YzZmMDFlMGY3ODkxOTZmYTg0ZjljMTg2YjMxOTI5MDM5NzgyZTUxMDVlIn19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"t2y1ww9KvISYQgxd1gL8/eVezYrAEV2gX4ueg29X1NiZThEB6wICc+balMncNGlEXj5JB5m2wqyLaH7Kr9SIDQ=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANq1iwKBnB5dGhvbhLLLGRlZiBwYXJzZV92ZXJzaW9uKHYpOgogICAgaWYgJysnIGluIHY6CiAgICAgICAgY29yZSwgYnVpbGQgPSB2LnNwbGl0KCcrJywgMSkKICAgIGVsc2U6CiAgICAgICAgY29yZSA9IHYKICAgICAgICBidWlsZCA9IE5vbmUKICAgIGlmICctJyBpbiBjb3JlOgogICAgICAgIHZlcnNpb25fcGFydCwgcHJlX3BhcnQgPSBjb3JlLnNwbGl0KCctJywgMSkKICAgIGVsc2U6CiAgICAgICAgdmVyc2lvbl9wYXJ0ID0gY29yZQogICAgICAgIHByZV9wYXJ0ID0gTm9uZQogICAgbnVtX3BhcnRzID0gdmVyc2lvbl9wYXJ0LnNwbGl0KCcuJykKICAgIGlmIGxlbihudW1fcGFydHMpICE9IDM6CiAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCB2ZXJzaW9uOiBtdXN0IGhhdmUgZXhhY3RseSB0aHJlZSBudW1lcmljIGNvbXBvbmVudHMiKQogICAgbnVtcyA9IFtdCiAgICBmb3IgcGFydCBpbiBudW1fcGFydHM6CiAgICAgICAgaWYgbm90IHBhcnQ6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkVtcHR5IG51bWVyaWMgY29tcG9uZW50IikKICAgICAgICBpZiBsZW4ocGFydCkgPiAxIGFuZCBwYXJ0WzBdID09ICcwJzoKICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmIkxlYWRpbmcgemVybyBpbiBudW1lcmljIGNvbXBvbmVudDoge3BhcnR9IikKICAgICAgICBpZiBub3QgcGFydC5pc2RpZ2l0KCk6CiAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJOb24tZGlnaXQgaW4gbnVtZXJpYyBjb21wb25lbnQ6IHtwYXJ0fSIpCiAgICAgICAgbnVtcy5hcHBlbmQoaW50KHBhcnQpKQogICAgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IG51bXMKICAgIHByZXJlbGVhc2UgPSBbXQogICAgaWYgcHJlX3BhcnQgaXMgbm90IE5vbmU6CiAgICAgICAgaWRzID0gcHJlX3BhcnQuc3BsaXQoJy4nKQogICAgICAgIGZvciBpZGVuIGluIGlkczoKICAgICAgICAgICAgaWYgbm90IGlkZW46CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBwcmUtcmVsZWFzZSBpZGVudGlmaWVyIikKICAgICAgICAgICAgaWYgbm90IGFsbChjLmlzYWxudW0oKSBvciBjID09ICctJyBmb3IgYyBpbiBpZGVuKToKICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZhbGlkIGNoYXJhY3RlciBpbiBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBpZiBpZGVuLmlzZGlnaXQoKToKICAgICAgICAgICAgICAgIGlmIGxlbihpZGVuKSA+IDEgYW5kIGlkZW5bMF0gPT0gJzAnOgogICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJMZWFkaW5nIHplcm8gaW4gbnVtZXJpYyBwcmUtcmVsZWFzZSBpZGVudGlmaWVyOiB7aWRlbn0iKQogICAgICAgICAgICBwcmVyZWxlYXNlLmFwcGVuZChpZGVuKQogICAgYnVpbGRfaWRzID0gW10KICAgIGlmIGJ1aWxkIGlzIG5vdCBOb25lOgogICAgICAgIGlkcyA9IGJ1aWxkLnNwbGl0KCcuJykKICAgICAgICBmb3IgaWRlbiBpbiBpZHM6CiAgICAgICAgICAgIGlmIG5vdCBpZGVuOgogICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRW1wdHkgYnVpbGQgaWRlbnRpZmllciIpCiAgICAgICAgICAgIGlmIG5vdCBhbGwoYy5pc2FsbnVtKCkgb3IgYyA9PSAnLScgZm9yIGMgaW4gaWRlbik6CiAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiSW52YWxpZCBjaGFyYWN0ZXIgaW4gYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgaWYgaWRlbi5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBpZiBsZW4oaWRlbikgPiAxIGFuZCBpZGVuWzBdID09ICcwJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYiTGVhZGluZyB6ZXJvIGluIG51bWVyaWMgYnVpbGQgaWRlbnRpZmllcjoge2lkZW59IikKICAgICAgICAgICAgYnVpbGRfaWRzLmFwcGVuZChpZGVuKQogICAgcmV0dXJuIHsKICAgICAgICAnbWFqb3InOiBtYWpvciwKICAgICAgICAnbWlub3InOiBtaW5vciwKICAgICAgICAncGF0Y2gnOiBwYXRjaCwKICAgICAgICAncHJlcmVsZWFzZSc6IHByZXJlbGVhc2UsCiAgICAgICAgJ2J1aWxkJzogYnVpbGRfaWRzCiAgICB9CgpkZWYgc2VtdmVyX2NvbXBhcmUoYSwgYik6CiAgICB2YSA9IHBhcnNlX3ZlcnNpb24oYSkKICAgIHZiID0gcGFyc2VfdmVyc2lvbihiKQoKICAgICMgQ29tcGFyZSBtYWpvciwgbWlub3IsIHBhdGNoIG51bWVyaWNhbGx5CiAgICBpZiB2YVsnbWFqb3InXSAhPSB2YlsnbWFqb3InXToKICAgICAgICByZXR1cm4gLTEgaWYgdmFbJ21ham9yJ10gPCB2YlsnbWFqb3InXSBlbHNlIDEKICAgIGlmIHZhWydtaW5vciddICE9IHZiWydtaW5vciddOgogICAgICAgIHJldHVybiAtMSBpZiB2YVsnbWlub3InXSA8IHZiWydtaW5vciddIGVsc2UgMQogICAgaWYgdmFbJ3BhdGNoJ10gIT0gdmJbJ3BhdGNoJ106CiAgICAgICAgcmV0dXJuIC0xIGlmIHZhWydwYXRjaCddIDwgdmJbJ3BhdGNoJ10gZWxzZSAxCgogICAgYV9wciA9IHZhWydwcmVyZWxlYXNlJ10KICAgIGJfcHIgPSB2YlsncHJlcmVsZWFzZSddCgogICAgIyBCb3RoIHdpdGhvdXQgcHJlcmVsZWFzZSBpZGVudGlmaWVycyA9PiBlcXVhbAogICAgaWYgbm90IGFfcHIgYW5kIG5vdCBiX3ByOgogICAgICAgIHJldHVybiAwCiAgICAjIGEgaGFzIHByZXJlbGVhc2UsIGIgZG9lcyBub3QgPT4gYSBsb3dlcgogICAgaWYgYV9wciBhbmQgbm90IGJfcHI6CiAgICAgICAgcmV0dXJuIC0xCiAgICAjIGIgaGFzIHByZXJlbGVhc2UsIGEgZG9lcyBub3QgPT4gYSBoaWdoZXIKICAgIGlmIG5vdCBhX3ByIGFuZCBiX3ByOgogICAgICAgIHJldHVybiAxCgogICAgIyBCb3RoIGhhdmUgcHJlcmVsZWFzZSwgY29tcGFyZSBpZGVudGlmaWVyIGJ5IGlkZW50aWZpZXIKICAgIG1heF9sZW4gPSBtYXgobGVuKGFfcHIpLCBsZW4oYl9wcikpCiAgICBmb3IgaSBpbiByYW5nZShtYXhfbGVuKToKICAgICAgICBhX2lkID0gYV9wcltpXSBpZiBpIDwgbGVuKGFfcHIpIGVsc2UgTm9uZQogICAgICAgIGJfaWQgPSBiX3ByW2ldIGlmIGkgPCBsZW4oYl9wcikgZWxzZSBOb25lCgogICAgICAgIGlmIGFfaWQgaXMgbm90IE5vbmUgYW5kIGJfaWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIGFfZGlnaXQgPSBhX2lkLmlzZGlnaXQoKQogICAgICAgICAgICBiX2RpZ2l0ID0gYl9pZC5pc2RpZ2l0KCkKICAgICAgICAgICAgaWYgYV9kaWdpdCBhbmQgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA8IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGlmIGludChhX2lkKSA+IGludChiX2lkKToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICBlbGlmIG5vdCBhX2RpZ2l0IGFuZCBub3QgYl9kaWdpdDoKICAgICAgICAgICAgICAgIGlmIGFfaWQgPCBiX2lkOgogICAgICAgICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICAgICAgICAgaWYgYV9pZCA+IGJfaWQ6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICMgb25lIGRpZ2l0LCBvbmUgbm90OiBkaWdpdCBpcyBsb3dlcgogICAgICAgICAgICAgICAgaWYgYV9kaWdpdDoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICBlbHNlOgogICAgICAgICAgICAjIE9uZSBvZiB0aGVtIGlzIE5vbmUgKGkuZS4sIHdlIGV4aGF1c3RlZCBpZGVudGlmaWVycykKICAgICAgICAgICAgaWYgYV9pZCBpcyBOb25lIGFuZCBiX2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgIGlmIGJfaWQgaXMgTm9uZSBhbmQgYV9pZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICMgYm90aCBOb25lIHNob3VsZCBub3QgaGFwcGVuOyBjb250aW51ZQoKICAgICMgQWxsIGNvbXBhcmVkIGlkZW50aWZpZXJzIGVxdWFsCiAgICByZXR1cm4gMAoKZGVmIHJ1bl90ZXN0cygpOgogICAgZmFpbHVyZXMgPSBbXQoKICAgICMgTm9ybWFsIGNhc2VzIHdpdGggZXhwZWN0ZWQgcmVzdWx0cyAoaW5jbHVkaW5nIHRoZSBleGFtcGxlcyBmcm9tIHRoZSBwcm9tcHQpCiAgICBub3JtYWxfY2FzZXMgPSBbCiAgICAgICAgKCIxLjAuMCIsICIyLjAuMCIsIC0xKSwKICAgICAgICAoIjIuMS4xIiwgIjIuMS4wIiwgMSksCiAgICAgICAgKCIxLjAuMC1hbHBoYSIsICIxLjAuMCIsIC0xKSwKICAgICAgICAoIjEuMC4wLWFscGhhLjEiLCAiMS4wLjAtYWxwaGEuYmV0YSIsIC0xKSwKICAgICAgICAoIjEuMC4wK2J1aWxkLjUiLCAiMS4wLjAiLCAwKSwKICAgICAgICAoIjEuMC4wIiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIwLjAuMSIsICIwLjAuMCIsIDEpLAogICAgICAgICgiMS4wLjAtYmV0YSIsICIxLjAuMC1hbHBoYSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMTAiLCAtMSksCiAgICAgICAgKCIxLjAuMC0xLjIiLCAiMS4wLjAtMSIsIDEpLAogICAgICAgICgiMS4wLjAtMS4yIiwgIjEuMC4wLTEuMi4zIiwgLTEpLAogICAgICAgICgiMS4wLjArYnVpbGQuNSIsICIxLjAuMCtidWlsZC42IiwgMCksCiAgICAgICAgKCIxLjAuMCtidWlsZC41IiwgIjEuMC4wIiwgMCksCiAgICAgICAgKCIxLjAuMC1yYy4xIiwgIjEuMC4wLXJjLjAiLCAxKSwKICAgICAgICAoIjEuMC4wLXJjLjEiLCAiMS4wLjAtcmMuMS4wIiwgLTEpLAogICAgXQoKICAgIGZvciBhLCBiLCBleHAgaW4gbm9ybWFsX2Nhc2VzOgogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzID0gc2VtdmVyX2NvbXBhcmUoYSwgYikKICAgICAgICAgICAgaWYgcmVzICE9IGV4cDoKICAgICAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkZBSUw6IHthfSB2cyB7Yn0gZXhwZWN0ZWQge2V4cH0gZ290IHtyZXN9IikKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHJhaXNlZCB7ZX0iKQoKICAgICMgQ2FzZXMgdGhhdCBzaG91bGQgcmFpc2UgVmFsdWVFcnJvciAob25seSB0aGUgb25lcyBtZW50aW9uZWQgaW4gdGhlIHByb21wdCkKICAgIGVycm9yX2Nhc2VzID0gWwogICAgICAgICgiMS4wIiwgIjEuMC4wIiksCiAgICAgICAgKCIwMS4wLjAiLCAiMS4wLjAiKSwKICAgIF0KCiAgICBmb3IgYSwgYiBpbiBlcnJvcl9jYXNlczoKICAgICAgICB0cnk6CiAgICAgICAgICAgIHJlcyA9IHNlbXZlcl9jb21wYXJlKGEsIGIpCiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHNob3VsZCBoYXZlIHJhaXNlZCBWYWx1ZUVycm9yIGJ1dCByZXR1cm5lZCB7cmVzfSIpCiAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgIHBhc3MgICMgZXhwZWN0ZWQKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIGZhaWx1cmVzLmFwcGVuZChmIkVSUk9SOiB7YX0gdnMge2J9IHJhaXNlZCB1bmV4cGVjdGVkIHtlfSIpCgogICAgaWYgZmFpbHVyZXM6CiAgICAgICAgZm9yIGYgaW4gZmFpbHVyZXM6CiAgICAgICAgICAgIHByaW50KGYpCiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICBlbHNlOgogICAgICAgIHByaW50KCJBTEwgVEVTVFMgUEFTU0VEIikKICAgICAgICByZXR1cm4gVHJ1ZQoKcnVuX3Rlc3RzKCk=","response":"CgZkb2NrZXISBmtlcm5lbBgJIqQECAQSQDgwYzY5YTZmMzJmOWJkM2JkZTNiMmE0NWZjNGM1ZDg4ZTQ2MWUwOGFkYTgyNzJjNzdiODU4ZTc5ZjM5YjJhNDIaQDZjNGZhOGI3ZmY3OWYyYWM2NzQxNzA4YzNjY2FhODJiZmQ0Y2ZlMzdjMzYxNGNmMDM5NTVhNTUzYzQ2OGYxZDUiBmRvY2tlcioGa2VybmVsMlRkb2NrZXItaW1hZ2U6c2hhMjU2OjQ4NjY2YzE0YjM4N2MxZjhhYzI2MzNkYmZkMzJhM2JiMTE4MzY5ZjM1ZTBkMDMxOWU2NmYyZmEwZjNlYzkxNzFA5qyE+pc0SJithPqXNFJAZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmY1gIYkAwMjBhYjY4NGZlMTNiYzM3NWRiYmYyZTAyMzlmZjcyMjU5ZjE2ZDVhZjA0ZjdhMTc0ZTU4NzIwZmQ3MGM3MWM2akBiM2EyYzJmYTM4NTQ1MWFlY2Y5MDU2ODg3ZmQ5Yjc1ZTk0YjRjNDA4NDQ4ZjFhYTdkNDZjMzUyOTdmNzE2ZTcwcmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgqYG9jaS1tYW5pZmVzdDpsaW51eC9hbWQ2NEBzaGEyNTY6Y2U0YzczMmU2MjZjZTBjMzFkNDMwM2E1NWZiM2I4Mzc4MWUzMjk4NDAzZTFmMDdmYTVhYmYxMThjMTYwNDNlODJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxahgKFkFMTCBURVNUUyBQQVNTRUQKVHJ1ZQo=","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiJiM2EyYzJmYTM4NTQ1MWFlY2Y5MDU2ODg3ZmQ5Yjc1ZTk0YjRjNDA4NDQ4ZjFhYTdkNDZjMzUyOTdmNzE2ZTcwIn19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiODBjNjlhNmYzMmY5YmQzYmRlM2IyYTQ1ZmM0YzVkODhlNDYxZTA4YWRhODI3MmM3N2I4NThlNzlmMzliMmE0MiIsInJlc3VsdF9zaGEyNTYiOiI2YzRmYThiN2ZmNzlmMmFjNjc0MTcwOGMzY2NhYTgyYmZkNGNmZTM3YzM2MTRjZjAzOTU1YTU1M2M0NjhmMWQ1IiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2MzM0NDM4LCJlbmRlZF91bml4X21zIjoxNzkzMTM2MzM0NDg4LCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjo4LCJwcmV2aW91c19zaGEyNTYiOiIwMjBhYjY4NGZlMTNiYzM3NWRiYmYyZTAyMzlmZjcyMjU5ZjE2ZDVhZjA0ZjdhMTc0ZTU4NzIwZmQ3MGM3MWM2IiwicmVjb3JkX3NoYTI1NiI6ImIzYTJjMmZhMzg1NDUxYWVjZjkwNTY4ODdmZDliNzVlOTRiNGM0MDg0NDhmMWFhN2Q0NmMzNTI5N2Y3MTZlNzAifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"wyMFiNLVvk3Z5VF6Q3x4Z2A/7Cl7U8pJd1fWLEYoACK6gCrYeskDxR9VEKju4R+KgWpCTu7/CtUAROX4Hg36Bw=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiNTEwZThmN2Q3ZmYzNDQ5ZWU5YmM1ODcxYmE1Y2U5MDI3N2VmNmZiMTJlYjhkZWIzZjZhZjliYzNkY2ZhYWVhNSJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjgsInByZXZpb3VzX3NoYTI1NiI6ImZlOGJjOWY4ODExMWRhMThhMzIzNDZkYWUyNzE2ZDVhMTNmZjk1ZDIyNDdiYzQxMjE3MDIzMmNjODQzYjgxZWEiLCJlbnRyeV9zaGEyNTYiOiI1MTBlOGY3ZDdmZjM0NDllZTliYzU4NzFiYTVjZTkwMjc3ZWY2ZmIxMmViOGRlYjNmNmFmOWJjM2RjZmFhZWE1In19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"mXNFngQ1Pi1GQQvw8L+l2LDcIlGI1+gAf9XQBZ9LAVMlu0kYPoRkoVTZxSc01l5f+wxApnpxpZWZ9AP3+D7aCA=="}]}}
{"request":"CAQSCWNvbnRhaW5lciDg1ANqrSMKBnB5dGhvbhKiI2RlZiBfcGxpbXNvbGxfZ3JhZGUoX3NwZWMpOgogICAgaW1wb3J0IGJhc2U2NCwgY29weSwganNvbiwgbWF0aCwgc3lzCiAgICBzcGVjID0ganNvbi5sb2FkcyhiYXNlNjQuYjY0ZGVjb2RlKF9zcGVjKS5kZWNvZGUoKSkKICAgIGZuID0gZ2xvYmFscygpLmdldChzcGVjWyJmdW5jdGlvbiJdKQogICAgb3V0ID0geyJEZWZpbmVkIjogY2FsbGFibGUoZm4pLCAiUGFzc2VkIjogMCwgIlRvdGFsIjogbGVuKHNwZWNbImNhc2VzIl0pLCAiRmFpbGVkIjogW119CgogICAgZGVmIHNhbWUoZ290LCB3YW50KToKICAgICAgICBpZiBpc2luc3RhbmNlKHdhbnQsIGJvb2wpIG9yIGlzaW5zdGFuY2UoZ290LCBib29sKToKICAgICAgICAgICAgcmV0dXJuIHR5cGUoZ290KSBpcyBib29sIGFuZCBnb3QgPT0gd2FudAogICAgICAgIGlmIGlzaW5zdGFuY2Uod2FudCwgKGludCwgZmxvYXQpKToKICAgICAgICAgICAgcmV0dXJuIGlzaW5zdGFuY2UoZ290LCAoaW50LCBmbG9hdCkpIGFuZCBtYXRoLmlzY2xvc2UoZ290LCB3YW50LCByZWxfdG9sPTFlLTksIGFic190b2w9MWUtOSkKICAgICAgICBpZiBpc2luc3RhbmNlKHdhbnQsIGxpc3QpOgogICAgICAgICAgICByZXR1cm4gdHlwZShnb3QpIGlzIGxpc3QgYW5kIGxlbihnb3QpID09IGxlbih3YW50KSBhbmQgYWxsKHNhbWUoZywgdykgZm9yIGcsIHcgaW4gemlwKGdvdCwgd2FudCkpCiAgICAgICAgcmV0dXJuIHR5cGUoZ290KSBpcyB0eXBlKHdhbnQpIGFuZCBnb3QgPT0gd2FudAoKICAgIGRlZiBmYWlsKGNhc2UsIHdoeSk6CiAgICAgICAgaWYgbGVuKG91dFsiRmFpbGVkIl0pIDwgNToKICAgICAgICAgICAgb3V0WyJGYWlsZWQiXS5hcHBlbmQoanNvbi5kdW1wcyhjYXNlWyJhcmdzIl0pWzoxMjBdICsgIjogIiArIHdoeVs6MTYwXSkKCiAgICBpZiBjYWxsYWJsZShmbik6CiAgICAgICAgZm9yIGNhc2UgaW4gc3BlY1siY2FzZXMiXToKICAgICAgICAgICAgYXJncyA9IGNvcHkuZGVlcGNvcHkoY2FzZVsiYXJncyJdKQogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBnb3QgPSBmbigqYXJncykKICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICBpZiAicmFpc2VzIiBpbiBjYXNlOgogICAgICAgICAgICAgICAgICAgIG91dFsiUGFzc2VkIl0gKz0gMQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBmYWlsKGNhc2UsICJyYWlzZWQgVmFsdWVFcnJvciwgZXhwZWN0ZWQgIiArIGpzb24uZHVtcHMoY2FzZVsiZXhwZWN0Il0pKQogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgICAgZmFpbChjYXNlLCAicmFpc2VkICIgKyB0eXBlKGUpLl9fbmFtZV9fKQogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgaWYgInJhaXNlcyIgaW4gY2FzZToKICAgICAgICAgICAgICAgIGZhaWwoY2FzZSwgInJldHVybmVkICIgKyByZXByKGdvdClbOjgwXSArICIsIGV4cGVjdGVkIFZhbHVlRXJyb3IiKQogICAgICAgICAgICBlbGlmIG5vdCBzYW1lKGdvdCwgY2FzZVsiZXhwZWN0Il0pOgogICAgICAgICAgICAgICAgZmFpbChjYXNlLCAicmV0dXJuZWQgIiArIHJlcHIoZ290KVs6ODBdICsgIiwgZXhwZWN0ZWQgIiArIGpzb24uZHVtcHMoY2FzZVsiZXhwZWN0Il0pKQogICAgICAgICAgICBlbGlmIHNwZWNbInVuY2hhbmdlZCJdIGFuZCBhcmdzICE9IGNhc2VbImFyZ3MiXToKICAgICAgICAgICAgICAgIGZhaWwoY2FzZSwgImNoYW5nZWQgaXRzIGlucHV0IikKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG91dFsiUGFzc2VkIl0gKz0gMQogICAgc3lzLnN0ZG91dC53cml0ZSgiXG5QTElNU09MTC1HUkFERSAiICsganNvbi5kdW1wcyhvdXQpICsgIlxuIikKCl9wbGltc29sbF9ncmFkZSgiZXlKallYTmxjeUk2VzNzaVlYSm5jeUk2V3lJeExqQXVNQ0lzSWpJdU1DNHdJbDBzSW1WNGNHVmpkQ0k2TFRGOUxIc2lZWEpuY3lJNld5SXlMakV1TVNJc0lqSXVNUzR3SWwwc0ltVjRjR1ZqZENJNk1YMHNleUpoY21keklqcGJJakV1TUM0d0xXRnNjR2hoSWl3aU1TNHdMakFpWFN3aVpYaHdaV04wSWpvdE1YMHNleUpoY21keklqcGJJakV1TUM0d0xXRnNjR2hoTGpFaUxDSXhMakF1TUMxaGJIQm9ZUzVpWlhSaElsMHNJbVY0Y0dWamRDSTZMVEY5TEhzaVlYSm5jeUk2V3lJeExqQXVNQ3RpZFdsc1pDNDFJaXdpTVM0d0xqQWlYU3dpWlhod1pXTjBJam93ZlN4N0ltRnlaM01pT2xzaU1TNHdJaXdpTVM0d0xqQWlYU3dpY21GcGMyVnpJam9pVm1Gc2RXVkZjbkp2Y2lKOUxIc2lZWEpuY3lJNld5SXdNUzR3TGpBaUxDSXhMakF1TUNKZExDSnlZV2x6WlhNaU9pSldZV3gxWlVWeWNtOXlJbjBzZXlKaGNtZHpJanBiSWpFdU1DNHdMV0ZzY0doaElpd2lNUzR3TGpBdFlXeHdhR0V1TVNKZExDSmxlSEJsWTNRaU9pMHhmU3g3SW1GeVozTWlPbHNpTVM0d0xqQXRZV3h3YUdFdU1TSXNJakV1TUM0d0xXRnNjR2hoTG1KbGRHRWlYU3dpWlhod1pXTjBJam90TVgwc2V5SmhjbWR6SWpwYklqRXVNQzR3TFdGc2NHaGhMbUpsZEdFaUxDSXhMakF1TUMxaVpYUmhJbDBzSW1WNGNHVmpkQ0k2TFRGOUxIc2lZWEpuY3lJNld5SXhMakF1TUMxaVpYUmhJaXdpTVM0d0xqQXRZbVYwWVM0eUlsMHNJbVY0Y0dWamRDSTZMVEY5TEhzaVlYSm5jeUk2V3lJeExqQXVNQzFpWlhSaExqSWlMQ0l4TGpBdU1DMWlaWFJoTGpFeElsMHNJbVY0Y0dWamRDSTZMVEY5TEhzaVlYSm5jeUk2V3lJeExqQXVNQzFpWlhSaExqRXhJaXdpTVM0d0xqQXRjbU11TVNKZExDSmxlSEJsWTNRaU9pMHhmU3g3SW1GeVozTWlPbHNpTVM0d0xqQXRjbU11TVNJc0lqRXVNQzR3SWwwc0ltVjRjR1ZqZENJNkxURjlMSHNpWVhKbmN5STZXeUl4TGpBdU1DMWhiSEJvWVM0eElpd2lNUzR3TGpBdFlXeHdhR0VpWFN3aVpYaHdaV04wSWpveGZTeDdJbUZ5WjNNaU9sc2lNUzR3TGpBdFlXeHdhR0V1WW1WMFlTSXNJakV1TUM0d0xXRnNjR2hoTGpFaVhTd2laWGh3WldOMElqb3hmU3g3SW1GeVozTWlPbHNpTVM0d0xqQXRZbVYwWVNJc0lqRXVNQzR3TFdGc2NHaGhMbUpsZEdFaVhTd2laWGh3WldOMElqb3hmU3g3SW1GeVozTWlPbHNpTVM0d0xqQXRZbVYwWVM0eUlpd2lNUzR3TGpBdFltVjBZU0pkTENKbGVIQmxZM1FpT2pGOUxIc2lZWEpuY3lJNld5SXhMakF1TUMxaVpYUmhMakV4SWl3aU1TNHdMakF0WW1WMFlTNHlJbDBzSW1WNGNHVmpkQ0k2TVgwc2V5SmhjbWR6SWpwYklqRXVNQzR3TFhKakxqRWlMQ0l4TGpBdU1DMWlaWFJoTGpFeElsMHNJbVY0Y0dWamRDSTZNWDBzZXlKaGNtZHpJanBiSWpFdU1DNHdJaXdpTVM0d0xqQXRjbU11TVNKZExDSmxlSEJsWTNRaU9qRjlMSHNpWVhKbmN5STZXeUl4TGpBdU1DMWhiSEJvWVNJc0lqRXVNQzR3TFdGc2NHaGhJbDBzSW1WNGNHVmpkQ0k2TUgwc2V5SmhjbWR6SWpwYklqRXVNQzR3TFRBeElpd2lNUzR3TGpBaVhTd2ljbUZwYzJWeklqb2lWbUZzZFdWRmNuSnZjaUo5TEhzaVlYSm5jeUk2V3lJeExqQXVNQzBpTENJeExqQXVNQ0pkTENKeVlXbHpaWE1pT2lKV1lXeDFaVVZ5Y205eUluMHNleUpoY21keklqcGJJakV1TUM0d0t5SXNJakV1TUM0d0lsMHNJbkpoYVhObGN5STZJbFpoYkhWbFJYSnliM0lpZlN4N0ltRnlaM01pT2xzaU1TNHdMakF0WVM0dVlpSXNJakV1TUM0d0lsMHNJbkpoYVhObGN5STZJbFpoYkhWbFJYSnliM0lpZlN4N0ltRnlaM01pT2xzaU1TNHdMakF0Y21NdU1TdGlkV2xzWkM0eElpd2lNUzR3TGpBdGNtTXVNU3RpZFdsc1pDNHlJbDBzSW1WNGNHVmpkQ0k2TUgwc2V5SmhjbWR6SWpwYklqRXVNVEF1TUNJc0lqRXVPUzR3SWwwc0ltVjRjR1ZqZENJNk1YMHNleUpoY21keklqcGJJakV1TUM0d0xUQkJJaXdpTVM0d0xqQXRNQ0pkTENKbGVIQmxZM1FpT2pGOUxIc2lZWEpuY3lJNld5SXhMakF1TUMxaGJIQm9ZUzB4SWl3aU1TNHdMakF0WVd4d2FHRWlYU3dpWlhod1pXTjBJam94ZlN4N0ltRnlaM01pT2xzaWRqRXVNQzR3SWl3aU1TNHdMakFpWFN3aWNtRnBjMlZ6SWpvaVZtRnNkV1ZGY25KdmNpSjlMSHNpWVhKbmN5STZXeUlnTVM0d0xqQWlMQ0l4TGpBdU1DSmRMQ0p5WVdselpYTWlPaUpXWVd4MVpVVnljbTl5SW4wc2V5SmhjbWR6SWpwYklqRXVNQzR3TFZ4MU1EQmtaaUlzSWpFdU1DNHdJbDBzSW5KaGFYTmxjeUk2SWxaaGJIVmxSWEp5YjNJaWZTeDdJbUZ5WjNNaU9sc2lNUzR3TGpBclluVnBiR1F1TURFaUxDSXhMakF1TUNKZExDSmxlSEJsWTNRaU9qQjlMSHNpWVhKbmN5STZXeUl4TGpJdU15MWhiSEJvWVM0eE1DSXNJakV1TWk0ekxXRnNjR2hoTGpraVhTd2laWGh3WldOMElqb3hmU3g3SW1GeVozTWlPbHNpTVM0d0xqQWlMQ0l4TGpBdU1DMTRJbDBzSW1WNGNHVmpkQ0k2TVgwc2V5SmhjbWR6SWpwYklqQXVNQzR3SWl3aU1DNHdMakF0TUNKZExDSmxlSEJsWTNRaU9qRjlMSHNpWVhKbmN5STZXeUl4TGpBdU1DMHhJaXdpTVM0d0xqQXRZU0pkTENKbGVIQmxZM1FpT2kweGZWMHNJbVoxYm1OMGFXOXVJam9pYzJWdGRtVnlYMk52YlhCaGNtVWlMQ0oxYm1Ob1lXNW5aV1FpT21aaGJITmxmUT09IikK","response":"CgZkb2NrZXISBmtlcm5lbBgKIqQECAQSQGY3MjIxNmI4NzdmMzhjOWUzYzgwMDE5MjdlZjMyNzBkMTYxMjg2NmY2YTc5MzJlMTk3ZGVlZjNkNzAxM2JiOWIaQDMzYjYyMzNkMjg4MDNmYTllNDcxZjIxY2ZkZjY3ZTAyN2I4OTUwMDhlNTljYTY1NWMzYWU2ZDVhOTA4NjI2NjQiBmRvY2tlcioGa2VybmVsMlRkb2NrZXItaW1hZ2U6c2hhMjU2OjQ4NjY2YzE0YjM4N2MxZjhhYzI2MzNkYmZkMzJhM2JiMTE4MzY5ZjM1ZTBkMDMxOWU2NmYyZmEwZjNlYzkxNzFA3cSE+pc0SI3FhPqXNFJAZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmY1gJYkBiM2EyYzJmYTM4NTQ1MWFlY2Y5MDU2ODg3ZmQ5Yjc1ZTk0YjRjNDA4NDQ4ZjFhYTdkNDZjMzUyOTdmNzE2ZTcwakA4YThiM2JiMTlkMDBmODc2NTYzMWZlNzk0MDliYjM4MWYyNmM0ZTZkODgxZmJmYWZlMTFkMTQ5MGJkMDE1YTAwcmBvY2ktbWFuaWZlc3Q6bGludXgvYW1kNjRAc2hhMjU2OmNlNGM3MzJlNjI2Y2UwYzMxZDQzMDNhNTVmYjNiODM3ODFlMzI5ODQwM2UxZjA3ZmE1YWJmMTE4YzE2MDQzZTgqYG9jaS1tYW5pZmVzdDpsaW51eC9hbWQ2NEBzaGEyNTY6Y2U0YzczMmU2MjZjZTBjMzFkNDMwM2E1NWZiM2I4Mzc4MWUzMjk4NDAzZTFmMDdmYTVhYmYxMThjMTYwNDNlODJUZG9ja2VyLWltYWdlOnNoYTI1Njo0ODY2NmMxNGIzODdjMWY4YWMyNjMzZGJmZDMyYTNiYjExODM2OWYzNWUwZDAzMTllNjZmMmZhMGYzZWM5MTcxatIBCs8BClBMSU1TT0xMLUdSQURFIHsiRGVmaW5lZCI6IHRydWUsICJQYXNzZWQiOiAzNiwgIlRvdGFsIjogMzgsICJGYWlsZWQiOiBbIltcIjEuMC4wLVxcdTAwZGZcIiwgXCIxLjAuMFwiXTogcmV0dXJuZWQgLTEsIGV4cGVjdGVkIFZhbHVlRXJyb3IiLCAiW1wiMS4wLjArYnVpbGQuMDFcIiwgXCIxLjAuMFwiXTogcmFpc2VkIFZhbHVlRXJyb3IsIGV4cGVjdGVkIDAiXX0K","envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoicnVuLXJlY29yZCIsImRpZ2VzdCI6eyJzaGEyNTYiOiI4YThiM2JiMTlkMDBmODc2NTYzMWZlNzk0MDliYjM4MWYyNmM0ZTZkODgxZmJmYWZlMTFkMTQ5MGJkMDE1YTAwIn19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9ydW4tcmVjb3JkL3YxIiwicHJlZGljYXRlIjp7InZlcnNpb24iOjQsInJlcXVlc3Rfc2hhMjU2IjoiZjcyMjE2Yjg3N2YzOGM5ZTNjODAwMTkyN2VmMzI3MGQxNjEyODY2ZjZhNzkzMmUxOTdkZWVmM2Q3MDEzYmI5YiIsInJlc3VsdF9zaGEyNTYiOiIzM2I2MjMzZDI4ODAzZmE5ZTQ3MWYyMWNmZGY2N2UwMjdiODk1MDA4ZTU5Y2E2NTVjM2FlNmQ1YTkwODYyNjY0IiwicHJvdmlkZXIiOiJkb2NrZXIiLCJpc29sYXRpb24iOiJrZXJuZWwiLCJlbnZpcm9ubWVudCI6ImRvY2tlci1pbWFnZTpzaGEyNTY6NDg2NjZjMTRiMzg3YzFmOGFjMjYzM2RiZmQzMmEzYmIxMTgzNjlmMzVlMGQwMzE5ZTY2ZjJmYTBmM2VjOTE3MSIsInNvZnR3YXJlX2lkZW50aXR5Ijoib2NpLW1hbmlmZXN0OmxpbnV4L2FtZDY0QHNoYTI1NjpjZTRjNzMyZTYyNmNlMGMzMWQ0MzAzYTU1ZmIzYjgzNzgxZTMyOTg0MDNlMWYwN2ZhNWFiZjExOGMxNjA0M2U4IiwicG9saWN5IjoiIiwic3RhcnRlZF91bml4X21zIjoxNzkzMTM2MzM3NTAxLCJlbmRlZF91bml4X21zIjoxNzkzMTM2MzM3NTQ5LCJzZXNzaW9uIjoiZTExZjNmNjEzYWU0ZGEzMDhkMTFiYTVkZGNkZDVhYTM0MmU1NWZiNTFkN2FhMGZkNTdiNjhiNGI1YzI0MzNmYyIsInNlcXVlbmNlIjo5LCJwcmV2aW91c19zaGEyNTYiOiJiM2EyYzJmYTM4NTQ1MWFlY2Y5MDU2ODg3ZmQ5Yjc1ZTk0YjRjNDA4NDQ4ZjFhYTdkNDZjMzUyOTdmNzE2ZTcwIiwicmVjb3JkX3NoYTI1NiI6IjhhOGIzYmIxOWQwMGY4NzY1NjMxZmU3OTQwOWJiMzgxZjI2YzRlNmQ4ODFmYmZhZmUxMWQxNDkwYmQwMTVhMDAifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"M0aHgJEKCC8VUaoJFfI0Mh8DxxDBQoSuiPfFlmC1VkjFfb9VLKFXizY8yMM5WJOImdCzthdj59i1LT8hnvBrBQ=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiNGQ3NzFjZDZhOTEzOTkyMTE3NTcyOWE4M2I4YjE1NTYyZDNiNGZhYmUwYWZjMmExODBhODkzMjE4NWRiZjMyZSJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjksInByZXZpb3VzX3NoYTI1NiI6IjQ1OWQ3OTRlMzkwYTMzZmVmODBjZGRiYTg3YTg3ODAxZTUyNzEzY2JiMzY4ZjQ4NmYxZWNlOTBjMjdiMzkzNzUiLCJlbnRyeV9zaGEyNTYiOiI0ZDc3MWNkNmE5MTM5OTIxMTc1NzI5YTgzYjhiMTU1NjJkM2I0ZmFiZTBhZmMyYTE4MGE4OTMyMTg1ZGJmMzJlIn19","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"5qp7uYfddf62jtph5rJLDycm3hhbYGRzBMfyZFxoBkT7kdlWlQ9rvlALJuopPE5nmh8lmpmMB4NIwItE1QRFBw=="}]}}
{"envelope":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoic2Vzc2lvbiIsImRpZ2VzdCI6eyJzaGEyNTYiOiJlMTFmM2Y2MTNhZTRkYTMwOGQxMWJhNWRkY2RkNWFhMzQyZTU1ZmI1MWQ3YWEwZmQ1N2I2OGI0YjVjMjQzM2ZjIn19XSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vcGxpbXNvbGxtYXJrLmdpdGh1Yi5pby9wbGltc29sbC9zZXNzaW9uLWNsb3NlL3YxIiwicHJlZGljYXRlIjp7InNlc3Npb24iOiJlMTFmM2Y2MTNhZTRkYTMwOGQxMWJhNWRkY2RkNWFhMzQyZTU1ZmI1MWQ3YWEwZmQ1N2I2OGI0YjVjMjQzM2ZjIiwiY2FsbHMiOjksImxhc3RfcmVjb3JkX3NoYTI1NiI6IjhhOGIzYmIxOWQwMGY4NzY1NjMxZmU3OTQwOWJiMzgxZjI2YzRlNmQ4ODFmYmZhZmUxMWQxNDkwYmQwMTVhMDAifX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"SzyP3qGgaMzbFiYF98NB/82pqu0TmSza5vwZ+YWe/BFFXCIGUizgVaL0bGGeTQAsICG2jho7cIR9pkeC7R5bDQ=="}]},"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiM2Q5ZDQ0ZGRiOThlZmZhNWJiOThmOGEyNzhjNjZjYmVlOWQwNGE0NjhlOWE4YjcxM2M2ZTBhY2E4NzE1MjNiNiJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjEwLCJwcmV2aW91c19zaGEyNTYiOiIwMDU3ZmNlMzExNjViMzAzMzZkNDBmNTYyMGM4ZmU0NmM0Nzk3MGFjMWQ0MmVmNzZiM2JmMzg5ODc5ZTI3ZDg1IiwiZW50cnlfc2hhMjU2IjoiM2Q5ZDQ0ZGRiOThlZmZhNWJiOThmOGEyNzhjNjZjYmVlOWQwNGE0NjhlOWE4YjcxM2M2ZTBhY2E4NzE1MjNiNiJ9fQ==","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"Vj+7rODXJlZexgSu1q6J8j9UkXTBeqNhbBTsXOLDUq1Ginftr23XVL28yKRfpU8ohXYcH8BZZReZvoOgfqxpAQ=="}]}}
{"link":{"payloadType":"application/vnd.in-toto+json","payload":"eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJzdWJqZWN0IjpbeyJuYW1lIjoiYnVuZGxlLWxpbmUiLCJkaWdlc3QiOnsic2hhMjU2IjoiODAwMjdhMzBjZGVlZTgwODg2MmI5MTdiOWIyOGE3MmFhNTQyOGUzMDc4MWE0MzkxMTFjNzg3MWVmMWY2ODE3NiJ9fV0sInByZWRpY2F0ZVR5cGUiOiJodHRwczovL3BsaW1zb2xsbWFyay5naXRodWIuaW8vcGxpbXNvbGwvYnVuZGxlLWxpbmsvdjEiLCJwcmVkaWNhdGUiOnsiaW5kZXgiOjExLCJwcmV2aW91c19zaGEyNTYiOiI4MDAyN2EzMGNkZWVlODA4ODYyYjkxN2I5YjI4YTcyYWE1NDI4ZTMwNzgxYTQzOTExMWM3ODcxZWYxZjY4MTc2IiwiY2hlY2twb2ludCI6dHJ1ZSwibGluZXMiOjEwfX0=","signatures":[{"keyid":"7a18587d071f80248dfd17aa50c3d4f89f18b17d8544bdd31a36f5a13c8c388a","sig":"ubnPqUnAskxHLmtKR79NO84fjcQ0stwjnyUK4GMQjC/KUjmqsrug4vEa6guFc6CeeVe1bhwgLwbIXEQyAIpQBA=="}]}}
