Linux Source Code
Home
Release 6.1
Help
ioat
root
drivers
dma
Highlighting
Reset All
By Author
By Age
──────────
Akinobu Mita
Al Viro
Alexander Duyck
Alexander.Barabash
Allen Pais
Arvind Yadav
Bartlomiej Zolnierkiewicz
Bolarinwa Olayemi Saheed
Christoph Hellwig
Christophe Jaillet
Christopher Leech
Colin Ian King
Dan J Williams
Dave Jiang
David S. Miller
Geliang Tang
Greg Kroah-Hartman
Gustavo A. R. Silva
Jason Yan
Jiang Liu
Julia Lawall
Kees Cook
Krister Johansen
Lee Jones
Leonid Ravich
Logan Gunthorpe
Luc Van Oostenryck
Maciej Sosnowski
Pan Bian
Paul Gortmaker
Prarit Bhargava
Rami Rosen
Russell King
Shannon Nelson
Tejun Heo
Thomas Gleixner
Tim Gardner
Ujjal Singh
Vinod Koul
Waiman Long
Wang Qing
Yijing Wang
−
Files:
Name
Lines
Files
Authors
Tokens
change scale
Color Graph By Token Proportion
dca.c
331
-
11
1402
Maciej Sosnowski
Shannon Nelson
Alexander Duyck
Dave Jiang
Yijing Wang
Prarit Bhargava
Gustavo A. R. Silva
Dan J Williams
Thomas Gleixner
Julia Lawall
Al Viro
October 2007
March 2008
July 2008
February 2009
July 2009
November 2009
September 2012
March 2013
December 2013
August 2015
November 2015
June 2017
May 2019
August 2019
February 2020
var spanGroupData = [ {"timestamp": 1191222000, "group": [ {"author_id": 3, "token_count": 220}, ]}, {"timestamp": 1204358400, "group": [ {"author_id": 32, "token_count": 1}, ]}, {"timestamp": 1214895600, "group": [ {"author_id": 2, "token_count": 1021}, ]}, {"timestamp": 1233475200, "group": [ {"author_id": 2, "token_count": 21}, ]}, {"timestamp": 1246431600, "group": [ {"author_id": 1, "token_count": 2}, ]}, {"timestamp": 1257058800, "group": [ {"author_id": 1, "token_count": 2}, ]}, {"timestamp": 1346482800, "group": [ {"author_id": 7, "token_count": 87}, ]}, {"timestamp": 1362124800, "group": [ {"author_id": 7, "token_count": 14}, ]}, {"timestamp": 1385884800, "group": [ {"author_id": 16, "token_count": 8}, ]}, {"timestamp": 1438412400, "group": [ {"author_id": 0, "token_count": 11}, ]}, {"timestamp": 1446361200, "group": [ {"author_id": 34, "token_count": 1}, ]}, {"timestamp": 1496300400, "group": [ {"author_id": 18, "token_count": 6}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, {"timestamp": 1564642800, "group": [ {"author_id": 19, "token_count": 5}, ]}, {"timestamp": 1580544000, "group": [ {"author_id": 19, "token_count": 1}, ]}, ]
Author Name
Tokens
Token Proportion
Maciej Sosnowski
1042
74.32%
Shannon Nelson
220
15.69%
Alexander Duyck
101
7.20%
Dave Jiang
11
0.78%
Yijing Wang
8
0.57%
Prarit Bhargava
6
0.43%
Gustavo A. R. Silva
6
0.43%
Dan J Williams
4
0.29%
Thomas Gleixner
2
0.14%
Julia Lawall
1
0.07%
Al Viro
1
0.07%
Total
1402
dma.c
1061
-
22
4680
Dave Jiang
Shannon Nelson
Leonid Ravich
Christopher Leech
Dan J Williams
Ujjal Singh
Jiang Liu
Kees Cook
Allen Pais
Alexander.Barabash
Maciej Sosnowski
Colin Ian King
Bartlomiej Zolnierkiewicz
Tejun Heo
Russell King
Paul Gortmaker
Lee Jones
David S. Miller
Thomas Gleixner
Jason Yan
Logan Gunthorpe
Akinobu Mita
May 2006
January 2007
March 2007
October 2007
November 2007
February 2008
July 2008
December 2008
January 2009
March 2009
July 2009
September 2009
March 2010
May 2011
March 2012
November 2012
March 2013
January 2014
February 2014
August 2015
January 2016
February 2016
March 2016
July 2016
October 2016
November 2016
August 2017
October 2017
June 2018
February 2019
May 2019
December 2019
April 2020
July 2020
August 2020
September 2020
September 2022
var spanGroupData = [ {"timestamp": 1146466800, "group": [ {"author_id": 4, "token_count": 90}, {"author_id": 22, "token_count": 3}, ]}, {"timestamp": 1167638400, "group": [ {"author_id": 1, "token_count": 6}, ]}, {"timestamp": 1172736000, "group": [ {"author_id": 4, "token_count": 1}, ]}, {"timestamp": 1191222000, "group": [ {"author_id": 3, "token_count": 250}, ]}, {"timestamp": 1193900400, "group": [ {"author_id": 3, "token_count": 3}, ]}, {"timestamp": 1201852800, "group": [ {"author_id": 1, "token_count": 2}, ]}, {"timestamp": 1214895600, "group": [ {"author_id": 2, "token_count": 9}, ]}, {"timestamp": 1228118400, "group": [ {"author_id": 1, "token_count": 4}, ]}, {"timestamp": 1230796800, "group": [ {"author_id": 1, "token_count": 1}, ]}, {"timestamp": 1235894400, "group": [ {"author_id": 1, "token_count": 1}, ]}, {"timestamp": 1246431600, "group": [ {"author_id": 1, "token_count": 19}, ]}, {"timestamp": 1251788400, "group": [ {"author_id": 1, "token_count": 27}, ]}, {"timestamp": 1267430400, "group": [ {"author_id": 41, "token_count": 1}, {"author_id": 27, "token_count": 3}, ]}, {"timestamp": 1304233200, "group": [ {"author_id": 30, "token_count": 3}, ]}, {"timestamp": 1330588800, "group": [ {"author_id": 28, "token_count": 3}, ]}, {"timestamp": 1351753200, "group": [ {"author_id": 26, "token_count": 4}, ]}, {"timestamp": 1362124800, "group": [ {"author_id": 0, "token_count": 3}, ]}, {"timestamp": 1388563200, "group": [ {"author_id": 14, "token_count": 14}, ]}, {"timestamp": 1391241600, "group": [ {"author_id": 1, "token_count": 22}, ]}, {"timestamp": 1438412400, "group": [ {"author_id": 0, "token_count": 2800}, ]}, {"timestamp": 1451635200, "group": [ {"author_id": 0, "token_count": 63}, ]}, {"timestamp": 1454313600, "group": [ {"author_id": 0, "token_count": 270}, ]}, {"timestamp": 1456819200, "group": [ {"author_id": 0, "token_count": 106}, ]}, {"timestamp": 1467356400, "group": [ {"author_id": 0, "token_count": 596}, ]}, {"timestamp": 1475305200, "group": [ {"author_id": 23, "token_count": 5}, ]}, {"timestamp": 1477983600, "group": [ {"author_id": 0, "token_count": 2}, ]}, {"timestamp": 1501570800, "group": [ {"author_id": 5, "token_count": 24}, ]}, {"timestamp": 1506841200, "group": [ {"author_id": 10, "token_count": 13}, ]}, {"timestamp": 1527836400, "group": [ {"author_id": 0, "token_count": 33}, ]}, {"timestamp": 1549008000, "group": [ {"author_id": 0, "token_count": 48}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, {"timestamp": 1575187200, "group": [ {"author_id": 15, "token_count": 10}, ]}, {"timestamp": 1585724400, "group": [ {"author_id": 6, "token_count": 169}, ]}, {"timestamp": 1593586800, "group": [ {"author_id": 25, "token_count": 3}, {"author_id": 6, "token_count": 50}, ]}, {"timestamp": 1596265200, "group": [ {"author_id": 13, "token_count": 11}, ]}, {"timestamp": 1598943600, "group": [ {"author_id": 35, "token_count": 2}, {"author_id": 8, "token_count": 1}, ]}, {"timestamp": 1662015600, "group": [ {"author_id": 0, "token_count": 3}, ]}, ]
Author Name
Tokens
Token Proportion
Dave Jiang
3924
83.85%
Shannon Nelson
253
5.41%
Leonid Ravich
219
4.68%
Christopher Leech
91
1.94%
Dan J Williams
82
1.75%
Ujjal Singh
24
0.51%
Jiang Liu
14
0.30%
Kees Cook
13
0.28%
Allen Pais
11
0.24%
Alexander.Barabash
10
0.21%
Maciej Sosnowski
9
0.19%
Colin Ian King
5
0.11%
Bartlomiej Zolnierkiewicz
4
0.09%
Tejun Heo
3
0.06%
Russell King
3
0.06%
Paul Gortmaker
3
0.06%
Lee Jones
3
0.06%
David S. Miller
3
0.06%
Thomas Gleixner
2
0.04%
Jason Yan
2
0.04%
Logan Gunthorpe
1
0.02%
Akinobu Mita
1
0.02%
Total
4680
dma.h
406
-
12
1671
Dave Jiang
Dan J Williams
Christopher Leech
Shannon Nelson
Ujjal Singh
Leonid Ravich
Maciej Sosnowski
Kees Cook
Allen Pais
Thomas Gleixner
David S. Miller
Al Viro
May 2006
October 2006
October 2007
November 2007
July 2008
July 2009
August 2009
September 2009
December 2009
March 2010
July 2010
March 2012
February 2013
March 2013
April 2013
February 2014
August 2015
November 2015
February 2016
March 2016
August 2017
October 2017
February 2019
May 2019
April 2020
August 2020
var spanGroupData = [ {"timestamp": 1146466800, "group": [ {"author_id": 4, "token_count": 63}, {"author_id": 22, "token_count": 2}, ]}, {"timestamp": 1159686000, "group": [ {"author_id": 32, "token_count": 2}, ]}, {"timestamp": 1191222000, "group": [ {"author_id": 3, "token_count": 33}, ]}, {"timestamp": 1193900400, "group": [ {"author_id": 3, "token_count": 7}, ]}, {"timestamp": 1214895600, "group": [ {"author_id": 2, "token_count": 7}, ]}, {"timestamp": 1246431600, "group": [ {"author_id": 1, "token_count": 35}, ]}, {"timestamp": 1249110000, "group": [ {"author_id": 1, "token_count": 17}, ]}, {"timestamp": 1251788400, "group": [ {"author_id": 1, "token_count": 385}, ]}, {"timestamp": 1259654400, "group": [ {"author_id": 1, "token_count": 72}, ]}, {"timestamp": 1267430400, "group": [ {"author_id": 1, "token_count": 4}, ]}, {"timestamp": 1277967600, "group": [ {"author_id": 1, "token_count": 4}, ]}, {"timestamp": 1330588800, "group": [ {"author_id": 1, "token_count": 1}, ]}, {"timestamp": 1359705600, "group": [ {"author_id": 0, "token_count": 4}, ]}, {"timestamp": 1362124800, "group": [ {"author_id": 0, "token_count": 46}, ]}, {"timestamp": 1364799600, "group": [ {"author_id": 0, "token_count": 37}, ]}, {"timestamp": 1391241600, "group": [ {"author_id": 1, "token_count": 6}, ]}, {"timestamp": 1438412400, "group": [ {"author_id": 0, "token_count": 859}, ]}, {"timestamp": 1446361200, "group": [ {"author_id": 0, "token_count": 1}, ]}, {"timestamp": 1454313600, "group": [ {"author_id": 0, "token_count": 23}, ]}, {"timestamp": 1456819200, "group": [ {"author_id": 0, "token_count": 10}, ]}, {"timestamp": 1501570800, "group": [ {"author_id": 5, "token_count": 23}, ]}, {"timestamp": 1506841200, "group": [ {"author_id": 10, "token_count": 4}, ]}, {"timestamp": 1549008000, "group": [ {"author_id": 0, "token_count": 1}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, {"timestamp": 1585724400, "group": [ {"author_id": 6, "token_count": 19}, ]}, {"timestamp": 1596265200, "group": [ {"author_id": 13, "token_count": 4}, ]}, ]
Author Name
Tokens
Token Proportion
Dave Jiang
981
58.71%
Dan J Williams
524
31.36%
Christopher Leech
63
3.77%
Shannon Nelson
40
2.39%
Ujjal Singh
23
1.38%
Leonid Ravich
19
1.14%
Maciej Sosnowski
7
0.42%
Kees Cook
4
0.24%
Allen Pais
4
0.24%
Thomas Gleixner
2
0.12%
David S. Miller
2
0.12%
Al Viro
2
0.12%
Total
1671
hw.h
271
-
5
963
Dan J Williams
Dave Jiang
Christopher Leech
Thomas Gleixner
Shannon Nelson
May 2006
November 2007
July 2009
September 2009
November 2009
December 2012
March 2013
April 2013
January 2015
August 2015
February 2016
December 2016
February 2019
May 2019
var spanGroupData = [ {"timestamp": 1146466800, "group": [ {"author_id": 4, "token_count": 41}, ]}, {"timestamp": 1193900400, "group": [ {"author_id": 3, "token_count": 1}, ]}, {"timestamp": 1246431600, "group": [ {"author_id": 1, "token_count": 87}, ]}, {"timestamp": 1251788400, "group": [ {"author_id": 1, "token_count": 451}, ]}, {"timestamp": 1257058800, "group": [ {"author_id": 1, "token_count": 9}, ]}, {"timestamp": 1354348800, "group": [ {"author_id": 0, "token_count": 40}, ]}, {"timestamp": 1362124800, "group": [ {"author_id": 0, "token_count": 81}, ]}, {"timestamp": 1364799600, "group": [ {"author_id": 0, "token_count": 178}, ]}, {"timestamp": 1420099200, "group": [ {"author_id": 0, "token_count": 16}, ]}, {"timestamp": 1438412400, "group": [ {"author_id": 0, "token_count": 40}, ]}, {"timestamp": 1454313600, "group": [ {"author_id": 0, "token_count": 4}, ]}, {"timestamp": 1480579200, "group": [ {"author_id": 0, "token_count": 4}, ]}, {"timestamp": 1549008000, "group": [ {"author_id": 0, "token_count": 9}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, ]
Author Name
Tokens
Token Proportion
Dan J Williams
547
56.80%
Dave Jiang
372
38.63%
Christopher Leech
41
4.26%
Thomas Gleixner
2
0.21%
Shannon Nelson
1
0.10%
Total
963
init.c
1455
-
20
6917
Dave Jiang
Logan Gunthorpe
Pan Bian
Christoph Hellwig
Bolarinwa Olayemi Saheed
Waiman Long
Wang Qing
Rami Rosen
Geliang Tang
Thomas Gleixner
Krister Johansen
Kees Cook
Vinod Koul
Luc Van Oostenryck
Leonid Ravich
Lee Jones
Julia Lawall
Christophe Jaillet
Arvind Yadav
Allen Pais
August 2015
February 2016
April 2016
May 2016
July 2016
December 2016
January 2017
April 2017
May 2017
July 2017
October 2017
November 2017
September 2018
October 2018
February 2019
May 2019
December 2019
April 2020
June 2020
July 2020
August 2020
October 2021
var spanGroupData = [ {"timestamp": 1438412400, "group": [ {"author_id": 0, "token_count": 6425}, ]}, {"timestamp": 1454313600, "group": [ {"author_id": 0, "token_count": 83}, ]}, {"timestamp": 1459494000, "group": [ {"author_id": 34, "token_count": 1}, ]}, {"timestamp": 1462086000, "group": [ {"author_id": 0, "token_count": 47}, ]}, {"timestamp": 1467356400, "group": [ {"author_id": 0, "token_count": 1}, {"author_id": 36, "token_count": 1}, ]}, {"timestamp": 1480579200, "group": [ {"author_id": 0, "token_count": 52}, {"author_id": 9, "token_count": 38}, ]}, {"timestamp": 1483257600, "group": [ {"author_id": 33, "token_count": 2}, ]}, {"timestamp": 1491030000, "group": [ {"author_id": 31, "token_count": 3}, ]}, {"timestamp": 1493622000, "group": [ {"author_id": 12, "token_count": 16}, ]}, {"timestamp": 1498892400, "group": [ {"author_id": 40, "token_count": 1}, ]}, {"timestamp": 1506841200, "group": [ {"author_id": 10, "token_count": 2}, ]}, {"timestamp": 1509519600, "group": [ {"author_id": 39, "token_count": 1}, ]}, {"timestamp": 1535785200, "group": [ {"author_id": 21, "token_count": 5}, ]}, {"timestamp": 1538377200, "group": [ {"author_id": 29, "token_count": 3}, ]}, {"timestamp": 1549008000, "group": [ {"author_id": 0, "token_count": 131}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, {"timestamp": 1575187200, "group": [ {"author_id": 8, "token_count": 89}, ]}, {"timestamp": 1585724400, "group": [ {"author_id": 6, "token_count": 1}, ]}, {"timestamp": 1590994800, "group": [ {"author_id": 20, "token_count": 6}, ]}, {"timestamp": 1593586800, "group": [ {"author_id": 25, "token_count": 1}, {"author_id": 38, "token_count": 1}, ]}, {"timestamp": 1596265200, "group": [ {"author_id": 13, "token_count": 1}, ]}, {"timestamp": 1633071600, "group": [ {"author_id": 24, "token_count": 4}, ]}, ]
Author Name
Tokens
Token Proportion
Dave Jiang
6739
97.43%
Logan Gunthorpe
89
1.29%
Pan Bian
38
0.55%
Christoph Hellwig
16
0.23%
Bolarinwa Olayemi Saheed
6
0.09%
Waiman Long
5
0.07%
Wang Qing
4
0.06%
Rami Rosen
3
0.04%
Geliang Tang
3
0.04%
Thomas Gleixner
2
0.03%
Krister Johansen
2
0.03%
Kees Cook
2
0.03%
Vinod Koul
1
0.01%
Luc Van Oostenryck
1
0.01%
Leonid Ravich
1
0.01%
Lee Jones
1
0.01%
Julia Lawall
1
0.01%
Christophe Jaillet
1
0.01%
Arvind Yadav
1
0.01%
Allen Pais
1
0.01%
Total
6917
prep.c
737
-
3
4374
Dave Jiang
Thomas Gleixner
Tim Gardner
August 2015
January 2016
May 2019
var spanGroupData = [ {"timestamp": 1438412400, "group": [ {"author_id": 0, "token_count": 4371}, ]}, {"timestamp": 1451635200, "group": [ {"author_id": 37, "token_count": 1}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, ]
Author Name
Tokens
Token Proportion
Dave Jiang
4371
99.93%
Thomas Gleixner
2
0.05%
Tim Gardner
1
0.02%
Total
4374
registers.h
258
-
6
824
Christopher Leech
Shannon Nelson
Dave Jiang
Dan J Williams
Maciej Sosnowski
Thomas Gleixner
May 2006
October 2007
November 2007
July 2008
September 2009
December 2009
March 2010
March 2013
April 2013
November 2015
May 2016
July 2016
February 2019
May 2019
var spanGroupData = [ {"timestamp": 1146466800, "group": [ {"author_id": 4, "token_count": 325}, ]}, {"timestamp": 1191222000, "group": [ {"author_id": 3, "token_count": 17}, ]}, {"timestamp": 1193900400, "group": [ {"author_id": 3, "token_count": 215}, ]}, {"timestamp": 1214895600, "group": [ {"author_id": 2, "token_count": 60}, ]}, {"timestamp": 1251788400, "group": [ {"author_id": 1, "token_count": 92}, ]}, {"timestamp": 1259654400, "group": [ {"author_id": 1, "token_count": 4}, ]}, {"timestamp": 1267430400, "group": [ {"author_id": 1, "token_count": 1}, ]}, {"timestamp": 1362124800, "group": [ {"author_id": 0, "token_count": 1}, ]}, {"timestamp": 1364799600, "group": [ {"author_id": 0, "token_count": 8}, ]}, {"timestamp": 1446361200, "group": [ {"author_id": 0, "token_count": 1}, ]}, {"timestamp": 1462086000, "group": [ {"author_id": 0, "token_count": 11}, ]}, {"timestamp": 1467356400, "group": [ {"author_id": 0, "token_count": 4}, ]}, {"timestamp": 1549008000, "group": [ {"author_id": 0, "token_count": 83}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, ]
Author Name
Tokens
Token Proportion
Christopher Leech
325
39.44%
Shannon Nelson
232
28.16%
Dave Jiang
108
13.11%
Dan J Williams
97
11.77%
Maciej Sosnowski
60
7.28%
Thomas Gleixner
2
0.24%
Total
824
sysfs.c
166
-
4
855
Dave Jiang
Ujjal Singh
Greg Kroah-Hartman
Thomas Gleixner
August 2015
August 2017
May 2019
January 2022
var spanGroupData = [ {"timestamp": 1438412400, "group": [ {"author_id": 0, "token_count": 627}, ]}, {"timestamp": 1501570800, "group": [ {"author_id": 5, "token_count": 219}, ]}, {"timestamp": 1556694000, "group": [ {"author_id": 11, "token_count": 2}, ]}, {"timestamp": 1641024000, "group": [ {"author_id": 17, "token_count": 7}, ]}, ]
Author Name
Tokens
Token Proportion
Dave Jiang
627
73.33%
Ujjal Singh
219
25.61%
Greg Kroah-Hartman
7
0.82%
Thomas Gleixner
2
0.23%
Total
855
Contributors:
42
Author
Tokens
Proportion
Commits
Proportion
0
Dave Jiang
17133
79.00%
47
32.64%
1
Dan J Williams
1254
5.78%
32
22.22%
2
Maciej Sosnowski
1118
5.16%
4
2.78%
3
Shannon Nelson
746
3.44%
8
5.56%
4
Christopher Leech
520
2.40%
2
1.39%
5
Ujjal Singh
266
1.23%
1
0.69%
6
Leonid Ravich
239
1.10%
6
4.17%
7
Alexander Duyck
101
0.47%
2
1.39%
8
Logan Gunthorpe
90
0.42%
2
1.39%
9
Pan Bian
38
0.18%
2
1.39%
10
Kees Cook
19
0.09%
1
0.69%
11
Thomas Gleixner
16
0.07%
2
1.39%
12
Christoph Hellwig
16
0.07%
1
0.69%
13
Allen Pais
16
0.07%
1
0.69%
14
Jiang Liu
14
0.06%
1
0.69%
15
Alexander.Barabash
10
0.05%
1
0.69%
16
Yijing Wang
8
0.04%
1
0.69%
17
Greg Kroah-Hartman
7
0.03%
1
0.69%
18
Prarit Bhargava
6
0.03%
1
0.69%
19
Gustavo A. R. Silva
6
0.03%
2
1.39%
20
Bolarinwa Olayemi Saheed
6
0.03%
1
0.69%
21
Waiman Long
5
0.02%
1
0.69%
22
David S. Miller
5
0.02%
2
1.39%
23
Colin Ian King
5
0.02%
1
0.69%
24
Wang Qing
4
0.02%
1
0.69%
25
Lee Jones
4
0.02%
2
1.39%
26
Bartlomiej Zolnierkiewicz
4
0.02%
1
0.69%
27
Tejun Heo
3
0.01%
1
0.69%
28
Russell King
3
0.01%
1
0.69%
29
Rami Rosen
3
0.01%
1
0.69%
30
Paul Gortmaker
3
0.01%
1
0.69%
31
Geliang Tang
3
0.01%
1
0.69%
32
Al Viro
3
0.01%
2
1.39%
33
Krister Johansen
2
0.01%
1
0.69%
34
Julia Lawall
2
0.01%
2
1.39%
35
Jason Yan
2
0.01%
1
0.69%
36
Vinod Koul
1
0.00%
1
0.69%
37
Tim Gardner
1
0.00%
1
0.69%
38
Luc Van Oostenryck
1
0.00%
1
0.69%
39
Christophe Jaillet
1
0.00%
1
0.69%
40
Arvind Yadav
1
0.00%
1
0.69%
41
Akinobu Mita
1
0.00%
1
0.69%
Total
21686
144