diff --git a/README.md b/README.md index 5ca31b24..3df51c44 100644 --- a/README.md +++ b/README.md @@ -146,38 +146,32 @@ of: - Available and currently Docker-compatible system images - Currently published and advertised emulator binaries -For each system image, the API level, variant, ABI, and URL are displayed. For -each emulator, the update channel (stable vs canary), version, host os, and URL +For each system image, the codename letter, sort tag, ABI, API level (with a +trailing `ps16k` for 16 KB-page variants), and URL are displayed. For each +emulator, the update channel (stable, dev, ...), version, host os, and URL are displayed. Example output: - SYSIMG android 21 L x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-21_r05.zip - SYSIMG android 22 L x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-22_r06.zip - SYSIMG android 23 M x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-23_r10.zip - SYSIMG android 24 N x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-24_r08.zip - SYSIMG android 25 N x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-25_r01.zip - SYSIMG android 26 O x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-26_r01.zip - SYSIMG android 27 O x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-27_r01.zip - SYSIMG android 28 P x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-28_r04.zip - SYSIMG android 28 Q x86_64 https://dl.google.com/android/repository/sys-img/android/x86_64-Q_r04.zip - SYSIMG google_apis 21 L x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-21_r30.zip - SYSIMG google_apis 22 L x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-22_r24.zip - SYSIMG google_apis 23 M x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-23_r31.zip - SYSIMG google_apis 24 N x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-24_r25.zip - SYSIMG google_apis 25 N x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-25_r16.zip - SYSIMG google_apis 26 O x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-26_r13.zip - SYSIMG google_apis 28 P x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-28_r09.zip - SYSIMG google_apis 28 Q x86_64 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-Q_r04.zip - SYSIMG google_apis_playstore 28 P x86_64 https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-28_r08.p - SYSIMG google_apis_playstore 28 Q x86_64 https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-Q_r04.zp - EMU stable 29.0.11 windows https://dl.google.com/android/repository/emulator-windows-5598178.zip - EMU stable 29.0.11 macosx https://dl.google.com/android/repository/emulator-darwin-5598178.zip - EMU stable 29.0.11 linux https://dl.google.com/android/repository/emulator-linux-5598178.zip - EMU stable 28.0.25 windows https://dl.google.com/android/repository/emulator-windows-5395263.zip - EMU canary 29.0.12 windows https://dl.google.com/android/repository/emulator-windows-5613046.zip - EMU canary 29.0.12 macosx https://dl.google.com/android/repository/emulator-darwin-5613046.zip - EMU canary 29.0.12 linux https://dl.google.com/android/repository/emulator-linux-5613046.zip + SYSIMG R google_apis x86_64 30 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-30_r16.zip + SYSIMG S google_apis x86_64 31 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-31_r14.zip + SYSIMG T google_apis_playstore x86_64 33 https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-33_r09.zip + SYSIMG U google_apis x86_64 34 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-34_r14.zip + SYSIMG V google_apis x86_64 35 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-35_r09.zip + SYSIMG V google_apis x86_64 35 ps16k https://dl.google.com/android/repository/sys-img/google_apis/x86_64-ps16k-35_r05.zip + SYSIMG B google_apis x86_64 36 https://dl.google.com/android/repository/sys-img/google_apis/x86_64-36_r07.zip + SYSIMG B google_apis x86_64 36 ps16k https://dl.google.com/android/repository/sys-img/google_apis/x86_64-ps16k-36_r07.zip + SYSIMG B google_apis_playstore x86_64 36 https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-36_r07.zip + SYSIMG B google_apis_playstore x86_64 36 ps16k https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-playstore-ps16k-36_r07.zip + SYSIMG C google_apis x86_64 37.0 ps16k https://dl.google.com/android/repository/sys-img/google_apis/x86_64-ps16k-37.0_r04.zip + EMU stable 36.5.11 linux https://dl.google.com/android/repository/emulator-linux_x64-15261927.zip + EMU dev 36.6.8 linux https://dl.google.com/android/repository/emulator-linux_x64-15368433.zip + +A `ps16k` suffix marks a 16 KB page-size variant of the same `(api, sort, abi)`; +the regular 4 KB variant continues to appear without the suffix. Pre-release +codename builds (Baklava, CinnamonBun, ...) and ext-SDK images are filtered out +to keep the list uncluttered; pass them as a direct zip path to +`emu-docker create` if you need to build a container from one. One can then use tools like `wget` or a browser to download a desired emulator and system image. After the two are obtained, we can build a Docker image. diff --git a/emu/android_release_zip.py b/emu/android_release_zip.py index 879410f2..a4860616 100644 --- a/emu/android_release_zip.py +++ b/emu/android_release_zip.py @@ -181,6 +181,7 @@ def __init__(self, file_name: str): self.props["qemu.tag"] = self.tag() self.props["qemu.short_tag"] = self.short_tag() self.props["qemu.short_abi"] = self.short_abi() + self.props["qemu.is_16k"] = "true" if self.is_16k() else "false" def api(self) -> str: """The api level, if any.""" @@ -211,12 +212,24 @@ def gpu(self) -> str: return self.props.get("SystemImage.GpuSupport") def tag(self) -> str: - """The tag associated with this release.""" - tag = self.props.get("SystemImage.TagId", "") + """The canonical sort tag associated with this release. + + SystemImage.TagId can be multi-valued (comma-joined) for 16 KB-page + variants -- typically "google_apis,page_size_16kb". Reduce to the + non-page-size component so downstream lookups still work. + """ + raw = self.props.get("SystemImage.TagId", "") + parts = [p for p in raw.split(",") if p and p != "page_size_16kb"] + tag = parts[0] if parts else "" if tag == "default" or tag.strip() == "": tag = "android" return tag + def is_16k(self) -> bool: + """True if this is a 16 KB page-size system image variant.""" + raw = self.props.get("SystemImage.TagId", "") + return "page_size_16kb" in raw.split(",") + def short_tag(self) -> str: """A shorthand tag.""" return self.SHORT_TAG[self.tag()] diff --git a/emu/containers/emulator_container.py b/emu/containers/emulator_container.py index 01980c7c..25645f19 100644 --- a/emu/containers/emulator_container.py +++ b/emu/containers/emulator_container.py @@ -105,6 +105,8 @@ def image_name(self): self.props["qemu.short_tag"], self.props["qemu.short_abi"], ) + if self.props.get("qemu.is_16k") == "true": + name = "{}-ps16k".format(name) if not self.metrics: return "{}-no-metrics".format(name) return name diff --git a/emu/containers/system_image_container.py b/emu/containers/system_image_container.py index 56006240..63564ac8 100644 --- a/emu/containers/system_image_container.py +++ b/emu/containers/system_image_container.py @@ -64,7 +64,8 @@ def image_name(self): if self.system_image_info: return self.system_image_info.image_name() if self.system_image_zip: - return f"sys-{self.system_image_zip.api()}-{self.system_image_zip.short_tag()}-{self.system_image_zip.short_abi()}" + suffix = "-ps16k" if self.system_image_zip.is_16k() else "" + return f"sys-{self.system_image_zip.api()}-{self.system_image_zip.short_tag()}-{self.system_image_zip.short_abi()}{suffix}" def docker_tag(self): if self.system_image_zip: diff --git a/emu/emu_downloads_menu.py b/emu/emu_downloads_menu.py index 283645c6..36232d3e 100644 --- a/emu/emu_downloads_menu.py +++ b/emu/emu_downloads_menu.py @@ -28,11 +28,11 @@ from emu.docker_config import DockerConfig SYSIMG_REPOS = [ - "https://dl.google.com/android/repository/sys-img/android/sys-img2-1.xml", - "https://dl.google.com/android/repository/sys-img/google_apis/sys-img2-1.xml", - "https://dl.google.com/android/repository/sys-img/google_apis_playstore/sys-img2-1.xml", - "https://dl.google.com/android/repository/sys-img/google_atd/sys-img2-1.xml", - "https://dl.google.com/android/repository/sys-img/android-tv/sys-img2-1.xml", + "https://dl.google.com/android/repository/sys-img/android/sys-img2-5.xml", + "https://dl.google.com/android/repository/sys-img/google_apis/sys-img2-5.xml", + "https://dl.google.com/android/repository/sys-img/google_apis_playstore/sys-img2-5.xml", + "https://dl.google.com/android/repository/sys-img/google_atd/sys-img2-5.xml", + "https://dl.google.com/android/repository/sys-img/android-tv/sys-img2-5.xml", ] EMU_REPOS = ["https://dl.google.com/android/repository/repository2-1.xml"] @@ -63,11 +63,17 @@ "30": "R", "31": "S", "32": "S", + "33": "T", + "34": "U", + "35": "V", + "36": "B", + "37": "C", } -# Older versions might not work as expected. -MIN_REL_I386 = "K" -MIN_REL_X64 = "O" +# Older versions might not work as expected. Keyed on the major API +# integer so new API levels need no code change to be filtered correctly. +MIN_API_I386 = 19 # K +MIN_API_X64 = 26 # O class License(object): @@ -137,21 +143,43 @@ class SysImgInfo(LicensedObject): def __init__(self, pkg, licenses): super(SysImgInfo, self).__init__(pkg, licenses) details = pkg.find("type-details") + # api-level is "36", "36.1", "37.0", or "36x" (ext-SDK). Keep the + # original string for display/uniqueness and derive a major int + # for filter thresholds. self.api = details.find("api-level").text - + m = re.match(r"\d+", self.api) + self.api_major = int(m.group()) if m else 0 + + # Derive the (sort, is_16k) pair from the path's third segment + # (system-images;;;). Tag elements in + # the XML can be multi-valued and ordered arbitrarily, so the + # path is the only deterministic source. + path_parts = pkg.attrib.get("path", "").split(";") + sort = path_parts[2] if len(path_parts) > 2 else "" + self.is_16k = sort.endswith("_ps16k") + sort_base = sort[: -len("_ps16k")] if self.is_16k else sort + + # Pre-release builds carry a codename (Baklava, CinnamonBun, CANARY, + # ...). They get filtered out at listing time so users only see + # stable/released images by default. codename = details.find("codename") - if codename is None: - if self.api in API_LETTER_MAPPING: - self.letter = API_LETTER_MAPPING[self.api] - else: - self.letter = "A" # A indicates unknown code. + self.is_preview = codename is not None and bool(codename.text) + # ext-SDK system images (api-level "33x", "34x", "36x", ...) ship + # the same target SDK with additional extension APIs. They are + # filtered out at listing time to keep the list uncluttered. + self.is_ext_sdk = self.api.endswith("x") + if self.api in API_LETTER_MAPPING: + self.letter = API_LETTER_MAPPING[self.api] + elif str(self.api_major) in API_LETTER_MAPPING: + self.letter = API_LETTER_MAPPING[str(self.api_major)] else: - self.letter = codename.text - - self.tag = details.find("tag").find("id").text + self.letter = self.api - if self.tag == "default": - self.tag = "android" + # The legacy sort segment "default" is served from the "android" + # subdirectory and surfaced to users as the "android" tag. + if sort_base == "default": + sort_base = "android" + self.tag = sort_base or details.find("tag").find("id").text self.abi = details.find("abi").text # prefer a url for a Linux host in case there are multiple @@ -161,35 +189,45 @@ def __init__(self, pkg, licenses): url_element = pkg.find(".//url") self.zip = url_element.text + # The zip lives under sys-img//, regardless of how + # the element is labelled — for 16KB variants the path + # sort is e.g. google_apis_ps16k, served from .../google_apis/. + url_dir = sort_base or self.tag self.url = "https://dl.google.com/android/repository/sys-img/%s/%s" % ( - self.tag, + url_dir, self.zip, ) def short_tag(self): - return self.SHORT_TAG[self.tag] + return self.SHORT_TAG.get(self.tag, self.tag) def short_abi(self): - return self.SHORT_MAP[self.abi] + return self.SHORT_MAP.get(self.abi, self.abi) def image_name(self): - return "sys-{}-{}-{}".format(self.api, self.short_tag(), self.short_abi()) + suffix = "-ps16k" if self.is_16k else "" + return "sys-{}-{}-{}{}".format( + self.api, self.short_tag(), self.short_abi(), suffix + ) def download_name(self): - return "sys-img-{}-{}-{}-{}.zip".format( - self.tag, self.api, self.letter, self.abi + suffix = "-ps16k" if self.is_16k else "" + return "sys-img-{}-{}-{}-{}{}.zip".format( + self.tag, self.api, self.letter, self.abi, suffix ) def download(self, dest=Path.cwd()): dest = dest / self.download_name() + variant = " ps16k" if self.is_16k else "" print( - f"Downloading system image: {self.tag} {self.api} {self.letter} {self.abi} to {dest}" + f"Downloading system image: {self.tag} {self.api} {self.letter} {self.abi}{variant} to {dest}" ) return super(SysImgInfo, self).download(self.url, dest) def __str__(self): - return "{} {} {}".format(self.letter, self.tag, self.abi) + suffix = " ps16k" if self.is_16k else "" + return "{} {} {}{}".format(self.letter, self.tag, self.abi, suffix) class EmuInfo(LicensedObject): @@ -246,17 +284,24 @@ def get_images_info(arm=False): xml = [ET.fromstring(x).findall("remotePackage") for x in xml] # Flatten the list of lists into a system image objects. infos = [SysImgInfo(item, licenses) for sublist in xml for item in sublist] - # Filter only for intel images that we know that work + # Drop pre-release builds (Baklava / CinnamonBun / CANARY etc.) and + # ext-SDK images (api-level "36x" etc.) to keep the list uncluttered. + infos = [info for info in infos if not info.is_preview and not info.is_ext_sdk] + # Filter only for intel images that we know that work. Filtering on + # the integer api_major so new API levels don't need a code change. x86_64_imgs = [ - info for info in infos if info.abi == "x86_64" and info.letter >= MIN_REL_X64 + info for info in infos if info.abi == "x86_64" and info.api_major >= MIN_API_X64 ] x86_imgs = [ - info for info in infos if info.abi == "x86" and info.letter >= MIN_REL_I386 + info for info in infos if info.abi == "x86" and info.api_major >= MIN_API_I386 ] slow = [] if arm: slow = [info for info in infos if info.abi.startswith("arm")] - all_imgs = sorted(x86_64_imgs + x86_imgs + slow, key=lambda x: x.api + x.tag) + all_imgs = sorted( + x86_64_imgs + x86_imgs + slow, + key=lambda x: (x.api_major, x.api, x.tag, x.abi, x.is_16k), + ) # Filter out windows/darwin images. return [i for i in all_imgs if "windows" not in i.url and "darwin" not in i.url] @@ -332,7 +377,7 @@ def select_image(arm): Returns a SysImgInfo object with the choice or None if the user aborts.""" img_infos = get_images_info(arm) display = [ - f"{img_info.api} {img_info.letter} {img_info.tag} ({img_info.abi})" + f"{img_info.api} {img_info.letter} {img_info.tag} ({img_info.abi}){' ps16k' if img_info.is_16k else ''}" for img_info in img_infos ] @@ -360,9 +405,15 @@ def list_all_downloads(arm): emu_infos = get_emus_info() for img_info in img_infos: + variant = " ps16k" if img_info.is_16k else "" print( - "SYSIMG {} {} {} {} {}".format( - img_info.letter, img_info.tag, img_info.abi, img_info.api, img_info.url + "SYSIMG {} {} {} {}{} {}".format( + img_info.letter, + img_info.tag, + img_info.abi, + img_info.api, + variant, + img_info.url, ) ) diff --git a/emu/templates/Dockerfile.system_image b/emu/templates/Dockerfile.system_image index 0ae3d8b0..a0c40153 100644 --- a/emu/templates/Dockerfile.system_image +++ b/emu/templates/Dockerfile.system_image @@ -48,7 +48,8 @@ LABEL maintainer="{{user}}" \ qemu.tag="{{qemu_tag}}" \ qemu.cpu="{{qemu_cpu}}" \ qemu.short_tag="{{qemu_short_tag}}" \ - qemu.short_abi="{{qemu_short_abi}}" + qemu.short_abi="{{qemu_short_abi}}" \ + qemu.is_16k="{{qemu_is_16k}}" # We adopt the following naimg convention -- # SystemImage.TagId in 'aosp', 'google', 'playstore'ß diff --git a/tests/test_emu_downloads_menu.py b/tests/test_emu_downloads_menu.py index 0e883880..ac9b0596 100644 --- a/tests/test_emu_downloads_menu.py +++ b/tests/test_emu_downloads_menu.py @@ -11,11 +11,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import tempfile -from pathlib import Path -import emu.emu_downloads_menu as menu import unittest.mock as mock -import pytest + +import emu.emu_downloads_menu as menu def test_do_not_download_existing(temp_dir, monkeypatch): @@ -45,68 +43,5 @@ def mock_get(url, timeout, stream): dest = temp_dir / "down.zip" dwnload = menu.download(url, dest) -<<<<<<< HEAD assert dwnload == dest assert dwnload.exists() -======= -class PlatformToolsTestCase(unittest.TestCase): - @mock.patch("zipfile.ZipFile") - def test_extract_unzips_something(self, mock_zip): - """Unzips adb""" - test_tool = menu.PlatformTools("/tmp/tools.zip") - test_tool.extract_adb("foo") - - mock_zip.assert_called_with("/tmp/tools.zip", "r") - zip_handle = mock_zip.return_value.__enter__.return_value - zip_handle.extract.assert_called_with("platform-tools/adb", "foo") - - - -class RetrieveEmulators(unittest.TestCase): - - FAKE_DATA="""\n\n\n\t\n\tTerms and Conditions\n\nThis is the Android Software Development Kit License Agreement\n\n1. Introduction\n\n1.1 The Android Software Development Kit (referred to in the License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of the License Agreement. The License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.\n\n1.2 "Android" means the Android software stack for devices, as made available under the Android Open Source Project, which is located at the following URL: http://source.android.com/, as updated from time to time.\n\n1.3 A "compatible implementation" means any Android device that (i) complies with the Android Compatibility Definition document, which can be found at the Android compatibility website (http://source.android.com/compatibility) and which may be updated from time to time; and (ii) successfully passes the Android Compatibility Test Suite (CTS).\n\n1.4 "Google" .... cense Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from the License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.\n\nJune 2014.\n\tstable\n\tbeta\n\tdev\n\tcanary\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t2\n\t\t\t5\n\t\t\n\t\tAndroid SDK Tools 25.2.5\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t20\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t277894900\n\t\t\t\t\t72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1\n\t\t\t\t\ttools_r25.2.5-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t25\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t19304418\n\t\t\t\t\t\t517a863b959e980f07540c30f86edc480bcfe161\n\t\t\t\t\t\tsdk-tools-3534729-3567187-linux-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t200529982\n\t\t\t\t\td2168d963ac5b616e3d3ddaf21511d084baf3659\n\t\t\t\t\ttools_r25.2.5-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t25\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t9855465\n\t\t\t\t\t\te36a420b9709a1281fe1770d86edecb33fcd658e\n\t\t\t\t\t\tsdk-tools-3534729-3567187-macosx-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t306785944\n\t\t\t\t\ta7f7ebeae1c8d8f62d3a8466e9c81baee7cc31ca\n\t\t\t\t\ttools_r25.2.5-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t25\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t18827794\n\t\t\t\t\t\t47022e7d6c87f3d481944f622525aee51dc4cda5\n\t\t\t\t\t\tsdk-tools-3534729-3567187-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 29\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t78271439\n\t\t\t\t\t670e2e104333dae90e16ea3b615f0b63da5883ae\n\t\t\t\t\tplatform-29_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tAndroid SDK Platform 29\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t78117502\n\t\t\t\t\tb1e10d134ac69f5e746e9be8015122b18d43c235\n\t\t\t\t\tplatform-29_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tAndroid SDK Platform 28\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t75565084\n\t\t\t\t\t9a4e52b1d55bd2e24216b150aafae2503d3efba6\n\t\t\t\t\tplatform-28_r06.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 27\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t65635348\n\t\t\t\t\t35f747e7e70b2d16e0e4246876be28d15ea1c353\n\t\t\t\t\tplatform-27_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 26\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t63623734\n\t\t\t\t\te4ae5d7aa557a3c827135838ee400da8443ac4ef\n\t\t\t\t\tplatform-26_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 25\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t85424763\n\t\t\t\t\t00c2c5765e8988504be10a1eb66ed71fcdbd7fe8\n\t\t\t\t\tplatform-25_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 24\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t82648154\n\t\t\t\t\t8912da3d4bfe7a9f28f0e5ce92d3a8dc96342aee\n\t\t\t\t\tplatform-24_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 23\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t70433421\n\t\t\t\t\t027fede3de6aa1649115bbd0bffff30ccd51c9a0\n\t\t\t\t\tplatform-23_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 22\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t66852371\n\t\t\t\t\t5d1bd10fea962b216a0dece1247070164760a9fc\n\t\t\t\t\tandroid-22_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 21\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t65897960\n\t\t\t\t\t53536556059bb29ae82f414fd2e14bc335a4eb4c\n\t\t\t\t\tandroid-21_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 20\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t63567784\n\t\t\t\t\ta9251f8a3f313ab05834a07a963000927637e01d\n\t\t\t\t\tandroid-20_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tAndroid SDK Platform 19\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t63871092\n\t\t\t\t\t2ff20d89e68f2f5390981342e009db5a2d456aaa\n\t\t\t\t\tandroid-19_r04.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 18\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57771739\n\t\t\t\t\te6b09b3505754cbbeb4a5622008b907262ee91cb\n\t\t\t\t\tandroid-18_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 17\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57030216\n\t\t\t\t\tdbe14101c06e6cdb34e300393e64e64f8c92168a\n\t\t\t\t\tandroid-17_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t16\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tAndroid SDK Platform 16\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t48128695\n\t\t\t\t\t12a5ce6235a76bc30f62c26bda1b680e336abd07\n\t\t\t\t\tandroid-16_r05.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t15\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tAndroid SDK Platform 15\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t44533475\n\t\t\t\t\t69ab4c443b37184b2883af1fd38cc20cbeffd0f3\n\t\t\t\t\tandroid-15_r05.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t14\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tAndroid SDK Platform 14\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t46038082\n\t\t\t\t\td4f1d8fbca25225b5f0e7a0adf0d39c3d6e60b3c\n\t\t\t\t\tandroid-14_r04.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t13\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tAndroid SDK Platform 13\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t108426536\n\t\t\t\t\t6189a500a8c44ae73a439604363de93591163cd9\n\t\t\t\t\tandroid-3.2_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t12\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 12\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t106472351\n\t\t\t\t\t4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf\n\t\t\t\t\tandroid-3.1_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t11\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 11\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t104513908\n\t\t\t\t\t2c7d4bd13f276e76f6bbd87315fe27aba351dd37\n\t\t\t\t\tandroid-3.0_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t10\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 10\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t85470907\n\t\t\t\t\t887e37783ec32f541ea33c2c649dda648e8e6fb3\n\t\t\t\t\tandroid-2.3.3_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t9\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tAndroid SDK Platform 9\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t78732563\n\t\t\t\t\t209f8a7a8b2cb093fce858b8b55fed3ba5206773\n\t\t\t\t\tandroid-2.3.1_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t8\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 8\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t74652366\n\t\t\t\t\t231262c63eefdff8fd0386e9ccfefeb27a8f9202\n\t\t\t\t\tandroid-2.2_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t7\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 7\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t70142829\n\t\t\t\t\t5ce51b023ac19f8738500b1007a1da5de2349a1e\n\t\t\t\t\tandroid-2.1_r03.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t6\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tAndroid SDK Platform 6\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t79192618\n\t\t\t\t\tce2c971dce352aa28af06bda92a070116aa5ae1a\n\t\t\t\t\tandroid-2.0.1_r01-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t79035527\n\t\t\t\t\tc3096f80d75a6fc8cb38ef8a18aec920e53d42c0\n\t\t\t\t\tandroid-2.0.1_r01-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t80385601\n\t\t\t\t\t255781ebe4509d9707d0e77edda2815e2bc216e6\n\t\t\t\t\tandroid-2.0.1_r01-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t5\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tAndroid SDK Platform 5\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t75095268\n\t\t\t\t\tbe9be6a99ca32875c96ec7f91160ca9fce7e3c7d\n\t\t\t\t\tandroid-2.0_r01-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t74956356\n\t\t\t\t\t2a866d0870dbba18e0503cd41e5fae988a21b314\n\t\t\t\t\tandroid-2.0_r01-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t76288040\n\t\t\t\t\taeb623217ff88b87216d6eb7dbc846ed53f68f57\n\t\t\t\t\tandroid-2.0_r01-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t4\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\n\t\tAndroid SDK Platform 4\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t63454485\n\t\t\t\t\t483ed088e45bbdf3444baaf9250c8b02e5383cb0\n\t\t\t\t\tandroid-1.6_r03-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t62418496\n\t\t\t\t\tbdafad44f5df9f127979bdb21a1fdd87ee3cd625\n\t\t\t\t\tandroid-1.6_r03-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t64654625\n\t\t\t\t\tce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22\n\t\t\t\t\tandroid-1.6_r03-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tAndroid SDK Platform 3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53348669\n\t\t\t\t\t5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c\n\t\t\t\t\tandroid-1.5_r04-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t52440607\n\t\t\t\t\td3a67c2369afa48b6c3c7624de5031c262018d1e\n\t\t\t\t\tandroid-1.5_r04-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54624370\n\t\t\t\t\t5bb106d2e40d481edd337b0833093843e15fe49a\n\t\t\t\t\tandroid-1.5_r04-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tAndroid SDK Platform 2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t45476658\n\t\t\t\t\tc054d25c9b4c6251fa49c2f9c54336998679d3fe\n\t\t\t\t\tandroid-1.1_r1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t45584305\n\t\t\t\t\te21dbcff45b7356657449ebb3c7e941be2bb5ebe\n\t\t\t\t\tandroid-1.1_r1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t46828615\n\t\t\t\t\ta4060f29ed39fc929c302836d488998c53c3002e\n\t\t\t\t\tandroid-1.1_r1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 29\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39477018\n\t\t\t\t\td0ad249e152b3a8fe3cb7c4a329453a048be29e4\n\t\t\t\t\tsources-29_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 28\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t42552241\n\t\t\t\t\t5610e0c24235ee3fa343c899ddd551be30315255\n\t\t\t\t\tsources-28_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 27\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t36997618\n\t\t\t\t\t7b714670561d08f54751af42aca929867b806596\n\t\t\t\t\tsources-27_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 26\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t35138547\n\t\t\t\t\t2af701ee3223d580409288540b1d06932fd8f9b9\n\t\t\t\t\tsources-26_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 25\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t30822685\n\t\t\t\t\tbbc72efd1a9bad87cc507e308f0d29aad438c52c\n\t\t\t\t\tsources-25_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 24\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t30270410\n\t\t\t\t\t6b96115830a83d654479f32ce4b724ca9011148b\n\t\t\t\t\tsources-24_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 23\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t31771965\n\t\t\t\t\tb0f15da2762b42f543c5e364c2b15b198cc99cc2\n\t\t\t\t\tsources-23_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 22\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t28861236\n\t\t\t\t\t98320e13976d11597a4a730a8d203ac9a03ed5a6\n\t\t\t\t\tsources-22_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 21\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t28274751\n\t\t\t\t\t137a5044915d32bea297a8c1552684802bbc2e25\n\t\t\t\t\tsources-21_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 20\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t23367603\n\t\t\t\t\t8da3e40f2625f9f7ef38b7e403f49f67226c0d76\n\t\t\t\t\tsources-20_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tSources for Android 19\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21819439\n\t\t\t\t\t433a1d043ef77561571250e94cb7a0ef24a202e7\n\t\t\t\t\tsources-19_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 18\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20226735\n\t\t\t\t\t8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78\n\t\t\t\t\tsources-18_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 17\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t18976816\n\t\t\t\t\t6f1f18cd2d2b1852d7f6892df9cee3823349d43a\n\t\t\t\t\tsources-17_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t16\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tSources for Android 16\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t17876720\n\t\t\t\t\t0f83c14ed333c45d962279ab5d6bc98a0269ef84\n\t\t\t\t\tsources-16_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t15\n\t\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tSources for Android 15\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t16468746\n\t\t\t\t\te5992a5747c9590783fbbdd700337bf0c9f6b1fa\n\t\t\t\t\tsources-15_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t14\n\t\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSources for Android 14\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t16152383\n\t\t\t\t\teaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555\n\t\t\t\t\tsources-14_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t0\n\t\t\t5935234\n\t\t\n\t\tNDK (Side by side) 21.0.5935234\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t1002920052\n\t\t\t\t\t14b45877e6e09d1c88c75709b3dcaf8055f16efd\n\t\t\t\t\tandroid-ndk-r21-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t1090223430\n\t\t\t\t\t9c20b1095124f15a8ed3f7349f1ccb69ec66e891\n\t\t\t\t\tandroid-ndk-r21-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t1057163708\n\t\t\t\t\tb06620b1fbc5c9be93ab6d34e2051cf72c08b56d\n\t\t\t\t\tandroid-ndk-r21-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t1\n\t\t\t5948944\n\t\t\n\t\tNDK (Side by side) 20.1.5948944\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t843201217\n\t\t\t\t\tb51290ab69cb89de1f0ba108702277bc333b38be\n\t\t\t\t\tandroid-ndk-r20b-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t859780564\n\t\t\t\t\td903fdf077039ad9331fb6c3bee78aa46d45527b\n\t\t\t\t\tandroid-ndk-r20b-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t814464692\n\t\t\t\t\t71a1ba20475da1d83b0f1a1826813008f628d59b\n\t\t\t\t\tandroid-ndk-r20b-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t832473103\n\t\t\t\t\tead0846608040b8344ad2bc9bc721b88cf13fb8d\n\t\t\t\t\tandroid-ndk-r20b-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t0\n\t\t\t5594570\n\t\t\n\t\tNDK (Side by side) 20.0.5594570\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t843152912\n\t\t\t\t\t96d5f1c50452596912d1982439c514194b5751e6\n\t\t\t\t\tandroid-ndk-r20-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t859737910\n\t\t\t\t\t8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff\n\t\t\t\t\tandroid-ndk-r20-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t814417431\n\t\t\t\t\tb605f7e2e7585af2fc9d59fe9ddad86b64b2bf03\n\t\t\t\t\tandroid-ndk-r20-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t832429986\n\t\t\t\t\t36e1dc77fad08ad2498fb94b13ad8caf26bbd9df\n\t\t\t\t\tandroid-ndk-r20-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t0\n\t\t\t5471264\n\t\t\t3\n\t\t\n\t\tNDK (Side by side) 20.0.5471264\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t843617071\n\t\t\t\t\t665a035cadb0dd03e6502ba25c18643f6e4ede24\n\t\t\t\t\tandroid-ndk-r20-beta3-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t860198768\n\t\t\t\t\t674d8fb0e0df8e8be1c31fa321eb176548a19ba3\n\t\t\t\t\tandroid-ndk-r20-beta3-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t814872365\n\t\t\t\t\tf9d1c5366ee5bf4927ac1c18f06143550b492e92\n\t\t\t\t\tandroid-ndk-r20-beta3-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t832889871\n\t\t\t\t\t9375dc82cf576f4a255bf908dfc628d8ddee0d89\n\t\t\t\t\tandroid-ndk-r20-beta3-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t0\n\t\t\t5392854\n\t\t\t2\n\t\t\n\t\tNDK (Side by side) 20.0.5392854\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t840834121\n\t\t\t\t\tcd94191ace6b31ec9af1cc370173e16934e1cb8b\n\t\t\t\t\tandroid-ndk-r20-beta2-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t857406412\n\t\t\t\t\t8285ae2e24a7232fd0cbfb55e955c8586ef2ee02\n\t\t\t\t\tandroid-ndk-r20-beta2-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t812086484\n\t\t\t\t\t15a8085b8ce5ecf0705ded2335513055693bddaa\n\t\t\t\t\tandroid-ndk-r20-beta2-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t830099430\n\t\t\t\t\tc89022bd9a2c32b42a1b94e98bbd88ab4c4e350e\n\t\t\t\t\tandroid-ndk-r20-beta2-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t2\n\t\t\t5345600\n\t\t\n\t\tNDK (Side by side) 19.2.5345600\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t807630656\n\t\t\t\t\tf46b8193109bba8a58e0461c1a48f4534051fb25\n\t\t\t\t\tandroid-ndk-r19c-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t823376982\n\t\t\t\t\tfd94d0be6017c6acbd193eb95e09cf4b6f61b834\n\t\t\t\t\tandroid-ndk-r19c-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t778598286\n\t\t\t\t\t132cc0c9e31b9e58ad6505b0816ff9e524422ed2\n\t\t\t\t\tandroid-ndk-r19c-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t796051997\n\t\t\t\t\tc4cd8c0b6e7618ca0a871a5f24102e40c239f6a3\n\t\t\t\t\tandroid-ndk-r19c-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t0\n\t\t\t5232133\n\t\t\n\t\tNDK (Side by side) 19.0.5232133\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t807592927\n\t\t\t\t\t86c1a962601b23b8a6d3d535c93b4b0bc4f29249\n\t\t\t\t\tandroid-ndk-r19-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t823337344\n\t\t\t\t\tf02ad84cb5b6e1ff3eea9e6168037c823408c8ac\n\t\t\t\t\tandroid-ndk-r19-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t778544468\n\t\t\t\t\t281175a42b312d630f864a02a31c5806ada5663b\n\t\t\t\t\tandroid-ndk-r19-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t795986424\n\t\t\t\t\t37906e8e79a9dddf6805325f706a072055e4136c\n\t\t\t\t\tandroid-ndk-r19-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t1\n\t\t\t5063045\n\t\t\n\t\tNDK (Side by side) 18.1.5063045\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t542911996\n\t\t\t\t\t98cb9909aa8c2dab32db188bbdc3ac6207e09440\n\t\t\t\t\tandroid-ndk-r18b-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t557038702\n\t\t\t\t\t500679655da3a86aecf67007e8ab230ea9b4dd7b\n\t\t\t\t\tandroid-ndk-r18b-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t504605336\n\t\t\t\t\t4b8b6a4edc0fa967b429c1d6d25adf69acc28803\n\t\t\t\t\tandroid-ndk-r18b-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t522489470\n\t\t\t\t\t6b6d4138aaaad7166679fdfa4780e177f95cee6f\n\t\t\t\t\tandroid-ndk-r18b-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t2\n\t\t\t4988734\n\t\t\n\t\tNDK (Side by side) 17.2.4988734\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t675091485\n\t\t\t\t\tf97e3d7711497e3b4faf9e7b3fa0f0da90bb649c\n\t\t\t\t\tandroid-ndk-r17c-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t709387703\n\t\t\t\t\t12cacc70c3fd2f40574015631c00f41fb8a39048\n\t\t\t\t\tandroid-ndk-r17c-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t608358310\n\t\t\t\t\t5bb25bf13fa494ee6c3433474c7aa90009f9f6a9\n\t\t\t\t\tandroid-ndk-r17c-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t650626501\n\t\t\t\t\t3e3b8d1650f9d297d130be2b342db956003f5992\n\t\t\t\t\tandroid-ndk-r17c-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t16\n\t\t\t1\n\t\t\t4479499\n\t\t\n\t\tNDK (Side by side) 16.1.4479499\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t839630771\n\t\t\t\t\te51e615449b98c716cf912057e2682e75d55e2de\n\t\t\t\t\tandroid-ndk-r16b-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t852525873\n\t\t\t\t\t42aa43aae89a50d1c66c3f9fdecd676936da6128\n\t\t\t\t\tandroid-ndk-r16b-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t656720029\n\t\t\t\t\tbecaf3d445a4877ca1a9300a62f0934a4838c7fa\n\t\t\t\t\tandroid-ndk-r16b-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t723301086\n\t\t\t\t\tf3f1909ed1052e98dda2c79d11c22f3da28daf25\n\t\t\t\t\tandroid-ndk-r16b-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t0\n\t\t\t5935234\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t1002920052\n\t\t\t\t\t14b45877e6e09d1c88c75709b3dcaf8055f16efd\n\t\t\t\t\tandroid-ndk-r21-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t1090223430\n\t\t\t\t\t9c20b1095124f15a8ed3f7349f1ccb69ec66e891\n\t\t\t\t\tandroid-ndk-r21-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t1057163708\n\t\t\t\t\tb06620b1fbc5c9be93ab6d34e2051cf72c08b56d\n\t\t\t\t\tandroid-ndk-r21-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t1\n\t\t\t5948944\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t843201217\n\t\t\t\t\tb51290ab69cb89de1f0ba108702277bc333b38be\n\t\t\t\t\tandroid-ndk-r20b-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t859780564\n\t\t\t\t\td903fdf077039ad9331fb6c3bee78aa46d45527b\n\t\t\t\t\tandroid-ndk-r20b-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t814464692\n\t\t\t\t\t71a1ba20475da1d83b0f1a1826813008f628d59b\n\t\t\t\t\tandroid-ndk-r20b-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t832473103\n\t\t\t\t\tead0846608040b8344ad2bc9bc721b88cf13fb8d\n\t\t\t\t\tandroid-ndk-r20b-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t0\n\t\t\t5594570\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t843152912\n\t\t\t\t\t96d5f1c50452596912d1982439c514194b5751e6\n\t\t\t\t\tandroid-ndk-r20-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t859737910\n\t\t\t\t\t8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff\n\t\t\t\t\tandroid-ndk-r20-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t814417431\n\t\t\t\t\tb605f7e2e7585af2fc9d59fe9ddad86b64b2bf03\n\t\t\t\t\tandroid-ndk-r20-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t832429986\n\t\t\t\t\t36e1dc77fad08ad2498fb94b13ad8caf26bbd9df\n\t\t\t\t\tandroid-ndk-r20-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t0\n\t\t\t5471264\n\t\t\t3\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t843617071\n\t\t\t\t\t665a035cadb0dd03e6502ba25c18643f6e4ede24\n\t\t\t\t\tandroid-ndk-r20-beta3-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t860198768\n\t\t\t\t\t674d8fb0e0df8e8be1c31fa321eb176548a19ba3\n\t\t\t\t\tandroid-ndk-r20-beta3-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t814872365\n\t\t\t\t\tf9d1c5366ee5bf4927ac1c18f06143550b492e92\n\t\t\t\t\tandroid-ndk-r20-beta3-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t832889871\n\t\t\t\t\t9375dc82cf576f4a255bf908dfc628d8ddee0d89\n\t\t\t\t\tandroid-ndk-r20-beta3-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t0\n\t\t\t5392854\n\t\t\t2\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t840834121\n\t\t\t\t\tcd94191ace6b31ec9af1cc370173e16934e1cb8b\n\t\t\t\t\tandroid-ndk-r20-beta2-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t857406412\n\t\t\t\t\t8285ae2e24a7232fd0cbfb55e955c8586ef2ee02\n\t\t\t\t\tandroid-ndk-r20-beta2-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t812086484\n\t\t\t\t\t15a8085b8ce5ecf0705ded2335513055693bddaa\n\t\t\t\t\tandroid-ndk-r20-beta2-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t830099430\n\t\t\t\t\tc89022bd9a2c32b42a1b94e98bbd88ab4c4e350e\n\t\t\t\t\tandroid-ndk-r20-beta2-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t2\n\t\t\t5345600\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t807630656\n\t\t\t\t\tf46b8193109bba8a58e0461c1a48f4534051fb25\n\t\t\t\t\tandroid-ndk-r19c-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t823376982\n\t\t\t\t\tfd94d0be6017c6acbd193eb95e09cf4b6f61b834\n\t\t\t\t\tandroid-ndk-r19c-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t778598286\n\t\t\t\t\t132cc0c9e31b9e58ad6505b0816ff9e524422ed2\n\t\t\t\t\tandroid-ndk-r19c-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t796051997\n\t\t\t\t\tc4cd8c0b6e7618ca0a871a5f24102e40c239f6a3\n\t\t\t\t\tandroid-ndk-r19c-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t0\n\t\t\t5232133\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t807592927\n\t\t\t\t\t86c1a962601b23b8a6d3d535c93b4b0bc4f29249\n\t\t\t\t\tandroid-ndk-r19-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t823337344\n\t\t\t\t\tf02ad84cb5b6e1ff3eea9e6168037c823408c8ac\n\t\t\t\t\tandroid-ndk-r19-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t778544468\n\t\t\t\t\t281175a42b312d630f864a02a31c5806ada5663b\n\t\t\t\t\tandroid-ndk-r19-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t795986424\n\t\t\t\t\t37906e8e79a9dddf6805325f706a072055e4136c\n\t\t\t\t\tandroid-ndk-r19-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t1\n\t\t\t5063045\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t542911996\n\t\t\t\t\t98cb9909aa8c2dab32db188bbdc3ac6207e09440\n\t\t\t\t\tandroid-ndk-r18b-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t557038702\n\t\t\t\t\t500679655da3a86aecf67007e8ab230ea9b4dd7b\n\t\t\t\t\tandroid-ndk-r18b-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t504605336\n\t\t\t\t\t4b8b6a4edc0fa967b429c1d6d25adf69acc28803\n\t\t\t\t\tandroid-ndk-r18b-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t522489470\n\t\t\t\t\t6b6d4138aaaad7166679fdfa4780e177f95cee6f\n\t\t\t\t\tandroid-ndk-r18b-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t2\n\t\t\t4988734\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t675091485\n\t\t\t\t\tf97e3d7711497e3b4faf9e7b3fa0f0da90bb649c\n\t\t\t\t\tandroid-ndk-r17c-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t709387703\n\t\t\t\t\t12cacc70c3fd2f40574015631c00f41fb8a39048\n\t\t\t\t\tandroid-ndk-r17c-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t608358310\n\t\t\t\t\t5bb25bf13fa494ee6c3433474c7aa90009f9f6a9\n\t\t\t\t\tandroid-ndk-r17c-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t650626501\n\t\t\t\t\t3e3b8d1650f9d297d130be2b342db956003f5992\n\t\t\t\t\tandroid-ndk-r17c-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t16\n\t\t\t1\n\t\t\t4479499\n\t\t\n\t\tNDK\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t839630771\n\t\t\t\t\te51e615449b98c716cf912057e2682e75d55e2de\n\t\t\t\t\tandroid-ndk-r16b-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t852525873\n\t\t\t\t\t42aa43aae89a50d1c66c3f9fdecd676936da6128\n\t\t\t\t\tandroid-ndk-r16b-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t656720029\n\t\t\t\t\tbecaf3d445a4877ca1a9300a62f0934a4838c7fa\n\t\t\t\t\tandroid-ndk-r16b-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t723301086\n\t\t\t\t\tf3f1909ed1052e98dda2c79d11c22f3da28daf25\n\t\t\t\t\tandroid-ndk-r16b-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\t1\n\t\t\t4508709\n\t\t\n\t\tLLDB 3.1\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t35355966\n\t\t\t\t\t2b37aa55b81a7e5b8a369febf1ac0bad6c7c5d58\n\t\t\t\t\tlldb-3.1.4508709-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t43545750\n\t\t\t\t\t462711c9ee94fec9ff8be5fa8180afec04d1af6f\n\t\t\t\t\tlldb-3.1.4508709-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t35619130\n\t\t\t\t\t8e54b7123084fa9e4e3b890626c5671b7552450f\n\t\t\t\t\tlldb-3.1.4508709-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\t0\n\t\t\t4213617\n\t\t\n\t\tLLDB 3.0\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t34424273\n\t\t\t\t\t2492651690a215317b86c755cd4d584ec9838677\n\t\t\t\t\tlldb-3.0.4213617-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t42550577\n\t\t\t\t\t61d49b6a58953faa61546d631409af5f60d8d9db\n\t\t\t\t\tlldb-3.0.4213617-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t35631071\n\t\t\t\t\t3939e78a1a63e6d8006b4ef939007886d66cc3f6\n\t\t\t\t\tlldb-3.0.4213617-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\t3\n\t\t\t3614996\n\t\t\n\t\tLLDB 2.3\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t42696025\n\t\t\t\t\t6b0df112c7b9fa41654497fde2fcce990c831e52\n\t\t\t\t\tlldb-2.3.3614996-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t3420744\n\t\t\t\t\t\t\n\t\t\t\t\t\t12527247\n\t\t\t\t\t\td38c7cb6975373e00762688fbedc1b488818b125\n\t\t\t\t\t\tsdk-lldb-3420744-3614996-macosx-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t3549278\n\t\t\t\t\t\t\n\t\t\t\t\t\t2414490\n\t\t\t\t\t\td4047a04c0d2415d2214bdf6c54a3a66e886597b\n\t\t\t\t\t\tsdk-lldb-3549278-3614996-macosx-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t50785194\n\t\t\t\t\td7abe655650efe9f6989df31835fa3b3f95c2d13\n\t\t\t\t\tlldb-2.3.3614996-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t3420744\n\t\t\t\t\t\t\n\t\t\t\t\t\t14361033\n\t\t\t\t\t\t27c955d2cb3e5ca65b925faf20d3e23daf164eee\n\t\t\t\t\t\tsdk-lldb-3420744-3614996-linux-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t3549278\n\t\t\t\t\t\t\n\t\t\t\t\t\t266899\n\t\t\t\t\t\tdd69b59c4afafe6b701265e6a1433255d5a3a637\n\t\t\t\t\t\tsdk-lldb-3549278-3614996-linux-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39794792\n\t\t\t\t\tf1ade0f54a6af82ef0cebde03ebf0bb12ae9767d\n\t\t\t\t\tlldb-2.3.3614996-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t3420744\n\t\t\t\t\t\t\n\t\t\t\t\t\t6728325\n\t\t\t\t\t\t755f1d350b05716e0b1f21abb5987e3826b953a4\n\t\t\t\t\t\tsdk-lldb-3420744-3614996-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t3549278\n\t\t\t\t\t\t\n\t\t\t\t\t\t1737190\n\t\t\t\t\t\tfb6dedb071921dc9e656283384bf2144f5a1a039\n\t\t\t\t\t\tsdk-lldb-3549278-3614996-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\t2\n\t\t\t3271982\n\t\t\n\t\tLLDB 2.2\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t46265029\n\t\t\t\t\t62089f4e35775e6cedb82d1fa377fdc1de898005\n\t\t\t\t\tlldb-2.2.3271982-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3094112\n\t\t\t\t\t\t\n\t\t\t\t\t\t4912023\n\t\t\t\t\t\t9e2e0965f66bf26ebe0b79451dd0fcc7f7cefebe\n\t\t\t\t\t\tsdk-lldb-3094112-3271982-macosx-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3070101\n\t\t\t\t\t\t\n\t\t\t\t\t\t8307213\n\t\t\t\t\t\t66e96e75eb1a95bc2c1c9e38e9fc6fed7a7b62c4\n\t\t\t\t\t\tsdk-lldb-3070101-3271982-macosx-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49929306\n\t\t\t\t\t413649617d97dd9ef163528f64c0500e1b7c4113\n\t\t\t\t\tlldb-2.2.3271982-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3094112\n\t\t\t\t\t\t\n\t\t\t\t\t\t6255045\n\t\t\t\t\t\td18fb5c98e8329f32a21e2fbd83984595cf8e400\n\t\t\t\t\t\tsdk-lldb-3094112-3271982-linux-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3070101\n\t\t\t\t\t\t\n\t\t\t\t\t\t7009444\n\t\t\t\t\t\t26a4d50e7de503dc036c63b3826feecae073c2ac\n\t\t\t\t\t\tsdk-lldb-3070101-3271982-linux-64-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38944200\n\t\t\t\t\t7ee86628e6e25d84f2b4244efe587f2ca2e3af79\n\t\t\t\t\tlldb-2.2.3271982-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3094112\n\t\t\t\t\t\t\n\t\t\t\t\t\t3146883\n\t\t\t\t\t\t9cdf0ab0d0adfc61ae8063753f4093e5c2871d0f\n\t\t\t\t\t\tsdk-lldb-3094112-3271982-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t3070101\n\t\t\t\t\t\t\n\t\t\t\t\t\t3123476\n\t\t\t\t\t\teb7621d72ba76ce7371d3ac303f24a4d24ab2865\n\t\t\t\t\t\tsdk-lldb-3070101-3271982-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\t1\n\t\t\t2852477\n\t\t\n\t\tLLDB 2.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t72306262\n\t\t\t\t\td1e33880a53f1aa8c7e73534adef83a06f091185\n\t\t\t\t\tlldb-2.1.2852477-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t73168196\n\t\t\t\t\teb9b96d320210fdfe82495b0597ad43e77f1c240\n\t\t\t\t\tlldb-2.1.2852477-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t64979959\n\t\t\t\t\t1d9c7d3db1e90587be15c9e79db6bd2881c65387\n\t\t\t\t\tlldb-2.1.2852477-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t64979959\n\t\t\t\t\t1d9c7d3db1e90587be15c9e79db6bd2881c65387\n\t\t\t\t\tlldb-2.1.2852477-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t2\n\t\t\t0\n\t\t\t2558144\n\t\t\n\t\tLLDB 2.0\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t69262856\n\t\t\t\t\td92e2f4c8284413eed4f27986e62b167d947033c\n\t\t\t\t\tlldb-2.0.2558144-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t73674658\n\t\t\t\t\te7060d9b2ba58b28fd7b1a0ea85a151c8371a326\n\t\t\t\t\tlldb-2.0.2558144-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t65648183\n\t\t\t\t\t86fd4676dfb587efe8e84face780d6e8241c0b3a\n\t\t\t\t\tlldb-2.0.2558144-windows-x86.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t65648183\n\t\t\t\t\t86fd4676dfb587efe8e84face780d6e8241c0b3a\n\t\t\t\t\tlldb-2.0.2558144-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 29.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t41678888\n\t\t\t\t\tc0fc7e5c37ac96bfd0c611802e8ab36d0e71b398\n\t\t\t\t\tbuild-tools_r29.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t40848529\n\t\t\t\t\tf781d9e03d5c2debcf51fed3792ee7a9d066723f\n\t\t\t\t\tbuild-tools_r29.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t40159970\n\t\t\t\t\t595dc1730c844d892516d5f0e7894e992d19f63d\n\t\t\t\t\tbuild-tools_r29.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 29.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t41682816\n\t\t\t\t\tfc209e5d91ab2daeac24345a5cb17261940547e4\n\t\t\t\t\tbuild-tools_r29.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t40852521\n\t\t\t\t\t46ae9b1d1e2a67241d7da9c2cd8eae42f24cc6cd\n\t\t\t\t\tbuild-tools_r29.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t40163897\n\t\t\t\t\t1c44e10d5f74e58c3e05bfc6f1631a59616059bc\n\t\t\t\t\tbuild-tools_r29.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 29\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t58650449\n\t\t\t\t\tad314caf1802209c4b00a5f3517af5ceb0d48eae\n\t\t\t\t\tbuild-tools_r29-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57820193\n\t\t\t\t\t35dc6bc7a53bd9d206847e72f02cab21cfdaa869\n\t\t\t\t\tbuild-tools_r29-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57098799\n\t\t\t\t\t1799f7f975416098e5a5bf280eb97c8f77cf7f79\n\t\t\t\t\tbuild-tools_r29-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t0\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 29-rc3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t58639871\n\t\t\t\t\t8b7177f198e8b92da8f9537aaf859f6edf222b01\n\t\t\t\t\tbuild-tools_r29-rc3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57810162\n\t\t\t\t\t643e8d76625f6e2cfcd5494e50bae5e14725ec0c\n\t\t\t\t\tbuild-tools_r29-rc3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57092256\n\t\t\t\t\t6abce2ebfecf3580afd3129520999f95691a03df\n\t\t\t\t\tbuild-tools_r29-rc3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t0\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 29-rc2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t58602830\n\t\t\t\t\tb4b41d429c35b42db07b6c65d4aa998ba8c4093c\n\t\t\t\t\tbuild-tools_r29-rc2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57785717\n\t\t\t\t\t7a960367999169ccac5dbc60817e5f1725c4c738\n\t\t\t\t\tbuild-tools_r29-rc2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57000706\n\t\t\t\t\t2de2a3e290cae4ce35e82c8a5abed49b1cdd24e3\n\t\t\t\t\tbuild-tools_r29-rc2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t0\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 29-rc1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t58516671\n\t\t\t\t\t1c897f5885ac5468613e40e1ea598c21c05d345d\n\t\t\t\t\tbuild-tools_r29-rc1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57704927\n\t\t\t\t\tf066c0d9ea2f0d8a0a9cc7b2ca0a467a570ab034\n\t\t\t\t\tbuild-tools_r29-rc1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t56933956\n\t\t\t\t\t8887ee791a143f92694a0908130354142a903b17\n\t\t\t\t\tbuild-tools_r29-rc1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 28.0.3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57830695\n\t\t\t\t\tea6f2f7103cd9da9ff0bdf6e37fbbba548fa4165\n\t\t\t\t\tbuild-tools_r28.0.3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57133581\n\t\t\t\t\tf8c333a2991b1ab05a671bc6248b78e00edcd83a\n\t\t\t\t\tbuild-tools_r28.0.3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t58393729\n\t\t\t\t\t05bd35bb48d11c848da2b393c6f864eb609aacba\n\t\t\t\t\tbuild-tools_r28.0.3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 28.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57754663\n\t\t\t\t\tb4492209810a3fd48deaa982f9852fef12433d55\n\t\t\t\t\tbuild-tools_r28.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57057554\n\t\t\t\t\tc10dd5a7825578622fb362a8a34f76eb3ba0c0a9\n\t\t\t\t\tbuild-tools_r28.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t58317692\n\t\t\t\t\te9c570c568a0c2a32e88ee3204279019ebefd949\n\t\t\t\t\tbuild-tools_r28.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 28.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t57610954\n\t\t\t\t\tee70dfa1fccb58b37cebc9544830511f36a137a0\n\t\t\t\t\tbuild-tools_r28.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t56913869\n\t\t\t\t\taeef42ad953f1630dd6f5d71eefdc0b825211462\n\t\t\t\t\tbuild-tools_r28.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t58173989\n\t\t\t\t\t29c6342835734be25b9e458ab3fad5750ad6a355\n\t\t\t\t\tbuild-tools_r28.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 28\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t37157769\n\t\t\t\t\td9f8a754d833ccd334f56fcc6089c5925cd82abb\n\t\t\t\t\tbuild-tools_r28-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t36458977\n\t\t\t\t\t72088d32d1d82cc3c2cf7cf6618b6130c0c84ade\n\t\t\t\t\tbuild-tools_r28-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t37718995\n\t\t\t\t\td4b0638a877ed570e07876264e69fdbd86409610\n\t\t\t\t\tbuild-tools_r28-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t0\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 28-rc2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t37151124\n\t\t\t\t\tefe9c0dde0646a07544c864276390ca6e96b24dc\n\t\t\t\t\tbuild-tools_r28-rc2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t36449480\n\t\t\t\t\t0d0314b353589feb10e528b44c5a685b6658d797\n\t\t\t\t\tbuild-tools_r28-rc2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t37716459\n\t\t\t\t\ta94bfb52b4ec74b95c116236c3e382e923cad6c4\n\t\t\t\t\tbuild-tools_r28-rc2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t0\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 28-rc1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38703535\n\t\t\t\t\t1601977fae25fd478bcfaa0481ca5ea3c609d840\n\t\t\t\t\tbuild-tools_r28-rc1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38004795\n\t\t\t\t\t2c77821967a2330b7b227072d0b1c02ef19fe2fc\n\t\t\t\t\tbuild-tools_r28-rc1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39273232\n\t\t\t\t\tfbf46c33d1268f6532911707b2a05033fd5c5b41\n\t\t\t\t\tbuild-tools_r28-rc1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 27.0.3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54478554\n\t\t\t\t\td85e7a6320eddffe7eeace3437605079dac938ca\n\t\t\t\t\tbuild-tools_r27.0.3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53867966\n\t\t\t\t\t61d9fb18790c68d66ff73bf1e7ad56bc1f1eef2d\n\t\t\t\t\tbuild-tools_r27.0.3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t55194255\n\t\t\t\t\t0df61e11713a2838d2cc9a911219dddf5e6a2749\n\t\t\t\t\tbuild-tools_r27.0.3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 27.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54458153\n\t\t\t\t\tb687ddf6be84f11607871138aad32cf857d0b837\n\t\t\t\t\tbuild-tools_r27.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53846615\n\t\t\t\t\t6d5d9cf2a47877f273f4b742b19e712a051a31be\n\t\t\t\t\tbuild-tools_r27.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t55173070\n\t\t\t\t\tb80466c13b75e3ebf3c546964f40775db5898b2a\n\t\t\t\t\tbuild-tools_r27.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 27.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54450260\n\t\t\t\t\t7f4eedb1077ef948b848040dcd15de9e8a759f4a\n\t\t\t\t\tbuild-tools_r27.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53838762\n\t\t\t\t\t1edd07bfdbadd95652d093040e16d858f7489594\n\t\t\t\t\tbuild-tools_r27.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t55171114\n\t\t\t\t\t18109db020c6d088d0157d1df201d31bc6970875\n\t\t\t\t\tbuild-tools_r27.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 27\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54441725\n\t\t\t\t\t28542332ba97cf4a08c3eddfcf5edd70e3cf1260\n\t\t\t\t\tbuild-tools_r27-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53831513\n\t\t\t\t\tfb4e8d7e6b8d29a77090e34024077a80458d5ae1\n\t\t\t\t\tbuild-tools_r27-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t55163097\n\t\t\t\t\t4f1df22a6d99261d2160d624b81445da0a027dbe\n\t\t\t\t\tbuild-tools_r27-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 26.0.3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54449983\n\t\t\t\t\t8a2e6c1bcd845844523a68aa17e5442f0dce328c\n\t\t\t\t\tbuild-tools_r26.0.3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53839758\n\t\t\t\t\t5bb90ed935d99e5bc90686f43b852e68c5ad40df\n\t\t\t\t\tbuild-tools_r26.0.3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t55170919\n\t\t\t\t\t460e511a9616b4661cc8dba0102d9d990ae60160\n\t\t\t\t\tbuild-tools_r26.0.3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 26.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54440678\n\t\t\t\t\t5b2b7b66c7bf2151f2af183b5b50a17808850592\n\t\t\t\t\tbuild-tools_r26.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53830573\n\t\t\t\t\td9ed7c7f149ce38be5dc08979aea8acec1459ca0\n\t\t\t\t\tbuild-tools_r26.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t55161474\n\t\t\t\t\t39ca02d3faa49859cd9d1bc0adc2f331017b699b\n\t\t\t\t\tbuild-tools_r26.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 26.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54113329\n\t\t\t\t\t5378c2c78091b414d0eac40a6bd37f2faa31a365\n\t\t\t\t\tbuild-tools_r26.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53266653\n\t\t\t\t\tcbde59de198916b390777dd0227921bfa2120832\n\t\t\t\t\tbuild-tools_r26.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54936185\n\t\t\t\t\t02494c80ffbe65bfff0aaa7463c9692693327b7d\n\t\t\t\t\tbuild-tools_r26.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 26\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53854197\n\t\t\t\t\t1cbe72929876f8a872ab1f1b1040a9f720261f59\n\t\t\t\t\tbuild-tools_r26-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53010814\n\t\t\t\t\td01a1aeca03747245f1f5936b3cb01759c66d086\n\t\t\t\t\tbuild-tools_r26-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54681641\n\t\t\t\t\t896ebd31117c09db220f7a3116cc0e5121c78b9d\n\t\t\t\t\tbuild-tools_r26-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t0\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 26-rc2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53847560\n\t\t\t\t\t629bbd8d2e415bf64871fb0b4c0540fd6d0347a0\n\t\t\t\t\tbuild-tools_r26-rc2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53003874\n\t\t\t\t\tcb1eb738a1f7003025af267a9b8cc2d259533c70\n\t\t\t\t\tbuild-tools_r26-rc2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54678375\n\t\t\t\t\tddaba77db0557a98f6330fbd579ad0bd12cbb152\n\t\t\t\t\tbuild-tools_r26-rc2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t0\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 26-rc1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t53648603\n\t\t\t\t\t8cd6388dc96db2d7a49d06159cf990d3bbc78d04\n\t\t\t\t\tbuild-tools_r26-rc1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t52821129\n\t\t\t\t\t5c5a1de7d5f4f000d36ae349229fe0be846d6137\n\t\t\t\t\tbuild-tools_r26-rc1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t54379108\n\t\t\t\t\t43c2ddad3b67a5c33712ae14331a60673e69be91\n\t\t\t\t\tbuild-tools_r26-rc1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 25.0.3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t50757258\n\t\t\t\t\tdb95f3a0ae376534d4d69f4cdb6fad20649f3509\n\t\t\t\t\tbuild-tools_r25.0.3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t50545085\n\t\t\t\t\t160d2fefb5ce68e443427fc30a793a703b63e26e\n\t\t\t\t\tbuild-tools_r25.0.3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t51337442\n\t\t\t\t\t1edcb109ae5133aebfed573cf0bc84e0c353c28d\n\t\t\t\t\tbuild-tools_r25.0.3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 25.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49880329\n\t\t\t\t\tff953c0177e317618fda40516f3e9d95fd43c7ae\n\t\t\t\t\tbuild-tools_r25.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49667185\n\t\t\t\t\t12a5204bb3b6e39437535469fde7ddf42da46b16\n\t\t\t\t\tbuild-tools_r25.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t50458908\n\t\t\t\t\t2fee3c0704d6ecc480570450d8b8069b2c4a2dd4\n\t\t\t\t\tbuild-tools_r25.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 25.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49880178\n\t\t\t\t\tff063d252ab750d339f5947d06ff782836f22bac\n\t\t\t\t\tbuild-tools_r25.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49667353\n\t\t\t\t\t7bf7f22d7d48ef20b6ab0e3d7a2912e5c088340f\n\t\t\t\t\tbuild-tools_r25.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t50458759\n\t\t\t\t\tc6c61393565ccf46349e7f44511e5db7c1c6169d\n\t\t\t\t\tbuild-tools_r25.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 25\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49872921\n\t\t\t\t\tf2bbda60403e75cabd0f238598c3b4dfca56ea44\n\t\t\t\t\tbuild-tools_r25-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49659466\n\t\t\t\t\t273c5c29a65cbed00e44f3aa470bbd7dce556606\n\t\t\t\t\tbuild-tools_r25-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t50451378\n\t\t\t\t\tf9258f2308ff8b62cfc4513d40cb961612d07b6a\n\t\t\t\t\tbuild-tools_r25-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 24.0.3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49779151\n\t\t\t\t\t9e8cc49d66e03fa1a8ecc1ac3e58f1324f5da304\n\t\t\t\t\tbuild-tools_r24.0.3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49568967\n\t\t\t\t\ta01c15f1b105c34595681075e1895d58b3fff48c\n\t\t\t\t\tbuild-tools_r24.0.3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t50354788\n\t\t\t\t\t8b960d693fd4163caeb8dc5f5f5f80b10987089c\n\t\t\t\t\tbuild-tools_r24.0.3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 24.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t48936295\n\t\t\t\t\tf199a7a788c3fefbed102eea34d6007737b803cf\n\t\t\t\t\tbuild-tools_r24.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t48726190\n\t\t\t\t\t8bb8fc575477491d5957de743089df412de55cda\n\t\t\t\t\tbuild-tools_r24.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49512513\n\t\t\t\t\t09586a1f1c39bcfa7db5205c9a07837247deb67e\n\t\t\t\t\tbuild-tools_r24.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 24.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t48936286\n\t\t\t\t\t84f18c392919a074fcbb9b1d967984e6b2fef8b4\n\t\t\t\t\tbuild-tools_r24.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t48726085\n\t\t\t\t\t5c6457fcdfa07724fb086d8ff4e8316fc0742848\n\t\t\t\t\tbuild-tools_r24.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49511883\n\t\t\t\t\tac4a7cea42c3ef74d7fbf1b992fad311c550034e\n\t\t\t\t\tbuild-tools_r24.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 24\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t48960919\n\t\t\t\t\tc6271c4d78a5612ea6c7150688bcd5b7313de8d1\n\t\t\t\t\tbuild-tools_r24-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t48747930\n\t\t\t\t\t97fc4ed442f23989cc488d02c1d1de9bdde241de\n\t\t\t\t\tbuild-tools_r24-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t49535326\n\t\t\t\t\tdc61b9e5b451a0c3ec42ae2b1ce27c4d3c8da9f7\n\t\t\t\t\tbuild-tools_r24-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 23.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39071201\n\t\t\t\t\t8a9f2b37f6fcf7a9fa784dc21aeaeb41bbb9f2c3\n\t\t\t\t\tbuild-tools_r23.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38060914\n\t\t\t\t\t482c4cbceef8ff58aefd92d8155a38610158fdaf\n\t\t\t\t\tbuild-tools_r23.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38217626\n\t\t\t\t\tfc3a92c744d3ba0a16ccb5d2b41eea5974ce0a96\n\t\t\t\t\tbuild-tools_r23.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 23.0.3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t40733174\n\t\t\t\t\t368f2600feac7e9b511b82f53d1f2240ae4a91a3\n\t\t\t\t\tbuild-tools_r23.0.3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39679533\n\t\t\t\t\tfbc98cd303fd15a31d472de6c03bd707829f00b0\n\t\t\t\t\tbuild-tools_r23.0.3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39869945\n\t\t\t\t\tc6d8266c6a3243c8f1e41b786c0e3cee4c781263\n\t\t\t\t\tbuild-tools_r23.0.3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 23.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39069295\n\t\t\t\t\tb6ba7c399d5fa487d95289d8832e4ad943aed556\n\t\t\t\t\tbuild-tools_r23.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38059328\n\t\t\t\t\td96ec1522721e9a179ae2c591c99f75d31d39718\n\t\t\t\t\tbuild-tools_r23.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38558889\n\t\t\t\t\tcc1d37231d228f7a6f130e1f8d8c940052f0f8ab\n\t\t\t\t\tbuild-tools_r23.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 23\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t39080519\n\t\t\t\t\tc1d6209212b01469f80fa804e0c1d39a06bc9060\n\t\t\t\t\tbuild-tools_r23-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38070540\n\t\t\t\t\t90ba6e716f7703a236cd44b2e71c5ff430855a03\n\t\t\t\t\tbuild-tools_r23-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t38570715\n\t\t\t\t\t3874948f35f2f8946597679cc6e9151449f23b5d\n\t\t\t\t\tbuild-tools_r23-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t22\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 22.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33104577\n\t\t\t\t\tda8b9c5c3ede39298e6cf0283c000c2ee9029646\n\t\t\t\t\tbuild-tools_r22.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33646102\n\t\t\t\t\t53dad7f608e01d53b17176ba11165acbfccc5bbf\n\t\t\t\t\tbuild-tools_r22.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33254137\n\t\t\t\t\t61d8cbe069d9e0a57872a83e5e5abe164b7d52cf\n\t\t\t\t\tbuild-tools_r22.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t22\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 22\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33104280\n\t\t\t\t\ta8a1619dd090e44fac957bce6842e62abf87965b\n\t\t\t\t\tbuild-tools_r22-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33646090\n\t\t\t\t\taf95429b24088d704bc5db9bd606e34ac1b82c0d\n\t\t\t\t\tbuild-tools_r22-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33254114\n\t\t\t\t\t08fcca41e81b172bd9f570963b90d3a84929e043\n\t\t\t\t\tbuild-tools_r22-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t1\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 21.1.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t32637678\n\t\t\t\t\t5e35259843bf2926113a38368b08458735479658\n\t\t\t\t\tbuild-tools_r21.1.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33152878\n\t\t\t\t\te7c906b4ba0eea93b32ba36c610dbd6b204bff48\n\t\t\t\t\tbuild-tools_r21.1.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t32792587\n\t\t\t\t\t1d944759c47f60e634d2b8a1f3a4259be2f8d652\n\t\t\t\t\tbuild-tools_r21.1.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t1\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 21.1.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t32642454\n\t\t\t\t\t1c712ee3a1ba5a8b0548f9c32f17d4a0ddfd727d\n\t\t\t\t\tbuild-tools_r21.1.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33157676\n\t\t\t\t\t836a146eab0504aa9387a5132e986fe7c7381571\n\t\t\t\t\tbuild-tools_r21.1.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t32797356\n\t\t\t\t\t53fc4201237f899d5cd92f0b76ad41fb89da188b\n\t\t\t\t\tbuild-tools_r21.1.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t1\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 21.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t32642820\n\t\t\t\t\tb7455e543784d52a8925f960bc880493ed1478cb\n\t\t\t\t\tbuild-tools_r21.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t33158159\n\t\t\t\t\tdf619356c2359aa5eacdd48699d15b335d9bd246\n\t\t\t\t\tbuild-tools_r21.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t32797810\n\t\t\t\t\tc79d63ac6b713a1e326ad4dae43f2ee76708a2f4\n\t\t\t\t\tbuild-tools_r21.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 21.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22153122\n\t\t\t\t\te1236ab8897b62b57414adcf04c132567b2612a5\n\t\t\t\t\tbuild-tools_r21.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22668597\n\t\t\t\t\tf17471c154058f3734729ef3cc363399b1cd3de1\n\t\t\t\t\tbuild-tools_r21.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22306371\n\t\t\t\t\t37496141b23cbe633167927b7abe6e22d9f1a1c1\n\t\t\t\t\tbuild-tools_r21.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 21.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22153013\n\t\t\t\t\te573069eea3e5255e7a65bedeb767f4fd0a5f49a\n\t\t\t\t\tbuild-tools_r21.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22668616\n\t\t\t\t\tb60c8f9b810c980abafa04896706f3911be1ade7\n\t\t\t\t\tbuild-tools_r21.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22306243\n\t\t\t\t\td68e7e6fd7a48c8759aa41d713c9d4f0e4c1c1df\n\t\t\t\t\tbuild-tools_r21.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 21\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22153145\n\t\t\t\t\t4933328fdeecbd554a29528f254f4993468e1cf4\n\t\t\t\t\tbuild-tools_r21-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22668456\n\t\t\t\t\t9bef7989b51436bd4e5114d8a0330359f077cbfa\n\t\t\t\t\tbuild-tools_r21-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t22306371\n\t\t\t\t\t5bc8fd399bc0135a9bc91eec78ddc5af4f54bf32\n\t\t\t\t\tbuild-tools_r21-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t20\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 20\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21445463\n\t\t\t\t\tb688905526a5584d1327a662d871a635ff502758\n\t\t\t\t\tbuild-tools_r20-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21650508\n\t\t\t\t\t1240f629411c108a714c4ddd756937c7fab93f83\n\t\t\t\t\tbuild-tools_r20-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20828006\n\t\t\t\t\tcf20720e452b642d5eb59dabe05c0c729b36ec75\n\t\t\t\t\tbuild-tools_r20-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t1\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 19.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21490972\n\t\t\t\t\t1ff20ac15fa47a75d00346ec12f180d531b3ca89\n\t\t\t\t\tbuild-tools_r19.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21590160\n\t\t\t\t\t0d11aae3417de1efb4b9a0e0a7855904a61bcec1\n\t\t\t\t\tbuild-tools_r19.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20812533\n\t\t\t\t\t13b367fbdbff8132cb4356f716e8dc8a8df745c5\n\t\t\t\t\tbuild-tools_r19.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t0\n\t\t\t3\n\t\t\n\t\tAndroid SDK Build-Tools 19.0.3\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21462150\n\t\t\t\t\tc2d6055478e9d2d4fba476ee85f99181ddd1160c\n\t\t\t\t\tbuild-tools_r19.0.3-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21563992\n\t\t\t\t\t651cf8754373b2d52e7f6aab2c52eabffe4e9ea4\n\t\t\t\t\tbuild-tools_r19.0.3-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20730715\n\t\t\t\t\tcb46b433b67a0a6910ff00db84be8b527ea3102f\n\t\t\t\t\tbuild-tools_r19.0.3-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t0\n\t\t\t2\n\t\t\n\t\tAndroid SDK Build-Tools 19.0.2\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21352552\n\t\t\t\t\ta03a6bdea0091aea32e1b35b90a7294c9f04e3dd\n\t\t\t\t\tbuild-tools_r19.0.2-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21453726\n\t\t\t\t\t145bc43065d45f756d99d87329d899052b9a9288\n\t\t\t\t\tbuild-tools_r19.0.2-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20621117\n\t\t\t\t\taf664672d0d709c9ae30937b1062317d3ade7f95\n\t\t\t\t\tbuild-tools_r19.0.2-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 19.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21229048\n\t\t\t\t\t18d2312dc4368858914213087f4e61445aca4517\n\t\t\t\t\tbuild-tools_r19.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21450597\n\t\t\t\t\tefaf50fb19a3edb8d03efbff76f89a249ad2920b\n\t\t\t\t\tbuild-tools_r19.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20500648\n\t\t\t\t\t5ef422bac5b28f4ced108319ed4a6bc7050a6234\n\t\t\t\t\tbuild-tools_r19.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 19\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21339943\n\t\t\t\t\t55c1a6cf632e7d346f0002b275ec41fd3137fd83\n\t\t\t\t\tbuild-tools_r19-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t21441270\n\t\t\t\t\t86ec1c12db1bc446b7bcaefc5cc14eb361044e90\n\t\t\t\t\tbuild-tools_r19-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20611447\n\t\t\t\t\t6edf505c20f5ece9c48fa0aff9a90488f9654d52\n\t\t\t\t\tbuild-tools_r19-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t1\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 18.1.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20229760\n\t\t\t\t\t68c9acbfc0cec2d51b19efaed39831a17055d998\n\t\t\t\t\tbuild-tools_r18.1.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20452157\n\t\t\t\t\ta9d9d37f6ddf859e57abc78802a77aaa166e48d4\n\t\t\t\t\tbuild-tools_r18.1.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t19660000\n\t\t\t\t\tc4605066e2f851387ea70bc1442b1968bd7b4a15\n\t\t\t\t\tbuild-tools_r18.1.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t1\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 18.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20229298\n\t\t\t\t\tf314a0599e51397f0886fe888b50dd98f2f050d8\n\t\t\t\t\tbuild-tools_r18.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t20451524\n\t\t\t\t\t16ddb299b8b43063e5bb3387ec17147c5053dfd8\n\t\t\t\t\tbuild-tools_r18.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t19659547\n\t\t\t\t\t3a9810fc8559ab03c09378f07531e8cae2f1db30\n\t\t\t\t\tbuild-tools_r18.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t0\n\t\t\t1\n\t\t\n\t\tAndroid SDK Build-Tools 18.0.1\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t16627330\n\t\t\t\t\tf11618492b0d2270c332325d45d752d3656a9640\n\t\t\t\t\tbuild-tools_r18.0.1-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t16633121\n\t\t\t\t\td84f5692fb44d60fc53e5b2507cebf9f24626902\n\t\t\t\t\tbuild-tools_r18.0.1-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t15413527\n\t\t\t\t\ta6c2afd0b6289d589351956d2f5212b37014ca7d\n\t\t\t\t\tbuild-tools_r18.0.1-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t0\n\t\t\t0\n\t\t\n\t\tAndroid SDK Build-Tools 17\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t11696007\n\t\t\t\t\t2c2872bc3806aabf16a12e3959c2183ddc866e6d\n\t\t\t\t\tbuild-tools_r17-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t12208114\n\t\t\t\t\t602ee709be9dbb8f179b1e4075148a57f9419930\n\t\t\t\t\tbuild-tools_r17-macosx.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t11004914\n\t\t\t\t\t899897d327b0bad492d3a40d3db4d96119c15bc0\n\t\t\t\t\tbuild-tools_r17-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tDocumentation for Android SDK\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t419477967\n\t\t\t\t\teef58238949ee9544876cb3e002f2d58e4ee7b5d\n\t\t\t\t\tdocs-24_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tSDK Patch Applier v4\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t1827327\n\t\t\t\t\t046699c5e2716ae11d77e0bad814f7f33fab261e\n\t\t\t\t\t3534162-studio.sdk-patcher.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\t0\n\t\t\t01\n\t\t\n\t\tAndroid SDK Command-line Tools\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t80747061\n\t\t\t\t\tf331fcfae47e0d0a478e3f2d30ce70b4a69439bc\n\t\t\t\t\tcommandlinetools-linux-5842447_latest.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t80747051\n\t\t\t\t\t65e2c7b86b48a3d43d27a9c936fc1ccf7ba01055\n\t\t\t\t\tcommandlinetools-mac-5842447_latest.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t80731963\n\t\t\t\t\tb3b576331f0ee76afc87fcf9e0d277e807e856a0\n\t\t\t\t\tcommandlinetools-win-5842447_latest.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\t0\n\t\t\t01\n\t\t\n\t\tAndroid SDK Command-line Tools (latest)\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t80747061\n\t\t\t\t\tf331fcfae47e0d0a478e3f2d30ce70b4a69439bc\n\t\t\t\t\tcommandlinetools-linux-5842447_latest.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t80747051\n\t\t\t\t\t65e2c7b86b48a3d43d27a9c936fc1ccf7ba01055\n\t\t\t\t\tcommandlinetools-mac-5842447_latest.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t80731963\n\t\t\t\t\tb3b576331f0ee76afc87fcf9e0d277e807e856a0\n\t\t\t\t\tcommandlinetools-win-5842447_latest.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t1\n\t\t\t01\n\t\t\n\t\tSkia Parser Server\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t5586481\n\t\t\t\t\t562006934072f422770992af853884f7dd0f8d59\n\t\t\t\t\tskiaparser-5924912-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t14946201\n\t\t\t\t\tebf045c257633980e48dac43b7da400f960956c8\n\t\t\t\t\tskiaparser-5924912-mac.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t4762728\n\t\t\t\t\t1f7f5ee841b6dd1c1841090c3df221fba2410a38\n\t\t\t\t\tskiaparser-5924912-win.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\t6\n\t\t\t4111459\n\t\t\n\t\tCMake 3.6.4111459\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t12295830\n\t\t\t\t\tc9b02d630079783c6d67cb91488b622cfcd9765c\n\t\t\t\t\tcmake-3.6.4111459-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t13980243\n\t\t\t\t\t71c539b9c33f0943e9ad6251fea0b161c0b70782\n\t\t\t\t\tcmake-3.6.4111459-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t10428915\n\t\t\t\t\t4c4730dc3f399b2fa9ab701112d2c439368a59a5\n\t\t\t\t\tcmake-3.6.4111459-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t3\n\t\t\t10\n\t\t\t2\n\t\t\n\t\tCMake 3.10.2.4988404\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t13447295\n\t\t\t\t\tf227a85cb53dcb927ac52a5a717f647c4a29bf3b\n\t\t\t\t\tcmake-3.10.2-darwin-x86_64.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t14275684\n\t\t\t\t\t439e8799bf59f724f104bf62784b2985f1bfe561\n\t\t\t\t\tcmake-3.10.2-linux-x86_64.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t11899659\n\t\t\t\t\t0a75b9c5bf558dc31caad7241a44515064656486\n\t\t\t\t\tcmake-3.10.2-windows-x86_64.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t0\n\t\t\t5\n\t\t\n\t\tAndroid SDK Platform-Tools\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t8061768\n\t\t\t\t\td355fd9acf14d149c64a9f56aa57c52ea925084c\n\t\t\t\t\tplatform-tools_r29.0.5-darwin.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t8116675\n\t\t\t\t\t2016a7e8f3f696583c0069881f4270365e247cd7\n\t\t\t\t\tplatform-tools_r29.0.5-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t7165904\n\t\t\t\t\t0f55ef9978de5650e2cb7737b7175f2a937f27f0\n\t\t\t\t\tplatform-tools_r29.0.5-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t2\n\t\t\t1\n\t\t\n\t\tAndroid Emulator\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t25\n\t\t\t\t\t3\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t301978680\n\t\t\t\t\tccee1a25339c8f5c059abf7297625a6e91fe137c\n\t\t\t\t\temulator-darwin-5889189.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t284934487\n\t\t\t\t\tebbaff0512ef72ba69d83fbc700c58f25e9edc9d\n\t\t\t\t\temulator-linux-5889189.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t197739518\n\t\t\t\t\td8d418642d2837af6037b84cf36baaf8073837ae\n\t\t\t\t\temulator-windows-5889189.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t0\n\t\t\t25\n\t\t\n\t\tAndroid Emulator\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t25\n\t\t\t\t\t3\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t372563893\n\t\t\t\t\t6004fd05db29f8088ec89ba85c273c0bf86ef0be\n\t\t\t\t\temulator-windows-5395263.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t32\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t2\n\t\t\t9\n\t\t\n\t\tAndroid Emulator\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t25\n\t\t\t\t\t3\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t328184259\n\t\t\t\t\tdefeca9a76d86a9e3bf64ce52d9348aee289e65a\n\t\t\t\t\temulator-darwin-6011133.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t306095592\n\t\t\t\t\tac554441777087247b82366f121e937960652d88\n\t\t\t\t\temulator-linux-6011133.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t64\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t271860812\n\t\t\t\t\t8dec0d5010253f47817974a575dc60770376ea52\n\t\t\t\t\temulator-windows-6011133.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t64\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t1\n\t\t\t1\n\t\t\n\t\tAndroid SDK Tools\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t20\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t103022432\n\t\t\t\t\ted85ea7b59bc3483ce0af4c198523ba044e083ad\n\t\t\t\t\tsdk-tools-darwin-4333796.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\n\t\t\t\t\t\t37760916\n\t\t\t\t\t\t9fa4e220d674faea48abf1d8649fd783d66e41a9\n\t\t\t\t\t\tsdk-generic-94cdf04adac5f400ece8dcc1b43749d024b5334f-3fdb234e13e6fdbfbf9a6c814546057526168617-macosx-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\n\t\t\t\t\t\t37761573\n\t\t\t\t\t\ta80c46105ba345ce087a7228a35cf446f5b61238\n\t\t\t\t\t\tsdk-generic-1f6c767a4017bfd1c118a9a08fbf0453790128e2-3fdb234e13e6fdbfbf9a6c814546057526168617-macosx-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\n\t\t\t\t\t\t9712385\n\t\t\t\t\t\t903713f2cd7e12546fb224675a47f375c8a73a0e\n\t\t\t\t\t\tsdk-generic-f1f6d1f1608b412291b9c94ea6bc577eeea39637-3fdb234e13e6fdbfbf9a6c814546057526168617-macosx-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\t37761426\n\t\t\t\t\t\t8ab2427bff140fa330ff84978ac7732d15b14a4d\n\t\t\t\t\t\tsdk-generic-0300e25084f01d2a015a0f7fdb9e4567e8128fe0-3fdb234e13e6fdbfbf9a6c814546057526168617-macosx-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t25\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\t37762783\n\t\t\t\t\t\t1aedb736b64430e6f9a968f340f06e6b198c9ee9\n\t\t\t\t\t\tsdk-generic-5d2b37caade80434d7196768df2533867b36ed1b-3fdb234e13e6fdbfbf9a6c814546057526168617-macosx-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t154582459\n\t\t\t\t\t8c7c28554a32318461802c1291d76fccfafde054\n\t\t\t\t\tsdk-tools-linux-4333796.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\n\t\t\t\t\t\t47560019\n\t\t\t\t\t\tf43d4680f1b5427069317a2ff02027a708527df6\n\t\t\t\t\t\tsdk-generic-94cdf04adac5f400ece8dcc1b43749d024b5334f-3fdb234e13e6fdbfbf9a6c814546057526168617-linux-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\n\t\t\t\t\t\t47560729\n\t\t\t\t\t\t3393f7d16593cc5447cc98e1948dd51518be6c28\n\t\t\t\t\t\tsdk-generic-1f6c767a4017bfd1c118a9a08fbf0453790128e2-3fdb234e13e6fdbfbf9a6c814546057526168617-linux-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\n\t\t\t\t\t\t19787313\n\t\t\t\t\t\t9eb1bed4c65b9d78c2a33c1ee07157f2a912e81a\n\t\t\t\t\t\tsdk-generic-f1f6d1f1608b412291b9c94ea6bc577eeea39637-3fdb234e13e6fdbfbf9a6c814546057526168617-linux-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\t47560556\n\t\t\t\t\t\t6abdab7ad2d64b6530157aa11a40eceaf74eb93a\n\t\t\t\t\t\tsdk-generic-0300e25084f01d2a015a0f7fdb9e4567e8128fe0-3fdb234e13e6fdbfbf9a6c814546057526168617-linux-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t25\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\t47561828\n\t\t\t\t\t\t6311803617b3b6bc276c489eda8a236bf705d0b5\n\t\t\t\t\t\tsdk-generic-5d2b37caade80434d7196768df2533867b36ed1b-3fdb234e13e6fdbfbf9a6c814546057526168617-linux-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t156136858\n\t\t\t\t\taa298b5346ee0d63940d13609fe6bec621384510\n\t\t\t\t\tsdk-tools-windows-4333796.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\n\t\t\t\t\t\t47708994\n\t\t\t\t\t\t3cb6d868953ba365ef2704704f381e59d21d214f\n\t\t\t\t\t\tsdk-generic-94cdf04adac5f400ece8dcc1b43749d024b5334f-3fdb234e13e6fdbfbf9a6c814546057526168617-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\n\t\t\t\t\t\t47711464\n\t\t\t\t\t\t04b9a10f8b5633441965806643093a2d7eb05eea\n\t\t\t\t\t\tsdk-generic-1f6c767a4017bfd1c118a9a08fbf0453790128e2-3fdb234e13e6fdbfbf9a6c814546057526168617-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\n\t\t\t\t\t\t19720651\n\t\t\t\t\t\tbf219d5f69e13f209b1f0713456f2b916ee3454e\n\t\t\t\t\t\tsdk-generic-f1f6d1f1608b412291b9c94ea6bc577eeea39637-3fdb234e13e6fdbfbf9a6c814546057526168617-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t26\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\t47705445\n\t\t\t\t\t\t60a17cb115af49b50aa07ea3174b6e2ce2412225\n\t\t\t\t\t\tsdk-generic-0300e25084f01d2a015a0f7fdb9e4567e8128fe0-3fdb234e13e6fdbfbf9a6c814546057526168617-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t25\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\t47710249\n\t\t\t\t\t\tedf32e68dfe64795667aa65ab251413806d58ea9\n\t\t\t\t\t\tsdk-generic-5d2b37caade80434d7196768df2533867b36ed1b-3fdb234e13e6fdbfbf9a6c814546057526168617-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n""" - - def setUp(self): - patcher = mock.patch("urlfetch.get") - self.addCleanup(patcher.stop) - self.mock_fetch = patcher.start() - self.mock_fetch.return_value.status = 200 - self.mock_fetch.return_value.content = RetrieveEmulators.FAKE_DATA - - - def test_has_stable_and_canary(self): - res = sorted(set([x.channel for x in menu.get_emus_info()])) - self.assertEqual(res, ['canary', 'stable']) - -class RetrieveImages(unittest.TestCase): - FAKE_DATA = """\n\n\t\n\tTerms and Conditions\n\nThis is the Android Software Developm .... this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.\n\n\nJanuary 16, 2019\n\tstable\n\tbeta\n\tdev\n\tcanary\n\t\n\t\t\n\t\t\n\t\t\t10\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t67927049\n\t\t\t\t\t8537616a7add47cce24c60f18bc2429e3dc90ae3\n\t\t\t\t\tarmeabi-v7a-10_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t242085\n\t\t\t\t\t\tdb38ab3439aa7774c22e6143980378ade70ef8b4\n\t\t\t\t\t\tsys-img-3093079-sdk-3644351-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t14\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t99621822\n\t\t\t\t\td8991b0c06b18d7d6ed4169d67460ee1add6661b\n\t\t\t\t\tsysimg_armv7a-14_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t15\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t102452069\n\t\t\t\t\t03d7ed95a9d3b107e3f2e5b166d017ea12529e70\n\t\t\t\t\tarmeabi-v7a-15_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t6087663\n\t\t\t\t\t\taa3abebb66fe8216084f2eb47959cb6a92d2019d\n\t\t\t\t\t\tsys-img-3462039-sdk-3876239-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t16\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t118646340\n\t\t\t\t\t69b944b0d5a18c8563fa80d7d229af64890f724e\n\t\t\t\t\tarmeabi-v7a-16_r06.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t10674598\n\t\t\t\t\t\tb3b4dc483b2af73f86b5c5adb2c7365dd4728a9e\n\t\t\t\t\t\tsys-img-1741836-sdk_phone_armv7-4875369-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t124437041\n\t\t\t\t\ta18a3fd0958ec4ef52507f58e414fc5c7dfd59d6\n\t\t\t\t\tarmeabi-v7a-17_r06.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t5\n\t\t\t\t\t\t\n\t\t\t\t\t\t7230085\n\t\t\t\t\t\t75b83c85a45a8ea3eca3b6258733e8d3222facf0\n\t\t\t\t\t\tsys-img-3453820-sdk-4875371-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t130590545\n\t\t\t\t\t580b583720f7de671040d5917c8c9db0c7aa03fd\n\t\t\t\t\tarmeabi-v7a-18_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t6849609\n\t\t\t\t\t\t761b2fcf650e5aa4ed2d6d47e086680aac152998\n\t\t\t\t\t\tsys-img-3462034-sdk-3876170-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t159871567\n\t\t\t\t\td1a5fd4f2e1c013c3d3d9bfe7e9db908c3ed56fa\n\t\t\t\t\tarmeabi-v7a-19_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\n\t\t\t\t\t\t48143544\n\t\t\t\t\t\t15b4eb349021d8797e5632753af85e4dd4584f78\n\t\t\t\t\t\tsys-img-1743154-sdk_phone_armv7-3462041-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t187163871\n\t\t\t\t\t8c606f81306564b65e41303d2603e4c42ded0d10\n\t\t\t\t\tarmeabi-v7a-21_r04.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\n\t\t\t\t\t\t23246517\n\t\t\t\t\t\td71dc99ba31fd8f36ce4842796eefedb108957e9\n\t\t\t\t\t\tsys-img-1772600-sdk_phone_armv7-3079185-sdk_phone_armv7-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t2\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t194596267\n\t\t\t\t\t2114ec015dbf3a16cbcb4f63e8a84a1b206a07a1\n\t\t\t\t\tarmeabi-v7a-22_r02.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t238333358\n\t\t\t\t\t7cf2ad756e54a3acfd81064b63cb0cb9dff2798d\n\t\t\t\t\tarmeabi-v7a-23_r06.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\n\t\t\t\t\t\t3769388\n\t\t\t\t\t\t0fc5d7fe62e2f2f32ddd756181a2768d02975be2\n\t\t\t\t\t\tsys-img-2166767-sdk_phone_armv7-3079352-sdk_phone_armv7-win_sdk-windows-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarmeabi-v7a\n\t\t\n\t\t\n\t\t\t7\n\t\t\n\t\tARM EABI v7a System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t283677512\n\t\t\t\t\t3454546b4eed2d6c3dd06d47757d6da9f4176033\n\t\t\t\t\tarmeabi-v7a-24_r07.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tarm64-v8a\n\t\t\n\t\t\n\t\t\t7\n\t\t\n\t\tARM 64 v8a System Image\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t384556503\n\t\t\t\t\te8ab2e49e4efe4b064232b33b5eeaded61437d7f\n\t\t\t\t\tarm64-v8a-24_r07.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t16\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tmips\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tMIPS System Image\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t122482530\n\t\t\t\t\t67943c54fb3943943ffeb05fdd39c0b753681f6e\n\t\t\t\t\tsysimg_mips-16_r04.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tmips\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tMIPS System Image\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t131781761\n\t\t\t\t\tf0c6e153bd584c29e51b5c9723cfbf30f996a05d\n\t\t\t\t\tsysimg_mips-17_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t10\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t75386095\n\t\t\t\t\ta166d5ccbb165e1dd5464fbfeec30a61f77790d8\n\t\t\t\t\tx86-10_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t350782\n\t\t\t\t\t\t3e04d4a46671c17f00263bd08da9f6f069bc35c2\n\t\t\t\t\t\tsys-img-3093079-sdk_x86-sdk-3644351-sdk_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t15\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t115699956\n\t\t\t\t\tc387e0efed2cdc610e5944eea67b7b692d03760c\n\t\t\t\t\tx86-15_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t7419360\n\t\t\t\t\t\t10af8b30f81ba241d84bbc6a450851e05b981196\n\t\t\t\t\t\tsys-img-3462039-sdk_x86-sdk-3876239-sdk_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t16\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t134926152\n\t\t\t\t\tbf1bf8c5591346118d2235da1ad20e7be8a3e9cd\n\t\t\t\t\tx86-16_r06.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t5\n\t\t\t\t\t\t\n\t\t\t\t\t\t12289283\n\t\t\t\t\t\t03a0b6e82b1b24d18d3d5a40dc50165814ca5cf7\n\t\t\t\t\t\tsys-img-3462064-sdk_x86-sdk-4875369-sdk_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t17\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t143278662\n\t\t\t\t\t03c6d022ab2dcbbcf655d78ba5ccb0431cadcaec\n\t\t\t\t\tx86-17_r04.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\n\t\t\t\t\t\t12526628\n\t\t\t\t\t\t48438ef537d4bc3a2dd892925982eeda64b787ed\n\t\t\t\t\t\tsys-img-3453820-sdk_x86-sdk-4875371-sdk_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t18\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t150097655\n\t\t\t\t\t7a4ced4d9b0ab48047825491b4072dc2eb9b610e\n\t\t\t\t\tx86-18_r04.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t\n\t\t\t\t\t\t12761851\n\t\t\t\t\t\t94b263e4a34fff298ca45506b06927ab25a4f8ec\n\t\t\t\t\t\tsys-img-3462034-sdk_x86-sdk-3876170-sdk_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t19\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t185886274\n\t\t\t\t\t2ac82153aae97f7eae4c5a0761224fe04321d03d\n\t\t\t\t\tx86-19_r06.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t5\n\t\t\t\t\t\t\n\t\t\t\t\t\t19129436\n\t\t\t\t\t\t06512df7a125f8879dbc0774d2c3770c7d1f5084\n\t\t\t\t\t\tsys-img-3462041-sdk_x86-sdk-4174703-sdk_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t208212529\n\t\t\t\t\t00f0eb0a1003efe3316347f762e20a85d8749cff\n\t\t\t\t\tx86-21_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t29240934\n\t\t\t\t\t\ta6021e4d699438268f60c79c76504b9a1639b7c9\n\t\t\t\t\t\tsys-img-3079185-sdk_phone_x86-sdk-4174711-sdk_phone_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t214268954\n\t\t\t\t\te33e2a6cc3f1cc56b2019dbef3917d2eeb26f54e\n\t\t\t\t\tx86-22_r06.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t5\n\t\t\t\t\t\t\n\t\t\t\t\t\t23754040\n\t\t\t\t\t\ta5daff4fc2105b1ed386a6ff3a7ebf54e90ccec5\n\t\t\t\t\t\tsys-img-3079158-sdk_phone_x86-sdk-4174727-sdk_phone_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t10\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t260804863\n\t\t\t\t\tf6c3e3dd7bd951454795aa75c3a145fd05ac25bb\n\t\t\t\t\tx86-23_r10.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t9\n\t\t\t\t\t\t\n\t\t\t\t\t\t23794025\n\t\t\t\t\t\t08e3d95d578fee71002aee432d784b97250f8aae\n\t\t\t\t\t\tsys-img-3079352-sdk_phone_x86-sdk-4174734-sdk_phone_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t8\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t313489224\n\t\t\t\t\tc1cae7634b0216c0b5990f2c144eb8ca948e3511\n\t\t\t\t\tx86-24_r08.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t7\n\t\t\t\t\t\t\n\t\t\t\t\t\t81135808\n\t\t\t\t\t\t733ddd7440e023a386a51d61cfbd7c099d885ee0\n\t\t\t\t\t\tsys-img-3245079-sdk_phone_x86-sdk-4174735-sdk_phone_x86-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t316695942\n\t\t\t\t\t78ce7eb1387d598685633b9f7cbb300c3d3aeb5f\n\t\t\t\t\tx86-25_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t350195807\n\t\t\t\t\te613d6e0da668e30daf547f3c6627a6352846f90\n\t\t\t\t\tx86-26_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t360984187\n\t\t\t\t\t4ec990fac7b62958decd12e18a4cd389dfe7c582\n\t\t\t\t\tx86-27_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t437320152\n\t\t\t\t\tce03c42d80c0fc6dc47f6455dbee7aa275d02780\n\t\t\t\t\tx86-28_r04.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t7\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t7\n\t\t\t\t\t5\n\t\t\t\t\t2\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t510066023\n\t\t\t\t\te0e6504734f601c28350528d39a4b17b3e0f82dc\n\t\t\t\t\tx86-29_r07-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86\n\t\t\n\t\t\n\t\t\t7\n\t\t\n\t\tIntel x86 Atom System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t29\n\t\t\t\t\t1\n\t\t\t\t\t7\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t510066023\n\t\t\t\t\te0e6504734f601c28350528d39a4b17b3e0f82dc\n\t\t\t\t\tx86-29_r07-darwin.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t510066023\n\t\t\t\t\te0e6504734f601c28350528d39a4b17b3e0f82dc\n\t\t\t\t\tx86-29_r07-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t21\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t5\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t292623982\n\t\t\t\t\t9078a095825a69e5e215713f0866c83cef65a342\n\t\t\t\t\tx86_64-21_r05.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t4\n\t\t\t\t\t\t\n\t\t\t\t\t\t42158621\n\t\t\t\t\t\taba948dc01a89d633ca0f7009576da6fe28a8737\n\t\t\t\t\t\tsys-img-3079185-sdk_phone_x86_64-sdk-4174711-sdk_phone_x86_64-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t22\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t6\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t299976630\n\t\t\t\t\t5db3b27f78cd9c4c5092b1cad5a5dd479fb5b2e4\n\t\t\t\t\tx86_64-22_r06.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t5\n\t\t\t\t\t\t\n\t\t\t\t\t\t32646111\n\t\t\t\t\t\t0227dfd16634690161e72d279a4f5b9fa00bb543\n\t\t\t\t\t\tsys-img-3079158-sdk_phone_x86_64-sdk-4174727-sdk_phone_x86_64-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t23\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t10\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t365009313\n\t\t\t\t\t7cbc291483ca07dc67b71268c5f08a5755f50f51\n\t\t\t\t\tx86_64-23_r10.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t9\n\t\t\t\t\t\t\n\t\t\t\t\t\t32254646\n\t\t\t\t\t\t4f3fb594280a6862388cb79c9bf723f6b159ec4c\n\t\t\t\t\t\tsys-img-3079352-sdk_phone_x86_64-sdk-4174734-sdk_phone_x86_64-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t24\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t8\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t419261998\n\t\t\t\t\tf6559e1949a5879f31a9662f4f0e50ad60181684\n\t\t\t\t\tx86_64-24_r08.zip\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t7\n\t\t\t\t\t\t\n\t\t\t\t\t\t123686146\n\t\t\t\t\t\t53317172a649205dfb6c0233f835fd012450d1e2\n\t\t\t\t\t\tsys-img-3245079-sdk_phone_x86_64-sdk-4174735-sdk_phone_x86_64-sdk-patch.jar\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t25\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\t\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t422702097\n\t\t\t\t\t7093d7b39216020226ff430a3b7b81c94d31ad37\n\t\t\t\t\tx86_64-25_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t26\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t474178332\n\t\t\t\t\t432f149c048bffce7f9de526ec65b336daf7a0a3\n\t\t\t\t\tx86_64-26_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t27\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t1\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t491675204\n\t\t\t\t\t2878261011a59ca3de29dc5b457a495fdb268d60\n\t\t\t\t\tx86_64-27_r01.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t28\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t4\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t564792723\n\t\t\t\t\td47a85c8f4e9fd57df97814ad8884eeb0f3a0ef0\n\t\t\t\t\tx86_64-28_r04.zip\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t7\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t7\n\t\t\t\t\t5\n\t\t\t\t\t2\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t683092608\n\t\t\t\t\tc8e307b885a68f71b4889a70bffea729fc4ecbfa\n\t\t\t\t\tx86_64-29_r07-windows.zip\n\t\t\t\t\n\t\t\t\twindows\n\t\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\t\t29\n\t\t\t\n\t\t\t\tdefault\n\t\t\t\tDefault Android System Image\n\t\t\t\n\t\t\tx86_64\n\t\t\n\t\t\n\t\t\t7\n\t\t\n\t\tIntel x86 Atom_64 System Image\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t29\n\t\t\t\t\t1\n\t\t\t\t\t7\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t683092608\n\t\t\t\t\tc8e307b885a68f71b4889a70bffea729fc4ecbfa\n\t\t\t\t\tx86_64-29_r07-darwin.zip\n\t\t\t\t\n\t\t\t\tmacosx\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t683092608\n\t\t\t\t\tc8e307b885a68f71b4889a70bffea729fc4ecbfa\n\t\t\t\t\tx86_64-29_r07-linux.zip\n\t\t\t\t\n\t\t\t\tlinux\n\t\t\t\n\t\t\n\t\n""" - - def setUp(self): - patcher = mock.patch("urlfetch.get") - self.addCleanup(patcher.stop) - self.mock_fetch = patcher.start() - self.mock_fetch.return_value.status = 200 - self.mock_fetch.return_value.content = RetrieveImages.FAKE_DATA - - def test_no_arms(self): - res = ["arm" not in x.abi for x in menu.get_images_info()] - self.assertTrue(all(res)) - - def test_some_arms(self): - res = ["arm" not in x.abi for x in menu.get_images_info(arm=True)] - self.assertTrue(any(res)) - - def test_has_images(self): - self.assertGreater(len(menu.get_images_info()), 0) - - def test_finds_p(self): - images = menu.find_image("P") - self.assertGreater(len(images), 0) - for img in images: - self.assertRegexpMatches(str(img), "P") - - - -if __name__ == "__main__": - unittest.main() ->>>>>>> 27f5f72 (Use Firebase for authentication.) diff --git a/tests/test_sysimg_info.py b/tests/test_sysimg_info.py new file mode 100644 index 00000000..6c6caced --- /dev/null +++ b/tests/test_sysimg_info.py @@ -0,0 +1,237 @@ +# Copyright 2026 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Unit tests for the SDK-XML-driven SysImgInfo and the +zip-driven SystemImageReleaseZip helpers, focused on: + +- API >= 33 letter mapping and api-level parsing ("36", "36.1", "37.0", "36x"). +- 16 KB-page variant detection from the path's sort segment. +- Pre-release codename / ext-SDK detection. +- URL construction for the various sort_base shapes. +- SystemImageReleaseZip multi-tag SystemImage.TagId parsing. +""" +import xml.etree.ElementTree as ET + +import pytest + +from emu.android_release_zip import SystemImageReleaseZip +from emu.emu_downloads_menu import SysImgInfo + + +# --------------------------------------------------------------------------- # +# SysImgInfo helpers +# --------------------------------------------------------------------------- # + +_LICENSES = {"android-sdk-license": object()} + + +def _pkg(path, api_level, abi, codename=None, tag_id="google_apis", url="zip.zip"): + """Build a Element shaped like the real SDK XML.""" + cn = f"{codename}" if codename else "" + return ET.fromstring( + f""" + + + {api_level} + {cn} + {tag_id} + {abi} + + + + {url} + + +""".strip() + ) + + +# --------------------------------------------------------------------------- # +# SysImgInfo.letter / api_major / is_preview / is_ext_sdk +# --------------------------------------------------------------------------- # + + +@pytest.mark.parametrize( + "api_level, expected_letter, expected_major", + [ + ("33", "T", 33), + ("34", "U", 34), + ("35", "V", 35), + ("36", "B", 36), + ("37", "C", 37), + ("36.0", "B", 36), + ("36.1", "B", 36), + ("37.0", "C", 37), + ("36x", "B", 36), # ext-SDK: still maps to the parent letter + ], +) +def test_letter_and_api_major_for_modern_apis(api_level, expected_letter, expected_major): + info = SysImgInfo( + _pkg(f"system-images;android-{api_level};google_apis;x86_64", api_level, "x86_64"), + _LICENSES, + ) + assert info.letter == expected_letter + assert info.api_major == expected_major + + +def test_letter_falls_back_to_api_string_when_unknown(): + """Unknown future API must not silently become 'A' (the historical trap).""" + info = SysImgInfo( + _pkg("system-images;android-99;google_apis;x86_64", "99", "x86_64"), + _LICENSES, + ) + assert info.letter == "99" + assert info.api_major == 99 + + +def test_is_preview_true_when_codename_present(): + info = SysImgInfo( + _pkg( + "system-images;android-CinnamonBun;google_apis;x86_64", + "37.0", + "x86_64", + codename="CinnamonBun", + ), + _LICENSES, + ) + assert info.is_preview is True + + +def test_is_preview_false_for_released_build(): + info = SysImgInfo( + _pkg("system-images;android-36;google_apis;x86_64", "36", "x86_64"), + _LICENSES, + ) + assert info.is_preview is False + + +def test_is_ext_sdk_true_when_api_level_ends_with_x(): + info = SysImgInfo( + _pkg("system-images;android-36-ext19;google_apis;x86_64", "36x", "x86_64"), + _LICENSES, + ) + assert info.is_ext_sdk is True + + +def test_is_ext_sdk_false_for_normal_release(): + info = SysImgInfo( + _pkg("system-images;android-36;google_apis;x86_64", "36", "x86_64"), + _LICENSES, + ) + assert info.is_ext_sdk is False + + +# --------------------------------------------------------------------------- # +# SysImgInfo: 16 KB-page variant detection from path +# --------------------------------------------------------------------------- # + + +def test_is_16k_true_when_path_sort_ends_with_ps16k(): + info = SysImgInfo( + _pkg( + "system-images;android-36;google_apis_ps16k;x86_64", + "36", + "x86_64", + url="x86_64-ps16k-36_r07.zip", + ), + _LICENSES, + ) + assert info.is_16k is True + assert info.tag == "google_apis" # sort_base, without the _ps16k suffix + assert info.image_name() == "sys-36-google-x64-ps16k" + assert " ps16k" in str(info) + + +def test_is_16k_false_for_regular_4kb_variant(): + info = SysImgInfo( + _pkg( + "system-images;android-36;google_apis;x86_64", + "36", + "x86_64", + url="x86_64-36_r07.zip", + ), + _LICENSES, + ) + assert info.is_16k is False + assert info.image_name() == "sys-36-google-x64" + assert " ps16k" not in str(info) + + +# --------------------------------------------------------------------------- # +# SysImgInfo: URL construction +# --------------------------------------------------------------------------- # + + +def test_url_for_ps16k_uses_sort_base_directory(): + """16 KB zips live under sys-img//, not sys-img//.""" + info = SysImgInfo( + _pkg( + "system-images;android-36;google_apis_playstore_ps16k;x86_64", + "36", + "x86_64", + url="x86_64-playstore-ps16k-36_r07.zip", + ), + _LICENSES, + ) + assert info.url == ( + "https://dl.google.com/android/repository/sys-img/google_apis_playstore/" + "x86_64-playstore-ps16k-36_r07.zip" + ) + + +def test_url_for_default_sort_remaps_to_android_directory(): + """The legacy 'default' sort segment is served from the 'android' subdir.""" + info = SysImgInfo( + _pkg( + "system-images;android-30;default;x86_64", + "30", + "x86_64", + tag_id="default", + url="x86_64-30_r02.zip", + ), + _LICENSES, + ) + assert info.tag == "android" + assert info.url == ( + "https://dl.google.com/android/repository/sys-img/android/x86_64-30_r02.zip" + ) + + +# --------------------------------------------------------------------------- # +# SystemImageReleaseZip.tag() / is_16k() — multi-tag SystemImage.TagId parsing +# --------------------------------------------------------------------------- # + + +def _release_zip(tag_id): + """Construct a SystemImageReleaseZip with only the props dict populated.""" + z = SystemImageReleaseZip.__new__(SystemImageReleaseZip) + z.props = {"SystemImage.TagId": tag_id} + return z + + +@pytest.mark.parametrize( + "tag_id, expected_tag, expected_is_16k", + [ + ("google_apis", "google_apis", False), + ("google_apis_playstore", "google_apis_playstore", False), + ("google_apis,page_size_16kb", "google_apis", True), + ("page_size_16kb,google_apis", "google_apis", True), # other order seen for Baklava + ("google_apis_playstore,page_size_16kb", "google_apis_playstore", True), + ("default", "android", False), + ("", "android", False), + ], +) +def test_release_zip_tag_and_is_16k(tag_id, expected_tag, expected_is_16k): + z = _release_zip(tag_id) + assert z.tag() == expected_tag + assert z.is_16k() is expected_is_16k