udapted scripts

This commit is contained in:
Andley 2021-09-11 09:04:26 +08:00
parent 0c2ed6944f
commit 90c6fa32c1
11 changed files with 312203 additions and 174111 deletions

View File

@ -1,183 +0,0 @@
OGNTsort BW-mm
001339 V-I|AAI-3S
001446 N-N|VSF
001449 N-N|VSF
001456 N-N|VSF-L
002311 D-GPN|M
002313 T-GSM|N
002314 A-GSM|N
002332 T-DSN|M
002729 T-GSM|N
---- followings to be checked ------
005737 anamsc/anansc
007490 V-I|AAI-3S
010230 V-I|AAI-3S
010472 acgmsn/acgnsn
010473 dgmp/dgnp
010474 angmpn/angnpn
011277 V-I|AAI-3S
012521 V-I|AAI-3S
013287 aigmpn/aignpn
013408 V-I|AAI-3S
013980 angmpn/angnpn
014321 nnfpc/nnmpc
014722 vipa2p/vdpa2p
014870 vipa2p/vdpa2p
015295 V-I|AAI-3S
015338 V-I|AAI-3S
015856 nafsc/namsc
016276 V-I|AAI-3S
017996 V-I|AAI-3S
021553 rqnfs/aqnfsn
023937 V-I|AAI-3S
024376 V-I|AAI-3S
024873 V-I|AAI-3S
025028 V-I|AAI-3S
026126 b/anamsn
026430 V-I|AAI-3S
027324 vipa2p/vdpa2p
027922 V-I|AAI-3S
030929 V-I|AAI-3S
031443 atdfsn/rtdfs
032611 rpdms/rpdns
032865 nnmsc/nnnsc
032873 rqnms/aqnmsn
033194 nnmsc/nnnsc
035188 anamsc/anansc
035375 nafsc/namsc
035425 rqnfs/aqnfsn
035769 rqnfs/aqnfsn
037954 atdfsn/rpdfs
038204 atdfsn/rtdfs
039840 atdfsn/rtdfs
040132 aianpn/ainnpn
040274 vipa2p/vdpa2p
040325 aqnmsn/rqnms
040665 atdmsn/rtdms
040669 atdmsn/rtdms
041216 atdfsn/rtdfs
042213 ndfsc/ndmsc
043542 nansc/nnnsc
043544 nansc/nnnsc
044085 namsc/nafsc
044497 pd/pg
044499 ndfsp/ngfsp
045395 atdfsn/rtdfs
045957 nnfpc/nnmpc
046258 vipa2p/vdpa2p
047663 atdfsn/rtdfs
048549 rqnmp/aqnmpn
048842 atdfsn/rtdfs
049236 vppmams/vppmnns
050688 vsaa3s/vspa3s
050951 aigmpn/aignpn
050973 aigmpn/aignpn
052654 vipa2p/vdpa2p
053457 vsaa1s/vifa1s
053782 b&rpn-s/cc&rpn-s
055128 vsaa1s/vspa1s
055267 dgmp/dgnp
055272 dgmp/dgnp
058604 vipa2p/vdpa2p
059844 vipa2p/vdpa2p
059851 vipa2p/vdpa2p
060735 vipa2p/vdpa2p
060772 vipa2p/vdpa2p
061790 T-GSM|N
061797 T-GSM|N
063351 ndfsc/ndmsc
066321 rddms/rddns
068577 nnfsc/nnmsc
071281 rqnfs/aqnfsn
071398 V-I|AAI-3S
071563 aigmpn/aignpn
074732 vnpm/vnpp
075264 atdfsn/rtdfs
075568 V-I|AAI-3S
075573 b/andfsn
076165 rpgmp/rpgnp
076811 b/andfsn
077935 b/andfsn
079291 atdfsn/rtdfs
079686 V-I|AAI-3S
081192 vipa2p/vdpa2p
084217 rqnfs/aqnfsn
085144 T-GSM|N
085145 A-GSM|N
085394 acgmsn/acgnsn
085404 acgmsn/acgnsn
086511 atgnsn/rpgms
086768 aianpn/ainnpn
086893 nnfsc/nnmsc
087040 aigmpn/aignpn
087426 nnfsp/nnnpp
087672 atnmsn/rtnms
088057 vifa1s/vsaa1s
088062 vifa1s/vsaa1s
088073 rqnfs/aqnfsn
088635 ddmp/ddnp
088636 andmpn/andnpn
090732 vipa2p/vdpa2p
091068 andmpn/andnpn
091152 nnmsc/nnnsc
092950 annfsn/annmsn
094554 vipa2p/vdpa2p
095354 nnnsc/nansc
095356 nnnsc/nansc
095378 rdgnp/rdgfp
099999 rdans/rdnns
100496 vipm2p/vdpm2p
100901 ndfsc/ndmsc
101338 danp/dnnp
102458 vipa2p/vdpa2p
103687 vsaa3s/vspa3s
104160 rqnfs/aqnfsn
104167 rqnfs/aqnfsn
104755 rqnfs/aqnfsn
105014 aigmpn/aignpn
105017 aigmpn/aignpn
105020 aigmpn/aignpn
105496 vdxa2p/vixa2p
105687 aigmpn/aignpn
108996 aidmpn/aidnpn
109852 vipa2p/vdpa2p
110541 rigms/rigns
111572 T-GSM|N
112904 rinfp/rinmp
114554 aianpn/ainnpn
115500 anamsn/b
116032 aigmsn/aignsn
116068 acgmsn/acgnsn
117367 vipa2p/vdpa2p
117431 T-GSM|N
118377 ngfsc/ngmsc
118918 nnmsc/nnnsc
119142 rtgms/rpgms
120005 vixa2p/vdxa2p
120232 aidmpn/aidnpn
120546 vipa2p/vdpa2p
122410 rrdms/rrdns
122411 vipm2p/vdpm2p
122457 vipm2p/vdpm2p
122784 vipp2p/vdpp2p
124062 rrgnp/rrgfp
124690 rrdms/rrdns
124694 rddms/rddns
125446 rpdms/rpdns
125856 vipa2p/vdpa2p
125884 vipa2p/vdpa2p
126387 vipa2p/vdpa2p
127468 nansc/nnnsc
127470 nansc/nnnsc
127615 rddmp/rddnp
127690 nansc/nnnsc
127692 nansc/nnnsc
128421 nafsp/nansp
128491 ndmsc/ndnsc
128882 ndfsp/ndnsp
130601 ndfsc/ndmsc
131747 angmpn/angnpn
133305 rpgms/rpgns
133311 rpgms/rpgns
133322 rpgms/rpgns
133326 rpgms/rpgns

View File

@ -1,4 +1,198 @@
OGNTsort Friberg-mm
OGNTsort reference Greek rmac-old rmac-new
001339 Mat 4:7 Ἔφη V-IAI-3S V-I|AAI-3S
001446 Mat 4:15 ¬Γῆ N-NSF N-N|VSF
001449 Mat 4:15 γῆ N-NSF N-N|VSF
001456 Mat 4:15 ¬Γαλιλαία N-NSF-L N-N|VSF-L
002311 Mat 5:37 τούτων D-GPN D-GPN|M
002313 Mat 5:37 τοῦ T-GSM T-GSM|N
002314 Mat 5:37 πονηροῦ A-GSM A-GSM|N
002332 Mat 5:39 τῷ T-DSN T-DSN|M
002729 Mat 6:13 τοῦ T-GSN T-GSM|N
018408 Mar 1:5 Ἰουδαία N-NSF-L A-NSF-L
044656 Luk 19:21 αὐστηρὸς P-NSM A-NSM
044681 Luk 19:22 αὐστηρός P-NSM A-NSM
---- followings to be checked ------
005737 anamsc/anansc
007490 V-I|AAI-3S
010230 V-I|AAI-3S
010472 acgmsn/acgnsn
010473 dgmp/dgnp
010474 angmpn/angnpn
011277 V-I|AAI-3S
012521 V-I|AAI-3S
013287 aigmpn/aignpn
013408 V-I|AAI-3S
013980 angmpn/angnpn
014321 nnfpc/nnmpc
014722 vipa2p/vdpa2p
014870 vipa2p/vdpa2p
015295 V-I|AAI-3S
015338 V-I|AAI-3S
015856 nafsc/namsc
016276 V-I|AAI-3S
017996 V-I|AAI-3S
021553 rqnfs/aqnfsn
023937 V-I|AAI-3S
024376 V-I|AAI-3S
024873 V-I|AAI-3S
025028 V-I|AAI-3S
026126 b/anamsn
026430 V-I|AAI-3S
027324 vipa2p/vdpa2p
027922 V-I|AAI-3S
030929 V-I|AAI-3S
031443 atdfsn/rtdfs
032611 rpdms/rpdns
032865 nnmsc/nnnsc
032873 rqnms/aqnmsn
033194 nnmsc/nnnsc
035188 anamsc/anansc
035375 nafsc/namsc
035425 rqnfs/aqnfsn
035769 rqnfs/aqnfsn
037954 atdfsn/rpdfs
038204 atdfsn/rtdfs
039840 atdfsn/rtdfs
040132 aianpn/ainnpn
040274 vipa2p/vdpa2p
040325 aqnmsn/rqnms
040665 atdmsn/rtdms
040669 atdmsn/rtdms
041216 atdfsn/rtdfs
042213 ndfsc/ndmsc
043542 nansc/nnnsc
043544 nansc/nnnsc
044085 namsc/nafsc
044497 pd/pg
044499 ndfsp/ngfsp
045395 atdfsn/rtdfs
045957 nnfpc/nnmpc
046258 vipa2p/vdpa2p
047663 atdfsn/rtdfs
048549 rqnmp/aqnmpn
048842 atdfsn/rtdfs
049236 vppmams/vppmnns
050688 vsaa3s/vspa3s
050951 aigmpn/aignpn
050973 aigmpn/aignpn
052654 vipa2p/vdpa2p
053457 vsaa1s/vifa1s
053782 b&rpn-s/cc&rpn-s
055128 vsaa1s/vspa1s
055267 dgmp/dgnp
055272 dgmp/dgnp
058604 vipa2p/vdpa2p
059844 vipa2p/vdpa2p
059851 vipa2p/vdpa2p
060735 vipa2p/vdpa2p
060772 vipa2p/vdpa2p
061790 T-GSM|N
061797 T-GSM|N
063351 ndfsc/ndmsc
066321 rddms/rddns
068577 nnfsc/nnmsc
071281 rqnfs/aqnfsn
071398 V-I|AAI-3S
071563 aigmpn/aignpn
074732 vnpm/vnpp
075264 atdfsn/rtdfs
075568 V-I|AAI-3S
075573 b/andfsn
076165 rpgmp/rpgnp
076811 b/andfsn
077935 b/andfsn
079291 atdfsn/rtdfs
079686 V-I|AAI-3S
081192 vipa2p/vdpa2p
084217 rqnfs/aqnfsn
085144 T-GSM|N
085145 A-GSM|N
085394 acgmsn/acgnsn
085404 acgmsn/acgnsn
086511 atgnsn/rpgms
086768 aianpn/ainnpn
086893 nnfsc/nnmsc
087040 aigmpn/aignpn
087426 nnfsp/nnnpp
087672 atnmsn/rtnms
088057 vifa1s/vsaa1s
088062 vifa1s/vsaa1s
088073 rqnfs/aqnfsn
088635 ddmp/ddnp
088636 andmpn/andnpn
090732 vipa2p/vdpa2p
091068 andmpn/andnpn
091152 nnmsc/nnnsc
092950 annfsn/annmsn
094554 vipa2p/vdpa2p
095354 nnnsc/nansc
095356 nnnsc/nansc
095378 rdgnp/rdgfp
099999 rdans/rdnns
100496 vipm2p/vdpm2p
100901 ndfsc/ndmsc
101338 danp/dnnp
102458 vipa2p/vdpa2p
103687 vsaa3s/vspa3s
104160 rqnfs/aqnfsn
104167 rqnfs/aqnfsn
104755 rqnfs/aqnfsn
105014 aigmpn/aignpn
105017 aigmpn/aignpn
105020 aigmpn/aignpn
105496 vdxa2p/vixa2p
105687 aigmpn/aignpn
108996 aidmpn/aidnpn
109852 vipa2p/vdpa2p
110541 rigms/rigns
111572 T-GSM|N
112904 rinfp/rinmp
114554 aianpn/ainnpn
115500 anamsn/b
116032 aigmsn/aignsn
116068 acgmsn/acgnsn
117367 vipa2p/vdpa2p
117431 T-GSM|N
118377 ngfsc/ngmsc
118918 nnmsc/nnnsc
119142 rtgms/rpgms
120005 vixa2p/vdxa2p
120232 aidmpn/aidnpn
120546 vipa2p/vdpa2p
122410 rrdms/rrdns
122411 vipm2p/vdpm2p
122457 vipm2p/vdpm2p
122784 vipp2p/vdpp2p
124062 rrgnp/rrgfp
124690 rrdms/rrdns
124694 rddms/rddns
125446 rpdms/rpdns
125856 vipa2p/vdpa2p
125884 vipa2p/vdpa2p
126387 vipa2p/vdpa2p
127468 nansc/nnnsc
127470 nansc/nnnsc
127615 rddmp/rddnp
127690 nansc/nnnsc
127692 nansc/nnnsc
128421 nafsp/nansp
128491 ndmsc/ndnsc
128882 ndfsp/ndnsp
130601 ndfsc/ndmsc
131747 angmpn/angnpn
133305 rpgms/rpgns
133311 rpgms/rpgns
133322 rpgms/rpgns
133326 rpgms/rpgns
——————————————
OGNTsort Friberg-mm
000460 dnms/dnms+
000473 cc/ch
000627 npdm3s/npdn3s

276026
OGNTa.txt

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,8 @@ This is an abridged and updated version of OpenGNT Version 3 [OGNT 3.3 Base Text
## Files
- OpenGNT_version3_3.csv = source file from OpenGNT.
- OGNTa.txt = the primary data file, abridged and updated from the source.
- OGNTa-trimmed.txt = data trimmed from the source
- **OGNTa.txt = the primary data file**, abridged and updated from the trimmed data.
- OGNT-Marked.txt = adding verbal(verbs/participles/infinitives) emphasis for RUBY rendering.
- OGNTa-Ruby.nt = converted to TheWord format for easier access.
@ -33,23 +34,33 @@ OGNT3.3 abridged to the following tab-separated columns:
## Content Updates
- `018408 41-1:5 Ἰουδαία N-NSF-L``A-NSF-L`
- `044656 42-19:21 αὐστηρὸς P-NSM``A-NSM`
- `044681 42-19:22 αὐστηρός P-NSM``A-NSM`
-
## Content Changes
- OGNTsort reference Greek: `'rmac-old``rmac-new`
- 001339 Mat 4:7 Ἔφη: `V-IAI-3S``V-I|AAI-3S`
- 001446 Mat 4:15 ¬Γῆ: `N-NSF``N-N|VSF`
- 001449 Mat 4:15 γῆ: `N-NSF``N-N|VSF`
- 001456 Mat 4:15 ¬Γαλιλαία: `N-NSF-L``N-N|VSF-L`
- 002311 Mat 5:37 τούτων: `D-GPN``D-GPN|M`
- 002313 Mat 5:37 τοῦ: `T-GSM``T-GSM|N`
- 002314 Mat 5:37 πονηροῦ: `A-GSM``A-GSM|N`
- 002332 Mat 5:39 τῷ: `T-DSN``T-DSN|M`
- 002729 Mat 6:13 τοῦ: `T-GSN``T-GSM|N`
- 018408 Mar 1:5 Ἰουδαία: `N-NSF-L``A-NSF-L`
- 044656 Luk 19:21 αὐστηρὸς: `P-NSM``A-NSM`
- 044681 Luk 19:22 αὐστηρός: `P-NSM``A-NSM`
---
## License :
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">OGNTa Project by Andley Chang is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.
<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/eliranwong/OpenGNT" rel="dct:source">https://github.com/eliranwong/OpenGNT</a>.
---
## Attribution :
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Open Greek New Testament Project</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://marvel.bible" property="cc:attributionName" rel="cc:attributionURL">Eliran Wong</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/eliranwong/OpenGNT" rel="dct:source">https://github.com/eliranwong/OpenGNT</a>.
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Open Greek New Testament Project</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://marvel.bible" property="cc:attributionName" rel="cc:attributionURL">Eliran Wong</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.

View File

@ -1,16 +1,16 @@
# trim original OGNT to mininum data
import re
sourceFile = "OpenGNT_version3_3.csv"
abridgedFile = "OGNTa.txt"
outputFile = "OGNTa-Marked.txt"
inputFile = "./OpenGNT_version3_3.csv"
outputFile = "./tmp/OGNT-trimmed.txt"
# ---------------------------------------------------
f = open(sourceFile,'r',encoding="utf-8")
f = open(inputFile,'r',encoding="utf-8")
newData = f.read()
f.close()
# Abridging OGNT to minimum dataset required for an interlinear
# Trimming OGNT to minimum dataset required for interlinear
# 1-OGNTsort 2-TANTTsort 3-FEATURESsort1- 4-LevinsohnClauseID 5-OTquotation 6-BGBsortI7-LTsortI8-STsortI 9-Book10-Chapter11-Verse 12-OGNTk13-OGNTu14-OGNTa15-lexeme16-rmac17-sn 18-BDAGentry19-EDNTentry20-MounceEntry21-GoodrickKohlenbergerNumbers22-LN-LouwNidaNumbers 23-transSBLcap24-transSBL25-modernGreek26-Fonética_Transliteración 27-TBESG28-IT29-LT30-ST31-Español 32-PMpWord33-PMfWord 34-Note35-Mvar36-Mlexeme37-Mrmac38-Msn39-MTBESG
newData = re.sub('(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)(.*?)(.*?)\t(.*?)(.*?)(.*?)\t(.*?)(.*?)(.*?)(.*?)(.*?)(.*?)\t(.*?)(.*?)(.*?)(.*?)(.*?)\t(.*?)(.*?)(.*?)(.*?)\t(.*?)(.*?)(.*?)(.*?)(.*?)\t(.*?)(.*?)\t(.*?)(.*?)(.*?)(.*?)(.*?)(.*?)\n', r'\1\t\9-\10:\11\t\32\14\33\t\15\t\16\t\27\t\28\n', newData)
@ -20,17 +20,7 @@ newData = re.sub ('</pm><pm>',' ', newData)
newData = re.sub ('</pm>','', newData)
newData = re.sub ('<pm>','', newData)
# generate abridged file
f = open(abridgedFile,'w',encoding='utf-8')
f.write (newData)
f.close()
# ---------------------------------------------------
f = open(abridgedFile,'r',encoding="utf-8")
newData = f.read()
f.close()
# Fine-tuning (Book Name Abbreviation, Verbal emphasis)
# Update Book Name Abbreviation
searchReplace = (
('40-', 'Mat '),
('41-', 'Mar '),
@ -63,15 +53,8 @@ searchReplace = (
('\]\]', ''),
('',''),
('',' ——'),
('(.*?\t.*?\t)(.*?)(\t.*?\tV-...-\d.\t)', r'\1**\2**\3'), # V-???-?? add bold emphasis
('(.*?\t.*?\t)(.*?)(\t.*?\tV-2...-\d.\t)', r'\1**\2**\3'), # V-2???-?? add bold emphasis
('(.*?\t.*?\t)(.*?)(\t.*?\tV-..P-...\t)', r'\1*\2*\3'), # V-??P-??? add italic emphasis
('(.*?\t.*?\t)(.*?)(\t.*?\tV-2..P-...\t)', r'\1*\2*\3'), # V-2??P-??? add italic emphasis
('(.*?\t.*?\t)(.*?)(\t.*?\tV-..N\t)', r'\1*\2*\3'), # V-??N add italic emphasis
('(.*?\t.*?\t)(.*?)(\t.*?\tV-2..N\t)', r'\1*\2*\3') # V-2??N add italic emphasis
)
for search, replace in searchReplace:
newData = re.sub(search, replace, newData)

48
Script/2 Update.py Normal file
View File

@ -0,0 +1,48 @@
# Update all corrections to OGNT
import re
inputFile = "./tmp/OGNT-trimmed.txt"
outputFile = "./OGNTa.txt"
# modifications to morphological code
ChangeList = (
('018408', 'A-NSF-L'),
('044656', 'A-NSM'),
('044681', 'A-NSM'),
('001339', 'V-I|AAI-3S'),
('001446', 'N-N|VSF'),
('001449', 'N-N|VSF'),
('001456', 'N-N|VSF-L'),
('002311', 'D-GPN|M'),
('002313', 'T-GSM|N'),
('002314', 'A-GSM|N'),
('002332', 'T-DSN|M'),
('002729', 'T-GSM|N'),
)
f = open(inputFile,'r',encoding="utf-8")
Lines = f.readlines()
f.close()
f = open(outputFile,'w',encoding='utf-8')
f.write('\ufeff')
flag = 0
for line in Lines:
x = re.split("\t", line)
for OGNTsort, rmac in ChangeList:
if (x[0] == OGNTsort):
f.write(x[0]+"\t"+x[1]+"\t"+x[2]+"\t"+x[3]+"\t"+rmac+"\t"+x[5]+"\t"+x[6])
flag = 1
break
else:
flag = 0
continue
if (flag == 0): f.write (line)
f.close()

28
Script/3 Mark.py Normal file
View File

@ -0,0 +1,28 @@
# Mark emphasis on all verbals
import re
inputFile = "./OGNTa.txt"
outputFile = "./tmp/OGNTa-marked.txt"
f = open(inputFile,'r',encoding="utf-8")
Lines = f.readlines()
f.close()
f = open(outputFile,'w',encoding="utf-8")
for line in Lines:
x = re.split("\t", line)
# add emphasis for Verbs
if (re.match(r'V-...-\d.',x[4])) or (re.match(r'V-....-\d.',x[4])):
f.write(x[0]+"\t"+x[1]+"\t"+x[2]+"\t"+x[3]+"\t**"+x[4]+"**\t"+x[5]+"\t"+x[6])
# add emphasis for participles & infinitives
elif (re.match(r'V-..P-...',x[4])) or (re.match(r'V-...P-...',x[4])) or (re.match(r'V-..N',x[4])) or (re.match(r'V-...N',x[4])):
f.write(x[0]+"\t"+x[1]+"\t"+x[2]+"\t"+x[3]+"\t*"+x[4]+"*\t"+x[5]+"\t"+x[6])
else:
f.write(x[0]+"\t"+x[1]+"\t"+x[2]+"\t"+x[3]+"\t"+x[4]+"\t"+x[5]+"\t"+x[6])
f.close()

View File

@ -1,9 +1,7 @@
# convert OGNTa into TheWord format
import re
inputFile = "OGNTa-Marked.txt"
outputFile = "OGNTa-Ruby.nt"
inputFile = "./tmp/OGNTa-marked.txt"
outputFile = "./tmp/OGNTa-Ruby.nt"
# loading data
f = open(inputFile,'r',encoding="utf-8")

138013
tmp/OGNT-trimmed.txt Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff