harfbuzz/src
Behdad Esfahbod f4072e8cb8 [morx] Remove mark_set from Insertion
text-rendering-tests test MORX-32 shows that for Insertion, an unset mark is treated
as mark set at 0.  This is unlike the Reordering lookup where un unset mark performs
nothing.

Fixes MORX-32.
2018-09-28 10:14:23 -04:00
..
hb-ucdn [ucdn] Update to Unicode 11 2018-06-05 17:59:41 -07:00
Makefile.am Remove dump-fon (#1100) 2018-07-17 23:29:16 +04:30
Makefile.sources Revert "Remove unused hb_cache_t" 2018-09-11 12:07:39 +02:00
check-c-linkage-decls.sh Minor 2018-01-04 16:06:25 +00:00
check-externs.sh Check for headers in builddir first, in check-*.sh 2017-10-25 12:09:11 -04:00
check-header-guards.sh Improve tests (#679) 2018-01-05 12:42:20 +03:30
check-includes.sh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
check-libstdc++.sh Allow libharfbuzz-subset to link to libstdc++ 2018-02-12 18:41:36 -08:00
check-static-inits.sh [check-static-inits.sh] Allow some if ubsan is in effect 2018-09-24 13:11:34 -04:00
check-symbols.sh [check-symbols.sh] Allow weak objects "V" 2018-09-24 13:04:48 -04:00
dev-run.sh [dwrite] minor 2018-03-25 18:41:26 +04:30
dump-emoji.cc Remove OT namespace from hb-machinery-private.hh 2018-08-02 00:08:08 -07:00
dump-indic-data.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
dump-khmer-data.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
dump-myanmar-data.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
dump-use-data.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
gen-arabic-table.py Make gen-* scripts LC_ALL=C compatible (#942) 2018-03-29 22:00:41 +04:30
gen-def.py gen-def.py: pass headers as arguments so that msys2 can convert posix paths 2018-07-09 18:11:33 +01:00
gen-indic-table.py Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
gen-unicode-ranges.py Make more gen-* scripts py3 compatible (#940) 2018-03-29 12:48:47 +04:30
gen-use-table.py Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
harfbuzz-config.cmake.in Fix infinite loop when walking up the directory hierarchy (#1183) 2018-09-27 18:03:49 +03:30
harfbuzz-gobject.pc.in
harfbuzz-icu.pc.in
harfbuzz-subset.pc.in [subset] Build hb-subset into separate libharfbuzz-subset.so 2018-02-04 20:18:52 -05:00
harfbuzz.pc.in [coretext] Use fabsf() instead of abs() 2017-10-12 10:46:09 +02:00
hb-aat-layout-ankr-table.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-aat-layout-bsln-table.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-aat-layout-common.hh [aat] Minor 2018-09-19 17:32:21 -04:00
hb-aat-layout-feat-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-aat-layout-kerx-table.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-aat-layout-morx-table.hh [morx] Remove mark_set from Insertion 2018-09-28 10:14:23 -04:00
hb-aat-layout-trak-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-aat-layout.cc [ot-face] Remove tables_t. The face_data_t is what tables_t was 2018-08-26 15:18:46 -07:00
hb-aat-layout.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-aat-ltag-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-atomic.hh More atomic tuneup 2018-09-28 09:13:14 -04:00
hb-blob.cc Make TSan happy with make_immutable() 2018-09-26 15:03:07 -04:00
hb-blob.h Add hb_blob_create_from_file, a new API (#926) 2018-04-20 07:59:06 +02:00
hb-blob.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-buffer-deserialize-json.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-buffer-deserialize-json.rl Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-buffer-deserialize-text.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-buffer-deserialize-text.rl Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-buffer-serialize.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-buffer.cc [docs] A few improvements 2018-09-24 10:43:06 -04:00
hb-buffer.h [docs] A few improvements 2018-09-24 10:43:06 -04:00
hb-buffer.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-cache.hh [cache] Use atomic writes in clear() 2018-09-27 16:54:23 -04:00
hb-common.cc Don't enforce a native direction for Old Hungarian 2018-09-17 18:53:25 +02:00
hb-common.h Add HB_FEATURE_GLOBAL_START/END 2018-09-11 01:27:25 +02:00
hb-coretext.cc Fix iOS build 2018-09-25 12:47:48 -04:00
hb-coretext.h [coretext] Add hb_coretext_font_create() 2017-12-02 14:52:57 -08:00
hb-debug.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-deprecated.h Deprecate hb_set_invert() 2017-10-15 16:28:34 -03:00
hb-directwrite.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-directwrite.h [dwrite] Cosmetic change (#963) 2018-04-11 18:00:13 +04:30
hb-dsalgs.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-face.cc Make TSan happy with make_immutable() 2018-09-26 15:03:07 -04:00
hb-face.h [face] Introduce character-map API 2018-08-25 22:44:39 -07:00
hb-face.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-fallback-shape.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-font.cc Make TSan happy with make_immutable() 2018-09-26 15:03:07 -04:00
hb-font.h 1.8.6 2018-08-07 09:55:42 -07:00
hb-font.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ft.cc [ft] Make TSan happy 2018-09-26 16:40:59 -04:00
hb-ft.h [ft] Add hb_ft_font_changed() 2017-10-12 10:33:16 +02:00
hb-glib.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-glib.h Support building with older glib versions 2016-12-18 01:37:07 -06:00
hb-gobject-enums.cc.tmpl Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-gobject-enums.h.tmpl Clean up check-defs and check-symbols (#821) 2018-02-24 00:49:34 +03:30
hb-gobject-structs.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-gobject-structs.h [gobject] Fix copy/paste error 2018-08-01 00:19:25 -07:00
hb-gobject.h
hb-graphite2.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-graphite2.h [graphite] Make get_table threadsafe (#931) 2018-03-29 17:28:47 -07:00
hb-icu.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-icu.h
hb-iter.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-machinery.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-map.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-map.h 1.7.7 2018-06-05 15:18:16 -07:00
hb-map.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-mutex.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-null.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-object.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-open-file.hh [dfont] Disable null-processsing for offsets 2018-09-14 18:59:53 +02:00
hb-open-type.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-ot-cmap-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-color-cbdt-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-ot-color-colr-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-ot-color-cpal-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-ot-color-sbix-table.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-color-svg-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-ot-color.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-face.cc [ot-face] Remove tables_t. The face_data_t is what tables_t was 2018-08-26 15:18:46 -07:00
hb-ot-face.hh [ot-face] Remove tables_t. The face_data_t is what tables_t was 2018-08-26 15:18:46 -07:00
hb-ot-font.cc [ot-font] Rename 2018-09-11 12:57:41 +02:00
hb-ot-font.h
hb-ot-glyf-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-hdmx-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-head-table.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-hhea-table.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-hmtx-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-kern-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-layout-base-table.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-layout-common.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-ot-layout-gdef-table.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-ot-layout-gpos-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-layout-gsub-table.hh Rename HeadlessArrayOf::len to lenP1 2018-09-13 20:21:54 +02:00
hb-ot-layout-gsubgpos.hh More iter inits 2018-09-24 18:30:50 -04:00
hb-ot-layout-jstf-table.hh Disallow null-enabled offsets to unsized structures... 2018-09-15 19:43:33 +02:00
hb-ot-layout.cc Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-ot-layout.h Revert "Add a new API, hb_ot_layout_get_feature_name_ids (#976)" (#1121) 2018-08-01 12:15:44 +04:30
hb-ot-layout.hh [unicode] Move Fitzpatrick hack from ot-layout into unicode.hh 2018-09-14 14:23:09 +02:00
hb-ot-map.cc Some more 2018-09-24 18:04:17 -04:00
hb-ot-map.hh Minor 2018-09-24 19:07:23 -04:00
hb-ot-math-table.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-ot-math.cc [ot-face] Remove tables_t. The face_data_t is what tables_t was 2018-08-26 15:18:46 -07:00
hb-ot-math.h Aim math API for 1.3.3 instead of 1.4.0 2016-10-04 14:47:12 -07:00
hb-ot-maxp-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-name-table.hh Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
hb-ot-os2-table.hh [subset] Add hb_subset_context_t<> 2018-08-31 16:31:00 -07:00
hb-ot-os2-unicode-ranges.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-post-macroman.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-post-table.hh [ot-font] Fix leak 2018-09-23 19:12:52 -04:00
hb-ot-shape-complex-arabic-fallback.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-ot-shape-complex-arabic-table.hh Update to Unicode 11.0.0 2018-06-05 17:31:46 -07:00
hb-ot-shape-complex-arabic-win1256.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-arabic.cc [arabic] Do the joiner-flipping only for rlig feature 2018-09-26 18:54:09 -04:00
hb-ot-shape-complex-arabic.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-default.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-hangul.cc Some more 2018-09-24 18:04:17 -04:00
hb-ot-shape-complex-hebrew.cc Readjust Hebrew composition again 2018-09-24 09:57:52 -04:00
hb-ot-shape-complex-indic-machine.hh [indic] Do NOT allow matra after Halant,ZWJ 2018-09-10 17:38:19 +02:00
hb-ot-shape-complex-indic-machine.rl [indic] Do NOT allow matra after Halant,ZWJ 2018-09-10 17:38:19 +02:00
hb-ot-shape-complex-indic-table.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-indic.cc Minor 2018-09-24 19:07:23 -04:00
hb-ot-shape-complex-indic.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-ot-shape-complex-khmer-machine.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-khmer-machine.rl Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-khmer.cc Minor 2018-09-24 19:07:23 -04:00
hb-ot-shape-complex-khmer.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-myanmar-machine.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-myanmar-machine.rl Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-myanmar.cc Some more 2018-09-24 18:04:17 -04:00
hb-ot-shape-complex-myanmar.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-thai.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-tibetan.cc Some more 2018-09-24 18:04:17 -04:00
hb-ot-shape-complex-use-machine.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-use-machine.rl Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-use-table.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex-use.cc Some more 2018-09-24 18:04:17 -04:00
hb-ot-shape-complex-use.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-complex.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-fallback.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-fallback.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-shape-normalize.cc Revert change that would decompose text if GPOS mark feature is available 2018-09-24 09:56:18 -04:00
hb-ot-shape-normalize.hh Prefer decomposed form if font has GPOS mark feature 2018-09-23 21:32:18 -04:00
hb-ot-shape.cc Minor 2018-09-24 18:11:59 -04:00
hb-ot-shape.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-ot-shape.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-tag.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-ot-tag.h
hb-ot-var-avar-table.hh Simplify sanitize->check_array() 2018-09-10 23:18:23 +02:00
hb-ot-var-fvar-table.hh Simplify sanitize->check_array() 2018-09-10 23:18:23 +02:00
hb-ot-var-hvar-table.hh Simplify sanitize->check_array() 2018-09-10 23:18:23 +02:00
hb-ot-var-mvar-table.hh Simplify sanitize->check_array() 2018-09-10 23:18:23 +02:00
hb-ot-var.cc [ot-face] Remove tables_t. The face_data_t is what tables_t was 2018-08-26 15:18:46 -07:00
hb-ot-var.h [var] Remove HB_OT_TAG_fvar/avar 2017-01-22 20:16:51 -08:00
hb-ot.h Remove hb-ot-color.h 2018-03-07 15:51:42 +01:00
hb-set-digest.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-set.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-set.h [set] Add is_subset 2018-06-06 16:47:13 -07:00
hb-set.hh Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-shape-plan.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-shape-plan.h [GX] Hook up feature variations 2016-12-16 19:06:26 -06:00
hb-shape-plan.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-shape.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-shape.h Move code around 2017-01-20 20:16:53 -08:00
hb-shaper-impl.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-shaper-list.hh Add a prototype of DirectWrite as a shaping backend 2015-10-20 22:20:47 +03:30
hb-shaper.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-shaper.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-static.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-string-array.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-subset-glyf.cc [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include 2018-08-31 13:25:19 -07:00
hb-subset-glyf.hh [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include 2018-08-31 13:25:19 -07:00
hb-subset-input.cc [subset] Clean up hb_subset_input_t API 2018-08-29 18:24:03 -07:00
hb-subset-input.hh [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include 2018-08-31 13:25:19 -07:00
hb-subset-plan.cc [subset] Keep glyph set in plan 2018-09-03 18:54:32 -07:00
hb-subset-plan.hh [subset] Keep glyph set in plan 2018-09-03 18:54:32 -07:00
hb-subset.cc Revert "[subset] Disable GSUB/GPOS subsetting for now" 2018-09-10 13:56:28 +02:00
hb-subset.h [subset] Clean up hb_subset_input_t API 2018-08-29 18:24:03 -07:00
hb-subset.hh [subset] De-templatize hb_subset_context_t 2018-08-31 16:46:35 -07:00
hb-ucdn.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-unicode.cc Make TSan happy with make_immutable() 2018-09-26 15:03:07 -04:00
hb-unicode.h 1.9.0 2018-09-10 11:37:24 +02:00
hb-unicode.hh One more bot fix 2018-09-16 19:25:19 +02:00
hb-uniscribe.cc Revert forcing use of single-parameter static_assert() 2018-09-16 19:34:39 +02:00
hb-uniscribe.h Public headers: Decorate public symbols with HB_EXTERN 2015-11-23 11:03:11 +08:00
hb-utf.hh Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb-vector.hh [subset] Implement subsetting of SingleSubst 2018-09-04 14:20:35 -07:00
hb-version.h 1.9.0 2018-09-10 11:37:24 +02:00
hb-version.h.in
hb-warning.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
hb.h [map] First try at implementing an integer-to-integer hashmap 2018-05-29 16:29:12 -07:00
hb.hh src/hb-blob.cc: Fix mmap functionality with UWP. 2018-09-23 07:23:58 -07:00
main.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
sample.py Make more gen-* scripts py3 compatible (#940) 2018-03-29 12:48:47 +04:30
test-buffer-serialize.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
test-size-params.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
test-unicode-ranges.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
test-would-substitute.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00
test.cc Rename hb-*private.hh to hb-*.hh 2018-08-25 22:36:36 -07:00