fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = { var dict: [Int32 : (BufferReader) -> Any?] = [:] dict[-1471112230] = { return $0.readInt32() } dict[570911930] = { return $0.readInt64() } dict[571523412] = { return $0.readDouble() } dict[-1255641564] = { return parseString($0) } dict[-1586283796] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionSetMessageTTL($0) } dict[206520510] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionReadMessages($0) } dict[1700872964] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionDeleteMessages($0) } dict[-1967000459] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionScreenshotMessages($0) } dict[1729750108] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionFlushHistory($0) } dict[-217806717] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionNotifyLayer($0) } dict[1360072880] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionResend($0) } dict[-204906213] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionRequestKey($0) } dict[1877046107] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionAcceptKey($0) } dict[-586814357] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionAbortKey($0) } dict[-332526693] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionCommitKey($0) } dict[-1473258141] = { return SecretApi101.DecryptedMessageAction.parse_decryptedMessageActionNoop($0) } dict[236446268] = { return SecretApi101.PhotoSize.parse_photoSizeEmpty($0) } dict[2009052699] = { return SecretApi101.PhotoSize.parse_photoSize($0) } dict[-374917894] = { return SecretApi101.PhotoSize.parse_photoCachedSize($0) } dict[2086234950] = { return SecretApi101.FileLocation.parse_fileLocationUnavailable($0) } dict[1406570614] = { return SecretApi101.FileLocation.parse_fileLocation($0) } dict[467867529] = { return SecretApi101.DecryptedMessageLayer.parse_decryptedMessageLayer($0) } dict[1930838368] = { return SecretApi101.DecryptedMessage.parse_decryptedMessageService($0) } dict[-1848883596] = { return SecretApi101.DecryptedMessage.parse_decryptedMessage($0) } dict[1815593308] = { return SecretApi101.DocumentAttribute.parse_documentAttributeImageSize($0) } dict[297109817] = { return SecretApi101.DocumentAttribute.parse_documentAttributeAnimated($0) } dict[358154344] = { return SecretApi101.DocumentAttribute.parse_documentAttributeFilename($0) } dict[978674434] = { return SecretApi101.DocumentAttribute.parse_documentAttributeSticker($0) } dict[-1739392570] = { return SecretApi101.DocumentAttribute.parse_documentAttributeAudio($0) } dict[250621158] = { return SecretApi101.DocumentAttribute.parse_documentAttributeVideo($0) } dict[-2044933984] = { return SecretApi101.InputStickerSet.parse_inputStickerSetShortName($0) } dict[-4838507] = { return SecretApi101.InputStickerSet.parse_inputStickerSetEmpty($0) } dict[-1148011883] = { return SecretApi101.MessageEntity.parse_messageEntityUnknown($0) } dict[-100378723] = { return SecretApi101.MessageEntity.parse_messageEntityMention($0) } dict[1868782349] = { return SecretApi101.MessageEntity.parse_messageEntityHashtag($0) } dict[1827637959] = { return SecretApi101.MessageEntity.parse_messageEntityBotCommand($0) } dict[1859134776] = { return SecretApi101.MessageEntity.parse_messageEntityUrl($0) } dict[1692693954] = { return SecretApi101.MessageEntity.parse_messageEntityEmail($0) } dict[-1117713463] = { return SecretApi101.MessageEntity.parse_messageEntityBold($0) } dict[-2106619040] = { return SecretApi101.MessageEntity.parse_messageEntityItalic($0) } dict[681706865] = { return SecretApi101.MessageEntity.parse_messageEntityCode($0) } dict[1938967520] = { return SecretApi101.MessageEntity.parse_messageEntityPre($0) } dict[1990644519] = { return SecretApi101.MessageEntity.parse_messageEntityTextUrl($0) } dict[-1672577397] = { return SecretApi101.MessageEntity.parse_messageEntityUnderline($0) } dict[-1090087980] = { return SecretApi101.MessageEntity.parse_messageEntityStrike($0) } dict[34469328] = { return SecretApi101.MessageEntity.parse_messageEntityBlockquote($0) } dict[144661578] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaEmpty($0) } dict[893913689] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaGeoPoint($0) } dict[1485441687] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaContact($0) } dict[1474341323] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaAudio($0) } dict[-90853155] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaExternalDocument($0) } dict[-235238024] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaPhoto($0) } dict[2063502050] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaDocument($0) } dict[-1760785394] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaVideo($0) } dict[-1978796689] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaVenue($0) } dict[-452652584] = { return SecretApi101.DecryptedMessageMedia.parse_decryptedMessageMediaWebPage($0) } return dict }() public struct SecretApi101 { public static func parse(_ buffer: Buffer) -> Any? { let reader = BufferReader(buffer) if let signature = reader.readInt32() { return parse(reader, signature: signature) } return nil } fileprivate static func parse(_ reader: BufferReader, signature: Int32) -> Any? { if let parser = parsers[signature] { return parser(reader) } else { telegramApiLog("Type constructor \(String(signature, radix: 16, uppercase: false)) not found") return nil } } fileprivate static func parseVector(_ reader: BufferReader, elementSignature: Int32, elementType: T.Type) -> [T]? { if let count = reader.readInt32() { var array = [T]() var i: Int32 = 0 while i < count { var signature = elementSignature if elementSignature == 0 { if let unboxedSignature = reader.readInt32() { signature = unboxedSignature } else { return nil } } if let item = SecretApi101.parse(reader, signature: signature) as? T { array.append(item) } else { return nil } i += 1 } return array } return nil } public static func serializeObject(_ object: Any, buffer: Buffer, boxed: Swift.Bool) { switch object { case let _1 as SecretApi101.DecryptedMessageAction: _1.serialize(buffer, boxed) case let _1 as SecretApi101.PhotoSize: _1.serialize(buffer, boxed) case let _1 as SecretApi101.FileLocation: _1.serialize(buffer, boxed) case let _1 as SecretApi101.DecryptedMessageLayer: _1.serialize(buffer, boxed) case let _1 as SecretApi101.DecryptedMessage: _1.serialize(buffer, boxed) case let _1 as SecretApi101.DocumentAttribute: _1.serialize(buffer, boxed) case let _1 as SecretApi101.InputStickerSet: _1.serialize(buffer, boxed) case let _1 as SecretApi101.MessageEntity: _1.serialize(buffer, boxed) case let _1 as SecretApi101.DecryptedMessageMedia: _1.serialize(buffer, boxed) default: break } } public enum DecryptedMessageAction { case decryptedMessageActionSetMessageTTL(ttlSeconds: Int32) case decryptedMessageActionReadMessages(randomIds: [Int64]) case decryptedMessageActionDeleteMessages(randomIds: [Int64]) case decryptedMessageActionScreenshotMessages(randomIds: [Int64]) case decryptedMessageActionFlushHistory case decryptedMessageActionNotifyLayer(layer: Int32) case decryptedMessageActionResend(startSeqNo: Int32, endSeqNo: Int32) case decryptedMessageActionRequestKey(exchangeId: Int64, gA: Buffer) case decryptedMessageActionAcceptKey(exchangeId: Int64, gB: Buffer, keyFingerprint: Int64) case decryptedMessageActionAbortKey(exchangeId: Int64) case decryptedMessageActionCommitKey(exchangeId: Int64, keyFingerprint: Int64) case decryptedMessageActionNoop public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .decryptedMessageActionSetMessageTTL(let ttlSeconds): if boxed { buffer.appendInt32(-1586283796) } serializeInt32(ttlSeconds, buffer: buffer, boxed: false) break case .decryptedMessageActionReadMessages(let randomIds): if boxed { buffer.appendInt32(206520510) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(randomIds.count)) for item in randomIds { serializeInt64(item, buffer: buffer, boxed: false) } break case .decryptedMessageActionDeleteMessages(let randomIds): if boxed { buffer.appendInt32(1700872964) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(randomIds.count)) for item in randomIds { serializeInt64(item, buffer: buffer, boxed: false) } break case .decryptedMessageActionScreenshotMessages(let randomIds): if boxed { buffer.appendInt32(-1967000459) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(randomIds.count)) for item in randomIds { serializeInt64(item, buffer: buffer, boxed: false) } break case .decryptedMessageActionFlushHistory: if boxed { buffer.appendInt32(1729750108) } break case .decryptedMessageActionNotifyLayer(let layer): if boxed { buffer.appendInt32(-217806717) } serializeInt32(layer, buffer: buffer, boxed: false) break case .decryptedMessageActionResend(let startSeqNo, let endSeqNo): if boxed { buffer.appendInt32(1360072880) } serializeInt32(startSeqNo, buffer: buffer, boxed: false) serializeInt32(endSeqNo, buffer: buffer, boxed: false) break case .decryptedMessageActionRequestKey(let exchangeId, let gA): if boxed { buffer.appendInt32(-204906213) } serializeInt64(exchangeId, buffer: buffer, boxed: false) serializeBytes(gA, buffer: buffer, boxed: false) break case .decryptedMessageActionAcceptKey(let exchangeId, let gB, let keyFingerprint): if boxed { buffer.appendInt32(1877046107) } serializeInt64(exchangeId, buffer: buffer, boxed: false) serializeBytes(gB, buffer: buffer, boxed: false) serializeInt64(keyFingerprint, buffer: buffer, boxed: false) break case .decryptedMessageActionAbortKey(let exchangeId): if boxed { buffer.appendInt32(-586814357) } serializeInt64(exchangeId, buffer: buffer, boxed: false) break case .decryptedMessageActionCommitKey(let exchangeId, let keyFingerprint): if boxed { buffer.appendInt32(-332526693) } serializeInt64(exchangeId, buffer: buffer, boxed: false) serializeInt64(keyFingerprint, buffer: buffer, boxed: false) break case .decryptedMessageActionNoop: if boxed { buffer.appendInt32(-1473258141) } break } } fileprivate static func parse_decryptedMessageActionSetMessageTTL(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: Int32? _1 = reader.readInt32() let _c1 = _1 != nil if _c1 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionSetMessageTTL(ttlSeconds: _1!) } else { return nil } } fileprivate static func parse_decryptedMessageActionReadMessages(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: [Int64]? if let _ = reader.readInt32() { _1 = SecretApi101.parseVector(reader, elementSignature: 570911930, elementType: Int64.self) } let _c1 = _1 != nil if _c1 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionReadMessages(randomIds: _1!) } else { return nil } } fileprivate static func parse_decryptedMessageActionDeleteMessages(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: [Int64]? if let _ = reader.readInt32() { _1 = SecretApi101.parseVector(reader, elementSignature: 570911930, elementType: Int64.self) } let _c1 = _1 != nil if _c1 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionDeleteMessages(randomIds: _1!) } else { return nil } } fileprivate static func parse_decryptedMessageActionScreenshotMessages(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: [Int64]? if let _ = reader.readInt32() { _1 = SecretApi101.parseVector(reader, elementSignature: 570911930, elementType: Int64.self) } let _c1 = _1 != nil if _c1 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionScreenshotMessages(randomIds: _1!) } else { return nil } } fileprivate static func parse_decryptedMessageActionFlushHistory(_ reader: BufferReader) -> DecryptedMessageAction? { return SecretApi101.DecryptedMessageAction.decryptedMessageActionFlushHistory } fileprivate static func parse_decryptedMessageActionNotifyLayer(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: Int32? _1 = reader.readInt32() let _c1 = _1 != nil if _c1 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionNotifyLayer(layer: _1!) } else { return nil } } fileprivate static func parse_decryptedMessageActionResend(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionResend(startSeqNo: _1!, endSeqNo: _2!) } else { return nil } } fileprivate static func parse_decryptedMessageActionRequestKey(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: Int64? _1 = reader.readInt64() var _2: Buffer? _2 = parseBytes(reader) let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionRequestKey(exchangeId: _1!, gA: _2!) } else { return nil } } fileprivate static func parse_decryptedMessageActionAcceptKey(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: Int64? _1 = reader.readInt64() var _2: Buffer? _2 = parseBytes(reader) var _3: Int64? _3 = reader.readInt64() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionAcceptKey(exchangeId: _1!, gB: _2!, keyFingerprint: _3!) } else { return nil } } fileprivate static func parse_decryptedMessageActionAbortKey(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: Int64? _1 = reader.readInt64() let _c1 = _1 != nil if _c1 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionAbortKey(exchangeId: _1!) } else { return nil } } fileprivate static func parse_decryptedMessageActionCommitKey(_ reader: BufferReader) -> DecryptedMessageAction? { var _1: Int64? _1 = reader.readInt64() var _2: Int64? _2 = reader.readInt64() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.DecryptedMessageAction.decryptedMessageActionCommitKey(exchangeId: _1!, keyFingerprint: _2!) } else { return nil } } fileprivate static func parse_decryptedMessageActionNoop(_ reader: BufferReader) -> DecryptedMessageAction? { return SecretApi101.DecryptedMessageAction.decryptedMessageActionNoop } } public enum PhotoSize { case photoSizeEmpty(type: String) case photoSize(type: String, location: SecretApi101.FileLocation, w: Int32, h: Int32, size: Int32) case photoCachedSize(type: String, location: SecretApi101.FileLocation, w: Int32, h: Int32, bytes: Buffer) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .photoSizeEmpty(let type): if boxed { buffer.appendInt32(236446268) } serializeString(type, buffer: buffer, boxed: false) break case .photoSize(let type, let location, let w, let h, let size): if boxed { buffer.appendInt32(2009052699) } serializeString(type, buffer: buffer, boxed: false) location.serialize(buffer, true) serializeInt32(w, buffer: buffer, boxed: false) serializeInt32(h, buffer: buffer, boxed: false) serializeInt32(size, buffer: buffer, boxed: false) break case .photoCachedSize(let type, let location, let w, let h, let bytes): if boxed { buffer.appendInt32(-374917894) } serializeString(type, buffer: buffer, boxed: false) location.serialize(buffer, true) serializeInt32(w, buffer: buffer, boxed: false) serializeInt32(h, buffer: buffer, boxed: false) serializeBytes(bytes, buffer: buffer, boxed: false) break } } fileprivate static func parse_photoSizeEmpty(_ reader: BufferReader) -> PhotoSize? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return SecretApi101.PhotoSize.photoSizeEmpty(type: _1!) } else { return nil } } fileprivate static func parse_photoSize(_ reader: BufferReader) -> PhotoSize? { var _1: String? _1 = parseString(reader) var _2: SecretApi101.FileLocation? if let signature = reader.readInt32() { _2 = SecretApi101.parse(reader, signature: signature) as? SecretApi101.FileLocation } var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = reader.readInt32() var _5: Int32? _5 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return SecretApi101.PhotoSize.photoSize(type: _1!, location: _2!, w: _3!, h: _4!, size: _5!) } else { return nil } } fileprivate static func parse_photoCachedSize(_ reader: BufferReader) -> PhotoSize? { var _1: String? _1 = parseString(reader) var _2: SecretApi101.FileLocation? if let signature = reader.readInt32() { _2 = SecretApi101.parse(reader, signature: signature) as? SecretApi101.FileLocation } var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = reader.readInt32() var _5: Buffer? _5 = parseBytes(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return SecretApi101.PhotoSize.photoCachedSize(type: _1!, location: _2!, w: _3!, h: _4!, bytes: _5!) } else { return nil } } } public enum FileLocation { case fileLocationUnavailable(volumeId: Int64, localId: Int32, secret: Int64) case fileLocation(dcId: Int32, volumeId: Int64, localId: Int32, secret: Int64) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .fileLocationUnavailable(let volumeId, let localId, let secret): if boxed { buffer.appendInt32(2086234950) } serializeInt64(volumeId, buffer: buffer, boxed: false) serializeInt32(localId, buffer: buffer, boxed: false) serializeInt64(secret, buffer: buffer, boxed: false) break case .fileLocation(let dcId, let volumeId, let localId, let secret): if boxed { buffer.appendInt32(1406570614) } serializeInt32(dcId, buffer: buffer, boxed: false) serializeInt64(volumeId, buffer: buffer, boxed: false) serializeInt32(localId, buffer: buffer, boxed: false) serializeInt64(secret, buffer: buffer, boxed: false) break } } fileprivate static func parse_fileLocationUnavailable(_ reader: BufferReader) -> FileLocation? { var _1: Int64? _1 = reader.readInt64() var _2: Int32? _2 = reader.readInt32() var _3: Int64? _3 = reader.readInt64() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return SecretApi101.FileLocation.fileLocationUnavailable(volumeId: _1!, localId: _2!, secret: _3!) } else { return nil } } fileprivate static func parse_fileLocation(_ reader: BufferReader) -> FileLocation? { var _1: Int32? _1 = reader.readInt32() var _2: Int64? _2 = reader.readInt64() var _3: Int32? _3 = reader.readInt32() var _4: Int64? _4 = reader.readInt64() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil if _c1 && _c2 && _c3 && _c4 { return SecretApi101.FileLocation.fileLocation(dcId: _1!, volumeId: _2!, localId: _3!, secret: _4!) } else { return nil } } } public enum DecryptedMessageLayer { case decryptedMessageLayer(randomBytes: Buffer, layer: Int32, inSeqNo: Int32, outSeqNo: Int32, message: SecretApi101.DecryptedMessage) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .decryptedMessageLayer(let randomBytes, let layer, let inSeqNo, let outSeqNo, let message): if boxed { buffer.appendInt32(467867529) } serializeBytes(randomBytes, buffer: buffer, boxed: false) serializeInt32(layer, buffer: buffer, boxed: false) serializeInt32(inSeqNo, buffer: buffer, boxed: false) serializeInt32(outSeqNo, buffer: buffer, boxed: false) message.serialize(buffer, true) break } } fileprivate static func parse_decryptedMessageLayer(_ reader: BufferReader) -> DecryptedMessageLayer? { var _1: Buffer? _1 = parseBytes(reader) var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = reader.readInt32() var _5: SecretApi101.DecryptedMessage? if let signature = reader.readInt32() { _5 = SecretApi101.parse(reader, signature: signature) as? SecretApi101.DecryptedMessage } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return SecretApi101.DecryptedMessageLayer.decryptedMessageLayer(randomBytes: _1!, layer: _2!, inSeqNo: _3!, outSeqNo: _4!, message: _5!) } else { return nil } } } public enum DecryptedMessage { case decryptedMessageService(randomId: Int64, action: SecretApi101.DecryptedMessageAction) case decryptedMessage(flags: Int32, randomId: Int64, ttl: Int32, message: String, media: SecretApi101.DecryptedMessageMedia?, entities: [SecretApi101.MessageEntity]?, viaBotName: String?, replyToRandomId: Int64?, groupedId: Int64?) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .decryptedMessageService(let randomId, let action): if boxed { buffer.appendInt32(1930838368) } serializeInt64(randomId, buffer: buffer, boxed: false) action.serialize(buffer, true) break case .decryptedMessage(let flags, let randomId, let ttl, let message, let media, let entities, let viaBotName, let replyToRandomId, let groupedId): if boxed { buffer.appendInt32(-1848883596) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt64(randomId, buffer: buffer, boxed: false) serializeInt32(ttl, buffer: buffer, boxed: false) serializeString(message, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 9) != 0 {media!.serialize(buffer, true)} if Int(flags) & Int(1 << 7) != 0 {buffer.appendInt32(481674261) buffer.appendInt32(Int32(entities!.count)) for item in entities! { item.serialize(buffer, true) }} if Int(flags) & Int(1 << 11) != 0 {serializeString(viaBotName!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 3) != 0 {serializeInt64(replyToRandomId!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 17) != 0 {serializeInt64(groupedId!, buffer: buffer, boxed: false)} break } } fileprivate static func parse_decryptedMessageService(_ reader: BufferReader) -> DecryptedMessage? { var _1: Int64? _1 = reader.readInt64() var _2: SecretApi101.DecryptedMessageAction? if let signature = reader.readInt32() { _2 = SecretApi101.parse(reader, signature: signature) as? SecretApi101.DecryptedMessageAction } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.DecryptedMessage.decryptedMessageService(randomId: _1!, action: _2!) } else { return nil } } fileprivate static func parse_decryptedMessage(_ reader: BufferReader) -> DecryptedMessage? { var _1: Int32? _1 = reader.readInt32() var _2: Int64? _2 = reader.readInt64() var _3: Int32? _3 = reader.readInt32() var _4: String? _4 = parseString(reader) var _5: SecretApi101.DecryptedMessageMedia? if Int(_1!) & Int(1 << 9) != 0 {if let signature = reader.readInt32() { _5 = SecretApi101.parse(reader, signature: signature) as? SecretApi101.DecryptedMessageMedia } } var _6: [SecretApi101.MessageEntity]? if Int(_1!) & Int(1 << 7) != 0 {if let _ = reader.readInt32() { _6 = SecretApi101.parseVector(reader, elementSignature: 0, elementType: SecretApi101.MessageEntity.self) } } var _7: String? if Int(_1!) & Int(1 << 11) != 0 {_7 = parseString(reader) } var _8: Int64? if Int(_1!) & Int(1 << 3) != 0 {_8 = reader.readInt64() } var _9: Int64? if Int(_1!) & Int(1 << 17) != 0 {_9 = reader.readInt64() } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = (Int(_1!) & Int(1 << 9) == 0) || _5 != nil let _c6 = (Int(_1!) & Int(1 << 7) == 0) || _6 != nil let _c7 = (Int(_1!) & Int(1 << 11) == 0) || _7 != nil let _c8 = (Int(_1!) & Int(1 << 3) == 0) || _8 != nil let _c9 = (Int(_1!) & Int(1 << 17) == 0) || _9 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 { return SecretApi101.DecryptedMessage.decryptedMessage(flags: _1!, randomId: _2!, ttl: _3!, message: _4!, media: _5, entities: _6, viaBotName: _7, replyToRandomId: _8, groupedId: _9) } else { return nil } } } public enum DocumentAttribute { case documentAttributeImageSize(w: Int32, h: Int32) case documentAttributeAnimated case documentAttributeFilename(fileName: String) case documentAttributeSticker(alt: String, stickerset: SecretApi101.InputStickerSet) case documentAttributeAudio(flags: Int32, duration: Int32, title: String?, performer: String?, waveform: Buffer?) case documentAttributeVideo(flags: Int32, duration: Int32, w: Int32, h: Int32) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .documentAttributeImageSize(let w, let h): if boxed { buffer.appendInt32(1815593308) } serializeInt32(w, buffer: buffer, boxed: false) serializeInt32(h, buffer: buffer, boxed: false) break case .documentAttributeAnimated: if boxed { buffer.appendInt32(297109817) } break case .documentAttributeFilename(let fileName): if boxed { buffer.appendInt32(358154344) } serializeString(fileName, buffer: buffer, boxed: false) break case .documentAttributeSticker(let alt, let stickerset): if boxed { buffer.appendInt32(978674434) } serializeString(alt, buffer: buffer, boxed: false) stickerset.serialize(buffer, true) break case .documentAttributeAudio(let flags, let duration, let title, let performer, let waveform): if boxed { buffer.appendInt32(-1739392570) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(duration, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 0) != 0 {serializeString(title!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 1) != 0 {serializeString(performer!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 2) != 0 {serializeBytes(waveform!, buffer: buffer, boxed: false)} break case .documentAttributeVideo(let flags, let duration, let w, let h): if boxed { buffer.appendInt32(250621158) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(duration, buffer: buffer, boxed: false) serializeInt32(w, buffer: buffer, boxed: false) serializeInt32(h, buffer: buffer, boxed: false) break } } fileprivate static func parse_documentAttributeImageSize(_ reader: BufferReader) -> DocumentAttribute? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.DocumentAttribute.documentAttributeImageSize(w: _1!, h: _2!) } else { return nil } } fileprivate static func parse_documentAttributeAnimated(_ reader: BufferReader) -> DocumentAttribute? { return SecretApi101.DocumentAttribute.documentAttributeAnimated } fileprivate static func parse_documentAttributeFilename(_ reader: BufferReader) -> DocumentAttribute? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return SecretApi101.DocumentAttribute.documentAttributeFilename(fileName: _1!) } else { return nil } } fileprivate static func parse_documentAttributeSticker(_ reader: BufferReader) -> DocumentAttribute? { var _1: String? _1 = parseString(reader) var _2: SecretApi101.InputStickerSet? if let signature = reader.readInt32() { _2 = SecretApi101.parse(reader, signature: signature) as? SecretApi101.InputStickerSet } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.DocumentAttribute.documentAttributeSticker(alt: _1!, stickerset: _2!) } else { return nil } } fileprivate static func parse_documentAttributeAudio(_ reader: BufferReader) -> DocumentAttribute? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: String? if Int(_1!) & Int(1 << 0) != 0 {_3 = parseString(reader) } var _4: String? if Int(_1!) & Int(1 << 1) != 0 {_4 = parseString(reader) } var _5: Buffer? if Int(_1!) & Int(1 << 2) != 0 {_5 = parseBytes(reader) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 0) == 0) || _3 != nil let _c4 = (Int(_1!) & Int(1 << 1) == 0) || _4 != nil let _c5 = (Int(_1!) & Int(1 << 2) == 0) || _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return SecretApi101.DocumentAttribute.documentAttributeAudio(flags: _1!, duration: _2!, title: _3, performer: _4, waveform: _5) } else { return nil } } fileprivate static func parse_documentAttributeVideo(_ reader: BufferReader) -> DocumentAttribute? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil if _c1 && _c2 && _c3 && _c4 { return SecretApi101.DocumentAttribute.documentAttributeVideo(flags: _1!, duration: _2!, w: _3!, h: _4!) } else { return nil } } } public enum InputStickerSet { case inputStickerSetShortName(shortName: String) case inputStickerSetEmpty public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .inputStickerSetShortName(let shortName): if boxed { buffer.appendInt32(-2044933984) } serializeString(shortName, buffer: buffer, boxed: false) break case .inputStickerSetEmpty: if boxed { buffer.appendInt32(-4838507) } break } } fileprivate static func parse_inputStickerSetShortName(_ reader: BufferReader) -> InputStickerSet? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return SecretApi101.InputStickerSet.inputStickerSetShortName(shortName: _1!) } else { return nil } } fileprivate static func parse_inputStickerSetEmpty(_ reader: BufferReader) -> InputStickerSet? { return SecretApi101.InputStickerSet.inputStickerSetEmpty } } public enum MessageEntity { case messageEntityUnknown(offset: Int32, length: Int32) case messageEntityMention(offset: Int32, length: Int32) case messageEntityHashtag(offset: Int32, length: Int32) case messageEntityBotCommand(offset: Int32, length: Int32) case messageEntityUrl(offset: Int32, length: Int32) case messageEntityEmail(offset: Int32, length: Int32) case messageEntityBold(offset: Int32, length: Int32) case messageEntityItalic(offset: Int32, length: Int32) case messageEntityCode(offset: Int32, length: Int32) case messageEntityPre(offset: Int32, length: Int32, language: String) case messageEntityTextUrl(offset: Int32, length: Int32, url: String) case messageEntityUnderline(offset: Int32, length: Int32) case messageEntityStrike(offset: Int32, length: Int32) case messageEntityBlockquote(offset: Int32, length: Int32) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .messageEntityUnknown(let offset, let length): if boxed { buffer.appendInt32(-1148011883) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityMention(let offset, let length): if boxed { buffer.appendInt32(-100378723) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityHashtag(let offset, let length): if boxed { buffer.appendInt32(1868782349) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityBotCommand(let offset, let length): if boxed { buffer.appendInt32(1827637959) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityUrl(let offset, let length): if boxed { buffer.appendInt32(1859134776) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityEmail(let offset, let length): if boxed { buffer.appendInt32(1692693954) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityBold(let offset, let length): if boxed { buffer.appendInt32(-1117713463) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityItalic(let offset, let length): if boxed { buffer.appendInt32(-2106619040) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityCode(let offset, let length): if boxed { buffer.appendInt32(681706865) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityPre(let offset, let length, let language): if boxed { buffer.appendInt32(1938967520) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) serializeString(language, buffer: buffer, boxed: false) break case .messageEntityTextUrl(let offset, let length, let url): if boxed { buffer.appendInt32(1990644519) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) serializeString(url, buffer: buffer, boxed: false) break case .messageEntityUnderline(let offset, let length): if boxed { buffer.appendInt32(-1672577397) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityStrike(let offset, let length): if boxed { buffer.appendInt32(-1090087980) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break case .messageEntityBlockquote(let offset, let length): if boxed { buffer.appendInt32(34469328) } serializeInt32(offset, buffer: buffer, boxed: false) serializeInt32(length, buffer: buffer, boxed: false) break } } fileprivate static func parse_messageEntityUnknown(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityUnknown(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityMention(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityMention(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityHashtag(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityHashtag(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityBotCommand(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityBotCommand(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityUrl(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityUrl(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityEmail(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityEmail(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityBold(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityBold(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityItalic(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityItalic(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityCode(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityCode(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityPre(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: String? _3 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return SecretApi101.MessageEntity.messageEntityPre(offset: _1!, length: _2!, language: _3!) } else { return nil } } fileprivate static func parse_messageEntityTextUrl(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: String? _3 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return SecretApi101.MessageEntity.messageEntityTextUrl(offset: _1!, length: _2!, url: _3!) } else { return nil } } fileprivate static func parse_messageEntityUnderline(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityUnderline(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityStrike(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityStrike(offset: _1!, length: _2!) } else { return nil } } fileprivate static func parse_messageEntityBlockquote(_ reader: BufferReader) -> MessageEntity? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.MessageEntity.messageEntityBlockquote(offset: _1!, length: _2!) } else { return nil } } } public enum DecryptedMessageMedia { case decryptedMessageMediaEmpty case decryptedMessageMediaGeoPoint(lat: Double, long: Double) case decryptedMessageMediaContact(phoneNumber: String, firstName: String, lastName: String, userId: Int32) case decryptedMessageMediaAudio(duration: Int32, mimeType: String, size: Int32, key: Buffer, iv: Buffer) case decryptedMessageMediaExternalDocument(id: Int64, accessHash: Int64, date: Int32, mimeType: String, size: Int32, thumb: SecretApi101.PhotoSize, dcId: Int32, attributes: [SecretApi101.DocumentAttribute]) case decryptedMessageMediaPhoto(thumb: Buffer, thumbW: Int32, thumbH: Int32, w: Int32, h: Int32, size: Int32, key: Buffer, iv: Buffer, caption: String) case decryptedMessageMediaDocument(thumb: Buffer, thumbW: Int32, thumbH: Int32, mimeType: String, size: Int32, key: Buffer, iv: Buffer, attributes: [SecretApi101.DocumentAttribute], caption: String) case decryptedMessageMediaVideo(thumb: Buffer, thumbW: Int32, thumbH: Int32, duration: Int32, mimeType: String, w: Int32, h: Int32, size: Int32, key: Buffer, iv: Buffer, caption: String) case decryptedMessageMediaVenue(lat: Double, long: Double, title: String, address: String, provider: String, venueId: String) case decryptedMessageMediaWebPage(url: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .decryptedMessageMediaEmpty: if boxed { buffer.appendInt32(144661578) } break case .decryptedMessageMediaGeoPoint(let lat, let long): if boxed { buffer.appendInt32(893913689) } serializeDouble(lat, buffer: buffer, boxed: false) serializeDouble(long, buffer: buffer, boxed: false) break case .decryptedMessageMediaContact(let phoneNumber, let firstName, let lastName, let userId): if boxed { buffer.appendInt32(1485441687) } serializeString(phoneNumber, buffer: buffer, boxed: false) serializeString(firstName, buffer: buffer, boxed: false) serializeString(lastName, buffer: buffer, boxed: false) serializeInt32(userId, buffer: buffer, boxed: false) break case .decryptedMessageMediaAudio(let duration, let mimeType, let size, let key, let iv): if boxed { buffer.appendInt32(1474341323) } serializeInt32(duration, buffer: buffer, boxed: false) serializeString(mimeType, buffer: buffer, boxed: false) serializeInt32(size, buffer: buffer, boxed: false) serializeBytes(key, buffer: buffer, boxed: false) serializeBytes(iv, buffer: buffer, boxed: false) break case .decryptedMessageMediaExternalDocument(let id, let accessHash, let date, let mimeType, let size, let thumb, let dcId, let attributes): if boxed { buffer.appendInt32(-90853155) } serializeInt64(id, buffer: buffer, boxed: false) serializeInt64(accessHash, buffer: buffer, boxed: false) serializeInt32(date, buffer: buffer, boxed: false) serializeString(mimeType, buffer: buffer, boxed: false) serializeInt32(size, buffer: buffer, boxed: false) thumb.serialize(buffer, true) serializeInt32(dcId, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(attributes.count)) for item in attributes { item.serialize(buffer, true) } break case .decryptedMessageMediaPhoto(let thumb, let thumbW, let thumbH, let w, let h, let size, let key, let iv, let caption): if boxed { buffer.appendInt32(-235238024) } serializeBytes(thumb, buffer: buffer, boxed: false) serializeInt32(thumbW, buffer: buffer, boxed: false) serializeInt32(thumbH, buffer: buffer, boxed: false) serializeInt32(w, buffer: buffer, boxed: false) serializeInt32(h, buffer: buffer, boxed: false) serializeInt32(size, buffer: buffer, boxed: false) serializeBytes(key, buffer: buffer, boxed: false) serializeBytes(iv, buffer: buffer, boxed: false) serializeString(caption, buffer: buffer, boxed: false) break case .decryptedMessageMediaDocument(let thumb, let thumbW, let thumbH, let mimeType, let size, let key, let iv, let attributes, let caption): if boxed { buffer.appendInt32(2063502050) } serializeBytes(thumb, buffer: buffer, boxed: false) serializeInt32(thumbW, buffer: buffer, boxed: false) serializeInt32(thumbH, buffer: buffer, boxed: false) serializeString(mimeType, buffer: buffer, boxed: false) serializeInt32(size, buffer: buffer, boxed: false) serializeBytes(key, buffer: buffer, boxed: false) serializeBytes(iv, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(attributes.count)) for item in attributes { item.serialize(buffer, true) } serializeString(caption, buffer: buffer, boxed: false) break case .decryptedMessageMediaVideo(let thumb, let thumbW, let thumbH, let duration, let mimeType, let w, let h, let size, let key, let iv, let caption): if boxed { buffer.appendInt32(-1760785394) } serializeBytes(thumb, buffer: buffer, boxed: false) serializeInt32(thumbW, buffer: buffer, boxed: false) serializeInt32(thumbH, buffer: buffer, boxed: false) serializeInt32(duration, buffer: buffer, boxed: false) serializeString(mimeType, buffer: buffer, boxed: false) serializeInt32(w, buffer: buffer, boxed: false) serializeInt32(h, buffer: buffer, boxed: false) serializeInt32(size, buffer: buffer, boxed: false) serializeBytes(key, buffer: buffer, boxed: false) serializeBytes(iv, buffer: buffer, boxed: false) serializeString(caption, buffer: buffer, boxed: false) break case .decryptedMessageMediaVenue(let lat, let long, let title, let address, let provider, let venueId): if boxed { buffer.appendInt32(-1978796689) } serializeDouble(lat, buffer: buffer, boxed: false) serializeDouble(long, buffer: buffer, boxed: false) serializeString(title, buffer: buffer, boxed: false) serializeString(address, buffer: buffer, boxed: false) serializeString(provider, buffer: buffer, boxed: false) serializeString(venueId, buffer: buffer, boxed: false) break case .decryptedMessageMediaWebPage(let url): if boxed { buffer.appendInt32(-452652584) } serializeString(url, buffer: buffer, boxed: false) break } } fileprivate static func parse_decryptedMessageMediaEmpty(_ reader: BufferReader) -> DecryptedMessageMedia? { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaEmpty } fileprivate static func parse_decryptedMessageMediaGeoPoint(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: Double? _1 = reader.readDouble() var _2: Double? _2 = reader.readDouble() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaGeoPoint(lat: _1!, long: _2!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaContact(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: String? _1 = parseString(reader) var _2: String? _2 = parseString(reader) var _3: String? _3 = parseString(reader) var _4: Int32? _4 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil if _c1 && _c2 && _c3 && _c4 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaContact(phoneNumber: _1!, firstName: _2!, lastName: _3!, userId: _4!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaAudio(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: Int32? _1 = reader.readInt32() var _2: String? _2 = parseString(reader) var _3: Int32? _3 = reader.readInt32() var _4: Buffer? _4 = parseBytes(reader) var _5: Buffer? _5 = parseBytes(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaAudio(duration: _1!, mimeType: _2!, size: _3!, key: _4!, iv: _5!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaExternalDocument(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: Int64? _1 = reader.readInt64() var _2: Int64? _2 = reader.readInt64() var _3: Int32? _3 = reader.readInt32() var _4: String? _4 = parseString(reader) var _5: Int32? _5 = reader.readInt32() var _6: SecretApi101.PhotoSize? if let signature = reader.readInt32() { _6 = SecretApi101.parse(reader, signature: signature) as? SecretApi101.PhotoSize } var _7: Int32? _7 = reader.readInt32() var _8: [SecretApi101.DocumentAttribute]? if let _ = reader.readInt32() { _8 = SecretApi101.parseVector(reader, elementSignature: 0, elementType: SecretApi101.DocumentAttribute.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil let _c8 = _8 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaExternalDocument(id: _1!, accessHash: _2!, date: _3!, mimeType: _4!, size: _5!, thumb: _6!, dcId: _7!, attributes: _8!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaPhoto(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: Buffer? _1 = parseBytes(reader) var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = reader.readInt32() var _5: Int32? _5 = reader.readInt32() var _6: Int32? _6 = reader.readInt32() var _7: Buffer? _7 = parseBytes(reader) var _8: Buffer? _8 = parseBytes(reader) var _9: String? _9 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil let _c8 = _8 != nil let _c9 = _9 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaPhoto(thumb: _1!, thumbW: _2!, thumbH: _3!, w: _4!, h: _5!, size: _6!, key: _7!, iv: _8!, caption: _9!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaDocument(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: Buffer? _1 = parseBytes(reader) var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: String? _4 = parseString(reader) var _5: Int32? _5 = reader.readInt32() var _6: Buffer? _6 = parseBytes(reader) var _7: Buffer? _7 = parseBytes(reader) var _8: [SecretApi101.DocumentAttribute]? if let _ = reader.readInt32() { _8 = SecretApi101.parseVector(reader, elementSignature: 0, elementType: SecretApi101.DocumentAttribute.self) } var _9: String? _9 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil let _c8 = _8 != nil let _c9 = _9 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaDocument(thumb: _1!, thumbW: _2!, thumbH: _3!, mimeType: _4!, size: _5!, key: _6!, iv: _7!, attributes: _8!, caption: _9!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaVideo(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: Buffer? _1 = parseBytes(reader) var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = reader.readInt32() var _5: String? _5 = parseString(reader) var _6: Int32? _6 = reader.readInt32() var _7: Int32? _7 = reader.readInt32() var _8: Int32? _8 = reader.readInt32() var _9: Buffer? _9 = parseBytes(reader) var _10: Buffer? _10 = parseBytes(reader) var _11: String? _11 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil let _c8 = _8 != nil let _c9 = _9 != nil let _c10 = _10 != nil let _c11 = _11 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaVideo(thumb: _1!, thumbW: _2!, thumbH: _3!, duration: _4!, mimeType: _5!, w: _6!, h: _7!, size: _8!, key: _9!, iv: _10!, caption: _11!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaVenue(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: Double? _1 = reader.readDouble() var _2: Double? _2 = reader.readDouble() var _3: String? _3 = parseString(reader) var _4: String? _4 = parseString(reader) var _5: String? _5 = parseString(reader) var _6: String? _6 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaVenue(lat: _1!, long: _2!, title: _3!, address: _4!, provider: _5!, venueId: _6!) } else { return nil } } fileprivate static func parse_decryptedMessageMediaWebPage(_ reader: BufferReader) -> DecryptedMessageMedia? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return SecretApi101.DecryptedMessageMedia.decryptedMessageMediaWebPage(url: _1!) } else { return nil } } } public struct functions { } }