name = SoundCloud hostname = api-mobile.soundcloud.com # response: правим JSON конфигурации (фичи, план, приватность, баннеры) 1, 100, ^https://api-mobile\.soundcloud\.com/configuration, ZnVuY3Rpb24gcHJvY2VzcyhjdHgpIHsKICAgIGlmICghY3R4LmJvZHkgfHwgY3R4LmJvZHkubGVuZ3RoID09PSAwKSByZXR1cm47CgogICAgdHJ5IHsKICAgICAgICBsZXQgb2JqID0gSlNPTi5wYXJzZShBbnl3aGVyZS5jb2RlYy51dGY4LmRlY29kZShjdHguYm9keSkpOwoKICAgICAgICAvLyAxLiDQs9C70YPRiNC40Lwg0YDQtdC60LvQsNC80L3Ri9C1INGE0LjRh9C4CiAgICAgICAgaWYgKG9iai5mZWF0dXJlcyAmJiBBcnJheS5pc0FycmF5KG9iai5mZWF0dXJlcykpIHsKICAgICAgICAgICAgbGV0IGZlYXR1cmVzVG9FbmFibGUgPSBbCiAgICAgICAgICAgICAgICAib2ZmbGluZV9zeW5jIiwKICAgICAgICAgICAgICAgICJub19hdWRpb19hZHMiLAogICAgICAgICAgICAgICAgImhxX2F1ZGlvIgogICAgICAgICAgICBdOwoKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmouZmVhdHVyZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGxldCBmZWF0dXJlTmFtZSA9IG9iai5mZWF0dXJlc1tpXSAmJiBvYmouZmVhdHVyZXNbaV0ubmFtZTsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZmVhdHVyZU5hbWUgIT09ICJzdHJpbmciKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICBpZiAoZmVhdHVyZXNUb0VuYWJsZS5pbmNsdWRlcyhmZWF0dXJlTmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICBvYmouZmVhdHVyZXNbaV0uZW5hYmxlZCA9IHRydWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKGZlYXR1cmVOYW1lLmluY2x1ZGVzKCJhZHMiKSAmJiBmZWF0dXJlTmFtZSAhPT0gIm5vX2F1ZGlvX2FkcyIpIHsKICAgICAgICAgICAgICAgICAgICBvYmouZmVhdHVyZXNbaV0uZW5hYmxlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyAyLiDQv9C+0LTQvNC10L3Rj9C10Lwg0L/Qu9Cw0L0KICAgICAgICBpZiAob2JqLnBsYW4pIHsKICAgICAgICAgICAgb2JqLnBsYW4ucGxhbl9pZCA9ICJoaWdoX3RpZXIiOwogICAgICAgICAgICBvYmoucGxhbi5wbGFuX25hbWUgPSAiU291bmRDbG91ZCBHbysiOwogICAgICAgICAgICBvYmoucGxhbi5tYW5hZ2VhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKG9iai5wbGFuLmlkID09PSAibm9uZSIpIHsKICAgICAgICAgICAgICAgIG9iai5wbGFuLmlkID0gImhpZ2hfdGllciI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIDMuINCf0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC+0YLQutC70Y7Rh9Cw0LXQvCDRgdCx0L7RgCDQsNC90LDQu9C40YLQuNC60Lgg0Lgg0YLQsNGA0LPQtdGC0LjQvdCzCiAgICAgICAgaWYgKG9iai5wcml2YWN5X3NldHRpbmdzKSB7CiAgICAgICAgICAgIG9iai5wcml2YWN5X3NldHRpbmdzLmFuYWx5dGljc19vcHRfaW4gPSBmYWxzZTsKICAgICAgICAgICAgb2JqLnByaXZhY3lfc2V0dGluZ3MuY29tbXVuaWNhdGlvbnNfb3B0X2luID0gZmFsc2U7CiAgICAgICAgICAgIG9iai5wcml2YWN5X3NldHRpbmdzLnRhcmdldGVkX2FkdmVydGlzaW5nX29wdF9pbiA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gNC4gItCS0YvRgNC10LfQsNC10LwiINCy0LjQt9GD0LDQu9GM0L3Ri9C1INCx0LDQvdC90LXRgNGLINC40Lcg0LjQvdGC0LXRgNGE0LXQudGB0LAKICAgICAgICAvLyBhZHNfY29uZmlndXJhdGlvbiAtPiBhZHNfY29uZmlnIC0+IHBsYWNlbWVudHMKICAgICAgICBpZiAob2JqLmFkc19jb25maWd1cmF0aW9uICYmIG9iai5hZHNfY29uZmlndXJhdGlvbi5hZHNfY29uZmlnICYmIG9iai5hZHNfY29uZmlndXJhdGlvbi5hZHNfY29uZmlnLnBsYWNlbWVudHMpIHsKICAgICAgICAgICAgbGV0IHBsYWNlbWVudHMgPSBvYmouYWRzX2NvbmZpZ3VyYXRpb24uYWRzX2NvbmZpZy5wbGFjZW1lbnRzOwoKICAgICAgICAgICAgLy8gaHRtbF9iYW5uZXJfcGxheWxpc3QsIGh0bWxfYmFubmVyX3RyYWNrINC4INGCLtC0LgogICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gcGxhY2VtZW50cykgewogICAgICAgICAgICAgICAgaWYgKHBsYWNlbWVudHNba2V5XSAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGxhY2VtZW50c1trZXldLCAiZW5hYmxlZCIpKSB7CiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50c1trZXldLmVuYWJsZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8g0KPQv9Cw0LrQvtCy0YvQstCw0LXQvCDQuNC30LzQtdC90ZHQvdC90YvQtSDQtNCw0L3QvdGL0LUg0L7QsdGA0LDRgtC90L4g0LIg0YLQtdC70L4g0L7RgtCy0LXRgtCwCiAgICAgICAgY3R4LmJvZHkgPSBBbnl3aGVyZS5jb2RlYy51dGY4LmVuY29kZShKU09OLnN0cmluZ2lmeShvYmopKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAvLyDQn9GA0Lgg0L7RiNC40LHQutC1IEFueXdoZXJlINGB0LDQvCDQvtGC0LTQsNGR0YIg0L7RgNC40LPQuNC90LDQu9GM0L3Ri9C5INC+0YLQstC10YIKICAgICAgICBBbnl3aGVyZS5sb2cud2FybmluZygi0J7RiNC40LHQutCwINCyINGB0LrRgNC40L/RgtC1IFNvdW5kQ2xvdWQ6ICIgKyBlKTsKICAgIH0KfQ==