Garret Rieger
7a72b20aa2
[subset] Subset GDEF during layout subsetting tests.
2020-09-24 15:58:48 -07:00
Ebrahim Byagowi
6e32145dc9
[meson] Make compatbile with 0.47.0
2020-08-13 18:28:42 +04:30
Ebrahim Byagowi
5193357832
Revert "Remove autotools build support"
...
This reverts commit 01ac32aab2
.
2020-08-11 23:51:59 +04:30
Ebrahim Byagowi
01ac32aab2
Remove autotools build support
2020-08-07 23:28:12 +04:30
Ebrahim Byagowi
d38d63319b
[tests] minor
2020-07-27 09:19:29 +04:30
Ebrahim Byagowi
322426f8c8
[tests] Use TTFont of fonttools to avoid temp files
2020-07-27 09:12:43 +04:30
Hamidreza Bayat
08fef15818
Use fonttools's python package instead of cli
2020-07-27 09:09:06 +04:30
Ebrahim Byagowi
47a0fbec31
[meson] Mark longer tests with slow
...
So one can skip them easily by `meson test -Cbuild --no-suite slow`
2020-06-21 08:47:10 +04:30
Ebrahim Byagowi
4e7cb7e2c4
minor, fix lists sorting
2020-06-12 01:38:16 +04:30
Qunxin Liu
973c47f6c9
[subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS.
...
2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features
2020-06-12 01:20:30 +04:30
Ebrahim Byagowi
6f7048b917
[meson] Update subset tests list from autotools
2020-06-04 10:18:35 +04:30
Ebrahim Byagowi
a9d13463b5
[meson] Categorize tests using `suite: [...]`
...
So one can run a category of interested tests like
meson test -Cbuild --suite aots --suite src --print-errorlogs
Intead issuing particular tests which also is possible like
meson test -Cbuild test-shape --print-errorlogs
2020-05-30 16:58:46 +04:30
Qunxin Liu
3c5bdd9bb8
[subset] GDEF AttachList subsetting support
2020-05-28 16:22:13 -07:00
Ebrahim Byagowi
368ca30641
minor on python scripts
...
* remove not needed imports
* remove semicolons
2020-05-29 00:48:32 +04:30
Ebrahim Byagowi
ad87155fd0
minor, use py3's open(encoding=)
2020-05-29 00:11:19 +04:30
Ebrahim Byagowi
cd5580e2d6
minor, enable printing to stderr in run-tests.py
...
As was originally intended https://github.com/harfbuzz/harfbuzz/blob/3ce6c7b/test/shaping/run-tests.sh
2020-05-28 23:43:58 +04:30
Ebrahim Byagowi
7554f618ec
minor, use sys.exit print shorthand
2020-05-28 23:34:37 +04:30
Qunxin Liu
593e58c842
[subset] ChainContext subsetting fix: add lookup index remapping
2020-05-27 16:58:15 -07:00
Qunxin Liu
d7c012a08e
[subset] GDEF Variation Store: step 2
...
do subset based on variation indices collected in step 1
2020-05-21 12:43:24 -07:00
Ebrahim Byagowi
cc53fd158c
[meson] Normalize options names
...
As https://github.com/harfbuzz/harfbuzz/pull/2412#discussion_r426275027
2020-05-21 19:33:18 +04:30
Ebrahim Byagowi
f7562672f9
[meson] Use / instead join_paths
...
We need some of the very recent features of meson, let's use the new features also
2020-05-21 18:52:31 +04:30
Ebrahim Byagowi
4b12b8466f
[meson] Increase timeout in hope to resolve Actions' bot timeout
2020-05-21 14:23:36 +04:30
Ebrahim Byagowi
1c4dd79cfb
[ci] Increase timeout as gh bot issue isn't resolved by serial test
2020-05-21 08:52:05 +04:30
Ebrahim Byagowi
8667df552c
[meson] Unbreak the build, oops
2020-05-21 07:19:37 +04:30
Ebrahim Byagowi
37f9cccc21
[meson] Don't run subset tests in parallel
...
Hopefully resolves https://github.com/harfbuzz/harfbuzz/runs/695051808#step:6:700 for now
2020-05-21 07:17:18 +04:30
Qunxin Liu
8b5d3ebd96
[subset] GSUB5/GPOS7 Contextual Subst/Pos Subtbale Subsetting support
2020-05-20 15:12:54 -07:00
Ebrahim Byagowi
0722889a6e
[meson] increase subset tests timeout
...
https://github.com/harfbuzz/harfbuzz/runs/676665822#step:6:570
fails because meson runs the tests in parallel, correct fix will be making the tests smaller
2020-05-15 10:10:27 +04:30
Qunxin Liu
b2a965df5e
[subset] Add support for "--gids" option
...
cmap subsetting now retains entries associated with any glyph ids explicitly requested
2020-05-11 15:28:58 -07:00
Qunxin Liu
e53c44e326
[subset] temporarily revert previous cmap commit
...
Required in https://github.com/harfbuzz/harfbuzz/issues/2356
2020-04-25 12:21:22 +04:30
Ebrahim Byagowi
750bb73e32
[meson] Add an experimental-api option
2020-04-21 01:26:08 +04:30
Ebrahim Byagowi
0181f03019
[test] Workaround Windows pipe issue by storing ttx in a file
2020-04-20 18:32:35 +04:30
Christoph Reiter
2354a90008
tests: fix subset/run-tests.py under Windows
...
It assumed that stdout of a subprocess in binary mode was using
utf-8 which isn't the case. Instead open stdout of the subprocess
in text mode and let Python handle the decoding.
2020-04-18 23:34:26 +04:30
Ebrahim Byagowi
29c903223b
Move hb_ot_layout_closure_{features,lookups} behind EXPERIMENTAL flag
2020-04-17 22:25:45 +04:30
Qunxin Liu
c8cc1e378d
fix issues in ClassDefFormat1 serialize:
...
glyph ids in Iterator may be non-consecutive,
so the number in classValue might be larger than length of the Iterator
2020-04-03 12:31:48 -07:00
Ebrahim Byagowi
78622231ac
[meson] More comment on tests are causing timeout failure
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
b5526a09ff
[tools] Remove in-house 'which' now that we have py3
2020-03-19 10:32:46 +00:00
Ebrahim Byagowi
12df69e59c
Minor, delete not needed cmake testing file
2020-03-11 21:52:43 +03:30
Ebrahim Byagowi
943bfeda53
[meson] Enable more of the subset tests
2020-03-11 21:49:26 +03:30
Ebrahim Byagowi
c494d7abcd
Remove cmake testing and add meson build bot
...
CMake tests are broken anyway as py3 changes so let's get rid of them
2020-03-11 20:15:10 +03:30
Ebrahim Byagowi
1c3f80ba13
[meson] Minor updates
2020-03-11 20:15:10 +03:30
Tim-Philipp Müller
8fc66dbf9f
meson: tests: subset: no need to check for 'which' command any more
...
Test runner script now handles that.
2020-03-11 19:18:57 +03:30
Mathieu Duponchelle
d4a7237327
meson: all tests passing on Windows / MSVC
2020-03-11 19:18:57 +03:30
Mathieu Duponchelle
920efc0ef7
Add Meson build definitions
...
Fixes #490
http://mesonbuild.com
2020-03-11 19:18:57 +03:30
Qunxin Liu
5ad761b943
[subset] GDEF MarkGlyphSets subsetting support
2020-02-26 15:15:21 -08:00
Qunxin Liu
fcd7f33bbb
[subset] GDEF glyphClassDef subsetting support
...
glyphClassDef uses the same ClassDef format. However, glyphClassDef table
uses predefined class values so we do not remap class values.
2020-02-26 11:10:31 -08:00
Garret Rieger
411225426f
Fix glyph closure for alternate substitution.
...
It was not filtering on the glyphs to be retained.
2020-02-21 13:01:23 +03:30
Ebrahim Byagowi
8d19907704
Remove python2 support from tests/utils scripts
2020-02-19 16:17:45 +03:30
Qunxin Liu
493e40ff78
[subset] add one empty byte to glyf table
...
if it's going to end up empty after subsetting
This will make OTS happy and match what fontTools is doing now.
2020-02-19 12:24:38 +03:30
Qunxin Liu
eb7849a806
[subset] GPOS6 MarkToMark subsetting support
2020-02-06 10:46:05 -08:00
Qunxin Liu
82afc75835
[subset] GPOS4 MarkBase subsetting support
2020-02-06 10:46:05 -08:00
Ebrahim Byagowi
43253e404d
Merge remote-tracking branch 'upstream/master'
2020-02-05 17:45:19 +03:30
Ebrahim Byagowi
a7f694d4b0
Merge branch 'subset_cblc' into master
2020-02-05 16:31:21 +03:30
ckitagawa-work
774725b43a
[subset] Avoid incorrectly dropping cmap for NotoColorEmoji.ttf
...
NotoColorEmoji.ttf uses two cmap subtables
Format 14 | Platform ID 0 | Platform Encoding ID 5
Format 12 | Platform ID 3 | Platform Encoding ID 10
This combination results in the cmap table being dropped during subsetting despite being valid/required.
2020-02-05 16:13:10 +03:30
Qunxin Liu
490ef1cc23
[subset] Fix namerecord ordering
...
This will fix inconsistency with fontTools.
Also according to the spec, namerecords must be sorted
first by platform ID, then by platform-specific ID,
then by language ID, and then by name ID.
2020-02-01 23:07:47 +03:30
ckitagawa
e128f80278
parent 777ba47b50
...
author ckitagawa <ckitagawa@chromium.org> 1579631743 -0500
committer ckitagawa <ckitagawa@chromium.org> 1580506176 -0500
[subset] Add CBLC support
2020-01-31 16:37:30 -05:00
Qunxin Liu
b6a8f5e63c
[subset] CMAP table subsetting fix
...
Not all codepoints smaller than 0xFFFF go to cmap4 table.
Only subset codepoints existing in each table.
This will also make harfbuzz consistent with fontTools' behavior
2020-01-31 10:49:44 -08:00
ckitagawa
ed857c4680
[subset] Add COLR support
2020-01-28 15:35:53 -05:00
Ebrahim Byagowi
d1830437c9
[tests] Apply expected results of Mplus1p-Regular subset
...
Related to #2131
2020-01-25 00:09:50 +03:30
Qunxin Liu
36a5c042d7
[subset] Add "--name-languages" and "--name-legacy" options
...
Make name table subsetting consistent with fontTools
2020-01-24 23:17:04 +03:30
Ebrahim Byagowi
e171beeb5f
Revert "[subset] Add "--name-languages" and "--name-legacy" options"
...
Causes tests failures, please reapply when tests are fixed, thanks.
This reverts commit fd85818b5b
.
2020-01-24 19:51:32 +03:30
Qunxin Liu
fd85818b5b
[subset] Add "--name-languages" and "--name-legacy" options
...
Make name table subsetting consistent with fontTools
2020-01-23 17:24:05 -08:00
Qunxin Liu
c370da45ff
[subset] Cmap table: remove encodingRecord entry for empty cmap4 subtable
2020-01-23 17:23:55 -08:00
Qunxin Liu
a3cf4ae080
[subset] Add more tests for GPOS1 subsetting
...
These tests were left out because of issue: https://github.com/fonttools/fonttools/issues/1709
Now re-adding these tests since the issue is resolved.
2020-01-17 13:33:46 -08:00
Qunxin Liu
e565d1f9bc
[subset] subset lookup/feature/script lists for GSUB/GPOS
2020-01-15 14:04:33 -08:00
ckitagawa
93376a6436
Add unittests
2020-01-15 13:36:01 -08:00
ckitagawa
78b50a67be
Address initial comments
2020-01-15 13:36:01 -08:00
ckitagawa
43b6c865ae
[subset] Support sbix subsetting
2020-01-15 13:36:01 -08:00
Qunxin Liu
1db2c1d0da
fix for cmap4 and OS_2 subsetting: maximum character code allowed is 0xFFFF
2020-01-09 10:00:32 -08:00
blueshade7
ea8fdfa079
Merge branch 'master' into var-subset
2019-11-22 15:59:09 -08:00
Qunxin Liu
1f0a9d9be9
[subset] GPOS Lookup Type 2: PairPos
2019-10-21 12:35:28 -07:00
Qunxin Liu
b66094ada0
[subset] GSUB Lookup Type 6: ChainContextSubst
2019-10-18 16:52:55 -07:00
Ebrahim Byagowi
19d45dcab7
Merge remote-tracking branch 'upstream/master' into var-subset
2019-10-03 13:39:17 +03:30
Qunxin Liu
b0c3eb06b6
[subset] GPOS Lookup Type 3: CursivePos
2019-09-25 05:43:25 +09:00
Qunxin Liu
bf66d1bf58
[subset] Add integration tests for cmap14
2019-09-20 07:55:11 +09:00
Behdad Esfahbod
52d19ba459
Minor
2019-09-04 11:28:40 -04:00
Ebrahim Byagowi
9ff32b79b3
Merge remote-tracking branch 'upstream/master' into glyf-rebase
2019-08-29 19:53:18 +04:30
Qunxin Liu
321d5588d4
[subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable
2019-08-06 14:06:35 -07:00
blueshade7
4cba7bdae9
regenerate Confortaa subset test expected results
2019-07-18 14:03:33 -07:00
blueshade7
a76d8b0d55
Merge commit '504bb17287c978d60a4a515555852465319f74ed' into var-subset
2019-07-17 14:12:06 -07:00
Qunxin Liu
1da1b4dc94
[subset] For option "--unicodes", add support for "*" to retain all code points
2019-07-15 11:18:50 -07:00
blueshade7
0eef8113d8
retain gids in HVAR so in sync with fontTools
...
regenerate Comfortaa subset test results
2019-07-09 11:43:59 -07:00
blueshade7
6e35668b45
fix var-subset build
2019-07-09 09:47:54 -07:00
blueshade7
8bf989ea70
update from master
2019-07-08 17:13:29 -07:00
Michiharu Ariza
82d4bfb8f3
enable cff subset tests
...
add Unicode UCS-4 cmap
fix Unicode bits in OS/2
add Unicode cmap sub-table in SourceHanSans-Regular_subset.otf
regenerate cff subset test expected results
2019-06-14 11:08:59 -07:00
Michiharu Ariza
6f35cf7a63
regenerate SourceSerifVariable expected subset results
2019-06-06 09:15:34 -07:00
Michiharu Ariza
66361c72f6
restore gvar/MVAR/HVAR tables in subset tests
2019-06-05 14:51:04 -07:00
Michiharu Ariza
4ddab6facc
Merge branch 'master' into var-subset
2019-06-05 11:21:27 -07:00
Ebrahim Byagowi
13316ac5d4
[test] minor style improve
2019-05-28 13:48:39 +04:30
Qunxin Liu
993d81b9c5
[subset] Add one ttf file with fvar/STAT tables to integration test
...
Ignore gvar/MVAR/HVAR table
add support for --nameIDs=* option
2019-05-22 17:20:45 -07:00
Garret Rieger
b928de91a7
[subset] Add test/subset/data/expected/layout to dist list.
2019-05-21 13:02:11 -07:00
Garret Rieger
c740c8636b
[subset] Add integration tests for SingleSubst.
2019-05-21 13:02:11 -07:00
Garret Rieger
6555f20958
[subset] Truncate empty gids at the end in retain-gids mode.
2019-05-16 10:34:53 -07:00
Behdad Esfahbod
49b1c763a0
[test] Run "fonttools ttx" instead of "ttx"
2019-05-02 16:19:34 -07:00
Michiharu Ariza
1223a352b7
Merge branch 'master' into var-subset
2019-04-29 16:43:48 -07:00
Qunxin Liu
6faac8df83
[subset] Subsetting Name Table Step 4
...
Add unit test and integration test
2019-04-26 15:24:47 -07:00
Michiharu Ariza
9e79285ef3
Merge branch 'master' into var-subset
2019-04-10 17:24:29 -07:00
Michiharu Ariza
e44b83aac0
replace test font SourceHanSans with its subet
2019-04-05 10:15:08 -07:00
Michiharu Ariza
b3007ec209
regenerated expected full fonts data after fontTools bug 1550 fixed
2019-03-29 18:26:46 -07:00
Michiharu Ariza
fe5aa8b36c
added TT VF full font test & fixed bugs
...
updated CFF2 VF api test results too
2019-03-29 18:26:46 -07:00
Michiharu Ariza
a5e933eba0
Updated expected/cff-japanese fonts with retained FDs
2019-02-08 14:44:13 -08:00
Michiharu Ariza
9328354a83
separate CFF from TrueType in full font tests
2019-02-04 11:28:15 -08:00
Michiharu Ariza
ec30a8a9ac
removed unused test data
2019-02-01 15:58:03 -08:00
Michiharu Ariza
c12862657f
added desubroutinize & retain-gids full test cases with CFF fonts
...
and CFF retain-gids fixes
2019-02-01 14:50:01 -08:00
Garret Rieger
e6ffcc5904
[subset] Add expected files for retain-gids integration tests.
2019-01-29 13:19:21 -08:00
Garret Rieger
a903f9c228
[subset] Add some subsetting integration tests covering retain gids.
2019-01-29 13:19:21 -08:00
cclauss
26c5b54fb0
CircleCI: Test for Python 3 syntax errors and undefined names ( #1522 )
...
Catch missing imports and errors like #1520 and #1521
__E901,E999,F821,F822,F823__ are the "_showstopper_" [flake8](http://flake8.pycqa.org ) issues that can halt the runtime with a SyntaxError, NameError, etc. Most other flake8 issues are merely "style violations" -- useful for readability but they do not effect runtime safety.
* F821: undefined name `name`
* F822: undefined name `name` in `__all__`
* F823: local variable name referenced before assignment
* E901: SyntaxError or IndentationError
* E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree
2018-12-31 07:00:43 +03:30
Behdad Esfahbod
686e6f2e40
Fix automake warnings
...
[skip ci]
2018-12-30 11:28:06 -05:00
cclauss
b5c12b9f4d
print() is a function in Python 3 ( #1520 )
2018-12-30 15:37:28 +03:30
Michiharu Ariza
d8fadec098
added desubroutinize full font test profiles & expected fonts
...
modified subset_test_suite.py to apply desubroutinize profiles to CFF only (not to TT)
2018-11-04 13:12:20 -08:00
Michiharu Ariza
f5f505b512
Merge branch 'master' into cff-subset
2018-10-09 10:10:35 -07:00
Behdad Esfahbod
cc126f2817
Minor
2018-10-09 01:10:15 -04:00
Michiharu Ariza
321e592333
Added desubroutinize option to generate-expected-outputs.py
...
Currently hb-subset always desubroutinizes CFF fonts.
Note that even with this option fonttools won't generate the expected subset CFF fonts. They were manually created & tweaked to match hb-subset output.
2018-09-20 10:31:06 -07:00
Michiharu Ariza
1377adc8a8
Added SourceHanSans-Regular for CFF subset test
...
Disabled FDSelect serialization to format 0 for compatibility with fonttools
2018-09-19 17:00:10 -07:00
Michiharu Ariza
bf4eb2e4cf
Added SourceSansPro-Regular along as CFF full-font test case
...
derived "expected" subset fonts from fonttools then manually tweaked further so they resemble hb-subset output
2018-09-18 15:53:37 -07:00
Ebrahim Byagowi
f57804a8a5
Resolve ttx absolute path before use ( #1075 )
2018-06-25 18:45:49 +04:30
Garret Rieger
b0d7971be0
[subset] Updated expected files for japanese subset integration tests to include cmap4.
2018-05-04 11:20:03 -07:00
Garret Rieger
7947927317
[subset] Update expected files for subset integration tests to include cmap4.
2018-05-04 11:20:03 -07:00
violet-sippial
93b03119da
[subset] Do not compare ttx progress output in the tests
...
Suppress progress messages of ttx. This avoids comparing this output to the reference file which lets the test fail.
2018-04-30 17:28:02 -07:00
Garret Rieger
535fb23c02
[subset] Add integration tests for cmap breakge.
2018-04-19 12:51:51 -06:00
Ebrahim Byagowi
cab2c2c08c
Make more gen-* scripts py3 compatible ( #940 )
2018-03-29 12:48:47 +04:30
Chun-wei Fan
eda6a5ea80
CMake: Fix running tests on Windows
...
For the API tests, output the test programs at $(TOP_BUILDDIR) so that
the freshly-built DLLs will be available for the test programs. For
those that are run through the Python wrapper scripts, use
${PYTHON_EXECUTABLE} instead of plain 'python' in case the Python
interpreter is not in the PATH.
2018-03-13 20:17:58 +08:00
Ebrahim Byagowi
9206762bbd
Make subset test runner compatible with py3
...
Fixes #873
2018-03-09 15:43:03 +03:30
Garret Rieger
8548fa1522
[subset] Drop cmap 12, platform 0 tables from Mplus1p expected files.
2018-03-08 13:44:04 -08:00
Garret Rieger
9b00b9a10d
[subset] Fix deadlock waiting for process output in subset test runner.
2018-03-08 13:44:04 -08:00
Garret Rieger
bfec28a7db
[subset] add some extra logging to subset run-tests.py.
2018-03-08 13:44:04 -08:00
Garret Rieger
c7d814eaa8
[subset] Add japanese font file to subset integration tests.
2018-03-08 13:44:04 -08:00
Garret Rieger
b4ba71ea7c
[subset] In subset integration test pass output through ots-sanitize if present.
2018-02-28 16:16:17 -08:00
Garret Rieger
904dd7beea
[subset] Add drop hinting profile to full-font.tests
2018-02-27 17:23:44 -08:00
Garret Rieger
70a1049b3f
[subset] Add a drop hints profile to basics.tests
2018-02-27 17:23:44 -08:00
Garret Rieger
5241d7f4b9
[subset] apply subset profiles (flags) to the subset integration tests.
2018-02-27 17:23:44 -08:00
Garret Rieger
a4aca190a9
[subset] add expected/full-font to dist files.
2018-02-27 17:23:44 -08:00
Garret Rieger
d31ace3274
[subset] Add subset integration tests using the full roboto font.
2018-02-27 17:23:44 -08:00
Garret Rieger
33f4381314
[subset] Add some more variations of the basic test.
2018-02-27 17:23:43 -08:00
Garret Rieger
e15e41ef12
[subset] Remove commented code from run-tests.py.
2018-02-23 10:51:49 -08:00
Garret Rieger
2b84480343
[subset] Update expected files for subsetting integration test to not include cmap 4.
2018-02-23 10:51:49 -08:00
Garret Rieger
a88504c601
[subset] Fix checksum clearning in subset test diff. Add an updated expected file (has cmap4 restored).
2018-02-23 10:51:49 -08:00
Garret Rieger
537698b601
[subset] Don't compare actual to itself in Fix test/subset/run-tests. Print a diff on failure.
2018-02-23 10:51:49 -08:00
Garret Rieger
04c1ec2b73
[subset] Don't fail on different checksum adjustment in subsetting tests.
2018-02-14 17:01:20 -08:00
Garret Rieger
b0eefacf4c
[subset] Drop GSUB, GDEF, GPOS, and DSIG from subsetter expected test outputs.
2018-02-14 10:19:50 -08:00
Behdad Esfahbod
41906cd5ef
[subset] Another fixup
...
I broke this in c31fcf4c58
2018-02-11 19:46:06 -06:00
Ebrahim Byagowi
ae6d0259b4
Install fonttools on two bots and enable cmake hb-subset test ( #777 )
2018-02-11 15:40:55 +03:30
Garret Rieger
3e81832432
Disable subset tests on cmake for now.
2018-02-08 18:05:48 -06:00
Behdad Esfahbod
e081c9e8fc
Oops!
2018-02-08 17:44:24 -06:00
Behdad Esfahbod
1c49afe179
Whitespace
2018-02-08 17:38:58 -06:00
Garret Rieger
d4d120ad79
Skip subset to fonttools comparison test if TTX is not present.
2018-02-08 17:31:11 -06:00
Garret Rieger
29d915284e
Whitespace
2018-02-08 17:31:11 -06:00
Garret Rieger
f9420d9eff
In the hb-subset to fontTools comparison, use ttx to compare the fonts. This allows for some binary differences such as re-ordered tables.
2018-02-08 17:31:11 -06:00
Garret Rieger
7b01761ade
Add CMakeLists.txt to dist files for subset test.
2018-02-04 12:57:34 -08:00
Garret Rieger
f83a43b561
Add CMake configuration for all of the new subsetting code.
2018-02-04 12:57:34 -08:00
Garret Rieger
06fe297f2a
Properly include subset test data files.
2018-02-04 12:57:34 -08:00