using System; using System.Collections; using System.Threading; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1 { // Token: 0x02001DC2 RID: 7618 [Token(Token = "0x2001DC2")] internal class LazyDerSet : DerSet { // Token: 0x0600C0F7 RID: 49399 RVA: 0x002BE880 File Offset: 0x002BCA80 [Token(Token = "0x600C0F7")] [Address(RVA = "0x283C0A0", Offset = "0x283AEA0", VA = "0x18283C0A0")] internal LazyDerSet(byte[] encoded) { this.encoded = encoded; } // Token: 0x0600C0F8 RID: 49400 RVA: 0x002BE89C File Offset: 0x002BCA9C [Token(Token = "0x600C0F8")] [Address(RVA = "0x283BFA0", Offset = "0x283ADA0", VA = "0x18283BFA0")] private void Parse() { int num = 0; byte[] array = this.encoded; if (array != 0) { Asn1Object asn1Object = new LazyAsn1InputStream(array).ReadObject(); if (asn1Object != 0) { base.AddObject(asn1Object); } this.encoded = num; } Monitor.Exit(this); if (num == 0) { return; } throw new NullReferenceException(); } // Token: 0x17001DBA RID: 7610 [Token(Token = "0x17001DBA")] public override Asn1Encodable this[int index] { [Token(Token = "0x600C0F9")] [Address(RVA = "0x283C130", Offset = "0x283AF30", VA = "0x18283C130", Slot = "11")] get { this.Parse(); return base[index]; } } // Token: 0x0600C0FA RID: 49402 RVA: 0x002BE900 File Offset: 0x002BCB00 [Token(Token = "0x600C0FA")] [Address(RVA = "0x283BF80", Offset = "0x283AD80", VA = "0x18283BF80", Slot = "10")] public override IEnumerator GetEnumerator() { this.Parse(); return base.GetEnumerator(); } // Token: 0x17001DBB RID: 7611 // (get) Token: 0x0600C0FB RID: 49403 RVA: 0x002BE91C File Offset: 0x002BCB1C [Token(Token = "0x17001DBB")] public override int Count { [Token(Token = "0x600C0FB")] [Address(RVA = "0x283C110", Offset = "0x283AF10", VA = "0x18283C110", Slot = "12")] get { this.Parse(); return base.Count; } } // Token: 0x0600C0FC RID: 49404 RVA: 0x002BE938 File Offset: 0x002BCB38 [Token(Token = "0x600C0FC")] [Address(RVA = "0x283BEB0", Offset = "0x283ACB0", VA = "0x18283BEB0", Slot = "6")] internal override void Encode(DerOutputStream derOut) { int num; do { num = 0; byte[] array = this.encoded; if (array != 0) { derOut.WriteEncoded(49, array); } base.Encode(derOut); Monitor.Exit(this); } while (num != 0); } // Token: 0x040079D2 RID: 31186 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40079D2")] private byte[] encoded; } }