Profiling results ----------------- Total cpu time observed: 12114ms (out of 12372ms) Number of samples taken: 38 (once every 319ms) ================================================================================ Caller Idx Total Self Name+src Local% ms(pct) ms(pct) Callee ================================================================================ ??? [109] 100.0% [1] 12114(100.0%) 0(0.0%) run-improve47 ...rface-bugs/src/mainloop.rkt:345:0 for-loop [10] 82.0% simplify! [19] 18.0% -------------------------------------------------------------------------------- ??? [109] 100.0% [2] 12114(100.0%) 0(0.0%) profile-thunk16 ...e/pkgs/profile-lib/main.rkt:9:0 run [9] 100.0% -------------------------------------------------------------------------------- matcher [57] 100.0% [3] 992(8.2%) 0(0.0%) ??? ...-interface-bugs/src/core/matcher.rkt:128:11 for-loop [11] 100.0% -------------------------------------------------------------------------------- ??? [109] 100.0% [4] 336(2.8%) 0(0.0%) ??? ...e/fix-interface-bugs/src/programs.rkt:115:2 ??? [47] 100.0% -------------------------------------------------------------------------------- ??? [47] 100.0% [5] 326(2.7%) 0(0.0%) approximate9 ...face-bugs/src/core/taylor.rkt:12:0 loop [12] 100.0% -------------------------------------------------------------------------------- hash-ref! [31] 100.0% [6] 326(2.7%) 0(0.0%) simplify ...nterface-bugs/src/core/reduce.rkt:16:0 f66 [14] 100.0% -------------------------------------------------------------------------------- hash-ref! [31] 100.0% [7] 326(2.7%) 0(0.0%) ??? ...x-interface-bugs/src/core/taylor.rkt:291:26 for-loop [13] 100.0% -------------------------------------------------------------------------------- for-loop [92] 100.0% [8] 326(2.7%) 0(0.0%) expand-implicit (unknown source) resolve+shift28 [15] 100.0% -------------------------------------------------------------------------------- profile-thunk16 [2] 100.0% [9] 12114(100.0%) 0(0.0%) run ...et-7.2/share/pkgs/profile-lib/main.rkt:39:2 ??? [109] 100.0% -------------------------------------------------------------------------------- run-improve47 [1] 100.0% [10] 9934(82.0%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:364:4 run-iter! [16] 100.0% -------------------------------------------------------------------------------- ??? [3] 100.0% [11] 992(8.2%) 0(0.0%) for-loop ...rface-bugs/src/core/matcher.rkt:130:15 matcher [57] 100.0% -------------------------------------------------------------------------------- approximate9 [5] 100.0% [12] 326(2.7%) 0(0.0%) loop ...ix-interface-bugs/src/core/taylor.rkt:87:4 hash-ref! [31] 100.0% -------------------------------------------------------------------------------- ??? [7] 100.0% [13] 326(2.7%) 0(0.0%) for-loop ...erface-bugs/src/core/taylor.rkt:291:52 hash-ref! [31] 100.0% -------------------------------------------------------------------------------- simplify [6] 100.0% [14] 326(2.7%) 0(0.0%) f66 ...2/collects/racket/match/compiler.rkt:507:40 eval-const-expr [17] 100.0% -------------------------------------------------------------------------------- expand-implicit [8] 100.0% [15] 326(2.7%) 0(0.0%) resolve+shift28 (unknown source) fallback-loop [18] 100.0% -------------------------------------------------------------------------------- for-loop [10] 100.0% [16] 9934(82.0%) 0(0.0%) run-iter! ...interface-bugs/src/mainloop.rkt:326:0 simplify! [19] 76.6% gen-rewrites! [20] 10.0% localize! [21] 6.7% finalize-iter! [22] 3.4% gen-series! [23] 3.3% -------------------------------------------------------------------------------- f66 [14] 100.0% [17] 326(2.7%) 0(0.0%) eval-const-expr ...ace-bugs/src/programs.rkt:118:0 eval-prog [24] 100.0% -------------------------------------------------------------------------------- resolve+shift28 [15] 100.0% [18] 326(2.7%) 0(0.0%) fallback-loop (unknown source) for-loop [92] 100.0% -------------------------------------------------------------------------------- run-improve47 [1] 22.3% run-iter! [16] 77.7% [19] 9794(80.8%) 0(0.0%) simplify! ...interface-bugs/src/mainloop.rkt:223:0 ??? [25] 100.0% -------------------------------------------------------------------------------- run-iter! [16] 100.0% [20] 992(8.2%) 0(0.0%) gen-rewrites! ...rface-bugs/src/mainloop.rkt:182:0 for-loop [26] 100.0% -------------------------------------------------------------------------------- run-iter! [16] 100.0% [21] 666(5.5%) 0(0.0%) localize! ...interface-bugs/src/mainloop.rkt:126:0 localize-error [27] 100.0% -------------------------------------------------------------------------------- run-iter! [16] 100.0% [22] 336(2.8%) 0(0.0%) finalize-iter! ...face-bugs/src/mainloop.rkt:277:0 ??? [79] 100.0% -------------------------------------------------------------------------------- run-iter! [16] 100.0% [23] 326(2.7%) 0(0.0%) gen-series! ...terface-bugs/src/mainloop.rkt:159:0 for-loop [28] 100.0% -------------------------------------------------------------------------------- eval-const-expr [17] 100.0% [24] 326(2.7%) 0(0.0%) eval-prog ...-interface-bugs/src/programs.rkt:83:0 temp85_0 [29] 100.0% -------------------------------------------------------------------------------- simplify! [19] 100.0% [25] 9794(80.8%) 0(0.0%) ??? ...x-interface-bugs/src/core/simplify.rkt:26:0 for-loop [30] 93.3% one-iter [36] 3.4% loop [35] 3.3% -------------------------------------------------------------------------------- gen-rewrites! [20] 100.0% [26] 992(8.2%) 0(0.0%) for-loop ...interface-bugs/src/mainloop.rkt:190:11 rewrite-expression-head20 [32] 100.0% -------------------------------------------------------------------------------- localize! [21] 100.0% [27] 666(5.5%) 0(0.0%) localize-error ...-bugs/src/core/localize.rkt:64:0 hash-ref! [31] 100.0% -------------------------------------------------------------------------------- gen-series! [23] 100.0% [28] 326(2.7%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:166:7 taylor-alt [33] 100.0% -------------------------------------------------------------------------------- eval-prog [24] 100.0% [29] 326(2.7%) 0(0.0%) temp85_0 (unknown source) compile15 [34] 100.0% -------------------------------------------------------------------------------- ??? [25] 100.0% [30] 9136(75.4%) 0(0.0%) for-loop ...erface-bugs/src/core/simplify.rkt:35:2 one-iter [36] 100.0% -------------------------------------------------------------------------------- for-loop [13] 8.2% ??? [39] 8.2% ??? [47] 8.2% loop [12] 8.2% map [53] 24.3% localize-error [27] 42.8% [31] 992(8.2%) 0(0.0%) hash-ref! .../racket/private/more-scheme.rkt:376:2 parse-loop30 [38] 67.1% ??? [40] 8.2% ??? [39] 8.2% ??? [7] 8.2% simplify [6] 8.2% -------------------------------------------------------------------------------- for-loop [26] 100.0% [32] 992(8.2%) 0(0.0%) rewrite-expression-head20 ...core/matcher.rkt:86:0 rewriter [37] 100.0% -------------------------------------------------------------------------------- for-loop [28] 100.0% [33] 326(2.7%) 0(0.0%) taylor-alt ...nterface-bugs/src/mainloop.rkt:145:0 for-loop [41] 100.0% -------------------------------------------------------------------------------- temp85_0 [29] 100.0% [34] 326(2.7%) 0(0.0%) compile15 (unknown source) temp91_0 [42] 100.0% -------------------------------------------------------------------------------- ??? [25] 100.0% [35] 324(2.7%) 0(0.0%) loop ...nterface-bugs/src/core/extraction.rkt:25:2 for-loop [43] 100.0% -------------------------------------------------------------------------------- ??? [25] 3.5% for-loop [30] 96.5% [36] 9470(78.2%) 0(0.0%) one-iter ...erface-bugs/src/core/simplify.rkt:72:0 find-matches [44] 59.7% for-loop [45] 36.9% for-loop [50] 3.4% -------------------------------------------------------------------------------- rewrite-expression-head20 [32] 23.4% matcher [57] 76.6% [37] 992(8.2%) 336(2.8%) rewriter ...terface-bugs/src/core/matcher.rkt:88:2 for-loop [46] 76.6% *rules* [48] 14.9% -------------------------------------------------------------------------------- hash-ref! [31] 100.0% [38] 666(5.5%) 0(0.0%) parse-loop30 ...s/racket/match/compiler.rkt:418:15 for-loop [49] 51.7% map [53] 48.3% -------------------------------------------------------------------------------- hash-ref! [31] 100.0% [39] 326(2.7%) 0(0.0%) ??? ...ix-interface-bugs/src/core/taylor.rkt:45:15 hash-ref! [31] 100.0% -------------------------------------------------------------------------------- hash-ref! [31] 100.0% [40] 326(2.7%) 0(0.0%) ??? ...ix-interface-bugs/src/core/taylor.rkt:68:15 ??? [47] 100.0% -------------------------------------------------------------------------------- taylor-alt [33] 100.0% [41] 326(2.7%) 0(0.0%) for-loop ...-interface-bugs/src/mainloop.rkt:151:6 ??? [47] 100.0% -------------------------------------------------------------------------------- compile15 [34] 100.0% [42] 326(2.7%) 0(0.0%) temp91_0 (unknown source) temp118_0 [51] 100.0% -------------------------------------------------------------------------------- loop [35] 100.0% [43] 324(2.7%) 0(0.0%) for-loop ...face-bugs/src/core/extraction.rkt:29:4 for-loop [52] 100.0% -------------------------------------------------------------------------------- one-iter [36] 100.0% [44] 5652(46.7%) 0(0.0%) find-matches ...ce-bugs/src/core/simplify.rkt:62:0 for-loop [54] 100.0% -------------------------------------------------------------------------------- one-iter [36] 100.0% [45] 3492(28.8%) 0(0.0%) for-loop ...erface-bugs/src/core/simplify.rkt:74:2 for-loop [55] 100.0% -------------------------------------------------------------------------------- rewriter [37] 100.0% [46] 992(8.2%) 0(0.0%) for-loop ...terface-bugs/src/core/matcher.rkt:90:4 matcher [57] 100.0% -------------------------------------------------------------------------------- ??? [40] 16.4% location-do [60] 16.4% for-loop [41] 16.4% ??? [4] 50.8% [47] 662(5.5%) 336(2.8%) ??? ...tract/private/arrow-higher-order.rkt:360:33 location-do [60] 16.4% approximate9 [5] 16.4% hash-ref! [31] 16.4% -------------------------------------------------------------------------------- rewriter [37] 100.0% [48] 656(5.4%) 0(0.0%) *rules* ...terface-bugs/src/syntax/rules.rkt:666:0 for-loop [58] 100.0% -------------------------------------------------------------------------------- parse-loop30 [38] 100.0% [49] 344(2.8%) 0(0.0%) for-loop ...rface-bugs/src/core/localize.rkt:51:21 for-loop [59] 100.0% -------------------------------------------------------------------------------- one-iter [36] 100.0% [50] 326(2.7%) 0(0.0%) for-loop ...erface-bugs/src/core/simplify.rkt:81:2 set-precompute! [61] 100.0% -------------------------------------------------------------------------------- temp91_0 [42] 100.0% [51] 326(2.7%) 0(0.0%) temp118_0 (unknown source) expand-capturing-lifts [62] 100.0% -------------------------------------------------------------------------------- for-loop [43] 100.0% [52] 324(2.7%) 0(0.0%) for-loop ...ace-bugs/src/core/extraction.rkt:37:16 for-loop [63] 100.0% -------------------------------------------------------------------------------- parse-loop30 [38] 100.0% [53] 322(2.7%) 0(0.0%) map ...t-7.2/collects/racket/private/map.rkt:35:13 hash-ref! [31] 75.0% loop [56] 25.0% -------------------------------------------------------------------------------- for-loop [54] 46.8% find-matches [44] 53.2% [54] 5652(46.7%) 358(3.0%) for-loop ...erface-bugs/src/core/simplify.rkt:64:8 for-loop [54] 46.8% match-e [64] 46.8% -------------------------------------------------------------------------------- for-loop [45] 100.0% [55] 3492(28.8%) 0(0.0%) for-loop ...erface-bugs/src/core/simplify.rkt:77:4 mk-enode-rec! [65] 36.1% merge-egraph-nodes! [74] 27.8% dedup-children! [66] 26.6% pattern-substitute [69] 9.6% -------------------------------------------------------------------------------- map [53] 0.4% loop! [84] 5.2% loop [56] 45.2% mk-enode-rec! [65] 49.1% [56] 1882(15.5%) 0(0.0%) loop ...-7.2/collects/racket/private/map.rkt:40:19 mk-enode-rec! [65] 49.1% loop [56] 45.2% loop! [84] 5.2% ??? [72] 0.4% -------------------------------------------------------------------------------- for-loop [11] 50.0% for-loop [46] 50.0% [57] 992(8.2%) 0(0.0%) matcher ...terface-bugs/src/core/matcher.rkt:116:2 ??? [3] 50.0% rewriter [37] 50.0% -------------------------------------------------------------------------------- *rules* [48] 100.0% [58] 656(5.4%) 0(0.0%) for-loop ...fix-interface-bugs/src/common.rkt:74:9 ormap [67] 100.0% -------------------------------------------------------------------------------- for-loop [49] 100.0% [59] 344(2.8%) 0(0.0%) for-loop ...rface-bugs/src/core/localize.rkt:52:23 ??? [68] 100.0% -------------------------------------------------------------------------------- ??? [47] 100.0% [60] 326(2.7%) 0(0.0%) location-do ...nterface-bugs/src/programs.rkt:64:0 ??? [47] 100.0% -------------------------------------------------------------------------------- for-loop [50] 100.0% [61] 326(2.7%) 0(0.0%) set-precompute! ...bugs/src/core/simplify.rkt:88:0 for-loop [70] 100.0% -------------------------------------------------------------------------------- temp118_0 [51] 100.0% [62] 326(2.7%) 0(0.0%) expand-capturing-lifts (unknown source) lambda-clause-expander [71] 100.0% -------------------------------------------------------------------------------- for-loop [52] 100.0% [63] 324(2.7%) 324(2.7%) for-loop ...ace-bugs/src/core/extraction.rkt:41:23 -------------------------------------------------------------------------------- for-loop [82] 34.6% for-loop [54] 65.4% [64] 5294(43.7%) 294(2.4%) match-e ...interface-bugs/src/core/ematch.rkt:39:0 for-loop [73] 78.4% variable? [75] 7.2% custom-in-set [78] 6.0% ??? [79] 2.8% -------------------------------------------------------------------------------- loop [56] 36.7% for-loop [55] 63.3% [65] 1260(10.4%) 626(5.2%) mk-enode-rec! ...ce-bugs/src/core/egraph.rkt:117:0 loop [56] 36.7% new-enode [80] 25.2% -------------------------------------------------------------------------------- for-loop [55] 100.0% [66] 928(7.7%) 0(0.0%) dedup-children! ...e-bugs/src/core/enode.rkt:202:0 loop [76] 100.0% -------------------------------------------------------------------------------- for-loop [58] 100.0% [67] 656(5.4%) 0(0.0%) ormap ....2/collects/racket/private/map.rkt:141:13 flag-set? [77] 100.0% -------------------------------------------------------------------------------- for-loop [59] 100.0% [68] 344(2.8%) 344(2.8%) ??? /opt/racket-7.2/collects/ffi/unsafe.rkt:905:4 -------------------------------------------------------------------------------- for-loop [55] 100.0% [69] 334(2.8%) 334(2.8%) pattern-substitute ...gs/src/core/matcher.rkt:46:0 -------------------------------------------------------------------------------- set-precompute! [61] 100.0% [70] 326(2.7%) 0(0.0%) for-loop ...erface-bugs/src/core/simplify.rkt:90:2 merge-egraph-nodes! [74] 100.0% -------------------------------------------------------------------------------- expand-capturing-lifts [62] 100.0% [71] 326(2.7%) 0(0.0%) lambda-clause-expander (unknown source) finish-bodys [81] 100.0% -------------------------------------------------------------------------------- loop [56] 100.0% [72] 322(2.7%) 322(2.7%) ??? ...-racket/utils/simple-result-arrow.rkt:39:12 -------------------------------------------------------------------------------- match-e [64] 100.0% [73] 5000(41.3%) 1612(13.3%) for-loop ...terface-bugs/src/core/ematch.rkt:52:11 for-loop [82] 56.6% procedure-reduce-keyword-arity-mask [88] 11.7% do-curry [94] 6.0% foldl [95] 3.0% -------------------------------------------------------------------------------- for-loop [93] 11.7% merge-egraph-nodes! [74] 12.9% for-loop [70] 25.2% for-loop [55] 50.2% [74] 1296(10.7%) 0(0.0%) merge-egraph-nodes! ...s/src/core/egraph.rkt:145:0 loop! [84] 50.2% update-leader! [91] 25.2% merge-egraph-nodes! [74] 12.9% for-loop [93] 11.7% -------------------------------------------------------------------------------- match-e [64] 100.0% [75] 972(8.0%) 0(0.0%) variable? ...face-bugs/src/syntax/syntax.rkt:729:0 value? [83] 100.0% -------------------------------------------------------------------------------- dedup-children! [66] 16.5% loop [76] 83.5% [76] 928(7.7%) 0(0.0%) loop ...racket-7.2/collects/racket/list.rkt:417:34 loop [76] 83.5% loop [87] 9.5% member [90] 7.0% -------------------------------------------------------------------------------- ormap [67] 100.0% [77] 656(5.4%) 0(0.0%) flag-set? ...ix-interface-bugs/src/config.rkt:28:0 return/no-unsupplied [85] 100.0% -------------------------------------------------------------------------------- match-e [64] 100.0% [78] 636(5.3%) 636(5.3%) custom-in-set ...acket/private/set-types.rkt:577:0 -------------------------------------------------------------------------------- match-e [64] 47.2% finalize-iter! [22] 52.8% [79] 636(5.3%) 300(2.5%) ??? ...contract/private/arrow-val-first.rkt:390:18 atab-add-altns [89] 52.8% -------------------------------------------------------------------------------- mk-enode-rec! [65] 100.0% [80] 634(5.2%) 0(0.0%) new-enode ...terface-bugs/src/core/enode.rkt:101:0 type-of-enode-expr [86] 100.0% -------------------------------------------------------------------------------- lambda-clause-expander [71] 25.0% for-loop [92] 75.0% [81] 326(2.7%) 0(0.0%) finish-bodys (unknown source) for-loop [92] 100.0% -------------------------------------------------------------------------------- for-loop [73] 100.0% [82] 3454(28.5%) 294(2.4%) for-loop ...terface-bugs/src/core/ematch.rkt:58:37 match-e [64] 95.7% -------------------------------------------------------------------------------- variable? [75] 100.0% [83] 972(8.0%) 972(8.0%) value? ...interface-bugs/src/syntax/types.rkt:18:0 -------------------------------------------------------------------------------- loop [56] 32.8% merge-egraph-nodes! [74] 67.2% [84] 970(8.0%) 0(0.0%) loop! ...x-interface-bugs/src/core/enode.rkt:194:2 custom-set-union [96] 50.1% loop [56] 32.8% set [99] 17.1% -------------------------------------------------------------------------------- flag-set? [77] 100.0% [85] 656(5.4%) 656(5.4%) return/no-unsupplied ...ct/private/arr-i.rkt:542:0 -------------------------------------------------------------------------------- new-enode [80] 100.0% [86] 634(5.2%) 300(2.5%) type-of-enode-expr ...bugs/src/core/enode.rkt:66:0 table-ref [98] 52.7% -------------------------------------------------------------------------------- loop [76] 100.0% [87] 602(5.0%) 602(5.0%) loop (unknown source) -------------------------------------------------------------------------------- for-loop [73] 100.0% [88] 586(4.8%) 586(4.8%) procedure-reduce-keyword-arity-mask ....rkt:1562:4 -------------------------------------------------------------------------------- ??? [79] 100.0% [89] 336(2.8%) 0(0.0%) atab-add-altns ...bugs/src/core/alt-table.rkt:49:0 atab-add-altn [97] 100.0% -------------------------------------------------------------------------------- loop [76] 100.0% [90] 326(2.7%) 326(2.7%) member (unknown source) -------------------------------------------------------------------------------- merge-egraph-nodes! [74] 100.0% [91] 326(2.7%) 0(0.0%) update-leader! ...e-bugs/src/core/egraph.rkt:213:0 for-loop [100] 100.0% -------------------------------------------------------------------------------- fallback-loop [18] 16.7% for-loop [92] 16.7% finish-bodys [81] 66.7% [92] 326(2.7%) 326(2.7%) for-loop (unknown source) finish-bodys [81] 50.0% for-loop [92] 16.7% expand-implicit [8] 16.7% -------------------------------------------------------------------------------- merge-egraph-nodes! [74] 100.0% [93] 304(2.5%) 0(0.0%) for-loop ...terface-bugs/src/core/egraph.rkt:199:4 merge-egraph-nodes! [74] 100.0% -------------------------------------------------------------------------------- for-loop [73] 100.0% [94] 300(2.5%) 300(2.5%) do-curry ...-7.2/collects/racket/function.rkt:71:2 -------------------------------------------------------------------------------- for-loop [73] 100.0% [95] 300(2.5%) 0(0.0%) foldl ....2/collects/racket/private/list.rkt:229:4 merge2 [101] 100.0% -------------------------------------------------------------------------------- loop! [84] 100.0% [96] 638(5.3%) 304(2.5%) custom-set-union ...et/private/set-types.rkt:168:0 for-loop [104] 52.4% -------------------------------------------------------------------------------- atab-add-altns [89] 100.0% [97] 336(2.8%) 0(0.0%) atab-add-altn ...bugs/src/core/alt-table.rkt:203:0 errors [102] 100.0% -------------------------------------------------------------------------------- type-of-enode-expr [86] 100.0% [98] 334(2.8%) 0(0.0%) table-ref ...ix-interface-bugs/src/common.rkt:45:0 assoc-iterate-first [103] 100.0% -------------------------------------------------------------------------------- loop! [84] 100.0% [99] 332(2.7%) 332(2.7%) set ...collects/racket/private/set-types.rkt:981:0 -------------------------------------------------------------------------------- update-leader! [91] 100.0% [100] 326(2.7%) 0(0.0%) for-loop ...terface-bugs/src/core/egraph.rkt:218:6 hash-update! [105] 100.0% -------------------------------------------------------------------------------- foldl [95] 100.0% [101] 300(2.5%) 300(2.5%) merge2 ...-interface-bugs/src/core/ematch.rkt:24:0 -------------------------------------------------------------------------------- atab-add-altn [97] 100.0% [102] 336(2.8%) 0(0.0%) errors .../fix-interface-bugs/src/points.rkt:216:0 for-loop [106] 100.0% -------------------------------------------------------------------------------- table-ref [98] 100.0% [103] 334(2.8%) 334(2.8%) assoc-iterate-first ...cket/private/dict.rkt:166:0 -------------------------------------------------------------------------------- custom-set-union [96] 100.0% [104] 334(2.8%) 0(0.0%) for-loop ...cts/racket/private/set-types.rkt:174:3 for-loop [107] 100.0% -------------------------------------------------------------------------------- for-loop [100] 100.0% [105] 326(2.7%) 0(0.0%) hash-update! ...cket/private/more-scheme.rkt:365:4 ??? [108] 100.0% -------------------------------------------------------------------------------- errors [102] 100.0% [106] 336(2.8%) 0(0.0%) for-loop ...ix-interface-bugs/src/points.rkt:218:2 ??? [109] 100.0% -------------------------------------------------------------------------------- for-loop [104] 100.0% [107] 334(2.8%) 334(2.8%) for-loop ...cts/racket/private/set-types.rkt:178:5 -------------------------------------------------------------------------------- hash-update! [105] 100.0% [108] 326(2.7%) 0(0.0%) ??? ...x-interface-bugs/src/core/egraph.rkt:221:24 for-loop [110] 100.0% -------------------------------------------------------------------------------- for-loop [106] 0.9% run [9] 49.5% [109] 12114(100.0%) 0(0.0%) ??? ...lects/racket/private/more-scheme.rkt:261:28 profile-thunk16 [2] 49.5% run-improve47 [1] 49.5% ??? [4] 0.9% -------------------------------------------------------------------------------- ??? [108] 100.0% [110] 326(2.7%) 326(2.7%) for-loop ...erface-bugs/src/core/egraph.rkt:222:26 --------------------------------------------------------------------------------