Modular

  Up one level
Picture Dec04^01
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/4/00 9:50 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec04^02
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/4/00 9:51 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec04^05
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/4/00 9:51 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec04^07
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/4/00 9:52 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec04^08
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/4/00 9:52 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec04^09
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/4/00 9:52 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec04^10
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/4/00 9:52 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec05^01
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/5/00 9:06 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec05^02
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/5/00 9:06 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec05^03
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/5/00 9:07 AM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec04^03
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/6/00 4:52 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec04^04
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/6/00 4:53 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec04^06
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/6/00 4:54 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec16^01
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:28 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec16^02
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:29 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec16^03
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:29 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec16^09
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:30 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Dec16^10
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:30 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^04
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:33 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^05
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:34 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^06
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:36 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^13
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:37 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^07
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:38 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^08
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:39 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^11
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:41 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture dec16^12
Width x Height 480 x 640
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 12/16/00 4:41 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Feb04$01
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 2/4/01 2:25 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Feb04$02
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 2/4/01 2:25 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Feb04$03
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 2/4/01 2:26 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

Picture Feb04$04
Width x Height 640 x 480
Size @ 300dpi <%=(int)(originalWidth/11.8);%>mm x <%=(int)(originalHeight/11.8);%>mm
<%=(float)((int)(originalWidth/3))/100;%>" x <%=(float)((int)(originalHeight/3))/100;%>"
File size <%=(float)((int)(fileSize/10000))/100;%>Mbytes
Format JPEG
Date 2/4/01 2:26 PM
<% File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println("File comment:"); %> <% //out.println(files[0].getParent() + "\\" + label + ".txt"); //out.println(imageDirectory + "\\" + label + ".txt"); File textFile = new File(imageDirectory, label+".txt"); if (textFile.exists()) out.println(se.datadosen.util.IO.readTextFile(textFile)); %>

  Up one level

JAlbum 2.3