Permalink
Browse files

Merge branch 'master' of git://github.com/avsm/ipc-bench

Conflicts:
	Makefile
	mempipe_thr.c
	test.c
	test.h
	xutil.c
	xutil.h
  • Loading branch information...
2 parents e0a16b7 + bdd28c5 commit b75a059e88abc9862621fe4bd0916e0b3910f87d Steven Smith committed Nov 29, 2011
Showing with 2,093 additions and 2,068 deletions.
  1. +12 −6 Makefile
  2. +56 −0 all_thr.py
  3. +0 −48 archive/native-48core-linux/mempipe_thr.csv
  4. +0 −48 archive/native-48core-linux/mempipe_thr2.csv
  5. +0 −48 archive/native-48core-linux/pipe_lat.csv
  6. +0 −48 archive/native-48core-linux/pipe_thr.csv
  7. +0 −48 archive/native-48core-linux/tcp_lat.csv
  8. +0 −48 archive/native-48core-linux/tcp_thr.csv
  9. +0 −48 archive/native-48core-linux/unix_lat.csv
  10. +0 −48 archive/native-48core-linux/unix_thr.csv
  11. +0 −157 archive/results-diff.csv
  12. +0 −157 archive/results-same.csv
  13. +0 −91 archive/tigger-native-diff.csv
  14. +0 −91 archive/tigger-native-same.csv
  15. +0 −48 archive/xen-48core-linux-dom0/mempipe_thr.csv
  16. +0 −48 archive/xen-48core-linux-dom0/pipe_lat.csv
  17. +0 −48 archive/xen-48core-linux-dom0/pipe_thr.csv
  18. +0 −48 archive/xen-48core-linux-dom0/tcp_lat.csv
  19. +0 −48 archive/xen-48core-linux-dom0/tcp_thr.csv
  20. +0 −48 archive/xen-48core-linux-dom0/unix_lat.csv
  21. +0 −48 archive/xen-48core-linux-dom0/unix_thr.csv
  22. +33 −24 mempipe_lat.c
  23. +162 −137 mempipe_thr.c
  24. +21 −18 pipe_lat.c
  25. +54 −26 pipe_thr.c
  26. +48 −0 resolve/48native.mempipe_lat.lat.csv
  27. +48 −0 resolve/48native.pipe_lat.lat.csv
  28. +48 −0 resolve/48native.tcp_lat.lat.csv
  29. +48 −0 resolve/48native.unix_lat.lat.csv
  30. +48 −0 resolve/48xennopin.mempipe_lat.lat.csv
  31. +48 −0 resolve/48xennopin.pipe_lat.lat.csv
  32. +48 −0 resolve/48xennopin.tcp_lat.lat.csv
  33. +48 −0 resolve/48xennopin.unix_lat.lat.csv
  34. +48 −0 resolve/48xenpin.mempipe_lat.lat.csv
  35. +48 −0 resolve/48xenpin.pipe_lat.lat.csv
  36. +48 −0 resolve/48xenpin.tcp_lat.lat.csv
  37. +48 −0 resolve/48xenpin.unix_lat.lat.csv
  38. +18 −0 resolve/Makefile
  39. +12 −0 resolve/lat.sh
  40. BIN resolve/latency.pdf
  41. +25 −0 resolve/latency.r
  42. +54 −0 resolve/results.thr.48native/01-mempipe_thr-headline.log
  43. +15 −0 resolve/results.thr.48native/01-pipe_thr-headline.log
  44. +30 −0 resolve/results.thr.48native/01-shmem_pipe_thr-headline.log
  45. +15 −0 resolve/results.thr.48native/01-tcp_nodelay_thr-headline.log
  46. +15 −0 resolve/results.thr.48native/01-tcp_thr-headline.log
  47. +15 −0 resolve/results.thr.48native/01-unix_thr-headline.log
  48. +15 −0 resolve/results.thr.48native/01-vmsplice_coop_pipe_thr-headline.log
  49. +54 −0 resolve/results.thr.48xennopin/01-mempipe_thr-headline.log
  50. +15 −0 resolve/results.thr.48xennopin/01-pipe_thr-headline.log
  51. +30 −0 resolve/results.thr.48xennopin/01-shmem_pipe_thr-headline.log
  52. +15 −0 resolve/results.thr.48xennopin/01-tcp_nodelay_thr-headline.log
  53. +15 −0 resolve/results.thr.48xennopin/01-tcp_thr-headline.log
  54. +15 −0 resolve/results.thr.48xennopin/01-unix_thr-headline.log
  55. +15 −0 resolve/results.thr.48xennopin/01-vmsplice_coop_pipe_thr-headline.log
  56. +6 −0 resolve/results.thr.48xenpin/01-mempipe_thr-headline.log
  57. +3 −0 resolve/results.thr.48xenpin/01-pipe_thr-headline.log
  58. +6 −0 resolve/results.thr.48xenpin/01-shmem_pipe_thr-headline.log
  59. +3 −0 resolve/results.thr.48xenpin/01-tcp_nodelay_thr-headline.log
  60. +3 −0 resolve/results.thr.48xenpin/01-tcp_thr-headline.log
  61. +3 −0 resolve/results.thr.48xenpin/01-unix_thr-headline.log
  62. +3 −0 resolve/results.thr.48xenpin/01-vmsplice_coop_pipe_thr-headline.log
  63. +152 −121 shmem_pipe_thr.c
  64. +56 −23 tcp_lat.c
  65. +0 −129 tcp_nodelay_lat.c
  66. +0 −126 tcp_nodelay_thr.c
  67. +106 −26 tcp_thr.c
  68. +199 −6 test.c
  69. +23 −64 test.h
  70. +23 −20 unix_lat.c
  71. +58 −23 unix_thr.c
  72. +138 −94 vmsplice_pipe_thr.c
  73. +23 −8 xutil.c
  74. +1 −1 xutil.h
View
@@ -1,13 +1,12 @@
-CFLAGS = -g -Wall -O3 -D_GNU_SOURCE -DNDEBUG
+CFLAGS = -g -Wall -O3 -D_GNU_SOURCE -DNDEBUG -std=gnu99
LDFLAGS+=-lm
.PHONY: all clean run
-TARGETS=tcp_lat tcp_thr tcp_nodelay_thr tcp_nodelay_lat
-TARGETS+=pipe_lat pipe_thr unix_lat unix_thr
-TARGETS+=mempipe_lat mempipe_thr mempipe_sos22_thr
+TARGETS=pipe_thr tcp_thr tcp_nodelay_thr unix_thr mempipe_thr mempipe_spin_thr
TARGETS+=vmsplice_pipe_thr vmsplice_hugepages_pipe_thr vmsplice_hugepages_coop_pipe_thr vmsplice_coop_pipe_thr
TARGETS+=shmem_pipe_thr futex_lat
+TARGETS+=pipe_lat unix_lat tcp_lat tcp_nodelay_lat mempipe_lat
TARGETS+=summarise_tsc_counters
all: $(TARGETS)
@@ -18,8 +17,14 @@ all: $(TARGETS)
%_thr: atomicio.o test.o xutil.o %_thr.o
$(CC) -lrt -lnuma $(CFLAGS) -o $@ $^
-mempipe_sos22_thr: mempipe_thr.c
- $(CC) $(CFLAGS) $^ -c -DSOS22_MEMSET -o $@
+tcp_nodelay_thr.o: tcp_thr.c
+ $(CC) $(CFLAGS) $^ -c -DUSE_NODELAY -o $@
+
+tcp_nodelay_lat.o: tcp_lat.c
+ $(CC) $(CFLAGS) $^ -c -DUSE_NODELAY -o $@
+
+mempipe_spin_thr.o: mempipe_thr.c
+ $(CC) $(CFLAGS) $^ -c -DNO_FUTEX -o $@
vmsplice_hugepages_pipe_thr.o: vmsplice_pipe_thr.c
$(CC) $(CFLAGS) $^ -c -DUSE_HUGE_PAGES -o $@
@@ -32,3 +37,4 @@ vmsplice_coop_pipe_thr.o: vmsplice_pipe_thr.c
clean:
rm -f *~ core *.o $(TARGETS)
+
View
@@ -0,0 +1,56 @@
+#!/usr/bin/python
+
+# This script runs the following battery of tests:
+# Chunk sizes: 64, 4096, 65536
+# Test types: pipe, unix, tcp, tcp-nodelay, vmsplice-coop, shmem-pipe, mempipe-futex, mempipe-spin
+# The latter 3 tests are repeated with a "safe" form that has the writer copy the data from shared memory before verification
+# All tests use "sos22_memset" (rep stosq) to write buffers (data is the iteration count) and rep scasq to verify at the reader.
+# All tests work in place so far as their underlying transport allows (so pipes involve 2 copies, vmsplice involves 1, rings involve 0).
+# All tests will be repeated to test bandwidth between cores named on the command line: see below...
+
+# Parameters for this script: 1st parameter is an output directory (will be created; all tests will be stored below this)
+# All following parameters must be integers denoting a core. If you supply [x,y,z] we will test 0-0, 0-x, 0-y, 0-z.
+# We omit the mempipe-spin 0-0 test as it's stupid.
+
+import sys
+import errno
+import subprocess
+import os
+
+output_dir = sys.argv[1]
+try:
+ os.makedirs(output_dir)
+except OSError as e:
+ if e.errno == errno.EEXIST:
+ pass
+ else:
+ raise
+
+target_cores = ["0"]
+target_cores.extend([str(int(x)) for x in sys.argv[2:]])
+
+chunk_repeats = [("64", "1000000"), ("4096", "1000000"), ("65536", "100000")]
+
+test_rips = [("pipe_thr", True), ("unix_thr", True),
+ ("tcp_thr", True), ("tcp_nodelay_thr", True),
+ ("vmsplice_coop_pipe_thr", True),
+ ("mempipe_thr", True), ("mempipe_thr", False),
+ ("mempipe_spin_thr", True), ("mempipe_spin_thr", False),
+ ("shmem_pipe_thr", True), ("shmem_pipe_thr", False)]
+
+for test, rip in test_rips:
+ for chunksize, repeats in chunk_repeats:
+ for tcore in target_cores:
+
+ if test == "mempipe_spin_thr" and tcore == "0":
+ continue
+
+ progname = "./%s" % test
+ args = [progname, "-t", "-s", chunksize, "-c", repeats, "-a", "0", "-b", tcore, "-o", output_dir, "-w", "-v", "-m", "2"]
+ # Last four args: write in place, do verify, produce using rep stosq
+ if rip:
+ args.append("-r")
+ sys.stdout.write("%s: " % test)
+ sys.stdout.flush()
+ subprocess.check_call(args)
+
@@ -1,48 +0,0 @@
-318 4633 4172 4193 4230 4261 4015 3856 3596 3638 3720 3735 3843 3530 3608 3624 3594 3645 3220 3099 3166 3206 3186 3160 3775 3568 3641 3685 3649 3680 3255 3224 3175 3204 3124 3153 3669 3484 3640 3603 3640 3587 3323 3053 3122 3128 3120 3160
-4457 318 4641 4221 4188 4220 3644 3562 3566 3585 3599 3634 3674 3537 3567 3558 3571 3576 3136 3091 3111 3076 3111 3107 3610 3542 3589 3553 3576 3583 3123 3082 3176 3068 3147 3117 3567 3584 3545 3579 3530 3543 3053 3122 3089 3064 3064 3090
-4291 4352 318 4528 4195 4197 3706 3563 3649 3537 3661 3556 3562 3535 3564 3571 3592 3567 3126 3093 3158 3131 3111 3105 3694 3544 3542 3563 3555 3631 3117 3078 3092 3095 3065 3085 3564 3500 3622 3543 3527 3535 3195 3064 3074 3061 3011 3117
-4123 4150 4273 318 4559 4093 3769 3555 3680 3537 3676 3530 3597 3545 3526 3496 3576 3525 3222 3076 3079 3073 3144 3140 3577 3551 3533 3562 3568 3574 3280 3091 3080 3109 3095 3076 3571 3532 3496 3559 3652 3554 3127 3031 3056 3088 3101 3020
-4354 4447 4091 4185 318 4538 3628 3525 3542 3551 3542 3579 3524 3577 3576 3564 3545 3564 3155 3083 3101 3121 3140 3056 3684 3521 3581 3643 3594 3531 3235 3195 3148 3178 3051 3115 3566 3584 3553 3546 3545 3634 3210 3064 3060 3066 3026 3086
-4214 4134 4355 4077 4278 318 3608 3533 3674 3633 3641 3526 3545 3564 3584 3553 3554 3596 3145 3089 3158 3073 3089 3082 3648 3553 3703 3570 3543 3603 3119 3084 3173 3129 3080 3089 3547 3482 3602 3546 3515 3598 3125 3108 3039 3102 3063 3113
-4061 3615 3665 3571 3550 3663 318 4866 4037 4110 4070 4106 3136 3102 3080 3082 3085 3089 3589 3668 3520 3553 3557 3572 3184 3103 3064 3083 3113 3087 3790 3551 3543 3529 3502 3531 3112 3124 3049 3099 3137 3064 3611 3546 3470 3548 3564 3612
-3567 3606 3561 3579 3643 3566 4258 318 4675 4208 4288 4119 3160 3071 3093 3094 3100 3125 3642 3648 3560 3559 3567 3594 3214 3081 3142 3083 3080 3079 3518 3540 3553 3642 3625 3567 3107 3055 3050 3033 2995 3014 3535 3573 3626 3523 3533 3592
-3615 3565 3644 3585 3640 3624 4419 4557 318 4700 4115 4470 3111 3118 3073 3072 3105 3091 3644 3527 3573 3567 3579 3676 3181 3092 3100 3127 3070 3095 3840 3559 3584 3601 3546 3528 3062 3088 3058 3064 3108 3142 3582 3545 3554 3531 3577 3545
-3883 3638 3532 3534 3556 3608 4214 4170 4095 318 4686 4095 3141 3072 3088 3074 3151 3083 3607 3556 3551 3567 3561 3569 3210 3054 3150 3153 3070 3063 3574 3704 3707 3537 3654 3548 3200 3157 3039 3119 3125 3080 3634 3524 3595 3552 3552 3468
-3717 3629 3554 3499 3560 3528 4090 4132 4139 4140 318 4646 3206 3070 3070 3083 3108 3089 3579 3505 3576 3544 3550 3682 3138 3113 3103 3085 3051 3103 3623 3529 3529 3704 3523 3543 3101 3060 3070 3151 3071 3055 3558 3596 3584 3516 3506 3522
-3655 3731 3546 3635 3694 3665 4219 4449 4115 4044 4230 392 3133 3031 3168 3035 3072 3144 3587 3566 3582 3542 3516 3629 3139 3100 3045 3125 3080 3070 3582 3550 3554 3542 3540 3518 3094 3046 3068 3056 3016 3039 3550 3540 3592 3657 3486 3660
-3637 3556 3507 3523 3533 3510 3553 3088 3144 3051 3075 3173 318 4710 4140 4061 4119 4092 3732 3629 3589 3586 3661 3553 3765 3571 3562 3589 3584 3524 3245 3254 3193 3220 3103 3110 3624 3593 3509 3670 3635 3589 3173 3033 3048 3069 3066 3086
-3759 3517 3515 3639 3514 3541 3124 3069 3188 3085 3013 3128 4504 318 4608 4121 4101 4298 3766 3534 3546 3607 3600 3661 3648 3545 3656 3562 3582 3625 3185 3105 3103 3101 3102 3086 3514 3527 3546 3557 3558 3570 3054 3032 3090 3082 3104 3020
-3572 3538 3525 3541 3551 3514 3120 3141 3051 3086 3092 3101 4345 4126 318 4717 4408 4113 3583 3607 3543 3527 3543 3585 3632 3601 3539 3664 3671 3660 3149 3065 3069 3105 3111 3175 3631 3572 3561 3542 3563 3566 3103 3075 3072 3074 3077 3090
-3682 3526 3534 3502 3522 3552 3164 3038 3103 3065 3051 3102 4298 4153 4129 318 4705 4105 3791 3524 3512 3703 3592 3560 3589 3617 3562 3601 3588 3583 3161 3252 3115 3180 3113 3112 3577 3578 3560 3585 3510 3496 3092 3122 3037 3050 3070 3054
-3626 3537 3527 3541 3540 3506 3121 3062 3128 3097 3163 3132 4115 4095 4068 4096 318 4797 3641 3572 3521 3638 3553 3529 3661 3685 3694 3578 3658 3530 3175 3125 3156 3112 3098 3083 3740 3556 3534 3534 3576 3577 3132 3155 3077 3083 3045 3054
-3603 3567 3612 3539 3543 3543 3141 3095 3089 3089 3082 3142 4331 4114 4285 4140 4157 318 3645 3534 3560 3529 3504 3632 3622 3603 3526 3587 3662 3533 3180 3264 3227 3098 3064 3217 3795 3575 3550 3564 3548 3546 3132 3083 3060 3114 3110 3045
-3167 3069 3103 3120 3020 3061 3583 3653 3558 3564 3564 3575 3992 3588 3577 3704 3538 3665 318 4617 4270 4119 4003 4255 3186 3122 3163 3117 3099 3111 3742 3592 3603 3687 3605 3584 3107 3112 3063 3074 3172 3113 3548 3531 3504 3475 3493 3492
-3128 3069 3131 3067 3117 3139 3641 3575 3646 3582 3571 3577 3773 3674 3573 3616 3617 3530 4256 318 4609 4238 4226 4317 3268 3054 3101 3060 3200 3158 3616 3720 3575 3604 3573 3577 3156 3072 3059 3168 3071 3076 3515 3502 3546 3517 3502 3460
-3165 3064 3087 3114 3085 3177 3625 3572 3690 3596 3587 3517 3603 3642 3540 3637 3548 3606 4395 4121 318 4755 4147 4154 3112 3121 3212 3122 3105 3111 3625 3589 3583 3574 3581 3582 3211 3181 3084 3088 3088 3080 3516 3517 3493 3617 3505 3492
-3213 3102 3075 3069 3058 3095 3558 3521 3545 3700 3556 3582 3594 3678 3610 3693 3541 3671 4141 4068 4273 318 4648 4325 3113 3108 3176 3070 3085 3139 3615 3582 3578 3620 3589 3582 3113 3058 3065 3058 3077 3078 3573 3504 3541 3527 3462 3537
-3294 3158 3121 3078 3192 3103 3629 3552 3587 3576 3559 3569 3575 3541 3534 3521 3678 3550 4121 4150 4265 4092 318 4737 3143 3097 3089 3143 3125 3124 3619 3549 3584 3577 3587 3608 3375 3088 3074 3048 3059 3196 3595 3532 3542 3490 3521 3604
-3286 3140 3073 3091 3136 3048 3778 3586 3694 3542 3576 3648 3540 3627 3553 3524 3553 3558 4163 4448 4134 4316 4124 318 3237 3082 3177 3085 3173 3063 3745 3609 3589 3598 3585 3602 3091 3071 3111 3070 3109 3107 3517 3619 3483 3518 3494 3537
-3637 3653 3564 3514 3648 3618 3148 3067 3076 3071 3098 3086 3556 3518 3535 3548 3656 3504 3387 3093 3091 3182 3062 3072 318 4926 4134 4134 4111 4370 3627 3598 3529 3499 3543 3680 3552 3547 3640 3553 3576 3538 3187 3104 3144 3084 3070 3088
-3704 3554 3639 3576 3546 3504 3095 3103 3077 3066 3035 3097 3799 3698 3650 3518 3545 3541 3123 3112 3102 3098 3107 3132 4354 318 4618 4126 4099 4327 3600 3670 3583 3581 3567 3605 3587 3554 3553 3582 3678 3572 3124 3180 3063 3087 3139 3166
-3726 3601 3794 3534 3562 3516 3125 3122 3085 3071 3128 3062 3791 3657 3689 3549 3563 3571 3155 3101 3099 3121 3081 3192 4436 4247 318 4625 4090 4259 3809 3671 3549 3689 3572 3659 3535 3615 3555 3642 3604 3644 3122 3058 3130 3121 3096 3086
-3783 3582 3553 3584 3591 3534 3150 3074 3130 3082 3130 3087 3738 3562 3545 3562 3537 3558 3176 3214 3141 3208 3146 3099 4230 4383 4148 318 4663 4101 3599 3522 3626 3675 3562 3574 3556 3640 3693 3572 3558 3599 3287 3074 3121 3160 3054 3059
-3601 3791 3748 3544 3554 3553 3196 3132 3068 3137 3123 3117 3613 3569 3561 3517 3543 3631 3272 3085 3173 3084 3155 3095 4619 4165 4094 4151 318 4623 3614 3677 3558 3577 3632 3682 3664 3533 3553 3636 3504 3571 3140 3153 3151 3101 3073 3160
-3644 3589 3564 3577 3584 3586 3116 3088 3088 3033 3061 3076 3698 3644 3546 3546 3557 3514 3150 3136 3081 3057 3142 3156 4347 4143 4176 4171 4066 318 3735 3527 3629 3660 3535 3733 3592 3508 3571 3637 3564 3556 3142 3109 3099 3047 3094 3095
-3136 3110 3245 3109 3111 3102 3722 3542 3509 3551 3551 3619 3324 3136 3078 3108 3069 3191 3609 3706 3560 3528 3666 3657 3977 3561 3569 3543 3548 3545 318 4698 4266 4134 4101 4144 3118 3211 3075 3149 3127 3113 3679 3561 3552 3559 3508 3555
-3200 3166 3066 3081 3194 3086 3587 3629 3511 3487 3488 3543 3140 3089 3157 3071 3110 3106 3791 3644 3533 3657 3609 3576 3688 3626 3542 3599 3624 3568 4695 318 4746 4405 4137 4114 3108 3118 3127 3143 3160 3043 3592 3524 3585 3527 3575 3692
-3131 3083 3085 3091 3077 3084 3715 3507 3562 3506 3527 3503 3234 3165 3099 3108 3104 3064 3590 3641 3567 3712 3546 3710 3697 3746 3554 3540 3562 3579 4360 4133 318 4585 4150 4071 3138 3071 3155 3073 3113 3080 3611 3644 3657 3626 3548 3573
-3195 3086 3152 3086 3122 3209 3515 3528 3538 3606 3505 3560 3170 3134 3161 3106 3155 3138 3635 3587 3598 3592 3553 3655 3640 3562 3554 3546 3630 3559 4398 4420 4085 318 4788 4270 3117 3108 3106 3116 3115 3075 3680 3581 3606 3705 3518 3619
-3187 3090 3157 3067 3238 3097 3593 3503 3556 3550 3534 3532 3143 3178 3099 3094 3125 3103 3596 3571 3664 3556 3655 3594 3608 3645 3604 3544 3585 3553 4150 4134 4125 4144 268 4702 3100 3091 3193 3177 3070 3092 3606 3540 3569 3643 3567 3676
-3164 3102 3086 3039 3103 3098 3649 3551 3542 3573 3556 3604 3164 3125 3119 3092 3113 3216 3659 3674 3589 3628 3692 3649 3631 3623 3645 3615 3572 3531 4250 4096 4033 4043 4388 318 3309 3106 3082 3164 3072 3100 3593 3617 3586 3524 3662 3592
-3809 3505 3515 3519 3669 3511 3155 3193 3051 3079 3076 3053 3617 3508 3552 3583 3714 3579 3160 3081 3115 3169 3174 3170 3557 3542 3691 3648 3524 3519 3609 3162 3137 3094 3130 3176 318 4951 4097 4131 4306 4086 3587 3661 3535 3543 3532 3670
-3584 3622 3526 3528 3503 3558 3278 3016 3029 3055 3005 3107 3651 3661 3676 3535 3574 3644 3120 3067 3161 3115 3053 3028 3759 3543 3550 3578 3572 3640 3113 3077 3094 3099 3093 3152 4366 318 4674 4188 4111 4082 3722 3529 3540 3548 3538 3538
-3586 3487 3545 3581 3507 3509 3101 3169 3067 3111 3056 3064 3696 3624 3579 3560 3627 3661 3127 3097 3060 3143 3060 3110 3761 3638 3567 3585 3515 3564 3151 3101 3100 3083 3044 3148 4204 4264 318 4595 4091 4082 3750 3520 3549 3620 3556 3571
-3579 3509 3660 3642 3502 3542 3139 3079 3034 3064 3056 3171 3820 3573 3744 3581 3571 3572 3151 3160 3156 3066 3029 3115 3763 3661 3723 3569 3582 3693 3239 3099 3101 3047 3084 3092 4298 4131 4147 283 4643 4078 3627 3655 3513 3562 3604 3582
-3666 3523 3515 3540 3550 3518 3239 3061 3079 3068 3131 3068 3632 3599 3674 3570 3570 3555 3119 3196 3120 3112 3124 3043 3750 3755 3599 3581 3591 3650 3250 3159 3083 3111 3142 3105 4243 4149 4112 4090 318 4736 3569 3553 3539 3546 3496 3510
-3540 3538 3468 3494 3512 3461 3068 3068 3036 3171 3110 3058 3615 3561 3531 3569 3568 3586 3116 3107 3042 3070 3074 3121 3622 3562 3568 3581 3528 3570 3143 3031 3079 3079 3160 3115 4373 4158 4090 4317 4040 318 3824 3584 3644 3586 3529 3538
-3074 3079 3064 3089 3057 3055 3748 3526 3507 3644 3529 3631 3232 3053 3070 3073 3198 3167 3548 3543 3521 3532 3500 3486 3148 3047 3088 3088 3082 3092 3598 3532 3534 3525 3540 3545 3814 3569 3570 3557 3464 3635 318 4690 4082 4136 4260 4013
-3129 3053 3127 3077 3061 3023 3548 3654 3485 3615 3582 3545 3120 3074 3114 3039 3198 3123 3562 3511 3578 3525 3538 3523 3148 3075 3070 3079 3039 3086 3613 3682 3541 3573 3550 3543 3565 3584 3584 3560 3518 3600 4505 318 4677 4149 4099 4097
-3090 3038 3050 3081 3072 3063 3697 3542 3540 3520 3518 3535 3095 3072 3097 3113 3163 3048 3657 3535 3540 3542 3542 3689 3155 3056 3085 3188 3073 3073 3647 3584 3553 3626 3663 3599 3771 3624 3533 3589 3538 3553 4245 4125 318 4695 4087 4332
-3092 3022 3048 3080 3073 3088 3537 3529 3543 3540 3546 3655 3139 3101 3075 3049 3059 3051 3799 3518 3617 3543 3500 3576 3135 3198 3215 3196 3079 3099 3662 3678 3566 3550 3553 3653 3620 3641 3601 3591 3593 3603 4202 4297 4081 318 4650 4255
-3202 3079 3063 3080 3005 3046 3685 3532 3540 3584 3631 3524 3120 3088 3215 3155 3070 3086 3560 3537 3510 3545 3523 3521 3148 3077 3154 3175 3114 3073 3733 3522 3640 3554 3564 3555 3646 3773 3566 3563 3631 3498 4277 4119 4067 4005 318 4643
-3108 3026 3082 3048 3048 3105 3608 3526 3524 3619 3603 3599 3372 3062 3082 3150 3097 3175 3690 3575 3484 3543 3667 3524 3101 3140 3132 3093 3037 3098 3574 3575 3676 3538 3550 3559 3847 3566 3506 3527 3677 3553 4436 4452 4155 4087 4169 318
Oops, something went wrong.

0 comments on commit b75a059

Please sign in to comment.