static Canary15DataManager()
        {
            Canary15Trace.TraceVersion();
            Canary15Trace.TraceTimeSpan(Canary15DataManager.defaultPeriod, 0, "Canary15DataManager().DefaultPeriod.");
            Canary15DataSegment.SampleUtcNow();
            Canary15DataManager.NextRefreshTime = Canary15DataSegment.UtcNow;
            Canary15DataManager.segments        = new Canary15DataSegment[3];
            for (int i = 0; i < 3; i++)
            {
                Canary15DataManager.segments[i] = Canary15DataSegment.CreateFromADData(i);
            }
            bool flag = Canary15DataManager.segments[0].IsNull || Canary15DataManager.segments[1].IsNull || Canary15DataManager.segments[2].IsNull;

            if (Canary15DataManager.segments[0].IsNull || (Canary15DataManager.segments[1].IsNull && !Canary15DataManager.segments[2].IsNull))
            {
                Canary15DataManager.segments[1].MarkADSegmentForDeletion();
                Canary15DataManager.segments[2].MarkADSegmentForDeletion();
                Canary15DataManager.Create(0);
            }
            if (flag)
            {
                long num   = 36000000000L;
                long ticks = Canary15DataManager.segments[0].Header.ReplicationDuration.Ticks;
                if (ticks == 0L)
                {
                    ticks = Canary15DataSegment.ReplicationDuration.Ticks;
                }
                long num2 = Canary15DataManager.segments[0].Header.StartTime.Ticks - ticks;
                if (num2 > Canary15DataSegment.UtcNow.Ticks)
                {
                    num2 = Canary15DataSegment.UtcNow.Ticks;
                }
                Canary15DataManager.CreateFromLegacyData(2, num2 - num, ticks + num, ticks);
                Canary15DataManager.segments[2].LogToIIS(0);
            }
        }