less copy protection, more size visualization
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 

451 行
20 KiB

  1. const countryData = [["Zimbabwe",389139344886.9551,750673.8733651662],
  2. ["Zambia",747284247537.2109,1086883.0186403147],
  3. ["Yemen",451258576476.0622,732380.0886973133],
  4. ["Vietnam",322580142233.8691,1620340.0069434382],
  5. ["Venezuela",903362423260.6332,1268421.1333824312],
  6. ["Vatican",708035.2009967731,962.0919227031534],
  7. ["Vanuatu",11272612217.230469,724821.180486814],
  8. ["Uzbekistan",443189293470.79034,925450.9622003306],
  9. ["Uruguay",177556026488.23483,537144.1098412299],
  10. ["Micronesia",485384430.1673484,497698.88020277687],
  11. ["Marshall Is.",237267604.69041273,596010.1204389479],
  12. ["N. Mariana Is.",393374965.5941958,521292.78521092737],
  13. ["U.S. Virgin Is.",316452461.7983862,76083.04112096527],
  14. ["Guam",483286229.8419917,40613.86482889021],
  15. ["American Samoa",120670011.38210917,11393.258948078432],
  16. ["Puerto Rico",8962997659.680859,64074.185139127105],
  17. ["United States of America",7395600901146.306,4416577.67125368],
  18. ["S. Geo. and the Is.",3672610161.3615127,541130.1405687116],
  19. ["Br. Indian Ocean Ter.",132703649.71481176,23927.13214168381],
  20. ["Saint Helena",176325296.97059375,858614.8478942969],
  21. ["Pitcairn Is.",38762723.72906426,9947.043438498837],
  22. ["Anguilla",83463147.70539355,10944.95591457092],
  23. ["Falkland Is.",11407563931.810585,115733.80786623771],
  24. ["Cayman Is.",301854204.8866253,55649.92891612647],
  25. ["Bermuda",66129884.79864475,14170.070838986676],
  26. ["British Virgin Is.",135659839.00635678,39337.39147364931],
  27. ["Turks and Caicos Is.",330946239.46105736,22295.623846674607],
  28. ["Montserrat",79959829.21916744,14289.738497356197],
  29. ["Jersey",126615043.3254982,10747.64788802222],
  30. ["Guernsey",48162890.29292152,8669.790417446953],
  31. ["Isle of Man",558555897.1337135,38796.33187357233],
  32. ["United Kingdom",238676325934.20435,1189944.9208031525],
  33. ["United Arab Emirates",71327840366.80205,384133.37813312514],
  34. ["Ukraine",566035099860.9688,788296.8051475236],
  35. ["Uganda",242282384312.5569,631576.9601751247],
  36. ["Turkmenistan",467750968131.5653,839363.1829681154],
  37. ["Turkey",769691262374.0961,722569.6732223395],
  38. ["Tunisia",156527421728.6396,789088.1320598596],
  39. ["Trinidad and Tobago",5113137631.486823,140397.5005812163],
  40. ["Tonga",431566020.3443055,320138.22561586066],
  41. ["Togo",57164823768.625984,558731.6162212695],
  42. ["Timor-Leste",15046954462.017887,152793.66089818784],
  43. ["Thailand",510098217767.71954,1619380.770898294],
  44. ["Tanzania",935952438752.1539,1184178.6995700544],
  45. ["Tajikistan",142199499148.0953,483654.0574189293],
  46. ["Taiwan",36053557208.26353,372963.9766519672],
  47. ["Syria",185640544641.68024,557652.0954689037],
  48. ["Switzerland",41274119762.43174,216315.97720416306],
  49. ["Sweden",438024606986.8549,1504429.298743872],
  50. ["eSwatini",17026560042.71935,174431.7420524613],
  51. ["Suriname",145631226029.04276,461624.95471358934],
  52. ["S. Sudan",619555696187.3568,967389.4690412045],
  53. ["Sudan",1823113741930.2935,1476475.5597421676],
  54. ["Sri Lanka",66124083045.496185,429682.22706557147],
  55. ["Spain",502306447910.3953,1635350.4179064203],
  56. ["South Korea",97223628369.57718,601119.1956874104],
  57. ["South Africa",1201313004316.9548,2610977.935124006],
  58. ["Somalia",466566432575.35144,1499709.9382876973],
  59. ["Somaliland",168351995213.79407,390642.89676351653],
  60. ["Solomon Is.",25650473129.46542,578770.3949851494],
  61. ["Slovakia",48398536087.06279,203261.203718588],
  62. ["Slovenia",20232561580.98236,160068.21134683487],
  63. ["Singapore",486021211.437919,20225.536237134802],
  64. ["Sierra Leone",71972760575.6476,343787.02394271526],
  65. ["Seychelles",174784533.9529513,25242.78960756224],
  66. ["Serbia",77565621952.11682,437004.38001379266],
  67. ["Senegal",197200724879.79358,482495.828194891],
  68. ["Saudi Arabia",1876920659569.8032,1731541.0179994444],
  69. ["São Tomé and Principe",987713799.1340775,183769.6354790035],
  70. ["San Marino",68412302.4541662,10648.615483748506],
  71. ["Samoa",2707197663.6432486,64906.43346873014],
  72. ["St. Vin. and Gren.",311777981.9328877,73908.48702186492],
  73. ["Saint Lucia",552532214.4432642,41832.1780762757],
  74. ["St. Kitts and Nevis",233457364.84892097,33611.3165210983],
  75. ["Rwanda",25432979416.460854,194263.81591629382],
  76. ["Russia",12260202932316.434,3560470.967805952],
  77. ["Romania",235572110822.79977,511775.734059509],
  78. ["Qatar",11096933045.51641,176815.8874033715],
  79. ["Portugal",90307109615.50954,998968.539638029],
  80. ["Poland",312014177111.07056,640535.7412870524],
  81. ["Philippines",281057743959.40845,1718076.5819676248],
  82. ["Peru",1267155955843.7405,1995728.9021881635],
  83. ["Paraguay",398866915158.8791,917283.5274261177],
  84. ["Papua New Guinea",458779192212.65924,1130765.9358040402],
  85. ["Panama",74205999390.06693,264696.7787718505],
  86. ["Palau",340878459.50629926,517052.0287502567],
  87. ["Pakistan",859524386785.3461,1469710.3651343188],
  88. ["Oman",310787792152.7695,1070214.542524525],
  89. ["Norway",367133579651.0089,2385216.7060012324],
  90. ["North Korea",122468780802.42119,588059.4963699913],
  91. ["Nigeria",902360824740.1309,1061421.9606103392],
  92. ["Niger",1166100114277.5962,1292547.0104424185],
  93. ["Nicaragua",129303176135.86368,475217.15790626826],
  94. ["New Zealand",261814748299.48175,3689126.851095178],
  95. ["Niue",197426811.4028381,19132.955440874972],
  96. ["Cook Is.",60789397.586407654,7022.5841140376415],
  97. ["Netherlands",36945283257.48706,320420.62752667535],
  98. ["Aruba",155610147.7334076,21273.574070595867],
  99. ["Curaçao",430636502.7957001,37272.29377335269],
  100. ["Nepal",146897265742.68607,444685.714905498],
  101. ["Nauru",27857326.929205168,6837.885050868505],
  102. ["Namibia",815249049721.9235,1313620.097072748],
  103. ["Mozambique",776726637654.2103,1783994.2739365236],
  104. ["Morocco",569461707436.853,1568964.057126951],
  105. ["W. Sahara",90445408946.43513,753950.5689598573],
  106. ["Montenegro",13694356087.203959,186259.07726854514],
  107. ["Mongolia",1523220033380.0608,1167861.7008469645],
  108. ["Moldova",33169044187.407303,337142.42228660494],
  109. ["Monaco",12441227.214953318,4358.924994750582],
  110. ["Mexico",1869251872115.2632,1952717.1931632007],
  111. ["Mauritius",1883408037.236669,58244.37292394249],
  112. ["Mauritania",1025913853088.3635,1381248.2365973846],
  113. ["Malta",274389289.46838915,28460.46151930112],
  114. ["Mali",1232601050983.55,1627107.3969575989],
  115. ["Maldives",66533401.41569023,113326.64317645758],
  116. ["Malaysia",308992459615.961,718187.2787975309],
  117. ["Malawi",119609014979.11723,857620.1974737616],
  118. ["Madagascar",588900729223.3076,1482448.58655397],
  119. ["Macedonia",25412477905.618904,167763.72453596117],
  120. ["Luxembourg",2617671383.8561177,80342.33188741696],
  121. ["Lithuania",64607579583.07534,281048.67513132055],
  122. ["Liechtenstein",138276163.29779017,23752.2207550655],
  123. ["Libya",1593059310499.89,1497618.019207641],
  124. ["Liberia",95716150483.6803,465053.78239422245],
  125. ["Lesotho",30082796345.318073,229266.99044660022],
  126. ["Lebanon",10032218276.214746,178392.40295671904],
  127. ["Latvia",64322936300.70786,265314.902976771],
  128. ["Laos",227818875873.76996,948849.152950645],
  129. ["Kyrgyzstan",198302186040.08304,445731.6344993663],
  130. ["Kuwait",17363674046.35398,174092.9296542175],
  131. ["Kosovo",10934378053.958687,156624.8853211386],
  132. ["Kiribati",749876516.2319429,1640873.5549117292],
  133. ["Kenya",591341928787.2559,1125704.8672718687],
  134. ["Kazakhstan",2599180457875.023,1623701.7704947665],
  135. ["Jordan",88907886654.7211,466293.2802000827],
  136. ["Japan",362212921360.73126,2165372.9852266936],
  137. ["Jamaica",10954550076.122593,89945.55843724968],
  138. ["Italy",297660112212.5112,1141814.8482783942],
  139. ["Israel",22312088308.202045,440068.5190686877],
  140. ["Palestine",6346588255.6763935,147154.65650790438],
  141. ["Ireland",68780229828.73004,431856.09038575046],
  142. ["Iraq",435620846425.7123,917708.4745529837],
  143. ["Iran",1587189329130.203,1609326.8856119388],
  144. ["Indonesia",1376120815624.1582,1744126.536779939],
  145. ["India",2996785519779.1226,2913361.292821804],
  146. ["Iceland",101230587354.09766,349260.02852581645],
  147. ["Hungary",93030668685.61838,312850.1016063739],
  148. ["Honduras",113540433651.57697,393145.8344003861],
  149. ["Haiti",26847869783.21849,228390.3778166956],
  150. ["Guyana",211580943542.51562,815280.8732392456],
  151. ["Guinea-Bissau",32110045925.27114,193638.58665067697],
  152. ["Guinea",244390003515.538,606536.8383934512],
  153. ["Guatemala",108545037717.66335,453811.808616631],
  154. ["Grenada",286659850.5792823,25441.67357828665],
  155. ["Greece",129895379857.02574,758011.3923877806],
  156. ["Ghana",239260752213.2803,711081.7448205692],
  157. ["Germany",355238332286.4327,864383.9331295767],
  158. ["Georgia",69359250287.62083,279164.4830880575],
  159. ["Gambia",10330073933.169783,82849.92829168624],
  160. ["Gabon",260344608670.4254,690549.2981542662],
  161. ["France",542817083203.5144,1048476.4725933974],
  162. ["St. Pierre and Miquelon",205698521.0710492,38521.03284769018],
  163. ["Wallis and Futuna Is.",131747281.48261458,121776.95699873005],
  164. ["St-Martin",49111962.95304994,5163.071682498663],
  165. ["St-Barthélemy",24579682.143066566,5240.150468570514],
  166. ["Fr. Polynesia",2468010584.9118123,1312958.5639801438],
  167. ["New Caledonia",18686602242.002316,384267.482542537],
  168. ["Fr. S. Antarctic Lands",6972080045.671423,212730.6071924777],
  169. ["Åland",761484218.2741673,43735.30591570062],
  170. ["Finland",328803220559.3977,1129138.3189881397],
  171. ["Fiji",18421467533.17885,1023558.9822519792],
  172. ["Ethiopia",1117394387297.408,1258373.6645802632],
  173. ["Estonia",45523111130.11329,234417.94183103752],
  174. ["Eritrea",123523023760.42888,620786.9941184958],
  175. ["Eq. Guinea",26682583611.083134,311126.02900633094],
  176. ["El Salvador",20428674917.927784,140987.38922767458],
  177. ["Egypt",992610233498.9838,1075384.9272076394],
  178. ["Ecuador",254390202866.9375,715644.6113114202],
  179. ["Dominican Rep.",48656193669.522415,253316.76342836596],
  180. ["Dominica",699392379.7985094,45176.55587233428],
  181. ["Djibouti",21745285809.27461,196704.14706825247],
  182. ["Greenland",2077887017677.4016,2549914.0725153135],
  183. ["Faeroe Is.",1037375875.3441107,104805.39300545029],
  184. ["Denmark",42463519493.804115,344332.082885141],
  185. ["Czechia",78562446344.69705,273918.8118478958],
  186. ["N. Cyprus",3477858554.32716,74094.73032340445],
  187. ["Cyprus",5720072668.184293,68303.11611356054],
  188. ["Cuba",108838187496.02383,373416.4420118391],
  189. ["Croatia",54464922570.24997,453624.1186228944],
  190. ["Côte d'Ivoire",321698831252.9052,706903.5592170395],
  191. ["Costa Rica",51575396471.50047,346860.4426889592],
  192. ["Dem. Rep. Congo",2266976093724.1265,2035904.2956146006],
  193. ["Congo",345009155130.8312,961723.9757879174],
  194. ["Comoros",1588682598.6376357,111334.98741429756],
  195. ["Colombia",1123596248307.3215,1822038.428059104],
  196. ["China",8060425748741.967,3689010.6633797465],
  197. ["Macao",22790451.33582536,5609.2494132003585],
  198. ["Hong Kong",1031202202.4066887,41167.39922811497],
  199. ["Chile",662506100339.9237,3913004.5904785832],
  200. ["Chad",1250306336304.5803,1747717.1001141844],
  201. ["Central African Rep.",615443921593.4967,963245.901521966],
  202. ["Cabo Verde",3585645473.0986457,264469.72585925215],
  203. ["Canada",8252315173326.137,3925175.4429551493],
  204. ["Cameroon",463047177129.98676,1254568.7304865085],
  205. ["Cambodia",181325584795.91324,478513.2128836198],
  206. ["Myanmar",654908635592.5571,2024676.7575958604],
  207. ["Burundi",27257646471.915493,238454.34370384598],
  208. ["Burkina Faso",273060011767.93573,628020.0386516866],
  209. ["Bulgaria",112483755019.30702,336003.0361266016],
  210. ["Brunei",5683983704.47261,111143.6940463348],
  211. ["Brazil",7542040031981.433,3915588.1752071916],
  212. ["Botswana",577537077673.9358,1005033.7114702462],
  213. ["Bosnia and Herz.",51762900143.40118,302391.7470669987],
  214. ["Bolivia",1076652528362.6862,1452616.8315824775],
  215. ["Bhutan",39941207799.865746,179051.81149080832],
  216. ["Benin",116541637410.61739,684764.1659558142],
  217. ["Belize",22820786611.704403,288554.77214008226],
  218. ["Belgium",30685782396.868896,220012.43908339023],
  219. ["Belarus",206593675978.1894,539327.6016509426],
  220. ["Barbados",390177698.8208726,28438.43733392629],
  221. ["Bangladesh",135631880598.23056,641362.7611422196],
  222. ["Bahrain",542666078.421561,48940.616137428195],
  223. ["Bahamas",12572006886.202946,657347.8029052814],
  224. ["Azerbaijan",86480375203.77911,388647.32676976256],
  225. ["Austria",83960555499.05753,289718.05858780514],
  226. ["Australia",6916075626359.462,4253387.647790333],
  227. ["Indian Ocean Ter.",143103838.04993325,207167.46611093302],
  228. ["Heard I. and McDonald Is.",419494189.5592296,24277.108307189614],
  229. ["Norfolk Island",41234971.619761944,9164.00266587067],
  230. ["Ashmore and Cartier Is.",2724124.8113709954,1337.1383696935786],
  231. ["Armenia",29606246853.694744,268723.39105833217],
  232. ["Argentina",2628180984838.9795,3439095.945263166],
  233. ["Antigua and Barb.",433754090.8784384,79797.82491219617],
  234. ["Angola",1231065800103.1306,1487384.312862242],
  235. ["Andorra",442811110.96016896,23181.443248610587],
  236. ["Algeria",2258264650157.1177,1980213.5544527844],
  237. ["Albania",28382259570.98209,333197.42270929285],
  238. ["Afghanistan",637227926969.2654,1010493.9286560246],
  239. ["Siachen Glacier",2122758731.8166118,61495.05302246724],
  240. ["Antarctica",9873880556033.318,3705614.001089979],
  241. ["Sint Maarten",41933349.229216255,5539.704322566973]];
  242. function makeState(views, name, height, width, area) {
  243. views[name] = {
  244. attributes: {
  245. height: {
  246. name: "Height",
  247. power: 1,
  248. type: "length",
  249. base: height
  250. },
  251. width: {
  252. name: "Width",
  253. power: 1,
  254. type: "length",
  255. base: width
  256. },
  257. area: {
  258. name: "Area",
  259. power: 2,
  260. type: "area",
  261. base: area
  262. },
  263. },
  264. name: name,
  265. image: {
  266. source: "./media/naturals/states/" + name.toLowerCase().replace(" ", "-") + ".svg"
  267. }
  268. }
  269. }
  270. function makePlanet(name, diameter, mass, image) {
  271. return {
  272. name: name,
  273. constructor: () => makeObject(
  274. name,
  275. {
  276. body: {
  277. height: diameter,
  278. mass: mass,
  279. image: (image === undefined ? {
  280. source: "./media/naturals/planet-generic.svg"
  281. } : image),
  282. name: "Body"
  283. }
  284. }
  285. )
  286. };
  287. }
  288. function makeMountains() {
  289. const views = {};
  290. [
  291. ["Everest", 29029],
  292. ["K2", 28251],
  293. ["Kilimanjaro", 19341],
  294. ["Rainier", 14409],
  295. ["Pikes Peak", 14114],
  296. ["Fuji", 12388],
  297. ["Olympus", 9573],
  298. ].forEach(mountain => {
  299. views[mountain[0]] = {
  300. height: math.unit(mountain[1], "feet"),
  301. image: { source: "./media/naturals/mountain.svg" },
  302. name: mountain[0],
  303. rename: true
  304. }
  305. });
  306. return {
  307. name: "Mountains",
  308. constructor: () => makeObject(
  309. "Mountains",
  310. views
  311. )
  312. };
  313. }
  314. function makeStates() {
  315. const stateViews = {};
  316. makeState(stateViews, "Alaska", math.unit(2071.44, "km"), math.unit(2483.83, "km"), math.unit(1723337, "km^2"));
  317. makeState(stateViews, "California", math.unit(1048.82, "km"), math.unit(852.02, "km"), math.unit(423967, "km^2"));
  318. makeState(stateViews, "Colorado", math.unit(442.44, "km"), math.unit(604.47, "km"), math.unit(269601, "km^2"));
  319. makeState(stateViews, "Florida", math.unit(716.79, "km"), math.unit(723.97, "km"), math.unit(170312, "km^2"));
  320. makeState(stateViews, "Maine", math.unit(505.94, "km"), math.unit(330.98, "km"), math.unit(91633, "km^2"));
  321. makeState(stateViews, "Montana", math.unit(497.99, "km"), math.unit(983.98, "km"), math.unit(380831, "km^2"));
  322. makeState(stateViews, "New York", math.unit(494.92, "km"), math.unit(536.63, "km"), math.unit(141297, "km^2"));
  323. makeState(stateViews, "Texas", math.unit(1183.33, "km"), math.unit(1226.69, "km"), math.unit(695662, "km^2"));
  324. return makeEntity( {name: "States" }, stateViews);
  325. }
  326. function makeGIS(data, category) {
  327. return {
  328. name: category,
  329. constructor: () => {
  330. views = {};
  331. data.forEach(entry => {
  332. name = entry[0]
  333. views[entry[0]] = {
  334. attributes: {
  335. height: {
  336. name: "Size",
  337. power: 1,
  338. type: "length",
  339. base: math.unit(entry[2], "meters")
  340. },
  341. area: {
  342. name: "Area",
  343. power: 2,
  344. type: "area",
  345. base: math.unit(entry[1], "meters^2")
  346. },
  347. },
  348. name: name,
  349. rename: true,
  350. image: {
  351. source: "./media/naturals/" + category.toLowerCase().replace(/ /g, "-") + "/" + name.toLowerCase().replace(/ /g, "-") + ".svg"
  352. }
  353. }
  354. });
  355. return makeEntity( {name: category }, views);
  356. }
  357. }
  358. }
  359. function makeNaturals() {
  360. const results = [];
  361. results.push(makeHeightWeight(
  362. [
  363. ["Mercury", 4879, "km", 0.330e24, "kg", "./media/naturals/planet-generic.svg"],
  364. ["Venus", 12104, "km", 4.87e24, "kg", "./media/naturals/planet-generic.svg"],
  365. ["Earth", 12756, "km", 5.97e24, "kg", "./media/naturals/planet-generic.svg"],
  366. ["Moon", 3475, "km", 0.073e24, "kg", "./media/naturals/planet-generic.svg"],
  367. ["Mars", 6792, "km", 0.642e24, "kg", "./media/naturals/planet-generic.svg"],
  368. ["Jupiter", 142984, "km", 1898e24, "kg", "./media/naturals/planet-generic.svg"],
  369. ["Saturn", 120536, "km", 568e24, "kg", "./media/naturals/saturn.svg"],
  370. ["Uranus", 51118, "km", 86.8e24, "kg", "./media/naturals/planet-generic.svg"],
  371. ["Neptune", 49528, "km", 102e24, "kg", "./media/naturals/planet-generic.svg"],
  372. ["Pluto", 2370, "km", 0.0146e24, "kg", "./media/naturals/planet-generic.svg"]
  373. ],
  374. "Planets",
  375. "",
  376. ""
  377. ));
  378. results.push(makeHeight(
  379. [
  380. ["orbit-of-mercury", 0.387 * 2, "AU", "./media/naturals/orbit.svg"],
  381. ["orbit-of-venus", 0.723 * 2, "AU", "./media/naturals/orbit.svg"],
  382. ["orbit-of-earth", 1 * 2, "AU", "./media/naturals/orbit.svg"],
  383. ["orbit-of-mars", 1.524 * 2, "AU", "./media/naturals/orbit.svg"],
  384. ["orbit-of-jupiter", 5.2044 * 2, "AU", "./media/naturals/orbit.svg"],
  385. ["orbit-of-saturn", 9.5826 * 2, "AU", "./media/naturals/orbit.svg"],
  386. ["orbit-of-uranus", 19.21840 * 2, "AU", "./media/naturals/orbit.svg"],
  387. ["orbit-of-neptune", 30.11 * 2, "AU", "./media/naturals/orbit.svg"],
  388. ["orbit-of-pluto", 39.482 * 2, "AU", "./media/naturals/orbit.svg"],
  389. ],
  390. "Orbits",
  391. "",
  392. ""
  393. ));
  394. results.push(makeHeightWeight(
  395. [
  396. ["Sun", 2*1, "solarradii", 1, "solarmasses", "./media/naturals/planet-generic.svg"],
  397. ["White Dwarf", 14000, "km", 1e30, "kg", "./media/naturals/planet-generic.svg"],
  398. ["Polaris", 2*37.5, "solarradii", 5.4, "solarmasses", "./media/naturals/planet-generic.svg"],
  399. ["Sun (Red Giant)", 2*256, "solarradii", 1, "solarmasses", "./media/naturals/planet-generic.svg"],
  400. ["Betelgeuse", 2*887, "solarradii", 11.6, "solarmasses", "./media/naturals/planet-generic.svg"],
  401. ["VY Canis Majoris", 2*1420, "solarradii", 17, "solarmasses", "./media/naturals/planet-generic.svg"],
  402. ],
  403. "Stars",
  404. "",
  405. ""
  406. ));
  407. results.push(makePlanet("Milky Way", math.unit(105700, "lightyears"), math.unit(3e+39, "kg"), { source: "./media/naturals/milky-way.svg" }));
  408. results.push(makePlanet("Observable Universe", math.unit(1, "universe"), math.unit(10e53, "kg")));
  409. results.push(makePlanet("Multiverse", math.unit(1e30, "lightyears"), math.unit(1e100, "kg")));
  410. results.push({
  411. name: "States",
  412. constructor: makeStates
  413. });
  414. results.push(makeMountains());
  415. results.push(makeGIS(
  416. countryData.sort((c1, c2) => {
  417. return c1[0].localeCompare(c2[0])
  418. }),
  419. "Countries"
  420. ));
  421. results.sort((b1, b2) => {
  422. e1 = b1.constructor();
  423. e2 = b2.constructor();
  424. return -math.subtract(e1.views[e1.defaultView].height, e2.views[e2.defaultView].height).value;
  425. });
  426. return results;
  427. }