Production-ready, authenticated Firecrawl with persistent queues, browser rendering, a generated API key, and interactive OpenAPI documentation.
How to deploy
Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:
ewogICJjb21wb3NlIjogIiMgVGhlIGRhdGFiYXNlIHNjaGVtYSBhbmQgT3BlbkFQSSBhcnRpZmFjdCBhcmUgZ2VuZXJhdGVkIGZyb20gRmlyZWNyYXdsXG4jIHYyLjExLjIzMCBhbmQgZW1iZWRkZWQgYXMgQ29tcG9zZSBjb25maWdzIHNvIERva3Bsb3kgY2FuIGltcG9ydCB0aGUgZW50aXJlXG4jIGF1dGhlbnRpY2F0ZWQgc3RhY2sgYXMgb25lIHRlbXBsYXRlIHdpdGhvdXQgZXh0ZXJuYWwgZmlsZXMuXG5cbngtbG9nZ2luZzogJmRlZmF1bHQtbG9nZ2luZ1xuICBkcml2ZXI6IGpzb24tZmlsZVxuICBvcHRpb25zOlxuICAgIG1heC1zaXplOiBcIjEwbVwiXG4gICAgbWF4LWZpbGU6IFwiM1wiXG4gICAgY29tcHJlc3M6IFwidHJ1ZVwiXG5cbnNlcnZpY2VzOlxuICBmaXJlY3Jhd2wtZGI6XG4gICAgaW1hZ2U6IHBvc3RncmVzOjE3LWFscGluZUBzaGEyNTY6MThjZmUzZWY1ZTY4MTU1NjBjOTgyMzdkNjIxNmQxZTUxMTk3MDJmYjBmMzg5NGM4Nzg1ZGQ1OGI4YmJlNWQ3M1xuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBQT1NUR1JFU19VU0VSOiBwb3N0Z3Jlc1xuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICR7QVBQX1BPU1RHUkVTX1BBU1NXT1JEOj9yZXF1aXJlZH1cbiAgICAgIFBPU1RHUkVTX0RCOiBmaXJlY3Jhd2xcbiAgICBjb25maWdzOlxuICAgICAgLSBzb3VyY2U6IGRiLWluaXQtcHJlcmVxdWlzaXRlc1xuICAgICAgICB0YXJnZXQ6IC9kb2NrZXItZW50cnlwb2ludC1pbml0ZGIuZC8wMTAtcHJlcmVxdWlzaXRlcy5zcWxcbiAgICAgIC0gc291cmNlOiBkYi1pbml0LXNjaGVtYVxuICAgICAgICB0YXJnZXQ6IC9kb2NrZXItZW50cnlwb2ludC1pbml0ZGIuZC8wMjAtY3VycmVudC1zY2hlbWEuc3FsXG4gICAgICAtIHNvdXJjZTogZGItaW5pdC1jb25zdHJhaW50c1xuICAgICAgICB0YXJnZXQ6IC9kb2NrZXItZW50cnlwb2ludC1pbml0ZGIuZC8wMzAtc2VsZmhvc3QtY29uc3RyYWludHMuc3FsXG4gICAgICAtIHNvdXJjZTogZGItaW5pdC1ycGNzXG4gICAgICAgIHRhcmdldDogL2RvY2tlci1lbnRyeXBvaW50LWluaXRkYi5kLzA0MC1zZWxmaG9zdC1ycGNzLnNxbFxuICAgIHZvbHVtZXM6XG4gICAgICAtIGZpcmVjcmF3bC1kYi1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogW1wiQ01ELVNIRUxMXCIsIFwicGdfaXNyZWFkeSAtVSBwb3N0Z3JlcyAtZCBmaXJlY3Jhd2xcIl1cbiAgICAgIGludGVydmFsOiA1c1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDIwXG4gICAgICBzdGFydF9wZXJpb2Q6IDEwc1xuICAgIGxvZ2dpbmc6ICpkZWZhdWx0LWxvZ2dpbmdcblxuICBmaXJlY3Jhd2wtZGItc2VlZDpcbiAgICBpbWFnZTogcG9zdGdyZXM6MTctYWxwaW5lQHNoYTI1NjoxOGNmZTNlZjVlNjgxNTU2MGM5ODIzN2Q2MjE2ZDFlNTExOTcwMmZiMGYzODk0Yzg3ODVkZDU4YjhiYmU1ZDczXG4gICAgcmVzdGFydDogXCJub1wiXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIGZpcmVjcmF3bC1kYjpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHlcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIFBHSE9TVDogZmlyZWNyYXdsLWRiXG4gICAgICBQR1BPUlQ6IFwiNTQzMlwiXG4gICAgICBQR1VTRVI6IHBvc3RncmVzXG4gICAgICBQR1BBU1NXT1JEOiAke0FQUF9QT1NUR1JFU19QQVNTV09SRDo/cmVxdWlyZWR9XG4gICAgICBQR0RBVEFCQVNFOiBmaXJlY3Jhd2xcbiAgICAgIEZJUkVDUkFXTF9PUkdfSUQ6ICR7RklSRUNSQVdMX09SR19JRDo/cmVxdWlyZWR9XG4gICAgICBGSVJFQ1JBV0xfVEVBTV9JRDogJHtGSVJFQ1JBV0xfVEVBTV9JRDo/cmVxdWlyZWR9XG4gICAgICBGSVJFQ1JBV0xfQVBJX0tFWTogJHtGSVJFQ1JBV0xfQVBJX0tFWTo/cmVxdWlyZWR9XG4gICAgY29uZmlnczpcbiAgICAgIC0gc291cmNlOiBkYi1zZWVkXG4gICAgICAgIHRhcmdldDogL3NlZWQuc3FsXG4gICAgY29tbWFuZDpcbiAgICAgIC0gL2Jpbi9zaFxuICAgICAgLSAtZWNcbiAgICAgIC0gPi1cbiAgICAgICAgcHNxbFxuICAgICAgICAtdiBvcmdfaWQ9XCIkJHtGSVJFQ1JBV0xfT1JHX0lEfVwiXG4gICAgICAgIC12IHRlYW1faWQ9XCIkJHtGSVJFQ1JBV0xfVEVBTV9JRH1cIlxuICAgICAgICAtdiBhcGlfa2V5PVwiJCR7RklSRUNSQVdMX0FQSV9LRVl9XCJcbiAgICAgICAgLWYgL3NlZWQuc3FsXG4gICAgbG9nZ2luZzogKmRlZmF1bHQtbG9nZ2luZ1xuXG4gIG51cS1wb3N0Z3JlczpcbiAgICBpbWFnZTogZ2hjci5pby9maXJlY3Jhd2wvbnVxLXBvc3RncmVzQHNoYTI1NjphZWQ4NmY2Mjg1OGYyOWJkOTcxYWJkZGNkZWIzMDFjMTI4ODgwOThkMmNmNWQzM2MxYmE0MmIwNTNiYzQ2MGY2XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIFBPU1RHUkVTX1VTRVI6IHBvc3RncmVzXG4gICAgICBQT1NUR1JFU19QQVNTV09SRDogJHtOVVFfUE9TVEdSRVNfUEFTU1dPUkQ6P3JlcXVpcmVkfVxuICAgICAgUE9TVEdSRVNfREI6IHBvc3RncmVzXG4gICAgdm9sdW1lczpcbiAgICAgIC0gbnVxLXBvc3RncmVzLWRhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTUQtU0hFTExcIiwgXCJwZ19pc3JlYWR5IC1VIHBvc3RncmVzIC1kIHBvc3RncmVzXCJdXG4gICAgICBpbnRlcnZhbDogNXNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiAyMFxuICAgICAgc3RhcnRfcGVyaW9kOiAxMHNcbiAgICBsb2dnaW5nOiAqZGVmYXVsdC1sb2dnaW5nXG5cbiAgcmVkaXM6XG4gICAgaW1hZ2U6IHJlZGlzOjctYWxwaW5lQHNoYTI1NjpmZjAyYjU4Zjk3MWU3ZDdkMTU2YTEyNjdlMjgzZmNiYmVlZTkxNzczYjZhYTM2YzQ5ZGFjMjhlY2ZlMjhlYWRmXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIFJFRElTX1BBU1NXT1JEOiAke1JFRElTX1BBU1NXT1JEOj9yZXF1aXJlZH1cbiAgICBjb21tYW5kOlxuICAgICAgLSAvYmluL3NoXG4gICAgICAtIC1lY1xuICAgICAgLSBleGVjIHJlZGlzLXNlcnZlciAtLWJpbmQgMC4wLjAuMCAtLWFwcGVuZG9ubHkgeWVzIC0tcmVxdWlyZXBhc3MgXCIkJHtSRURJU19QQVNTV09SRH1cIlxuICAgIHZvbHVtZXM6XG4gICAgICAtIHJlZGlzLWRhdGE6L2RhdGFcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6IFtcIkNNRC1TSEVMTFwiLCBcInJlZGlzLWNsaSAtYSBcXFwiJCR7UkVESVNfUEFTU1dPUkR9XFxcIiAtLW5vLWF1dGgtd2FybmluZyBwaW5nIHwgZ3JlcCAtcSBQT05HXCJdXG4gICAgICBpbnRlcnZhbDogNXNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiAyMFxuICAgICAgc3RhcnRfcGVyaW9kOiA1c1xuICAgIGxvZ2dpbmc6ICpkZWZhdWx0LWxvZ2dpbmdcblxuICByYWJiaXRtcTpcbiAgICBpbWFnZTogcmFiYml0bXE6My1tYW5hZ2VtZW50QHNoYTI1NjplNTgyYzBiYzc3NjZmMzM0MjQ5NmQ4NDg1ZWZiNWExZGY3ODJiNWNlMzg4NmFkMDE3ZTJlYWFlNDQyMzExZjY5XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIFJBQkJJVE1RX0RFRkFVTFRfVVNFUjogJHtSQUJCSVRNUV9VU0VSOj9yZXF1aXJlZH1cbiAgICAgIFJBQkJJVE1RX0RFRkFVTFRfUEFTUzogJHtSQUJCSVRNUV9QQVNTV09SRDo/cmVxdWlyZWR9XG4gICAgdm9sdW1lczpcbiAgICAgIC0gcmFiYml0bXEtZGF0YTovdmFyL2xpYi9yYWJiaXRtcVxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogW1wiQ01EXCIsIFwicmFiYml0bXEtZGlhZ25vc3RpY3NcIiwgXCItcVwiLCBcImNoZWNrX3J1bm5pbmdcIl1cbiAgICAgIGludGVydmFsOiA1c1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDIwXG4gICAgICBzdGFydF9wZXJpb2Q6IDE1c1xuICAgIGxvZ2dpbmc6ICpkZWZhdWx0LWxvZ2dpbmdcblxuICBwbGF5d3JpZ2h0LXNlcnZpY2U6XG4gICAgaW1hZ2U6IGdoY3IuaW8vZmlyZWNyYXdsL3BsYXl3cmlnaHQtc2VydmljZUBzaGEyNTY6NDY4MDA5YmFlMDA5MTFkNDBkNzEyMGQ1ODQ4OWExZDUyOTM2MmMyMmM0NTU4NWNiOTA3NjA5NGZlNjFiMDAyNVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICBQT1JUOiBcIjMwMDBcIlxuICAgICAgTUFYX0NPTkNVUlJFTlRfUEFHRVM6ICR7Q1JBV0xfQ09OQ1VSUkVOVF9SRVFVRVNUUzotMTB9XG4gICAgICBBTExPV19MT0NBTF9XRUJIT09LUzogJHtBTExPV19MT0NBTF9XRUJIT09LUzotZmFsc2V9XG4gICAgICBCTE9DS19NRURJQTogJHtCTE9DS19NRURJQTotdHJ1ZX1cbiAgICAgIFBST1hZX1NFUlZFUjogJHtQUk9YWV9TRVJWRVI6LX1cbiAgICAgIFBST1hZX1VTRVJOQU1FOiAke1BST1hZX1VTRVJOQU1FOi19XG4gICAgICBQUk9YWV9QQVNTV09SRDogJHtQUk9YWV9QQVNTV09SRDotfVxuICAgIHNlY3VyaXR5X29wdDpcbiAgICAgIC0gbm8tbmV3LXByaXZpbGVnZXM6dHJ1ZVxuICAgIGNhcF9kcm9wOlxuICAgICAgLSBBTExcbiAgICB0bXBmczpcbiAgICAgIC0gL3RtcC8uY2FjaGU6bm9leGVjLG5vc3VpZCxzaXplPTFnXG4gICAgbG9nZ2luZzogKmRlZmF1bHQtbG9nZ2luZ1xuXG4gIGZpcmVjcmF3bDpcbiAgICBpbWFnZTogZ2hjci5pby9maXJlY3Jhd2wvZmlyZWNyYXdsOjIuMTEuMjMwQHNoYTI1Njo3YzViZjI4ZGQzMzk3YmU5YTViZmIxMDNhZGVlZjlhZGVmYmFkMzUyZDIyMzAxMWRhMWJhYjYwNmEwMDQ0NDE2XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBjb21tYW5kOiBub2RlIGRpc3Qvc3JjL2hhcm5lc3MuanMgLS1zdGFydC1kb2NrZXJcbiAgICB1bGltaXRzOlxuICAgICAgbm9maWxlOlxuICAgICAgICBzb2Z0OiA2NTUzNVxuICAgICAgICBoYXJkOiA2NTUzNVxuICAgIGVudmlyb25tZW50OlxuICAgICAgRU5WOiBsb2NhbFxuICAgICAgSE9TVDogMC4wLjAuMFxuICAgICAgUE9SVDogXCIzMDAyXCJcbiAgICAgIEVYVFJBQ1RfV09SS0VSX1BPUlQ6IFwiMzAwNFwiXG4gICAgICBXT1JLRVJfUE9SVDogXCIzMDA1XCJcbiAgICAgIFVTRV9EQl9BVVRIRU5USUNBVElPTjogXCJ0cnVlXCJcbiAgICAgIERBVEFCQVNFX1VSTDogcG9zdGdyZXNxbDovL3Bvc3RncmVzOiR7QVBQX1BPU1RHUkVTX1BBU1NXT1JEOj9yZXF1aXJlZH1AZmlyZWNyYXdsLWRiOjU0MzIvZmlyZWNyYXdsXG4gICAgICBEQVRBQkFTRV9SRVBMSUNBX1VSTDogcG9zdGdyZXNxbDovL3Bvc3RncmVzOiR7QVBQX1BPU1RHUkVTX1BBU1NXT1JEOj9yZXF1aXJlZH1AZmlyZWNyYXdsLWRiOjU0MzIvZmlyZWNyYXdsXG4gICAgICBSRURJU19VUkw6IHJlZGlzOi8vOiR7UkVESVNfUEFTU1dPUkQ6P3JlcXVpcmVkfUByZWRpczo2Mzc5XG4gICAgICBSRURJU19SQVRFX0xJTUlUX1VSTDogcmVkaXM6Ly86JHtSRURJU19QQVNTV09SRDo/cmVxdWlyZWR9QHJlZGlzOjYzNzlcbiAgICAgIFBMQVlXUklHSFRfTUlDUk9TRVJWSUNFX1VSTDogaHR0cDovL3BsYXl3cmlnaHQtc2VydmljZTozMDAwL3NjcmFwZVxuICAgICAgTlVRX0RBVEFCQVNFX1VSTDogcG9zdGdyZXNxbDovL3Bvc3RncmVzOiR7TlVRX1BPU1RHUkVTX1BBU1NXT1JEOj9yZXF1aXJlZH1AbnVxLXBvc3RncmVzOjU0MzIvcG9zdGdyZXNcbiAgICAgIE5VUV9EQVRBQkFTRV9VUkxfTElTVEVOOiBwb3N0Z3Jlc3FsOi8vcG9zdGdyZXM6JHtOVVFfUE9TVEdSRVNfUEFTU1dPUkQ6P3JlcXVpcmVkfUBudXEtcG9zdGdyZXM6NTQzMi9wb3N0Z3Jlc1xuICAgICAgTlVRX1JBQkJJVE1RX1VSTDogYW1xcDovLyR7UkFCQklUTVFfVVNFUjo/cmVxdWlyZWR9OiR7UkFCQklUTVFfUEFTU1dPUkQ6P3JlcXVpcmVkfUByYWJiaXRtcTo1NjcyXG4gICAgICBQT1NUR1JFU19VU0VSOiBwb3N0Z3Jlc1xuICAgICAgUE9TVEdSRVNfUEFTU1dPUkQ6ICR7TlVRX1BPU1RHUkVTX1BBU1NXT1JEOj9yZXF1aXJlZH1cbiAgICAgIFBPU1RHUkVTX0RCOiBwb3N0Z3Jlc1xuICAgICAgUE9TVEdSRVNfSE9TVDogbnVxLXBvc3RncmVzXG4gICAgICBQT1NUR1JFU19QT1JUOiBcIjU0MzJcIlxuICAgICAgTlVNX1dPUktFUlNfUEVSX1FVRVVFOiAke05VTV9XT1JLRVJTX1BFUl9RVUVVRTotOH1cbiAgICAgIENSQVdMX0NPTkNVUlJFTlRfUkVRVUVTVFM6ICR7Q1JBV0xfQ09OQ1VSUkVOVF9SRVFVRVNUUzotMTB9XG4gICAgICBNQVhfQ09OQ1VSUkVOVF9KT0JTOiAke01BWF9DT05DVVJSRU5UX0pPQlM6LTV9XG4gICAgICBCUk9XU0VSX1BPT0xfU0laRTogJHtCUk9XU0VSX1BPT0xfU0laRTotNX1cbiAgICAgIEhBUk5FU1NfU1RBUlRVUF9USU1FT1VUX01TOiBcIjEyMDAwMFwiXG4gICAgICBMT0dHSU5HX0xFVkVMOiAke0xPR0dJTkdfTEVWRUw6LUlORk99XG4gICAgICBESVNBQkxFX0VOR1BJQ0tFUjogJHtESVNBQkxFX0VOR1BJQ0tFUjotdHJ1ZX1cbiAgICAgIEJVTExfQVVUSF9LRVk6ICR7QlVMTF9BVVRIX0tFWTo/cmVxdWlyZWR9XG4gICAgICBPUEVOQUlfQVBJX0tFWTogJHtPUEVOQUlfQVBJX0tFWTotfVxuICAgICAgT1BFTkFJX0JBU0VfVVJMOiAke09QRU5BSV9CQVNFX1VSTDotfVxuICAgICAgT1BFTlJPVVRFUl9BUElfS0VZOiAke09QRU5ST1VURVJfQVBJX0tFWTotfVxuICAgICAgT0xMQU1BX0JBU0VfVVJMOiAke09MTEFNQV9CQVNFX1VSTDotfVxuICAgICAgTU9ERUxfTkFNRTogJHtNT0RFTF9OQU1FOi19XG4gICAgICBNT0RFTF9FTUJFRERJTkdfTkFNRTogJHtNT0RFTF9FTUJFRERJTkdfTkFNRTotfVxuICAgICAgU0VBUkNIQVBJX0FQSV9LRVk6ICR7U0VBUkNIQVBJX0FQSV9LRVk6LX1cbiAgICAgIExMQU1BUEFSU0VfQVBJX0tFWTogJHtMTEFNQVBBUlNFX0FQSV9LRVk6LX1cbiAgICAgIFNMQUNLX1dFQkhPT0tfVVJMOiAke1NMQUNLX1dFQkhPT0tfVVJMOi19XG4gICAgICBTRUFSWE5HX0VORFBPSU5UOiAke1NFQVJYTkdfRU5EUE9JTlQ6LX1cbiAgICAgIFNFQVJYTkdfRU5HSU5FUzogJHtTRUFSWE5HX0VOR0lORVM6LX1cbiAgICAgIFNFQVJYTkdfQ0FURUdPUklFUzogJHtTRUFSWE5HX0NBVEVHT1JJRVM6LX1cbiAgICAgIFNFTEZfSE9TVEVEX1dFQkhPT0tfVVJMOiAke1NFTEZfSE9TVEVEX1dFQkhPT0tfVVJMOi19XG4gICAgICBTRUxGX0hPU1RFRF9XRUJIT09LX0hNQUNfU0VDUkVUOiAke1NFTEZfSE9TVEVEX1dFQkhPT0tfSE1BQ19TRUNSRVQ6LX1cbiAgICAgIFBST1hZX1NFUlZFUjogJHtQUk9YWV9TRVJWRVI6LX1cbiAgICAgIFBST1hZX1VTRVJOQU1FOiAke1BST1hZX1VTRVJOQU1FOi19XG4gICAgICBQUk9YWV9QQVNTV09SRDogJHtQUk9YWV9QQVNTV09SRDotfVxuICAgICAgQUxMT1dfTE9DQUxfV0VCSE9PS1M6ICR7QUxMT1dfTE9DQUxfV0VCSE9PS1M6LWZhbHNlfVxuICAgIGV4cG9zZTpcbiAgICAgIC0gXCIzMDAyXCJcbiAgICBkZXBlbmRzX29uOlxuICAgICAgZmlyZWNyYXdsLWRiLXNlZWQ6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9jb21wbGV0ZWRfc3VjY2Vzc2Z1bGx5XG4gICAgICBudXEtcG9zdGdyZXM6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgICByZWRpczpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX2hlYWx0aHlcbiAgICAgIHJhYmJpdG1xOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgICAgcGxheXdyaWdodC1zZXJ2aWNlOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2Vfc3RhcnRlZFxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDpcbiAgICAgICAgLSBDTURcbiAgICAgICAgLSBub2RlXG4gICAgICAgIC0gLWVcbiAgICAgICAgLSA+LVxuICAgICAgICAgIGZldGNoKCdodHRwOi8vMTI3LjAuMC4xOjMwMDIvdjAvaGVhbHRoL2xpdmVuZXNzJykudGhlbihyPT5wcm9jZXNzLmV4aXQoci5vaz8wOjEpKS5jYXRjaCgoKT0+cHJvY2Vzcy5leGl0KDEpKVxuICAgICAgaW50ZXJ2YWw6IDEwc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDIwXG4gICAgICBzdGFydF9wZXJpb2Q6IDYwc1xuICAgIGxvZ2dpbmc6ICpkZWZhdWx0LWxvZ2dpbmdcblxuICBzd2FnZ2VyLXVpOlxuICAgIGltYWdlOiBzd2FnZ2VyYXBpL3N3YWdnZXItdWk6djUuMzIuMTRAc2hhMjU2OjNkOTMxNjk5Njg4NDhkMzcxYTZhNTZjYTFhYjE4YjQ3YTg5MDZiYTQ2MWI4ZWJhMDY4ODg2NjM1NGY1NDMxZDVcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGVudmlyb25tZW50OlxuICAgICAgU1dBR0dFUl9KU09OX1VSTDogL29wZW5hcGkuanNvblxuICAgICAgREVFUF9MSU5LSU5HOiBcInRydWVcIlxuICAgICAgRElTUExBWV9PUEVSQVRJT05fSUQ6IFwiZmFsc2VcIlxuICAgICAgRElTUExBWV9SRVFVRVNUX0RVUkFUSU9OOiBcInRydWVcIlxuICAgICAgRE9DX0VYUEFOU0lPTjogbm9uZVxuICAgICAgUEVSU0lTVF9BVVRIT1JJWkFUSU9OOiBcInRydWVcIlxuICAgICAgVFJZX0lUX09VVF9FTkFCTEVEOiBcInRydWVcIlxuICAgIGNvbmZpZ3M6XG4gICAgICAtIHNvdXJjZTogZmlyZWNyYXdsLW9wZW5hcGlcbiAgICAgICAgdGFyZ2V0OiAvdG1wL29wZW5hcGkuanNvbi5nei5iNjRcbiAgICBjb21tYW5kOlxuICAgICAgLSAvYmluL3NoXG4gICAgICAtIC1lY1xuICAgICAgLSA+LVxuICAgICAgICBiYXNlNjQgLWQgL3RtcC9vcGVuYXBpLmpzb24uZ3ouYjY0IHwgZ3ppcCAtZGMgPiAvdXNyL3NoYXJlL25naW54L2h0bWwvb3BlbmFwaS5qc29uO1xuICAgICAgICBleGVjIC9kb2NrZXItZW50cnlwb2ludC5zaCBuZ2lueCAtZyAnZGFlbW9uIG9mZjsnXG4gICAgZXhwb3NlOlxuICAgICAgLSBcIjgwODBcIlxuICAgIGxvZ2dpbmc6ICpkZWZhdWx0LWxvZ2dpbmdcblxuICBnYXRld2F5OlxuICAgIGltYWdlOiBuZ2lueDoxLjI5LWFscGluZUBzaGEyNTY6NTYxNjg3ODI5MWEyZWVkNTk0YWVlOGRiNGRhZGU1ODc4Y2Y3ZWRjYjQ3NWU1OTE5MzkwNGIxOThkOWI4MzBkZVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgY29uZmlnczpcbiAgICAgIC0gc291cmNlOiBmaXJlY3Jhd2wtZ2F0ZXdheS1uZ2lueFxuICAgICAgICB0YXJnZXQ6IC9ldGMvbmdpbngvY29uZi5kL2RlZmF1bHQuY29uZlxuICAgIGV4cG9zZTpcbiAgICAgIC0gXCI4MDgwXCJcbiAgICBkZXBlbmRzX29uOlxuICAgICAgZmlyZWNyYXdsOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgICAgc3dhZ2dlci11aTpcbiAgICAgICAgY29uZGl0aW9uOiBzZXJ2aWNlX3N0YXJ0ZWRcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6IFtcIkNNRC1TSEVMTFwiLCBcIndnZXQgLXEgLU8gL2Rldi9udWxsIGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC92MC9oZWFsdGgvbGl2ZW5lc3NcIl1cbiAgICAgIGludGVydmFsOiAxMHNcbiAgICAgIHRpbWVvdXQ6IDVzXG4gICAgICByZXRyaWVzOiAyMFxuICAgICAgc3RhcnRfcGVyaW9kOiAxMHNcbiAgICBsb2dnaW5nOiAqZGVmYXVsdC1sb2dnaW5nXG5cbmNvbmZpZ3M6XG4gIGRiLWluaXQtcHJlcmVxdWlzaXRlczpcbiAgICBjb250ZW50OiB8XG4gICAgICBcXHNldCBPTl9FUlJPUl9TVE9QIG9uXG5cbiAgICAgIENSRUFURSBTQ0hFTUEgSUYgTk9UIEVYSVNUUyBleHRlbnNpb25zO1xuICAgICAgQ1JFQVRFIEVYVEVOU0lPTiBJRiBOT1QgRVhJU1RTIHBnY3J5cHRvIFdJVEggU0NIRU1BIGV4dGVuc2lvbnM7XG5cbiAgICAgIENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIHB1YmxpYy5vcmdhbml6YXRpb25zIChcbiAgICAgICAgaWQgdXVpZCBQUklNQVJZIEtFWSBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpLFxuICAgICAgICBuYW1lIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIGNyZWF0ZWRfYXQgdGltZXN0YW1wdHogTk9UIE5VTEwgREVGQVVMVCBub3coKSxcbiAgICAgICAgdXBkYXRlZF9hdCB0aW1lc3RhbXB0eiBOT1QgTlVMTCBERUZBVUxUIG5vdygpXG4gICAgICApO1xuXG4gIGRiLWluaXQtc2NoZW1hOlxuICAgICMgR2VuZXJhdGVkIGZyb20gYXBwcy9hcGkvc3JjL2RiL3NjaGVtYS9wdWJsaWMudHMgYXQgdjIuMTEuMjMwLlxuICAgIGNvbnRlbnQ6IHxcbiAgICAgIENSRUFURSBUQUJMRSBcImFnZW50X3Nwb25zb3JzXCIgKFxuICAgICAgICBcImlkXCIgYmlnaW50IEdFTkVSQVRFRCBCWSBERUZBVUxUIEFTIElERU5USVRZIChzZXF1ZW5jZSBuYW1lIFwiYWdlbnRfc3BvbnNvcnNfaWRfc2VxXCIgSU5DUkVNRU5UIEJZIDEgTUlOVkFMVUUgMSBNQVhWQUxVRSA5MjIzMzcyMDM2ODU0Nzc1ODA3IFNUQVJUIFdJVEggMSBDQUNIRSAxKSxcbiAgICAgICAgXCJlbWFpbFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwic3RhdHVzXCIgdGV4dCBERUZBVUxUICdwZW5kaW5nJyBOT1QgTlVMTCxcbiAgICAgICAgXCJ2ZXJpZmljYXRpb25fZGVhZGxpbmVcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgTk9UIE5VTEwsXG4gICAgICAgIFwiYWdlbnRfbmFtZVwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwic2FuZGJveGVkX3RlYW1faWRcIiB1dWlkLFxuICAgICAgICBcImFwaV9rZXlfaWRcIiBiaWdpbnQsXG4gICAgICAgIFwicmVxdWVzdGluZ19pcFwiIHRleHQsXG4gICAgICAgIFwidG9zX3ZlcnNpb25cIiB0ZXh0LFxuICAgICAgICBcInRvc19oYXNoXCIgdGV4dCxcbiAgICAgICAgXCJ2ZXJpZmljYXRpb25fdG9rZW5cIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSxcbiAgICAgICAgXCJ2ZXJpZmllZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJ1cGRhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KClcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImFnZW50c1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidGVhbV9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwib3B0aW9uc1wiIGpzb25iLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImNvc3RfdHJhY2tpbmdcIiBqc29uYixcbiAgICAgICAgXCJpc19zdWNjZXNzZnVsXCIgYm9vbGVhbiBOT1QgTlVMTCxcbiAgICAgICAgXCJlcnJvclwiIHRleHRcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImFwaV9rZXlzXCIgKFxuICAgICAgICBcImlkXCIgYmlnaW50IEdFTkVSQVRFRCBCWSBERUZBVUxUIEFTIElERU5USVRZIChzZXF1ZW5jZSBuYW1lIFwiYXBpX2tleXNfaWRfc2VxXCIgSU5DUkVNRU5UIEJZIDEgTUlOVkFMVUUgMSBNQVhWQUxVRSA5MjIzMzcyMDM2ODU0Nzc1ODA3IFNUQVJUIFdJVEggMSBDQUNIRSAxKSxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCksXG4gICAgICAgIFwia2V5XCIgdXVpZCBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpLFxuICAgICAgICBcIm5hbWVcIiB0ZXh0LFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkLFxuICAgICAgICBcIm93bmVyX2lkXCIgdXVpZCxcbiAgICAgICAgXCJhZ2VudF9wcm92aXNpb25lZFwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSxcbiAgICAgICAgXCJjb25jdXJyZW5jeVwiIGludGVnZXIsXG4gICAgICAgIENPTlNUUkFJTlQgXCJhcGlfa2V5c19pZF90ZWFtX2lkX2tleVwiIFVOSVFVRShcImlkXCIsXCJ0ZWFtX2lkXCIpXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJiYXRjaF9zY3JhcGVzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwibnVtX2RvY3NcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImNyZWRpdHNfY29zdFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgIFwiY2FuY2VsbGVkXCIgYm9vbGVhbiBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwiYmxvY2tsaXN0XCIgKFxuICAgICAgICBcImlkXCIgYmlnaW50IEdFTkVSQVRFRCBCWSBERUZBVUxUIEFTIElERU5USVRZIChzZXF1ZW5jZSBuYW1lIFwiYmxvY2tsaXN0X2lkX3NlcVwiIElOQ1JFTUVOVCBCWSAxIE1JTlZBTFVFIDEgTUFYVkFMVUUgOTIyMzM3MjAzNjg1NDc3NTgwNyBTVEFSVCBXSVRIIDEgQ0FDSEUgMSksXG4gICAgICAgIFwiZGF0YVwiIGpzb25iIE5PVCBOVUxMLFxuICAgICAgICBcIm9yZ19pZFwiIHV1aWRcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImJsb2NrbGlzdF9oaXRzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJkb21haW5cIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInVybFwiIHRleHQsXG4gICAgICAgIFwidGVhbV9pZFwiIHV1aWQsXG4gICAgICAgIFwib3JpZ2luXCIgdGV4dCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImJyb3dzZXJfc2Vzc2lvbl9hY3Rpdml0aWVzXCIgKFxuICAgICAgICBcImlkXCIgYmlnaW50IEdFTkVSQVRFRCBBTFdBWVMgQVMgSURFTlRJVFkgKHNlcXVlbmNlIG5hbWUgXCJicm93c2VyX3Nlc3Npb25fYWN0aXZpdGllc19pZF9zZXFcIiBJTkNSRU1FTlQgQlkgMSBNSU5WQUxVRSAxIE1BWFZBTFVFIDkyMjMzNzIwMzY4NTQ3NzU4MDcgU1RBUlQgV0lUSCAxIENBQ0hFIDEpLFxuICAgICAgICBcInRlYW1faWRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInNlc3Npb25faWRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImxhbmd1YWdlXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lb3V0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJleGl0X2NvZGVcIiBpbnRlZ2VyLFxuICAgICAgICBcImtpbGxlZFwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwic291cmNlXCIgdGV4dCBERUZBVUxUICdicm93c2VyJ1xuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwiYnJvd3Nlcl9zZXNzaW9uc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidGVhbV9pZFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQsXG4gICAgICAgIFwic2hvdWxkX2JpbGxcIiBib29sZWFuIERFRkFVTFQgdHJ1ZSBOT1QgTlVMTCxcbiAgICAgICAgXCJicm93c2VyX2lkXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJ3b3Jrc3BhY2VfaWRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImNvbnRleHRfaWRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImNkcF91cmxcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImNkcF9wYXRoXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJzdHJlYW1fd2ViX3ZpZXdcIiBib29sZWFuIERFRkFVTFQgZmFsc2UgTk9UIE5VTEwsXG4gICAgICAgIFwic3RhdHVzXCIgdGV4dCBERUZBVUxUICdhY3RpdmUnIE5PVCBOVUxMLFxuICAgICAgICBcInR0bF90b3RhbFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgIFwidHRsX3dpdGhvdXRfYWN0aXZpdHlcIiBpbnRlZ2VyLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cGRhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwiZGVsZXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJjcmVkaXRzX3VzZWRcIiBpbnRlZ2VyLFxuICAgICAgICBcImNkcF9pbnRlcmFjdGl2ZV9wYXRoXCIgdGV4dCxcbiAgICAgICAgXCJzY3JhcGVfaWRcIiB1dWlkXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJjb2RlX3NlYXJjaGVzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0YXJnZXRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJyZXNwb25zZVwiIGpzb25iLFxuICAgICAgICBcIm51bV9yZXN1bHRzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImlzX3N1Y2Nlc3NmdWxcIiBib29sZWFuIE5PVCBOVUxMLFxuICAgICAgICBcImVycm9yXCIgdGV4dCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImNyYXdsc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidXJsXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJvcHRpb25zXCIganNvbmIsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcIm51bV9kb2NzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImNhbmNlbGxlZFwiIGJvb2xlYW4gTk9UIE5VTEwsXG4gICAgICAgIFwibW9uaXRvcl9pZFwiIHV1aWQsXG4gICAgICAgIFwibW9uaXRvcl9jaGVja19pZFwiIHV1aWRcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImRlZXBfcmVzZWFyY2hlc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicXVlcnlcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImNvc3RfdHJhY2tpbmdcIiBqc29uYixcbiAgICAgICAgXCJvcHRpb25zXCIganNvbmJcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImRldGVybWluaXN0aWNfanNvbl9sbG1fY2FjaGVcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIFBSSU1BUlkgS0VZIERFRkFVTFQgZ2VuX3JhbmRvbV91dWlkKCksXG4gICAgICAgIFwiY2FjaGVfa2V5XCIgdGV4dCBOT1QgTlVMTCBVTklRVUUsXG4gICAgICAgIFwicmVzcG9uc2VcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJsYXN0X3VzZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwiZGV0ZXJtaW5pc3RpY19qc29uX3NjcmlwdHNcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIFBSSU1BUlkgS0VZIERFRkFVTFQgZ2VuX3JhbmRvbV91dWlkKCksXG4gICAgICAgIFwiY2FjaGVfa2V5XCIgdGV4dCBOT1QgTlVMTCBVTklRVUUsXG4gICAgICAgIFwiY29kZVwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwidXJsXCIgdGV4dCxcbiAgICAgICAgXCJtb2RlbFwiIHRleHQsXG4gICAgICAgIFwiY2FjaGVfdmVyc2lvblwiIGludGVnZXIsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInVwZGF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJsYXN0X3VzZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwiZWItc3luY1wiIChcbiAgICAgICAgXCJpZFwiIGJpZ2ludCBHRU5FUkFURUQgQlkgREVGQVVMVCBBUyBJREVOVElUWSAoc2VxdWVuY2UgbmFtZSBcImViLXN5bmNfaWRfc2VxXCIgSU5DUkVNRU5UIEJZIDEgTUlOVkFMVUUgMSBNQVhWQUxVRSA5MjIzMzcyMDM2ODU0Nzc1ODA3IFNUQVJUIFdJVEggMSBDQUNIRSAxKSxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwidGVhbV9pZFwiIHRleHRcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImV4dHJhY3RzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cmxzXCIgdGV4dFtdIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJtb2RlbF9raW5kXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJpc19zdWNjZXNzZnVsXCIgYm9vbGVhbiBOT1QgTlVMTCxcbiAgICAgICAgXCJlcnJvclwiIHRleHQsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcImNyZWRpdHNfY29zdFwiIGludGVnZXIgTk9UIE5VTEwsXG4gICAgICAgIFwiY29zdF90cmFja2luZ1wiIGpzb25iXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJpZGVtcG90ZW5jeV9rZXlzXCIgKFxuICAgICAgICBcImtleVwiIHV1aWQgREVGQVVMVCBnZW5fcmFuZG9tX3V1aWQoKSBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcImlwX3Jlc3RyaWN0aW9uX2NvbmZpZ1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgREVGQVVMVCBnZW5fcmFuZG9tX3V1aWQoKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCBVTklRVUUsXG4gICAgICAgIFwiYWxsb3dlZF9pcHNcIiBqc29uYiBERUZBVUxUICdbXScgTk9UIE5VTEwsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInVwZGF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwia2V5X3Jlc3RyaWN0aW9uX2NvbmZpZ1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgREVGQVVMVCBnZW5fcmFuZG9tX3V1aWQoKSBOT1QgTlVMTCxcbiAgICAgICAgXCJhcGlfa2V5X2lkXCIgYmlnaW50IE5PVCBOVUxMIFVOSVFVRSxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJhbGxvd2VkX2Zvcm1hdHNcIiBqc29uYiBERUZBVUxUICdbXScgTk9UIE5VTEwsXG4gICAgICAgIFwiYWxsb3dlZF9lbmRwb2ludHNcIiBqc29uYiBERUZBVUxUICdbXScgTk9UIE5VTEwsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInVwZGF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgQ09OU1RSQUlOVCBcImFsbG93ZWRfZm9ybWF0c19pc19zdHJpbmdfYXJyYXlcIiBDSEVDSyAoanNvbmJfdHlwZW9mKFwiYWxsb3dlZF9mb3JtYXRzXCIpID0gJ2FycmF5JyBBTkQgTk9UIGpzb25iX3BhdGhfZXhpc3RzKFwiYWxsb3dlZF9mb3JtYXRzXCIsICckJFsqXSA/IChALnR5cGUoKSAhPSBcInN0cmluZ1wiKScpKSxcbiAgICAgICAgQ09OU1RSQUlOVCBcImFsbG93ZWRfZW5kcG9pbnRzX2lzX3N0cmluZ19hcnJheVwiIENIRUNLIChqc29uYl90eXBlb2YoXCJhbGxvd2VkX2VuZHBvaW50c1wiKSA9ICdhcnJheScgQU5EIE5PVCBqc29uYl9wYXRoX2V4aXN0cyhcImFsbG93ZWRfZW5kcG9pbnRzXCIsICckJFsqXSA/IChALnR5cGUoKSAhPSBcInN0cmluZ1wiKScpKVxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwia2V5bGVzc19jcmVkaXRfdXNhZ2VcIiAoXG4gICAgICAgIFwiaWRcIiBiaWdpbnQgR0VORVJBVEVEIEJZIERFRkFVTFQgQVMgSURFTlRJVFkgKHNlcXVlbmNlIG5hbWUgXCJrZXlsZXNzX2NyZWRpdF91c2FnZV9pZF9zZXFcIiBJTkNSRU1FTlQgQlkgMSBNSU5WQUxVRSAxIE1BWFZBTFVFIDkyMjMzNzIwMzY4NTQ3NzU4MDcgU1RBUlQgV0lUSCAxIENBQ0hFIDEpLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcImlwXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX3VzZWRcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwibGxtX3RleHRzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpIE5PVCBOVUxMLFxuICAgICAgICBcIm9yaWdpbl91cmxcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImxsbXN0eHRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImxsbXN0eHRfZnVsbFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwibWF4X3VybHNcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cGRhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJsbG1zdHh0c1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidXJsXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwibnVtX3VybHNcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJjb3N0X3RyYWNraW5nXCIganNvbmIsXG4gICAgICAgIFwiY3JlZGl0c19jb3N0XCIgaW50ZWdlciBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwibWFwc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidXJsXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJvcHRpb25zXCIganNvbmIsXG4gICAgICAgIFwidGVhbV9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcIm51bV9yZXN1bHRzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJtY3BfYWN0aW9uX2xvZ3NcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIFBSSU1BUlkgS0VZIERFRkFVTFQgZ2VuX3JhbmRvbV91dWlkKCksXG4gICAgICAgIFwidGVhbV9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidXNlcl9pZFwiIHV1aWQsXG4gICAgICAgIFwiYXBpX2tleV9pZFwiIGJpZ2ludCxcbiAgICAgICAgXCJvYXV0aF9jbGllbnRfaWRcIiB0ZXh0LFxuICAgICAgICBcImF1dGhfdHlwZVwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwidG9vbF9uYW1lXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJzdGF0dXNcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInJlcXVlc3RfaWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcImNsaWVudF9uYW1lXCIgdGV4dCxcbiAgICAgICAgXCJjbGllbnRfdmVyc2lvblwiIHRleHQsXG4gICAgICAgIFwiZXJyb3JfY2xhc3NcIiB0ZXh0LFxuICAgICAgICBcInJlc291cmNlXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwiZXhwaXJlc19hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBOT1QgTlVMTCxcbiAgICAgICAgQ09OU1RSQUlOVCBcIm1jcF9hY3Rpb25fbG9nc190ZWFtX3JlcXVlc3RfdW5pcXVlXCIgVU5JUVVFKFwidGVhbV9pZFwiLFwicmVxdWVzdF9pZFwiKVxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwibW9uaXRvcl9jaGVja19wYWdlc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwiY2hlY2tfaWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm1vbml0b3JfaWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcInRhcmdldF9pZFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwidXJsXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cmxfaGFzaFwiIGJ5dGVhIE5PVCBOVUxMLFxuICAgICAgICBcInN0YXR1c1wiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwicHJldmlvdXNfc2NyYXBlX2lkXCIgdXVpZCxcbiAgICAgICAgXCJjdXJyZW50X3NjcmFwZV9pZFwiIHV1aWQsXG4gICAgICAgIFwiZGlmZl9nY3Nfa2V5XCIgdGV4dCxcbiAgICAgICAgXCJkaWZmX3RleHRfYnl0ZXNcIiBpbnRlZ2VyLFxuICAgICAgICBcImRpZmZfanNvbl9ieXRlc1wiIGludGVnZXIsXG4gICAgICAgIFwic3RhdHVzX2NvZGVcIiBpbnRlZ2VyLFxuICAgICAgICBcImVycm9yXCIgdGV4dCxcbiAgICAgICAgXCJtZXRhZGF0YVwiIGpzb25iLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJqdWRnbWVudFwiIGpzb25iXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJtb25pdG9yX2NoZWNrc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwibW9uaXRvcl9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidGVhbV9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidHJpZ2dlclwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwic3RhdHVzXCIgdGV4dCBERUZBVUxUICdxdWV1ZWQnIE5PVCBOVUxMLFxuICAgICAgICBcInNjaGVkdWxlZF9mb3JcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUsXG4gICAgICAgIFwic3RhcnRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJmaW5pc2hlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJlc3RpbWF0ZWRfY3JlZGl0c1wiIGludGVnZXIsXG4gICAgICAgIFwicmVzZXJ2ZWRfY3JlZGl0c1wiIGludGVnZXIsXG4gICAgICAgIFwiYWN0dWFsX2NyZWRpdHNcIiBpbnRlZ2VyLFxuICAgICAgICBcImF1dHVtbl9sb2NrX2lkXCIgdGV4dCxcbiAgICAgICAgXCJiaWxsaW5nX3N0YXR1c1wiIHRleHQgREVGQVVMVCAnbm90X2FwcGxpY2FibGUnIE5PVCBOVUxMLFxuICAgICAgICBcInRvdGFsX3BhZ2VzXCIgaW50ZWdlciBERUZBVUxUIDAgTk9UIE5VTEwsXG4gICAgICAgIFwic2FtZV9jb3VudFwiIGludGVnZXIgREVGQVVMVCAwIE5PVCBOVUxMLFxuICAgICAgICBcImNoYW5nZWRfY291bnRcIiBpbnRlZ2VyIERFRkFVTFQgMCBOT1QgTlVMTCxcbiAgICAgICAgXCJuZXdfY291bnRcIiBpbnRlZ2VyIERFRkFVTFQgMCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZW1vdmVkX2NvdW50XCIgaW50ZWdlciBERUZBVUxUIDAgTk9UIE5VTEwsXG4gICAgICAgIFwiZXJyb3JfY291bnRcIiBpbnRlZ2VyIERFRkFVTFQgMCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0YXJnZXRfcmVzdWx0c1wiIGpzb25iLFxuICAgICAgICBcIndlYmhvb2tfcGF5bG9hZFwiIGpzb25iLFxuICAgICAgICBcImVtYWlsX3BheWxvYWRcIiBqc29uYixcbiAgICAgICAgXCJub3RpZmljYXRpb25fc3RhdHVzXCIganNvbmIsXG4gICAgICAgIFwiZXJyb3JcIiB0ZXh0LFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cGRhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcIm1vbml0b3JfZW1haWxfcmVjaXBpZW50c1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgREVGQVVMVCBnZW5fcmFuZG9tX3V1aWQoKSBOT1QgTlVMTCxcbiAgICAgICAgXCJtb25pdG9yX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJlbWFpbFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwic3RhdHVzXCIgdGV4dCBERUZBVUxUICdwZW5kaW5nJyBOT1QgTlVMTCxcbiAgICAgICAgXCJ0b2tlblwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwic291cmNlXCIgdGV4dCBERUZBVUxUICdvcHRfaW4nIE5PVCBOVUxMLFxuICAgICAgICBcImNvbmZpcm1hdGlvbl9zZW50X2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lLFxuICAgICAgICBcImNvbmZpcm1lZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJ1bnN1YnNjcmliZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUsXG4gICAgICAgIFwibGFzdF9ub3RpZmllZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJtb25pdG9yX3BhZ2VzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpIE5PVCBOVUxMLFxuICAgICAgICBcIm1vbml0b3JfaWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcInRhcmdldF9pZFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwidXJsXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cmxfaGFzaFwiIGJ5dGVhIE5PVCBOVUxMLFxuICAgICAgICBcInNvdXJjZVwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwiZmlyc3Rfc2Vlbl9jaGVja19pZFwiIHV1aWQsXG4gICAgICAgIFwibGFzdF9zZWVuX2NoZWNrX2lkXCIgdXVpZCxcbiAgICAgICAgXCJsYXN0X2NoYW5nZWRfY2hlY2tfaWRcIiB1dWlkLFxuICAgICAgICBcImxhc3Rfc2NyYXBlX2lkXCIgdXVpZCxcbiAgICAgICAgXCJsYXN0X3N0YXR1c1wiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwiaXNfcmVtb3ZlZFwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSBOT1QgTlVMTCxcbiAgICAgICAgXCJyZW1vdmVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lLFxuICAgICAgICBcIm1ldGFkYXRhXCIganNvbmIsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInVwZGF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwibW9uaXRvcnNcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm5hbWVcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInN0YXR1c1wiIHRleHQgREVGQVVMVCAnYWN0aXZlJyBOT1QgTlVMTCxcbiAgICAgICAgXCJzY2hlZHVsZV9jcm9uXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJzY2hlZHVsZV90aW1lem9uZVwiIHRleHQgREVGQVVMVCAnVVRDJyBOT1QgTlVMTCxcbiAgICAgICAgXCJuZXh0X3J1bl9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJsYXN0X3J1bl9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJsYXN0X2NoZWNrX2lkXCIgdXVpZCxcbiAgICAgICAgXCJjdXJyZW50X2NoZWNrX2lkXCIgdXVpZCxcbiAgICAgICAgXCJsb2NrZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUsXG4gICAgICAgIFwibG9ja2VkX3VudGlsXCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lLFxuICAgICAgICBcInJldGVudGlvbl9kYXlzXCIgaW50ZWdlciBERUZBVUxUIDMwIE5PVCBOVUxMLFxuICAgICAgICBcImVzdGltYXRlZF9jcmVkaXRzX3Blcl9tb250aFwiIGludGVnZXIsXG4gICAgICAgIFwidGFyZ2V0c1wiIGpzb25iIERFRkFVTFQgJ1tdJyBOT1QgTlVMTCxcbiAgICAgICAgXCJ3ZWJob29rXCIganNvbmIsXG4gICAgICAgIFwibm90aWZpY2F0aW9uXCIganNvbmIsXG4gICAgICAgIFwibGFzdF9jaGVja19zdW1tYXJ5XCIganNvbmIsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInVwZGF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJkZWxldGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lLFxuICAgICAgICBcImdvYWxcIiB0ZXh0LFxuICAgICAgICBcImp1ZGdlX2VuYWJsZWRcIiBib29sZWFuIERFRkFVTFQgZmFsc2UgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcIm5vdGlmaWNhdGlvbl9wcmVmZXJlbmNlc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgREVGQVVMVCBnZW5fcmFuZG9tX3V1aWQoKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ1c2VyX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJsYXN0X3JlZmVycmFsX25vdGlmaWNhdGlvblwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcImVtYWlsX3ByZWZlcmVuY2VzXCIgdGV4dFtdIERFRkFVTFQgJ3tyYXRlX2xpbWl0X3dhcm5pbmdzLHN5c3RlbV9hbGVydHN9Jzo6dGV4dFtdLFxuICAgICAgICBcInVuc3Vic2NyaWJlZF9hbGxcIiBib29sZWFuIERFRkFVTFQgZmFsc2VcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInBhcnNlc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwidXJsXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJpc19zdWNjZXNzZnVsXCIgYm9vbGVhbiBOT1QgTlVMTCxcbiAgICAgICAgXCJlcnJvclwiIHRleHQsXG4gICAgICAgIFwidGltZV90YWtlblwiIG51bWVyaWMgTk9UIE5VTEwsXG4gICAgICAgIFwidGVhbV9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwib3B0aW9uc1wiIGpzb25iLFxuICAgICAgICBcImNvc3RfdHJhY2tpbmdcIiBqc29uYixcbiAgICAgICAgXCJwZGZfbnVtX3BhZ2VzXCIgaW50ZWdlcixcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwicGFydG5lcl9wcm92aXNpb25lZF9hY2NvdW50c1wiIChcbiAgICAgICAgXCJpZFwiIGJpZ2ludCBHRU5FUkFURUQgQlkgREVGQVVMVCBBUyBJREVOVElUWSAoc2VxdWVuY2UgbmFtZSBcInBhcnRuZXJfcHJvdmlzaW9uZWRfYWNjb3VudHNfaWRfc2VxXCIgSU5DUkVNRU5UIEJZIDEgTUlOVkFMVUUgMSBNQVhWQUxVRSA5MjIzMzcyMDM2ODU0Nzc1ODA3IFNUQVJUIFdJVEggMSBDQUNIRSAxKSxcbiAgICAgICAgXCJpbnRlZ3JhdGlvbl9pZFwiIGJpZ2ludCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJvcmdfaWRcIiB1dWlkIE5PVCBOVUxMXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJwcmljZXNcIiAoXG4gICAgICAgIFwiaWRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInByb2R1Y3RfaWRcIiB0ZXh0LFxuICAgICAgICBcImFjdGl2ZVwiIGJvb2xlYW4gREVGQVVMVCB0cnVlIE5PVCBOVUxMLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCIgdGV4dCxcbiAgICAgICAgXCJ1bml0X2Ftb3VudFwiIGJpZ2ludCxcbiAgICAgICAgXCJjdXJyZW5jeVwiIHRleHQgREVGQVVMVCAndXNkJyxcbiAgICAgICAgXCJ0eXBlXCIgdGV4dCBERUZBVUxUICdyZWN1cnJpbmcnLFxuICAgICAgICBcImludGVydmFsXCIgdGV4dCxcbiAgICAgICAgXCJpbnRlcnZhbF9jb3VudFwiIGludGVnZXIgREVGQVVMVCAxLFxuICAgICAgICBcInRyaWFsX3BlcmlvZF9kYXlzXCIgaW50ZWdlciBERUZBVUxUIDAsXG4gICAgICAgIFwibWV0YWRhdGFcIiBqc29uYiBERUZBVUxUICd7fScsXG4gICAgICAgIFwiY3JlZGl0c1wiIGludGVnZXIgREVGQVVMVCA1MCxcbiAgICAgICAgXCJpc191c2FnZVwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSxcbiAgICAgICAgXCJyYXRlX2xpbWl0c1wiIGpzb25iLFxuICAgICAgICBcImNvbmN1cnJlbmN5XCIgaW50ZWdlcixcbiAgICAgICAgXCJwbGFuX3ByaW9yaXR5XCIganNvbmIsXG4gICAgICAgIFwidXBmcm9udFwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSxcbiAgICAgICAgXCJzbHVnXCIgdGV4dCBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpIE5PVCBOVUxMLFxuICAgICAgICBcInNob3VsZF9iZV9ncmFjZWZ1bFwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInVuaXRfYW1vdW50X3JvbGxvdmVyX2NhcFwiIHNtYWxsaW50IERFRkFVTFQgMCBOT1QgTlVMTCxcbiAgICAgICAgXCJhc3NvY2lhdGVkX2F1dG9fcmVjaGFyZ2VfcHJpY2VfaWRcIiB0ZXh0LFxuICAgICAgICBcImV4cF9wYWNrX21heF9wZXJfbW9udGhcIiBpbnRlZ2VyXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJwcm9kdWN0c1wiIChcbiAgICAgICAgXCJpZFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwiYWN0aXZlXCIgYm9vbGVhbiBERUZBVUxUIHRydWUgTk9UIE5VTEwsXG4gICAgICAgIFwibmFtZVwiIHRleHQsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIiB0ZXh0LFxuICAgICAgICBcImltYWdlXCIgdGV4dCxcbiAgICAgICAgXCJtZXRhZGF0YVwiIGpzb25iIERFRkFVTFQgJ3t9JyBOT1QgTlVMTCxcbiAgICAgICAgXCJvcmRlclwiIHNtYWxsaW50LFxuICAgICAgICBcInRlc3RfbW9kZVwiIGJvb2xlYW4gREVGQVVMVCB0cnVlLFxuICAgICAgICBcImlzX2VudGVycHJpc2VcIiBib29sZWFuIERFRkFVTFQgZmFsc2UsXG4gICAgICAgIFwiaXNfZXh0cmFjdFwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSxcbiAgICAgICAgXCJpc19kaXNwbGF5ZWRcIiBib29sZWFuIERFRkFVTFQgZmFsc2UsXG4gICAgICAgIFwiaXNfc3RyaXBlX3Rlc3RcIiBib29sZWFuIERFRkFVTFQgZmFsc2UsXG4gICAgICAgIFwic2x1Z1wiIHRleHQsXG4gICAgICAgIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInR5cGVcIiB0ZXh0XG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJyZXF1ZXN0c1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwia2luZFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwiYXBpX3ZlcnNpb25cIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJvcmlnaW5cIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImludGVncmF0aW9uXCIgdGV4dCxcbiAgICAgICAgXCJ0YXJnZXRfaGludFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwiZHJfY2xlYW5fYnlcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUsXG4gICAgICAgIFwiYXBpX2tleV9pZFwiIGJpZ2ludCxcbiAgICAgICAgXCJleHRlcm5hbF9yZXF1ZXN0X2lkXCIgdGV4dFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwicmVzZWFyY2hfZ2l0aHViX3NlYXJjaGVzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0YXJnZXRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJyZXNwb25zZVwiIGpzb25iLFxuICAgICAgICBcIm51bV9yZXN1bHRzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImlzX3N1Y2Nlc3NmdWxcIiBib29sZWFuIE5PVCBOVUxMLFxuICAgICAgICBcImVycm9yXCIgdGV4dCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInJlc2VhcmNoX3BhcGVyX2luc3BlY3RzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0YXJnZXRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJyZXNwb25zZVwiIGpzb25iLFxuICAgICAgICBcIm51bV9yZXN1bHRzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImlzX3N1Y2Nlc3NmdWxcIiBib29sZWFuIE5PVCBOVUxMLFxuICAgICAgICBcImVycm9yXCIgdGV4dCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInJlc2VhcmNoX3BhcGVyX3JlYWRzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0YXJnZXRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJyZXNwb25zZVwiIGpzb25iLFxuICAgICAgICBcIm51bV9yZXN1bHRzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImlzX3N1Y2Nlc3NmdWxcIiBib29sZWFuIE5PVCBOVUxMLFxuICAgICAgICBcImVycm9yXCIgdGV4dCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInJlc2VhcmNoX3BhcGVyX3NlYXJjaGVzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0YXJnZXRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJyZXNwb25zZVwiIGpzb25iLFxuICAgICAgICBcIm51bV9yZXN1bHRzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImlzX3N1Y2Nlc3NmdWxcIiBib29sZWFuIE5PVCBOVUxMLFxuICAgICAgICBcImVycm9yXCIgdGV4dCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInJlc2VhcmNoX3JlbGF0ZWRfcGFwZXJzXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0YXJnZXRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJyZXNwb25zZVwiIGpzb25iLFxuICAgICAgICBcIm51bV9yZXN1bHRzXCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVkaXRzX2Nvc3RcIiBpbnRlZ2VyIE5PVCBOVUxMLFxuICAgICAgICBcImlzX3N1Y2Nlc3NmdWxcIiBib29sZWFuIE5PVCBOVUxMLFxuICAgICAgICBcImVycm9yXCIgdGV4dCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInNjcmFwZXNcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcInJlcXVlc3RfaWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcInVybFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwiaXNfc3VjY2Vzc2Z1bFwiIGJvb2xlYW4gTk9UIE5VTEwsXG4gICAgICAgIFwiZXJyb3JcIiB0ZXh0LFxuICAgICAgICBcInRpbWVfdGFrZW5cIiBudW1lcmljIE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJjb3N0X3RyYWNraW5nXCIganNvbmIsXG4gICAgICAgIFwicGRmX251bV9wYWdlc1wiIGludGVnZXIsXG4gICAgICAgIFwiY3JlZGl0c19jb3N0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwibW9uaXRvcl9pZFwiIHV1aWQsXG4gICAgICAgIFwibW9uaXRvcl9jaGVja19pZFwiIHV1aWQsXG4gICAgICAgIFwiY29udGVudF90eXBlXCIgdGV4dFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwic2VhcmNoX2ZlZWRiYWNrXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpIE5PVCBOVUxMLFxuICAgICAgICBcInNlYXJjaF9pZFwiIHV1aWQsXG4gICAgICAgIFwiZW5kcG9pbnRcIiB0ZXh0IERFRkFVTFQgJ3NlYXJjaCcgTk9UIE5VTEwsXG4gICAgICAgIFwiam9iX2lkXCIgdXVpZCxcbiAgICAgICAgXCJyZXF1ZXN0X2lkXCIgdXVpZCxcbiAgICAgICAgXCJhcGlfdmVyc2lvblwiIHRleHQgREVGQVVMVCAndjInLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcImFwaV9rZXlfaWRcIiBiaWdpbnQsXG4gICAgICAgIFwib3ZlcmFsbF9yYXRpbmdcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImlzc3VlX3R5cGVzXCIgdGV4dFtdIERFRkFVTFQgJ3t9Jzo6dGV4dFtdIE5PVCBOVUxMLFxuICAgICAgICBcInRhZ3NcIiB0ZXh0W10gREVGQVVMVCAne30nOjp0ZXh0W10gTk9UIE5VTEwsXG4gICAgICAgIFwiY29tbWVudFwiIHRleHQsXG4gICAgICAgIFwidmFsdWFibGVfc291cmNlc1wiIGpzb25iIERFRkFVTFQgJ1tdJyBOT1QgTlVMTCxcbiAgICAgICAgXCJtaXNzaW5nX2NvbnRlbnRcIiBqc29uYiBERUZBVUxUICdbXScgTk9UIE5VTEwsXG4gICAgICAgIFwicXVlcnlfc3VnZ2VzdGlvbnNcIiB0ZXh0LFxuICAgICAgICBcIm1ldGFkYXRhXCIganNvbmIgREVGQVVMVCAne30nIE5PVCBOVUxMLFxuICAgICAgICBcImpvYl9zdGF0dXNcIiB0ZXh0LFxuICAgICAgICBcImNyZWRpdHNfYmlsbGVkXCIgaW50ZWdlciBERUZBVUxUIDAgTk9UIE5VTEwsXG4gICAgICAgIFwiaW50ZWdyYXRpb25cIiB0ZXh0LFxuICAgICAgICBcIm9yaWdpblwiIHRleHQsXG4gICAgICAgIFwiY3JlZGl0c19yZWZ1bmRlZFwiIGludGVnZXIgREVGQVVMVCAwIE5PVCBOVUxMLFxuICAgICAgICBcInJlZnVuZF9wb2xpY3lcIiBqc29uYixcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJzZWFyY2hlc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicmVxdWVzdF9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwicXVlcnlcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcIm9wdGlvbnNcIiBqc29uYixcbiAgICAgICAgXCJ0aW1lX3Rha2VuXCIgbnVtZXJpYyBOT1QgTlVMTCxcbiAgICAgICAgXCJjcmVhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTEwsXG4gICAgICAgIFwiY3JlZGl0c19jb3N0XCIgaW50ZWdlciBOT1QgTlVMTCxcbiAgICAgICAgXCJpc19zdWNjZXNzZnVsXCIgYm9vbGVhbiBOT1QgTlVMTCxcbiAgICAgICAgXCJlcnJvclwiIHRleHQsXG4gICAgICAgIFwibnVtX3Jlc3VsdHNcIiBpbnRlZ2VyIE5PVCBOVUxMXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJzaWVtX2xvZ2dpbmdfY29uZmlnXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpIE5PVCBOVUxMLFxuICAgICAgICBcIm9yZ19pZFwiIHV1aWQgTk9UIE5VTEwgVU5JUVVFLFxuICAgICAgICBcImVuYWJsZWRcIiBib29sZWFuIERFRkFVTFQgZmFsc2UgTk9UIE5VTEwsXG4gICAgICAgIFwiZGVzdGluYXRpb25cIiBqc29uYiBERUZBVUxUICd7fScgTk9UIE5VTEwsXG4gICAgICAgIFwic2VjcmV0X2NpcGhlcnRleHRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cGRhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInNsYWNrX2luc3RhbGxhdGlvbnNcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIERFRkFVTFQgZ2VuX3JhbmRvbV91dWlkKCkgTk9UIE5VTEwsXG4gICAgICAgIFwidGVhbV9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwic2xhY2tfdGVhbV9pZFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwic2xhY2tfdGVhbV9uYW1lXCIgdGV4dCxcbiAgICAgICAgXCJzbGFja19lbnRlcnByaXNlX2lkXCIgdGV4dCxcbiAgICAgICAgXCJib3RfdXNlcl9pZFwiIHRleHQsXG4gICAgICAgIFwiYm90X3Rva2VuXCIgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgXCJzY29wZVwiIHRleHQsXG4gICAgICAgIFwiYXV0aGVkX3VzZXJfaWRcIiB0ZXh0LFxuICAgICAgICBcImFwcF9pZFwiIHRleHQsXG4gICAgICAgIFwiaW5jb21pbmdfd2ViaG9va1wiIGpzb25iLFxuICAgICAgICBcInJldm9rZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcInVwZGF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwic3Vic2NyaXB0aW9uc1wiIChcbiAgICAgICAgXCJpZFwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwidXNlcl9pZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwic3RhdHVzXCIgdGV4dCxcbiAgICAgICAgXCJtZXRhZGF0YVwiIGpzb25iLFxuICAgICAgICBcInByaWNlX2lkXCIgdGV4dCxcbiAgICAgICAgXCJxdWFudGl0eVwiIGludGVnZXIsXG4gICAgICAgIFwiY2FuY2VsX2F0X3BlcmlvZF9lbmRcIiBib29sZWFuLFxuICAgICAgICBcImNyZWF0ZWRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJjdXJyZW50X3BlcmlvZF9zdGFydFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcImN1cnJlbnRfcGVyaW9kX2VuZFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcImVuZGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCksXG4gICAgICAgIFwiY2FuY2VsX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCksXG4gICAgICAgIFwiY2FuY2VsZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSxcbiAgICAgICAgXCJ0cmlhbF9zdGFydFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpLFxuICAgICAgICBcInRyaWFsX2VuZFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpLFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkLFxuICAgICAgICBcImlzX3VzYWdlXCIgYm9vbGVhbiBERUZBVUxUIGZhbHNlLFxuICAgICAgICBcImlzX2V4dHJhY3RcIiBib29sZWFuIERFRkFVTFQgZmFsc2UsXG4gICAgICAgIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICAgICAgICBcImV4cGFuc2lvbl9hc3NvY2lhdGVkX2NvdXBvblwiIGJpZ2ludCxcbiAgICAgICAgXCJwZW5kaW5nX3ByaWNlX2lkXCIgdGV4dCxcbiAgICAgICAgXCJwZW5kaW5nX3ByaWNlX2VmZmVjdGl2ZV9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSxcbiAgICAgICAgXCJwZW5kaW5nX3NjaGVkdWxlX2lkXCIgdGV4dFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwidGVhbXNcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIERFRkFVTFQgZ2VuX3JhbmRvbV91dWlkKCkgTk9UIE5VTEwsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpLFxuICAgICAgICBcIm5hbWVcIiB0ZXh0LFxuICAgICAgICBcImJhbm5lZFwiIGJvb2xlYW4gREVGQVVMVCBmYWxzZSxcbiAgICAgICAgXCJpZG11eF9leHBpcmVzX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lLFxuICAgICAgICBcInVwZGF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSxcbiAgICAgICAgXCJobWFjX3NlY3JldFwiIHRleHQgREVGQVVMVCBlbmNvZGUoZXh0ZW5zaW9ucy5nZW5fcmFuZG9tX2J5dGVzKDMyKSwgJ2hleCc6OnRleHQpIE5PVCBOVUxMLFxuICAgICAgICBcInJlZmVycmVyX2ludGVncmF0aW9uXCIgdmFyY2hhcixcbiAgICAgICAgXCJhbGxvY2F0ZWRfY29uY3VycmVudF9icm93c2Vyc1wiIGludGVnZXIsXG4gICAgICAgIFwib3JnX2lkXCIgdXVpZCBOT1QgTlVMTFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwidGhyZWF0X3Byb3RlY3Rpb25fY29uZmlnXCIgKFxuICAgICAgICBcImlkXCIgdXVpZCBERUZBVUxUIGdlbl9yYW5kb21fdXVpZCgpIE5PVCBOVUxMLFxuICAgICAgICBcIm9yZ19pZFwiIHV1aWQgTk9UIE5VTEwgVU5JUVVFLFxuICAgICAgICBcIm1vZGVcIiB2YXJjaGFyIERFRkFVTFQgJ29mZicgTk9UIE5VTEwsXG4gICAgICAgIFwiY29uZmlnXCIganNvbmIgREVGQVVMVCAne30nIE5PVCBOVUxMLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cGRhdGVkX2F0XCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCkgTk9UIE5VTExcbiAgICAgICk7XG4gICAgICAtLT4gc3RhdGVtZW50LWJyZWFrcG9pbnRcbiAgICAgIENSRUFURSBUQUJMRSBcInVzZXJfbm90aWZpY2F0aW9uc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgREVGQVVMVCBnZW5fcmFuZG9tX3V1aWQoKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCxcbiAgICAgICAgXCJub3RpZmljYXRpb25fdHlwZVwiIHRleHQgTk9UIE5VTEwsXG4gICAgICAgIFwic2VudF9kYXRlXCIgZGF0ZSBOT1QgTlVMTCxcbiAgICAgICAgXCJlbWFpbF9pZFwiIHRleHQsXG4gICAgICAgIFwidGltZXN0YW1wXCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lLFxuICAgICAgICBcInJlYWRcIiBib29sZWFuIERFRkFVTFQgZmFsc2UsXG4gICAgICAgIFwibWV0YWRhdGFcIiBqc29uYlxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIFRBQkxFIFwidXNlcl90ZWFtc1wiIChcbiAgICAgICAgXCJ1c2VyX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJyb2xlXCIgdGV4dCBERUZBVUxUICdhZG1pbicsXG4gICAgICAgIFwiY3JlYXRlZF9hdFwiIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJ1c2Vyc1wiIChcbiAgICAgICAgXCJpZFwiIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIFwiZnVsbF9uYW1lXCIgdGV4dCxcbiAgICAgICAgXCJhdmF0YXJfdXJsXCIgdGV4dCxcbiAgICAgICAgXCJiaWxsaW5nX2FkZHJlc3NcIiBqc29uYixcbiAgICAgICAgXCJwYXltZW50X21ldGhvZFwiIGpzb25iLFxuICAgICAgICBcImVtYWlsXCIgdGV4dCxcbiAgICAgICAgXCJ0ZWFtX2lkXCIgdXVpZCxcbiAgICAgICAgXCJjcmVhdGVkX29uXCIgdGltZXN0YW1wIHdpdGggdGltZSB6b25lIERFRkFVTFQgbm93KCksXG4gICAgICAgIFwicmVmZXJyZXJfaW50ZWdyYXRpb25cIiB2YXJjaGFyXG4gICAgICApO1xuICAgICAgLS0+IHN0YXRlbWVudC1icmVha3BvaW50XG4gICAgICBDUkVBVEUgVEFCTEUgXCJ3ZWJob29rX2xvZ3NcIiAoXG4gICAgICAgIFwiaWRcIiB1dWlkIERFRkFVTFQgZ2VuX3JhbmRvbV91dWlkKCkgTk9UIE5VTEwsXG4gICAgICAgIFwic3VjY2Vzc1wiIGJvb2xlYW4gTk9UIE5VTEwsXG4gICAgICAgIFwiZXJyb3JcIiB0ZXh0LFxuICAgICAgICBcInRlYW1faWRcIiB1dWlkIE5PVCBOVUxMLFxuICAgICAgICBcImNyYXdsX2lkXCIgdXVpZCBOT1QgTlVMTCxcbiAgICAgICAgXCJzY3JhcGVfaWRcIiB1dWlkLFxuICAgICAgICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTCxcbiAgICAgICAgXCJ1cmxcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcInN0YXR1c19jb2RlXCIgc21hbGxpbnQsXG4gICAgICAgIFwiZXZlbnRcIiB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBcImxhdGVuY3lfbXNcIiBpbnRlZ2VyIERFRkFVTFQgMFxuICAgICAgKTtcbiAgICAgIC0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQ1JFQVRFIElOREVYIFwibWNwX2FjdGlvbl9sb2dzX2V4cGlyZXNfaWR4XCIgT04gXCJtY3BfYWN0aW9uX2xvZ3NcIiAoXCJleHBpcmVzX2F0XCIpOy0tPiBzdGF0ZW1lbnQtYnJlYWtwb2ludFxuICAgICAgQUxURVIgVEFCTEUgXCJrZXlfcmVzdHJpY3Rpb25fY29uZmlnXCIgQUREIENPTlNUUkFJTlQgXCJrZXlfcmVzdHJpY3Rpb25fY29uZmlnXzliRFJBTFBHcEV1T19ma2V5XCIgRk9SRUlHTiBLRVkgKFwiYXBpX2tleV9pZFwiLFwidGVhbV9pZFwiKSBSRUZFUkVOQ0VTIFwiYXBpX2tleXNcIihcImlkXCIsXCJ0ZWFtX2lkXCIpIE9OIERFTEVURSBDQVNDQURFO1xuICBkYi1pbml0LWNvbnN0cmFpbnRzOlxuICAgIGNvbnRlbnQ6IHxcbiAgICAgIFxcc2V0IE9OX0VSUk9SX1NUT1Agb25cblxuICAgICAgLS0gVGhlIHB1YmxpYyBEcml6emxlIHNjaGVtYSBtaXJyb3JzIEZpcmVjcmF3bCdzIG1hbmFnZWQgZGF0YWJhc2Ugc2hhcGUsIHdoZXJlXG4gICAgICAtLSBzZXZlcmFsIGNvbnN0cmFpbnRzIGFyZSBhcHBsaWVkIG91dC1vZi1iYW5kLiBSZWNyZWF0ZSB0aG9zZSBjb25zdHJhaW50cyBmb3JcbiAgICAgIC0tIGEgc3RhbmRhbG9uZSBQb3N0Z3JlU1FMIGRhdGFiYXNlLlxuICAgICAgRE8gJCRmaXJlY3Jhd2wkJFxuICAgICAgREVDTEFSRVxuICAgICAgICB0YWJsZV9yZWNvcmQgcmVjb3JkO1xuICAgICAgQkVHSU5cbiAgICAgICAgRk9SIHRhYmxlX3JlY29yZCBJTlxuICAgICAgICAgIFNFTEVDVCBjLnRhYmxlX25hbWVcbiAgICAgICAgICBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIGNcbiAgICAgICAgICBKT0lOIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgdFxuICAgICAgICAgICAgT04gdC50YWJsZV9zY2hlbWEgPSBjLnRhYmxlX3NjaGVtYVxuICAgICAgICAgICBBTkQgdC50YWJsZV9uYW1lID0gYy50YWJsZV9uYW1lXG4gICAgICAgICAgV0hFUkUgYy50YWJsZV9zY2hlbWEgPSAncHVibGljJ1xuICAgICAgICAgICAgQU5EIGMuY29sdW1uX25hbWUgPSAnaWQnXG4gICAgICAgICAgICBBTkQgYy5pc19udWxsYWJsZSA9ICdOTydcbiAgICAgICAgICAgIEFORCB0LnRhYmxlX3R5cGUgPSAnQkFTRSBUQUJMRSdcbiAgICAgICAgICAgIEFORCBOT1QgRVhJU1RTIChcbiAgICAgICAgICAgICAgU0VMRUNUIDFcbiAgICAgICAgICAgICAgRlJPTSBwZ19jb25zdHJhaW50IHBjXG4gICAgICAgICAgICAgIEpPSU4gcGdfY2xhc3MgcmVsIE9OIHJlbC5vaWQgPSBwYy5jb25yZWxpZFxuICAgICAgICAgICAgICBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBucy5vaWQgPSByZWwucmVsbmFtZXNwYWNlXG4gICAgICAgICAgICAgIFdIRVJFIG5zLm5zcG5hbWUgPSAncHVibGljJ1xuICAgICAgICAgICAgICAgIEFORCByZWwucmVsbmFtZSA9IGMudGFibGVfbmFtZVxuICAgICAgICAgICAgICAgIEFORCBwYy5jb250eXBlID0gJ3AnXG4gICAgICAgICAgICApXG4gICAgICAgIExPT1BcbiAgICAgICAgICBFWEVDVVRFIGZvcm1hdChcbiAgICAgICAgICAgICdBTFRFUiBUQUJMRSBwdWJsaWMuJUkgQUREIENPTlNUUkFJTlQgJUkgUFJJTUFSWSBLRVkgKGlkKScsXG4gICAgICAgICAgICB0YWJsZV9yZWNvcmQudGFibGVfbmFtZSxcbiAgICAgICAgICAgIHRhYmxlX3JlY29yZC50YWJsZV9uYW1lIHx8ICdfcGtleSdcbiAgICAgICAgICApO1xuICAgICAgICBFTkQgTE9PUDtcbiAgICAgIEVORFxuICAgICAgJCRmaXJlY3Jhd2wkJDtcblxuICAgICAgQ1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIGFwaV9rZXlzX2tleV91bmlxdWVcbiAgICAgICAgT04gcHVibGljLmFwaV9rZXlzIChrZXkpO1xuICAgICAgQ1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIGlkZW1wb3RlbmN5X2tleXNfa2V5X3VuaXF1ZVxuICAgICAgICBPTiBwdWJsaWMuaWRlbXBvdGVuY3lfa2V5cyAoa2V5KTtcbiAgICAgIENSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBzbGFja19pbnN0YWxsYXRpb25zX3RlYW1faWRfdW5pcXVlXG4gICAgICAgIE9OIHB1YmxpYy5zbGFja19pbnN0YWxsYXRpb25zICh0ZWFtX2lkKTtcbiAgICAgIENSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBtb25pdG9yX3BhZ2VzX2lkZW50aXR5X3VuaXF1ZVxuICAgICAgICBPTiBwdWJsaWMubW9uaXRvcl9wYWdlcyAobW9uaXRvcl9pZCwgdGFyZ2V0X2lkLCB1cmxfaGFzaCk7XG4gICAgICBDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgbW9uaXRvcl9lbWFpbF9yZWNpcGllbnRzX2lkZW50aXR5X3VuaXF1ZVxuICAgICAgICBPTiBwdWJsaWMubW9uaXRvcl9lbWFpbF9yZWNpcGllbnRzIChtb25pdG9yX2lkLCBlbWFpbCk7XG5cbiAgICAgIENSRUFURSBJTkRFWCBJRiBOT1QgRVhJU1RTIGFwaV9rZXlzX3RlYW1faWRfaWR4IE9OIHB1YmxpYy5hcGlfa2V5cyAodGVhbV9pZCk7XG4gICAgICBDUkVBVEUgSU5ERVggSUYgTk9UIEVYSVNUUyByZXF1ZXN0c190ZWFtX2lkX2lkeCBPTiBwdWJsaWMucmVxdWVzdHMgKHRlYW1faWQpO1xuICAgICAgQ1JFQVRFIElOREVYIElGIE5PVCBFWElTVFMgcmVxdWVzdHNfZHJfY2xlYW5fYnlfaWR4XG4gICAgICAgIE9OIHB1YmxpYy5yZXF1ZXN0cyAoZHJfY2xlYW5fYnkpXG4gICAgICAgIFdIRVJFIGRyX2NsZWFuX2J5IElTIE5PVCBOVUxMO1xuICAgICAgQ1JFQVRFIElOREVYIElGIE5PVCBFWElTVFMgbW9uaXRvcnNfZHVlX2lkeFxuICAgICAgICBPTiBwdWJsaWMubW9uaXRvcnMgKG5leHRfcnVuX2F0KVxuICAgICAgICBXSEVSRSBzdGF0dXMgPSAnYWN0aXZlJyBBTkQgZGVsZXRlZF9hdCBJUyBOVUxMO1xuXG4gIGRiLWluaXQtcnBjczpcbiAgICAjIFN0YW5kYWxvbmUgaW1wbGVtZW50YXRpb25zIGZvciBkYXRhYmFzZSBSUENzIGNhbGxlZCBieSB2Mi4xMS4yMzAuXG4gICAgY29udGVudDogfFxuICAgICAgXFxzZXQgT05fRVJST1JfU1RPUCBvblxuXG4gICAgICAtLSBGaXJlY3Jhd2wncyBjdXJyZW50IEFQSSBjYWxscyB0aGVzZSBQb3N0Z3JlU1FMIGZ1bmN0aW9ucyBkaXJlY3RseS4gVGhleSBhcmVcbiAgICAgIC0tIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHVibGljIHNlbGYtaG9zdCBndWlkZSwgc28gdGhpcyBmaWxlIHN1cHBsaWVzIHN0YW5kYWxvbmVcbiAgICAgIC0tIGVxdWl2YWxlbnRzLiBCaWxsaW5nIGlzIGludGVudGlvbmFsbHkgdW5saW1pdGVkIGZvciB0aGlzIHByaXZhdGUgc2VsZi1ob3N0LlxuXG4gICAgICBDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiBwdWJsaWMuc2VsZmhvc3RfdW5saW1pdGVkX3JhdGVfbGltaXRfZmxhZ3MoKVxuICAgICAgUkVUVVJOUyBqc29uYlxuICAgICAgTEFOR1VBR0Ugc3FsXG4gICAgICBJTU1VVEFCTEVcbiAgICAgIEFTICQkZnVuY3Rpb24kJFxuICAgICAgICBTRUxFQ1QganNvbmJfYnVpbGRfb2JqZWN0KFxuICAgICAgICAgICdyYXRlTGltaXRPdmVycmlkZXMnLFxuICAgICAgICAgIGpzb25iX2J1aWxkX29iamVjdChcbiAgICAgICAgICAgICdjcmF3bCcsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnY3Jhd2xTdGF0dXMnLCAyMTQ3NDgzNjQ3LFxuICAgICAgICAgICAgJ3NjcmFwZScsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnc2NyYXBlQWdlbnRQcmV2aWV3JywgMjE0NzQ4MzY0NyxcbiAgICAgICAgICAgICdwcmV2aWV3JywgMjE0NzQ4MzY0NyxcbiAgICAgICAgICAgICdzZWFyY2gnLCAyMTQ3NDgzNjQ3LFxuICAgICAgICAgICAgJ21hcCcsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnZXh0cmFjdCcsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnZXh0cmFjdFN0YXR1cycsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnZXh0cmFjdEFnZW50UHJldmlldycsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnYnJvd3NlcicsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnYnJvd3NlckV4ZWN1dGUnLCAyMTQ3NDgzNjQ3LFxuICAgICAgICAgICAgJ2Jyb3dzZXJSZXBsYXknLCAyMTQ3NDgzNjQ3LFxuICAgICAgICAgICAgJ2FjY291bnQnLCAyMTQ3NDgzNjQ3LFxuICAgICAgICAgICAgJ3N1cHBvcnRBc2snLCAyMTQ3NDgzNjQ3LFxuICAgICAgICAgICAgJ3N1cHBvcnREb2NzU2VhcmNoJywgMjE0NzQ4MzY0NyxcbiAgICAgICAgICAgICdyZXNlYXJjaCcsIDIxNDc0ODM2NDcsXG4gICAgICAgICAgICAnZGV2ZWxvcGVyU2VhcmNoJywgMjE0NzQ4MzY0NyxcbiAgICAgICAgICAgICdsYWJzJywgMjE0NzQ4MzY0N1xuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgJCRmdW5jdGlvbiQkO1xuXG4gICAgICBDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBwdWJsaWMuZmlyZWNyYXdsX2NoYW5nZV90cmFja2luZ19zY3JhcGVzIChcbiAgICAgICAgaWQgYmlnaW50IEdFTkVSQVRFRCBCWSBERUZBVUxUIEFTIElERU5USVRZIFBSSU1BUlkgS0VZLFxuICAgICAgICB0ZWFtX2lkIHV1aWQgTk9UIE5VTEwsXG4gICAgICAgIHVybCB0ZXh0IE5PVCBOVUxMLFxuICAgICAgICBqb2JfaWQgdGV4dCBOT1QgTlVMTCxcbiAgICAgICAgY2hhbmdlX3RyYWNraW5nX3RhZyB0ZXh0LFxuICAgICAgICBkYXRlX2FkZGVkIHRpbWVzdGFtcHR6IE5PVCBOVUxMIERFRkFVTFQgbm93KClcbiAgICAgICk7XG5cbiAgICAgIENSRUFURSBJTkRFWCBJRiBOT1QgRVhJU1RTIGZpcmVjcmF3bF9jaGFuZ2VfdHJhY2tpbmdfbG9va3VwX2lkeFxuICAgICAgICBPTiBwdWJsaWMuZmlyZWNyYXdsX2NoYW5nZV90cmFja2luZ19zY3JhcGVzXG4gICAgICAgICAgKHRlYW1faWQsIHVybCwgY2hhbmdlX3RyYWNraW5nX3RhZywgZGF0ZV9hZGRlZCBERVNDKTtcblxuICAgICAgQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gcHVibGljLmF1dGhfY2h1bmtfMShcbiAgICAgICAgaW5wdXRfa2V5IHRleHQsXG4gICAgICAgIGlucHV0X2NyZWRlbnRpYWxfcHVycG9zZSB0ZXh0IERFRkFVTFQgJ2dlbmVyYWwnXG4gICAgICApXG4gICAgICBSRVRVUk5TIFRBQkxFIChcbiAgICAgICAgYXBpX2tleSB0ZXh0LFxuICAgICAgICBhcGlfa2V5X2lkIGJpZ2ludCxcbiAgICAgICAgdGVhbV9pZCB1dWlkLFxuICAgICAgICBvcmdfaWQgdXVpZCxcbiAgICAgICAgZmxhZ3MganNvbmIsXG4gICAgICAgIGlzX2Jhbm5lZCBib29sZWFuXG4gICAgICApXG4gICAgICBMQU5HVUFHRSBzcWxcbiAgICAgIFNUQUJMRVxuICAgICAgU0VDVVJJVFkgREVGSU5FUlxuICAgICAgU0VUIHNlYXJjaF9wYXRoID0gcHVibGljLCBwZ190ZW1wXG4gICAgICBBUyAkJGZ1bmN0aW9uJCRcbiAgICAgICAgU0VMRUNUXG4gICAgICAgICAgay5rZXk6OnRleHQsXG4gICAgICAgICAgay5pZCxcbiAgICAgICAgICB0LmlkLFxuICAgICAgICAgIHQub3JnX2lkLFxuICAgICAgICAgIHB1YmxpYy5zZWxmaG9zdF91bmxpbWl0ZWRfcmF0ZV9saW1pdF9mbGFncygpLFxuICAgICAgICAgIENPQUxFU0NFKHQuYmFubmVkLCBmYWxzZSlcbiAgICAgICAgRlJPTSBwdWJsaWMuYXBpX2tleXMga1xuICAgICAgICBKT0lOIHB1YmxpYy50ZWFtcyB0IE9OIHQuaWQgPSBrLnRlYW1faWRcbiAgICAgICAgV0hFUkUgay5rZXk6OnRleHQgPSBpbnB1dF9rZXlcbiAgICAgICAgTElNSVQgMVxuICAgICAgJCRmdW5jdGlvbiQkO1xuXG4gICAgICBDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiBwdWJsaWMuYXV0aF9jaHVua18xX2Zyb21fdGVhbShpbnB1dF90ZWFtIHRleHQpXG4gICAgICBSRVRVUk5TIFRBQkxFIChcbiAgICAgICAgYXBpX2tleSB0ZXh0LFxuICAgICAgICBhcGlfa2V5X2lkIGJpZ2ludCxcbiAgICAgICAgdGVhbV9pZCB1dWlkLFxuICAgICAgICBvcmdfaWQgdXVpZCxcbiAgICAgICAgZmxhZ3MganNvbmIsXG4gICAgICAgIGlzX2Jhbm5lZCBib29sZWFuXG4gICAgICApXG4gICAgICBMQU5HVUFHRSBzcWxcbiAgICAgIFNUQUJMRVxuICAgICAgU0VDVVJJVFkgREVGSU5FUlxuICAgICAgU0VUIHNlYXJjaF9wYXRoID0gcHVibGljLCBwZ190ZW1wXG4gICAgICBBUyAkJGZ1bmN0aW9uJCRcbiAgICAgICAgU0VMRUNUXG4gICAgICAgICAgay5rZXk6OnRleHQsXG4gICAgICAgICAgay5pZCxcbiAgICAgICAgICB0LmlkLFxuICAgICAgICAgIHQub3JnX2lkLFxuICAgICAgICAgIHB1YmxpYy5zZWxmaG9zdF91bmxpbWl0ZWRfcmF0ZV9saW1pdF9mbGFncygpLFxuICAgICAgICAgIENPQUxFU0NFKHQuYmFubmVkLCBmYWxzZSlcbiAgICAgICAgRlJPTSBwdWJsaWMudGVhbXMgdFxuICAgICAgICBMRUZUIEpPSU4gTEFURVJBTCAoXG4gICAgICAgICAgU0VMRUNUIGFrLmlkLCBhay5rZXlcbiAgICAgICAgICBGUk9NIHB1YmxpYy5hcGlfa2V5cyBha1xuICAgICAgICAgIFdIRVJFIGFrLnRlYW1faWQgPSB0LmlkXG4gICAgICAgICAgT1JERVIgQlkgYWsuaWRcbiAgICAgICAgICBMSU1JVCAxXG4gICAgICAgICkgayBPTiB0cnVlXG4gICAgICAgIFdIRVJFIHQuaWQgPSBpbnB1dF90ZWFtOjp1dWlkXG4gICAgICAgIExJTUlUIDFcbiAgICAgICQkZnVuY3Rpb24kJDtcblxuICAgICAgQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gcHVibGljLmJpbGxfdGVhbV83KFxuICAgICAgICBfdGVhbV9pZCB1dWlkLFxuICAgICAgICBzdWJfaWQgdGV4dCxcbiAgICAgICAgY3JlZGl0cyBudW1lcmljLFxuICAgICAgICBpX2FwaV9rZXlfaWQgYmlnaW50LFxuICAgICAgICBpc19leHRyYWN0X3BhcmFtIGJvb2xlYW5cbiAgICAgIClcbiAgICAgIFJFVFVSTlMgVEFCTEUgKGFwaV9rZXkgdGV4dClcbiAgICAgIExBTkdVQUdFIHNxbFxuICAgICAgVk9MQVRJTEVcbiAgICAgIFNFQ1VSSVRZIERFRklORVJcbiAgICAgIFNFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYywgcGdfdGVtcFxuICAgICAgQVMgJCRmdW5jdGlvbiQkXG4gICAgICAgIFNFTEVDVCBrLmtleTo6dGV4dFxuICAgICAgICBGUk9NIHB1YmxpYy5hcGlfa2V5cyBrXG4gICAgICAgIFdIRVJFIGsudGVhbV9pZCA9IF90ZWFtX2lkXG4gICAgICAgICAgQU5EIChpX2FwaV9rZXlfaWQgSVMgTlVMTCBPUiBrLmlkID0gaV9hcGlfa2V5X2lkKVxuICAgICAgICBPUkRFUiBCWSBrLmlkXG4gICAgICAgIExJTUlUIDFcbiAgICAgICQkZnVuY3Rpb24kJDtcblxuICAgICAgQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gcHVibGljLmNyZWRpdHNfYmlsbGVkX2J5X2NyYXdsX2lkXzIoaV9jcmF3bF9pZCB1dWlkKVxuICAgICAgUkVUVVJOUyBUQUJMRSAoY3JlZGl0c19iaWxsZWQgYmlnaW50KVxuICAgICAgTEFOR1VBR0Ugc3FsXG4gICAgICBTVEFCTEVcbiAgICAgIFNFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYywgcGdfdGVtcFxuICAgICAgQVMgJCRmdW5jdGlvbiQkXG4gICAgICAgIFNFTEVDVCBDT0FMRVNDRSgoXG4gICAgICAgICAgU0VMRUNUIGMuY3JlZGl0c19jb3N0OjpiaWdpbnRcbiAgICAgICAgICBGUk9NIHB1YmxpYy5jcmF3bHMgY1xuICAgICAgICAgIFdIRVJFIGMuaWQgPSBpX2NyYXdsX2lkXG4gICAgICAgICAgTElNSVQgMVxuICAgICAgICApLCAwOjpiaWdpbnQpXG4gICAgICAkJGZ1bmN0aW9uJCQ7XG5cbiAgICAgIENSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHB1YmxpYy5jaGFuZ2VfdHJhY2tpbmdfaW5zZXJ0X3NjcmFwZShcbiAgICAgICAgcF90ZWFtX2lkIHV1aWQsXG4gICAgICAgIHBfdXJsIHRleHQsXG4gICAgICAgIHBfam9iX2lkIHRleHQsXG4gICAgICAgIHBfY2hhbmdlX3RyYWNraW5nX3RhZyB0ZXh0LFxuICAgICAgICBwX2RhdGVfYWRkZWQgdGltZXN0YW1wdHpcbiAgICAgIClcbiAgICAgIFJFVFVSTlMgYmlnaW50XG4gICAgICBMQU5HVUFHRSBwbHBnc3FsXG4gICAgICBWT0xBVElMRVxuICAgICAgU0VUIHNlYXJjaF9wYXRoID0gcHVibGljLCBwZ190ZW1wXG4gICAgICBBUyAkJGZ1bmN0aW9uJCRcbiAgICAgIERFQ0xBUkVcbiAgICAgICAgaW5zZXJ0ZWRfaWQgYmlnaW50O1xuICAgICAgQkVHSU5cbiAgICAgICAgSU5TRVJUIElOVE8gcHVibGljLmZpcmVjcmF3bF9jaGFuZ2VfdHJhY2tpbmdfc2NyYXBlcyAoXG4gICAgICAgICAgdGVhbV9pZCwgdXJsLCBqb2JfaWQsIGNoYW5nZV90cmFja2luZ190YWcsIGRhdGVfYWRkZWRcbiAgICAgICAgKSBWQUxVRVMgKFxuICAgICAgICAgIHBfdGVhbV9pZCwgcF91cmwsIHBfam9iX2lkLCBwX2NoYW5nZV90cmFja2luZ190YWcsIHBfZGF0ZV9hZGRlZFxuICAgICAgICApXG4gICAgICAgIFJFVFVSTklORyBpZCBJTlRPIGluc2VydGVkX2lkO1xuICAgICAgICBSRVRVUk4gaW5zZXJ0ZWRfaWQ7XG4gICAgICBFTkRcbiAgICAgICQkZnVuY3Rpb24kJDtcblxuICAgICAgQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gcHVibGljLmRpZmZfZ2V0X2xhc3Rfc2NyYXBlX3Y3KFxuICAgICAgICBpX3RlYW1faWQgdXVpZCxcbiAgICAgICAgaV91cmwgdGV4dCxcbiAgICAgICAgaV90YWcgdGV4dFxuICAgICAgKVxuICAgICAgUkVUVVJOUyBUQUJMRSAob19qb2JfaWQgdGV4dCwgb19kYXRlX2FkZGVkIHRpbWVzdGFtcHR6KVxuICAgICAgTEFOR1VBR0Ugc3FsXG4gICAgICBTVEFCTEVcbiAgICAgIFNFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYywgcGdfdGVtcFxuICAgICAgQVMgJCRmdW5jdGlvbiQkXG4gICAgICAgIFNFTEVDVCBjdC5qb2JfaWQsIGN0LmRhdGVfYWRkZWRcbiAgICAgICAgRlJPTSBwdWJsaWMuZmlyZWNyYXdsX2NoYW5nZV90cmFja2luZ19zY3JhcGVzIGN0XG4gICAgICAgIFdIRVJFIGN0LnRlYW1faWQgPSBpX3RlYW1faWRcbiAgICAgICAgICBBTkQgY3QudXJsID0gaV91cmxcbiAgICAgICAgICBBTkQgY3QuY2hhbmdlX3RyYWNraW5nX3RhZyBJUyBOT1QgRElTVElOQ1QgRlJPTSBpX3RhZ1xuICAgICAgICBPUkRFUiBCWSBjdC5kYXRlX2FkZGVkIERFU0NcbiAgICAgICAgTElNSVQgMVxuICAgICAgJCRmdW5jdGlvbiQkO1xuXG4gICAgICBDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiBwdWJsaWMuZ2V0X3pkcl9jbGVhbnVwX2JhdGNoXzIocF9saW1pdCBpbnRlZ2VyKVxuICAgICAgUkVUVVJOUyBUQUJMRSAocmVxdWVzdF9pZCB1dWlkLCBpZHMgdXVpZFtdKVxuICAgICAgTEFOR1VBR0Ugc3FsXG4gICAgICBTVEFCTEVcbiAgICAgIFNFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYywgcGdfdGVtcFxuICAgICAgQVMgJCRmdW5jdGlvbiQkXG4gICAgICAgIFNFTEVDVCBOVUxMOjp1dWlkLCBBUlJBWVtdOjp1dWlkW11cbiAgICAgICAgV0hFUkUgZmFsc2VcbiAgICAgICQkZnVuY3Rpb24kJDtcblxuICAgICAgQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gcHVibGljLm1vbml0b3JpbmdfY2xhaW1fZHVlX21vbml0b3JzKFxuICAgICAgICBwX3dvcmtlcl9pZCB0ZXh0LFxuICAgICAgICBwX2xpbWl0IGludGVnZXIsXG4gICAgICAgIHBfbGVhc2Vfc2Vjb25kcyBpbnRlZ2VyXG4gICAgICApXG4gICAgICBSRVRVUk5TIFNFVE9GIHB1YmxpYy5tb25pdG9yc1xuICAgICAgTEFOR1VBR0UgcGxwZ3NxbFxuICAgICAgVk9MQVRJTEVcbiAgICAgIFNFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYywgcGdfdGVtcFxuICAgICAgQVMgJCRmdW5jdGlvbiQkXG4gICAgICBCRUdJTlxuICAgICAgICBSRVRVUk4gUVVFUllcbiAgICAgICAgV0lUSCBkdWUgQVMgKFxuICAgICAgICAgIFNFTEVDVCBtLmlkXG4gICAgICAgICAgRlJPTSBwdWJsaWMubW9uaXRvcnMgbVxuICAgICAgICAgIFdIRVJFIG0uc3RhdHVzID0gJ2FjdGl2ZSdcbiAgICAgICAgICAgIEFORCBtLmRlbGV0ZWRfYXQgSVMgTlVMTFxuICAgICAgICAgICAgQU5EIG0ubmV4dF9ydW5fYXQgSVMgTk9UIE5VTExcbiAgICAgICAgICAgIEFORCBtLm5leHRfcnVuX2F0IDw9IG5vdygpXG4gICAgICAgICAgICBBTkQgKG0ubG9ja2VkX3VudGlsIElTIE5VTEwgT1IgbS5sb2NrZWRfdW50aWwgPCBub3coKSlcbiAgICAgICAgICBPUkRFUiBCWSBtLm5leHRfcnVuX2F0XG4gICAgICAgICAgRk9SIFVQREFURSBTS0lQIExPQ0tFRFxuICAgICAgICAgIExJTUlUIEdSRUFURVNUKHBfbGltaXQsIDApXG4gICAgICAgIClcbiAgICAgICAgVVBEQVRFIHB1YmxpYy5tb25pdG9ycyBtXG4gICAgICAgIFNFVCBsb2NrZWRfYXQgPSBub3coKSxcbiAgICAgICAgICAgIGxvY2tlZF91bnRpbCA9IG5vdygpICsgbWFrZV9pbnRlcnZhbChzZWNzID0+IEdSRUFURVNUKHBfbGVhc2Vfc2Vjb25kcywgMSkpLFxuICAgICAgICAgICAgdXBkYXRlZF9hdCA9IG5vdygpXG4gICAgICAgIEZST00gZHVlXG4gICAgICAgIFdIRVJFIG0uaWQgPSBkdWUuaWRcbiAgICAgICAgUkVUVVJOSU5HIG0uKjtcbiAgICAgIEVORFxuICAgICAgJCRmdW5jdGlvbiQkO1xuXG4gICAgICBDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiBwdWJsaWMuZ2V0X2FnZW50X2ZyZWVfcmVxdWVzdHNfbGVmdChpX3RlYW1faWQgdXVpZClcbiAgICAgIFJFVFVSTlMgVEFCTEUgKGZyZWVfcmVxdWVzdHNfbGVmdCBpbnRlZ2VyKVxuICAgICAgTEFOR1VBR0Ugc3FsXG4gICAgICBTVEFCTEVcbiAgICAgIEFTICQkZnVuY3Rpb24kJFxuICAgICAgICBTRUxFQ1QgMjE0NzQ4MzY0N1xuICAgICAgJCRmdW5jdGlvbiQkO1xuXG4gICAgICBDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiBwdWJsaWMuYWdlbnRfY29uc3VtZV9mcmVlX3JlcXVlc3RfaWZfbGVmdChpX3RlYW1faWQgdXVpZClcbiAgICAgIFJFVFVSTlMgVEFCTEUgKGNvbnN1bWVkIGJvb2xlYW4pXG4gICAgICBMQU5HVUFHRSBzcWxcbiAgICAgIFZPTEFUSUxFXG4gICAgICBBUyAkJGZ1bmN0aW9uJCRcbiAgICAgICAgU0VMRUNUIHRydWVcbiAgICAgICQkZnVuY3Rpb24kJDtcblxuICBkYi1zZWVkOlxuICAgIGNvbnRlbnQ6IHxcbiAgICAgIFxcc2V0IE9OX0VSUk9SX1NUT1Agb25cblxuICAgICAgSU5TRVJUIElOVE8gcHVibGljLm9yZ2FuaXphdGlvbnMgKGlkLCBuYW1lKVxuICAgICAgVkFMVUVTICg6J29yZ19pZCc6OnV1aWQsICdTZWxmLWhvc3RlZCcpXG4gICAgICBPTiBDT05GTElDVCAoaWQpIERPIFVQREFURSBTRVQgdXBkYXRlZF9hdCA9IG5vdygpO1xuXG4gICAgICBJTlNFUlQgSU5UTyBwdWJsaWMudGVhbXMgKGlkLCBuYW1lLCBvcmdfaWQsIGJhbm5lZClcbiAgICAgIFZBTFVFUyAoOid0ZWFtX2lkJzo6dXVpZCwgJ1NlbGYtaG9zdGVkJywgOidvcmdfaWQnOjp1dWlkLCBmYWxzZSlcbiAgICAgIE9OIENPTkZMSUNUIChpZCkgRE8gVVBEQVRFXG4gICAgICBTRVQgb3JnX2lkID0gRVhDTFVERUQub3JnX2lkLFxuICAgICAgICAgIGJhbm5lZCA9IGZhbHNlLFxuICAgICAgICAgIHVwZGF0ZWRfYXQgPSBub3coKTtcblxuICAgICAgSU5TRVJUIElOVE8gcHVibGljLmFwaV9rZXlzIChrZXksIG5hbWUsIHRlYW1faWQpXG4gICAgICBWQUxVRVMgKHJlZ2V4cF9yZXBsYWNlKDonYXBpX2tleScsICdeZmMtJywgJycpOjp1dWlkLCAnRG9rcGxveSBwcm9kdWN0aW9uJywgOid0ZWFtX2lkJzo6dXVpZClcbiAgICAgIE9OIENPTkZMSUNUIChrZXkpIERPIFVQREFURVxuICAgICAgU0VUIHRlYW1faWQgPSBFWENMVURFRC50ZWFtX2lkLFxuICAgICAgICAgIG5hbWUgPSBFWENMVURFRC5uYW1lO1xuXG4gICAgICAtLSBXb3JrZXJzIHJlcXVpcmUgb25lIGdsb2JhbCByb3cgZXZlbiB3aGVuIHRoZSBzZWxmLWhvc3QgYmxvY2tsaXN0IGlzIGVtcHR5LlxuICAgICAgSU5TRVJUIElOVE8gcHVibGljLmJsb2NrbGlzdCAoZGF0YSwgb3JnX2lkKVxuICAgICAgU0VMRUNUICd7XCJibG9ja2xpc3RcIjpbXSxcImFsbG93ZWRLZXl3b3Jkc1wiOltdfSc6Ompzb25iLCBOVUxMXG4gICAgICBXSEVSRSBOT1QgRVhJU1RTIChcbiAgICAgICAgU0VMRUNUIDEgRlJPTSBwdWJsaWMuYmxvY2tsaXN0IFdIRVJFIG9yZ19pZCBJUyBOVUxMXG4gICAgICApO1xuXG4gIGZpcmVjcmF3bC1vcGVuYXBpOlxuICAgIGNvbnRlbnQ6IHxcbiAgICAgIEg0c0lBQUFBQUFBQ0N1eTlXWHNieDVJMitGZXk4WjFwV1dvc2xDeTdiZlU4MDAyUjBqRjlLSXVIcEk2blA0dGpKYW9TUUpxRnluSm1Ga0ZZemN1WnE3bWE2NWsvMTc5a25vak0yb0Fxb0VDQzR1TFFCVVVDdVMveHhwWVJuenNxRVRGUFpPZFY1K3YrOC81T3A5dVI4VWgxWG4zdVdHa2owWG5WZVN1MUNEU2ZSZXhFUktQZUQ4cFlFYkxkbzROT3QzTWh0SkVxN3J6cXZPZy9mOTUvOGZWT3o0aG9ORkhHZHJvZGswNm5YTTg3cnpwN2FwcEV3Z29tWXlzMEQ2eThFRXlMa2RBaURnUWJLYzNzUkJwVzlCV0tKRkx6cVlpaG9WQ1lRTXZFdXE0T1NtMkVLa2loRUlmdjJGakVRbk1ZM2tpcktiTVR3Y1FsRHl5N3lJYkhqRXAxSUJpUFEzYkJJeG02aWlhWWlDazN2bGNSTW03ZGdKU1dZeG4zMlFjajJMTm51Nm1kS0MzL0VNK2VzWm0wRSt4aGxFWVIrelFLZXYxKy94T3NDenNYOHo3YlUxb3dXSXpleEsyWVZxa1ZobkVOZ3hKQmF2a3dFcTZaWjg5TzlaeEp5MVJxbnozcnMyTlgxRTY0WlZyOG5rb05JMllLVjRCSExJaFVHZzRTTFMrNEZTeE5qTldDVDdGcExTeVhNYXlBMGl6d3l4NExZM0RLNGpLSlpDQnROR2RUcnM5aG9vYWxNYi9nTXNMaHFOak51MWorZnFmYmlXUWdZaVBnVk1SOENvZGk5NjlIaDcydjNYa0pSV3psU0FwZCtyeW40bWpldWJycWRvelFjRW82cjM3NTNFbDExSG5WbVZpYm1GZUR3U2piN1A3VThOaXFjOWtQMUhScHU5L3htTWRQVEdVdDgzUFN1VHJyZGl3ZnUvYjk0RTRDelJNWmo1ZWFPaFpXUzNFQjB4UXM0V1BCbEdhY0Ria05Ka3lOMkhtc1pqSDdjSHhvK3AycmJ0N2VIdlJVMTk2K05JRzZFQnJYMWtDdnJsbkRlS0FWckRtYmlhR1JWbFRhZThlVFpHVnpVQU9IZ2NkRHBkWTFMdU14RXhkQ3o3R1RTcE1uZ3V0Z3N0U2kreGlQNlV3TWNaalpJWXJtY0ZiY2NtaGgwc2l5UU1VV2Q3elU4QkhYcG02czhEa2N2VWp4VUlUc2FQK3RPMkVtVFJLbFlZK3lxMWxkeXplWEZ1K3VpdGsvczkxeDNmM2VQZWh4WXlSdXRMRTZEV3lxQlp6ZHZDWjB4Rk9yWWpWVnFZSGg0eno3N05oZEZseDRwYzlod2FZcUZCRkx0THFRb2RDVnNieldhbWFFWGhyQW5oWndyN1NZS2l2WTBKVmlSaGlnZGRsRmdoc3NXS0JDSUdxd3d0UHFIcXRZV3FYcmx1NGttSWd3amFDRElOVlF4SitkTHNNejNZVlQ2V2JFZ29rSXpsMlhNamFKQ0N3TEpqd2VpK3FxbnNMMS8yZjJ3ZkN4cUtHWHJtSUszM2JaNzZsSUJUT1dXOUZsU0VhbG5YZmRySUN5SmxvYXdTeTBHS2g0Sk1lcFJpSlpQVzhSRDg2WEYwN0ZNZlNFMzJLTHFSRnM2cGFpcDBXRXRObDlDL3N6aXRTc09wRmp2NVZMVGIvUGFGKzIyZGg4S0M1RXBCS2hlLzdEakJiMjJVL0s1dU1YWVMxaEsvVjd5SWVtdVUvNGxwM2NySWMzbDI3am1uc0Jvc2F5WXRmdTU2MFE0YkJ1YzA1RUhMTGZVeDVKTzJjalh3cGhBakFMNzY2Ym9hTUcxWDA1bVJzcnBqVnQ2Z3NaQ0JaNnlqWEhkaWFDUjNZQ2QyNjRjRTRSdW1NZU5UWFVzNnBuZkp1T1dBR2VLODFFSENaS0FqRmhweE5oQkdKZHJDeUxsWjd5Q0tiUUMxUnMwcW5RT2RMR1lZNmV4V0l4SXdJdExFQTdHd2tPdEdYRk9UOFVZeDdNMmNYem1yTStUYmlWUTRucnVYdDAwR2RIeU5Hd2l4ZTRxckdZSWJzemRzMVdGMkpmSkZvRWVCMHVkcGFQQkhJZEFQU0xuZndic2lwQVBSekNBNDI2NEZGeFdoQVFFMjRuQnRCNkFEL0d3c0ovYmkybGlnL0N6cXVPd1EwOVZncm9yd2ZRYkpmUHlxemJnWVAzT1lLSTQvcVdRRFhWc2NIdkMvNE56cFRqREt3N0ZEbVhVbVhaSWhtZkE0dGhnQlpLTysrOCt1V3MyOUhDSkNvMkFpZnhZbWNIL2xzNE1Ha1FDR05HS1ZJRUxOenBkanlDUVhHZUFLdURuUXgrTTFEbmM4ZXhlZkRiWDdRWWRWNTEvc2NBVmxqRkFGTUR6d1FPZk5QSFdiTlhWOERIdkt3YnhVR01UQ1FlTTRFODcxWkc4RVpycFpmNmY3N2MvenRwQUozaExFcy9GTStBM3U1UXZsNGV5bHQvbDVSbWlZcGtNR2VoaUtVSWIzY2dMNWNIY2l3OGo2ODhKVUE2TVZKcGZNdGorWDdGV0JCdWtjNUVNcmpkYy9LaVpoeDdQT0dCdFBNQnNHczlNeEZoQ01jbWtsTUpFZ1lIbXRMcGRpYUNoOGlyZjBaV2VkN2JIVmxnNjh2anNmTUVDQmhTTnFFNzJPZXRUZWFidWt2M0lSYVh3TkFBZTRqQ0JSTlF0WE9yNDZnNThUbHdoeUlSY1NqaVlNNmt3ZE5XaG12Tk1rU1RGVm5yOXNhTFF4N3djQ3Jqd1dmODd3UXg3MnJBZ3pUb0JiRGR2U0FTSExjMkFXRjlDUit3Mmg2VTJRM1NvSVFST1lSWFVBSkxNbXdaV2ZNSlVINkhiNEVXb2JROTVENmRpSEdKUXVYQ0NkMndBZmJlc3dZb2FmNGJvZy9BSGpOaWpEQXZMUWlNc09aOEdmMlhFU2ZobWsrRnpTUlZEOU9seFVQTlNPY1ZZbXNIRUFvWmk3RHp5dXBVTE03bUh6eEtCVWlVcno4Y0h2NjYrK0gwaDEvLzl1WS8rK3dVSkFzUTlEa01LK0hHekpRT2NUU0xGOHhZTHp5TWdNT3gyTE1yM3JtNk9uTURFTWErVnVFY2FoWGpHZkhJaUEzT2x1OVBEWDhUU0psNEdFcDNzSTgwbkFrckFZWmhsdTVnRVRZVE5oTTJFellUTm04Wm0xT2JUdU9lRTU0YjVUYXNzb3RGZjNBbDEwSXpxSkFLM2JHcnk0WXlBcFVtckFhb2JGQUpWSVBLN2VzU0lCTXVFaTRTTGhJdUVpNXVGUmNERllPWkJJYmFROXRGRHhUWEl4bEY2NlRYb3VMcnJNWTZzTXdLT2tPMVU4RXVkTy91eFRKV3RxOUtVRW15SzJFMFlUUmhOR0gwSThGb3NQbjF2S0YvSFN4RFdlOGVzUmFQVDdVY2o0VkdpTXlOd1pYZVVDT3NWUlNCYzhjaWxtMVduWENaY0psd21YQ1pjSmx3K1hIZzhrakU0eDc2RUs1V0tJUGZ6cHQ0TEdPQkd0OU5kY3JPY3czcmI2WlFicXhJVUV5SVNJaElpRWlJU0lpNFhVVDAvdVdyWmRSak1LM0txY2lmVmF5R3crTVVYd0FVbWwvdDYyZHU2YXRrMUUwcUV5eVNoRXA0VEhoTWVFeDQvRGp3V01haHVQUjIzVVNycWJBVGtaclYwdW9CMVBrN1ZIa0hMeGdEc3g2ZzhZMEt3ODVrUFBiVzJLTzhQeloxRGZVYlhyZTBxRW5RVEFoSkNFa0lTUWhKQ0xsZGhFeDZXZ0R4eGJmdm03N2VPVWlPaThxbTVUdWVneU5XNnRLOXlvSEg0Vm9LMC9SMFoyVWRBa2VTV3dtVkNaVUpsUW1WSHdjcW40djVUV0Q1YjJKK0RWeUdLQmZuWXI0NU9LK3ZTQWhOQ0UwSVRRaE5DRTBJL1RnUTJpdG1WNnVTTjFRZzd4NGRERGJXSGErc1JMaEw4RWZ3Ui9CSDhFZnd0MVg0aTlQZmU2TncyR3NGZ3orbHY3OE5oeHVDNFZ1NFo5alEvbXQ4a3l0QzlsUDY5d3phMkd3aTR0THlOT0xqcHUwUVpCSmtFbVFTWkJKa0VtUnVIVExid3VXR1dBbDR0b0hJMkZDY2tJK1FqNUNQa0krUWo1QnZxOGlYWk9sVVZzS2VqNlp3bEJYZUxIaURYNVNzSzB3QXNUNW1RME10UWtKQ1FrSkNRa0pDUWtMQ3JTSWhHdXJXaUgrdjB5aDZyYmdPMXlMZyswVEVESXF6clB6aUFwVlFqUDF3K3U2UWhkeE1obEFZODd0QTNYZC9kem1iTVBlTk5EazFoOVhDS3ByYkNRSW1qOW1QSis5L0luZ2plQ040STNnamVDTjRXNEEzU0tWaVdzV1lQNGFTRzRhWTkyQTI0Z0VjTG16Qko0TnJqZ1Mwb2c0SmVZU0NoSUtFZ29TQ2hJSTNSTUZTSXM1QmdPbDllNmtSNjU1cUhCUzFYRTdnRHk1ZDhCbzBkT21ET1NTL0JhbE1xM1E4cWFvenkzbEJzM1hwTitVaDNyZ2hWcE5ORlJDMC96SCtHRDk3dGw4Z3BkOEZUQy82NnRrenlLMWFiVExSNnJKMk8zMFMyandwZDEwT3o0WUhGUTVNNlQwRmdTYUJKb0VtZ2ViOUFzMXU1N0kzeXRJNDk4b0FBVVRZRDd1WFpYUHV4Y3IyaWhGM0dpQlhLempEUFo1SWVJYllIbldQc2Q3ZmtDU3Q4YlBCa296SEdSRzdDZkRlcERFQ1h3SmZBbDhDWHdKZkF0LzdBYjVJWHE0RnYvL3dOZHNBY0ZaMlN4QjhzK1lJaEFtRUNZUUpoQW1FQ1lUdkFvVEZDOUd6d2tGc3JZblZ6STBWMHpjdnhKRldRMUVDMXhQOG9ncXQ3MlFzcHp4aVA1eWVIZ0VlWVlXNmR5T0dKUkdYY2MrS1M4dmUvNjNQQUtyalVEaGZvcktGZEtyT0JZTVJtanJZSXZnZytDRDRJUGdnK0xpdTFWRmNCaE1lajhVZ2xDWlFGMElQUG9OVHlWVWpJR1FWOW4zNUVpUzg4VjlWUVNFcjZITm8rVEpBai9IUW15V0lPT0xHOURJUktodldISkdoSWxCVjI4c2txbGFDazd2eDByQlFCU21VQXVUUmFzcmNtTHBzbUtMVERrdTB2SUE3bVlGb0cvbUs4VGdFdHhxWFV0dEdFTTNPZ2Q3TG5aZXcwOS9zZkwwQVpwODdROEcxMExzcGVEdjljbmJWNkFUa1BYNVdlZjgwZWUrUXB3NWhKbUVtWVNaaDV0MktYQm5pYW5nc0x5NUVzNW96SzNxY2xWeUh0VmxCeGh2UXRrNGV3eHJnQW1wRTVEWS9LMTJ2eUh6a3VFdktVRUptUW1aQ1prTG1QeHN5U3dPWnZjSTBjSk5kcVJFOXlndStVK0U2dmVpeDRDRXJtdTVOVlNqWUtPTGpSdlVvdmlEUkNtaHliVVZTaGhKOEVId1FmQkI4YkZNWkd2R2hHYXpMdXd5Rmx0SXRIL0toV1U2MXpCbDh6bHlMOVFtVnEwVklpQ0loaWxDUVVKQlFrRkR3Z1FwUkpRd2R1Ty9NYWl4MWp3ZjNzT2hLUk0xZkdaWVFNMTh3YkhQRnk4VG1Pb1M1aExtRXVZUzVoTG1FdVE4UWM3djFXa3BBMWtOcDdKNkg0RlhBQ3VXYUFiSW0rUGU2Q284SVVnbmFDTm9JMmdqYUNOcnVqVGc1K0N4RDlFOU51SFdLMm1Ybys1Q0U3WVJLVjNBem9iSkZuVWZ1aFNyRG0vbWdrcUJLYUU1b1RtaE9hUDVuRWxSREVRa3I2Z0Y3SDc5ckFkaXU0R2FBM2FJT0FUWTlHaUhnSk9BazRDVGd2T2RpY01ndGIvUk96ZlMrKzFCb3JkSzN0RERRcXNleEpvMXZVMmxTOXhMT0VjNFJ6aEhPRWM1dEdlY0duOTFKUG1pcDhWMExlN251dG9SZ0t6Uzg1VktQWEVUTUZwbzB1d1RjQk53RTNBVGNCTnpiMCt5dUJlWmNSN3NTbUd0TEVUQ1RCcGNBa2dDU0FKSUE4aUZLdGdNdFJscVlOVzlPajEyaHRVRHF5NjFEMHZwaUJLVWs0eEtFRTRRVGhCT0VFNFN2Zy9BTS85YThjTjBOdzMxZmNpVnk3NFlod0xFdnVocStWNVNsQjYyRXRJUzBoTFNFdElTMGp3VnBFejRXNjFIMmlJOUZDNFNGeHRxZzYxSTVRbFpDVmtKV1FsWkNWa0xXeDRLc1J0b1d5SG9pYlJ0a2hjYmFJT3RTT1VKV1FsWkNWa0pXUWxaQzFrZUFyQWtQenMzS056cEhXR0x0QXgzL1ZoWGJhM2lWVXlsQ1QzRUl6d2pQQ004SXp3alB0bzFua0JrME9HLzdFZ2NBcnQxTG5CS0FyWGlKVXk3MTZITjh3aktUanhLaE5xRTJvVGFoTnFIMk5WRmJxd3VaSFl4bVNUUXYxVm9heldxc2tVanpZaVNWRXI0UnZoRytFYjRSdnQwUTN5NTJCbGk3MldKNXNiT0hCUW8wMnhlSkZnR0hqYm5ZcWNMYWllWGFNczZ3VFpZaTBjSmsxMXFPSmF6aDd0SEJNc3ExcXNWT0FZRmdZYmlWYnBiTXBIckUzWXFIK2FCYys5bGZ1WHhIZGtaQ1FFSkFRa0JDd01lV1pqVERzRUhBNDBCRWc4Ky9xYUZYcXpZRlVyalkyY095RzBDYnE4QjRYTUFTOWxxVEpLMnA1TzFDV0wzeUU5ZUNRaDBRUWhGQ0VVSVJRdDB4UXNIWlMwMFpvV3IxaUY3bU9zSFM3ZURwV1BCd0FXK1k2NjB1VmtGaldZSW9naWlDS0lJb2dxZy9IMFJOQkkvc1pCREpDeEVMMDJ6bGN1VU9zMklGUEozTWpSWFRSVU9YS3dibXE2RllscFZnNm5wcW1KMXdpMHEvSDA1UGo2QXdFRlZZQXc3aldiQWxFYzBubWs4MG4yZyswZnd0MFh3dGVDaGJFUDNqdk54cXFwK1hheUw3RXhHY0d6YWJDRHNSMmprWHlOaFkwSnpCSXNCNDVzd3F4b05BSkJaSmx0VjhOSklCUVFGQkFVRUJRUUZCd1phaDRGek1uYTZtVVNuMU4xK2lsVUxxSDBCZzBOYzhyaGp5Z2Q0c3E2UldscjV0MHovQkI4RUh3UWZCQjhISERlRERCSm9uWXBVZjJZa3IwYzZSRE1zeUZRdjI0Zml3dlNkWnEycmtTa1k0UmpoR09FWTRSamkyakdQNDJtWWxqcmtTN1hETXZkMXBqVjhyaXhOdUVXNFJiaEZ1RVc0UmJpM2cxdlBCRUNKSTFFaGhTekxWTkkyc1RDS1VrQXcrNU15ZUNrVnpKaTZ0NW9GbE1oNHBQY1VoZWpUaU1UczhmTmZwTHNMaDgxOWRuN3R4K01aVmZxdlY5SU9PS2c5Z3haZ0hjM2J4SE5IeHkrQVFqNkwzSSt4akVaR1NFZzU5N3FRdzFPS3djNjA1VUZScHhkUXNPNXgxTzI1aE9xODZxWlpMQUE0dmIwSHl0SXI1cllEOW1ZbmhSS256T25SY0NPZklmRkZtRWhISWtaOGRjOFg3ZFdPdkcyTHptRVFjSWwrUmRXT1Y1eXBtTW9xWTFYSThGcHFObEdaNG52d2tnS1JwdUlOZjRhZCt4L3YrMDZkZEppNkVucnNBeis2N3hhTHcxVk04YkxPSmlIRUlsUTQ4WHdQZStvdFZpOCt6VVdYZmpMaU1SUGkwNzk0NysxdmhaaklVMklmaFU4RzR3ZDgvK2N2eGlZazRUSlNNYlI5eUxaYm80T3E5K2NFVkxKWlJWVmJ5dy9GaHY1SGJXWFpiN0hhbXduS0kyYm0rNTczVVdEVmxXUVhuSzVOTlU4WkJsSVlpWkRKbVBJcnk4U1I4RGdCZ2NEUFJ3QnI0eHc0ckdMSnVSMXhrQ1RnVzdzUENtWnFEbW1YRVhIRTNJak5SYVJUQ21BdzhTcTlaSC9aVktFWThqZXdyR09yVFZiZE14T2tVS0VlKyszRDJYVHh5dCsxZ0JuYm5yM1BtK2NpTVVQeUM5K0xzcXR1UjQxaHA0VGszb0hlbHJvWktSWUxIT0RVY1ZPZlZpRWRHTEU3MVlKVHpXNDVpYXBIZFRyZnFNRXNnSWd5WHFndC96NHZ0d1JHRWZYWVFHNHQrdHlNb01HVXdpNHpMRjdHVldtU2NaWmZ4NnVVb3hBRXRwbHpHOEZkcFFGbFhnUmJBN25meG1rSHB5ckN6VXU2aGZqRnlXU3dPRzBrUlpTUE1MMVMvVTdPNkJwWjNEV3VOZzNmQWFUcFhaL2VBMjM4TnErckdsWUhvKytGdk9WUDNZbmt3Ujl4RldNaW5md05CcUVxNkhSOVRkL0l2T1J6NW1zNHpod2hqM0lYV0lnc0xuREVDdFF6aHFWSnN5dU41ZHI3TUY1M0VzZXVVYVdDS0hSTXFMZ01oUXJnVVI1SGdRTEs1ZENFbHJKNHpQdVl5WmhHM1FoY1RxMlVPVDY3SkVkNTRUcnN4U3d2R0ZDc3dGV0F3REI4c1EzaDJ0Vjh3YWNzQ2VhM3Ura2JzR1VRR09kSmloRDQxSUlOb2Q0VlFBcmg0a1NNZmdrSXNaZ3haZThmT21YNm5qcGNzUDFabzc3Ky96SUVjN0dlRXBVTGJmbFBERGR6OXk5eFhLa1BuL3UrdDFRV2orMWZoWEVuZG13Ym9sdGQxdXNUSWpvVXRVWWlsMXhlYk1iSDNnOHk1U1JDeEkySjN2NGhkbXl0NlUySld6cU8rL0k2M0ZVVndMNHBMOStsTGtBUFhhWVFEMmQ1T0c5ZEJMUU9jYjdZWEFxYkNHT0MxVjU2TDF3dnJ4MHcraFdpZVRRSjAwZmw5cmRQZ0xiVnlMUVhlalE5NTh6RCtWTmV5OFhMY0ltTXh3TEdiQjhoZnVJRmZsNzk0NDZiOUFQa0xmSnpxaGsrY0JYRVc5NU96V0hVNXQwVE5BaFc3QUlqQnZCZkFpNFptMzlubmUwVlpmUHpRZU8rckw3b3Zuck5TTDg2MDFQQ2d1N1lvODlPOGVORXdGM0tZSllNdEdXekpZRXNHMnk5dHNGMkt1MWlTVVRFa1IxVVRPT1RHb2FMeUd2VTZjUlhxM1FQVDYxcUQ2N1hzcXJBQ3VTRVRRMGJpZk9HdVFHQmpFUGpGSlJyRGpyaWRiR0RUdlZyS2tuQjh5RURRQUFHRWFURVdsL0NuRlJEZ0dFMWR2aDgyQmNZQ0J1RE1KeEJlR1JrS0YrN3JyZExNY3p0ZEprZHNybEptaEdVZksrUDgySG5GZnZuWUdVWnFQT2cvKzlnNTh4YTcwb1R6SUovOVVGeUFmUWVZVUpORzFoUWp3SEg1VWViR0h0OVAyQVhoZkFLVzBJbTFpWGsxR014bXMzNmwyUUVPb0Fnbkd2RTBEaWE5bVJEbnZlYzk0QkFTMUtsNGUrT3RMN0h2WjJHSnZkSEtML0Q3T0pyajM5Q1NyNGZsSGV1WUcrbnlsdXVNcGhWYjE0bzlLMDk4OHoxVGNkUjIwN0xCYlhIVHB2eHlYeVR1Y2RjQ1JpeHV6RHQrS2FmcEZPaW1uY0JWYy9HQnRBQ0YxSVhJekxyWlBQdnNOVGN5QU9zRVdqN1psRit5T0owT2hRYmUyMFRjVElUSk53bTNHM255ekU4QTFtcks1MENWTFpkeHYyeVBmYjdqeHk1Tm9NREY0SWFUeUdsb21EWElsQTZGOWg0RVNsbVhTaE5rS1BobHlwTUVqODlZR0RiaGh2RlNUZGUyR3JHZDVsTWowUXorM0psazh3L1JKSHppMnUvaXg3ajFlRVRjUUwxUldHaS9RRkFkalB0NEIvRFFnQlU2a3ZGNUppbmhPUm9MZDBYTEhUUll2Q3VNTXBiUHJQVzRBbjcyemxzakk3Tkxwdks4cjcrblFzK1BTdHFidFgzdUs4UmlMWHBlTE12ZE5lQ1lzSm0wRXhiSzBVaEFmSG4yRmNndUtoWlAyZStwOHpUSnU2b1pFM0pPRzV5UzRyaTZuYzdPUzUvdHU2WTlMeVlOZTc2enM3T3pjRVozZHVDWThpaFNzOWM4T0o5eEhSN0srTHpOS3V4Q0pWT1FOQkJJRlJzcCtCZ0ZOUTBzRE95ejh6dVJ3OGhMRkFuSGhZRUQwY1dWL0MwMWxnVVRHWVdPR21LV0FGeVJWNDVPWWdmZ0pTd1NvZGxYV1BRcE50RC9HUC8zLy9YL01ORWY5OWxnNUVRRmsvM1NlODdneTVyUEIxWW1odjMzLy90L3V1by9xL2lKemNZK1NMUU0vRkFIN0wvL3YvOGJSZ05jeEN1MjU4WUJJRmFkWWRkVFBxam1aK29Nb0c2dTdZYnArKzJ5UVpjSkcvVGQrRDdHSDR4ZzBML3piZElLZU9taWY3elM0TDAwRkhNVmh5d1d4b3BzSWV1T0dPNzJtMHRYZlN1N25XK3k4SzFtZDdGK0FLR0krTHpVcHp2RHk5Y01pZ0hLR1JHb09EUnNLT3hNaU5pVDN5emcyMFJFQ1NyQ2dIWFBpVUNoYTNMbWxJZm94cFpIdDNQK2ErNWUxenF1dVMzSnk5UjRyTG0ycXE1cXJuREZSODE5Uk01cDVKeTIyam5OVkJ5a1htM2tUVlhiNU4wN1dDRnRYOUs5a0VHQURBSjNhTk5zb1V6WmxrRUFnN3h1M1dISzRjNlg4cFFxOTFabndxd1BUZnV3akpma0ZrVzA2cUc0UmVYMzhaYjlvVmJlKzZBMlhjSkRjNEZ5UkdzVlE1ZDVMY0dFaXIwdVBsN3B5N1NYcmVBZE9USFY5UC9uOUY3YTJwV3B3L1d0K3l2ZFByeVhmU0Zhd1R2NUpoRzhFN3gvRWQrazI2RlZQQUJqVGNrZnFVb1VRQmZqaW1ScTRjeCt4Vk03Z2Vkb0xweUZGWHphUUNkMnNicFQ1dDVYUXJFOWoyaTNTaTNzblExOXlYQTlEYTlEaVRTV3Y2ZUN5UkQyWkNTZGxTSUhEZURwWUlzT3duYnEwd0p6b0paVGpLbFpiS290WHRjKzcyS1ZvSTUyY1pDcVVIS3QxaWFlbG5UanZoSkxRVlpmVWhRdTdPVk5kR21MMmpUY0M3K3Viam02R2U5WVRHVlpyNWVkcDI0SE5hZG5kNEk1clE1MVprUjRGQUMxN1JrL09EVGI5Z0xjR3ZSdGdqcGJSVU1WanhYTXN0azk5NzByc1FiT3F1bmJmYXZvZUp1QmVGTU85L3F5NUoxTDNybmtuVXZldWVTZGUrKzhjOEZOcHFmRmNqVEE1V1RuVUpSbFJWbU9MQUNWM1BrcjFVWk5ndHI3UWlUSFdTZjMyV2ZYVGFPVmtPRTh0S3pLbDJTdEErSlV4dUNIMVhuMUhBdjYzMStVdkY3K2RiV0RueG9WNnkrdFgyaUQwcEdjaXNOR2Q3Qzg0NjkzU2oxL3U3TlQ2dnByOTFkbGxuS2FjWWFGWjQyZjVZZHFOS2wxazl5cDlQVmlaNzJMbW5NQlZJekhQSnIvSWFCYi9OVkljNlRWTkxIdGRpbkJzdEJRYWtUT2g0MHcxbVRXWHA5OU1BTFlCUFJTQXVtdnBoQ2JjbjBlcWxtTVBoNjV3dytiOFRuYUhBeW1oOWxrYUs1R3d3anpmZVpqRWR2eUNJMFZvcTRNTGxZeHJoQ2NaYUUzSEoyYjFrYnh2ekpiUVRidlRyZUR0Nm5iR1dxTy9DbmMybnhQU3dYUGdMaEEyZmR0eFdGZkVHZi80OG43bjVoS2JaTFdpQUNOMTdobWViSHM0cnFXV3UremQraExxRERJQ0JUOEJiODl3WXBuWDJYZXlEQ1RubXV0ci9SNDhQUTI5cnM4Nnl1YzlnMlBlS1hCSlJuZTBibldyalFaN1hidjM3MlRXZmtkL04xb3E2NmpiU3AwUTdvMHFaTEJhejBQWDNYTHZhZlNiVGJtWXF4d1VDNWttRnYzMnNUcWFRMzlXNUpqSyt6STlqMU1LbHQreTA0bW9EYkpIa0tnQnJ4aEVSdjB6bVdXNlg1N29WejNYRjk1QmVMYUpoQ0lkejBPMTc2NXlRYTFHaFgycFVraVBoZmUxZFVGbEVJNjZiZTMyNG5UeUhIZUdZbEJQWTVjY0NEZFVDbnV2cTBaZHBPaGZsVm9Fcy9zR2N1bnljcVRDbW1HZWxEVWVVVFVNNldPRERnSjlBWXpyRldsNDBodEpOYS9rcXI1ZnNRdlpGRDduUnZ4V2hjSG4xclZmVmgyWVBXZXEyZk5aQlFmMkNWU0M3TnIyeSt4ZTVGdW05ai8xY0lCckpXeVBHcGdxNit1Vmpwa1ZPRDVGbnd5dHE5NnJoM3ZkZDJIMmxMYUxXR1VEMDVYTHl6NzJNRE1XSjBHRnNWN2RCZkhONVB1Mlkyak80ZUg3MnJmdHZyVzk0RXkzdlBYclZzUEo1eTlDOEVWekpldDc3NHFQTnRsek1hUkducXE3VGFtTGNOOGxEUEw0MVNHN29HQzd4RVlHazgxa0RpM2xEVk9jamtqRkNNWit6Y1AyZlpubklmdnd4K0htNGtlSWdhSStsa01UM0t0elpvWE9UL2owdzdZL3NVSjR3c0drQnRtWXNqOGhRRXhXTUpMdlB5TkFnNjYrVmxjK3lkNHBZSDRwM2Y5eTJuRVJqSVNaakdXTEF0VDJNTGlyVjdBNDdqcGVaNTdnSEdTRGtNRm9XUE5obVBKNjJYN2xmSEtwYUN5UERJS0gxYkFPRVJZSG9abkZzeEV6VTZXc0xUbHBuZ1FkbWJnMGoyQTcvQXVySHZVQzI5c1B2bFdQbmtGLzlKQzNjU0EvSERqRE1mNWFyYU1NWndJRFRmekMwWVozdnhSUzNHTHQ2WW5kaTNlc2xucnhqNUxXZDh5VGxLSEUzOHE3NnFOV0l6dDhqemJsOGl6ZS9tRlhuM0VDeDNXU2Q1K2ZSL3UwNC9LQktwbW4ydTU1bGNXYlVzSGFpUkVPT1F1bEZpTnlTa2RndFVoSzRSdGNXaTlZZGNNbG4vanUzNmJ0WDIzL1BQS0xWb1lxbmZHNmJTRmdhd2UweUtBMEE1YnMxc1hBOW9ZQTlnUVZtekw0OWpBdWNDdmlMZXY1a2JVd3FYT2UzbCtnZkhWeU9nL2xrWGR1eGpUOXl2V0REaGFaUjFENDg1VE1VSjM1VzU5Z0ZzRjd1c05vbzFDZkFWaDJoWmxCTU5keEdjclV2TTlmNXVWV1I5ZE1YVmNSdVMremlxeW1kTG5vMGpOYW9Jc3JxdHhPOTVjbEpTUHZNaklpNHk4eU1pTDdBRjZrVVhSMU5qTEJwWDRYMFVzME1rYzVORyt2YlFlTmIxZXIxNEtjMVdneHVtbGZaUmhIbjJNbi9IeTZ2Z2dqNnU4ckRiMW5pbzdYM2xGNWRzMGlrN0ZwVzBUT00zSEtBUlhEMmJGSlo0N1dMdEZGZVN5eHZFbUFWenlGZkZyQlBycXgrU0EwakEvOGtWcFVFeXNKQ05iNHI0OUpkdStvcXRwczcrd0YwcThZaUIxeWpCUGdSK3RCOHAySEFuYStiR1VVSEs5VjErR0MyR3hZZGw2UU9qSGFJcDByM1Z6eTZRYmZXREtRQUJzQTV4QXgycHQ2Z0ZSYjkycVRDVHZHWXducnYzVmdTYWFBT0FCdURpc0gvcTJ2QjBhYi9TV0tLSTM3Qzd6ZGU5NGNvM1kzVk9lL0pramQ1dEZrMzNEblhXbS9lS1JRZWJhQzZGNlpUenVzMzFuSEllZDNZMlNDV2ZKaEJ0dlNuNWlwbHpiSjRDM05zTWZiOXNmcFhIZ3BBbHBVWXBBMGN4Wm5NRkxQeXZuVDFpZi9hQm1FRHdTdy8xQ3BGendEREJzcXRDK2ltV3dUeTJjU09KRlBWeDlUSXAxZTJGNiszVVdlRmNRQXNHMjZPbTlDMVlOSmx3Zmw5UnBaejFYdTlEN3R2d09NbTU2MmVtZ2tJZ1c1M1g5VUw5NXZGVTN6M0xiMytDcmpQeVJ4dGMrd2krUWM1VzI2ZTNVbFlUMW1zb29rdjZKQ01ZQ3pRK0ViNDROUVZHRFBmZnZiVnpIZHp5aHFJNFVTdVVlR2Z2WGcreVdZTjQ1QmpXWVkxM29jczZBQzNiajJEUmpiNjNWRnB2ZGpVTnZzSDZyMWZTRGp1NllOZUJSOUg2RWZkeXEzc2V2ZDBQUTNBZVhjcnlhYlp5SUp4SFArNU5xL0NaMGE2dlV0YXhWYWdqUTBTb25kelhHbFpuSHdVU3JXS1VHNG03NFBCTk9XbHcyNzY2dmNodjIzZlk2dExiYXNDc0tBa0xtV3pMZmt2bVd6TGMzTnQrdWpQN2hRd3hVWVRORGpJcXlxSmJIeHhLN2NYakR2UEwzTFBpSEthbm5PamZTejJTcTNIb05UVFdHUmptNkJpaHFocWJGYU9WVTlKek02QWVkWXpFT1hMbkZXdC9Rb1M5WjFFZjJZT0VJYkVOL1ZGNkJiNzFTcXUzTGs2cWpQQ3JhekVMV3d1cUlpelJqR1RMQ3JCU29OSjN2RzRZeHk5aTh4VVJDWVJya1lVNTlQalJvS3BHZ3BDMjU1V2RCVzJLcmx0b0dKQzdhYi9Wb3AzMDBEYXlLbWFZV3IrckNHK3V0QkFpWjJDbUk3NXJQZm5DL29mYXhnek1RSWpZVFpTdC8vQWVZcFk1Y1JwbWw0Q0pMdVJUZnVqSENWY215Sm5wTmJSNHVwQWhIY3VZRUJQL241NXRHd0xnM2IrUTNmWHRlL3dKNytTWmE4SlF1SFZWM1VOWSsxVjVPeEpYLzFkQmNxeVJZcGVDcVN3M2s1NjJtbGVyNy9XWHE2MFA0NU80cm8rS0N6TGpKK0hOd1MvQ0hlZU0rZmpoOWQxaHVQMjhTem1wMnk2NktPN0p4QjhkOHh0cDJFaTFrYk5zMGUrbGgyU2pTM0UzcGRtODhuWk84TG9ybkszcFpsYXVyMWFGdkVYYkFzZUVmamc5WHhHdllVNkdvZjhMZnFPZFlDQ3ZoV2E4WjE3RVAxN25abXYzc0tqSWZKQUlXRGRNTUdwTUtrNnROU3JiMTcrcEVEcWRFeXRENjNzZXBoWUdHUU9rcDlteVR1cXM5cTc0dHRWWWxUcysxSG5WVkF2STBQT3h5RTd2aHM2N3RxNkNXSExJYU5nVDhQbEQ1NDk4S0QrZk1yMXkvODZVZW5GV1hrSjZiUGZiblp2N29QY2dYWjNtY1VIcDB0dUxSV1VFNHQwVE00V0FNQWkxQ2FYdHBGbnlxMXIrMENKM2dpbDhqcmNZZVZ2eGduT3ozeUxOcXRPTmE4MVg5MWEvcStyVEhQK1ZxcEd3amlxM0p0c1J2UWo0bThQSmFFMC9LYlE1TEhYTlpzb3c5QU1mTFBZd1NoQU9GR0RaQncxUWVBeE41a0tYMUxxdTMyV3dpQVlXRURTYkZEWFVMc0puUDZTYTMvTFpJMEdBaWpWVmFCanhhWVRUOUlTL1VocXdVYjJNaGZrelJRV1dwYXQ3RnJpcE5HUTdJdUVuR1RUSnVrbkh6M2hrM0VWTitUMFVxZXNWam53WWcrVHNVYSt0OGc0Q1FKeG5ESHR3UmI4Q08ycUlFSEFRY0JCd0VIQVFjOXhNNHJEb1hjV3QxQ0paZUpTZXhyN0xvZlNxTzVrOGJsQ09uMEF6cFJtcDFJMjZKTjFHTitFM1ppbVlFZCtaUktFWnMvVXorTkhxUjB2eXZxeGJaOUxadlUwbFNva3ViNmtoYVVKZEdGVWxwMWRaclNNcUZpYzhsUHBmNFhPSnppYys5WjN6dWl3Rm1qMXNSYmZMRkxoWW9zT0pOa1Q3Z241bjdzZ0lhUG10VURJaW9ZaldGVjBiVlhIV2Qya1JUQnV1NFhIYmdsT3RxQ05ObFE2MW1CbjV4d1MvQWo4S3dHRWdKajNvUmo4Y3BzREhvN2dyVDdRVXFObFp6R2VmNUZvNmRVNFdCZ0VGS242UDNsQXBGbEFVaTBvQkE5eUF3TUM2bmQ4LzR4NHZPUFhqWnVRdVB4WDVVUTBJNlFqcENPa0s2aDQ1MDZ4L2h2dmlyc0p0aUhqNnJSZWd5bWZsZzhlZzcxTUtUMzgyeXZUaEVjNWxtbld1bTgrN0pjUEEzTld3QlRBdXVqWFdyVXhRWi9JZ3VqM2N1UVAyb2hqVVpDZ2hZQ0ZnSVdBaFlIZ2l3QUpXSGVKQjFLTExINDBCRW13S0pxNVVqd0JLT3VPOVJWSkp4TDlGcXJDRjZ5YU9IQzlLM0VWZ1FXQkJZUERJcFpHQmluc0RyUnpQNG5QMjZXamhCekRqeFJUY0FGclRPNUlLRktScW9sMU5VRFBjRDgzQTY3WnNlNURxOHJESkRtNDZJQS9lb3FkRGVhUjZJMndLaWJ2NTJxMWd2aWlGRXFFYW9ScWhHcUhaUFVBMFJZQjJJbldLaFRSR3NRSmhHN0JLWElraXhIU3pIeEFYTXdqbHFhSlVPSTJFbVNsa2Y1WTlFSndJWkFoa0NHUUtaZXc4eVEyNkRTVTJvNmtWNGVRM2xsaUxPbmZoUVB3dmVDbG1RMlBNWVFnTkYwdGdzZzlZcU40VnlDRlVJOE9EQ2lHSGFBeTg4dVhhemxYTitvbFlWMGJ4TjZwSWtZRmYzeFAyZ3RIRGtoRUFZUmhoR0dFWVlkbnNZMXM0WFlSTTBBejhFN0tGWENlcmRLQ3BsQnFRdVM4Q0ZEcHpsbkU5Q3dzY3lkcURsNG8xZ3F4N1Z5Q2VCY0lad2huQ0djT1pCK2lSc0FpaVpQMEtGL2pkNkplRFQ5aEFCcE95ZEFDN1grVHVwWE81eExaTGlqY0NFd0lUQWhNRGtnUWt0QXhmM3ZyWHM4c1lWWHdjNGg2Q0FxNGd3SXF0WUw4SmdkSDlBSFBmTzF3ZEY5b0g5WFpMbUxFNDhOa3RvUTJoRGFFTm9RMmh6YjlIR09aeXRzdkRzYWNHdGVPMExGcGlTZlZLVlliQXd5RER1VzJhRU1WSXRaNHpaalRBZkRqNFQxV0txck1pcnpLU2RzTDM5STBTYVNGNkkzb1VVczN0bHUzRWpkWk85VjlZYlA3SVR0K29FVUFSUUJGQUVVQTlUdDlZZzZvRFU0c21jV1FkSFRzS3BRdEd5ZUFPbERBTi91QXV4VkpxcG1jOGtVUjk1cUJVa2theENVRUJRUUZCQVVIQnpXV1h3MlpObWI4MXZOc0hzNHpkdEpaZEltVGFDeTRsVmlmRlpvN0JFbDJtQm1lQU5DL3pCTE1VYWtIOElVMFJ4MjZveTdDUmJCbEtJRWNnUXlCRElFTWpjQ3NnTTNDT1hsVzdRYjF5UmxsampTN05BdWNTNjYxSG5PSTBOKzBtRm92K2I2YktqdVowQThDak5Ybk16Y2UwRUtvN2RGbHZsOFNseWYxZjFhN2VPUTE5TS8rYVg4VDRxNFBLaEVTQVNJQklnRWlBK0trRFVJb240ZklVN2dxZUN4NjdjR2pSRVIycVBmNjVsSnVOUVhEYTZJZVI1TEgzcEJKMFF2TzkwRlVoSjZDS01JWXdoakNHTWVaZ1lNL2dNeEgzMXU1MEsyQnhWa3kwMEFnNWZoSnpFVld3TzBWT0hPckJxM0JoaGJ4Tm5pakE4Ymkwb0JBOEJGZ0VXQVJZQjFwMEQxa3dNSjBxZEQwSmhyRlp6SU1JclFpVzRTdnRaMlo5ZDVSSmFaZW1VRm9QeEJLTGttZERMTzJNQmp5TElVNytFVzNsZXBxd0VTMDNoeEZESVNHNzVyTXB0Vll5em9ubVB4dTZOa1RWc0tLTUlUcmREd2o0a1dYcjJiRjhra1pwUEliQ1Azd0VaU1R0Lzlld1plMzM4L3VlVE44ZS9ucnc1L3NmQjNwdGZmMzd6K29mMzcvLzI2OG1idmVNM3B6VmJPaFFCVDQxZ2RpSU5iSDdXY0dxRU03bUJ6MkRFamlJK24yazVubGovU0VvenplMEVrejF4NTM2dXNpT1VMVm8yRnovblpieDI1ZnllbkloQUE3T3hYWmZDeGR4Y1JVTy9kSExPQndlR3YrLzdVQmJ2REp5SGhVUmVlZkZsbks5cm9DYUoyMVRHY3BwT082OTJzcE5OekFFeEI4UWNFSE5Bek1HMW1JTnU1N0kza2xvRW1zK2lYaGtNZ2VqN1lmZlN4Rmd0K0xRWEs5c3JSdHpKV0l0QXhVR3FJZFRydkJkTVJIQytRdkxkSzhydVlkR0NsVGlGcElqL3pGenl3UVYyQW1SYTVpcmF6TzN4TnpYMFQ3dEdJK0UrS28wazkyenBONGpJTjJpT25DY0psQWlVQ0pRSWxHNVRZa1ZRV3YzTUN3b1VBSUovTDhlb2dFOGhzNThZR21tWEZhYjcwZ1RxUW1pVEdlVzBtaklPWjE1akVOZ1B4NGRkTnBJUjZEaEJVSnU2MTE0NE9pKzArVXhONWJCLzBkd0xlcWJxMklKOTNKTTNZYmd5Rk1tUDBJdlFpOUNMME9zVzBLdGRDTDkyT0FZbVFBYzZMbXFmVDNjTGFRR2J3MSs0Q2tVaXFDSjJIK3dnQWxUSVFoV2tvTFEwZlhZS1dNV25nb0dsanZISUtJeklwREN3TGZ0WkRFOVVjQzRzUzVPeDVxRkFEeFo0NzV5TnlRVlRwd2lBaEUrRVQ0UlBoRThQTWdKZ1M3a3FpLzBYK09MWEMvcm42MVBjSlFJTUFnd0NEQUtNQnlIUXRBcnZoN2l4Rk5pdkhrMHc3SVdUVnRaRTlQTkIrNW9DK3hHbUVLWVFwaENtRUtZOEdFeHhCdmhWQ1FHeEFBSkhTeVR4TnYwZ3E3SncydFEwNFZZNlR3ZkdJOG1OMTJRWk5QbW9lS3pnZjFlZExQNEVCd1FIQkFjRUIxOEdEanoxWFlFSDcxMkpUUUNoU3RJYjR1blZoOHQ3a2l1eDRJYW1jWnkzZ3o1akJBOEVEd1FQQkE4RUQxOEdIbEFmWTNxSkZoQmplNjEvMkJFV1AvS2wxeHZaWTJoRFpJYnpYUGVUdVlVbFdrMFR1NFFmSCtDNUQ0L1o3Z0dicWhETUluSG9ITCtrRlU4TU0xYW5BUklVcTZDTkJDTDN5VGlJMGxBTXhDWCtqelozcDlOeXZlTjVObjEyN0p5L3dBSVBaaE00NnE2VFJLc0xHYmFLai9URi9Na3E2MzJ2bk1zSUNBa0lDUWdKQ0I4K0VJcExxM2xnVjBmM2MwVUt3UE9md0l2U2YyYTdZeGpmUW9RLy9MNkFxaEFUdmk3N1M0dEVDeWNkVmZLY2wrcUpvaXVFeldveWMzYWt4VWhvQmpQaE1BN1V2Y1ZpeGtxTDFSYjJ3bncwZVRDSnV3ZEN2NVRrV2szd1IvQkg4RWZ3ZHl2dzE4NjVlbk1nQkVmckVvS3R5Wkh1cmdBSWJTVUFWS2xOVXV0OUVTSXg1c0c4M0tUUGFyc3hkcEhUTkNFUElROGhEeUhQSFNIUFNJZ1FveGV0a3J6aU1GRXl0bSt6c2dYeTVCOVY4T1lrSGNLcEViNGVHeFVWRnc4L0JER3FTRnEvcHh4OUdMSTZqQTlWQ3FFQzMyWlJIWXAyM1Z1aGU2SXJYRndsMGhRU1lCRmdFV0FSWUcwVnNHQ1QxcWtLRDFFK09mQWxYWWJZbGtsekYwS1hzNis4cklNdWRVOWIrOTJCb1N4UTJwRnhQSmVsaUlYdUN0OWJYZC85VGF4TEtFWW9SaWhHS1BZb00rcFdNQXU4OTY2VFYvZis0UlhCQmNFRndRWEJCY0hGRm9TZTltbDNGMFFneUt2Ykx2bnVQUWNVU2hSRllFUmdSR0JFWUhTdndLaE5ldDRxSlBua3JHMno5RDVxV1BwVEorc2xZQ1JnSkdBa1lIeWt3TGcyVFc4VkZ0dGw2M1dsU0ZZalNDSklJa2dpU0NKSTJoeVMybVQxcmNPbXBFVnkzK05TZHQ3SENsS1VFWmpRanRDTzBJN1E3dDZnM2JtWVI4S1lnWWprV0daWi94ckI3Vyt1OUp0UzRYVlpnREhCSC9QZE1GR3BXVjJzVTUwYTJMR0pndjk2Ny9hTzRKSHZFTkxxY3Nzd3B5Q0cxemc0ZW1McUdzU1VUT0Q0SHFqWXBGTTR2YitueXZMMUNYLy85dVkvRDkrY25QeDZkUHorZi8vUDVqUy9LbllaZm8ySVJqMFk1WklidlIvVmtWYVg4Mm91M2dYTTlEQllUcnpvNi9aa2tzR2l1MnNFakFTTUJJd0VqQVNNRHlnYjdwUW5xK3g2NzNoU0FzNTNQRW1XZ2xDOTR3bkdqY0p3R1N2eUZXSUNLQjZmR3hjTVBZMURBZStOc1dvR2lLR2F4WEI2NGR5TzBpaGlmdkZRU2hRWFFzL3YxN3V3ZHp5NVYvWTJISTlyTWg4UVlScGhHbUVhWWRwREV2YW1RVEp3MFNkNmtScXZTdHdCanZMdmdtUVhDeDlDMlRZcDJ0RzlIdVEySCtJaWNoWHJZMllVS1FoTE5YZ2E0Z2wwYjV4bkV3R2hONVFHcFNnQUhZUVRCSGhMN1VScCtRZDNkYlJnSW9ZbEROZUxla1Zmc0FSNTQ5S3dVQnBzZzZVeFNwYlNHb3g5TmVSR0RMSnlJMC9WcENudDZlWXBScno0aC9jdGsvWitUNFdlVjRTOUVZOU1uYlJYM0xWQ29ScWsydUNaMzdBdGtod0paUWxsQ1dVSlplOWFjdXcyU29zSDhWaFU0WGl0MXRWVkFXMXBGWTZYMFBqRXJWTFBxbDYyWURNdHJkQXNOU0prd3ptelhpMExEY2w0cEhrZWVXUmp0TVdXVFJZV1dXcG1KbHpqZ1FKVktRTDV4aXJYYVdsWnFpclhiVW1xL3U2cDRXOENpUWdQUStrMjgwakRWbGtKaUFtTmttc293U2pCS01Fb3dlamRLMkJWTEszU3F6TURRTFNPZDc1Z1NSM3JQbG5PZGV6Q25YQTJ6YXNza0hVNGlXa2tEQWl3cVlZV21BazBUMFRYQmZQdnVnWGxPcGdVOXN5UVpaT0MxWmVqUFBieGZZbm5YMW9sZWdWQlVFZFFSMUJIVUhmYm9VMUEvK3Bvcm1rQlRhaDRuUmJsMTJsY3M2Sk16V0l2NVUwRTVqbTdEN3BNTlJvWmNhTzJTSmxKMEVUUVJOQkUwSFJqazZGRGlzRm4vOHZhVVB2dDVTa0lzZDhzVEdXZ2xhMERkdE5seHNsWUtGckJoZWlpQkJWeEMrcE8zL2JtR0xibUNjTzdiTzcwem82UWhaQ0ZrSVdRNVVaQ1Q4SnRNS25Eanc5SnVKRkt6cFZmZ1NKSFhGdkpvMmpPVWl4cXNwSlZYSUdGQUR2VmhSZ2tIQTFmZUNkdUhVaHVYMzFYV1ZGUzN4R1NFWklSa2hHU2JRdkptcU5KN3VNMzdhSE1sVjlsWFZJajIzUDlHVlRYWlVnR0FoQWt3b2Joc2xHSzVNR0xTU0prT20xbFNpS0JpR0NFWUlSZ2hHRGtQcW5hQnM1TFlKMmp2aXUvNThwdVppM3lmZ2d0YkVZNXBBeW1QRTU1eEZ6OHlwYXVDdGZHbCs3OXREQVZiZVdwUWNuem5oQ1VFSlFRbEJEMC9pSG80RFArMzlaNmhWRGEwb1RsKytwaEJ5d1Vsc3RvUmFab1Y5Y0piVG0yUWppc1hpUXVSTVNDQ1kvSHdyL0h2bTFrWFZONHo2M1pMWUd3T1M5Q25SQUVFd1FUQkJNRUV3US9RZ2pXYWJ6S0QvODRqZHVyU1kvVHVOQ1JzbGpObHBEMjc2bEk4WkVaazlPcENDWGNBaSt4T29qT3c0UUIwc0taaEpmZW1YUkxxbEpDR1VJWlFobENtWWVBTW1MS1pUVEFRZW5weXJkZXJvZ254bStnV3BzWFg2NVdEamZZSFR6dWtvbUU2UzE1bTZURFNBYk1xbk1SOXlCSWlZaXR4TWpLekkvUmVadUlPRXlVaksxN1l6M1NhbHA1K3VYN2lXUjh2aWdBM3VLejVxS2hYem80QTFpTHBQVEMrYlAvdUVaK0luY1NBamNDTndJM0FyZXRnMXNhbTNRSUV4aXV6QlQzb1NpMkljaVZhbTRENkVyakpad2puQ09jSTV3am5DT2NxOEc1aEd1ekV0T09zRUNCWVBEM0VueGhJZEQycFFrY0h4R3lVQVhwdEJhMW9LZ0I5V0VhV1psd2JkbElSbmdWOC9ySFl1UkNLbnQ3bmFlZFRvTExZaVpQdVRWOTlsWnBGa0tnRXV2cmRqUGpIWGhuK29wNU5UaVp6S3FpN3dFMDFJTUlrOTZEVTEzSUVCeEFQOEdnUHJHUkZGRjRUNEtBNE1yUjZ3R0NRWUpCZ2tHQ3dlM0Q0TUFoU0MvVjBmcVFWVWlOUDJDRmRlaVl4NnpLUU5GREZkTmlKTFNJQTdHY1RRNnJBRXlhaWRLMkY4a0xFT3RjdFEvSGg0TzhLcVlQNE15a1NhSzBMU0V2U3hPQXVtOTIyTHZYOXduQjNKb2R4TklTbGhHV0VaWVJsaEdXM1JxV0RUNjcvNzNQWlpMV3kzaXAzUURPWEtrQ1o0WnpLNVo5TFYwcHd6U2ZPUUVQaXdFaWNYd29KMVZxb2prTEVPaENGcW1BUjB1NDJHZW5FOEdNSE1jRitoWElCeUdKVTFoQkVUSU9XSWxPaHl6MysxaFdaOVpIemNxVzZOcVpVTHNMVFIyTFViTWZwR3RzQWRjYVp1Z0VZQmNjckk1TndSbXVkcWk4RHFxcndBcmJjN0U5YSttQTc2TGJjWEo0NTFWbktHTTRIUVRrQk9RRTVBVGtCT1JiQUhJdFhKaml3VmphU1RwY20rLzgySmYvcXl0ZXdIajJSUlhIVDF3TTVLeVhuaFlSUXZGZnBmMGhIVEl0RW1YUVdGbUQ3cTZ1ZndPZmgwN09tbUtCQ2dXVGNTZ3UxNmNuQUlSM0Z4M3kvM2ltSXJOVXV2dlhaY1BVb29kb291VUZYTVVzOG5TYkJMR28yWldXUVRSb0VkdG9udXVWWCs2OGhBMytadWZyYmFSZzl5eEFodmdyNGI4TkwzRk93VGNKaFFtRkNZVUpoUjl1Q29RY3d4T2UrRlBSQ3NPUFhQRU5NWndsV2JXTjRCcVJHbVJNUkpxdVQrM1haUUNHWTRXZnhDSGs0Uk1FNTNjRDUwVXpibTl1OHM2eWxLL1E3YTlqOEc3ZUhHenhWaHF5aXA2UkV1ZERuQTl4UHNUNVBCYk9aL0Jacm96N1VNUCtyT1YrRG1JRE80bFhWZkFRTEF1K1hsTWNwVVJvTmhXV2c4ZFgxL21jbVpuUWhmR0FqN21NalVWR3lSWEgvTWVmOE50UFpaUERuNDhWa3R1d2tLemhwemJnRWtnL1Fsd0NjUW5FSlJDWDhNaTRoSUdSVXhseHZaWmJPSEhsV3VwSzNzbzRaTDdwSmtVSmxBR0FuWEo4U3hVaHBFWStQRlNDaklLR1N3Nis2andPSmtxemczM2lCSzdGQ1VoM0xyZkJDa3hWS082ZXB5aWEwVUx6K0JwdERaV0tCSStyQ2g4OFpxUVFJVmFIV0IxaWRZalZlYkNzanN0Q3ZlcGx3WWtyVVRBeStNR1NBNllyeGxRczRDbkFNZzhqTE5wNjRQdmNQL0xEOFdIbFNWM3BkUnp3SWU0NUhUTnBNQUZYeWluWDU2R2F4VjMydyttN3c2NTdIUTU1MzdRUXNaa28yODFpYUhiWlVQTVlUci9McTIxMUdsamNxQjlQM3Y5MFQ5NGR1QVc3WDg4Ti9KQmNxL21ZQ0JVSkZRa1ZDUlVma3B1aXc3WEI1OS9VY0cxbzU1WUloMWxKelR3T0psckZLb1hJa0FoNWVZemhldjArZ0pxN0F3N3FJSG96VXlONEh1ZnEyd20zYkFadkJZSkFKQmJmRFJTOVJOdFBXdm9qck1uZEI1MzhVUTFQY09sSUNDTzRJYmdodUhrMGNET0FQZE04c0t2a3FnTmY1bWRwSnkwUktLdUNnWW9MQUJscU5UTjFGdVkwTnRtWHZUd25qL09ETDV1VXM5SEtpN3d0eG8xUmdVUWRzK3NzOW1sUWZhZTNDa3EzTDN5OWR0TjhnNHR5djRTd3hhRVJOaEkyRWpZU05qNnVKS2duVmlVTzlUSlFnK21zVlRKYWxhekhQU2hsdkxRVkNXNjhpM2tybVBzUzhFWm1MMElWUWhWQ0ZVS1ZtMGhjenBsbWxlSEtsU2hoU3ZOYkpjQ0htUmpXaTFBY3Z1b3lPZVZqZ1FhbFdNekF6UVZyQXN3RVBNNGZNRVh6REo2OHFnOHl1QmtBSDdVaVpPUTlNVW5obENnQ0ZnRVdBUllCRmdIV0xRQldyaUljQ1JFT2VYQytIc0hlWmlVTEpNcy9xbUpaT29RamxFZk9RUGdaRmJVWHIwT2dkR2pZMUpHdExwTWF4S1VMSGxzRXVVak5lcituSEJ4SzJFSmJXWGhIaDRDL3FlRUQxd1pXMTVud2ovQ1A4SS93ai9Edk52QXZoRnpXQUhRcmZETDJzektPTVA5VjJMWXhKL0xXQjJqbGNnZStiZWlKdkxLUFBaRWlPVnVJMzJnZTBNTUtDaFZGdUV1NFM3aEx1RXZ2QXpaOUg5QnRsRW9YMFBsSW1idUVaNDQrL1d5b3d2bmpRZVl2a2VIT29mSlNoanYzOFRLd2R6dm45ZThMT3p3TXBkdWlvMUpMTUZLU253bkhDY2NKeHduSDcvNmRuNU8rMjBkdnByak5KSG9UWkJOa0UyUVRaQk5rM3dmSVhodXNtY0kwRTNwVFVHYUtRVVNNRGpFNnhPZ1FvL093R1oxMXNaa3BLdk85NFh3b0JqTXhCY1FVRUZOQVRBRXhCVitBS1dnUmlwbUNNRDhjNEtlUXl4UnltVGdiNG15SXN5SE81ay9CMlVROE9COEVFeDdISWxwbHp6bUJnbnRadWRJNzltanA2ZCtoTkpiaDV5d29LbFRYRmNxWS9HdDJJWTBjUm9KWmhScU1RTVd4MjN6WERLZzJlQlRoZU5hek1hNE9rZ1ZnaEFSTGdIR0RsNFRBdTNpUThxWGVBMTh4TUhJY3cxMFI4WVhVS3NaV0w3aVdzSVdHRGNWSWFRaU5LZWI0dWg3MkIwTEpzSm5TNTZOSXpkbzltU2UwSTdRanRDTzBJN1M3YTdSVDB5bVBRN1B5dFR2Q1hWWndKZHdkaTBCQUdDOEhLQ2JpQnR3RTg1clZGVDVLaDVFTVhOa2V3STdQTGNCRUhDWkt1aWdzYktwaThFL01tM2tBbUhmdGh3S1h2ZGxzMW9NMTZLVTZFakY0V0lhclh3NlFrejloTFdFdFlTMWg3YjNIV25FQnZhMUYyamV1MkFZNEs3SWE2L0hWTlk2a1RiczI5R01HMVBVdjd3Zy9DVDhKUHdrL0NUL3ZQWDZXTlo5dURScURXRVA1ZldtODduUTFsaGJsSElRdDRlZys5dVA4N0szZzB5ZUdHYXMwYVdRSjVRamxDT1VJNVFqbHRvaHlDcDRIRGNDUktZdEN1c29LK1I1SzcyV0ZWK0xjWGdZTUpXeHBraG54UzVZTndtWENFNWRnb29TWTJkakFFK01URm9HTEZzQ2hBMGhBSFpOd1dQMkhCWXVOdmxUQnRueVhrQ2FSbnhEaE5PRTA0VFRoOUtQQWFXTzV0bXRWdW9qU0oxaDBKVVJqa1pYNHZLY0ZCNFQwNmx5SDArVXN0a1Z1VzllTWUyd3MvOEF4UVdMM0J5dWhOdWgvUFd4ZVd3RmNqYkxtRnZDRGpwWUJ1TnR4U1VFNnJ6cXBsbmtxTFlKa2dtU0NaSUprZ3VRN2gyU2Y4SDJOeUh5U3BZVmZhVi9sbVhiWDY0WUJQZGNrbEM4OGRRc2hPSHVvVEhwaEFqY0NOd0kzQWpjQ3Q0M0JMVTBTcGUyQW05VkpxVnl4WFZQV0E1L0NhOVIvWmg4TUg0c3F4TzJhY3hRVGZldU1qOTFqendWcW92U01RellxREs1aEVBYjl3NVE4NUpodm9ZY3RaSXRNTWIvSjg0aXdsN0NYc0pldzl4RmdiNmdDMDJ1UjJ0Z1YzMWVCV2NweTNBekZQdUJuaHNRWkZqcEhweFdJWENub2cxOFJPQk00RXpnVE9CTTRFemcvZG5BR1o5d0JENnk4d0lxTmFsOUEzdDJzV0J0QWRocGRmQ0VUV3lSWVdTLzRKRFZ6Qk80M3FJSmJWU1ROS3dFTUFRd0JEQUhNYlNZM1JvZ0l0QWlsN2FWSTZKdGhZZytMT1RqWUFDVzhCTU5jTHd4NzhjNDRVeTdSUWpma0VZL1JKZGE1a0lCSGJCTjJYTDg1UWhSQ0ZFSVVRaFJDbEMrS0tJT0poUGNQRUh0MkJiajhrQmU2SnN4WU9SVzlZUnFjQzlpa29zOEtVRFNpU3V2YUJDSUVJZ1FpQkNJRUlyY09JcituSWhXOXRVNkxmNGRpUzA2TGEvRUNXdys3VGdFbFhMYTNRTVZPdklBRktZU0hka3F0bXpSSXFFS29RcWhDcUVLb2N1dW9ZcVNZcmtDVHZ3cDdBaVhhSVFsNHdSKzhlY2RDY1AyTDZ4MFNqa3R2enJRSU9lN1U3aDlBSEU1RWJHVXNZTWtpQ0RVMnoxZXE1YXZ3d2cxQlhFS1ViT2R6Z0c2THVTTUJ6SnFGU3ZpdHlQMEpKdnhDK0VFNXB3QUdMZ3c2MGRJSU52TGtheFR4OGI4eGQ4RFlENmVuUit6bHp0Y3NqYTJNU3J0S0VFWVFSaEJHRUVZUWRrOGRBcnFkSksyRnU2TzBQZHlkQUdDc2hidnNCVFltckV3aUhnanpaMFM3N2JqZHJRUTFLYWFIYWp5VzhYZ1B4L2FQRngxeXZpT3NKYXdsckNXc3ZSL09keUJzRHF3d0swT2duQXF6QVFnTFNOWG9ZQmdhZHNHdGwxQVlpaG1tWXNITVBMWVRZV1hBVEtCNUlucTV4eDNXTEtWUnl0YThoTzRrZ1JJcUVpb1NLaElxRWlwdUR4WHRCR1RFWHFLVmRaRkRWdXRqVDdINFVWRzZ0VzUycVNOUFJsYnFhSlVlODdnVUVLem5Xc2tvRUpqMUVxMHVaQ2cwZ0d2ZzdpRWhKU0VsSVNVaEpTRWxJZVh0NldxdkNZV29odDBFRGIzZXRpVWM1bytwLzZjSmVDUjBLU1lZS1hVM08wNkxHMHlhWFVKbVFtWkNaa0xtK3k3RER2NXc0RGNJdUJWanBYM0E1QWF4MWlQbFhsRzJEWklmU21NTGtDM1hyUmRuUVR5ZGFCWExQMFM0V0cvT0xMOVVzWnJPU1hRbGdDU0FKSUFrZ0NTQS9CSUFDYWkwTWtqWVBBNDhXTFV6aVJZb2w0TmNnMlI3cXVWNExEUUVCeHRwWVNaNStRd0wzYXVOMUZnMTdlazBFaVVJSllNb1lTVmhKV0VsWVNWaDVSZkRTbkR4NlJYcTFIVnVSSnZBSnBRdmhFSXRRbkRQNWRHeU5Ba0ZEUWJLaktSZmE1ZmV0Nll5bTBrN1VhbGxtQXNSamo4aUg3OFFvYWRZZndxTjhIYVRMdm5Ec0hrY1RsSVpFOG9UeWhQS0U4cmZDNVJYNXlKZUcyWHRGRXBkTzhqYVZJVWk2bUZQYXlMZXJLeEJraU5oQ21FS1lRcGh5cTNISXlpaHdxYVIwcTRIRlkyaHp0cGp4MlpORUpnUW1CQ1lFSmdRbU53T21PQ21aRVd4TFU5d1Q2Q1dvNnRsc3B2djY4VGFCT2d6RnV1ODhvVTZYZi9MMnl5ZDk5dE0vc2tJRHZ0cUZQVDYvZjVUdG9RUVI5eFk0VjhVK29TcVM5VzdUTVpCbElhWmV2RFRLT2g5Z255dUkzblpCd2ZZY3pHUGhERkhXbDNPVDBTZ0hSRDZVZk5FL2cxcG5vVCszREh1ZERzeHh6bVVwVFhmVE0rNEpycExCTjBLRFhzS0drVVI5dDd0SGNITGpzczVjeFZ3S0VPdFprYm9uOFZ3b3RUNXhvUHgxWHYrV0t3ZHlrSjVGdkFvR2tKSzI5S1Fwa0d5aTlyZ1F6VmVHbERqbmpaMENKUG0yRm92VW1NMjA5TEN1NWFzTi9CRzVwcFBoZlcwNGtjMUJEN2tjemJGMy9CdlAvK0VXOGpvdE9nWnV3QWUrWEg0VFEzWndYNC9HeTVmblZNK2xVNmVmcWRpYVpXdWpHS2FmN1o2Skp2MHN6Y1J3WG1sbDhCL3NyMCtUb1F4bnJQTGV6SDVaOWZyQndtQ0p4andiWlZtMU9pUWk0Wi82UmpIRDNXNkhVZG56eFoxMFZtQm9wMmhVcEhnc1NOeFlKcEE1VGNTcFZEVURDOXJHbGpiV0x3ZklWdTRXR1lqVGZmWkZad3h5MlZVSGhmWG11UE50R0pxcnBQRGFwRTNiTGwwMTFreTdMVGJnVXpZeTlqekpnNFRKV1BiTTRrSTVFZ0d3QVdua2Uydm1jUEtiN3VkWFhCdCtGRU5OejhhTXJ6SkpHVzQvbTRzMG93ZmtWS3cxSWlRRGVjSUdsTnVnd2tnaUFzUXlvUmZKU1NScVk1V2Q2TGw4cE41MTg2SDQwTTJtNGpZNTFzck9peDFBR3Y3b3hxNkdwdXZudzlwdXNFYVh1V1ZhbVlsNG5TS0hjRDdmdmVSaTBYcURFblFwUHMwUTJUNFlzUmw1QmgyU0pVUXdlOW5WK1VpeSt4ZnR6T1ZzWnhDWnp0WDNZNVZsa2ZyaTdrQTJ1YURxYlFacDlQaGNsbHhtVWd0eks1ZHVYa2h0NklISWlnc1N5d3U3ZHF0TGwydEp1S3dVa2pFd0FuN1Bzc2ZFdTZjaEMzUzNqV1hicUdwbWlPendNdzdycEc1NlpoTStDeE9KVEFJNE84VXBjQ042aW1QME5rM2dhd1lVMkU1ekx1L1pGR2NjbjBlcWxsY1M1NG5kaHJWZnFINTdJZW03eUlabjdlaHZnMGJoSkNsaFlqTlJOWHU1OEpkemN2aWZWV2FpUmpnSm1SeXlzZWk2OWwwRkpmamhUQlRNTnFNNjE2a0FEb05MSEx5NHRKcXh4Ymx4UGFxcEV1cFdZQnNzZGViYzYyMFVUMHdWb1pUODcwVE1EOGNIN1k1OFk1ZzdGVkJPQmZscm51RTJ4M3dqQ2IrNDBWN3FvaUx0d1h3M09nbUF6L0prK3NNMXgzNEc0eDM3WTFwNG82V3RucjFrQUVMbDRiWkJpQ0J4bC96cUY1ZG5Ua2U2cldUWnp5ZmV4OVlEWUNrTVBuUWJ2NFFwKzRmVXN4YUZvZmJwVjM4NzhQTmFtNk1mS1hGZlhNcGd0U0tXK1JUa1pxRUtyWDFWTW1HUXV0NnhFRGFXUzhFWEVyYlRKek9KYklrdFVOcEpGd2w4b01vV1grZHE1UDJ3T3JBWU1SeHRNV055M0VTRk5WTjk1VEg4K285YmFMNytPM3k5dm96Vytyc3FycGpXT0dzaWZCNmNldW12U1BxMzBuUEdWdHhWNTIvNWtaOCsvSnV1bmNnY0NkZEk2ZDBSMzFuak5TZGRJN00zMVZKZ1hLRkxVeVRXdUk3NVplSEloNkQ0dlQ1enM0T2lqU2dCenJDR2dmeGI0Vm41aUtwdW92SmhhQ3BBNkhLV0JuOGVMT1ozc1g0MFc5VW5Hb2VuSHVnYUJyd3dyekE5TGhBeGxmUTdDWVpHczlHdHpPV3RoZkswYWh6Qm90ZytiaVd6aTlycStJMGlqcFhaM2R6cHdyNTZhcmJHYVZSZE9ROWpaWWg5UGVVUno0bmNLTkEvaHhQaFA4ZHovMkZGTE5FYWJzZVZXY3lyRmdhQ3QyQXVBeWkxTWdMOFM0WC9FdjkvT3UzMzBGSEV5SEhFM3VOK2krL2ZyRjBiTjFZOGtZYk51Zm02OCt0MVhLWVdxQ3BZUFNPUkdDVjNrZ2p1Y0NQK1NacWozN2VXNzBFVjJINHNuYkt0ZGFjeHRwRktzL3F0ay96VUhPVTMrK0dpaVphaFdsZzc2YnpxWWpUdStrWnVXYXBQSW53djljaGhZeHpwR2lKRzZVR2I1MlRsZU5KQkhmZCtIblVhV3l1UHdrOS94TDdBTXpSaG16SjFFdFRPUUIyUmxvSUVIQTYzVWJBS3hVSndUQm4vNTRxSUE4TjgvY0R1dTBGNEdrbzFkM2NBUWpzZDcydWNjMUtiaFVONDVqL3hLZkMxQlAxMnRicjZMc3pvSXRUZFBwcXEzUkZ4ZlhsTlN1cU9KcS80ekxlSy93WThvUG1ESkxMYkFiVTJZTS9TcFdXUzRGQ282cGJxREVsd0NFdkFmMzNPenYvK3Z6NzcxOTg4L0pmWCs1OC8vM3pxMjVueHFWOVcwSExPb3RFcVkxdjgzc3psRkVEbzVSd2JmeDJGbnhsSndsSG5VMFVBc3Y0RW80NlcwQXBiQ1cvOTQxWG5LTzNHayt0Nm5RN0t0Qm82Wm55eXlNVUFEZm5zaktDa3l6VXI2emJXTHhiTmpLVVNnd2pGWnl2cVYyOVNLVUN2LzRLWGg1SDRXZzNlMHkrQmRrTDc2OVQrcSs4Rzl2Uzk4Q0J4ZjJUVVNTTkNGUWNYbWMzYXE3Q0NzN3hscGpmSUpMQmVXZDExOTBPajZLMmUxVnE2WXhrbzRjdUc2RmJFZEw2V25OdHd3bkF3bWZiNE9aQnJlMzh5bHAzRG1XM2MvSVU2QVF5OWtwbWhzZU1SME1LMmN5ZnBlRE5oV1hPN3VSaXU2UUJ0OWE4Y0xhTEgva0ZkL1lrcDliQjM5cnVsQzkrdGpWQWpYZ2Ntb0FuRFFRQ1grTldOdkY1ZDRGVVhCVkdtL0plSHdwcjNldnNodDNlM2VsME83dlA0Y2NMK1BFMS9IZ0pQNzZCSDk5MnVrVWJoMkxNbzA2M2M4cUhrVUtmbVVNUkFpRm91c1g0ZWFTYzQrbDZPaFdvTkxZTnh1Nkl4K04wQWYzWDhwQm81RCtYeVdsay9pRTBPREx4SnMwcGpIK3FMb1JUelI5TXM2N1djcHpBNjd5cjhrT2xiMU1qM3FuZ3ZIWkt5SS9zaHUyNlFUZlI2dDU2OXFwcFo0ZmN5QUI5ZndTUGtPYUtlQUt1TjJIR21ubW1iSGNzMnJPd05kZy9sZkZObThEbi9RZnhIcmlLdDFvT1dMcG1UczhsdlR3Nk9LaGxub3FDNnc3a3Nuekxnd0M4T3NTS2RTOFY0ZU14QUlHOEVCMTNVSERKSVhEQmdwelZXbHQ4OU9iNDVQMVBuVzduemJ2ZGc4Tk90M1Awdy91ZjNzQk5mTCszZTNxQVg3MDkrR24zcDcyRFhmajY1TTNlOFp2VDdJSmlrTjBUTzE4Z0pxaHVicDZRKzNiS3pYa251eVd1d2RXc2JiZGpGMk1IdjJxNzRFMURVYU1SK0RxajExR25tNGNwZ002ME5PY25nZElDQXRxYWlZckM5aWZTTVZURGlBZm5rWFN4THFiODhzQnRocE1EMjR1dHM0bTA0dWJOSUhVUTRXa1VtcHMxQkg1M3FSWkhMajdWcXNWTkJEbzBSTXFnYjk2YUhlNml6c1MrYSsyRmxCcHdBSitLdGNxbEZ5OFg4U1N2dWs0WEExMk9xckoxdzJnYVI5S29wSHZ4SFZBcWZpSDIwR0xVaG00dlRNTk5BYVZKSTdnT0prZGFBQnVQeitwcU1lTFhYK0UxaXBiZ1BNU2pYOVUwRUUzeTZWTEJmVFhsc2xXekloNG5Naml2QlB5b3lyNUtCd0xjNkkvMjN6WUFYYjNYU2NLQmR3Qlh0LzhEM2dtWWYzLzE4ZVBnNDhjQjZtcTBITXNGM3BRbmNva1NlVGVYc2VhTmJtcC9DSzMydWVYSEFwUStqUkQvNjY5OExHS0xUeEZVc3Y2TThPcnJsYktYQ2VxV0QrcTlmY3hFcFZINFd0YkxubDM0MWRnOUZic0g4WlZMMlhSeWNDVGxmaXU5TFBGZm1ZOUpOL1BGV24xcGprRG5SQzRzNU1KQ0xpemt3a0l1TE9UQ1FpNHNwS1lsRnhaeVlTRVhGbkpoSVJjV2NtRWhGeFp5WVNFWEZuSmhJUmNXY21FaDJZaGNXTWlGaFZ4WXlJV0ZYRmpJaFlWY1dNaUZoVnhZeUlXRlhGZ2V2QXNMK2FOc3p4K2wyL0ZIdU5rekJRdXN2UXl2SWVnZXhWZ2hCeFZ5VUNFSEZYSlFJUWNWY2xBaEpTdzVxSkNEQ2ptb2tJTUtPYWlRZ3dvNXFKQ0RDam1va0lNS09haVFnd3JKUnVTZ1FnNHE1S0JDRGlya29FSU9LdVNnUWc0cTVLQkNEaXJrb1BKNFlxeTRjeXJqN0p5MnQ0VTFSMkxacnV2THpPV3RiWEZVMitVcEtxbmU4ckdCWmZBMjlYRGx6R3BmckZOeGtXVlRMdW1rYWhNb2dpTEZKWFhVOE0wMURLS3RtbDB5RjdXS0pjTVR5SU4zcWc1YUpkMHNuY3F2ZnRucGZjOTdvOTNlMjdQUDMxMzF5bisrdk9yOThyejMzVm41czYrdmVyOTg5ejBmN3I1ZStyajA1L01YVi8rMTQvLzFhbjVrLy81cjVQLzFhbjVrLzU3K0JXL0FPRVpPNm9KSE12eHdmTmlPdVp6eXkzb1hxeHRvaEI2U205a1dBeHF0dDFOMjlpRGQ4d1lPWTE3emZzVHQ1THJ1QmlVOS9FMmJtZkxMZldrQ2RTSDBmRjhrbGQwb1pORklUbVZWRkVVVmJvM1Vpc212MzhSVzZtWEFLcDBUSGtWcTl1YlM1ZWsrWEVnV3VGanVKQjJHMkZaRElYZExqdFZRV1hONjJXQWswUGoxQnlQMDdyaHFTU2dkSzFnb25sVEJ5ZS9YQ280YVpOSk90MVFRekJZZGw3ZzVUSk1JNUZSeElxY3k0cnIxSlhhVCtqc1k4bzRxU2NycjVLT3h1SHdmdjAyanFKbytzMVFtRkJHdlZVbXVwZ1RmN3R4NXdEV25RSHFmNUdyMUFpWUw1OHNHajhzbG01TmI3V1d6RWw3bWtnbG9wN0RxK0s5eVEwNXV2YW5UTUxqMkN5V0NyMXpvQmx3QkwvNW5NbjlWWG5aRkNwSFl0MUhMTzlaL1YySUE4d0pWbmk4alh1VGJTcjZ0NU50S3ZxM2syMHErcmVUYlN2WmI4bTBsMzFieWJTWGZWdkp0SmQ5VzhtMGwzMWJ5YlNYZlZ2SnRKZDlXa28zSXQ1VjhXOG0zbFh4YnliZVZmRnZKdDVWOFc4bTNsWHhieWJmMTRmbTJObmg3cmQwdGNqYjljenViM3FGVDVmV3QwcTFtaGc2TTZHTm0vQ1hmd0p1eDVXbS8yUlJhcTlZNzczanlwM1BGL0tiR0U3TlpIZU85TkI2eW0rWU52Q29mdDZ1a1A4L1ZqYmkrcCtuYW1vNHoyS1lyTFhyT2xsMXAwYmYyck5ZUXNtcGYxc2l6SXhsWm9WL1A0Y3EybW1scXhFRWNpc3NORmpTWEVHdEZ3cnZVTTN3aE14ekpWQ1JUZlZtWjZqcmN6d25Tc0EyWWhnYWZpWVpYRXQxcjJBL2g3Z3pOQ3NKVlQzRlZxb05GTHo4UVczQU5GalZMclZscWFLQ2IrY04yTzdHWUdUd2NYOEFFS0lhZDZ5MEZVTWJhTDFhUzAyV2l2Tko4OElnOWtIR1RyMmtsQm1JTW5ObFk2ZXlOMTdYUDNsamFTVHBFVlo1bk5icG9oZ0FlN1VKRTBQc1hPb3QrSkhmamhaOU4vbTY4L2NEc2N6Zk8ydGtXMytBa2VrWnlmMGt1YVMvV1hhdHVSb0VLM2xmRWRSeTk0YU1HSGxIQUU4cEVTeU91bzN6UCtnWEtqMDdiZjRUZTluVk5FcmhWT2FYRXkrZHRmVnQ1VUhnRHBVcnRtOWtha1JXY1l6RGF2NnlBUmFsSXlWZXlRZG5ZVWpWS25QRGo1b1NYbmloZTQxa2R2YUY3bkcvbzZCRWJ2VkNndDN2MC9JS2VYenlTNXhma0xuc2pkMWw2Q0VJUFFlZ2hDRDBFb1ljZzlCQ0VIb0xRUXhCNkNFSVBRZWdoQ0QwRW9ZY2c5QkNFSG9LUXFZWWVndEJEa0h2OUVPUVJoRGh1cHludXZMbTBtZ2QyczljQVN6ZC9TM0hqTjFJM203bXhZbnEwVVpXUzBTUjM1TnVXTjhKSjRRMWQ0eTU4TGEvdHRxNzVJdWJEU1B3c2hpZUx6dG9WWnYzbUJteUtDMHR4WWNta1RuRmhLUzRzeFlXbHVMQ2s4cWE0c0JRWGx1TENrbU1TT1NaUlhGaUtDMHZ1UU9RT1JPNUE1QTVFN2tBa0c1RTdFTGtEa1RzUXVRT1JPeEM1QTVFN0VMa0RrVHNRdVFPUk85QURkUWZhWWxpTVZFZGd3eE8zcXZIaEMyRVZWNUN4YUVFeEtyWG9QVitlMk5WNmo2bktWaG1yQlorZVdKR1lWZ2NoaXFZZlRLUGt1ZGo0Uk0xT2lraFlOWXpvdWdJTERRWUE2SDhUOHphSEVNdStXMEpjSjhTc2dLZThBRnpORHJBR1BQU1hiR2x5ZThyWTNOSzdJczdtUWdDVXRld0l4VGYrYzhjM0prN25NWE02YTJrMFJ0dTlocWZuSGZoMmx2eFh0Z2krRU45YmkxQldnajBWbWdrb0dOZzkwSGxvTHVOVDFSeFppaWpwTmlscFJ0WXlLd05xbm1xb1lBQjZnU2k2SGwyOVJpZlhvN0lRM0Z2TFVQeGNwanZMWnpGanZockhtM0I5M252ZVN6U29UN0svZ0Z6bWY3NXdndnBvVk5Xdkx6VVZxUm5jTXhIS0ZPelo0QWZRSWNtWEpOODdqOTdiTnVTLzgydC9LMFE0NU1INUJoQUdZRkFYSjdZVWYxUXB1UFZEN3Rnc2JTV1A4THhlOENnRnQvcVNJRkhzOFRmcmQzZ3pRR2lVNTEvc3ZQd09WNDJiQnAraktueGVnMlNoY3RRWUdZOUw3Z2pGWEY5Y2U2NVdKVExZY0xZN0dKM2ZtUzdrMmhtL3FQTkl3bDdYenhtZGlVN1M4ZGk1WDVrMlhXMlJIVmtZdFQrcDZ4L3N4R0dpWkd5dmNSbUVyN29TZGJJWXZONis1VDA5Y0NsY2tQN2YxTER1T1ZPWnAwbGxXR1VIdi9wbHAvYzk3NDEyZTIvUFBuOTMxU3YvK2ZLcTk4dnozbmRuNWMrK3Z1cjk4dDMzZkxqN2V1bmowcC9QWDF6OTE0Ny8xNnY1a2YzN3I1SC8xNnY1a2YxNytoZFV5VitmWGtoajBrVXk4V0tEbDFHTmQrSzduY3BhL3NKN2YrejB2ai96Ly8vYU8zdjJsNDczeHI3TDdtTmwxeUhIUzNlRmlMTGVlSzZQa2JKZWMvOUFOZklUeW5ETGZOamE1YjIyTDlHQy9MUTFrZW5xRmlFbXAvOFpFZSsyUnAwakFJRVBDU2d0RDJLNWlSSUJ6QndiR3pHK2VmNEN3MWpqblRsdGNFNW9QaGpmZklOSFBZaTRGdUdKL0VPOG50dHJPZlI5OCtMbGkrKytXNzRJK2FUV0x0eHJyV1pHNkQwUXRNUUd5Mlp0dEJnNmUwWCtwNi9MZy83Nlc3eE9JT1ZlU0RzL1hXanA2OVdacEdwYWNzcjhuOFh3SDFMTVdxWmdDcFFPVDhDb3ZPRFdzOEp4NEw0YnhHNm9mZk1uNFkxejdObmdLQVFOTXZkcVAvMmRramRLbFpURWFtVjZwbVJ1SjZnZDhlV0czRXdXc3pPVkRsUExyR1JmTHpEUHF5a1ZUcmxGVWp1NFZPOVVMSzNTR3l6b3hrZm94VGZmZXFWa21MWTVvNEhlOUhrSW50RjZIOEQxMWVSVS9LSGloVjMrY0xwWHM4a3JtN3FpL0poZlV1czVkUWUzNzIwNzJaLzRpTFpmcUNhdm9lcHMyL0wxOUp1eHNoVWZ0VGFybUVtZ1V5NmpOb0lxaUFkaHBYSHN2UUZyWkNLWDEvZXNXNWFFdm1tL2l2a3BkYU90Q3JMLy9rOGZQL2FmZnZYdi85Ui85dkZqSDMvL1piZjNQNzB3OU9SZlBuN3NmZnpZUDN2MnRQVHB2L1RPL3FOVTZxejQ5ZVBIM2htMDgvUmYvR2RubjE5MHIvNVNmc215TDBjajAyWWwxbWN3QVBYcGxoY2ZYaVhISXFwWENEUVNtMjlmRmxWL2FxRndYRStiMWs3ZWNqMFc3b2hNWlp4SkNOMld3bGpibHczeTBTcEcycnBEZDR2NE1PVmwzb29KY1NtQ3lRYVVweFRPWk5QWFNTc2NNSzhqM3ptcTIvaDF2U3MzTHVwTlgvajllVThucHNMdFhDOTNLOWE5M3FGN0hMbUhuKy9VSkI5KzZQbUZyNW03RmxQVmxuUFhZakxiczVzbExHNU16dnVsY3h1dlZrdjl1Y2t2VWQvcjh3WSt0YUZUREdlZUJQVmMyUE1YV3pCWmdMeWVwNjcrV2NhaHFxcXRPaTllVGxaYzhtL0FTZUs1K3dubHZvVWZyc3EvT3AvTjVaU0RHeW4xVnlZZ3ZHNUxVMzU1TEV3YUxjaEJ0ZWxwYTFVMDM2eUs3UUM3MXVhWnNCYWdzcFVxM3VkejA2UXFhcXQrL2ZwYlVPU09GWTlXdng1ZnNpVXN4UjNxZG41THc3RjRVOGcyTlkveTI2cmQ2N1NESmZWUUlXeXNGYVUvSkNGcHNFaURSUnFzdTlWZ2tkS0tsRmFrdENLbEZTbXRTR2xGU2l0U1dwSFNpcFJXcExRaXBSVXByZjZrU3FzSG9xZGFCZ2pMYmJwU3NFYXZRT2ZXbjdaOFJYUW9JWFFRQ3VBRzZYMGJEZFV5SXBlazJRM2lLY0o4UnlNanFtMnRQQjZyL1hhckU5b0RoY0xEbjFXYm5mODlGU2srY05ScEhHZTBydmFwdVh2VDRHSlNKU0w4RlppdmlDZWxUMkwxYStBZjBqcG9LaS9udnJCY1JuZXhwc2pvZkxrVk5VN3hHd3Q0WGVuaTg0ZDU3Q0g0VFdpTllScGhoVTRYM2xydXFYZ2t4MjBXYU90dkx2UGwrZGR2dXRkL2dObWd0THJSYTh3dHRibndOSE5MclM2OTB5eWcyVC9KN0xaK3V1a2xCNi95Zis5ZkRMZmp2TE1OWHEvRWowRER1S0dheTFrS1hOVVRFV2l4b1VJZkhvZkNFNTlZMnZtSzBENUJwTkp3dytRUklDWEVVb1I3M0lxeHluaXlodDM5cGoxVGhtelhQQTR3M2RjRmo5N0pPTFVMalgrN2twUjhVNzRxTDE4dThTVDVUaXlzekdhdlphZXR2S0pQcEpnZXF2SFlQVHBxU1dQRUtvWWpoR2M4Y1V0dCtkb0k1bitrV3Z4cWdOK0tSZVJDbjhaODQyUHFERWZYT3VIbHF0YzQ0Uzkzdm9jYkVnYmlRNTFlQnIvU0I5TnBhbUZKcjNYNzNJT0xuNjVqNUdzS0dPdVh1RnMraW40S1N3T3VER0N6STVxZG8rcWhXWDltcjUyYmJHUERVaFo3dStzU2UzWHpMRnZkVXNxcnJzOC8xUzBIU0M3LzhSOTVxT1J1bGhwbklVRlB0OGpVY2JiNDhLN3oxazJBV2NXOFZNWmt6T3hFTUpYYUpMVjk5aWtmekNjMlRZMWxROEY4Nmo4UnN1R2NTV3RFTk9yalNoY0d1V3gyWi9XQjZSZnU5dUt3M3NmUm5HbGhVKzBHQXpTSytWZFlUSTN3TTdESU1TY0F5bmpNdkFHMHkySitZYnBzcEpURlA0VU5LbU1ETUx0MmVQN0ZjVUwxNXJYclhEdWFmMU0vdmpVMjBtcTYyTk9LeUtUVnhvNXhYUTNqREVPSWhleENhSGdlVlZsWU9XTFNNbW5ZWEtYeFdHaG1KeHdtSnczRHIyTldEb3JlWndlak5lMFpwcUt3MGc2OHZoWGRvc2hNUmhHY0xxY3BDN0hOdVVwWnFGaXNMSXVGQ0ptNHRGcE1SVFJuSStBakdaaWZ1d3d2T3h3Q2JEZmdNVE1KbEU0VGFFRDdGZzJjMW05MmR2NlhQdHQzcHdIWGRLZkxaaE1aVEZnb0RkQU1nOU9ROGJoeWJIWldaNDZvcnZBUHJpQzBia1Fjc3BtMEU1eW52emg5dHNkam1DcEl2bm1wUUtsektVd1hQdFU5REozbmorK2EzQW5Wems4U0VjalJuSEdHcXN6RnJXSkR5Q1lpMkVoWW5DV095MSt0TGtObU1Qc1VkOFdrbzVFTWdGUXo4STZBMGNMank2WEZhY3pSc0RRK1lhRVJ1SWR3eW1DSFp6ekd6OFEwamJqMUp3QkdnZWVjTTljMkM4V0ZERVNmZlRCaWxFWnNwRFN6U056SFRBdVRxQmlrTWh5MVlUd09tZVZBQUxQYUJjMDBsY0huQnQ1V2dZK1habk11RTNaNmVNSUNRQVdzS09BQzVHMncyVVRFYk9xRzR2ZmYxUFcvS3VUaUFqVndKWmQyRmhla09HWGxUcjdPRTBKbzB4Q1VjckVYb05aYVJZWk4xSXdkN2I5bDhDelNNSzRGUzdRS2hJR3pHNlpBc1BJTjY3T2ZZYllvTU9CUW9GNUd0NlhCNjhzREFBNk9CejYrRUJBS0NmWStRd3ptTUxYckxzMFE1aGVQMlpCRGI4cVJWNmVTQi9MaTl2cXI1OHdwQVZnaU5INzIxQS9FV2Q3emtjQU1ZQmdPV1VRSUt6aEViR01pRGhUaUNIYkwyU2ppbGtGWVl1Z21iOThxeTZNNk9BSG9YY0UxVkZmMng1UDNQekhsU3JPbTFHSlo0TEUxYloxTzRHUkRXVmpFMUlqOEZQaTFoaVA0bFJzYWo1NzIyVHZBOEVERnNNeFE1UmNjelFrMmNmWVYydTllRFFZd241NXJ0Ni8wZVBBVWlkQzZUTGMxUThNYXpJWFhhVFhDMVVtVmxudFkyelJzS053V25xMVR1YS9WQ1VXcXZlMjZjdEJWSWpTdW56K1FTQ2c5WFIxclBod3UwTlV5MHF0WU5EaERXR21CZ0haK2hxd2piYVdaakozRVZDVm5pME9HcG5CTk9DQmlJRWNTcnQ0VTRzYkR1YTdrTldtVDU2U3MrYTcyOUZOK0p5c2t5U3FXSlZGcHpveXcyQlpxN0ZoV0h0b1lTU0Ruc0srUmdQQ2tiRGhIVFJ3SHRXSG5WZWQvVE9jOS85VUdpUkN5QlQ4cHM5YWJMWHVKS3o5Ylp0ck9CWjY2ckVpZndZRkZoajVuZGp6SDZQRkxQREhza3orUC9SSmdmV0o0SlB0cmNxTXNnUk9tNWNZT2lzYWdWMmlqaDZkV2FaWWxSbUZHL2lIQ2YxL0dwbzBYZEE5enpXeTZsaTVEemRJeVltTncwM2pNOGoyKzVlTUVIRTV2cXJUb0RWTnJWZHljR3FkMnRBYjRxS3h4dzZiY0lsODhuTHV0OENQcElsdjdHOUJqK0hna3RiRk14YUxQOXBVdytLV2RhRFhEaVlNQ0Y5aWxXQzIwVzJteTMyN3oxcVh1eVNrUkpJVmg2RXU3TVQzQ2ZETExCQ2x2a2NuWUtwaWFqSlBVc3BFVVVkaDEzM0F0ZUJkT3BpZWZBTDNBbVdjejc3T2ZsQld2MkgrcTFJbWtidWxHS2toTlpWdFRDSGpET0h1Q1Irc0o4NGpnS1RVTUVYa1d1SlhZY1hZcFlWSWhDeVljbVJVTkcxZjhBZXk2OUl6cXVaZ1BGZGVobTBTL3M4THplSUUyUUhmQUJidnRLSTdlRHlLS1ZKZk5sSTdDZjlvODdVNjJjMGVRUjRGeEdPQlMzNlh2eWdEV1p5ZENzSXdCNEliUFpIQXUrekllcVVHc2pJaU5HSVFxR0RndTNBeXl1Y012djBLY0JOTUhSUWJDRFRUdFB0cjQ0TGhVUUdjdEI5MllNMml4L3QvRUhJRWJXeTh2K0J2UXRXNmNZcWdFSFpBODZCcXdBZFdXWnVtYUszaUtNbklIWmVwWFNWWFVJalBSWWtmN1dYMDh6dGtrRm5JZTNZVEs1b3lZdjRybGJyYUkyenpMZWJuWjR2TkUxQzQrVDRUajIxS3RZZFM0Q2Jsd3JMM2lCRXFrT25JeTVnVHV6RFRxWDJQOFBnSUxnOXhLSnk1RjBxWnpXYzdPdERTdDVWN3dhaTdlb3FhVVRrdkN5MEl6cUpYQ0hpbzdHNm9nUlZydFFuRDVZL0hWazc0RDFDZFArMGlUdjNyNmIydVRScTNOaWxRZDRLRXZ5WXl3UU4rWDVHSXZHK1lNY2RlcGpaRDRnd3pCWThZVDJBWXRnY1pqSmlHQVhuN0JaWVE0QkJ1ZjZTb2NtNjhkQTRjU1pCYnN4cDBQLzZJa0gwMVYrZlRrdzhrVEIrdTJHRkMvZmFhbnhja2ZuTHhuWHovLzl0dmVjOGFqWk1KN0w1aXY2M2JySzlFZjk3dlliWmM5MmYwQVAvZmZ3TThmajU0OHJYcFFnVlA5MmVjWFYzK3BVSVlQSit2U1N5MFI3cEhRV29UNXVqamxER3dvNkJNV05nY1lZcVZETDk1cnFiUzA4K3FhUWVsOGpiMk9zWkJ1c29OU2hiTlFYSWdJVnJRL1ZYL0lLSEpTclloN0gwNEExTXpnWnpFYy9IQjZlalR3dXJ2QmJoQ0l4UFlPczhoRnExVDYrYW5IQm4waXJmcjhXR3ZZeDJPczVQaEgwRXl3YjE4eWlaVVhkYjZaMW5MSzU4Q3lnR3ZFYkNLaXFZekgwWnhGS21Oc3NQWVRhTkU2SmtjTGRKYXE2cXE3YkpnNk52VEQ4YUZUa1dEeW96RFRoK0JmRTFUaDloZVRjYTJaay9NaE1veUhQYXlGUEZtdTcyU0pTdEtFWmQvVUtWZnlYRjdyVW5jdEpleXExNDFLNFdnNE5PZU9HZHh3cDBIb2Y0dy94cXpIbmozRFJwODllOFdPdExxVS9xVG1ta253Z0RWdWNXSzQzbFl4ck1CNGJHVnZDTmRaUmFrVDVOaGJiaXhPT1RVcGo2STVzSGZucHU4N3lrWU5mYjN4ditPWVZuWEt3d3RYc0s2L2swak5oSFo3Q2xJTTB5S1NTTGxVaklwS01LZGdZMzMyV2tLSWNjYmQ3b01uU2Fic0NoU00ycmg1WllPRmRZV0JRbkliZEdGMmRCTStubklyQTV5ZUZrQnc4bUhqZ01YaXpLUzd1VzdWM0JhQVk0UHBMeTlDd0xXZWcrampSMlpTRGZ6NFdIU1pVVXhJT3hHYXpUaHdodEhjVTVOeEduSHQ1aUFONmhGRmlKdGJ0U3FZWEZ1T1ErZ3VUc3lmeFh4Lys5bTduY0xDMWxydjV3dmlucm9tbVBWdHNLOWVDOHVmOWhsYXZuaUN2dEN3WWFnOWZsTHQ4QW5NeUp1Y1VJZnB6WkR1d2ovSk5LbFAvT2RPUnVLUlVXaGR5U2tsTnUxRXBJWFI5R3RkZjY1bDVoeEwyd3NsT2dhaGVYTFpCQWxqbm5wT0lsUGhMWTZIUGNuYWVRTDdCQm5BRFJvNExEcUxNZmltaXpmc0NmVHloSUZER2RlaXJIRkdQU2ZZaTV3cXM2VisxU2xHY1ZEWVFGbXhXS3lmN3hXbWdWZ2xZMDlpak5WcFlGT05kQVk2ZC93U3R1R0pJQTcwWm5yWnR2clNveVZkNmVJeGJKclRnV05SL05xSFRxV2UzUTJ2Z3Mya1p6QnFPVkdZMXdZd0JpOGFPTnVaWTFGTzd1R0xHc3ZueW9PQmxsRzArSW1Fbzc1K2NVb1RDZGtTNTA3ZmtKZjZpRmJ4WUNMTXh3NUFxZERMTlQzMDVmS1g1V09jSTFJWnYzRmVzRUh6NHBRWEptQWtwSmFQMXl5ZDVXUDJGY3o3NmVMeVhkV2tlVndEdEFlamt1V2xhbEtGaHNKc2JBV0prM0VvTHQwNWhENkFaMEl1MVhIRW9Da0RIUktRbTlUWjNKekJyZ1JKV1hCUDVFTW0vRUs0VTU3azdvVndwZ09oQVpZKzRMa3lhZ3FqeTE1cU1HNk1Db0RUOXJ3R2FCb2srQVlYblh6bFZhTGR6TXJ2Vnd2VHJMbXg1ZzBpcFJadTRNdk14Rlh1NDNIc05hN3JuVHhNR29DMXE4RWxxVlZDZytseW92WEMxSS91SDYzdVNjWEdmUHJ1Y05IU25udEl4TGtSL3hPMC9za0JCdnZrZ2VLVGl6RHUzRTAyN3ZtWXp4ajJYdWVRQVYzNmxwdDY5YTR0Ry9mcjZ2WFFVZ2ZHUVBRKzUxR3VPMmRERmM2ekFXUXVLelZES09uc054NURZU3BZbW5YUmJHMnYwY0xiclUxZFFNQlhIUHAwNW9PeTRRazZ4MDlyKzEyMmJ1Vm5kTTAydStjUTJUeDlPeVgrd1ZPVHpGN3hxYmlEbm8wQlpSc2Fma2ROQmRtTW01d3lGcmFRekh5OWFCTE43U0ZycGM3U1BzRkRzbTZGTER2NWtwdEZ3MGcyeFd4QS9WYnYzT0YxVS9IQXE5WFFRTTNrTDgrYW9VSEpOc1BhSkhoRUk4bHhjdXR2dVM3Sk93cXRuVkZKSmVSOXR0QzFaOVhVbHZSV041bGx2WkxNeC9jWDdtSGFWY3RBNlZtVFRrVzM3bGF1U0x5OW5yYkFtY0hFQTlXM2lJMGhQdjVYSHMrWlFsa25tOGoveGxhOHZ0bXJ1dXMzZXBNZ213b1Z2RjV3Vk5FTGxrT2lyTEZwWktvdUdYdU5UMmJ3eW5CY3hHTVppNjdqTW5OMUdycko0UU9GamNreGpOMlp4cWJDbUpJK3lJMGVGWWZSOU5lQ2FWL1A4TzlMazBSOFhwV1BEZy9mc1RkNUkvM3NkNUE4Z052SlZUTklqMGVxN0VUbG5RNUNGQXJ3VkMrZGdoblhjVU95ajlYVDkxNWtZWnNoLyt3NnlSY0tHYWhJV0JTR3oyTTBNODZaeXgxU09Ld1ZLMWNqK0c2T0tYc0xITGFNM1NFSEhnWmdyTnIrRXA0dDRBck9GcEZsc1o0WGZGR1A1VjFWbDJYYUJKSUpxOVE0Z3J4clY5NUJDSS9VZzd2UTZreENRV1A1Tk1uUG8rOHJvK2wyNGhVdUZVc0RLQ29FeXVOT3VBZ1pINE91RGl5ZWFSUjUrKzlpVytKU0d2QnB5L2ZuWk8yRElmZFN5RDhiV240d2RGWTNKNDM4UU1GcXdnaWxRWE9xblFtL0UzYW0zRlE4WjJyNjdFa3Naay9ZVkhDMG5DQ3JQb1l6RzZKWWhJUDNGdGt1ZXdKRHlncG43T1dFTzJPNEgyYzNVNGVFZFFXTFFuNHlSZGVaVE1UaFZPQjN1R1lYMHNpaGpLUmRxV0xFVWhoVGF5TERVTVQxYTFTMGxhOVRhWDhISDQ0UCsreUpiNm84TUZDNndyaENIMkVBWE9JbVdxWGpDVmdqbEI3eldBWk1LN0RqZk9VNVFNMzhLL3luWGZiRURhcGxrMU14QllFWXFWWittRkFnZEtjSTlUVWJFNk8vU3RzemRnNSttbkkwZ3ZtN3ZUQVZwVUtoeDNHS2hmb0xqZm9nYWNCb2dsYVN2QmFPN3pkVFQ4aFhqdy8xS2FWanF6MS8yNlR5YURjeXJBR0t0OHlDSktZU2ZNMGl6NjV6Yjg0OUYzT1RHUXlsOWd4U0FSeWZzbjM0aElVKytXUHpxWEJkTGp0QW91TGFJMHJPaGp1ZytRVGdoT1lJOWdzb05jNitHb3dFQncyVUdiajk2R1hVMTd1LzVhOERObDdSMTFDVHlSQ2UwTmg1aFppSFFzc0xFYm9KT21ZUEZsakZ6dXVvNERHWHlYS2t4bXJ6MDNlazVaUnJNSHlNbGJOaGpFQTlLQUxyci9sSXhhMGVhalM5OU9CVEdjM3JuMnpWUHlueDRMN0FYZmdoTVJnT3cwYWw4TFJiUmFyZXVYeGwrM2FlcUxIbXlXUytjVldUOEtCaDQxZldnMHVrWWxGZHozWlZaZEFnaTY2dXRXZythMWVOeDlJZHg4MnJSbnhlOWNWdXVSbFZScmxOcFV3MjJRUDY2NUE3VTAyOUgvN1dRanZWQ1BiTDhKU0JrV2YzTTRpQ252TW5DWjh5YnYxVGwzM0szMlYvUW4rc1QrNXQ5aWVuM1FWZjZKYnlCWlpkOHR0R0ptZ0dtbGN3T2s4VDd3ays5RVB5RjdkNEc5NnVyOXBlVURNNUJDN0ZhL1BBQTNKZTdjZTlJLzlncnRHVHIrdmVjMlFXYmJldTdoRlFJclV3RzdDWXk1M0J0N2xIUVlGSEpWT1Y2eVdiQ3loVWI3RkRicGpQWTF6ZHBOdnJjaVJqYVNid0x1aklnekxxNFJkSy9mL3RYZDlQMnpBUWZ0OWZFVTFJVEZNcEJlMEJpYmNpa0twdEwzUnZFMUlkNG5aaGFSSTFLUnYvL1hTL25OaHgyaFFhUUZwZnBtbExiWi92Yk4rZHYvdE1FWU1LU3IxYVluWVFiRjBIbnl4VEZqc21vemJ2TE0vb05pVmFOOTR4TXlSQVRqaURYY3IzMExHcGg3ckI0aFFlQS9sV2pET0pCYU9vY3F6K0FWSHhtSndacmMxZ0djeHFjenFqQnVNVUhtRmVJQlJPMnFRcXJVNHRwdGtmRkRCdGdTaHVqMnZnWUMwenZOK045U09CWDZDMTRHejBmU3hYWE1QZzF0Ulh6RzNWb0JzdllnV0VhSzNEbitHYkJDNTJ1VTRNbWgxNjB1eitQQlNia0xJM3R1NW4vQnRtNmZrMmw5TG1xTkRWV3ZlYnBlY3VieVZaNy9UNjFsbjZmdlBsTFB3M2t6WVh5WHU2SE9EK3B2WWRnWFI2eUV2K2Izbkp1dE4zRFIvdTV2UmgyOXNUODlpeWppUlI5SkNGRklQUzBBZzlVWFRmSDMwY2JLd0pUSGJ0UGs4QVY3UnlaVXh0c29GczBuZVpFc0hCdEZGZG5ua1IxUWhjRDJrUHgwVFlzblZtWlhlQnl5V3ZId3UrZ0pnWHdMRHd2NWtPQnV5UHVodVdmOHROZENBd3NERlVlWkNjYnhJZWhGaGxRaWIwdnFJRUtSVHZPMHF3K3RsM2xHQk5iOC9CUXIydlJzenc2bDZoTlpwWGR3N3RlVC80aUFjZjhlQWpIbnpFOStvajdnbXQxdUxCZFhwanhQRkZkdk5DK2hvVUVQazhxaVNPaEM3YTJRbGNGWFRkR1NiemdIaWxKMVh6c2hxclBBNVVDa0ZIdUgrcU9KVTdmeDZUNngwMm9GT21JR21DbW9lYVZQZ2p6YXdXNnZWSklaWW5nUmYweENYaFFkdFFEZmNGL0IycWF5dUVhV3JRQ01TWnFmSWU3YXZKMHV6QmY2c2NvcE1nanBEZGhYbUdDdmkzQ2FNYWluVzRqQW1jT3RjNkN0WDk3K0Z6emdDVStJWmJ3RUJnSDdMWGlvQ0V6NlZsVzRDcnFIcnZWMTVTVFRSSUNzODZYMWsxNkxkbHVCWC9aeVg1bm9YbU0wRWttM1N3ZzhxWnZ0VnpNTW5JeTZpdmtwVlcwZE9VMU4vS0RLamk1T2tLN0JncHFQd2ZPZDM5eUNJZjA3dTBScDlkcWR6N1NTdG1wMTBKdGNscGlnNjZtU0xqZHFVaGdrRnVSU3hCWnZoNGtXWFI4Y0FRa2NIOU11eDdVenlrT1I5OXpJeTY3ZCtCMTcyTWk0SW9HMHVzdGNkZmhxcmV1djBKL0lpcVBOZUxCZkF4QWV5allVYVFJL2RqbkV5cFNKYlp0TCtob25seEJ1bFpFVGJyOTB2QWtjMERacVZWMGZJR1daMXRkRFR5dmdDRnNFTnJ1allPLzd6NzhNc3NqKyszRE9zY1NaODJ1bjFOTW5DM0hCZjdRVUZjTFhkcHJaMG1mT0E4YjRlSGVha1hqZHVYTmgvVUdTaGJHRmpNZFJybFdaeVducldra29UNWQ0NVdlZzQxNktmVmZmWXBnU2lLVS85UzlCVnpPKzQ5YmxQbWhHTHVuY2R6T01tR3dZVFhqeXFEUkN0aSs0Q0RyU2loaWc4cUh1SUYzbG10NzMvQjhVZG9QT1FKMFFOM3JRNmNaVGhvTE1JQlZLbGpTZ1pjU21MbzhheE16Wk8xc1dhZUhpRVFsUE5IWmhKRGZlYzQ1WGhVZDlyMVNhcWRsNEh2dVptZjhpWVl2eFYyY3ZmNXlMYkJDN1RuMGsrLzJGK0hvTEV0cStNTHJZNk91MUJOZ3hzRk9SdDVKUEVST0czRFE3ZERGaG8ydjBTMkc3YWlFMU11SmEwenhSbVh1SVU2dVBnNlJ2Z2EvRTZ2THFVVVUwNFhTTHFaNWdTbTFlUlhNR1lydG5lSHpNeU1lZTAzWURvRUhTOE9PbGhQZGtxN2wyS3NUaFQ2OVJjSW1ONlFGNkk4UjJCZ0FuN29wejk1THFXZUQxbjRuTnd1NVFBKy9BUEUxVHVhaVJRR0FBPT1cblxuICBmaXJlY3Jhd2wtZ2F0ZXdheS1uZ2lueDpcbiAgICBjb250ZW50OiB8XG4gICAgICBzZXJ2ZXIge1xuICAgICAgICBsaXN0ZW4gODA4MDtcbiAgICAgICAgc2VydmVyX25hbWUgXztcbiAgICAgICAgY2xpZW50X21heF9ib2R5X3NpemUgNTBtO1xuXG4gICAgICAgIGxvY2F0aW9uID0gL29wZW5hcGkuanNvbiB7XG4gICAgICAgICAgcHJveHlfcGFzcyBodHRwOi8vc3dhZ2dlci11aTo4MDgwL29wZW5hcGkuanNvbjtcbiAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJCRob3N0O1xuICAgICAgICAgIGFkZF9oZWFkZXIgQ2FjaGUtQ29udHJvbCBcIm5vLXN0b3JlXCIgYWx3YXlzO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYXRpb24gPSAvZG9jcyB7XG4gICAgICAgICAgcmV0dXJuIDMwOCAvZG9jcy87XG4gICAgICAgIH1cblxuICAgICAgICBsb2NhdGlvbiAvZG9jcy8ge1xuICAgICAgICAgIHByb3h5X3Bhc3MgaHR0cDovL3N3YWdnZXItdWk6ODA4MC87XG4gICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICQkaG9zdDtcbiAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLVByb3RvICQkc2NoZW1lO1xuICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtUHJlZml4IC9kb2NzO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYXRpb24gLyB7XG4gICAgICAgICAgcHJveHlfcGFzcyBodHRwOi8vZmlyZWNyYXdsOjMwMDI7XG4gICAgICAgICAgcHJveHlfaHR0cF92ZXJzaW9uIDEuMTtcbiAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJCRob3N0O1xuICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICQkcmVtb3RlX2FkZHI7XG4gICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJCRwcm94eV9hZGRfeF9mb3J3YXJkZWRfZm9yO1xuICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtUHJvdG8gJCRzY2hlbWU7XG4gICAgICAgICAgcHJveHlfc2V0X2hlYWRlciBVcGdyYWRlICQkaHR0cF91cGdyYWRlO1xuICAgICAgICAgIHByb3h5X3NldF9oZWFkZXIgQ29ubmVjdGlvbiAkJGNvbm5lY3Rpb25fdXBncmFkZTtcbiAgICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgMzYwMHM7XG4gICAgICAgICAgcHJveHlfc2VuZF90aW1lb3V0IDM2MDBzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1hcCAkJGh0dHBfdXBncmFkZSAkJGNvbm5lY3Rpb25fdXBncmFkZSB7XG4gICAgICAgIGRlZmF1bHQgdXBncmFkZTtcbiAgICAgICAgJycgY2xvc2U7XG4gICAgICB9XG5cblxuXG52b2x1bWVzOlxuICBmaXJlY3Jhd2wtZGItZGF0YTpcbiAgbnVxLXBvc3RncmVzLWRhdGE6XG4gIHJlZGlzLWRhdGE6XG4gIHJhYmJpdG1xLWRhdGE6IiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbmFwcF9wb3N0Z3Jlc19wYXNzd29yZCA9IFwiJHtoYXNoOjMyfVwiXG5udXFfcG9zdGdyZXNfcGFzc3dvcmQgPSBcIiR7aGFzaDozMn1cIlxucmVkaXNfcGFzc3dvcmQgPSBcIiR7aGFzaDozMn1cIlxucmFiYml0bXFfcGFzc3dvcmQgPSBcIiR7aGFzaDozMn1cIlxuYnVsbF9hdXRoX2tleSA9IFwiJHtoYXNoOjMyfVwiXG5maXJlY3Jhd2xfb3JnX2lkID0gXCIke3V1aWR9XCJcbmZpcmVjcmF3bF90ZWFtX2lkID0gXCIke3V1aWR9XCJcbiMgRG9rcGxveSdzIHJlYWwgaGFzaCBoZWxwZXIgcmV0dXJucyBleGFjdGx5IE4gaGV4IGNoYXJhY3RlcnMuIEZvcmNlIHRoZSBVVUlEXG4jIHZlcnNpb24gYW5kIHZhcmlhbnQgbmliYmxlcyBzbyBGaXJlY3Jhd2wncyBzdHJpY3QgQVBJLWtleSBwYXJzZXIgYWNjZXB0cyBpdC5cbmZpcmVjcmF3bF9hcGlfa2V5X2EgPSBcIiR7aGFzaDoxMn1cIlxuZmlyZWNyYXdsX2FwaV9rZXlfYiA9IFwiJHtoYXNoOjN9XCJcbmZpcmVjcmF3bF9hcGlfa2V5X2MgPSBcIiR7aGFzaDoxNX1cIlxuZmlyZWNyYXdsX2FwaV9rZXkgPSBcImZjLSR7ZmlyZWNyYXdsX2FwaV9rZXlfYX00JHtmaXJlY3Jhd2xfYXBpX2tleV9ifTgke2ZpcmVjcmF3bF9hcGlfa2V5X2N9XCJcbnNlbGZfaG9zdGVkX3dlYmhvb2tfaG1hY19zZWNyZXQgPSBcIiR7aGFzaDozMn1cIlxuXG5bY29uZmlnXVxuZW52ID0gW1xuICBcIkFQUF9QT1NUR1JFU19QQVNTV09SRD0ke2FwcF9wb3N0Z3Jlc19wYXNzd29yZH1cIixcbiAgXCJOVVFfUE9TVEdSRVNfUEFTU1dPUkQ9JHtudXFfcG9zdGdyZXNfcGFzc3dvcmR9XCIsXG4gIFwiUkVESVNfUEFTU1dPUkQ9JHtyZWRpc19wYXNzd29yZH1cIixcbiAgXCJSQUJCSVRNUV9VU0VSPWZpcmVjcmF3bFwiLFxuICBcIlJBQkJJVE1RX1BBU1NXT1JEPSR7cmFiYml0bXFfcGFzc3dvcmR9XCIsXG4gIFwiQlVMTF9BVVRIX0tFWT0ke2J1bGxfYXV0aF9rZXl9XCIsXG4gIFwiRklSRUNSQVdMX09SR19JRD0ke2ZpcmVjcmF3bF9vcmdfaWR9XCIsXG4gIFwiRklSRUNSQVdMX1RFQU1fSUQ9JHtmaXJlY3Jhd2xfdGVhbV9pZH1cIixcbiAgXCJGSVJFQ1JBV0xfQVBJX0tFWT0ke2ZpcmVjcmF3bF9hcGlfa2V5fVwiLFxuICBcIk5VTV9XT1JLRVJTX1BFUl9RVUVVRT04XCIsXG4gIFwiQ1JBV0xfQ09OQ1VSUkVOVF9SRVFVRVNUUz0xMFwiLFxuICBcIk1BWF9DT05DVVJSRU5UX0pPQlM9NVwiLFxuICBcIkJST1dTRVJfUE9PTF9TSVpFPTVcIixcbiAgXCJMT0dHSU5HX0xFVkVMPUlORk9cIixcbiAgXCJESVNBQkxFX0VOR1BJQ0tFUj10cnVlXCIsXG4gIFwiQUxMT1dfTE9DQUxfV0VCSE9PS1M9ZmFsc2VcIixcbiAgXCJCTE9DS19NRURJQT10cnVlXCIsXG4gIFwiT1BFTkFJX0FQSV9LRVk9XCIsXG4gIFwiT1BFTkFJX0JBU0VfVVJMPVwiLFxuICBcIk9QRU5ST1VURVJfQVBJX0tFWT1cIixcbiAgXCJPTExBTUFfQkFTRV9VUkw9XCIsXG4gIFwiTU9ERUxfTkFNRT1cIixcbiAgXCJNT0RFTF9FTUJFRERJTkdfTkFNRT1cIixcbiAgXCJTRUFSQ0hBUElfQVBJX0tFWT1cIixcbiAgXCJTRUFSWE5HX0VORFBPSU5UPVwiLFxuICBcIlNFQVJYTkdfRU5HSU5FUz1cIixcbiAgXCJTRUFSWE5HX0NBVEVHT1JJRVM9XCIsXG4gIFwiTExBTUFQQVJTRV9BUElfS0VZPVwiLFxuICBcIlNMQUNLX1dFQkhPT0tfVVJMPVwiLFxuICBcIlBST1hZX1NFUlZFUj1cIixcbiAgXCJQUk9YWV9VU0VSTkFNRT1cIixcbiAgXCJQUk9YWV9QQVNTV09SRD1cIixcbiAgXCJTRUxGX0hPU1RFRF9XRUJIT09LX1VSTD1cIixcbiAgXCJTRUxGX0hPU1RFRF9XRUJIT09LX0hNQUNfU0VDUkVUPSR7c2VsZl9ob3N0ZWRfd2ViaG9va19obWFjX3NlY3JldH1cIlxuXVxubW91bnRzID0gW11cblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwiZ2F0ZXdheVwiXG5wb3J0ID0gODA4MFxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxucGF0aCA9IFwiL1wiIgp9
Reference files
The exact Docker Compose and template configuration this template deploys.
Usage guide
This template deploys Firecrawl 2.11.230 with authenticated API access, persistent infrastructure, browser rendering, and interactive Swagger documentation.
firecrawl-db-seed to finish and for gateway and firecrawl to become healthy. The first start can take several minutes.https://<your-domain>/docs/ for the interactive API documentation.Dokploy generates the client credential in the Environment tab:
text
Treat this value as a secret. The template provisions it in Firecrawl's PostgreSQL authentication database automatically.
bash
The OpenAPI document is available at:
text
gateway: public same-origin API and documentation gateway.firecrawl: API plus queue, extract, indexing, NuQ, and reconciliation workers.playwright-service: browser-rendered scraping.firecrawl-db: authentication, request, crawl, monitoring, and application data.nuq-postgres: durable NuQ job storage.redis: queues, caching, and rate-limit state.rabbitmq: extract-job transport.swagger-ui: interactive API documentation.Only the gateway is assigned a public domain. PostgreSQL, Redis, RabbitMQ, Playwright, and worker ports remain private.
Scrape, batch scrape, crawl, map, parsing, browser sessions, monitoring, change tracking, and the normal non-AI API paths work without an external model provider.
AI-backed extraction, JSON generation, agent features, and summaries require one of these configurations in the Environment tab:
OPENAI_API_KEY, optionally with OPENAI_BASE_URLOPENROUTER_API_KEYOLLAMA_BASE_URLSet MODEL_NAME and MODEL_EMBEDDING_NAME when the provider requires explicit model names.
Search integrations can be configured with SEARCHAPI_API_KEY or SEARXNG_ENDPOINT. Proxy variables and LlamaParse are optional.
The Firecrawl API is not itself an MCP transport. Connect the official Firecrawl MCP adapter to this deployment:
json
The following named volumes contain persistent state:
firecrawl-db-datanuq-postgres-dataredis-datarabbitmq-dataBack up both PostgreSQL volumes before upgrading. Redis and RabbitMQ backups are also recommended when queued jobs must survive disaster recovery.
Database initialization scripts run only when firecrawl-db-data is empty. A newer Firecrawl image may require schema or RPC changes, so do not replace the pinned image with latest without reviewing migrations and testing a restored backup.
ALLOW_LOCAL_WEBHOOKS=false unless private-network webhook access is intentional.FIRECRAWL_API_KEY after deployment provisions another key and does not automatically revoke the old one.More like this
Version 0.7.3
Crawl4AI is a modern AI-powered web crawler with support for screenshots, PDFs, JavaScript execution, and LLM-based extraction. Includes an interactive playground and MCP (Model Context Protocol) integration.
Version latest
Crawlab is a distributed web crawler admin platform supporting multiple programming languages and frameworks. This template deploys the master node with MongoDB.
Version latest
Crawlab worker node for distributed web crawling. Connects to an existing Crawlab master node via gRPC.
Version latest
Arche is a self-hosted AI workspace platform that spawns per-user OpenCode coding containers backed by a shared Knowledge Base. Requires the `arche-internal` external Docker network and `/opt/arche/{kb-content,kb-config,users}` directories on the host before deploy. Images are linux/amd64 by default; override `ARCHE_WEB_IMAGE` and `ARCHE_WORKSPACE_IMAGE` to the `-arm64` tag variants for ARM64 hosts.
Version 2.11.0
Autobase for PostgreSQL® is an open-source alternative to cloud-managed databases (self-hosted DBaaS).
Version latest
Prompt, run, edit, and deploy full-stack web applications using any LLM you want!
Free and open source
Notploy is a free, open source deployment platform. Deploy Firecrawl and 571+ other templates on your own infrastructure with a single click.