# Generated by tools/bundle.py from plugin.json + src/ — do not edit; edit the sources. __id__ = 'extended_media_forwards' __name__ = 'Extended Media Forwards' __description__ = 'Adds a Forward action to media opened from telegra.ph pages and rich messages (single media and carousels): downloads the media and re-sends it from your account with a link back to its source.' __author__ = '@lyuksovannyy' __version__ = '1.1.2' __icon__ = 'exteraGramPluginIcons/3' __app_version__ = '>=12.5.1' __sdk_version__ = '>=1.4.4.3' _BUNDLE_BLOB = ( "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" ) import base64 as _b64, builtins as _bi, json as _j, linecache as _lc, types as _t, zlib as _z _BUNDLE = _j.loads(_z.decompress(_b64.b64decode(_BUNDLE_BLOB)).decode("utf-8")) _MODS = _BUNDLE["modules"] _LOADED = {} _ROOTS = {n.partition(".")[0] for n in _MODS} _REAL_IMPORT = _bi.__import__ def _bundle_register_source(info): lines = info["src"].splitlines(True) _lc.cache[info["file"]] = (len(info["src"]), None, lines, info["file"]) def _bundle_load(name): mod = _LOADED.get(name) if mod is not None: return mod info = _MODS.get(name) if info is None: raise ImportError("no bundled module named %r" % name) parent = name.rpartition(".")[0] if parent: _bundle_load(parent) mod = _t.ModuleType(name) mod.__file__ = info["file"] mod.__package__ = name if info["pkg"] else parent if info["pkg"]: mod.__path__ = [] builtins_ns = dict(vars(_bi)) builtins_ns["__import__"] = _bundle_import mod.__dict__["__builtins__"] = builtins_ns _LOADED[name] = mod _bundle_register_source(info) try: exec(compile(info["src"], info["file"], "exec"), mod.__dict__) except BaseException: _LOADED.pop(name, None) raise if parent: setattr(_LOADED[parent], name.rpartition(".")[2], mod) return mod def _bundle_import(name, globals=None, locals=None, fromlist=(), level=0): if level: pkg = (globals or {}).get("__package__") or "" parts = pkg.split(".") if pkg else [] if level > 1: parts = parts[: 1 - level] if not parts: return _REAL_IMPORT(name, globals, locals, fromlist, level) full = ".".join(parts) + ("." + name if name else "") else: full = name if full.partition(".")[0] not in _ROOTS or full not in _MODS: return _REAL_IMPORT(name, globals, locals, fromlist, level) mod = _bundle_load(full) if not fromlist: return mod if level else _bundle_load(full.partition(".")[0]) for item in fromlist: if item != "*" and not hasattr(mod, item) and full + "." + item in _MODS: _bundle_load(full + "." + item) return mod _ENTRY = _MODS[_BUNDLE["entry"]] _bundle_register_source(_ENTRY) _bundle_builtins = dict(vars(_bi)) _bundle_builtins["__import__"] = _bundle_import globals()["__builtins__"] = _bundle_builtins exec(compile(_ENTRY["src"], _ENTRY["file"], "exec"), globals())