Running .\bin\geopdvc.pl at Fri Feb 17 22:47:59 2006 on host  Command line: .\bin\geopdvc.pl -rov vnta -dive 2124 .\bin\geopdvc.pl: Getting Expedition object for diveno = 2124 and rname = vnta set_expd(): rov = vnta, diveno = 2124 set_expd(): $self->{EndDDD} = 058 set_expd(): $self->{EndDtg} = 2/27/2002 10:03:00 PM _readLogr(): Reading videologr data from 2002058datavislogr.dat.gz. _readLogr(): Expedition start & stop times are 1014840780 & 1014840780 _readLogr(): #LOGHOST_SYSTEM_UTC = 658 _readLogr(): $LOGHOST_SYSTEM_UTC[beg] = 1014840786 _readLogr(): $LOGHOST_SYSTEM_UTC[end] = 1014847377 .\bin\geopdvc.pl: expdid = 2350 .\bin\geopdvc.pl: Calling rovNavCTDO to get raw nav data... rovnavCTDO(): calcUTM = 0 rovnavCTDO(): getRaw = 1 rovNav(): 1, calcUTM = 0 rovNav(): 2, getRaw = 1 rovNav(): calcUTM = 0 rovNav(): DDD = 058 (looping to 058) rovNav(): Opening ROV nav data from \\tornado\TempNav\2002\vnta\nav2002058vnta.txt esecs, east, north, lat, lon, head, pres 1014841834, 587749, 4065636, 36.732392, -122.017233, 9.0, 532.30 1014844341, 587712, 4065662, 36.732628, -122.017647, 320.0, 1240.40 1014846848, 587408, 4065831, 36.734178, -122.021033, 279.0, 205.10 058: 1312 in tList 1312 in tList 1312 in {self->{rovT}} 1312 in {self->{rovH}} rovCTDO(): ROV CTDO start & stop times are 1014843105 & 1014841245 rovNavCTDO(): Looking up ROVCTDO data ('.'found, 'X' exceeds max iter.): ...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XX .\bin\geopdvc.pl: ------------------------------------------------------------------------------- hash{lat} = 36.73250800 hash{lon} = -122.01757300 latMin = 30.732508 latMax = 42.732508 Executing sql: SELECT Area, Latitude, Longitude FROM GeoOrigin WHERE Latitude BETWEEN 30.732508 AND 42.732508 AND Longitude BETWEEN -128.017573 AND -116.017573 Dive lat = 36.73250800, area = cencal .\bin\geopdvc.pl: Found area = cencal in GeoOrigin For midpoint lon = -122.01757300 & lat = 36.73250800 Using olon = -122 & olat = 36 Making color lookup world... var = Light, vmin = 40, vmax = 100 val = 40, color = .8 .7 0 val = 70, color = .6 .5 0 val = 85, color = .1 .1 0 val = 100, color = 1 1 1 var = O2, vmin = 0.2, vmax = 5 val = 0.2, color = 1 1 1 val = 0.3, color = 1 1 .2 val = 0.5, color = 1 1 0 val = 0.7, color = 0 1 0 val = 5, color = 0 0 1 var = Sal, vmin = 33, vmax = 35 val = 33, color = 1 1 .1 val = 33.5, color = 1 1 0 val = 34, color = 1 0 0 val = 34.5, color = .2 1 0 val = 35, color = 0 1 0 var = Temp, vmin = 4, vmax = 15 val = 4, color = 0 0 1 val = 8, color = 1 1 0 val = 10, color = 0 1 0 val = 15, color = 1 0 0 World = geo2002/vnta/vnta2124lookup.wrl .\bin\geopdvc.pl: Getting ship nav... shipNav(): $#{$self->{shipLat}} = 658 shipNav(): $#{$self->{shipLat}}[last] = 36.733020 .\bin\geopdvc.pl: Calling makeROVorig... inline_name = vnta2124rov_orig.wrl Using mbnavedit edited Navigation. rovnavCTDO(): calcUTM = 0 rovNav(): 1, calcUTM = 0 rovNav(): calcUTM = 0 rovNav(): DDD = 058 (looping to 058) rovNav(): Opening ROV nav data from \\tornado\TempNav\2002\vnta\nav2002058vntaedited.txt esecs, east, north, lat, lon, head, pres 1014841834, 0, 0, 36.732285, -122.017440, 9.0, 532.30 1014844341, 0, 0, 36.732899, -122.017464, 320.0, 1240.40 1014846848, 0, 0, 36.734215, -122.020987, 279.0, 205.10 058: 1312 in tList 1312 in tList 1312 in {self->{rovT}} 1312 in {self->{rovH}} rovCTDO(): ROV CTDO start & stop times are 1014843105 & 1014841245 rovNavCTDO(): Looking up ROVCTDO data ('.'found, 'X' exceeds max iter.): XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XX Position subsampling set to 2 setROVcolorlines(): Assigning color line for Light... varColors = LightColors index0 = 0.3733 0.3187 0.0000 setROVcolorlines(): Assigning color line for O2... varColors = O2Colors index0 = 0.0000 0.1930 0.8070 setROVcolorlines(): Assigning color line for Sal... varColors = SalColors index0 = 1.0000 0.7500 0.0000 setROVcolorlines(): Assigning color line for Temp... varColors = TempColors index0 = 0.0782 0.9218 0.0000 makeTracks(): n = 1313 makeTracks(): Writing tracks file... makeTracks(): INFO $sname = inline_name = vnta2124tracks.wrl writeCtdPosFile(): Writing merged CTD Nav data to geo2002/vnta/vnta2124mergedCtdNav.txt... .\bin\geopdvc.pl: Annotations: annotations(): Executing sql: SELECT DISTINCT DateDiff(ss, '01/01/70', RecordedDate) AS Esecs, CONVERT(CHAR(8), RecordedDate, 1) + ' ' + SUBSTRING(CONVERT(CHAR(19), RecordedDate, 120), 12, 8) AS DateTime, VideoArchiveName AS TapeNum, TapeTimeCode, ConceptName, Image AS StillImageURL, Depth, Latitude, Longitude, CameraDirection AS Direction, ISNULL(Observer, '') AS Observer, FormatCode, ObservationID_FK AS ObservationID FROM dbo.Annotations WHERE (ShipName = 'Point Lobos') AND (RecordedDate BETWEEN '2/27/2002 8:13:00 PM' AND '2/27/2002 10:03:00 PM') OR (RovName = 'Ventana') AND (RecordedDate BETWEEN '2/27/2002 8:13:00 PM' AND '2/27/2002 10:03:00 PM') .\bin\geopdvc.pl: Calling placeAnnotations with every 10 annotation... .\bin\geopdvc.pl: Calling placeAnnotations with every 2 annotation... .\bin\geopdvc.pl: Calling placeAnnotations with every 1 annotation... frameGrabs(): Getting images from http://dods.mbari.org/data/frameGrabs/Ventana/stills/2002/vnta2124... frameGrabs(): matched 00_23_29_25 in [IMG] 00_23_29_25.jpg 26-Jan-2003 15:31 71k frameGrabs(): matched 00_23_35_25 in [IMG] 00_23_35_25.jpg 26-Jan-2003 15:32 72k frameGrabs(): matched 00_25_07_07 in [IMG] 00_25_07_07.jpg 26-Jan-2003 15:32 78k frameGrabs(): matched 00_25_18_21 in [IMG] 00_25_18_21.jpg 26-Jan-2003 15:33 77k frameGrabs(): matched 00_25_31_06 in [IMG] 00_25_31_06.jpg 26-Jan-2003 15:34 77k frameGrabs(): matched 00_25_40_06 in [IMG] 00_25_40_06.jpg 26-Jan-2003 15:34 77k frameGrabs(): matched 00_25_54_20 in [IMG] 00_25_54_20.jpg 26-Jan-2003 15:35 65k frameGrabs(): matched 00_26_17_20 in [IMG] 00_26_17_20.jpg 26-Jan-2003 15:35 64k frameGrabs(): matched 00_26_22_05 in [IMG] 00_26_22_05.jpg 26-Jan-2003 15:36 66k frameGrabs(): matched 00_26_28_04 in [IMG] 00_26_28_04.jpg 26-Jan-2003 15:36 66k frameGrabs(): matched 00_26_33_19 in [IMG] 00_26_33_19.jpg 26-Jan-2003 15:37 66k frameGrabs(): matched 00_26_37_19 in [IMG] 00_26_37_19.jpg 26-Jan-2003 15:37 61k frameGrabs(): matched 00_26_41_19 in [IMG] 00_26_41_19.jpg 26-Jan-2003 15:38 82k frameGrabs(): matched 00_26_45_19 in [IMG] 00_26_45_19.jpg 26-Jan-2003 15:38 81k frameGrabs(): matched 00_26_50_19 in [IMG] 00_26_50_19.jpg 26-Jan-2003 15:39 76k frameGrabs(): matched 00_26_57_18 in [IMG] 00_26_57_18.jpg 26-Jan-2003 15:40 76k frameGrabs(): matched 00_27_04_03 in [IMG] 00_27_04_03.jpg 26-Jan-2003 15:40 76k frameGrabs(): matched 00_27_17_18 in [IMG] 00_27_17_18.jpg 26-Jan-2003 15:41 75k frameGrabs(): matched 00_27_27_02 in [IMG] 00_27_27_02.jpg 26-Jan-2003 15:41 75k frameGrabs(): matched 00_28_07_16 in [IMG] 00_28_07_16.jpg 26-Jan-2003 15:42 77k frameGrabs(): matched 00_28_16_16 in [IMG] 00_28_16_16.jpg 26-Jan-2003 15:42 76k frameGrabs(): matched 00_28_21_01 in [IMG] 00_28_21_01.jpg 26-Jan-2003 15:43 72k frameGrabs(): matched 00_28_28_01 in [IMG] 00_28_28_01.jpg 26-Jan-2003 15:43 67k frameGrabs(): matched 00_28_39_00 in [IMG] 00_28_39_00.jpg 26-Jan-2003 15:44 67k frameGrabs(): matched 00_28_44_00 in [IMG] 00_28_44_00.jpg 26-Jan-2003 15:44 67k frameGrabs(): matched 00_29_43_28 in [IMG] 00_29_43_28.jpg 26-Jan-2003 15:45 59k frameGrabs(): matched 00_29_58_28 in [IMG] 00_29_58_28.jpg 26-Jan-2003 15:46 58k frameGrabs(): matched 00_30_01_13 in [IMG] 00_30_01_13.jpg 26-Jan-2003 15:46 57k frameGrabs(): matched 00_30_11_12 in [IMG] 00_30_11_12.jpg 26-Jan-2003 15:47 51k frameGrabs(): matched 00_30_28_26 in [IMG] 00_30_28_26.jpg 26-Jan-2003 15:47 58k iList = 00_23_29_25.jpg 00_23_35_25.jpg 00_25_07_07.jpg 00_25_18_21.jpg 00_25_31_06.jpg 00_25_40_06.jpg 00_25_54_20.jpg 00_26_17_20.jpg 00_26_22_05.jpg 00_26_28_04.jpg 00_26_33_19.jpg 00_26_37_19.jpg 00_26_41_19.jpg 00_26_45_19.jpg 00_26_50_19.jpg 00_26_57_18.jpg 00_27_04_03.jpg 00_27_17_18.jpg 00_27_27_02.jpg 00_28_07_16.jpg 00_28_16_16.jpg 00_28_21_01.jpg 00_28_28_01.jpg 00_28_39_00.jpg 00_28_44_00.jpg 00_29_43_28.jpg 00_29_58_28.jpg 00_30_01_13.jpg 00_30_11_12.jpg 00_30_28_26.jpgEXPD::frameGrabs(): 577: Time=1014843690, Depth=1299.1, Lat= 36.731974, Lon=-122.017581, Pres=1312.9, Temp=3.163, Sal=34.585, O2=0.81, Light=70.5 EXPD::frameGrabs(): 579: Time=1014843705, Depth=1299.1, Lat= 36.731936, Lon=-122.017507, Pres=1312.8, Temp=3.163, Sal=34.583, O2=0.8, Light=70.7 EXPD::frameGrabs(): 596: Time=1014843795, Depth=1299.1, Lat=36.731738, Lon=-122.017153, Pres=1312.9, Temp=3.165, Sal=34.584, O2=0.8, Light=71 EXPD::frameGrabs(): 599: Time=1014843810, Depth=1299.1, Lat= 36.731753, Lon=-122.017146, Pres=1312.9, Temp=3.166, Sal=34.584, O2=0.8, Light=70.9 EXPD::frameGrabs(): 601: Time=1014843810, Depth=1299.1, Lat= 36.731770, Lon=-122.017144, Pres=1312.9, Temp=3.166, Sal=34.584, O2=0.8, Light=70.9 EXPD::frameGrabs(): 604: Time=1014843825, Depth=1299.1, Lat=36.731808, Lon=-122.017145, Pres=1312.9, Temp=3.162, Sal=34.584, O2=0.8, Light=71.3 EXPD::frameGrabs(): 606: Time=1014843840, Depth=1299.1, Lat=36.731847, Lon=-122.017147, Pres=1312.9, Temp=3.16, Sal=34.584, O2=0.8, Light=71 EXPD::frameGrabs(): 612: Time=1014843870, Depth=1299.1, Lat=36.732052, Lon=-122.017114, Pres=1312.8, Temp=3.153, Sal=34.588, O2=0.81, Light=71.1 EXPD::frameGrabs(): 612: Time=1014843870, Depth=1299.1, Lat=36.732052, Lon=-122.017114, Pres=1312.8, Temp=3.153, Sal=34.588, O2=0.81, Light=71.1 EXPD::frameGrabs(): 613: Time=1014843870, Depth=1299.1, Lat= 36.732088, Lon=-122.017082, Pres=1312.8, Temp=3.153, Sal=34.588, O2=0.81, Light=71.1 EXPD::frameGrabs(): 615: Time=1014843885, Depth=1299.1, Lat= 36.732160, Lon=-122.017017, Pres=1312.9, Temp=3.155, Sal=34.585, O2=0.81, Light=70.9 EXPD::frameGrabs(): 615: Time=1014843885, Depth=1299.1, Lat= 36.732160, Lon=-122.017017, Pres=1312.9, Temp=3.155, Sal=34.585, O2=0.81, Light=70.9 EXPD::frameGrabs(): 615: Time=1014843885, Depth=1299.1, Lat= 36.732160, Lon=-122.017017, Pres=1312.9, Temp=3.155, Sal=34.585, O2=0.81, Light=70.9 EXPD::frameGrabs(): 617: Time=1014843900, Depth=1299, Lat= 36.732242, Lon=-122.016953, Pres=1312.8, Temp=3.156, Sal=34.584, O2=0.8, Light=70.8 EXPD::frameGrabs(): 617: Time=1014843900, Depth=1299, Lat= 36.732242, Lon=-122.016953, Pres=1312.8, Temp=3.156, Sal=34.584, O2=0.8, Light=70.8 EXPD::frameGrabs(): 620: Time=1014843915, Depth=1299.1, Lat=36.732372, Lon=-122.016906, Pres=1312.8, Temp=3.161, Sal=34.571, O2=0.8, Light=70.9 EXPD::frameGrabs(): 620: Time=1014843915, Depth=1299.1, Lat=36.732372, Lon=-122.016906, Pres=1312.8, Temp=3.161, Sal=34.571, O2=0.8, Light=70.9 EXPD::frameGrabs(): 622: Time=1014843915, Depth=1299.1, Lat=36.732464, Lon=-122.016899, Pres=1312.8, Temp=3.161, Sal=34.571, O2=0.8, Light=70.9 EXPD::frameGrabs(): 625: Time=1014843930, Depth=1299.1, Lat= 36.732558, Lon=-122.016919, Pres=1312.8, Temp=3.16, Sal=34.568, O2=0.8, Light=70.8 EXPD::frameGrabs(): 632: Time=1014843975, Depth=1299.1, Lat=36.732620, Lon=-122.017047, Pres=1312.8, Temp=3.164, Sal=34.583, O2=0.8, Light=70.7 EXPD::frameGrabs(): 635: Time=1014843990, Depth=1299.1, Lat= 36.732595, Lon=-122.017109, Pres=1312.9, Temp=3.161, Sal=34.585, O2=0.8, Light=71.2 EXPD::frameGrabs(): 635: Time=1014843990, Depth=1299.1, Lat= 36.732595, Lon=-122.017109, Pres=1312.9, Temp=3.161, Sal=34.585, O2=0.8, Light=71.2 EXPD::frameGrabs(): 637: Time=1014843990, Depth=1299.1, Lat= 36.732582, Lon=-122.017124, Pres=1312.9, Temp=3.161, Sal=34.585, O2=0.8, Light=71.2 EXPD::frameGrabs(): 640: Time=1014844005, Depth=1299.1, Lat=36.732611, Lon=-122.017141, Pres=1312.9, Temp=3.163, Sal=34.585, O2=0.8, Light=71.1 EXPD::frameGrabs(): 640: Time=1014844005, Depth=1299.1, Lat=36.732611, Lon=-122.017141, Pres=1312.9, Temp=3.163, Sal=34.585, O2=0.8, Light=71.1 EXPD::frameGrabs(): 653: Time=1014844080, Depth=1299, Lat= 36.733063, Lon=-122.017274, Pres=1312.8, Temp=3.165, Sal=34.583, O2=0.8, Light=70.7 EXPD::frameGrabs(): 656: Time=1014844095, Depth=1299, Lat=36.733221, Lon=-122.017163, Pres=1312.8, Temp=3.165, Sal=34.583, O2=0.8, Light=70.7 EXPD::frameGrabs(): 656: Time=1014844095, Depth=1299, Lat=36.733221, Lon=-122.017163, Pres=1312.8, Temp=3.165, Sal=34.583, O2=0.8, Light=70.7 EXPD::frameGrabs(): 658: Time=1014844095, Depth=1299, Lat=36.733328, Lon=-122.017091, Pres=1312.8, Temp=3.165, Sal=34.583, O2=0.8, Light=70.7 EXPD::frameGrabs(): 661: Time=1014844110, Depth=1299, Lat= 36.733470, Lon=-122.017041, Pres=1312.8, Temp=3.165, Sal=34.583, O2=0.8, Light=70.7 .\bin\geopdvc.pl: Calling placeImages with every 10 image... placeImages(): Placing image 10 00_26_33_19.jpg [descend] 1014843881 fw= 0.0 cm XplaceImages(): Placing image 20 00_28_16_16.jpg [descend] 1014843984 fw= 0.0 cm Xinline_name = vnta2124fg10.wrl .\bin\geopdvc.pl: Calling placeImages with every 2 image... placeImages(): Placing image 2 00_25_07_07.jpg [descend] 1014843794 fw= 0.0 cm XplaceImages(): Placing image 4 00_25_31_06.jpg [descend] 1014843819 fw= 0.0 cm XplaceImages(): Placing image 6 00_25_54_20.jpg [descend] 1014843842 fw= 0.0 cm XplaceImages(): Placing image 8 00_26_22_05.jpg [descend] 1014843870 fw= 0.0 cm XplaceImages(): Placing image 10 00_26_33_19.jpg [descend] 1014843881 fw= 0.0 cm XplaceImages(): Placing image 12 00_26_41_19.jpg [descend] 1014843889 fw= 0.0 cm XplaceImages(): Placing image 14 00_26_50_19.jpg [descend] 1014843898 fw= 0.0 cm XplaceImages(): Placing image 16 00_27_04_03.jpg [descend] 1014843912 fw= 0.0 cm XplaceImages(): Placing image 18 00_27_27_02.jpg [descend] 1014843935 fw= 0.0 cm XplaceImages(): Placing image 20 00_28_16_16.jpg [descend] 1014843984 fw= 0.0 cm XplaceImages(): Placing image 22 00_28_28_01.jpg [descend] 1014843996 fw= 0.0 cm XplaceImages(): Placing image 24 00_28_44_00.jpg [descend] 1014844012 fw= 0.0 cm XplaceImages(): Placing image 26 00_29_58_28.jpg [descend] 1014844087 fw= 0.0 cm XplaceImages(): Placing image 28 00_30_11_12.jpg [descend] 1014844099 fw= 0.0 cm Xinline_name = vnta2124fg02.wrl .\bin\geopdvc.pl: Calling placeImages with every 1 image... placeImages(): Placing image 1 00_23_35_25.jpg [descend] 1014843703 fw= 0.0 cm XplaceImages(): Placing image 2 00_25_07_07.jpg [descend] 1014843794 fw= 0.0 cm XplaceImages(): Placing image 3 00_25_18_21.jpg [descend] 1014843806 fw= 0.0 cm XplaceImages(): Placing image 4 00_25_31_06.jpg [descend] 1014843819 fw= 0.0 cm XplaceImages(): Placing image 5 00_25_40_06.jpg [descend] 1014843828 fw= 0.0 cm XplaceImages(): Placing image 6 00_25_54_20.jpg [descend] 1014843842 fw= 0.0 cm XplaceImages(): Placing image 7 00_26_17_20.jpg [descend] 1014843865 fw= 0.0 cm XplaceImages(): Placing image 8 00_26_22_05.jpg [descend] 1014843870 fw= 0.0 cm .placeImages(): Placing image 9 00_26_28_04.jpg [descend] 1014843875 fw= 0.0 cm .placeImages(): Placing image 10 00_26_33_19.jpg [descend] 1014843881 fw= 0.0 cm .placeImages(): Placing image 11 00_26_37_19.jpg [descend] 1014843885 fw= 0.0 cm .placeImages(): Placing image 12 00_26_41_19.jpg [descend] 1014843889 fw= 0.0 cm .placeImages(): Placing image 13 00_26_45_19.jpg [descend] 1014843893 fw= 0.0 cm .placeImages(): Placing image 14 00_26_50_19.jpg [descend] 1014843898 fw= 0.0 cm .placeImages(): Placing image 15 00_26_57_18.jpg [descend] 1014843905 fw= 0.0 cm .placeImages(): Placing image 16 00_27_04_03.jpg [descend] 1014843912 fw= 0.0 cm .placeImages(): Placing image 17 00_27_17_18.jpg [descend] 1014843925 fw= 0.0 cm .placeImages(): Placing image 18 00_27_27_02.jpg [descend] 1014843935 fw= 0.0 cm .placeImages(): Placing image 19 00_28_07_16.jpg [descend] 1014843975 fw= 0.0 cm .placeImages(): Placing image 20 00_28_16_16.jpg [descend] 1014843984 fw= 0.0 cm .placeImages(): Placing image 21 00_28_21_01.jpg [descend] 1014843989 fw= 0.0 cm .placeImages(): Placing image 22 00_28_28_01.jpg [descend] 1014843996 fw= 0.0 cm .placeImages(): Placing image 23 00_28_39_00.jpg [descend] 1014844007 fw= 0.0 cm .placeImages(): Placing image 24 00_28_44_00.jpg [descend] 1014844012 fw= 0.0 cm .placeImages(): Placing image 25 00_29_43_28.jpg [descend] 1014844072 fw= 0.0 cm .placeImages(): Placing image 26 00_29_58_28.jpg [descend] 1014844087 fw= 0.0 cm .placeImages(): Placing image 27 00_30_01_13.jpg [descend] 1014844089 fw= 0.0 cm .placeImages(): Placing image 28 00_30_11_12.jpg [descend] 1014844099 fw= 0.0 cm .placeImages(): Placing image 29 00_30_28_26.jpg [descend] 1014844117 fw= 0.0 cm .inline_name = vnta2124fg01.wrl .\bin\geopdvc.pl: Samples: samples(): Executing sql: SELECT DateDiff(ss, '01/01/70', CollectionEventDtg) AS Esecs, CollectionVIMSConcept, FrameGrabImageURL, SampleID, CollectionRefName FROM vwCollSamplePerson WHERE (CollectionEventDTG BETWEEN '2/27/2002 8:13:00 PM' AND '2/27/2002 10:03:00 PM') AND ROVName = 'Ventana' ORDER BY CollectionEventDTG .\bin\geopdvc.pl: World = geo2002/vnta/vnta2124.wrl Adding record to ExpeditionData table... Executing sql: exec insertExpeditionData '3Dreplay','','',2350,'/3Dreplay/3D.asp?dives=vnta2124','vnta2124','','','',2124 Executing sql: UPDATE Dive SET DiveLatMid = 36.7325, DiveLonMid = -122.0175, DiveDepthMid = -719.6 WHERE RovName = 'vnta' AND DiveNumber = 2124