Commit Graph

342 Commits

Author SHA1 Message Date
Matt Liberty 4966240d28 Merge remote-tracking branch 'parallax/master' 2026-01-09 18:28:40 +00:00
James Cherry 6ef25d488a more unit issues
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-05 14:47:16 -07:00
James Cherry e8c7a6541b more unit fallout
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-12-05 09:51:15 -07:00
Matt Liberty eb8ab089df Merge remote-tracking branch 'parallax/master' 2025-11-25 16:53:40 +00:00
Matt Liberty 574379eb32
rm stray semicolon (#338)
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-11-21 07:01:39 -08:00
Matt Liberty 1d6e79a327 Merge remote-tracking branch 'upstream/master' 2025-11-18 06:35:29 +00:00
Logikable c4b94c3ee5
Add missing system header includes. (#330)
Signed-off-by: Sean Luchen <seanluchen@google.com>
2025-11-17 09:23:32 -08:00
Akash Levy 16a92707fb
Fix `isBuffer` (#329)
* Add support for "well" direction type (nwell, pwell, etc.), and fix isBuffer (+ other functions) to accommodate wells

* Just fix isBuffer issue
2025-11-16 15:34:37 -08:00
Matt Liberty 7b4cea532b Merge remote-tracking branch 'upstream/master' 2025-11-13 03:32:56 +00:00
James Cherry cf903f4db6 suppress rapidus liberty warning
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-11-09 08:23:53 -07:00
James Cherry 8287aec5f6 Verilog make pins for liberty pg_pins resolves #326
commit b4a89c93965c49a8685fd41cb6aee10635d7a7f3
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Nov 7 11:48:10 2025 -0700

    pg_ -> PwrGnd

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 12ddba4bf220cec8459c15e483a871b13e507bf2
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Nov 7 08:56:02 2025 -0700

    pg_port

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-11-07 11:55:43 -07:00
Matt Liberty d7cb9be1ca Merge remote-tracking branch 'upstream/master' 2025-11-07 04:44:07 +00:00
James Cherry 351b8287a7 issue 322 revisited
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-11-06 12:34:53 -07:00
Matt Liberty 2412feec33
pad cells are not buffers or inverters (#294)
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-09-08 17:04:21 -07:00
Matt Liberty e475ee2c98 Merge remote-tracking branch 'upstream/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-09-03 23:00:11 +00:00
Matt Liberty 5e1cecc38b pad cells are not buffers or inverters
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-09-02 17:42:06 +00:00
James Cherry b654fd48a8 read_liberty leak resolves ORFS#1184
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-08-20 16:00:33 -07:00
Matt Liberty 2c33fb5583 Merge remote-tracking branch 'parallax/master' 2025-08-04 04:38:33 +00:00
Akash Levy 2e903ab4da
Allow Liberty floats as strings for `voltage_map` and `capacitive_load_unit` (#280)
* Allow Liberty floats as strings for voltage_map and capacitive_load_unit

* Update liberty_float_as_str.lib

* Use valid bool

* Remove unused include
2025-08-01 17:41:56 -07:00
Matt Liberty a74903cd3c Merge remote-tracking branch 'parallax/master' 2025-07-31 22:24:43 +00:00
Akash Levy ec3208bfbf
Allow backslash-EOL to end tokens in Liberty file (#279)
* Allow backslash EOL to end tokens in Liberty file

* Update liberty_backslash_eol.lib

* Update liberty_backslash_eol.lib
2025-07-31 12:19:36 -07:00
James Cherry 3620d7a259 liberty min_period timing group support resolves #275
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-27 18:12:26 -07:00
James Cherry 0d7c89f544 cp liberty bus properties to bit ports resolves #273
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-21 14:35:53 -07:00
Matt Liberty 06f94cafd8
Add a less operator to BddPortVarMap (#258)
bdd_port_var_map_, of type BddPortVarMap, is iterated over in
Power::evalBddActivity.  Previously the map used pointer comparison so
the iteration order was non-deterministic.  The computed density was
therefore non-deterministic due to the non-associativity of
floating-point addition.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-07-13 10:59:51 -07:00
James Cherry fa70c6cf2b read_spef incremental rm min/max reduced parasitics
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-12 17:26:09 -07:00
Matt Liberty 966cdc80fb Merge remote-tracking branch 'parallax/master' 2025-07-09 19:02:06 +00:00
James Cherry 5e4ce2fd23 replace_cell equiv funcs, diff arcs resolves #267
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-09 11:50:36 -07:00
James Cherry 606c666180 set_min/max_delay -from reg/D startpoint warning resolves #265
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-07-03 17:08:44 -07:00
Matt Liberty 5ee1a31514 Merge remote-tracking branch 'parallax/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-06-24 14:57:14 +00:00
James Cherry c5b62b5cc8 liberty valgrind issues
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-06-23 08:19:27 -07:00
James Cherry f3b785361d equiv cells only require timing arc equivs missing functions
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-06-20 16:15:54 -07:00
Matt Liberty 522fc9563f Merge remote-tracking branch 'parallax/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-06-16 15:15:34 +00:00
James Cherry c2a0c4db30 liberty bundle ports apply func's to members resolves #256
commit d7629119c261bbc1551f7a6b008475b194a9ff91
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Jun 10 13:59:36 2025 +0200

    issue256

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-06-16 16:45:21 +02:00
Matt Liberty fa0cdd6529 Merge https://github.com/parallaxsw/OpenSTA/pull/258
Anticipating the merge to the upstream and trying to stabilize the OR CI.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-06-15 05:31:12 +00:00
Matt Liberty b64d149ce5 Add a less operator to BddPortVarMap
bdd_port_var_map_, of type BddPortVarMap, is iterated over in
Power::evalBddActivity.  Previously the map used pointer comparison so
the iteration order was non-deterministic.  The computed density was
therefore non-deterministic due to the non-associativity of
floating-point addition.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-06-14 05:52:32 +00:00
James Cherry 343b93b633 min pulse width lib/sdf resolves #255
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-06-06 20:36:59 -07:00
Matt Liberty b8b590e90c Merge remote-tracking branch 'parallax/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-06-01 01:24:08 +00:00
G 79c90c3c70
fix: free default_ocv_derate_ in LibertyLibrary destructor (#249) 2025-05-31 11:11:44 -07:00
James Cherry 71bdfb9904 rm using std::string from headers
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-05-22 09:25:56 -07:00
Matt Liberty 6acb2f9fc3 Merge remote-tracking branch 'parallax/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-05-02 01:41:58 +00:00
James Cherry eb8d39a7dd path enum filter calls to tag mutation
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-24 10:47:03 -07:00
James Cherry cba0cf5cc4 path enum rm duplicate paths
commit 0e13dae22d52d61b0d8d91b1a499d9dea9d23a9b
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Apr 23 11:18:50 2025 -0700

    path enum

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 8871e3653178e84aec4142819c9bac0556f52e29
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Apr 22 16:30:35 2025 -0700

    path enum w/crpr rm duplicate paths

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4da0d520762cb8bcc858398bceea62169ac9ad8a
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Apr 22 16:26:52 2025 -0700

    TimingArc::to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d2e6f218f58bf67dfd6f8d2c48a24f92ed32b849
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Apr 18 18:44:31 2025 -0700

    comment

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 7c673dfdfc6e18c154a1a9011b59a6406f2439f4
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Apr 18 16:52:36 2025 -0700

    path enum debug

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-23 11:38:44 -07:00
Matt Liberty eb7bc4c3aa Merge remote-tracking branch 'parallax/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-04-14 22:13:14 +00:00
James Cherry 1cc9df8804 remove using std from headers
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-11 16:59:48 -07:00
James Cherry ecb5ed7ea7 liberty vector clear tbl_template_
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-04-10 11:02:29 -07:00
Matt Liberty 9e96eb85cc Merge remote-tracking branch 'parallax/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-04-01 23:23:25 +00:00
James Cherry 932525bd87 name, asString -> to_string, const
commit d122d05822e02dcc08c665ac6ec7513791dd7209
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Mar 27 08:58:22 2025 -0700

    rebase

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 9c7ae9a7ddd885ebdab102d48b3f39dc5dacf948
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Mar 25 16:21:52 2025 -0700

    write_spice8

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 2bd088f03bb2e414305232d9ebd76c9d1958ec81
Author: James Cherry <cherry@parallaxsw.com>
Date:   Tue Mar 25 10:08:00 2025 -0700

    liberty reader stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 86974caf063433b37ed1378e7103db4b2e55a04c
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 20:25:39 2025 -0700

    ConcreteLiberary/Cell/Port use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 334476e185149a90b35cdd859e0a760ec9aa242a
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 20:16:08 2025 -0700

    leak

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 5130e8d44804f483d9099d48bb413a7f3362b4e1
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 15:57:14 2025 -0700

    liberty parser stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d48eba88cbde9093e3eb12bcee8eb48ccd444434
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 11:16:04 2025 -0700

    stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 6913fb198d642f6b05a94fb1852064706a748b81
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 11:06:17 2025 -0700

    stringify

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 371bca08ecf9bf816b7adcbb7ae1458c4073f5f8
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 10:44:31 2025 -0700

    TableTemplate use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 326465920a1f4a33dbe6be35cff5ca2245b6677e
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 09:04:55 2025 -0700

    use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit b93a542ddfbcb5c793c9b533cbe64ea20ec08f4a
Author: James Cherry <cherry@parallaxsw.com>
Date:   Mon Mar 24 08:59:01 2025 -0700

    timingSenseString -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 6c121a0ff4231b37df076a62e83832897be62ff4
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 16:09:47 2025 -0700

    Corner use string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 07b989a5a43bf5d341aa6ba2880be663997577d5
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 16:05:43 2025 -0700

    Tag::to_string()

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 0b9480cc5a3fa9ef0cb1c6e8ba0d4a29de2df816
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 15:53:29 2025 -0700

    PathAnalysisPt::to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit a028659091e99270f7501615285730681ed59523
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sun Mar 23 12:19:03 2025 -0700

    TimingRole stati alloc

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 495be6a57bda23d82e511282f5db7c188b32971b
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 21:36:52 2025 -0700

    RiseFall/RiseFallBoth/Transition const

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4c4b28adb383321b1172f4b774c7c4d9a1aee69f
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 20:38:26 2025 -0700

    TimingRole const

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 54ab58ec7200d420bf3b5e709e74b652af88d508
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 14:15:07 2025 -0700

    const MinMax

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit f70bb38df17b2ed758c7b6ba5647b7355366c0c0
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 13:14:31 2025 -0700

    Transition::to_string(()

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit b3f3d67328194351fb8efac2219bcfbcec331552
Author: James Cherry <cherry@parallaxsw.com>
Date:   Sat Mar 22 12:33:25 2025 -0700

    RiseFall::to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4046f8a376926dfde980860c51d2c5c70cf4a867
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Mar 20 09:04:10 2025 -0700

    TimingRole::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit cf4dd918eccb05d459f1804ced8365c81a5c6a50
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 20:14:42 2025 -0700

    MinMax::asString -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d80118117dda25be7b2b4896f19e955645c27f73
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 17:43:08 2025 -0700

    TimingRole::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 284fa25c28aca998e8ce92e7b7bb927697494a13
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 17:02:27 2025 -0700

    comment

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 646f19749b997e03dc4cbdf165cd7637010276d3
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 14:47:40 2025 -0700

    FuncExpr::asString -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 4f73d8e7ad21feac6f41130b7b070f3e345b6fb5
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 14:04:13 2025 -0700

    Vertex::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 7c7ec486aaea86f6607a1ef72bb1a74dca603831
Author: James Cherry <cherry@parallaxsw.com>
Date:   Wed Mar 19 13:39:24 2025 -0700

    Vertex::name -> to_string

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-30 15:27:53 -07:00
James Cherry 950d5b3383 write_timing_model escaped port resolves #222
Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-26 10:01:16 -07:00
Matt Liberty 2c5df8ccbc Merge remote-tracking branch 'parallax/master'
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2025-02-02 16:48:27 +00:00
James Cherry 398a22e97d LibExpr/spef/saif c++ parsers
commit a686a6f77e555513adc40228471c1ad1af4646b3
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 18:45:44 2025 -0800

    spef compiles

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 986a3a00c246a927c494066c56bb627e55da8692
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 18:45:32 2025 -0800

    spef compiles

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit e8664d21c0b404a82967201c19a087c6680b7177
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 16:36:19 2025 -0800

    saif compiles

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 496569018791bff19e57c534f29ac085520fc520
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 15:25:44 2025 -0800

    mv bison error funcs to .yy

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit c1e7638840f94eb0baddee47507e607b000ab858
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 14:19:26 2025 -0800

    parser cledanup

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 22bc72af46114ddb4fc5876655887ef1189f2195
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 14:19:06 2025 -0800

    parser cleanup

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit caeedc4c9e2bf8e7a2f4aceb4ee4a5758efd1b36
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 12:52:55 2025 -0800

    LibertyParser stack stream

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit e029a01c2fc5ba0ed336978c5853d49095d07d66
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 12:10:35 2025 -0800

    bison 3.2 required

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 2ca9423a2d518f51fdee6c41d41348dbfd548bae
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 12:05:19 2025 -0800

    LibertyExpr -> LibExpr

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit d64df413675c2978c0f24d5594cc201032233447
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 11:18:05 2025 -0800

    LibertyExpr -> LibExpr

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 57cfbae240984bd7928862b1d6c3b1047ee5d71f
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 10:25:49 2025 -0800

    comment

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 5249ac32d809ba30ce09437d61beaf4360bc2cd8
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 10:24:35 2025 -0800

    parseError

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 8c5442007f99c06bfb16a496e00862353c82282c
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 10:11:46 2025 -0800

    libecxpr parseError unused

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 67dacf60db2c0d7e3f7ceeae672b4bdaf1e039b7
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 10:09:39 2025 -0800

    reader pvt includes

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 1d7097399b4242833bf5a478c903b5d98afe674b
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 09:33:37 2025 -0800

    libexpr life

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit cc85e357463399291cb1e7d7b628e5dd356ac8a9
Author: James Cherry <cherry@parallaxsw.com>
Date:   Fri Jan 31 09:21:12 2025 -0800

    libexpr no location

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit e3ef17a746eb4e8822cce732250ae77261d53cf9
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Jan 30 22:15:50 2025 -0800

    compiles

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

commit 3a34874297a5c82930ee0bd131425bccf48526ce
Author: James Cherry <cherry@parallaxsw.com>
Date:   Thu Jan 30 20:03:06 2025 -0800

    libexpr parse

    Signed-off-by: James Cherry <cherry@parallaxsw.com>

Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-02-01 14:49:30 -08:00