Commit Graph

8039 Commits

Author SHA1 Message Date
Jake Weinstein ff76064343 Android 13.0.0 Release 52 (TQ3A.230605.012)
-----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZIi36QAKCRDorT+BmrEO
 eB7uAJ9NmDkNlD24enKk/AJHpnALE/xKrwCdGPc9gt/4kT+HMhdG9IiROXWDIJQ=
 =WMVr
 -----END PGP SIGNATURE-----

Merge tag 'android-13.0.0_r52' of https://android.googlesource.com/platform/build into HEAD

Android 13.0.0 Release 52 (TQ3A.230605.012)

Change-Id: I5d3ee0a5b933d8c4fa536eac4656ce0ff4d585f6
2023-06-14 10:17:35 +09:00
Jake Weinstein 8f5b875b96 Android 13.0.0 release 32
-----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZA9jFQAKCRDorT+BmrEO
 eMREAJ9lE/aPqYHnMKZl60fRc7iWYbIpHgCfaec+XlD77DpB0oliVf4M8/IUvJg=
 =bcFu
 -----END PGP SIGNATURE-----

Merge tag 'android-13.0.0_r32' of https://android.googlesource.com/platform/build into HEAD

Android 13.0.0 release 32

Change-Id: Iee16a630e111f6bc31a684c4e046927fb0e9536f
2023-03-15 06:43:31 +09:00
Christian Oder 5382a0666d build_image: Allow disabling custom inode count calculation
This allows us to skip custom inode count calculation by setting
BOARD_*IMAGE_EXTFS_INODE_COUNT to -1, this will end up letting
mke2fs calculate appropriate inode count on its own.

While build_image only allocates exact number of needed inodes
plus 4% spare with .2% margin, mke2fs will allocate as many
inodes as it thinks is appropriate given the filesystem size.

Change-Id: If03d5edae8378be3b305346176067b01163f6f3d
Signed-off-by: Jprimero15 <jprimero155@gmail.com>
2023-03-13 02:25:38 +00:00
Andrew Dodd 52aa3c361c ota: Disable downgrade check
We want users to be able to downgrade their packages.

Change-Id: I6bcbd4ee2a02640fe0855b0f1f197a02e914c927
Signed-off-by: Richard Raya <rdxzv.dev@gmail.com>
2023-03-02 15:56:59 +00:00
Alexander Winkowski 9f24c8bb42 releasetools: Don't compress with brotli
Full OTA non-A/B zip size comparison:
deflate+brotli 1147136486 bytes
deflate only   1205705974 bytes

The difference is just 5% (56 MB), which is an acceptable
tradeoff for faster flashing.

This change doesn't affect A/B OTA generation.

Change-Id: I332765ea0a2fbedb1a075192460b2bf8cb8955ae
2023-02-11 14:22:40 +00:00
Paul Duffin a03f1265fb Support SHA minSdkVersion in APK in APEX
Bug: 266903788
Test: rm -fr out/dist
      UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true TARGET_BUILD_APPS="com.google.android.rkpd" vendor/google/build/mainline_modules_bundles.sh
      # Without this change it fails, with this change it passes at
      # which point run the following.
      mkdir contents
      cd contents
      unzip ../out/dist/dev_keys_signed/com.google.android.rkpd/com.google.android.rkpd.apks
      deapexer extract standalones/standalone-x86.apex apex-contents
      aapt2 dump badging apex-contents/priv-app/rkpdapp.google@*/rkpdapp.google.apk  | grep Version
      # The sdkVersion and targetSdkVersion should both be set to SHA
      # versions.
Change-Id: I9ca54affd30f0a6cf561f1274b991d39e7cf1bce
(cherry picked from commit 730d0c437a)
Merged-In: I9ca54affd30f0a6cf561f1274b991d39e7cf1bce
2023-02-08 17:28:29 +00:00
Jake Weinstein 3d03c276ba Merge tag 'LA.QSSI.13.0.r1-09000-qssi.0' of https://git.codelinaro.org/clo/la/platform/build_repo into HEAD
"LA.QSSI.13.0.r1-09000-qssi.0"

Change-Id: Id8576a2bd64a2531aa9cb85569a246da2b5d2ce0
2023-02-04 02:04:54 +09:00
Kelvin Zhang 9f0379bd60 Fix VB 1.0 failure due to openssl output format change
Openssl changed output format, the 'keyid:' prefix is removed, hence old
regex is unable to extract key id.

Bug: 262902909
Change-Id: Iea5b6fffed7c27855d87e35292f07a56686e4197
Merged-In: I446a0b16e482c43542a1c0e41b24e80eb9fbc8e6
Merged-In: Iea5b6fffed7c27855d87e35292f07a56686e4197
(cherry picked from commit b7d70a2cb1)
2023-01-05 12:02:13 +00:00
Matt Lee 002198ece3 Merge t-mpr-2023-01
Change-Id: I0318437f15aec9d46eb422c2ca26dc690e265d5b
2023-01-04 17:03:22 -08:00
Jake Weinstein ee9ec4f5c6 Merge tag 'LA.QSSI.13.0.r1-08300-qssi.0' of https://git.codelinaro.org/clo/la/platform/build_repo into HEAD
"LA.QSSI.13.0.r1-08300-qssi.0"
Change-Id: Ie105f27345074ad2add54e1e59a2f1afd35f6746
2022-12-23 13:47:12 +09:00
Kelvin Zhang b7d70a2cb1 Fix VB 1.0 failure due to openssl output format change
Openssl changed output format, the 'keyid:' prefix is removed, hence old
regex is unable to extract key id.

Bug: 262902909
Change-Id: Iea5b6fffed7c27855d87e35292f07a56686e4197
Merged-In: I446a0b16e482c43542a1c0e41b24e80eb9fbc8e6
2022-12-22 19:29:26 +00:00
Hongguang Chen ef92656fd4 Support chained init_boot partition signing
Bug: 256048561
Bug: 256237041
Test: sign_target_files_apks -d certs --avb_init_boot_algorithm \
        SHA256_RSA4096 --avb_init_boot_key init_boot_rsa4096.pem \
	xxx.zip signed.zip (Check signed.zip/META/misc_info.txt)
Change-Id: I65fc7913089ae318d90df55a533d3e2ebd93b029
(cherry picked from commit 0d6b727e03)
Merged-In: I65fc7913089ae318d90df55a533d3e2ebd93b029
(cherry picked from commit acf1b3afe2)
(cherry picked from commit 425f7d1cb3)
(cherry picked from commit ac458b10812ff5c6d54bf906ba902a4366904b9f)
Merged-In: I65fc7913089ae318d90df55a533d3e2ebd93b029
2022-11-29 17:51:17 +00:00
Jose Galmes cb11a64e41 Remove system_dlkm from framework partitions.
Temporary fix for kalama build. The kalama build contains system_dlkm in
the vendor build, but the merge tools expect it in the framework build.

Bug: b/237704408
Change-Id: Ib8b70d6ae05c8b900d72a37939a17a30a712eb19
2022-11-22 09:13:53 -08:00
Hongguang Chen 425f7d1cb3 Support chained init_boot partition signing
Bug: 256048561
Bug: 256237041
Test: sign_target_files_apks -d certs --avb_init_boot_algorithm \
        SHA256_RSA4096 --avb_init_boot_key init_boot_rsa4096.pem \
	xxx.zip signed.zip (Check signed.zip/META/misc_info.txt)
Change-Id: I65fc7913089ae318d90df55a533d3e2ebd93b029
(cherry picked from commit 0d6b727e03)
Merged-In: I65fc7913089ae318d90df55a533d3e2ebd93b029
(cherry picked from commit acf1b3afe2)
2022-11-15 22:30:54 +00:00
Hongguang Chen acf1b3afe2 Support chained init_boot partition signing
Bug: 256048561
Bug: 256237041
Test: sign_target_files_apks -d certs --avb_init_boot_algorithm \
        SHA256_RSA4096 --avb_init_boot_key init_boot_rsa4096.pem \
	xxx.zip signed.zip (Check signed.zip/META/misc_info.txt)
Change-Id: I65fc7913089ae318d90df55a533d3e2ebd93b029
(cherry picked from commit 0d6b727e03)
Merged-In: I65fc7913089ae318d90df55a533d3e2ebd93b029
2022-11-08 04:26:24 +00:00
Nicholas Lim cbb8995bd9 releasetools: Use bsdiff for recovery patch by default
* imgdiff seems to have issues setting recovery bonus data, most probably
  due to libz from zlib-ng breaking it:

imgdiff W 08-05 00:09:03 245235 245235 imgdiff.cpp:1408] Failed to reconstruct target deflate chunk 3 []; treating as
normal
imgdiff E 08-05 00:09:03 245235 245235 imgdiff.cpp:1363] Failed to set bonus data

Traceback (most recent call last):
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/internal/stdlib/runpy.py", line 174, in _run_module_as_m
ain
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/internal/stdlib/runpy.py", line 72, in _run_code
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/__main__.py", line 12, in <module>
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/internal/stdlib/runpy.py", line 174, in _run_module_as_m
ain
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/internal/stdlib/runpy.py", line 72, in _run_code
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/make_recovery_patch.py", line 73, in <module>
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/make_recovery_patch.py", line 69, in main
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/common.py", line 3062, in MakeRecoveryPatch
  File "/roms/wave/out/host/linux-x86/bin/make_recovery_patch/make_recovery_patch.py", line 67, in output_sink
TypeError: argument 1 must be string or buffer, not None

Co-authored-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Change-Id: I9e17e243712ae01bee24db582d8e1f8fcb17115f
2022-10-10 04:28:55 +00:00
Steve Kondik 66f07dc33a Allow override of device asserts, including multi-device support.
Set in board file with TARGET_OTA_ASSERT_DEVICE.

ota_from_target_files: Remove device dependent arguments.

These device-specific arguments are defined at build time and are
necessary to generate the zip correctly. Don't use command line
arguments to specify them, but write all the needed information
in misc_info.txt when the target-files zip is generated.
ota_from_target_files will then read misc_info.txt and set
everything automatically.

Change-Id: Ibdbca575b76eb07b53fccfcea52a351c7e333f91
2022-09-24 15:42:25 +00:00
Jake Weinstein 56bce80c6d Revert "Allow build properties to be derived from partition-specific properties" [2/2]
Return to AOSP build identification logic

This reverts commit 7a76c7a49d.

* gotenksIN: update to a13

Change-Id: I83251d2a9efdabae9eea8590cfe8ffda24ac440c
Signed-off-by: Omkar Chandorkar <gotenksIN@aosip.dev>
2022-08-25 21:52:59 +00:00
Luca Stefani 0c79131fe1 Add AOSPA build support.
Squashed also with the following changes:

  Author: Simon Shields <simon@lineageos.org>
  Date:   Fri Mar 2 12:55:47 2018 +1100

    build: Unconditionally use AOSPA pathmap.

    even if we're not building a lineage target, we need to
    use the lineage pathmap to make things like recovery and ril
    happy

  Change-Id: I974c30ad10d4ff5b7805c3df9c22010f1e002bf1

  Author: Luca Stefani <luca.stefani.ge1@gmail.com>
  Date:   Tue Jan 22 15:50:52 2019 +0100

    Don't export BUILD_NUMBER in envsetup.

    * The value is meant to be set only before running an /official/ build
    * This allows us to execute consecutive make commands without
      running kati for every invocation

  Change-Id: Ifa94b839f30c7260009c8a3c91c202b50e28022e

Change-Id: I6ca3c6a68aa5ea78649b96ac86fb65ff7f489736
2022-08-24 13:44:11 +08:00
Benergy Meenan Ravuri e88c1e250d Add *_disable_sparse keys to misc info keys
Add below keys to framework misc info keys
 - system_disable_sparse
 - system_ext_disable_sparse
 - product_disable_sparse

CRs-Fixed: 3249666
Change-Id: I8bdef32258e73c311c7213d605ad4f4c5771bc45
2022-07-22 12:53:19 +05:30
Jose Galmes b446566172 Merge TP1A.220611.001
Change-Id: I20c736953139bc4f27a8e6e7ffaaa7d6f5d2b7df
2022-06-16 16:02:45 -07:00
Bob Badour ccf947490c Improve flags for compliance tools.
Bug: 235333302

Test: m droid dist reportmissinglicenses

Change-Id: I4090dae3d5d33d1908d67dff31aeee92d2b261da
Merged-in: I4090dae3d5d33d1908d67dff31aeee92d2b261da
2022-06-09 15:38:14 -07:00
Daniel Norman bf0e929e87 Merge TP1A.220513.001
Change-Id: I8feff4e5c5107f3465f9966254495513c8d03ace
2022-05-17 10:22:58 -07:00
Kelvin Zhang 25d69c8bf5 Temporary hack for making T->S downgrade work
Downgrade OTA was broken because generic_ramdisk was removed from boot
partition in android T. Neither does O6 have init_boot. O6 also doesn't
include generic ramdisk in vendor boot, so no way for otatools to locate
contents of generic ramdisk. As a hack, omit boot partition timestamp if
we can't find ramdisk.

Test: generate T->S downgrade OTA for O6
Bug: 231656318
Merged-In: I9f5359462332aadadc324348873a3a4b2b126068
Change-Id: I9f5359462332aadadc324348873a3a4b2b126068
2022-05-10 05:06:47 +00:00
Shashank Sivakumar a5aa3a51a0 Merge identical key/val pairs in dynamic partition info
We might add new values to dynamic_partition_info.txt, so some kind of
generic fallback mechanism is needed. If keys are different, we need to
decided on a case-by-case basis which side takes precedence. For
example, Virtual AB requires vendor support, so vendor side takes
precedence. VABC on T+ devices are implemented entirely in system, so
system/framework side takes precedence.

Bug: 230876542
CRs-Fixed: 3189260
Test: th
Change-Id: I67747368547d3ef3e29ad64f8f818ef4c5896246
(cherry picked from commit 6a683ce02b)
2022-05-09 11:08:17 -07:00
Kelvin Zhang f4406ca129 Merge identical key/val pairs in dynamic partition info
We might add new values to dynamic_partition_info.txt, so some kind of
generic fallback mechanism is needed. If keys are different, we need to
decided on a case-by-case basis which side takes precedence. For
example, Virtual AB requires vendor support, so vendor side takes
precedence. VABC on T+ devices are implemented entirely in system, so
system/framework side takes precedence.

Bug: 230876542
Test: th
Change-Id: I67747368547d3ef3e29ad64f8f818ef4c5896246
(cherry picked from commit 6a683ce02b)
Merged-In: I67747368547d3ef3e29ad64f8f818ef4c5896246
2022-05-06 21:40:14 +00:00
Deyao Ren c853473126 Merge "Merge TP1A.220422.001" into t-keystone-qcom-dev 2022-05-04 16:10:09 +00:00
Deyao Ren a9bb2a5624 Merge TP1A.220422.001
Change-Id: I7f791e877496cb54b40e7260f40d1493d2efc669
2022-05-03 23:33:55 +00:00
Daniel Norman 137cadfd4d Infers custom vendor partitions.
Rather than hardcoding a list of allowed vendor partitions, we accept
anything in the vendor target files that is not a framework partition.

Also extend support for inferred misc_info keys when the device uses
SYSTEM/product or SYSTEM/system_ext.

Test: test --host releasetools_test
Test: Use to merge a device with a custom IMAGES/*.img in the vendor
      build, and SYSTEM/system_ext in the system build.
Bug: 225902565
Change-Id: I638c0f9c019357150516ea6c208ecd60c03c450f
(cherry picked from commit 679242b877)
2022-04-29 15:23:45 -07:00
Scott Lobdell aabd3428c1 Merge TP1A.220414.003
Change-Id: I031cd452b7ab744a34cf1ae00e904b2e8fb801a2
2022-04-22 23:39:23 +00:00
Iavor-Valentin Iftime 42a7160300 Merge "Rebuild and copy recovery and boot img when using vendor_otatools" am: 71585eae2b am: 7ee275cb81 am: 9fd594c53c
Original change: https://android-review.googlesource.com/c/platform/build/+/2068347

Change-Id: Id6c31fc941b14f5349b3b43f314c1a97872a4b4e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21 17:06:22 +00:00
Iavor-Valentin Iftime 71585eae2b Merge "Rebuild and copy recovery and boot img when using vendor_otatools" 2022-04-21 16:07:12 +00:00
Lucas Wei 035fdee0ef Merge "vendor_kernel_boot: Update releasetools for vendor_kernel_boot" am: 2d5ecef1b3 am: bd66e32393 am: b8b3c0d0ab
Original change: https://android-review.googlesource.com/c/platform/build/+/2064760

Change-Id: Ibcf742f858c37141ab59cbd2d9c589ae15cf6ada
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21 04:48:40 +00:00
Lucas Wei 2d5ecef1b3 Merge "vendor_kernel_boot: Update releasetools for vendor_kernel_boot" 2022-04-21 03:07:15 +00:00
Lucas Wei 03230250a3 vendor_kernel_boot: Update releasetools for vendor_kernel_boot
add_img_to_target_files.py will re-make image and build a new
signed vbmeta.img with new images in target-file.
We need to add vendor_kernel_boot into AVB signing list and make it
support that image.

Test: make dist -j110 and check vbmeta.img
Bug: 214409109
Signed-off-by: Lucas Wei <lucaswei@google.com>
Change-Id: Id07433f3dc33f95e2edd49de890f1e098cb9ef31
2022-04-21 00:27:27 +08:00
Treehugger Robot 7ec455ad93 Merge "Adding BOARD_BUILD_GKI_BOOT_IMAGE_WITHOUT_RAMDISK" am: 95654c5113 am: fa33ae6ff8 am: 1a73e98758
Original change: https://android-review.googlesource.com/c/platform/build/+/2064761

Change-Id: I1e8ff054b8a9946bacf605f7565bbbc7941badeb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 06:03:43 +00:00
Iavor-Valentin Iftime 40adb17a1c Rebuild and copy recovery and boot img when using vendor_otatools
Rebuild recovery and boot images with vbmeta footers and copy together with recovery patch/install files when building vendor images using vendor otatools. Fixes validate_target_files failure.

Bug: 220126689
Bug: 186097910

Test: sign_target_files_apks \
        --vendor_otatools=otatools_vendor_dir \
	--vendor_partitions=vendor,odm \
	merged-target_files.zip \
	signed-target_files.zip
Test: validate_target_files signed-target_files.zip

Change-Id: Id45c67405bc37b769757db1701507f82cc6068d3
2022-04-19 18:35:36 +00:00
Bowgo Tsai 85578e0a9d Adding BOARD_BUILD_GKI_BOOT_IMAGE_WITHOUT_RAMDISK
GKI targets, e.g., `gki_arm64` or `gki_x86_64` have only
boot-*.img files without a ramdisk. It has no other images,
e.g., init_boot.img, system.img, etc.

The current build system assumes that the ramdisk is either
in a boot.img or in a init_boot.img, which is not true for
those GKI targets. Adding a new flag to support building
boot-*.img without a ramdisk while not building an init_boot.img.

Bug: 220834917
Test: build and `unpack_bootimg`
Change-Id: I789343c3e3d9ff0c36c0e19680a9792bd31a1c9f
2022-04-19 17:57:51 +08:00
Treehugger Robot f1efdd1877 Merge "Add build flags for legacy EROFS support." am: 80d2c8f7a7 am: 05c690dd2e am: 2d16d3be49
Original change: https://android-review.googlesource.com/c/platform/build/+/2009556

Change-Id: Iffa5eaf98453601e7edf7f012c28bcb1438193f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-16 06:15:22 +00:00
Treehugger Robot 80d2c8f7a7 Merge "Add build flags for legacy EROFS support." 2022-04-16 05:10:04 +00:00
Treehugger Robot 8c466713ba Merge "Rename listshare and checkshare." am: e487fa3ccb am: 4a2f1f84d0 am: cb37ac62d4
Original change: https://android-review.googlesource.com/c/platform/build/+/2063382

Change-Id: I60de77769edf786c0d91098a5e340a37328a5f5e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 23:19:19 +00:00
Treehugger Robot e487fa3ccb Merge "Rename listshare and checkshare." 2022-04-14 22:09:15 +00:00
Cole Faust 28afecfd45 Merge "Remove usages of long-form variables" am: b760b469c7 am: 85f941cf3a am: c091ee15fb
Original change: https://android-review.googlesource.com/c/platform/build/+/2064287

Change-Id: I2610a8c39679c34cb82cb4dbd679dadf5f797666
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 18:23:48 +00:00
Cole Faust 81f1e92ed8 Remove usages of long-form variables
The long-form variables (PRODUCTS.<makefile>.<variable>)
are used to get information about multiple products.
However, they've never really worked correctly, and so
importing multiple products is deprecated behavior.

Remove as many usages of the long-form variables and
multi-product imports as possible.

Bug: 228518445
Test: Manually
Change-Id: I0b67f16360ff8bdcdb39638de739440472bccf76
2022-04-13 15:49:56 -07:00
Melisa Carranza Zúñiga 93fa6589df Merge "Revert "Merge "Adding flags and logic to sign updateable SEPolicy in APEX" am: 77c1dfa6d9 am: 5a0d81a0be am: 54e08307dc"" into tm-dev 2022-04-13 20:36:42 +00:00
Bob Badour 213095a919 Rename listshare and checkshare.
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m droid dist reportmissinglicenses
Change-Id: I223c4496d776a1bbd4fdce31ed79a638ed3491d8
2022-04-13 11:04:43 -07:00
Melisa Carranza Zúñiga 61e1dd0da5 Revert "Merge "Adding flags and logic to sign updateable SEPolicy in APEX" am: 77c1dfa6d9 am: 5a0d81a0be am: 54e08307dc"
This reverts commit 8fe9e3a2c7.

Reason for revert: Updateable SEPolicy is punted.

Change-Id: I28ae2afbb1083e215f4e0a27a9164133cd73dd76
2022-04-13 16:23:45 +00:00
Melisa Carranza Zúñiga ef72d2822e Merge "Revert "Merge "Adding sepolicy sign params to sign_target_files_apks." am: fb042449e0 am: bd8c313275 am: a2db49becd"" into tm-dev 2022-04-13 13:51:51 +00:00
Melisa Carranza Zúñiga 69e6d82106 Revert "Merge "Adding sepolicy sign params to sign_target_files_apks." am: fb042449e0 am: bd8c313275 am: a2db49becd"
This reverts commit 6e6c22c70e.

Reason for revert: Updateable SEPolicy is punted.

Change-Id: I99524d13811028a4036aa85c74cf10974fe08165
2022-04-12 23:22:11 +00:00
Treehugger Robot 8a3608e5f4 Merge "change logtags dependency to provide java sources" am: 84a39ac3f0 am: 1b14ac6ba6 am: 2f101fbc2b
Original change: https://android-review.googlesource.com/c/platform/build/+/2045664

Change-Id: Icdd5a31eefe6c09c29fbddc6d07efcf610dc673e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-08 23:49:42 +00:00