(function(){var c="CihmdW5jdGlvbiAoKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICAvLyBDU1MgZWluZsO8Z2VuIChkZXIgU2hvcCBlbnRmZXJudCA8c3R5bGU+LUJsw7Zja2UgaW4gV2lkZ2V0cywgZGFydW0gcGVyIEphdmFTY3JpcHQpCiAgdmFyIHN0aWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwogIHN0aWwuaWQgPSAnYm0tdmVya2F1ZnMtYmFkZ2VzLWNzcyc7CiAgc3RpbC50ZXh0Q29udGVudCA9ICIgIC8qIC0tLS0tLS0tLS0gRmFyYmVuIHVuZCBHcnVuZGZvcm0gZGVyIEJhZGdlcyAtLS0tLS0tLS0tICovXG4gIC5ibS1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5ibS1iYWRnZS0tdG9wc2VsbGVyIHsgYmFja2dyb3VuZDogI0REOTMxMzsgY29sb3I6ICMxQTExMDA7IH0gIC8qIEJlcm1hcm8tT3JhbmdlICovXG4gIC5ibS1iYWRnZS0tYmVzdHNlbGxlciB7IGJhY2tncm91bmQ6ICMzQjQwNDU7IGNvbG9yOiAjRkZGRkZGOyB9IC8qIE1lbsO8LUR1bmtlbGdyYXUgKi9cbiAgLmJtLWJhZGdlLS10cmVuZCB7IGJhY2tncm91bmQ6ICMwRjZFNTY7IGNvbG9yOiAjRkZGRkZGOyB9ICAgICAgLyogR3LDvG4gKi9cbiAgLmJtLWJhZGdlLS1wcm9maSB7IGJhY2tncm91bmQ6ICMwQzQ0N0M7IGNvbG9yOiAjRkZGRkZGOyB9ICAgICAgLyogQmxhdSAqL1xuXG4gIC8qIEtsZWluZXMgQmFkZ2UgaW4gZGVyIEthdGVnb3JpZS1LYWNoZWwgKHVudGVyIGRlbSBSYWJhdHQtU2NoaWxkKSAqL1xuICAuYm0tYmFkZ2UtLWtsZWluIHsgZm9udC1zaXplOiAxMC41cHg7IHBhZGRpbmc6IDNweCA2cHg7IG1hcmdpbi10b3A6IDNweDsgfVxuXG4gIC8qIEdyb8OfZXMgQmFkZ2Ugb2JlbiBsaW5rcyBpbSBQcm9kdWt0YmlsZCBkZXIgQXJ0aWtlbHNlaXRlICovXG4gIC5ibS1iaWxkYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEycHg7XG4gICAgbGVmdDogMTJweDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8qIEhpbndlaXNrYXN0ZW4gw7xiZXIg4oCeSW4gZGVuIFdhcmVua29yYuKAnCAqL1xuICAuYm0taGlud2VpcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEycHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0U4QzI3QTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGN0U2O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgbWFyZ2luOiA0cHggMCAxNHB4O1xuICB9XG4gIC5ibS1oaW53ZWlzIHN2ZyB7IGZsZXg6IG5vbmU7IG1hcmdpbi10b3A6IDFweDsgfVxuICAuYm0taGlud2Vpc19fdGl0ZWwgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICM0QTJGMDA7IH1cbiAgLmJtLWhpbndlaXNfX3RleHQgeyBtYXJnaW46IDNweCAwIDA7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6ICM1QzQ0MTM7IH1cbiAgLmJtLWhpbndlaXNfX2xpbmsgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi10b3A6IDZweDsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzdBNEQwMDsgfVxuICAuYm0taGlud2Vpc19fbGluazpob3ZlciB7IGNvbG9yOiAjNEEyRjAwOyB9XG4gIC5ibS1oaW53ZWlzLS1iZXN0c2VsbGVyIHsgYm9yZGVyLWNvbG9yOiAjQzlDREQxOyBiYWNrZ3JvdW5kOiAjRjRGNUY2OyB9XG4gIC5ibS1oaW53ZWlzLS1iZXN0c2VsbGVyIC5ibS1oaW53ZWlzX190aXRlbCB7IGNvbG9yOiAjMkIyRjMzOyB9XG4gIC5ibS1oaW53ZWlzLS1iZXN0c2VsbGVyIC5ibS1oaW53ZWlzX190ZXh0IHsgY29sb3I6ICMzQjQwNDU7IH1cbiAgLmJtLWhpbndlaXMtLWJlc3RzZWxsZXIgLmJtLWhpbndlaXNfX2xpbmsgeyBjb2xvcjogIzJCMkYzMzsgfVxuXG4gIC8qIEFsdGUgRWxlbWVudGUgYXVzYmxlbmRlbiwgc29iYWxkIGRlciBCYXVzdGVpbiBha3RpdiBpc3QgKi9cbiAgYm9keS5ibS1iYWRnZXMtYWt0aXYgLmJlc3RzZWxsZXItYmFkZ2V0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGJvZHkuYm0tYmFkZ2VzLWFrdGl2IC5ibS1hbHRlLXBpbGxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4iOwogIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3RpbC5pZCkpIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3RpbCk7CgogIC8vID09PT09PT09PT09PT09PT09PT09PSBFSU5TVEVMTFVOR0VOID09PT09PT09PT09PT09PT09PT09PQogIHZhciBFSU5TVEVMTFVOR0VOID0gewogICAgLy8gRWlnZW5zY2hhZnQsIGRpZSB1bnNlciBTa3JpcHQgaW4gUGxlbnR5IHNldHp0CiAgICBFSUdFTlNDSEFGVF9JRDogODAsCiAgICBFSUdFTlNDSEFGVF9OQU1FOiAnVmVya2F1ZnMtQmFkZ2UnLAogICAgLy8gw5xiZXJnYW5nOiBhbHRlIFRhZ3Mg4oCew7xiZXIgWCBtYWwg4oCmIGJlc3RlbGx04oCcIGFscyBFcnNhdHogbmVobWVuCiAgICBWT1JTQ0hBVV9NSVRfQUxURU5fVEFHUzogZmFsc2UsCiAgICAvLyBTbyBsYW5nZSAoU3R1bmRlbikgbWVya3Qgc2ljaCBkZXIgQnJvd3NlciBkaWUgQmFkZ2VzIGRlciBLYXRlZ29yaWUtS2FjaGVsbgogICAgQ0FDSEVfU1RVTkRFTjogNiwKICAgIC8vIFNvIHZpZWxlIEFydGlrZWwgcHJvIE5hY2hmcmFnZSBiZWltIFNob3AKICAgIFBBS0VUX0dST0VTU0U6IDI0LAogICAgLy8gR3JlbnplbiBmw7xyIGRlbiDDnGJlcmdhbmcgKG51ciB3ZW5uIFZPUlNDSEFVX01JVF9BTFRFTl9UQUdTID0gdHJ1ZSkKICAgIEFMVF9UT1BTRUxMRVJfQUI6IDI1LAogICAgQUxUX0JFU1RTRUxMRVJfQUI6IDEwLAogICAgLy8gU29ydGllcnVuZyDigJ5NZWlzdHZlcmthdWZ0ZSBBcnRpa2Vs4oCcIGltIFNob3AgKGbDvHIgZGVuIExpbmsgaW0gS2FzdGVuKQogICAgU09SVElFUlVOR19NRUlTVFZFUktBVUZUOiAndmFyaWF0aW9uLnBvc2l0aW9uX2Rlc2MnCiAgfTsKCiAgLy8gVGV4dGUgdW5kIEF1c3NlaGVuIGRlciB2aWVyIEJhZGdlcwogIHZhciBCQURHRVMgPSB7CiAgICB0b3BzZWxsZXI6IHsKICAgICAga3VyejogJ+KYhSBUT1BTRUxMRVInLAogICAgICB0aXRlbDogJ1RvcHNlbGxlciBpbiDigJ57S0FUfeKAnCcsCiAgICAgIHRleHQ6ICdHZWjDtnJ0IHp1IGRlbiBtZWlzdHZlcmthdWZ0ZW4gQXJ0aWtlbG4gZGllc2VyIEthdGVnb3JpZSBpbiBkZW4gbGV0enRlbiA5MCBUYWdlbi4nLAogICAgICBsaW5rOiAnQWxsZSBUb3BzZWxsZXIgaW4ge0tBVH0gYW5zZWhlbiDigLonCiAgICB9LAogICAgYmVzdHNlbGxlcjogewogICAgICBrdXJ6OiAnQkVTVFNFTExFUicsCiAgICAgIHRpdGVsOiAnQmVzdHNlbGxlciBpbiDigJ57S0FUfeKAnCcsCiAgICAgIHRleHQ6ICdXaXJkIGluIGRpZXNlciBLYXRlZ29yaWUgYmVzb25kZXJzIGjDpHVmaWcgZ2VrYXVmdCAobGV0enRlIDkwIFRhZ2UpLicsCiAgICAgIGxpbms6ICdNZWlzdHZlcmthdWZ0ZSBBcnRpa2VsIGluIHtLQVR9IGFuc2VoZW4g4oC6JwogICAgfSwKICAgIHRyZW5kOiB7CiAgICAgIGt1cno6ICfihpcgSU0gVFJFTkQnLAogICAgICB0aXRlbDogJ0dlcmFkZSBpbSBUcmVuZCcsCiAgICAgIHRleHQ6ICdXaXJkIGluIGRlbiBsZXR6dGVuIDMwIFRhZ2VuIGRldXRsaWNoIMO2ZnRlciBnZWthdWZ0IGFscyBzb25zdC4nLAogICAgICBsaW5rOiAnTWVpc3R2ZXJrYXVmdGUgQXJ0aWtlbCBpbiB7S0FUfSBhbnNlaGVuIOKAuicKICAgIH0sCiAgICBwcm9maTogewogICAgICBrdXJ6OiAnUFJPRkktRkFWT1JJVCcsCiAgICAgIHRpdGVsOiAnUHJvZmktRmF2b3JpdCcsCiAgICAgIHRleHQ6ICdWaWVsZSBXZXJrc3TDpHR0ZW4gYmVzdGVsbGVuIGRpZXNlbiBBcnRpa2VsIGltbWVyIHdpZWRlciBuYWNoLicsCiAgICAgIGxpbms6ICdNZWlzdHZlcmthdWZ0ZSBBcnRpa2VsIGluIHtLQVR9IGFuc2VoZW4g4oC6JwogICAgfQogIH07CgogIC8vIEZsYW1tZW4tU3ltYm9sIGbDvHIgZGVuIEhpbndlaXNrYXN0ZW4KICB2YXIgU1lNQk9MID0gJzxzdmcgd2lkdGg9IjI2IiBoZWlnaHQ9IjI2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0IzNkYwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTIgMTJjMi0yLjk2IDAtNy0xLTggMCAzLjAzOC0xLjc3MyA0Ljc0MS0zIDYtMS4yMjYgMS4yNi0yIDMuMjQtMiA1YTYgNiAwIDEgMCAxMiAwYzAtMS41MzItMS4wNTYtMy45NC0yLTUtMS43ODYgMy0yLjc5MSAzLTQgMnoiPjwvcGF0aD48L3N2Zz4nOwoKICAvLyA9PT09PT09PT09PT09PT09PT09PT0gSElMRlNGVU5LVElPTkVOID09PT09PT09PT09PT09PT09PT09PQoKICAvLyBUZXh0IHNpY2hlciBtYWNoZW4gKGtlaW5lIEhUTUwtWmVpY2hlbiBhdXMgRGF0ZW4gw7xiZXJuZWhtZW4pCiAgZnVuY3Rpb24gc2ljaGVyKHRleHQpIHsKICAgIHJldHVybiBTdHJpbmcodGV4dCA9PSBudWxsID8gJycgOiB0ZXh0KQogICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpLnJlcGxhY2UoLyIvZywgJyZxdW90OycpOwogIH0KCiAgLy8gQmFkZ2UtU2NobMO8c3NlbCAodG9wc2VsbGVyL2Jlc3RzZWxsZXIvdHJlbmQvcHJvZmkpIGF1cyBkZW4gQXJ0aWtlbGRhdGVuIGxlc2VuCiAgZnVuY3Rpb24gYmFkZ2VBdXNEYXRlbihkYXRlbikgewogICAgaWYgKCFkYXRlbikgcmV0dXJuIG51bGw7CgogICAgLy8gMC4gTnVyIGbDvHIgZGllIFZvcnNjaGF1OiBCYWRnZSB2b24gSGFuZCB2b3JnZWJlbiAod2luZG93LkJNX0RFTU8gPSB7IFZhcmlhbnRlbi1JRDogJ3RvcHNlbGxlcicgfSkKICAgIHZhciB2aWQgPSBkYXRlbi52YXJpYXRpb24gJiYgZGF0ZW4udmFyaWF0aW9uLmlkOwogICAgaWYgKHdpbmRvdy5CTV9ERU1PICYmIHZpZCAmJiBCQURHRVNbd2luZG93LkJNX0RFTU9bdmlkXV0pIHJldHVybiB3aW5kb3cuQk1fREVNT1t2aWRdOwoKICAgIC8vIDEuIFdlZzogRWlnZW5zY2hhZnQg4oCeVmVya2F1ZnMtQmFkZ2XigJwgKHN0ZWh0IGluIHZhcmlhdGlvblByb3BlcnRpZXMsIGdydXBwaWVydCkKICAgIHZhciBncnVwcGVuID0gZGF0ZW4udmFyaWF0aW9uUHJvcGVydGllcyB8fCBbXTsKICAgIGZvciAodmFyIGcgPSAwOyBnIDwgZ3J1cHBlbi5sZW5ndGg7IGcrKykgewogICAgICB2YXIgbGlzdGUgPSAoZ3J1cHBlbltnXSAmJiBncnVwcGVuW2ddLnByb3BlcnRpZXMpIHx8IFtdOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3RlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGUgPSBsaXN0ZVtpXTsKICAgICAgICB2YXIgbiA9IGUgJiYgZS5uYW1lczsKICAgICAgICB2YXIgcGFzc3QgPSBuICYmIChOdW1iZXIobi5wcm9wZXJ0eUlkKSA9PT0gRUlOU1RFTExVTkdFTi5FSUdFTlNDSEFGVF9JRCB8fCBuLm5hbWUgPT09IEVJTlNURUxMVU5HRU4uRUlHRU5TQ0hBRlRfTkFNRSk7CiAgICAgICAgaWYgKHBhc3N0KSB7CiAgICAgICAgICB2YXIgd2VydCA9IFN0cmluZygoZS52YWx1ZXMgJiYgZS52YWx1ZXMudmFsdWUpIHx8ICcnKS50cmltKCkudG9Mb3dlckNhc2UoKTsKICAgICAgICAgIGlmIChCQURHRVNbd2VydF0pIHJldHVybiB3ZXJ0OwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIC8vIDIuIFdlZyAobnVyIMOcYmVyZ2FuZyk6IGFsdGUgVGFncyDigJ7DvGJlciBYIG1hbCDigKYgYmVzdGVsbHTigJwKICAgIGlmIChFSU5TVEVMTFVOR0VOLlZPUlNDSEFVX01JVF9BTFRFTl9UQUdTICYmIGRhdGVuLnRhZ3MpIHsKICAgICAgdmFyIGhvZWNoc3RlID0gMDsKICAgICAgZGF0ZW4udGFncy5mb3JFYWNoKGZ1bmN0aW9uICh0KSB7CiAgICAgICAgdmFyIHRuYW1lID0gKHQgJiYgdC5uYW1lcyAmJiB0Lm5hbWVzLm5hbWUpIHx8ICcnOwogICAgICAgIHZhciB0cmVmZmVyID0gdG5hbWUubWF0Y2goL8O8YmVyXHMrKFxkKylccyttYWwvaSk7CiAgICAgICAgaWYgKHRyZWZmZXIpIGhvZWNoc3RlID0gTWF0aC5tYXgoaG9lY2hzdGUsIHBhcnNlSW50KHRyZWZmZXJbMV0sIDEwKSk7CiAgICAgIH0pOwogICAgICBpZiAoaG9lY2hzdGUgPj0gRUlOU1RFTExVTkdFTi5BTFRfVE9QU0VMTEVSX0FCKSByZXR1cm4gJ3RvcHNlbGxlcic7CiAgICAgIGlmIChob2VjaHN0ZSA+PSBFSU5TVEVMTFVOR0VOLkFMVF9CRVNUU0VMTEVSX0FCKSByZXR1cm4gJ2Jlc3RzZWxsZXInOwogICAgfQogICAgcmV0dXJuIG51bGw7CiAgfQoKICAvLyBCYWRnZS1IVE1MIGJhdWVuCiAgZnVuY3Rpb24gYmFkZ2VIdG1sKHNjaGx1ZXNzZWwsIHp1c2F0ektsYXNzZSkgewogICAgcmV0dXJuICc8c3BhbiBjbGFzcz0iYm0tYmFkZ2UgYm0tYmFkZ2UtLScgKyBzY2hsdWVzc2VsICsgJyAnICsgenVzYXR6S2xhc3NlICsgJyI+JyArIHNpY2hlcihCQURHRVNbc2NobHVlc3NlbF0ua3VyeikgKyAnPC9zcGFuPic7CiAgfQoKICAvLyA9PT09PT09PT09PT09PT09PT09PT0gQVJUSUtFTFNFSVRFID09PT09PT09PT09PT09PT09PT09PQogIGZ1bmN0aW9uIGFydGlrZWxzZWl0ZSgpIHsKICAgIHZhciBzdG9yZSA9IHdpbmRvdy52dWVBcHAgJiYgd2luZG93LnZ1ZUFwcC4kc3RvcmUgJiYgd2luZG93LnZ1ZUFwcC4kc3RvcmUuc3RhdGU7CiAgICBpZiAoIXN0b3JlIHx8ICFzdG9yZS5pdGVtcyB8fCAhc3RvcmUuaXRlbXMubWFpbkl0ZW1JZCkgcmV0dXJuIGZhbHNlOwoKICAgIHZhciBlaW50cmFnID0gc3RvcmUuaXRlbXNbc3RvcmUuaXRlbXMubWFpbkl0ZW1JZF07CiAgICB2YXIgZGF0ZW4gPSBlaW50cmFnICYmIGVpbnRyYWcudmFyaWF0aW9uICYmIGVpbnRyYWcudmFyaWF0aW9uLmRvY3VtZW50cyAmJiBlaW50cmFnLnZhcmlhdGlvbi5kb2N1bWVudHNbMF0gJiYgZWludHJhZy52YXJpYXRpb24uZG9jdW1lbnRzWzBdLmRhdGE7CiAgICBpZiAoIWRhdGVuKSByZXR1cm4gZmFsc2U7CgogICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdibS1iYWRnZXMtYWt0aXYnKTsKCiAgICAvLyBSb3RlIFRhZy1QaWxsZSDigJ7DvGJlciDigKYgbWFsIOKApiBiZXN0ZWxsdOKAnCBtYXJraWVyZW4gKHdpcmQgcGVyIENTUyB2ZXJzdGVja3QpCiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcud2lkZ2V0LXRhZyAuYmFkZ2UnKS5mb3JFYWNoKGZ1bmN0aW9uIChwaWxsZSkgewogICAgICBpZiAoL21hbC4qYmVzdGVsbHQvaS50ZXN0KHBpbGxlLnRleHRDb250ZW50KSkgcGlsbGUuY2xhc3NMaXN0LmFkZCgnYm0tYWx0ZS1waWxsZScpOwogICAgfSk7CgogICAgdmFyIHNjaGx1ZXNzZWwgPSBiYWRnZUF1c0RhdGVuKGRhdGVuKTsKICAgIGlmICghc2NobHVlc3NlbCkgcmV0dXJuIHRydWU7IC8vIGtlaW4gQmFkZ2Ug4oCTIG51ciBhbHRlIEVsZW1lbnRlIGF1cwoKICAgIC8vIEthdGVnb3JpZSBhdXMgZGVyIEJyb3RrcnVtZW4tTGVpc3RlIChsZXR6dGVyIExpbmspCiAgICAvLyBQbGF0emhhbHRlci1LYXRlZ29yaWVuIHdpZSDigJ5PaG5l4oCcIMO8YmVyc3ByaW5nZW4gdW5kIGRpZSBuw6RjaHN0aMO2aGVyZSBuZWhtZW4gKHouIEIuIOKAnlNBVEHigJwpCiAgICB2YXIgUExBVFpIQUxURVIgPSBbJ29obmUnLCAnc29uc3RpZ2UnLCAnZGl2ZXJzZScsICdpbXBvcnQnLCAnbmV1J107CiAgICB2YXIga3J1ZW1lbCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmJyZWFkY3J1bWIgYScpKS5maWx0ZXIoZnVuY3Rpb24gKGEpIHsKICAgICAgdmFyIG4gPSBhLnRleHRDb250ZW50LnRyaW0oKS50b0xvd2VyQ2FzZSgpOwogICAgICByZXR1cm4gbiAmJiBQTEFUWkhBTFRFUi5pbmRleE9mKG4pID09PSAtMSAmJiAhL3N0YXJ0c2VpdGUvLnRlc3Qobik7CiAgICB9KTsKICAgIHZhciBrYXRMaW5rID0ga3J1ZW1lbC5sZW5ndGggPyBrcnVlbWVsW2tydWVtZWwubGVuZ3RoIC0gMV0gOiBudWxsOwogICAgdmFyIGthdE5hbWUgPSBrYXRMaW5rID8ga2F0TGluay50ZXh0Q29udGVudC50cmltKCkgOiAnZGllc2VyIEthdGVnb3JpZSc7CiAgICB2YXIga2F0VXJsID0ga2F0TGluayA/IGthdExpbmsuZ2V0QXR0cmlidXRlKCdocmVmJykgKyAnP3NvcnRpbmc9JyArIGVuY29kZVVSSUNvbXBvbmVudChFSU5TVEVMTFVOR0VOLlNPUlRJRVJVTkdfTUVJU1RWRVJLQVVGVCkgOiAnIyc7CgogICAgLy8gYSkgQmFkZ2Ugb2JlbiBsaW5rcyBpbSBQcm9kdWt0YmlsZAogICAgdmFyIGJpbGQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud2lkZ2V0LWl0ZW0taW1hZ2UnKTsKICAgIGlmIChiaWxkICYmICFiaWxkLnF1ZXJ5U2VsZWN0b3IoJy5ibS1iaWxkYmFkZ2UnKSkgewogICAgICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShiaWxkKS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIGJpbGQuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnOwogICAgICBiaWxkLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJiZWdpbicsIGJhZGdlSHRtbChzY2hsdWVzc2VsLCAnYm0tYmlsZGJhZGdlJykpOwogICAgfQoKICAgIC8vIGIpIEhpbndlaXNrYXN0ZW4gw7xiZXIg4oCeSW4gZGVuIFdhcmVua29yYuKAnAogICAgdmFyIHdhcmVua29yYiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy53aWRnZXQtYWRkLXRvLWJhc2tldCcpOwogICAgaWYgKHdhcmVua29yYiAmJiAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJtLWhpbndlaXMnKSkgewogICAgICB2YXIgYiA9IEJBREdFU1tzY2hsdWVzc2VsXTsKICAgICAgdmFyIGthc3RlbiA9CiAgICAgICAgJzxkaXYgY2xhc3M9ImJtLWhpbndlaXMgYm0taGlud2Vpcy0tJyArIHNjaGx1ZXNzZWwgKyAnIj4nICsgU1lNQk9MICsKICAgICAgICAgICc8ZGl2PicgKwogICAgICAgICAgICAnPHAgY2xhc3M9ImJtLWhpbndlaXNfX3RpdGVsIj4nICsgc2ljaGVyKGIudGl0ZWwucmVwbGFjZSgne0tBVH0nLCBrYXROYW1lKSkgKyAnPC9wPicgKwogICAgICAgICAgICAnPHAgY2xhc3M9ImJtLWhpbndlaXNfX3RleHQiPicgKyBzaWNoZXIoYi50ZXh0KSArICc8L3A+JyArCiAgICAgICAgICAgICc8YSBjbGFzcz0iYm0taGlud2Vpc19fbGluayIgaHJlZj0iJyArIHNpY2hlcihrYXRVcmwpICsgJyI+JyArIHNpY2hlcihiLmxpbmsucmVwbGFjZSgne0tBVH0nLCBrYXROYW1lKSkgKyAnPC9hPicgKwogICAgICAgICAgJzwvZGl2PicgKwogICAgICAgICc8L2Rpdj4nOwogICAgICB3YXJlbmtvcmIuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmViZWdpbicsIGthc3Rlbik7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIC8vID09PT09PT09PT09PT09PT09PT09PSBLQVRFR09SSUVTRUlURSA9PT09PT09PT09PT09PT09PT09PT0KICAvLyBNZXJrZXIgaW0gQnJvd3NlciAoc2Vzc2lvblN0b3JhZ2UpLCBkYW1pdCBiZWltIEJsw6R0dGVybiBuaWNodCBuZXUgZ2VmcmFndCB3aXJkCiAgZnVuY3Rpb24gbWVya2VyTGVzZW4odmlkKSB7CiAgICB0cnkgewogICAgICB2YXIgdCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2JtQmFkZ2U6JyArIHZpZCk7CiAgICAgIGlmICghdCkgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgdmFyIG8gPSBKU09OLnBhcnNlKHQpOwogICAgICBpZiAoRGF0ZS5ub3coKSAtIG8ueiA+IEVJTlNURUxMVU5HRU4uQ0FDSEVfU1RVTkRFTiAqIDM2MDAwMDApIHJldHVybiB1bmRlZmluZWQ7CiAgICAgIHJldHVybiBvLmI7IC8vICcnID0ga2VpbiBCYWRnZQogICAgfSBjYXRjaCAoZSkgeyByZXR1cm4gdW5kZWZpbmVkOyB9CiAgfQogIGZ1bmN0aW9uIG1lcmtlclNjaHJlaWJlbih2aWQsIGJhZGdlKSB7CiAgICB0cnkgeyBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdibUJhZGdlOicgKyB2aWQsIEpTT04uc3RyaW5naWZ5KHsgYjogYmFkZ2UgfHwgJycsIHo6IERhdGUubm93KCkgfSkpOyB9IGNhdGNoIChlKSB7IC8qIGVnYWwgKi8gfQogIH0KCiAgLy8gQmFkZ2UgaW4gZWluZSBLYWNoZWwgc2V0emVuICh1bnRlciBkYXMgUmFiYXR0LVNjaGlsZCkKICBmdW5jdGlvbiBiYWRnZUluS2FjaGVsKGthY2hlbCwgc2NobHVlc3NlbCkgewogICAgaWYgKCFzY2hsdWVzc2VsIHx8IGthY2hlbC5xdWVyeVNlbGVjdG9yKCcuYm0tYmFkZ2UnKSkgcmV0dXJuOwogICAgdmFyIHBsYXR6ID0ga2FjaGVsLnF1ZXJ5U2VsZWN0b3IoJy5zcGVjaWFsLXRhZ3MnKTsKICAgIGlmICghcGxhdHopIHsKICAgICAgdmFyIGJpbGRCZXJlaWNoID0ga2FjaGVsLnF1ZXJ5U2VsZWN0b3IoJy50aHVtYi1pbWFnZScpIHx8IGthY2hlbC5maXJzdEVsZW1lbnRDaGlsZDsKICAgICAgaWYgKCFiaWxkQmVyZWljaCkgcmV0dXJuOwogICAgICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShiaWxkQmVyZWljaCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSBiaWxkQmVyZWljaC5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7CiAgICAgIGJpbGRCZXJlaWNoLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJiZWdpbicsICc8ZGl2IGNsYXNzPSJzcGVjaWFsLXRhZ3MgcC0yIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6MiI+PC9kaXY+Jyk7CiAgICAgIHBsYXR6ID0gYmlsZEJlcmVpY2gucXVlcnlTZWxlY3RvcignLnNwZWNpYWwtdGFncycpOwogICAgfQogICAgcGxhdHouc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICAgIHBsYXR6LnN0eWxlLmZsZXhEaXJlY3Rpb24gPSAnY29sdW1uJzsKICAgIHBsYXR6LnN0eWxlLmFsaWduSXRlbXMgPSAnZmxleC1zdGFydCc7CiAgICBwbGF0ei5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsIGJhZGdlSHRtbChzY2hsdWVzc2VsLCAnYm0tYmFkZ2UtLWtsZWluJykpOwogIH0KCiAgdmFyIGxhZXVmdEdlcmFkZSA9IGZhbHNlOwogIGZ1bmN0aW9uIGthdGVnb3JpZXNlaXRlKCkgewogICAgdmFyIGthY2hlbG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY21wLXByb2R1Y3QtdGh1bWInKTsKICAgIGlmICgha2FjaGVsbi5sZW5ndGgpIHJldHVybjsKICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYm0tYmFkZ2VzLWFrdGl2Jyk7CgogICAgdmFyIG9mZmVuID0ge307IC8vIHZpZCAtPiBba2FjaGVsbl0KICAgIGthY2hlbG4uZm9yRWFjaChmdW5jdGlvbiAoa2FjaGVsKSB7CiAgICAgIGlmIChrYWNoZWwuZ2V0QXR0cmlidXRlKCdkYXRhLWJtLWZlcnRpZycpKSByZXR1cm47CiAgICAgIHZhciB2dWUgPSBrYWNoZWwuX192dWVfXzsKICAgICAgdmFyIGRhdGVuID0gdnVlICYmIHZ1ZS5pdGVtOwogICAgICBpZiAoIWRhdGVuIHx8ICFkYXRlbi52YXJpYXRpb24pIHJldHVybjsKICAgICAga2FjaGVsLnNldEF0dHJpYnV0ZSgnZGF0YS1ibS1mZXJ0aWcnLCAnMScpOwogICAgICB2YXIgdmlkID0gZGF0ZW4udmFyaWF0aW9uLmlkOwoKICAgICAgLy8gU3RlaHQgZGFzIEJhZGdlIHNjaG9uIGluIGRlbiBLYWNoZWwtRGF0ZW4gKG9kZXIgVm9yc2NoYXUpPyBEYW5uIHNvZm9ydC4KICAgICAgdmFyIGRpcmVrdCA9IGJhZGdlQXVzRGF0ZW4oZGF0ZW4pOwogICAgICBpZiAoZGlyZWt0KSB7IGJhZGdlSW5LYWNoZWwoa2FjaGVsLCBkaXJla3QpOyByZXR1cm47IH0KCiAgICAgIHZhciBnZW1lcmt0ID0gbWVya2VyTGVzZW4odmlkKTsKICAgICAgaWYgKGdlbWVya3QgIT09IHVuZGVmaW5lZCkgeyBiYWRnZUluS2FjaGVsKGthY2hlbCwgZ2VtZXJrdCk7IHJldHVybjsgfQoKICAgICAgKG9mZmVuW3ZpZF0gPSBvZmZlblt2aWRdIHx8IFtdKS5wdXNoKGthY2hlbCk7CiAgICB9KTsKCiAgICB2YXIgaWRzID0gT2JqZWN0LmtleXMob2ZmZW4pOwogICAgaWYgKCFpZHMubGVuZ3RoIHx8IGxhZXVmdEdlcmFkZSkgcmV0dXJuOwogICAgbGFldWZ0R2VyYWRlID0gdHJ1ZTsKCiAgICAvLyBJbiBQYWtldGVuIGJlaW0gZWlnZW5lbiBTaG9wIG5hY2hmcmFnZW4KICAgIHZhciBwYWtldGUgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaWRzLmxlbmd0aDsgaSArPSBFSU5TVEVMTFVOR0VOLlBBS0VUX0dST0VTU0UpIHBha2V0ZS5wdXNoKGlkcy5zbGljZShpLCBpICsgRUlOU1RFTExVTkdFTi5QQUtFVF9HUk9FU1NFKSk7CiAgICB2YXIgZmVydGlnID0gMDsKICAgIHBha2V0ZS5mb3JFYWNoKGZ1bmN0aW9uIChwYWtldCkgewogICAgICB2YXIgdXJsID0gJy9yZXN0L2lvL3ZhcmlhdGlvbnM/JyArIHBha2V0Lm1hcChmdW5jdGlvbiAodikgeyByZXR1cm4gJ3ZhcmlhdGlvbklkc1tdPScgKyBlbmNvZGVVUklDb21wb25lbnQodik7IH0pLmpvaW4oJyYnKTsKICAgICAgZmV0Y2godXJsLCB7IGhlYWRlcnM6IHsgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicgfSwgY3JlZGVudGlhbHM6ICdzYW1lLW9yaWdpbicgfSkKICAgICAgICAudGhlbihmdW5jdGlvbiAocikgeyByZXR1cm4gci5vayA/IHIuanNvbigpIDogbnVsbDsgfSkKICAgICAgICAudGhlbihmdW5jdGlvbiAoaikgewogICAgICAgICAgdmFyIGdlZnVuZGVuID0ge307CiAgICAgICAgICB2YXIgZG9jcyA9IChqICYmIGouZGF0YSAmJiBqLmRhdGEuZG9jdW1lbnRzKSB8fCBbXTsKICAgICAgICAgIGRvY3MuZm9yRWFjaChmdW5jdGlvbiAoZG9jKSB7CiAgICAgICAgICAgIHZhciBkID0gZG9jICYmIGRvYy5kYXRhOwogICAgICAgICAgICBpZiAoIWQgfHwgIWQudmFyaWF0aW9uKSByZXR1cm47CiAgICAgICAgICAgIGdlZnVuZGVuW2QudmFyaWF0aW9uLmlkXSA9IGJhZGdlQXVzRGF0ZW4oZCkgfHwgJyc7CiAgICAgICAgICB9KTsKICAgICAgICAgIHBha2V0LmZvckVhY2goZnVuY3Rpb24gKHZpZCkgewogICAgICAgICAgICB2YXIgYiA9IGdlZnVuZGVuW3ZpZF0gfHwgJyc7CiAgICAgICAgICAgIG1lcmtlclNjaHJlaWJlbih2aWQsIGIpOwogICAgICAgICAgICAob2ZmZW5bdmlkXSB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbiAoaykgeyBiYWRnZUluS2FjaGVsKGssIGIpOyB9KTsKICAgICAgICAgIH0pOwogICAgICAgIH0pCiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uICgpIHsgLyogYmVpIEZlaGxlciBlaW5mYWNoIGtlaW4gQmFkZ2UgKi8gfSkKICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7IGlmICgrK2ZlcnRpZyA9PT0gcGFrZXRlLmxlbmd0aCkgbGFldWZ0R2VyYWRlID0gZmFsc2U7IH0pOwogICAgfSk7CiAgfQoKICAvLyA9PT09PT09PT09PT09PT09PT09PT0gU1RBUlQgPT09PT09PT09PT09PT09PT09PT09CiAgZnVuY3Rpb24gbG9zKCkgewogICAgYXJ0aWtlbHNlaXRlKCk7CiAgICBrYXRlZ29yaWVzZWl0ZSgpOwogIH0KCiAgLy8gV2FydGVuLCBiaXMgZGVyIFNob3AgZmVydGlnIGdlbGFkZW4gaXN0LCB1bmQgYXVmIE5hY2hsYWRlbiAoQmzDpHR0ZXJuLCBGaWx0ZXIpIHJlYWdpZXJlbgogIGZ1bmN0aW9uIHN0YXJ0ZW4oKSB7CiAgICBsb3MoKTsKICAgIHZhciB3YXJ0ZSA9IG51bGw7CiAgICBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAoKSB7CiAgICAgIGNsZWFyVGltZW91dCh3YXJ0ZSk7CiAgICAgIHdhcnRlID0gc2V0VGltZW91dChsb3MsIDE1MCk7CiAgICB9KS5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pOwogIH0KCiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJykgewogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsgc2V0VGltZW91dChzdGFydGVuLCAzMDApOyB9KTsKICB9IGVsc2UgewogICAgc2V0VGltZW91dChzdGFydGVuLCAzMDApOwogIH0KfSkoKTsK";try{var s=document.createElement("script");s.id="bm-verkaufs-badges-js";s.text=decodeURIComponent(escape(atob(c)));document.body.appendChild(s);}catch(e){console.error("BM Verkaufs-Badges",e);}})();

Ø 200 mm


Preis
EUR
EUR

Ø 200 mm