rbx-trepanning 0.0.4-universal-rubinius-1.2 → 0.0.6-universal-rubinius-1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/ChangeLog +682 -0
  2. data/NEWS +19 -0
  3. data/README.textile +8 -9
  4. data/Rakefile +8 -8
  5. data/app/complete.rb +52 -0
  6. data/app/complete.rbc +1288 -0
  7. data/app/irb.rb +1 -2
  8. data/app/irb.rbc +55 -72
  9. data/app/llvm.rbc +780 -878
  10. data/app/method.rb +1 -1
  11. data/app/method.rbc +31 -35
  12. data/app/method_name.rbc +2467 -0
  13. data/app/options.rb +7 -24
  14. data/app/options.rbc +238 -132
  15. data/app/rbx-llvm.rbc +2478 -0
  16. data/app/util.rb +3 -3
  17. data/app/util.rbc +23 -27
  18. data/bin/trepanx +4 -3
  19. data/bin/trepanx.compiled.rbc +42 -32
  20. data/data/irbrc +41 -0
  21. data/data/irbrc.compiled.rbc +640 -0
  22. data/interface/base_intf.rb +9 -5
  23. data/interface/base_intf.rbc +200 -146
  24. data/interface/comcodes.rb +10 -8
  25. data/interface/comcodes.rbc +68 -26
  26. data/interface/script.rbc +21 -9
  27. data/interface/user.rb +74 -8
  28. data/interface/user.rbc +1702 -156
  29. data/io/input.rb +37 -14
  30. data/io/input.rbc +869 -320
  31. data/io/tcpclient.rb +7 -1
  32. data/io/tcpclient.rbc +205 -113
  33. data/io/tcpfns.rb +5 -3
  34. data/io/tcpfns.rbc +82 -40
  35. data/io/tcpserver.rb +13 -10
  36. data/io/tcpserver.rbc +236 -183
  37. data/lib/trepanning.rb +62 -21
  38. data/lib/trepanning.rbc +1304 -874
  39. data/lib/{trepanning.rb.orig → trepanning2.rb} +12 -4
  40. data/processor/breakpoint.rb +4 -1
  41. data/processor/command/base/cmd.rb +48 -3
  42. data/processor/command/base/subcmd.rb +2 -1
  43. data/processor/command/base/submgr.rb +23 -20
  44. data/processor/command/base/subsubmgr.rb +13 -2
  45. data/processor/command/complete.rb +7 -17
  46. data/processor/command/continue.rb +19 -11
  47. data/processor/command/disassemble.rb +39 -12
  48. data/processor/command/eval.rb +23 -5
  49. data/processor/command/help.rb +60 -6
  50. data/processor/command/info_subcmd/{file.rb → files.rb} +76 -18
  51. data/processor/command/info_subcmd/line.rb +86 -0
  52. data/processor/command/info_subcmd/program.rb +2 -11
  53. data/processor/command/info_subcmd/ruby.rb +62 -0
  54. data/processor/command/info_subcmd/variables.rb +7 -0
  55. data/processor/command/irb.rb +39 -7
  56. data/processor/command/macro.rb +76 -0
  57. data/processor/command/set_subcmd/confirm.rb +24 -0
  58. data/processor/command/set_subcmd/max.rb +4 -5
  59. data/processor/command/show.rb +11 -0
  60. data/processor/command/show_subcmd/auto.rb +1 -0
  61. data/processor/command/show_subcmd/basename.rb +1 -2
  62. data/processor/command/show_subcmd/confirm.rb +18 -0
  63. data/processor/command/show_subcmd/max.rb +0 -2
  64. data/processor/command/source.rb +0 -1
  65. data/processor/default.rb +2 -0
  66. data/processor/disassemble.rb +1 -0
  67. data/processor/load_cmds.rb +104 -20
  68. data/processor/location.rb +11 -12
  69. data/processor/main.rb +10 -6
  70. data/processor/mock.rb +6 -2
  71. data/processor/stepping.rb +1 -4
  72. data/processor/subcmd.rb +3 -2
  73. data/processor/validate.rb +3 -3
  74. data/sample/list-terminal-colors.rbc +158 -4
  75. data/sample/rocky-trepanx-colors.rb +15 -7
  76. data/sample/rocky-trepanx-colors.rbc +530 -0
  77. data/test/data/quit2.cmd +6 -0
  78. data/test/data/quit2.right +3 -0
  79. data/test/data/step-bug.cmd +11 -0
  80. data/test/data/step-bug.right +3 -0
  81. data/test/example/step-bug.rb +14 -0
  82. data/test/integration/helper.rb +1 -1
  83. data/test/integration/skip-test-step-bug.rb +17 -0
  84. data/test/integration/test-quit.rb +11 -0
  85. data/test/unit/test-app-util.rb +0 -1
  86. data/test/unit/test-base-cmd.rb +47 -0
  87. data/test/unit/test-base-subcmd.rb +2 -2
  88. data/test/unit/test-base-submgr.rb +24 -0
  89. data/test/unit/test-cmd-help.rb +4 -0
  90. data/test/unit/test-completion.rb +38 -0
  91. data/test/unit/test-intf-user.rb +2 -2
  92. data/test/unit/test-io-tcpclient.rb +3 -2
  93. data/test/unit/test-proc-eval.rb +1 -1
  94. data/test/unit/test-proc-load_cmds.rb +9 -0
  95. data/test/unit/test-subcmd-help.rb +1 -5
  96. metadata +182 -167
  97. data/app/options.rb.orig +0 -154
  98. data/bin/trepan.orig +0 -0
  99. data/bin/trepan.rej +0 -11
  100. data/lib/trepanning.rb.rej +0 -11
  101. data/sample/rocky-dot-trepanrc.orig +0 -0
  102. data/sample/rocky-dot-trepanrc.rej +0 -11
data/io/tcpserver.rbc CHANGED
@@ -414,7 +414,7 @@ x
414
414
  12
415
415
  TCPDbgServer
416
416
  i
417
- 221
417
+ 253
418
418
  5
419
419
  66
420
420
  5
@@ -428,128 +428,146 @@ i
428
428
  3
429
429
  1
430
430
  15
431
- 65
431
+ 26
432
+ 93
433
+ 0
434
+ 15
435
+ 29
436
+ 28
437
+ 0
432
438
  7
433
439
  4
440
+ 98
441
+ 5
442
+ 1
443
+ 30
444
+ 8
445
+ 34
446
+ 25
447
+ 92
448
+ 0
449
+ 27
450
+ 8
451
+ 39
452
+ 15
453
+ 7
454
+ 6
455
+ 8
456
+ 40
457
+ 1
458
+ 9
459
+ 45
460
+ 1
461
+ 8
462
+ 132
463
+ 65
464
+ 7
465
+ 7
434
466
  44
435
467
  43
436
- 5
468
+ 8
437
469
  79
438
470
  49
439
- 6
471
+ 9
440
472
  1
441
473
  13
442
474
  7
443
- 7
475
+ 10
444
476
  2
445
477
  49
446
- 8
478
+ 11
447
479
  2
448
480
  15
449
481
  49
450
- 9
482
+ 12
451
483
  2
452
484
  15
453
485
  65
454
486
  7
455
- 10
487
+ 4
456
488
  44
457
489
  43
458
- 5
490
+ 8
459
491
  4
460
492
  4
461
493
  49
462
- 6
494
+ 9
463
495
  1
464
496
  13
465
497
  7
466
- 11
467
- 45
468
- 12
469
498
  13
470
- 43
499
+ 45
471
500
  14
501
+ 15
502
+ 43
503
+ 16
472
504
  7
473
- 11
505
+ 13
474
506
  49
475
- 15
507
+ 17
476
508
  1
477
509
  49
478
- 8
510
+ 11
479
511
  2
480
512
  15
481
513
  13
482
514
  7
483
- 16
515
+ 18
484
516
  45
485
- 12
486
- 17
487
- 43
488
517
  14
489
- 7
518
+ 19
519
+ 43
490
520
  16
521
+ 7
522
+ 18
491
523
  49
492
- 15
524
+ 17
493
525
  1
494
526
  49
495
- 8
527
+ 11
496
528
  2
497
529
  15
498
530
  13
499
531
  7
500
- 18
532
+ 20
501
533
  4
502
534
  5
503
535
  49
504
- 8
536
+ 11
505
537
  2
506
538
  15
507
539
  13
508
540
  7
509
- 19
541
+ 21
510
542
  2
511
543
  49
512
- 8
544
+ 11
513
545
  2
514
546
  15
515
547
  49
516
- 9
548
+ 12
517
549
  2
518
550
  15
519
551
  5
520
552
  7
521
- 20
553
+ 22
522
554
  47
523
555
  49
524
- 21
556
+ 23
525
557
  1
526
558
  15
527
559
  99
528
560
  7
529
- 22
530
- 7
531
- 23
532
- 65
533
- 67
534
- 49
535
561
  24
536
- 0
537
- 49
538
- 25
539
- 4
540
- 15
541
- 99
542
- 7
543
- 26
544
562
  7
545
- 27
563
+ 25
546
564
  65
547
565
  67
548
566
  49
549
- 24
567
+ 26
550
568
  0
551
569
  49
552
- 25
570
+ 27
553
571
  4
554
572
  15
555
573
  99
@@ -560,38 +578,38 @@ i
560
578
  65
561
579
  67
562
580
  49
563
- 24
581
+ 26
564
582
  0
565
583
  49
566
- 25
584
+ 27
567
585
  4
568
586
  15
569
587
  99
570
588
  7
571
- 7
572
- 7
573
589
  30
590
+ 7
591
+ 31
574
592
  65
575
593
  67
576
594
  49
577
- 24
595
+ 26
578
596
  0
579
597
  49
580
- 25
598
+ 27
581
599
  4
582
600
  15
583
601
  99
584
602
  7
585
- 31
603
+ 10
586
604
  7
587
605
  32
588
606
  65
589
607
  67
590
608
  49
591
- 24
609
+ 26
592
610
  0
593
611
  49
594
- 25
612
+ 27
595
613
  4
596
614
  15
597
615
  99
@@ -602,10 +620,10 @@ i
602
620
  65
603
621
  67
604
622
  49
605
- 24
623
+ 26
606
624
  0
607
625
  49
608
- 25
626
+ 27
609
627
  4
610
628
  15
611
629
  99
@@ -616,10 +634,10 @@ i
616
634
  65
617
635
  67
618
636
  49
619
- 24
637
+ 26
620
638
  0
621
639
  49
622
- 25
640
+ 27
623
641
  4
624
642
  15
625
643
  99
@@ -630,14 +648,28 @@ i
630
648
  65
631
649
  67
632
650
  49
633
- 24
651
+ 26
634
652
  0
635
653
  49
636
- 25
654
+ 27
655
+ 4
656
+ 15
657
+ 99
658
+ 7
659
+ 39
660
+ 7
661
+ 40
662
+ 65
663
+ 67
664
+ 49
665
+ 26
666
+ 0
667
+ 49
668
+ 27
637
669
  4
638
670
  11
639
671
  I
640
- 7
672
+ 8
641
673
  I
642
674
  0
643
675
  I
@@ -646,7 +678,7 @@ I
646
678
  0
647
679
  n
648
680
  p
649
- 39
681
+ 41
650
682
  x
651
683
  10
652
684
  Trepanning
@@ -658,6 +690,15 @@ x
658
690
  7
659
691
  include
660
692
  x
693
+ 18
694
+ SERVER_SOCKET_OPTS
695
+ x
696
+ 16
697
+ vm_const_defined
698
+ s
699
+ 8
700
+ constant
701
+ x
661
702
  17
662
703
  DEFAULT_INIT_OPTS
663
704
  x
@@ -676,9 +717,6 @@ x
676
717
  9
677
718
  const_set
678
719
  x
679
- 18
680
- SERVER_SOCKET_OPTS
681
- x
682
720
  4
683
721
  host
684
722
  x
@@ -718,7 +756,7 @@ x
718
756
  10
719
757
  initialize
720
758
  i
721
- 72
759
+ 76
722
760
  23
723
761
  0
724
762
  10
@@ -771,24 +809,28 @@ i
771
809
  38
772
810
  14
773
811
  15
812
+ 3
813
+ 38
814
+ 15
815
+ 15
774
816
  39
775
817
  5
776
818
  7
777
- 15
778
- 49
779
819
  16
820
+ 49
821
+ 17
780
822
  1
781
823
  9
782
- 70
824
+ 74
783
825
  5
784
826
  39
785
827
  5
786
828
  47
787
829
  49
788
- 15
830
+ 16
789
831
  1
790
832
  8
791
- 71
833
+ 75
792
834
  1
793
835
  11
794
836
  I
@@ -801,7 +843,7 @@ I
801
843
  1
802
844
  n
803
845
  p
804
- 17
846
+ 18
805
847
  x
806
848
  4
807
849
  Hash
@@ -846,47 +888,54 @@ x
846
888
  5
847
889
  @host
848
890
  x
891
+ 10
892
+ @line_edit
893
+ x
849
894
  4
850
895
  open
851
896
  x
852
897
  2
853
898
  []
854
899
  p
855
- 17
900
+ 19
856
901
  I
857
902
  -1
858
903
  I
859
- 1d
904
+ 1f
860
905
  I
861
906
  e
862
907
  I
863
- 1e
908
+ 20
864
909
  I
865
910
  19
866
911
  I
867
- 1f
912
+ 21
868
913
  I
869
914
  21
870
915
  I
871
- 20
916
+ 22
872
917
  I
873
918
  27
874
919
  I
875
- 21
920
+ 23
876
921
  I
877
922
  2c
878
923
  I
879
- 22
924
+ 24
880
925
  I
881
926
  30
882
927
  I
883
- 23
928
+ 25
884
929
  I
885
930
  34
886
931
  I
887
- 24
932
+ 26
888
933
  I
889
- 48
934
+ 38
935
+ I
936
+ 27
937
+ I
938
+ 4c
890
939
  x
891
940
  55
892
941
  /home/rocky-rvm/.rvm/src/rbx-trepanning/io/tcpserver.rb
@@ -945,11 +994,11 @@ p
945
994
  I
946
995
  -1
947
996
  I
948
- 27
997
+ 2a
949
998
  I
950
999
  0
951
1000
  I
952
- 28
1001
+ 2b
953
1002
  I
954
1003
  7
955
1004
  x
@@ -1023,19 +1072,19 @@ p
1023
1072
  I
1024
1073
  -1
1025
1074
  I
1026
- 2d
1075
+ 30
1027
1076
  I
1028
1077
  0
1029
1078
  I
1030
- 2e
1079
+ 31
1031
1080
  I
1032
1081
  5
1033
1082
  I
1034
- 2f
1083
+ 32
1035
1084
  I
1036
1085
  12
1037
1086
  I
1038
- 30
1087
+ 33
1039
1088
  I
1040
1089
  17
1041
1090
  x
@@ -1206,27 +1255,27 @@ p
1206
1255
  I
1207
1256
  -1
1208
1257
  I
1209
- 33
1258
+ 36
1210
1259
  I
1211
1260
  e
1212
1261
  I
1213
- 34
1262
+ 37
1214
1263
  I
1215
1264
  19
1216
1265
  I
1217
- 35
1266
+ 38
1218
1267
  I
1219
1268
  23
1220
1269
  I
1221
- 36
1270
+ 39
1222
1271
  I
1223
1272
  2d
1224
1273
  I
1225
- 37
1274
+ 3a
1226
1275
  I
1227
1276
  50
1228
1277
  I
1229
- 3a
1278
+ 3d
1230
1279
  I
1231
1280
  55
1232
1281
  x
@@ -1370,27 +1419,27 @@ p
1370
1419
  I
1371
1420
  -1
1372
1421
  I
1373
- 41
1422
+ 44
1374
1423
  I
1375
1424
  0
1376
1425
  I
1377
- 42
1426
+ 45
1378
1427
  I
1379
1428
  e
1380
1429
  I
1381
- 43
1430
+ 46
1382
1431
  I
1383
1432
  21
1384
1433
  I
1385
- 44
1434
+ 47
1386
1435
  I
1387
1436
  3a
1388
1437
  I
1389
- 46
1438
+ 49
1390
1439
  I
1391
1440
  4d
1392
1441
  I
1393
- 47
1442
+ 4a
1394
1443
  I
1395
1444
  50
1396
1445
  x
@@ -1470,15 +1519,15 @@ p
1470
1519
  I
1471
1520
  -1
1472
1521
  I
1473
- 4a
1522
+ 4d
1474
1523
  I
1475
1524
  0
1476
1525
  I
1477
- 4b
1526
+ 4e
1478
1527
  I
1479
1528
  c
1480
1529
  I
1481
- 4c
1530
+ 4f
1482
1531
  I
1483
1532
  11
1484
1533
  x
@@ -1558,15 +1607,15 @@ p
1558
1607
  I
1559
1608
  -1
1560
1609
  I
1561
- 52
1610
+ 55
1562
1611
  I
1563
1612
  0
1564
1613
  I
1565
- 53
1614
+ 56
1566
1615
  I
1567
1616
  10
1568
1617
  I
1569
- 55
1618
+ 58
1570
1619
  I
1571
1620
  1d
1572
1621
  x
@@ -1628,11 +1677,11 @@ p
1628
1677
  I
1629
1678
  -1
1630
1679
  I
1631
- 58
1680
+ 5b
1632
1681
  I
1633
1682
  0
1634
1683
  I
1635
- 59
1684
+ 5c
1636
1685
  I
1637
1686
  d
1638
1687
  x
@@ -1644,7 +1693,7 @@ x
1644
1693
  3
1645
1694
  msg
1646
1695
  p
1647
- 35
1696
+ 37
1648
1697
  I
1649
1698
  2
1650
1699
  I
@@ -1654,67 +1703,71 @@ d
1654
1703
  I
1655
1704
  11
1656
1705
  I
1657
- 23
1706
+ 2d
1658
1707
  I
1659
- 13
1708
+ 12
1660
1709
  I
1661
- 26
1710
+ 43
1662
1711
  I
1663
- 19
1712
+ 14
1664
1713
  I
1665
- 2f
1714
+ 46
1666
1715
  I
1667
- 14
1716
+ 1a
1668
1717
  I
1669
- 40
1718
+ 4f
1670
1719
  I
1671
1720
  15
1672
1721
  I
1673
- 51
1722
+ 60
1674
1723
  I
1675
1724
  16
1676
1725
  I
1677
- 5a
1726
+ 71
1678
1727
  I
1679
1728
  17
1680
1729
  I
1681
- 65
1730
+ 7a
1682
1731
  I
1683
- 1b
1732
+ 18
1684
1733
  I
1685
- 6d
1734
+ 85
1686
1735
  I
1687
1736
  1d
1688
1737
  I
1689
- 7b
1738
+ 8d
1690
1739
  I
1691
- 27
1740
+ 1f
1692
1741
  I
1693
- 89
1742
+ 9b
1694
1743
  I
1695
- 2d
1744
+ 2a
1696
1745
  I
1697
- 97
1746
+ a9
1698
1747
  I
1699
- 33
1748
+ 30
1700
1749
  I
1701
- a5
1750
+ b7
1702
1751
  I
1703
- 41
1752
+ 36
1704
1753
  I
1705
- b3
1754
+ c5
1706
1755
  I
1707
- 4a
1756
+ 44
1708
1757
  I
1709
- c1
1758
+ d3
1710
1759
  I
1711
- 52
1760
+ 4d
1712
1761
  I
1713
- cf
1762
+ e1
1714
1763
  I
1715
- 58
1764
+ 55
1765
+ I
1766
+ ef
1767
+ I
1768
+ 5b
1716
1769
  I
1717
- dd
1770
+ fd
1718
1771
  x
1719
1772
  55
1720
1773
  /home/rocky-rvm/.rvm/src/rbx-trepanning/io/tcpserver.rb
@@ -1968,27 +2021,27 @@ p
1968
2021
  I
1969
2022
  0
1970
2023
  I
1971
- 6b
2024
+ 6e
1972
2025
  I
1973
2026
  3
1974
2027
  I
1975
- 6d
2028
+ 70
1976
2029
  I
1977
2030
  16
1978
2031
  I
1979
- 6e
2032
+ 71
1980
2033
  I
1981
2034
  2c
1982
2035
  I
1983
- 6f
2036
+ 72
1984
2037
  I
1985
2038
  39
1986
2039
  I
1987
- 70
2040
+ 73
1988
2041
  I
1989
2042
  42
1990
2043
  I
1991
- 71
2044
+ 74
1992
2045
  I
1993
2046
  5c
1994
2047
  x
@@ -2320,63 +2373,63 @@ p
2320
2373
  I
2321
2374
  0
2322
2375
  I
2323
- 76
2376
+ 79
2324
2377
  I
2325
2378
  25
2326
2379
  I
2327
- 77
2380
+ 7a
2328
2381
  I
2329
2382
  28
2330
2383
  I
2331
- 79
2384
+ 7c
2332
2385
  I
2333
2386
  38
2334
2387
  I
2335
- 7a
2388
+ 7d
2336
2389
  I
2337
2390
  41
2338
2391
  I
2339
- 7b
2392
+ 7e
2340
2393
  I
2341
2394
  60
2342
2395
  I
2343
- 7c
2396
+ 7f
2344
2397
  I
2345
2398
  7a
2346
2399
  I
2347
- 7d
2400
+ 80
2348
2401
  I
2349
2402
  87
2350
2403
  I
2351
- 7e
2404
+ 81
2352
2405
  I
2353
2406
  90
2354
2407
  I
2355
- 7f
2408
+ 82
2356
2409
  I
2357
2410
  9c
2358
2411
  I
2359
- 80
2412
+ 83
2360
2413
  I
2361
2414
  a9
2362
2415
  I
2363
- 83
2416
+ 86
2364
2417
  I
2365
2418
  aa
2366
2419
  I
2367
- 80
2420
+ 83
2368
2421
  I
2369
2422
  ad
2370
2423
  I
2371
- 81
2424
+ 84
2372
2425
  I
2373
2426
  bc
2374
2427
  I
2375
- 82
2428
+ 85
2376
2429
  I
2377
2430
  d6
2378
2431
  I
2379
- 85
2432
+ 88
2380
2433
  I
2381
2434
  dc
2382
2435
  x
@@ -2439,7 +2492,7 @@ p
2439
2492
  I
2440
2493
  0
2441
2494
  I
2442
- 87
2495
+ 8a
2443
2496
  I
2444
2497
  a
2445
2498
  x
@@ -2485,91 +2538,91 @@ b
2485
2538
  I
2486
2539
  51
2487
2540
  I
2488
- 60
2541
+ 63
2489
2542
  I
2490
2543
  61
2491
2544
  I
2492
- 61
2545
+ 64
2493
2546
  I
2494
2547
  6c
2495
2548
  I
2496
- 62
2549
+ 65
2497
2550
  I
2498
2551
  7c
2499
2552
  I
2500
- 65
2553
+ 68
2501
2554
  I
2502
2555
  85
2503
2556
  I
2504
- 62
2557
+ 65
2505
2558
  I
2506
2559
  8d
2507
2560
  I
2508
- 63
2561
+ 66
2509
2562
  I
2510
2563
  96
2511
2564
  I
2512
- 64
2565
+ 67
2513
2566
  I
2514
2567
  a6
2515
2568
  I
2516
- 65
2569
+ 68
2517
2570
  I
2518
2571
  af
2519
2572
  I
2520
- 62
2573
+ 65
2521
2574
  I
2522
2575
  b7
2523
2576
  I
2524
- 63
2577
+ 66
2525
2578
  I
2526
2579
  c0
2527
2580
  I
2528
- 64
2581
+ 67
2529
2582
  I
2530
2583
  cc
2531
2584
  I
2532
- 62
2585
+ 65
2533
2586
  I
2534
2587
  cf
2535
2588
  I
2536
- 66
2589
+ 69
2537
2590
  I
2538
2591
  da
2539
2592
  I
2540
- 67
2593
+ 6a
2541
2594
  I
2542
2595
  e3
2543
2596
  I
2544
- 68
2597
+ 6b
2545
2598
  I
2546
2599
  e9
2547
2600
  I
2548
- 69
2601
+ 6c
2549
2602
  I
2550
2603
  ee
2551
2604
  I
2552
- 6a
2605
+ 6d
2553
2606
  I
2554
2607
  f7
2555
2608
  I
2556
- 75
2609
+ 78
2557
2610
  I
2558
2611
  105
2559
2612
  I
2560
- 87
2613
+ 8a
2561
2614
  I
2562
2615
  10d
2563
2616
  I
2564
- 88
2617
+ 8b
2565
2618
  I
2566
2619
  114
2567
2620
  I
2568
- 66
2621
+ 69
2569
2622
  I
2570
2623
  117
2571
2624
  I
2572
- 60
2625
+ 63
2573
2626
  I
2574
2627
  11b
2575
2628
  x