diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions
index 431c52f3834bc37274e170ac57628a9fc3cd3f04..2f546b4f84d5378872c7b9e2e582240502858ee6 100644
--- a/bin/tools/CleanFunctions
+++ b/bin/tools/CleanFunctions
@@ -6,20 +6,8 @@
 #    \\/     M anipulation  | Copyright (C) 2015-2017 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
-#     This file is part of OpenFOAM.
-#
-#     OpenFOAM is free software: you can redistribute it and/or modify it
-#     under the terms of the GNU General Public License as published by
-#     the Free Software Foundation, either version 3 of the License, or
-#     (at your option) any later version.
-#
-#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-#     for more details.
-#
-#     You should have received a copy of the GNU General Public License
-#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#     This file is part of OpenFOAM, licensed under GNU General Public License
+#     <http://www.gnu.org/licenses/>.
 #
 # Script
 #     CleanFunctions
@@ -158,6 +146,7 @@ cleanFaMesh ()
     )
 }
 
+
 cleanApplication()
 {
     echo "Cleaning application $PWD"
diff --git a/bin/tools/LogFunctions b/bin/tools/LogFunctions
new file mode 100644
index 0000000000000000000000000000000000000000..820ab4a27f9b582074d973857bc03467b952aee2
--- /dev/null
+++ b/bin/tools/LogFunctions
@@ -0,0 +1,120 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2017 OpenCFD Ltd.
+#    \\/     M anipulation  |
+#------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM, licensed under GNU General Public License
+#     <http://www.gnu.org/licenses/>.
+#
+# Script
+#     LogFunctions
+#
+# Description
+#     Miscellaneous functions for running tutorials in a loop and for
+#     analyzing the output.
+#
+#     Output is normally summarized as 'testLoopReport'
+#
+#------------------------------------------------------------------------------
+
+# logReport <logfile>
+# Extracts useful info from log file.
+logReport()
+{
+    local logfile=$1
+
+    # logfile is path/to/case/log.application
+    caseName=$(dirname $logfile | sed -e 's/\(.*\)\.\///g')
+    app=$(echo $logfile | sed -e 's/\(.*\)log\.//g')
+    appAndCase="Application $app - case $caseName"
+
+    if grep -q "FOAM FATAL" $logfile
+    then
+        echo "$appAndCase: ** FOAM FATAL ERROR **"
+        return 1
+    fi
+
+    # Check for solution singularity on U equation
+    for eqn in Ux Uy Uz
+    do
+        if grep -q -E "${eqn}[:| ]*solution singularity" $logfile
+        then
+            if [ "$eqn" = Uz ]
+            then
+                # Can only get here if Ux,Uy,Uz all failed
+                echo "$appAndCase: ** Solution singularity **"
+                return 1
+            fi
+        else
+            break
+        fi
+    done
+
+    if grep -q -E "^[\t ]*[Ee]nd" $logfile
+    then
+        # Extract time from this type of content
+        ## ExecutionTime = 60.2 s  ClockTime = 63 s --> "60.2 s"
+        completionTime=$(tail -10 $logfile | \
+            sed -n -e '/Execution/{s/^[^=]*=[ \t]*//; s/\( s\) .*$/\1/; p}')
+
+        echo "$appAndCase: completed${completionTime:+ in }$completionTime"
+    else
+        echo "$appAndCase: unconfirmed completion"
+    fi
+}
+
+
+# Collect and analyse all log files
+collectLogs()
+{
+    echo "Collecting log files..." 1>&2
+    rm -f logs testLoopReport > /dev/null 2>&1
+    touch logs testLoopReport
+
+    local appDir log logFiles
+
+    for appDir in *
+    do
+        [ -d $appDir ] || continue
+        echo -n "    $appDir..." 1>&2
+
+        logFiles=$(find -L $appDir -name 'log.*' -type f)
+        if [ -n "$logFiles" ]
+        then
+            echo 1>&2
+        else
+            echo " (no logs)" 1>&2
+            continue
+        fi
+
+        # Sort logs by time-stamp
+        for log in $(echo $logFiles | xargs ls -rt)
+        do
+            # Concatenate and summarize logs
+            cat "$log" >> logs 2>/dev/null
+            logReport $log
+        done
+        echo
+    done > testLoopReport
+}
+
+
+removeLogs()
+{
+    echo "Removing backup files"
+
+    find . \(   \
+        -name '*~' -o -name '*.bak'         \
+        -name core -o -name 'core.[1-9]*'   \
+        -name '*.pvs' -o -name '*.foam' -o -name '*.OpenFOAM' \
+        \) -type f -delete
+
+    rm -f logs testLoopReport > /dev/null 2>&1
+}
+
+
+#------------------------------------------------------------------------------
diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions
index 55ab42d175b9b3e1000c4763a70008310c09f6c5..d9712dea2cc82c094f63d8c35b44a964da7f4357 100644
--- a/bin/tools/RunFunctions
+++ b/bin/tools/RunFunctions
@@ -6,26 +6,15 @@
 #    \\/     M anipulation  | Copyright (C) 2015-2017 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
-#     This file is part of OpenFOAM.
-#
-#     OpenFOAM is free software: you can redistribute it and/or modify it
-#     under the terms of the GNU General Public License as published by
-#     the Free Software Foundation, either version 3 of the License, or
-#     (at your option) any later version.
-#
-#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-#     for more details.
-#
-#     You should have received a copy of the GNU General Public License
-#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#     This file is part of OpenFOAM, licensed under GNU General Public License
+#     <http://www.gnu.org/licenses/>.
 #
 # Script
 #     RunFunctions
 #
 # Description
 #     Miscellaneous functions for running tutorial cases
+#
 #------------------------------------------------------------------------------
 
 # The normal locations
diff --git a/tutorials/Allclean b/tutorials/Allclean
index 0eea9fb549b5ffccf8da2a177f81aeacd9a90d67..bbaca026e21878eb27b37221455793c63843b27b 100755
--- a/tutorials/Allclean
+++ b/tutorials/Allclean
@@ -1,18 +1,11 @@
 #!/bin/sh
-cd ${0%/*} || exit 1    # Run from this directory
+cd ${0%/*} || exit 1                        # Run from this directory
+. $WM_PROJECT_DIR/bin/tools/LogFunctions    # Tutorial log-file functions
 
 echo "--------"
-echo "Cleaning tutorials ..."
-echo "Removing backup files"
-
-find . \( \
-    -name '*~' -o -name '*.bak'         \
-    -name core -o -name 'core.[1-9]*'   \
-    -name '*.pvs' -o -name '*.OpenFOAM' \
-    \) -type f -delete
-
-rm -f logs testLoopReport > /dev/null 2>&1
+removeLogs
 
+echo "Cleaning tutorials ..."
 foamCleanTutorials cases
 
 echo "--------"
diff --git a/tutorials/Allrun b/tutorials/Allrun
index 0a731b3fc90c94adc565338945942191e4f8321f..77d185e928376494fedcf8651b72d6328fdfb9ca 100755
--- a/tutorials/Allrun
+++ b/tutorials/Allrun
@@ -7,26 +7,14 @@
 #    \\/     M anipulation  | Copyright (C) 2017 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
-#     This file is part of OpenFOAM.
-#
-#     OpenFOAM is free software: you can redistribute it and/or modify it
-#     under the terms of the GNU General Public License as published by
-#     the Free Software Foundation, either version 3 of the License, or
-#     (at your option) any later version.
-#
-#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-#     for more details.
-#
-#     You should have received a copy of the GNU General Public License
-#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#     This file is part of OpenFOAM, licensed under GNU General Public License
+#     <http://www.gnu.org/licenses/>.
 #
 # Script
 #     Allrun
 #
 # Description
-#     Runs tutorial cases and summarizes the outcome as 'testLoopReport'
+#     Run tutorial cases and summarize the outcome as 'testLoopReport'
 #
 #------------------------------------------------------------------------------
 cd ${0%/*} || exit 1    # Run from this directory
@@ -43,27 +31,26 @@ options:
   -collect          Collect logs only. Can be useful for aborted runs.
   -help             print the usage
 
-* Runs tutorial cases and summarizes the outcome as 'testLoopReport'
+Run tutorial cases and summarize the outcome as 'testLoopReport'
 
 USAGE
     exit 1
 }
 
 #------------------------------------------------------------------------------
+unset optCollect
 
-unset optCollectOnly
-
-# parse options
+# Parse options
 while [ "$#" -gt 0 ]
 do
     case "$1" in
-    -h | -help)
+    -h | -help*)
         usage
         ;;
     -collect)
-        optCollectOnly=true
+        optCollect=true
         ;;
-    -test)   # Known options that should be passed through
+    -test)   # Known options to pass through
         break
         ;;
     -*)
@@ -77,87 +64,13 @@ do
 done
 
 #------------------------------------------------------------------------------
+. $WM_PROJECT_DIR/bin/tools/LogFunctions    # Tutorial log-file functions
 
-# logReport <logfile>
-# Extracts useful info from log file.
-logReport()
-{
-    local logfile=$1
-
-    # logfile is path/to/case/log.application
-    caseName=$(dirname $logfile | sed -e 's/\(.*\)\.\///g')
-    app=$(echo $logfile | sed -e 's/\(.*\)log\.//g')
-    appAndCase="Application $app - case $caseName"
-
-    if grep -q "FOAM FATAL" $logfile
-    then
-        echo "$appAndCase: ** FOAM FATAL ERROR **"
-        return 1
-    fi
-
-    # Check for solution singularity on U equation
-    for eqn in Ux Uy Uz
-    do
-        if grep -q -E "${eqn}[:| ]*solution singularity" $logfile
-        then
-            if [ "$eqn" = Uz ]
-            then
-                # Can only get here if Ux,Uy,Uz all failed
-                echo "$appAndCase: ** Solution singularity **"
-                return 1
-            fi
-        else
-            break
-        fi
-    done
-
-    if grep -q -E "^[\t ]*[Ee]nd" $logfile
-    then
-        # Extract time from this type of content
-        ## ExecutionTime = 60.2 s  ClockTime = 63 s --> "60.2 s"
-        completionTime=$(tail -10 $logfile | \
-            sed -n -e '/Execution/{s/^[^=]*=[ \t]*//; s/\( s\) .*$/\1/; p}')
-
-        echo "$appAndCase: completed${completionTime:+ in }$completionTime"
-    else
-        echo "$appAndCase: unconfirmed completion"
-    fi
-}
-
-if [ -z "$optCollectOnly" ]
+if [ -z "$optCollect" ]
 then
-    # Recursively run all tutorials
-    foamRunTutorials -skipFirst $*
+    foamRunTutorials -skipFirst $*          # Run tutorials recursively
 fi
 
-
-# Analyse all log files
-echo "Collecting log files..." 1>&2
-rm -f logs testLoopReport > /dev/null 2>&1
-touch logs testLoopReport
-
-for appDir in *
-do
-    [ -d $appDir ] || continue
-    echo -n "    $appDir..." 1>&2
-
-    logs=$(find -L $appDir -name 'log.*' -type f)
-    if [ -n "$logs" ]
-    then
-        echo 1>&2
-    else
-        echo " (no logs)" 1>&2
-        continue
-    fi
-
-    # Sort logs by time-stamp
-    for log in $(echo $logs | xargs ls -rt)
-    do
-        # Concatenate and summarize logs
-        cat "$log" >> logs 2>/dev/null
-        logReport $log
-    done
-    echo
-done > testLoopReport
+collectLogs
 
 #------------------------------------------------------------------------------
diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/constant/faMesh/faBoundary b/tutorials/finiteArea/surfactantFoam/planeTransport/constant/faMesh/faBoundary
deleted file mode 100644
index ed1236d475d5e07532ef7f5edb119f6fd37755cb..0000000000000000000000000000000000000000
--- a/tutorials/finiteArea/surfactantFoam/planeTransport/constant/faMesh/faBoundary
+++ /dev/null
@@ -1,212 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  plus                                  |
-|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       faBoundaryMesh;
-    location    "constant/faMesh";
-    object      faBoundary;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-3
-(
-    inlet
-    {
-        type            patch;
-        edgeLabels      List<label>
-20
-(
-2321
-2322
-2323
-2324
-2325
-2326
-2327
-2328
-2329
-2330
-2331
-2332
-2333
-2334
-2335
-2336
-2337
-2338
-2339
-2341
-)
-;
-        ngbPolyPatchIndex 0;
-    }
-    outlet
-    {
-        type            patch;
-        edgeLabels      List<label>
-20
-(
-2459
-2460
-2461
-2462
-2463
-2464
-2465
-2466
-2467
-2468
-2469
-2470
-2471
-2472
-2473
-2474
-2475
-2476
-2477
-2478
-)
-;
-        ngbPolyPatchIndex 2;
-    }
-    bound
-    {
-        type            symmetry;
-        edgeLabels      List<label>
-120
-(
-2320
-2340
-2342
-2343
-2344
-2345
-2346
-2347
-2348
-2349
-2350
-2351
-2352
-2353
-2354
-2355
-2356
-2357
-2358
-2359
-2360
-2361
-2362
-2363
-2364
-2365
-2366
-2367
-2368
-2369
-2370
-2371
-2372
-2373
-2374
-2375
-2376
-2377
-2378
-2379
-2380
-2381
-2382
-2383
-2384
-2385
-2386
-2387
-2388
-2389
-2390
-2391
-2392
-2393
-2394
-2395
-2396
-2397
-2398
-2399
-2400
-2401
-2402
-2403
-2404
-2405
-2406
-2407
-2408
-2409
-2410
-2411
-2412
-2413
-2414
-2415
-2416
-2417
-2418
-2419
-2420
-2421
-2422
-2423
-2424
-2425
-2426
-2427
-2428
-2429
-2430
-2431
-2432
-2433
-2434
-2435
-2436
-2437
-2438
-2439
-2440
-2441
-2442
-2443
-2444
-2445
-2446
-2447
-2448
-2449
-2450
-2451
-2452
-2453
-2454
-2455
-2456
-2457
-2458
-2479
-)
-;
-        ngbPolyPatchIndex 1;
-    }
-)
-
-// ************************************************************************* //
diff --git a/tutorials/finiteArea/surfactantFoam/planeTransport/constant/faMesh/faceLabels b/tutorials/finiteArea/surfactantFoam/planeTransport/constant/faMesh/faceLabels
deleted file mode 100644
index 73fcf66a30b3f3ad5c1add13d135378eeed47ff1..0000000000000000000000000000000000000000
--- a/tutorials/finiteArea/surfactantFoam/planeTransport/constant/faMesh/faceLabels
+++ /dev/null
@@ -1,1224 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  plus                                  |
-|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
-    version     2.0;
-    format      ascii;
-    class       labelList;
-    location    "constant/faMesh";
-    object      faceLabels;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-
-1200
-(
-3680
-3681
-3682
-3683
-3684
-3685
-3686
-3687
-3688
-3689
-3690
-3691
-3692
-3693
-3694
-3695
-3696
-3697
-3698
-3699
-3700
-3701
-3702
-3703
-3704
-3705
-3706
-3707
-3708
-3709
-3710
-3711
-3712
-3713
-3714
-3715
-3716
-3717
-3718
-3719
-3720
-3721
-3722
-3723
-3724
-3725
-3726
-3727
-3728
-3729
-3730
-3731
-3732
-3733
-3734
-3735
-3736
-3737
-3738
-3739
-3740
-3741
-3742
-3743
-3744
-3745
-3746
-3747
-3748
-3749
-3750
-3751
-3752
-3753
-3754
-3755
-3756
-3757
-3758
-3759
-3760
-3761
-3762
-3763
-3764
-3765
-3766
-3767
-3768
-3769
-3770
-3771
-3772
-3773
-3774
-3775
-3776
-3777
-3778
-3779
-3780
-3781
-3782
-3783
-3784
-3785
-3786
-3787
-3788
-3789
-3790
-3791
-3792
-3793
-3794
-3795
-3796
-3797
-3798
-3799
-3800
-3801
-3802
-3803
-3804
-3805
-3806
-3807
-3808
-3809
-3810
-3811
-3812
-3813
-3814
-3815
-3816
-3817
-3818
-3819
-3820
-3821
-3822
-3823
-3824
-3825
-3826
-3827
-3828
-3829
-3830
-3831
-3832
-3833
-3834
-3835
-3836
-3837
-3838
-3839
-3840
-3841
-3842
-3843
-3844
-3845
-3846
-3847
-3848
-3849
-3850
-3851
-3852
-3853
-3854
-3855
-3856
-3857
-3858
-3859
-3860
-3861
-3862
-3863
-3864
-3865
-3866
-3867
-3868
-3869
-3870
-3871
-3872
-3873
-3874
-3875
-3876
-3877
-3878
-3879
-3880
-3881
-3882
-3883
-3884
-3885
-3886
-3887
-3888
-3889
-3890
-3891
-3892
-3893
-3894
-3895
-3896
-3897
-3898
-3899
-3900
-3901
-3902
-3903
-3904
-3905
-3906
-3907
-3908
-3909
-3910
-3911
-3912
-3913
-3914
-3915
-3916
-3917
-3918
-3919
-3920
-3921
-3922
-3923
-3924
-3925
-3926
-3927
-3928
-3929
-3930
-3931
-3932
-3933
-3934
-3935
-3936
-3937
-3938
-3939
-3940
-3941
-3942
-3943
-3944
-3945
-3946
-3947
-3948
-3949
-3950
-3951
-3952
-3953
-3954
-3955
-3956
-3957
-3958
-3959
-3960
-3961
-3962
-3963
-3964
-3965
-3966
-3967
-3968
-3969
-3970
-3971
-3972
-3973
-3974
-3975
-3976
-3977
-3978
-3979
-3980
-3981
-3982
-3983
-3984
-3985
-3986
-3987
-3988
-3989
-3990
-3991
-3992
-3993
-3994
-3995
-3996
-3997
-3998
-3999
-4000
-4001
-4002
-4003
-4004
-4005
-4006
-4007
-4008
-4009
-4010
-4011
-4012
-4013
-4014
-4015
-4016
-4017
-4018
-4019
-4020
-4021
-4022
-4023
-4024
-4025
-4026
-4027
-4028
-4029
-4030
-4031
-4032
-4033
-4034
-4035
-4036
-4037
-4038
-4039
-4040
-4041
-4042
-4043
-4044
-4045
-4046
-4047
-4048
-4049
-4050
-4051
-4052
-4053
-4054
-4055
-4056
-4057
-4058
-4059
-4060
-4061
-4062
-4063
-4064
-4065
-4066
-4067
-4068
-4069
-4070
-4071
-4072
-4073
-4074
-4075
-4076
-4077
-4078
-4079
-4080
-4081
-4082
-4083
-4084
-4085
-4086
-4087
-4088
-4089
-4090
-4091
-4092
-4093
-4094
-4095
-4096
-4097
-4098
-4099
-4100
-4101
-4102
-4103
-4104
-4105
-4106
-4107
-4108
-4109
-4110
-4111
-4112
-4113
-4114
-4115
-4116
-4117
-4118
-4119
-4120
-4121
-4122
-4123
-4124
-4125
-4126
-4127
-4128
-4129
-4130
-4131
-4132
-4133
-4134
-4135
-4136
-4137
-4138
-4139
-4140
-4141
-4142
-4143
-4144
-4145
-4146
-4147
-4148
-4149
-4150
-4151
-4152
-4153
-4154
-4155
-4156
-4157
-4158
-4159
-4160
-4161
-4162
-4163
-4164
-4165
-4166
-4167
-4168
-4169
-4170
-4171
-4172
-4173
-4174
-4175
-4176
-4177
-4178
-4179
-4180
-4181
-4182
-4183
-4184
-4185
-4186
-4187
-4188
-4189
-4190
-4191
-4192
-4193
-4194
-4195
-4196
-4197
-4198
-4199
-4200
-4201
-4202
-4203
-4204
-4205
-4206
-4207
-4208
-4209
-4210
-4211
-4212
-4213
-4214
-4215
-4216
-4217
-4218
-4219
-4220
-4221
-4222
-4223
-4224
-4225
-4226
-4227
-4228
-4229
-4230
-4231
-4232
-4233
-4234
-4235
-4236
-4237
-4238
-4239
-4240
-4241
-4242
-4243
-4244
-4245
-4246
-4247
-4248
-4249
-4250
-4251
-4252
-4253
-4254
-4255
-4256
-4257
-4258
-4259
-4260
-4261
-4262
-4263
-4264
-4265
-4266
-4267
-4268
-4269
-4270
-4271
-4272
-4273
-4274
-4275
-4276
-4277
-4278
-4279
-4280
-4281
-4282
-4283
-4284
-4285
-4286
-4287
-4288
-4289
-4290
-4291
-4292
-4293
-4294
-4295
-4296
-4297
-4298
-4299
-4300
-4301
-4302
-4303
-4304
-4305
-4306
-4307
-4308
-4309
-4310
-4311
-4312
-4313
-4314
-4315
-4316
-4317
-4318
-4319
-4320
-4321
-4322
-4323
-4324
-4325
-4326
-4327
-4328
-4329
-4330
-4331
-4332
-4333
-4334
-4335
-4336
-4337
-4338
-4339
-4340
-4341
-4342
-4343
-4344
-4345
-4346
-4347
-4348
-4349
-4350
-4351
-4352
-4353
-4354
-4355
-4356
-4357
-4358
-4359
-4360
-4361
-4362
-4363
-4364
-4365
-4366
-4367
-4368
-4369
-4370
-4371
-4372
-4373
-4374
-4375
-4376
-4377
-4378
-4379
-4380
-4381
-4382
-4383
-4384
-4385
-4386
-4387
-4388
-4389
-4390
-4391
-4392
-4393
-4394
-4395
-4396
-4397
-4398
-4399
-4400
-4401
-4402
-4403
-4404
-4405
-4406
-4407
-4408
-4409
-4410
-4411
-4412
-4413
-4414
-4415
-4416
-4417
-4418
-4419
-4420
-4421
-4422
-4423
-4424
-4425
-4426
-4427
-4428
-4429
-4430
-4431
-4432
-4433
-4434
-4435
-4436
-4437
-4438
-4439
-4440
-4441
-4442
-4443
-4444
-4445
-4446
-4447
-4448
-4449
-4450
-4451
-4452
-4453
-4454
-4455
-4456
-4457
-4458
-4459
-4460
-4461
-4462
-4463
-4464
-4465
-4466
-4467
-4468
-4469
-4470
-4471
-4472
-4473
-4474
-4475
-4476
-4477
-4478
-4479
-4480
-4481
-4482
-4483
-4484
-4485
-4486
-4487
-4488
-4489
-4490
-4491
-4492
-4493
-4494
-4495
-4496
-4497
-4498
-4499
-4500
-4501
-4502
-4503
-4504
-4505
-4506
-4507
-4508
-4509
-4510
-4511
-4512
-4513
-4514
-4515
-4516
-4517
-4518
-4519
-4520
-4521
-4522
-4523
-4524
-4525
-4526
-4527
-4528
-4529
-4530
-4531
-4532
-4533
-4534
-4535
-4536
-4537
-4538
-4539
-4540
-4541
-4542
-4543
-4544
-4545
-4546
-4547
-4548
-4549
-4550
-4551
-4552
-4553
-4554
-4555
-4556
-4557
-4558
-4559
-4560
-4561
-4562
-4563
-4564
-4565
-4566
-4567
-4568
-4569
-4570
-4571
-4572
-4573
-4574
-4575
-4576
-4577
-4578
-4579
-4580
-4581
-4582
-4583
-4584
-4585
-4586
-4587
-4588
-4589
-4590
-4591
-4592
-4593
-4594
-4595
-4596
-4597
-4598
-4599
-4600
-4601
-4602
-4603
-4604
-4605
-4606
-4607
-4608
-4609
-4610
-4611
-4612
-4613
-4614
-4615
-4616
-4617
-4618
-4619
-4620
-4621
-4622
-4623
-4624
-4625
-4626
-4627
-4628
-4629
-4630
-4631
-4632
-4633
-4634
-4635
-4636
-4637
-4638
-4639
-4640
-4641
-4642
-4643
-4644
-4645
-4646
-4647
-4648
-4649
-4650
-4651
-4652
-4653
-4654
-4655
-4656
-4657
-4658
-4659
-4660
-4661
-4662
-4663
-4664
-4665
-4666
-4667
-4668
-4669
-4670
-4671
-4672
-4673
-4674
-4675
-4676
-4677
-4678
-4679
-4680
-4681
-4682
-4683
-4684
-4685
-4686
-4687
-4688
-4689
-4690
-4691
-4692
-4693
-4694
-4695
-4696
-4697
-4698
-4699
-4700
-4701
-4702
-4703
-4704
-4705
-4706
-4707
-4708
-4709
-4710
-4711
-4712
-4713
-4714
-4715
-4716
-4717
-4718
-4719
-4720
-4721
-4722
-4723
-4724
-4725
-4726
-4727
-4728
-4729
-4730
-4731
-4732
-4733
-4734
-4735
-4736
-4737
-4738
-4739
-4740
-4741
-4742
-4743
-4744
-4745
-4746
-4747
-4748
-4749
-4750
-4751
-4752
-4753
-4754
-4755
-4756
-4757
-4758
-4759
-4760
-4761
-4762
-4763
-4764
-4765
-4766
-4767
-4768
-4769
-4770
-4771
-4772
-4773
-4774
-4775
-4776
-4777
-4778
-4779
-4780
-4781
-4782
-4783
-4784
-4785
-4786
-4787
-4788
-4789
-4790
-4791
-4792
-4793
-4794
-4795
-4796
-4797
-4798
-4799
-4800
-4801
-4802
-4803
-4804
-4805
-4806
-4807
-4808
-4809
-4810
-4811
-4812
-4813
-4814
-4815
-4816
-4817
-4818
-4819
-4820
-4821
-4822
-4823
-4824
-4825
-4826
-4827
-4828
-4829
-4830
-4831
-4832
-4833
-4834
-4835
-4836
-4837
-4838
-4839
-4840
-4841
-4842
-4843
-4844
-4845
-4846
-4847
-4848
-4849
-4850
-4851
-4852
-4853
-4854
-4855
-4856
-4857
-4858
-4859
-4860
-4861
-4862
-4863
-4864
-4865
-4866
-4867
-4868
-4869
-4870
-4871
-4872
-4873
-4874
-4875
-4876
-4877
-4878
-4879
-)
-
-
-// ************************************************************************* //