END-USER LICENSE AGREEMENT FOR PAUL BUNYAN® MESSAGE LOGGING SOFTWARE

IMPORTANT—READ CAREFULLY: This Diamond Sierra End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Diamond Sierra for the Diamond Sierra software product identified above, which includes computer software and may include associated media, printed materials, and "online" or electronic documentation ("SOFTWARE PRODUCT"). The term "SOFTWARE PRODUCT" shall also include any upgrades, modified versions or updates of the Software licensed to you by Diamond Sierra . By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by all of the terms and conditions of this EULA. If you do not agree to be bound by all of the terms and conditions of this EULA, you are not authorized to install or use the SOFTWARE PRODUCT.

SOFTWARE PRODUCT LICENSE

The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.

1 - GRANT OF LICENSE

Upon your acceptance of this EULA, Diamond Sierra grants the following limited, non-exclusive rights:

2 - DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS

3 - UPGRADES

If the SOFTWARE PRODUCT is sold as an upgrade, you must be properly licensed to use a product identified by Diamond Sierra as being eligible for the upgrade in order to use the SOFTWARE PRODUCT. A SOFTWARE PRODUCT identified as an upgrade replaces and/or supplements the product that formed the basis for your eligibility for the upgrade. You may use the resulting upgraded product only in accordance with the terms of this EULA.

4 - COPYRIGHT

You accept that all title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by Diamond Sierra or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions.

5 - EXPORT RESTRICTIONS

You agree that neither you nor your customers intend to or will, directly or indirectly, export or transmit the SOFTWARE PRODUCT or related documentation and technical data to any country, or use it in any manner, restricted by any applicable U.S. regulation or statute, without the prior written consent, if required, of the Bureau of Export Administration of the U.S. Department of Commerce, or such other governmental entity as may have jurisdiction over such export, transmission, or usage.

6 - U.S. GOVERNMENT RESTRICTED RIGHTS

The SOFTWARE PRODUCT and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software—Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Diamond Sierra/23081 Woodland Road/Lakeville, MN 55044.

WARRANTY AND LIABILITY

LIMITED WARRANTY

Diamond Sierra warrants that the SOFTWARE PRODUCT will perform substantially in accordance with the accompanying documentation for a period of ninety (90) days from the date of purchase and that Diamond Sierra support engineers will make commercially reasonable efforts to solve any problem issues. Notwithstanding this Limited Warranty, Diamond Sierra warrants that the SOFTWARE PRODUCT will operate in accordance with Schedule 1, YEAR 2000. Some states and jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you. To the extent allowed by applicable law, implied warranties on the SOFTWARE PRODUCT, if any, are limited to ninety (90) days.

CUSTOMER REMEDIES

Diamond Sierra’s and its suppliers' entire liability and your exclusive remedy shall be, at Diamond Sierra's option, either (a) return of the price paid, if any, or (b) repair or replacement of the SOFTWARE PRODUCT that does not meet Diamond Sierra's Limited Warranty. This Limited Warranty is void if failure of the SOFTWARE PRODUCT has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE PRODUCT will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer.

NO OTHER WARRANTIES

To the maximum extent permitted by applicable law, Diamond Sierra and its suppliers disclaim all other warranties and conditions, either express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, title, and non-infringement, with regard to the SOFTWARE PRODUCT, and the provision of or failure to provide support services. This limited warranty gives you specific legal rights. You may have others, which vary from state/jurisdiction to state/jurisdiction.

LIMITATION OF LIABILITY

Diamond Sierra’s entire liability and your exclusive remedy under this EULA shall not exceed the amount actually paid by you for the SOFTWARE PRODUCT. Because some states and jurisdictions do not allow the exclusion or limitation of liability, the above limitation may not apply to you.

NO LIABILITY FOR CONSEQUENTIAL DAMAGES

To the maximum extent permitted by applicable law, in no event shall Diamond Sierra or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, without limitation, damages for loss of business profits or savings, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use the SOFTWARE PRODUCT or the provision of or failure to provide support services, even if Diamond Sierra has been advised of the possibility of such damages, or for any claim by any third party; the entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you. Because some states and jurisdictions do not allow the exclusion or limitation of liability, the above limitation may not apply to you.

MISCELLANEOUS

This EULA will be governed by the laws of the State of Minnesota, U.S.A. Any action brought for breach of or to construe or enforce any of the provisions of this EULA shall be brought and maintained in the State of Minnesota or in the Federal court located in Minneapolis, Minnesota. In the event that you fail in such action, Diamond Sierra shall be entitled to receive from you, upon demand, an amount equal to all reasonable attorneys’ fees and costs incurred. Any provision held to be unenforceable will be enforced to the maximum extent possible, and all remaining provisions shall remain in full force and effect. Failure or delay in enforcement of any terms or conditions of this EULA shall not be deemed a waiver of any right.

THIS EULA CONSTITUTES THE COMPLETE AND EXCLUSIVE STATEMENT OF THE AGREEMENT BETWEEN YOURSELF AND Diamond Sierra WHICH SUPERSEDES ANY PROPOSAL OR PRIOR AGREEMENT, ORAL OR WRITTEN, AND ANY OTHER COMMUNICATIONS RELATING TO THE SUBJECT MATTER OF THIS LICENSE. NO AMENDMENT TO THIS EULA SHALL BE EFFECTIVE UNLESS IT IS IN WRITTEN FORM AND IS DATED AND SIGNED BY A DULY AUTHORIZED REPRESENTATIVE OF Diamond Sierra.

Should you have any questions concerning this EULA, or if you desire to contact Diamond Sierra for any reason, write: Diamond Sierra/23081 Woodland Road/Lakeville, MN 55044.

SCHEDULE 1: YEAR 2000

Introduction

Since Paul Bunyan is a new product written entirely in the late 1990's, there is no reason to expect it would have any year 2000 limitations. Nevertheless it will not suffer from a little examination. This document first outlines the areas of concern, then details the methods used to ensure compliance.

Use of Dates in Paul Bunyan

Paul Bunyan creates and manipulates log messages. Each message is assigned a time stamp at the time of its creation. Local time zone information for the machine on which the message is generated is also stored. These time stamps can be displayed in the viewer component in a configurable manner. In addition, filter objects can be created containing date and time criteria to determine routing of log messages. Finally, log messages may be passed to custom message handlers through a COM interface.

Internal Date/Time Representation

All dates are stored, transmitted, and manipulated by Paul Bunyan using the Win32 FILETIME structure. This structure stores the date and time as a 64 bit integer representing the number of 100 nanosecond intervals elapsed since January 1, 1601, and so extends well past the year 2000. Time zone information is stored in a 16 bit integer as the number of minutes offset from coordinated universal time.

Date/Time Interfaces

There are two distinct interfaces where Paul Bunyan exchanges dates with the outside world.

Through the message handler interface, log messages containing time stamps are passed through COM to custom code. Dates are passed using a 64 bit integer, equivalent to the internal representation using the Win32 FILETIME structure.

Dates also need to be represented through the user interface. In this case, the Microsoft Foundation Class's COleDateTime class is used to convert dates between the internal representation and a user-readable format. In this class the date and time is represented as a double precision floating point value measuring days from midnight, 12/30/1899. Dates from 1/1/100 through 12/31/9999 can be handled by this class, but since dates must be convertible to the FILETIME format, dates before 1601 are not allowed. Display of log message time stamps is fully customizable; the year can be displayed using two digits or four. User input of dates for filtering is also flexible. Dates can be input using two digit or four digit years; in the case of two digit input, years are assumed to be in the range 1930 - 2029.

Summary

Paul Bunyan Logging System was designed with Y2K issues in mind. All representation and manipulation of dates is done using Y2K compliant data types and interface methods. The product leverages on existing Microsoft implementations to ensure compatibility and extensibility.