diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/Example/MUXSDKIMATVOSExample/AppDelegate.swift b/Example/MUXSDKIMATVOSExample/AppDelegate.swift
new file mode 100644
index 0000000..2f0b82b
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/AppDelegate.swift
@@ -0,0 +1,41 @@
+//
+// AppDelegate.swift
+// MUXSDKIMATVOSExample
+//
+// Created by AJ Barinov on 9/1/23.
+// Copyright © 2023 Dylan Jhaveri. All rights reserved.
+//
+
+import UIKit
+
+@main
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+ var window: UIWindow?
+
+
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+ // Override point for customization after application launch.
+ return true
+ }
+
+ func applicationWillResignActive(_ application: UIApplication) {
+ // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+ }
+
+ func applicationDidEnterBackground(_ application: UIApplication) {
+ // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ }
+
+ func applicationWillEnterForeground(_ application: UIApplication) {
+ // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
+ }
+
+ func applicationDidBecomeActive(_ application: UIApplication) {
+ // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+ }
+
+
+}
+
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/AccentColor.colorset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/AccentColor.colorset/Contents.json
new file mode 100644
index 0000000..eb87897
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/AccentColor.colorset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "colors" : [
+ {
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
new file mode 100644
index 0000000..2e00335
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json
new file mode 100644
index 0000000..de59d88
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json
@@ -0,0 +1,17 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "layers" : [
+ {
+ "filename" : "Front.imagestacklayer"
+ },
+ {
+ "filename" : "Middle.imagestacklayer"
+ },
+ {
+ "filename" : "Back.imagestacklayer"
+ }
+ ]
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
new file mode 100644
index 0000000..2e00335
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
new file mode 100644
index 0000000..2e00335
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
@@ -0,0 +1,11 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
new file mode 100644
index 0000000..795cce1
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json
@@ -0,0 +1,16 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "tv",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json
new file mode 100644
index 0000000..de59d88
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json
@@ -0,0 +1,17 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "layers" : [
+ {
+ "filename" : "Front.imagestacklayer"
+ },
+ {
+ "filename" : "Middle.imagestacklayer"
+ },
+ {
+ "filename" : "Back.imagestacklayer"
+ }
+ ]
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
new file mode 100644
index 0000000..795cce1
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json
@@ -0,0 +1,16 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "tv",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
new file mode 100644
index 0000000..795cce1
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json
@@ -0,0 +1,16 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "tv",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json
new file mode 100644
index 0000000..f47ba43
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json
@@ -0,0 +1,32 @@
+{
+ "assets" : [
+ {
+ "filename" : "App Icon - App Store.imagestack",
+ "idiom" : "tv",
+ "role" : "primary-app-icon",
+ "size" : "1280x768"
+ },
+ {
+ "filename" : "App Icon.imagestack",
+ "idiom" : "tv",
+ "role" : "primary-app-icon",
+ "size" : "400x240"
+ },
+ {
+ "filename" : "Top Shelf Image Wide.imageset",
+ "idiom" : "tv",
+ "role" : "top-shelf-image-wide",
+ "size" : "2320x720"
+ },
+ {
+ "filename" : "Top Shelf Image.imageset",
+ "idiom" : "tv",
+ "role" : "top-shelf-image",
+ "size" : "1920x720"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json
new file mode 100644
index 0000000..795cce1
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json
@@ -0,0 +1,16 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "tv",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json
new file mode 100644
index 0000000..795cce1
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json
@@ -0,0 +1,16 @@
+{
+ "images" : [
+ {
+ "idiom" : "tv",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "tv",
+ "scale" : "2x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/Base.lproj/LaunchScreen.storyboard b/Example/MUXSDKIMATVOSExample/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 0000000..660ba53
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example/MUXSDKIMATVOSExample/Base.lproj/Main.storyboard b/Example/MUXSDKIMATVOSExample/Base.lproj/Main.storyboard
new file mode 100644
index 0000000..c277013
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/Base.lproj/Main.storyboard
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example/MUXSDKIMATVOSExample/ProcessInfo+Data.swift b/Example/MUXSDKIMATVOSExample/ProcessInfo+Data.swift
new file mode 100644
index 0000000..9a150b2
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/ProcessInfo+Data.swift
@@ -0,0 +1,15 @@
+//
+// ProcessInfo+Data.swift
+// MUXSDKIMATVOSExample
+//
+// Created by AJ Barinov on 9/6/23.
+// Copyright © 2023 Dylan Jhaveri. All rights reserved.
+//
+
+import Foundation
+
+extension ProcessInfo {
+ var environmentKey: String {
+ environment["MUX_ENVIRONMENT_KEY"] ?? ""
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExample/ViewController.swift b/Example/MUXSDKIMATVOSExample/ViewController.swift
new file mode 100644
index 0000000..371fae1
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExample/ViewController.swift
@@ -0,0 +1,185 @@
+//
+// ViewController.swift
+// MUXSDKIMATVOSExample
+//
+
+import AVFoundation
+import GoogleInteractiveMediaAds
+import Mux_Stats_Google_IMA
+import UIKit
+
+class ViewController: UIViewController, IMAAdsLoaderDelegate, IMAAdsManagerDelegate {
+ static let ContentURLString =
+ "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_fmp4/master.m3u8" //NOLINT
+ static let AdTagURLString =
+ "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=" //NOLINT
+
+ var adsLoader: IMAAdsLoader!
+ var adDisplayContainer: IMAAdDisplayContainer!
+ var adsManager: IMAAdsManager!
+ var contentPlayhead: IMAAVPlayerContentPlayhead?
+ var playerViewController: AVPlayerViewController!
+ var adBreakActive = false
+ var playerBinding: MUXSDKPlayerBinding?
+ var imaListener: MuxImaListener?
+
+ deinit {
+ NotificationCenter.default.removeObserver(self)
+ }
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ self.view.backgroundColor = UIColor.black
+ setUpContentPlayer()
+ setUpAdsLoader()
+ }
+
+ override func viewDidAppear(_ animated: Bool) {
+ super.viewDidAppear(animated)
+ requestAds()
+ }
+
+ func setUpContentPlayer() {
+ // Load AVPlayer with path to our content.
+ let contentURL = URL(string: ViewController.ContentURLString)!
+ let player = AVPlayer(url: contentURL)
+ playerViewController = AVPlayerViewController()
+ playerViewController.player = player
+
+ // Set up our content playhead and contentComplete callback.
+ contentPlayhead = IMAAVPlayerContentPlayhead(avPlayer: player)
+ NotificationCenter.default.addObserver(
+ self,
+ selector: #selector(ViewController.contentDidFinishPlaying(_:)),
+ name: NSNotification.Name.AVPlayerItemDidPlayToEndTime,
+ object: player.currentItem)
+
+ showContentPlayer()
+ }
+
+ func showContentPlayer() {
+ self.addChild(playerViewController)
+ playerViewController.view.frame = self.view.bounds
+ self.view.insertSubview(playerViewController.view, at: 0)
+ playerViewController.didMove(toParent: self)
+ }
+
+ func hideContentPlayer() {
+ // The whole controller needs to be detached so that it doesn't capture resume
+ // events from the remote and play content underneath the ad.
+ playerViewController.willMove(toParent: nil)
+ playerViewController.view.removeFromSuperview()
+ playerViewController.removeFromParent()
+ }
+
+ func setUpAdsLoader() {
+ adsLoader = IMAAdsLoader(settings: nil)
+ adsLoader.delegate = self
+ }
+
+ func requestAds() {
+ // Create ad display container for ad rendering.
+ adDisplayContainer = IMAAdDisplayContainer(adContainer: self.view, viewController: self)
+ // Create an ad request with our ad tag, display container, and optional user context.
+ let request = IMAAdsRequest(
+ adTagUrl: ViewController.AdTagURLString,
+ adDisplayContainer: adDisplayContainer,
+ contentPlayhead: contentPlayhead,
+ userContext: nil)
+
+ adsLoader.requestAds(with: request)
+ }
+
+ @objc func contentDidFinishPlaying(_ notification: Notification) {
+ adsLoader.contentComplete()
+ }
+
+ // MARK: - UIFocusEnvironment
+
+ override var preferredFocusEnvironments: [UIFocusEnvironment] {
+ if adBreakActive, let adFocusEnvironment = adDisplayContainer?.focusEnvironment {
+ // Send focus to the ad display container during an ad break.
+ return [adFocusEnvironment]
+ } else {
+ // Send focus to the content player otherwise.
+ return [playerViewController]
+ }
+ }
+
+ // MARK: - IMAAdsLoaderDelegate
+
+ func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) {
+ // Grab the instance of the IMAAdsManager and set ourselves as the delegate.
+ adsManager = adsLoadedData.adsManager
+ adsManager.delegate = self
+ adsManager.initialize(with: nil)
+ }
+
+ func adsLoader(_ loader: IMAAdsLoader!, failedWith adErrorData: IMAAdLoadingErrorData!) {
+ print("Error loading ads: \(adErrorData.adError.message)")
+ showContentPlayer()
+ playerViewController.player?.play()
+ }
+
+ // MARK: - IMAAdsManagerDelegate
+
+ func adsManager(_ adsManager: IMAAdsManager!, didReceive event: IMAAdEvent!) {
+ switch event.type {
+ case IMAAdEventType.LOADED:
+ // Play each ad once it has been loaded.
+ adsManager.start()
+ case IMAAdEventType.ICON_FALLBACK_IMAGE_CLOSED:
+ // Resume playback after the user has closed the dialog.
+ adsManager.resume()
+ default:
+ break
+ }
+ }
+
+ func adsManager(_ adsManager: IMAAdsManager!, didReceive error: IMAAdError!) {
+ // Fall back to playing content
+ print("AdsManager error: \(error.message)")
+ showContentPlayer()
+ playerViewController.player?.play()
+ }
+
+ func adsManagerDidRequestContentPause(_ adsManager: IMAAdsManager!) {
+ // Pause the content for the SDK to play ads.
+ playerViewController.player?.pause()
+ hideContentPlayer()
+ // Trigger an update to send focus to the ad display container.
+ adBreakActive = true
+ setNeedsFocusUpdate()
+ }
+
+ func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager!) {
+ // Resume the content since the SDK is done playing ads (at least for now).
+ showContentPlayer()
+ playerViewController.player?.play()
+ // Trigger an update to send focus to the content player.
+ adBreakActive = false
+ setNeedsFocusUpdate()
+ }
+}
+
+extension ViewController {
+
+ var demoPlayerName: String {
+ "adplayer"
+ }
+
+ func setUpMux(player: AVPlayer) {
+ // Basic Data
+ let envKey = ProcessInfo.processInfo.environmentKey
+ let customerPlayerData = MUXSDKCustomerPlayerData(environmentKey: envKey)
+ let customerVideoData = MUXSDKCustomerVideoData()
+ customerVideoData.videoTitle = "Mux Data IMA SDK Test"
+ let customerData = MUXSDKCustomerData(customerPlayerData: customerPlayerData, videoData: customerVideoData, viewData: nil, customData: nil)!
+ let playerBinding = MUXSDKStats.monitorAVPlayerViewController(playerViewController, withPlayerName: demoPlayerName, customerData: customerData)!
+ self.playerBinding = playerBinding
+
+ // IMA Ads
+ imaListener = MuxImaListener(playerBinding: playerBinding)
+ }
+
+}
diff --git a/Example/MUXSDKIMATVOSExampleTests/MUXSDKIMATVOSExampleTests.swift b/Example/MUXSDKIMATVOSExampleTests/MUXSDKIMATVOSExampleTests.swift
new file mode 100644
index 0000000..b4627d5
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExampleTests/MUXSDKIMATVOSExampleTests.swift
@@ -0,0 +1,37 @@
+//
+// MUXSDKIMATVOSExampleTests.swift
+// MUXSDKIMATVOSExampleTests
+//
+// Created by AJ Barinov on 9/1/23.
+// Copyright © 2023 Dylan Jhaveri. All rights reserved.
+//
+
+import XCTest
+@testable import MUXSDKIMATVOSExample
+
+final class MUXSDKIMATVOSExampleTests: XCTestCase {
+
+ override func setUpWithError() throws {
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+ }
+
+ override func tearDownWithError() throws {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ }
+
+ func testExample() throws {
+ // This is an example of a functional test case.
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ // Any test you write for XCTest can be annotated as throws and async.
+ // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error.
+ // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards.
+ }
+
+ func testPerformanceExample() throws {
+ // This is an example of a performance test case.
+ self.measure {
+ // Put the code you want to measure the time of here.
+ }
+ }
+
+}
diff --git a/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITests.swift b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITests.swift
new file mode 100644
index 0000000..dff5d97
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITests.swift
@@ -0,0 +1,42 @@
+//
+// MUXSDKIMATVOSExampleUITests.swift
+// MUXSDKIMATVOSExampleUITests
+//
+// Created by AJ Barinov on 9/1/23.
+// Copyright © 2023 Dylan Jhaveri. All rights reserved.
+//
+
+import XCTest
+
+final class MUXSDKIMATVOSExampleUITests: XCTestCase {
+
+ override func setUpWithError() throws {
+ // Put setup code here. This method is called before the invocation of each test method in the class.
+
+ // In UI tests it is usually best to stop immediately when a failure occurs.
+ continueAfterFailure = false
+
+ // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
+ }
+
+ override func tearDownWithError() throws {
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
+ }
+
+ func testExample() throws {
+ // UI tests must launch the application that they test.
+ let app = XCUIApplication()
+ app.launch()
+
+ // Use XCTAssert and related functions to verify your tests produce the correct results.
+ }
+
+ func testLaunchPerformance() throws {
+ if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
+ // This measures how long it takes to launch your application.
+ measure(metrics: [XCTApplicationLaunchMetric()]) {
+ XCUIApplication().launch()
+ }
+ }
+ }
+}
diff --git a/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITestsLaunchTests.swift b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITestsLaunchTests.swift
new file mode 100644
index 0000000..3a4f8f2
--- /dev/null
+++ b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITestsLaunchTests.swift
@@ -0,0 +1,33 @@
+//
+// MUXSDKIMATVOSExampleUITestsLaunchTests.swift
+// MUXSDKIMATVOSExampleUITests
+//
+// Created by AJ Barinov on 9/1/23.
+// Copyright © 2023 Dylan Jhaveri. All rights reserved.
+//
+
+import XCTest
+
+final class MUXSDKIMATVOSExampleUITestsLaunchTests: XCTestCase {
+
+ override class var runsForEachTargetApplicationUIConfiguration: Bool {
+ true
+ }
+
+ override func setUpWithError() throws {
+ continueAfterFailure = false
+ }
+
+ func testLaunch() throws {
+ let app = XCUIApplication()
+ app.launch()
+
+ // Insert steps here to perform after app launch but before taking a screenshot,
+ // such as logging into a test account or navigating somewhere in the app
+
+ let attachment = XCTAttachment(screenshot: app.screenshot())
+ attachment.name = "Launch Screen"
+ attachment.lifetime = .keepAlways
+ add(attachment)
+ }
+}
diff --git a/Example/MUXSDKImaListener.xcodeproj/project.pbxproj b/Example/MUXSDKImaListener.xcodeproj/project.pbxproj
index 0b18464..72989cd 100644
--- a/Example/MUXSDKImaListener.xcodeproj/project.pbxproj
+++ b/Example/MUXSDKImaListener.xcodeproj/project.pbxproj
@@ -7,7 +7,23 @@
objects = {
/* Begin PBXBuildFile section */
- 2EB8A772BB334504B56FEEEA /* Pods_DemoApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D09D3E8D806CDFC71C5F74BB /* Pods_DemoApp.framework */; };
+ 0C76C8046958ED533397724F /* Pods_DemoApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1517B123C19279FC01A3618B /* Pods_DemoApp.framework */; };
+ 197727102AA278EF002BA06E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977270F2AA278EF002BA06E /* AppDelegate.swift */; };
+ 197727122AA278EF002BA06E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727112AA278EF002BA06E /* ViewController.swift */; };
+ 197727152AA278EF002BA06E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 197727132AA278EF002BA06E /* Main.storyboard */; };
+ 197727172AA278F0002BA06E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 197727162AA278F0002BA06E /* Assets.xcassets */; };
+ 1977271A2AA278F0002BA06E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 197727182AA278F0002BA06E /* LaunchScreen.storyboard */; };
+ 197727242AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727232AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift */; };
+ 1977272E2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977272D2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift */; };
+ 197727302AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977272F2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift */; };
+ 197727432AA90A44002BA06E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977273B2AA90A44002BA06E /* ViewController.swift */; };
+ 197727442AA90A44002BA06E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1977273C2AA90A44002BA06E /* Assets.xcassets */; };
+ 197727452AA90A44002BA06E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1977273D2AA90A44002BA06E /* LaunchScreen.storyboard */; };
+ 197727462AA90A44002BA06E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1977273F2AA90A44002BA06E /* Main.storyboard */; };
+ 197727472AA90A44002BA06E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727402AA90A44002BA06E /* AppDelegate.swift */; };
+ 197727482AA90A44002BA06E /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 197727412AA90A44002BA06E /* Info.plist */; };
+ 197727492AA90A44002BA06E /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727422AA90A44002BA06E /* SceneDelegate.swift */; };
+ 1977274B2AA90A60002BA06E /* ProcessInfo+Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977274A2AA90A60002BA06E /* ProcessInfo+Data.swift */; };
351790AB293822A100ABBCC9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351790AA293822A100ABBCC9 /* AppDelegate.swift */; };
351790AD293822A100ABBCC9 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351790AC293822A100ABBCC9 /* SceneDelegate.swift */; };
351790AF293822A100ABBCC9 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351790AE293822A100ABBCC9 /* ViewController.swift */; };
@@ -19,11 +35,26 @@
6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; };
- 6B7D4A91F28543CC1BC0E262 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83C954B7F70759F3E0B8AF2F /* Pods_MUXSDKImaListener_Tests.framework */; };
+ C46185AE8C337A6B5C3EE6A7 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A550E92A5D6744EE3777FE90 /* Pods_MUXSDKImaListener_Tests.framework */; };
+ D98CCBC2F1A09F625748EAFA /* Pods_MUXSDKIMATVOSExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2E9E4860B25768A4D9DEFFD /* Pods_MUXSDKIMATVOSExample.framework */; };
FA0DE2BB232AF707000D2CD2 /* MuxImaListener_Test.m in Sources */ = {isa = PBXBuildFile; fileRef = FA0DE2BA232AF707000D2CD2 /* MuxImaListener_Test.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
+ 197727202AA278F0002BA06E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 6003F582195388D10070C39A /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 1977270C2AA278EF002BA06E;
+ remoteInfo = MUXSDKIMATVOSExample;
+ };
+ 1977272A2AA278F0002BA06E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 6003F582195388D10070C39A /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 1977270C2AA278EF002BA06E;
+ remoteInfo = MUXSDKIMATVOSExample;
+ };
351790BE293822A200ABBCC9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 6003F582195388D10070C39A /* Project object */;
@@ -41,6 +72,28 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
+ 05003F81541AEB36E66885F8 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.release.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig"; sourceTree = ""; };
+ 1517B123C19279FC01A3618B /* Pods_DemoApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DemoApp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1977270D2AA278EF002BA06E /* MUXSDKIMATVOSExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MUXSDKIMATVOSExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1977270F2AA278EF002BA06E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 197727112AA278EF002BA06E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 197727142AA278EF002BA06E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
+ 197727162AA278F0002BA06E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 197727192AA278F0002BA06E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 1977271F2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MUXSDKIMATVOSExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 197727232AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MUXSDKIMATVOSExampleTests.swift; sourceTree = ""; };
+ 197727292AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MUXSDKIMATVOSExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1977272D2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MUXSDKIMATVOSExampleUITests.swift; sourceTree = ""; };
+ 1977272F2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MUXSDKIMATVOSExampleUITestsLaunchTests.swift; sourceTree = ""; };
+ 1977273B2AA90A44002BA06E /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 1977273C2AA90A44002BA06E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 1977273E2AA90A44002BA06E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 1977273F2AA90A44002BA06E /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; };
+ 197727402AA90A44002BA06E /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 197727412AA90A44002BA06E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 197727422AA90A44002BA06E /* SceneDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; };
+ 1977274A2AA90A60002BA06E /* ProcessInfo+Data.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProcessInfo+Data.swift"; sourceTree = ""; };
+ 1FE0B0FF920B554E87D7A8CC /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKIMATVOSExample.debug.xcconfig"; path = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.debug.xcconfig"; sourceTree = ""; };
351790A8293822A000ABBCC9 /* DemoApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DemoApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
351790AA293822A100ABBCC9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
351790AC293822A100ABBCC9 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; };
@@ -52,6 +105,8 @@
351790C7293822A200ABBCC9 /* DemoAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DemoAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
351790CB293822A200ABBCC9 /* DemoAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoAppUITests.swift; sourceTree = ""; };
351790D82939012600ABBCC9 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; };
+ 36798F22E9BA1DC2230B4E96 /* Pods-DemoApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.debug.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig"; sourceTree = ""; };
+ 3FCFF241547AAF95D4744777 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.debug.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig"; sourceTree = ""; };
43EC73AD1AC164365E352A1C /* Mux-Stats-Google-IMA.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = "Mux-Stats-Google-IMA.podspec"; path = "../Mux-Stats-Google-IMA.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
@@ -61,23 +116,43 @@
6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; };
6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; };
- 83C954B7F70759F3E0B8AF2F /* Pods_MUXSDKImaListener_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MUXSDKImaListener_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 9725EFBE4ACC79D7A44618A9 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.debug.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig"; sourceTree = ""; };
+ 6D8EB7663E20D581B6F63A7F /* Pods-MUXSDKIMATVOSExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKIMATVOSExample.release.xcconfig"; path = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.release.xcconfig"; sourceTree = ""; };
+ A550E92A5D6744EE3777FE90 /* Pods_MUXSDKImaListener_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MUXSDKImaListener_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
ADF4605B56F017F8453719DF /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
- CF75D88C650A9DE0EA1CCD59 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.release.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig"; sourceTree = ""; };
- D09D3E8D806CDFC71C5F74BB /* Pods_DemoApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DemoApp.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ CC8F8A2EBF4933D05DBDA71A /* Pods-DemoApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.release.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig"; sourceTree = ""; };
+ D2E9E4860B25768A4D9DEFFD /* Pods_MUXSDKIMATVOSExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MUXSDKIMATVOSExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
DA374CB46C9E95D16EA14492 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
- F7A376C31E8BB5ACBFCB2AC3 /* Pods-DemoApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.release.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig"; sourceTree = ""; };
FA0DE2BA232AF707000D2CD2 /* MuxImaListener_Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MuxImaListener_Test.m; sourceTree = ""; };
- FD641F8B32195A6E7574949E /* Pods-DemoApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.debug.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
+ 1977270A2AA278EF002BA06E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D98CCBC2F1A09F625748EAFA /* Pods_MUXSDKIMATVOSExample.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1977271C2AA278F0002BA06E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 197727262AA278F0002BA06E /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
351790A5293822A000ABBCC9 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 2EB8A772BB334504B56FEEEA /* Pods_DemoApp.framework in Frameworks */,
+ 0C76C8046958ED533397724F /* Pods_DemoApp.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -102,19 +177,64 @@
6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */,
6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */,
6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */,
- 6B7D4A91F28543CC1BC0E262 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */,
+ C46185AE8C337A6B5C3EE6A7 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 1977270E2AA278EF002BA06E /* MUXSDKIMATVOSExample */ = {
+ isa = PBXGroup;
+ children = (
+ 1977270F2AA278EF002BA06E /* AppDelegate.swift */,
+ 197727112AA278EF002BA06E /* ViewController.swift */,
+ 1977274A2AA90A60002BA06E /* ProcessInfo+Data.swift */,
+ 197727132AA278EF002BA06E /* Main.storyboard */,
+ 197727162AA278F0002BA06E /* Assets.xcassets */,
+ 197727182AA278F0002BA06E /* LaunchScreen.storyboard */,
+ );
+ path = MUXSDKIMATVOSExample;
+ sourceTree = "";
+ };
+ 197727222AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */ = {
+ isa = PBXGroup;
+ children = (
+ 197727232AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift */,
+ );
+ path = MUXSDKIMATVOSExampleTests;
+ sourceTree = "";
+ };
+ 1977272C2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */ = {
+ isa = PBXGroup;
+ children = (
+ 1977272D2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift */,
+ 1977272F2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift */,
+ );
+ path = MUXSDKIMATVOSExampleUITests;
+ sourceTree = "";
+ };
+ 1977273A2AA90A44002BA06E /* DemoApp */ = {
+ isa = PBXGroup;
+ children = (
+ 1977273B2AA90A44002BA06E /* ViewController.swift */,
+ 1977273C2AA90A44002BA06E /* Assets.xcassets */,
+ 1977273D2AA90A44002BA06E /* LaunchScreen.storyboard */,
+ 1977273F2AA90A44002BA06E /* Main.storyboard */,
+ 197727402AA90A44002BA06E /* AppDelegate.swift */,
+ 197727412AA90A44002BA06E /* Info.plist */,
+ 197727422AA90A44002BA06E /* SceneDelegate.swift */,
+ );
+ name = DemoApp;
+ sourceTree = "";
+ };
351790A9293822A100ABBCC9 /* DemoApp */ = {
isa = PBXGroup;
children = (
351790AA293822A100ABBCC9 /* AppDelegate.swift */,
351790AC293822A100ABBCC9 /* SceneDelegate.swift */,
351790AE293822A100ABBCC9 /* ViewController.swift */,
+ 1977273A2AA90A44002BA06E /* DemoApp */,
351790D82939012600ABBCC9 /* Main.storyboard */,
351790B3293822A200ABBCC9 /* Assets.xcassets */,
351790B5293822A200ABBCC9 /* LaunchScreen.storyboard */,
@@ -138,6 +258,9 @@
6003F5B5195388D20070C39A /* Tests */,
351790A9293822A100ABBCC9 /* DemoApp */,
351790CA293822A200ABBCC9 /* DemoAppUITests */,
+ 1977270E2AA278EF002BA06E /* MUXSDKIMATVOSExample */,
+ 197727222AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */,
+ 1977272C2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */,
6003F58C195388D20070C39A /* Frameworks */,
6003F58B195388D20070C39A /* Products */,
C0B2674DF2815E5727535C40 /* Pods */,
@@ -151,6 +274,9 @@
351790A8293822A000ABBCC9 /* DemoApp.app */,
351790BD293822A200ABBCC9 /* DemoAppTests.xctest */,
351790C7293822A200ABBCC9 /* DemoAppUITests.xctest */,
+ 1977270D2AA278EF002BA06E /* MUXSDKIMATVOSExample.app */,
+ 1977271F2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.xctest */,
+ 197727292AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.xctest */,
);
name = Products;
sourceTree = "";
@@ -162,8 +288,9 @@
6003F58F195388D20070C39A /* CoreGraphics.framework */,
6003F591195388D20070C39A /* UIKit.framework */,
6003F5AF195388D20070C39A /* XCTest.framework */,
- D09D3E8D806CDFC71C5F74BB /* Pods_DemoApp.framework */,
- 83C954B7F70759F3E0B8AF2F /* Pods_MUXSDKImaListener_Tests.framework */,
+ 1517B123C19279FC01A3618B /* Pods_DemoApp.framework */,
+ D2E9E4860B25768A4D9DEFFD /* Pods_MUXSDKIMATVOSExample.framework */,
+ A550E92A5D6744EE3777FE90 /* Pods_MUXSDKImaListener_Tests.framework */,
);
name = Frameworks;
sourceTree = "";
@@ -200,10 +327,12 @@
C0B2674DF2815E5727535C40 /* Pods */ = {
isa = PBXGroup;
children = (
- FD641F8B32195A6E7574949E /* Pods-DemoApp.debug.xcconfig */,
- F7A376C31E8BB5ACBFCB2AC3 /* Pods-DemoApp.release.xcconfig */,
- 9725EFBE4ACC79D7A44618A9 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */,
- CF75D88C650A9DE0EA1CCD59 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */,
+ 36798F22E9BA1DC2230B4E96 /* Pods-DemoApp.debug.xcconfig */,
+ CC8F8A2EBF4933D05DBDA71A /* Pods-DemoApp.release.xcconfig */,
+ 1FE0B0FF920B554E87D7A8CC /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */,
+ 6D8EB7663E20D581B6F63A7F /* Pods-MUXSDKIMATVOSExample.release.xcconfig */,
+ 3FCFF241547AAF95D4744777 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */,
+ 05003F81541AEB36E66885F8 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */,
);
path = Pods;
sourceTree = "";
@@ -211,15 +340,70 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
+ 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 197727372AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExample" */;
+ buildPhases = (
+ B79EED639328F4A8618E75D2 /* [CP] Check Pods Manifest.lock */,
+ 197727092AA278EF002BA06E /* Sources */,
+ 1977270A2AA278EF002BA06E /* Frameworks */,
+ 1977270B2AA278EF002BA06E /* Resources */,
+ 0B762E3C3CF4A8487047E798 /* [CP] Embed Pods Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = MUXSDKIMATVOSExample;
+ productName = MUXSDKIMATVOSExample;
+ productReference = 1977270D2AA278EF002BA06E /* MUXSDKIMATVOSExample.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 1977271E2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 197727382AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleTests" */;
+ buildPhases = (
+ 1977271B2AA278F0002BA06E /* Sources */,
+ 1977271C2AA278F0002BA06E /* Frameworks */,
+ 1977271D2AA278F0002BA06E /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 197727212AA278F0002BA06E /* PBXTargetDependency */,
+ );
+ name = MUXSDKIMATVOSExampleTests;
+ productName = MUXSDKIMATVOSExampleTests;
+ productReference = 1977271F2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+ 197727282AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 197727392AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleUITests" */;
+ buildPhases = (
+ 197727252AA278F0002BA06E /* Sources */,
+ 197727262AA278F0002BA06E /* Frameworks */,
+ 197727272AA278F0002BA06E /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 1977272B2AA278F0002BA06E /* PBXTargetDependency */,
+ );
+ name = MUXSDKIMATVOSExampleUITests;
+ productName = MUXSDKIMATVOSExampleUITests;
+ productReference = 197727292AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.xctest */;
+ productType = "com.apple.product-type.bundle.ui-testing";
+ };
351790A7293822A000ABBCC9 /* DemoApp */ = {
isa = PBXNativeTarget;
buildConfigurationList = 351790D5293822A200ABBCC9 /* Build configuration list for PBXNativeTarget "DemoApp" */;
buildPhases = (
- D2E8CCD3681911BB8DEBB97E /* [CP] Check Pods Manifest.lock */,
+ 58E7B6833E8CCE6418C0DAAF /* [CP] Check Pods Manifest.lock */,
351790A4293822A000ABBCC9 /* Sources */,
351790A5293822A000ABBCC9 /* Frameworks */,
351790A6293822A000ABBCC9 /* Resources */,
- 167DC1AFBAB11E25049EEC3C /* [CP] Embed Pods Frameworks */,
+ FA77FB19D0AD4044F938F332 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -270,11 +454,11 @@
isa = PBXNativeTarget;
buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "MUXSDKImaListener_Tests" */;
buildPhases = (
- B2370BDBECD26884AF8441AE /* [CP] Check Pods Manifest.lock */,
+ 47F63792A432C270058B7AD5 /* [CP] Check Pods Manifest.lock */,
6003F5AA195388D20070C39A /* Sources */,
6003F5AB195388D20070C39A /* Frameworks */,
6003F5AC195388D20070C39A /* Resources */,
- F2D087925B1A3796FFECD821 /* [CP] Embed Pods Frameworks */,
+ 725B1EDF9D687F462A19339C /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -292,10 +476,27 @@
isa = PBXProject;
attributes = {
CLASSPREFIX = MUX;
- LastSwiftUpdateCheck = 1410;
+ LastSwiftUpdateCheck = 1430;
LastUpgradeCheck = 0720;
ORGANIZATIONNAME = "Dylan Jhaveri";
TargetAttributes = {
+ 1977270C2AA278EF002BA06E = {
+ CreatedOnToolsVersion = 14.3.1;
+ DevelopmentTeam = XX95P4Y787;
+ ProvisioningStyle = Automatic;
+ };
+ 1977271E2AA278F0002BA06E = {
+ CreatedOnToolsVersion = 14.3.1;
+ DevelopmentTeam = XX95P4Y787;
+ ProvisioningStyle = Automatic;
+ TestTargetID = 1977270C2AA278EF002BA06E;
+ };
+ 197727282AA278F0002BA06E = {
+ CreatedOnToolsVersion = 14.3.1;
+ DevelopmentTeam = XX95P4Y787;
+ ProvisioningStyle = Automatic;
+ TestTargetID = 1977270C2AA278EF002BA06E;
+ };
351790A7293822A000ABBCC9 = {
CreatedOnToolsVersion = 14.1;
DevelopmentTeam = CX6AHWLHM6;
@@ -333,18 +534,49 @@
351790A7293822A000ABBCC9 /* DemoApp */,
351790BC293822A200ABBCC9 /* DemoAppTests */,
351790C6293822A200ABBCC9 /* DemoAppUITests */,
+ 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */,
+ 1977271E2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */,
+ 197727282AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
+ 1977270B2AA278EF002BA06E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1977271A2AA278F0002BA06E /* LaunchScreen.storyboard in Resources */,
+ 197727172AA278F0002BA06E /* Assets.xcassets in Resources */,
+ 197727152AA278EF002BA06E /* Main.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1977271D2AA278F0002BA06E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 197727272AA278F0002BA06E /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
351790A6293822A000ABBCC9 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
351790B7293822A200ABBCC9 /* LaunchScreen.storyboard in Resources */,
351790B4293822A200ABBCC9 /* Assets.xcassets in Resources */,
+ 197727442AA90A44002BA06E /* Assets.xcassets in Resources */,
+ 197727462AA90A44002BA06E /* Main.storyboard in Resources */,
+ 197727452AA90A44002BA06E /* LaunchScreen.storyboard in Resources */,
351790D92939012600ABBCC9 /* Main.storyboard in Resources */,
+ 197727482AA90A44002BA06E /* Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -373,31 +605,31 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
- 167DC1AFBAB11E25049EEC3C /* [CP] Embed Pods Frameworks */ = {
+ 0B762E3C3CF4A8487047E798 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds",
+ "${PODS_ROOT}/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-tvOS/Mux_Stats_Google_IMA.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework/MUXSDKStats",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework/MuxCore",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mux_Stats_Google_IMA.framework",
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MUXSDKStats.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MuxCore.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- B2370BDBECD26884AF8441AE /* [CP] Check Pods Manifest.lock */ = {
+ 47F63792A432C270058B7AD5 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -419,7 +651,7 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- D2E8CCD3681911BB8DEBB97E /* [CP] Check Pods Manifest.lock */ = {
+ 58E7B6833E8CCE6418C0DAAF /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -441,14 +673,14 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- F2D087925B1A3796FFECD821 /* [CP] Embed Pods Frameworks */ = {
+ 725B1EDF9D687F462A19339C /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh",
- "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework",
+ "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework",
"${BUILT_PRODUCTS_DIR}/Expecta/Expecta.framework",
"${BUILT_PRODUCTS_DIR}/Specta/Specta.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds",
@@ -469,16 +701,92 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
+ B79EED639328F4A8618E75D2 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-MUXSDKIMATVOSExample-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ FA77FB19D0AD4044F938F332 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework/MUXSDKStats",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework/MuxCore",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mux_Stats_Google_IMA.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MUXSDKStats.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MuxCore.framework",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
+ 197727092AA278EF002BA06E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1977274B2AA90A60002BA06E /* ProcessInfo+Data.swift in Sources */,
+ 197727122AA278EF002BA06E /* ViewController.swift in Sources */,
+ 197727102AA278EF002BA06E /* AppDelegate.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1977271B2AA278F0002BA06E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 197727242AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 197727252AA278F0002BA06E /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1977272E2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift in Sources */,
+ 197727302AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
351790A4293822A000ABBCC9 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
351790AF293822A100ABBCC9 /* ViewController.swift in Sources */,
351790AB293822A100ABBCC9 /* AppDelegate.swift in Sources */,
+ 197727432AA90A44002BA06E /* ViewController.swift in Sources */,
+ 197727472AA90A44002BA06E /* AppDelegate.swift in Sources */,
351790AD293822A100ABBCC9 /* SceneDelegate.swift in Sources */,
+ 197727492AA90A44002BA06E /* SceneDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -508,6 +816,16 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
+ 197727212AA278F0002BA06E /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */;
+ targetProxy = 197727202AA278F0002BA06E /* PBXContainerItemProxy */;
+ };
+ 1977272B2AA278F0002BA06E /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */;
+ targetProxy = 1977272A2AA278F0002BA06E /* PBXContainerItemProxy */;
+ };
351790BF293822A200ABBCC9 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 351790A7293822A000ABBCC9 /* DemoApp */;
@@ -521,6 +839,30 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
+ 197727132AA278EF002BA06E /* Main.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 197727142AA278EF002BA06E /* Base */,
+ );
+ name = Main.storyboard;
+ sourceTree = "";
+ };
+ 197727182AA278F0002BA06E /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 197727192AA278F0002BA06E /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
+ 1977273D2AA90A44002BA06E /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 1977273E2AA90A44002BA06E /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
351790B5293822A200ABBCC9 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
@@ -540,9 +882,297 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
+ 197727312AA278F0002BA06E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 1FE0B0FF920B554E87D7A8CC /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ DEVELOPMENT_TEAM = XX95P4Y787;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
+ INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UIUserInterfaceStyle = Automatic;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExample;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TVOS_DEPLOYMENT_TARGET = 16.4;
+ };
+ name = Debug;
+ };
+ 197727322AA278F0002BA06E /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 6D8EB7663E20D581B6F63A7F /* Pods-MUXSDKIMATVOSExample.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_STYLE = Automatic;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DEVELOPMENT_TEAM = XX95P4Y787;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
+ INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UIUserInterfaceStyle = Automatic;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExample;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TVOS_DEPLOYMENT_TARGET = 16.4;
+ };
+ name = Release;
+ };
+ 197727332AA278F0002BA06E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ DEVELOPMENT_TEAM = XX95P4Y787;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_EMIT_LOC_STRINGS = NO;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MUXSDKIMATVOSExample.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MUXSDKIMATVOSExample";
+ TVOS_DEPLOYMENT_TARGET = 16.4;
+ };
+ name = Debug;
+ };
+ 197727342AA278F0002BA06E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_STYLE = Automatic;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DEVELOPMENT_TEAM = XX95P4Y787;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_EMIT_LOC_STRINGS = NO;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MUXSDKIMATVOSExample.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MUXSDKIMATVOSExample";
+ TVOS_DEPLOYMENT_TARGET = 16.4;
+ };
+ name = Release;
+ };
+ 197727352AA278F0002BA06E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ DEVELOPMENT_TEAM = XX95P4Y787;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleUITests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_EMIT_LOC_STRINGS = NO;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TEST_TARGET_NAME = MUXSDKIMATVOSExample;
+ TVOS_DEPLOYMENT_TARGET = 16.4;
+ };
+ name = Debug;
+ };
+ 197727362AA278F0002BA06E /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CODE_SIGN_STYLE = Automatic;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DEVELOPMENT_TEAM = XX95P4Y787;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleUITests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = appletvos;
+ SWIFT_EMIT_LOC_STRINGS = NO;
+ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = 3;
+ TEST_TARGET_NAME = MUXSDKIMATVOSExample;
+ TVOS_DEPLOYMENT_TARGET = 16.4;
+ };
+ name = Release;
+ };
351790CF293822A200ABBCC9 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = FD641F8B32195A6E7574949E /* Pods-DemoApp.debug.xcconfig */;
+ baseConfigurationReference = 36798F22E9BA1DC2230B4E96 /* Pods-DemoApp.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -595,7 +1225,7 @@
};
351790D0293822A200ABBCC9 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = F7A376C31E8BB5ACBFCB2AC3 /* Pods-DemoApp.release.xcconfig */;
+ baseConfigurationReference = CC8F8A2EBF4933D05DBDA71A /* Pods-DemoApp.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ -905,7 +1535,7 @@
};
6003F5C3195388D20070C39A /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 9725EFBE4ACC79D7A44618A9 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */;
+ baseConfigurationReference = 3FCFF241547AAF95D4744777 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */;
buildSettings = {
FRAMEWORK_SEARCH_PATHS = (
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
@@ -929,7 +1559,7 @@
};
6003F5C4195388D20070C39A /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = CF75D88C650A9DE0EA1CCD59 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */;
+ baseConfigurationReference = 05003F81541AEB36E66885F8 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */;
buildSettings = {
FRAMEWORK_SEARCH_PATHS = (
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
@@ -950,6 +1580,33 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
+ 197727372AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExample" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 197727312AA278F0002BA06E /* Debug */,
+ 197727322AA278F0002BA06E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 197727382AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 197727332AA278F0002BA06E /* Debug */,
+ 197727342AA278F0002BA06E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 197727392AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleUITests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 197727352AA278F0002BA06E /* Debug */,
+ 197727362AA278F0002BA06E /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
351790D5293822A200ABBCC9 /* Build configuration list for PBXNativeTarget "DemoApp" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme b/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme
index 9635866..f376ec0 100644
--- a/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme
+++ b/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme
@@ -39,6 +39,17 @@
ReferencedContainer = "container:MUXSDKImaListener.xcodeproj">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example/Podfile b/Example/Podfile
index f6a31ad..9d28463 100644
--- a/Example/Podfile
+++ b/Example/Podfile
@@ -1,13 +1,18 @@
use_frameworks!
-platform :ios, '12.0'
-
target 'DemoApp' do
+ platform :ios, '12.0'
+ pod 'Mux-Stats-Google-IMA', :path => '../'
+end
+
+target 'MUXSDKIMATVOSExample' do
+ platform :tvos, '12.0'
pod 'Mux-Stats-Google-IMA', :path => '../'
end
target 'MUXSDKImaListener_Tests' do
+ platform :ios, '12.0'
pod 'Mux-Stats-Google-IMA', :path => '../'
pod 'Specta'
- pod 'Expecta'
+ pod 'Expecta'
end
diff --git a/Example/Podfile.lock b/Example/Podfile.lock
index 0d693eb..8076f3b 100644
--- a/Example/Podfile.lock
+++ b/Example/Podfile.lock
@@ -1,9 +1,10 @@
PODS:
- Expecta (1.0.6)
- - GoogleAds-IMA-iOS-SDK (3.18.4)
- - Mux-Stats-AVPlayer (3.2.1):
- - Mux-Stats-Core (~> 4.4)
- - Mux-Stats-Core (4.4.2)
+ - GoogleAds-IMA-iOS-SDK (3.19.2)
+ - GoogleAds-IMA-tvOS-SDK (4.9.1)
+ - Mux-Stats-AVPlayer (3.3.1):
+ - Mux-Stats-Core (~> 4.5.2)
+ - Mux-Stats-Core (4.5.2)
- Mux-Stats-Google-IMA (0.10.1):
- GoogleAds-IMA-iOS-SDK (~> 3.16)
- GoogleAds-IMA-tvOS-SDK (~> 4.6)
@@ -19,6 +20,7 @@ SPEC REPOS:
trunk:
- Expecta
- GoogleAds-IMA-iOS-SDK
+ - GoogleAds-IMA-tvOS-SDK
- Mux-Stats-AVPlayer
- Mux-Stats-Core
- Specta
@@ -29,12 +31,13 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5
- GoogleAds-IMA-iOS-SDK: b01284e3bf3d64ba948de6692ffda531452c3713
- Mux-Stats-AVPlayer: f89f946203e70c3a54e605a4b2b31ba425ff3cd2
- Mux-Stats-Core: d06b1470457f287c4b3aad3b06f9a6c173dfe38f
+ GoogleAds-IMA-iOS-SDK: 0e817c05ab26f1b9285c80f4a75e1350a916d50b
+ GoogleAds-IMA-tvOS-SDK: 85e799c35051454693492480ef7e4ae2e701a05f
+ Mux-Stats-AVPlayer: 033434ccaffc9698d5566ce3563ac1d02bcbd0de
+ Mux-Stats-Core: b747ca415f883e2b2d9475d8cc0ac3079167bf6b
Mux-Stats-Google-IMA: d6941b70486335c357c0eb1ff507b9cd0510b546
Specta: b79d84043684b35ffdc2680df578dc318ec2efc2
-PODFILE CHECKSUM: 6cf074c8bb2225699ab98a04d6df8f0ed4b6e0cd
+PODFILE CHECKSUM: ae70318821eb6e6195da9a12462b0ac5965fbe28
-COCOAPODS: 1.12.0
+COCOAPODS: 1.12.1
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist
index 185164b..77775a7 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist
@@ -6,13 +6,12 @@
LibraryIdentifier
- ios-arm64_armv7
+ ios-arm64
LibraryPath
GoogleInteractiveMediaAds.framework
SupportedArchitectures
arm64
- armv7
SupportedPlatform
ios
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
new file mode 100755
index 0000000..04420e3
Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
similarity index 95%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
index 9ebe490..717afe0 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
@@ -29,3 +29,4 @@
#import "IMAVersion.h"
#import "IMAVideoDisplay.h"
#import "IMAVideoStitcherLiveStreamRequest.h"
+#import "IMAVideoStitcherVODStreamRequest.h"
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
similarity index 93%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
index 932ae23..c912bf5 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
* provide content tracking if your content player of choice is an AVPlayer
* or its subclass.
*/
-@interface IMAAVPlayerContentPlayhead : NSObject
+@interface IMAAVPlayerContentPlayhead : NSObject
/**
* The player to track.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
similarity index 98%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
index 76d3afa..b3384a7 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
@@ -35,7 +35,7 @@ extern NSString *const kIMASubtitleTTML;
/**
* A callback protocol for IMAAVPlayerVideoDisplayDelegate.
*/
-@protocol IMAAVPlayerVideoDisplayDelegate
+@protocol IMAAVPlayerVideoDisplayDelegate
@optional
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
similarity index 96%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
index 25eb896..6d9e640 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
@@ -16,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Possible error types while loading or playing ads.
*/
-typedef NS_ENUM(NSInteger, IMAErrorType){
+typedef NS_ENUM(NSInteger, IMAErrorType) {
/**
* An unexpected error occurred while loading or playing the ads.
* This may mean that the SDK wasn't loaded properly.
@@ -37,7 +37,7 @@ typedef NS_ENUM(NSInteger, IMAErrorType){
/**
* Possible error codes raised while loading or playing ads.
*/
-typedef NS_ENUM(NSInteger, IMAErrorCode){
+typedef NS_ENUM(NSInteger, IMAErrorCode) {
/**
* The ad response was not recognized as a valid VAST ad.
*/
@@ -107,7 +107,8 @@ typedef NS_ENUM(NSInteger, IMAErrorCode){
*/
kIMAError_ADSLOT_NOT_VISIBLE = 1008,
/**
- * Empty VAST response.
+ * A VAST response containing a single <VAST>
tag with no
+ * child tags.
*/
kIMAError_VAST_EMPTY_RESPONSE = 1009,
/**
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
similarity index 98%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
index 8df68aa..22de21d 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Different event types sent by the IMAAdsManager to its delegate.
*/
-typedef NS_ENUM(NSInteger, IMAAdEventType){
+typedef NS_ENUM(NSInteger, IMAAdEventType) {
/**
* Ad break ready.
*/
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
similarity index 95%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
index 936e6ab..d7feab1 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
@@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Groups various properties of the ad player.
*/
-@protocol IMAAdPlaybackInfo
+@protocol IMAAdPlaybackInfo
/**
* The current media time of the ad, or 0 if no ad loaded.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
similarity index 99%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
index 79e7ec7..0ebc318 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
@@ -44,7 +44,6 @@ NS_ASSUME_NONNULL_BEGIN
@end
-
#pragma mark - IMAAdLoadingErrorData
/**
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
similarity index 99%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
index b8b70eb..535f61d 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
@@ -88,7 +88,6 @@ extern const NSInteger kIMAAutodetectBitrate;
*/
@property(nonatomic) NSTimeInterval loadVideoTimeout;
-
/**
* For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds).
* This setting is strictly after the specified time. For example, setting playAdsAfterTime to
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
similarity index 99%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
index 369cb4e..7a9e4cc 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
@@ -60,7 +60,6 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property(nonatomic) BOOL adWillPlayMuted;
-
/**
* Specifies whether the player intends to continuously play the content videos one after
* another similar to TV broadcast. Not calling this function leaves the setting as unknown.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
similarity index 98%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
index e0ee41c..baaddbb 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
@@ -24,7 +24,7 @@ extern const NSInteger kIMAFluidSize;
/**
* Delegate to receive events from the companion ad slot.
*/
-@protocol IMACompanionDelegate
+@protocol IMACompanionDelegate
@optional
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
similarity index 82%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
index b973e76..868b803 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
@@ -19,7 +19,12 @@ typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) {
/** The purpose for registering the obstruction as friendly. */
@property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose;
-/** Optional, detailed reasoning for registering this obstruction as friendly. */
+/**
+ * Optional, detailed reasoning for registering this obstruction as friendly.
+ * If the detailedReason
is not null, it must follow the IAB
+ * standard by being 50 characters or less and only containing characters
+ * A-z
, 0-9
, or spaces.
+ */
@property(nonatomic, readonly, nullable) NSString *detailedReason;
/**
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
similarity index 93%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
index de6836e..d4453e9 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
@@ -26,8 +26,8 @@ NS_ASSUME_NONNULL_BEGIN
* Picture in Picture for more details.
*/
#if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000)
-@interface IMAPictureInPictureProxy : NSProxy
+@interface IMAPictureInPictureProxy
+ : NSProxy
#else
@interface IMAPictureInPictureProxy : NSObject
#endif
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
similarity index 92%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
index 20d0339..49c75f1 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
@@ -7,7 +7,6 @@
* customized by the publisher during ad playback.
*/
-
#import
NS_ASSUME_NONNULL_BEGIN
@@ -17,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Different UI elements that can be customized.
*/
-typedef NS_ENUM(NSInteger, IMAUiElementType){
+typedef NS_ENUM(NSInteger, IMAUiElementType) {
/**
* Ad attribution UI element.
*/
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
similarity index 92%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
index d02f285..ce2c952 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
@@ -5,7 +5,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface IMAVersion : NSObject
/** Major version. */
@property(nonatomic) NSInteger majorVersion;
-/** Minor version. */\
+/** Minor version. */
@property(nonatomic) NSInteger minorVersion;
/** Patch version. */
@property(nonatomic) NSInteger patchVersion;
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
similarity index 99%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
index 2305311..735b621 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
@@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Delegate object that receives state change callbacks from IMAVideoDisplay.
*/
-@protocol IMAVideoDisplayDelegate
+@protocol IMAVideoDisplayDelegate
/**
* Informs the SDK that the ad has loaded.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h
new file mode 100755
index 0000000..4ae345c
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h
@@ -0,0 +1,95 @@
+#import "IMAPictureInPictureProxy.h"
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data object describing a stream request for a Google video stitcher video on demand serving
+ * stream.
+ */
+@interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest
+
+/** The adTagURL for the stream. */
+@property(nonatomic, readonly) NSString *adTagURL;
+
+/** The URL of the content source for the stream. */
+@property(nonatomic, readonly) NSString *contentSourceURL;
+
+/** The networkCode associate with the stream. */
+@property(nonatomic, readonly) NSString *networkCode;
+
+/** The OAuth Token for the stream. */
+@property(nonatomic, readonly) NSString *OAuthToken;
+
+/** The project number for the stream. */
+@property(nonatomic, readonly) NSString *projectNumber;
+
+/** The region for the stream. */
+@property(nonatomic, readonly) NSString *region;
+
+/**
+ * Initializes a stream request instance with the given network code, content source url, ad tag
+ * url, project number, region, and OAuth token. Uses the given ad display container to display the
+ * stream.
+ *
+ * @param adTagURL The adTagURL for the stream.
+ * @param contentSourceURL The contentSourceURL for the stream.
+ * @param networkCode The networkCode for the stream.
+ * @param OAuthToken The OAuth token for the stream.
+ * @param projectNumber The projectNumber for the stream.
+ * @param region The region for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherVODStreamRequest instance.
+ */
+- (instancetype)initWithAdTagURL:(NSString *)adTagURL
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ contentSourceURL:(NSString *)contentSourceURL
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+/**
+ * Initializes a stream request instance with the given network code, content source url, ad tag
+ * url, project number, region, and OAuth token. Uses the given ad display container to display the
+ * stream. Uses the picture in picture proxy to track PIP events.
+ *
+ * @param adTagURL The adTagURL code for the stream.
+ * @param contentSourceURL The contentSourceURL code for the stream.
+ * @param networkCode The networkCode for the stream.
+ * @param OAuthToken The OAuth Token for the stream.
+ * @param projectNumber The projectNumber for the stream.
+ * @param region The region for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherVODStreamRequest instance.
+ */
+- (instancetype)initWithAdTagURL:(NSString *)adTagURL
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ contentSourceURL:(NSString *)contentSourceURL
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Info.plist b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Info.plist
similarity index 53%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Info.plist
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Info.plist
index 8ab311b..b19d814 100755
Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Info.plist and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Info.plist differ
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Modules/module.modulemap b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Modules/module.modulemap
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/README.txt b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/README.txt
similarity index 100%
rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/README.txt
rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/README.txt
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/VERSION
new file mode 100755
index 0000000..a8346d5
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/VERSION
@@ -0,0 +1 @@
+3.19.2
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
deleted file mode 100755
index c02e32c..0000000
Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds and /dev/null differ
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/VERSION
deleted file mode 100755
index f2fef8b..0000000
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-3.18.4
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
index 17c2d2c..c936054 100755
Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
index 9ebe490..717afe0 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
@@ -29,3 +29,4 @@
#import "IMAVersion.h"
#import "IMAVideoDisplay.h"
#import "IMAVideoStitcherLiveStreamRequest.h"
+#import "IMAVideoStitcherVODStreamRequest.h"
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
index 932ae23..c912bf5 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
* provide content tracking if your content player of choice is an AVPlayer
* or its subclass.
*/
-@interface IMAAVPlayerContentPlayhead : NSObject
+@interface IMAAVPlayerContentPlayhead : NSObject
/**
* The player to track.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
index 76d3afa..b3384a7 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
@@ -35,7 +35,7 @@ extern NSString *const kIMASubtitleTTML;
/**
* A callback protocol for IMAAVPlayerVideoDisplayDelegate.
*/
-@protocol IMAAVPlayerVideoDisplayDelegate
+@protocol IMAAVPlayerVideoDisplayDelegate
@optional
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
index 25eb896..6d9e640 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
@@ -16,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Possible error types while loading or playing ads.
*/
-typedef NS_ENUM(NSInteger, IMAErrorType){
+typedef NS_ENUM(NSInteger, IMAErrorType) {
/**
* An unexpected error occurred while loading or playing the ads.
* This may mean that the SDK wasn't loaded properly.
@@ -37,7 +37,7 @@ typedef NS_ENUM(NSInteger, IMAErrorType){
/**
* Possible error codes raised while loading or playing ads.
*/
-typedef NS_ENUM(NSInteger, IMAErrorCode){
+typedef NS_ENUM(NSInteger, IMAErrorCode) {
/**
* The ad response was not recognized as a valid VAST ad.
*/
@@ -107,7 +107,8 @@ typedef NS_ENUM(NSInteger, IMAErrorCode){
*/
kIMAError_ADSLOT_NOT_VISIBLE = 1008,
/**
- * Empty VAST response.
+ * A VAST response containing a single <VAST>
tag with no
+ * child tags.
*/
kIMAError_VAST_EMPTY_RESPONSE = 1009,
/**
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
index 8df68aa..22de21d 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Different event types sent by the IMAAdsManager to its delegate.
*/
-typedef NS_ENUM(NSInteger, IMAAdEventType){
+typedef NS_ENUM(NSInteger, IMAAdEventType) {
/**
* Ad break ready.
*/
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
index 936e6ab..d7feab1 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
@@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Groups various properties of the ad player.
*/
-@protocol IMAAdPlaybackInfo
+@protocol IMAAdPlaybackInfo
/**
* The current media time of the ad, or 0 if no ad loaded.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
index 79e7ec7..0ebc318 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
@@ -44,7 +44,6 @@ NS_ASSUME_NONNULL_BEGIN
@end
-
#pragma mark - IMAAdLoadingErrorData
/**
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
index b8b70eb..535f61d 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
@@ -88,7 +88,6 @@ extern const NSInteger kIMAAutodetectBitrate;
*/
@property(nonatomic) NSTimeInterval loadVideoTimeout;
-
/**
* For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds).
* This setting is strictly after the specified time. For example, setting playAdsAfterTime to
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
index 369cb4e..7a9e4cc 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
@@ -60,7 +60,6 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property(nonatomic) BOOL adWillPlayMuted;
-
/**
* Specifies whether the player intends to continuously play the content videos one after
* another similar to TV broadcast. Not calling this function leaves the setting as unknown.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
index e0ee41c..baaddbb 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
@@ -24,7 +24,7 @@ extern const NSInteger kIMAFluidSize;
/**
* Delegate to receive events from the companion ad slot.
*/
-@protocol IMACompanionDelegate
+@protocol IMACompanionDelegate
@optional
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
index b973e76..868b803 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
@@ -19,7 +19,12 @@ typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) {
/** The purpose for registering the obstruction as friendly. */
@property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose;
-/** Optional, detailed reasoning for registering this obstruction as friendly. */
+/**
+ * Optional, detailed reasoning for registering this obstruction as friendly.
+ * If the detailedReason
is not null, it must follow the IAB
+ * standard by being 50 characters or less and only containing characters
+ * A-z
, 0-9
, or spaces.
+ */
@property(nonatomic, readonly, nullable) NSString *detailedReason;
/**
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
index de6836e..d4453e9 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
@@ -26,8 +26,8 @@ NS_ASSUME_NONNULL_BEGIN
* Picture in Picture for more details.
*/
#if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000)
-@interface IMAPictureInPictureProxy : NSProxy
+@interface IMAPictureInPictureProxy
+ : NSProxy
#else
@interface IMAPictureInPictureProxy : NSObject
#endif
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
index 20d0339..49c75f1 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
@@ -7,7 +7,6 @@
* customized by the publisher during ad playback.
*/
-
#import
NS_ASSUME_NONNULL_BEGIN
@@ -17,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Different UI elements that can be customized.
*/
-typedef NS_ENUM(NSInteger, IMAUiElementType){
+typedef NS_ENUM(NSInteger, IMAUiElementType) {
/**
* Ad attribution UI element.
*/
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
index d02f285..ce2c952 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
@@ -5,7 +5,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface IMAVersion : NSObject
/** Major version. */
@property(nonatomic) NSInteger majorVersion;
-/** Minor version. */\
+/** Minor version. */
@property(nonatomic) NSInteger minorVersion;
/** Patch version. */
@property(nonatomic) NSInteger patchVersion;
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
index 2305311..735b621 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
@@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
* Delegate object that receives state change callbacks from IMAVideoDisplay.
*/
-@protocol IMAVideoDisplayDelegate
+@protocol IMAVideoDisplayDelegate
/**
* Informs the SDK that the ad has loaded.
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h
new file mode 100755
index 0000000..4ae345c
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h
@@ -0,0 +1,95 @@
+#import "IMAPictureInPictureProxy.h"
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data object describing a stream request for a Google video stitcher video on demand serving
+ * stream.
+ */
+@interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest
+
+/** The adTagURL for the stream. */
+@property(nonatomic, readonly) NSString *adTagURL;
+
+/** The URL of the content source for the stream. */
+@property(nonatomic, readonly) NSString *contentSourceURL;
+
+/** The networkCode associate with the stream. */
+@property(nonatomic, readonly) NSString *networkCode;
+
+/** The OAuth Token for the stream. */
+@property(nonatomic, readonly) NSString *OAuthToken;
+
+/** The project number for the stream. */
+@property(nonatomic, readonly) NSString *projectNumber;
+
+/** The region for the stream. */
+@property(nonatomic, readonly) NSString *region;
+
+/**
+ * Initializes a stream request instance with the given network code, content source url, ad tag
+ * url, project number, region, and OAuth token. Uses the given ad display container to display the
+ * stream.
+ *
+ * @param adTagURL The adTagURL for the stream.
+ * @param contentSourceURL The contentSourceURL for the stream.
+ * @param networkCode The networkCode for the stream.
+ * @param OAuthToken The OAuth token for the stream.
+ * @param projectNumber The projectNumber for the stream.
+ * @param region The region for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherVODStreamRequest instance.
+ */
+- (instancetype)initWithAdTagURL:(NSString *)adTagURL
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ contentSourceURL:(NSString *)contentSourceURL
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+/**
+ * Initializes a stream request instance with the given network code, content source url, ad tag
+ * url, project number, region, and OAuth token. Uses the given ad display container to display the
+ * stream. Uses the picture in picture proxy to track PIP events.
+ *
+ * @param adTagURL The adTagURL code for the stream.
+ * @param contentSourceURL The contentSourceURL code for the stream.
+ * @param networkCode The networkCode for the stream.
+ * @param OAuthToken The OAuth Token for the stream.
+ * @param projectNumber The projectNumber for the stream.
+ * @param region The region for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherVODStreamRequest instance.
+ */
+- (instancetype)initWithAdTagURL:(NSString *)adTagURL
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ contentSourceURL:(NSString *)contentSourceURL
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist
index 8ab311b..b19d814 100755
Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist differ
diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION
index f2fef8b..a8346d5 100755
--- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION
+++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION
@@ -1 +1 @@
-3.18.4
+3.19.2
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist
new file mode 100755
index 0000000..8c32439
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist
@@ -0,0 +1,40 @@
+
+
+
+
+ AvailableLibraries
+
+
+ LibraryIdentifier
+ tvos-arm64
+ LibraryPath
+ GoogleInteractiveMediaAds.framework
+ SupportedArchitectures
+
+ arm64
+
+ SupportedPlatform
+ tvos
+
+
+ LibraryIdentifier
+ tvos-arm64_x86_64-simulator
+ LibraryPath
+ GoogleInteractiveMediaAds.framework
+ SupportedArchitectures
+
+ arm64
+ x86_64
+
+ SupportedPlatform
+ tvos
+ SupportedPlatformVariant
+ simulator
+
+
+ CFBundlePackageType
+ XFWK
+ XCFrameworkFormatVersion
+ 1.0
+
+
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Assets.car b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Assets.car
new file mode 100755
index 0000000..ed5f6a4
Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Assets.car differ
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
new file mode 100755
index 0000000..bc02275
Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
new file mode 100755
index 0000000..717afe0
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
@@ -0,0 +1,32 @@
+#import "IMAAVPlayerContentPlayhead.h"
+#import "IMAAVPlayerVideoDisplay.h"
+#import "IMAAd.h"
+#import "IMAAdDisplayContainer.h"
+#import "IMAAdError.h"
+#import "IMAAdEvent.h"
+#import "IMAAdPlaybackInfo.h"
+#import "IMAAdPodInfo.h"
+#import "IMAAdsLoader.h"
+#import "IMAAdsManager.h"
+#import "IMAAdsRenderingSettings.h"
+#import "IMAAdsRequest.h"
+#import "IMACompanionAd.h"
+#import "IMACompanionAdSlot.h"
+#import "IMAContentPlayhead.h"
+#import "IMACuepoint.h"
+#import "IMAFriendlyObstruction.h"
+#import "IMALiveStreamRequest.h"
+#import "IMAPictureInPictureProxy.h"
+#import "IMAPodStreamRequest.h"
+#import "IMASecureSignals.h"
+#import "IMASecureSignalsAdapter.h"
+#import "IMASettings.h"
+#import "IMAStreamManager.h"
+#import "IMAStreamRequest.h"
+#import "IMAUiElements.h"
+#import "IMAUniversalAdID.h"
+#import "IMAVODStreamRequest.h"
+#import "IMAVersion.h"
+#import "IMAVideoDisplay.h"
+#import "IMAVideoStitcherLiveStreamRequest.h"
+#import "IMAVideoStitcherVODStreamRequest.h"
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
new file mode 100755
index 0000000..c912bf5
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
@@ -0,0 +1,45 @@
+//
+// IMAAVPlayerContentPlayhead.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares IMAAVPlayerContentPlayhead, a wrapper for tracking AVPlayer-based
+// video players.
+
+#import
+
+#import "IMAContentPlayhead.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * An implementation of IMAContentPlayhead for AVPlayer. Use this class to
+ * provide content tracking if your content player of choice is an AVPlayer
+ * or its subclass.
+ */
+@interface IMAAVPlayerContentPlayhead : NSObject
+
+/**
+ * The player to track.
+ */
+@property(nonatomic, readonly) AVPlayer *player;
+
+/**
+ * Initializes a IMAAVPlayerContentPlayhead that tracks a player. It will attach a periodic time
+ * observer to the player immediately.
+ *
+ * @param player the AVPlayer to track.
+ *
+ * @return the IMAAVPlayerContentPlayhead instance
+ */
+- (instancetype)initWithAVPlayer:(AVPlayer *)player;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
new file mode 100755
index 0000000..b3384a7
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
@@ -0,0 +1,96 @@
+//
+// IMAAVPlayerVideoDisplay.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares an object that reuses an AVPlayer for both content and ad playback
+
+#import
+
+#import "IMAVideoDisplay.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class AVPlayer;
+@class AVPlayerItem;
+@class AVURLAsset;
+@class IMAAVPlayerVideoDisplay;
+
+/**
+ * The key for subtitle language.
+ */
+extern NSString *const kIMASubtitleLanguage;
+
+/**
+ * The key for the WebVTT sidecar subtitle URL.
+ */
+extern NSString *const kIMASubtitleWebVTT;
+
+/**
+ * The key for the TTML sidecar subtitle URL.
+ */
+extern NSString *const kIMASubtitleTTML;
+
+/**
+ * A callback protocol for IMAAVPlayerVideoDisplayDelegate.
+ */
+@protocol IMAAVPlayerVideoDisplayDelegate
+
+@optional
+
+/**
+ * Called when the IMAAVPlayerVideoDisplay will load a stream for playback. Allows the publisher to
+ * register the AVURLAsset for Fairplay content protection before playback starts.
+ *
+ * @param playerVideoDisplay the IMAVPlayerVideoDisplay that will load the AVURLAsset.
+ * @param URLAsset the AVURLAsset representing the stream to be loaded.
+ */
+- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay
+ willLoadStreamAsset:(AVURLAsset *)URLAsset;
+
+/**
+ * Called when the IMAAVPlayerVideoDisplay
has at least partially loaded media for
+ * playback and the player item is loaded. Only called for dynamic ad insertion.
+ */
+- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay
+ didLoadPlayerItem:(AVPlayerItem *)playerItem;
+
+@end
+
+/**
+ * An implementation of the IMAVideoDisplay protocol. This object is intended
+ * to be initialized with the content player, and will reuse the player for
+ * playing ads.
+ */
+@interface IMAAVPlayerVideoDisplay : NSObject
+
+/**
+ * Allows the publisher to receive IMAAVPlayerVideoDisplay specific events.
+ */
+@property(nonatomic, weak, nullable) id playerVideoDisplayDelegate;
+
+/**
+ * The subtitles for the current stream. Will be nil until the stream starts playing.
+ */
+@property(nonatomic, readonly, nullable) NSArray *subtitles;
+
+/**
+ * A dictionary that contains options used to customize the initialization of an @c AVURLAsset for
+ * stream playback. Has no effect on client-side ads.
+ */
+@property(nonatomic, copy, nullable) NSDictionary *streamAssetOptions;
+
+/**
+ * Creates an IMAAVPlayerVideoDisplay that will play ads in the passed in
+ * content player.
+ *
+ * @param player the AVPlayer instance used for playing content
+ *
+ * @return an IMAAVPlayerVideoDisplay instance
+ */
+- (instancetype)initWithAVPlayer:(AVPlayer *)player;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h
new file mode 100755
index 0000000..b88823e
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h
@@ -0,0 +1,197 @@
+//
+// IMAAd.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Represents metadata of a single ad. The user can use this metadata for
+// positioning nonlinear ads (isLinear, width, height), internal tracking
+// (adId, adTitle) or custom behavior (traffickingParameters).
+
+#import
+
+#import "IMAAdPodInfo.h"
+#import "IMACompanionAd.h"
+#import "IMAUniversalAdID.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Data object representing a single ad.
+ */
+@interface IMAAd : NSObject
+
+/**
+ * The ad ID as specified in the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *adId;
+
+/**
+ * The ad title from the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *adTitle;
+
+/**
+ * The ad description.
+ */
+@property(nonatomic, copy, readonly) NSString *adDescription;
+
+/**
+ * The source ad server information included in the ad response.
+ */
+@property(nonatomic, copy, readonly) NSString *adSystem;
+
+/** The companion ads specified in the VAST response when using DAI. Empty for client-side ads. */
+@property(nonatomic, copy, readonly) NSArray *companionAds;
+
+/**
+ * Content type of the currently selected creative. For linear creatives
+ * returns the content type of the currently selected media file. Returns
+ * empty string if no creative or media file is selected on this ad.
+ */
+@property(nonatomic, copy, readonly) NSString *contentType;
+
+/**
+ * The duration of the ad from the VAST response.
+ */
+@property(nonatomic, readonly) NSTimeInterval duration;
+
+/**
+ * The UI elements that will be displayed during ad
+ * playback.
+ */
+
+@property(nonatomic, copy, readonly) NSArray *uiElements;
+
+/**
+ * Whether or not the ad UI will be disabled for this ad.
+ * :nodoc:
+ */
+@property(nonatomic, readonly, getter=isUiDisabled) BOOL uiDisabled;
+
+/**
+ * The width of the ad asset. For non-linear ads, this is the actual width
+ * of the ad representation. For linear ads, since they scale seamlessly, we
+ * currently return 0 for width.
+ */
+@property(nonatomic, readonly) NSInteger width;
+
+/**
+ * The height of the ad asset. For non-linear ads, this is the actual height
+ * of the ad representation. For linear ads, since they scale seamlessly, we
+ * currently return 0 for height.
+ */
+@property(nonatomic, readonly) NSInteger height;
+
+/**
+ * The width of the selected creative as specified in the VAST response.
+ */
+@property(nonatomic, readonly) NSInteger VASTMediaWidth;
+
+/**
+ * The height of the selected creative as specified in the VAST response.
+ */
+@property(nonatomic, readonly) NSInteger VASTMediaHeight;
+
+/**
+ * The bitrate of the selected creative as specified in the VAST response.
+ */
+@property(nonatomic, readonly) NSInteger VASTMediaBitrate;
+
+/**
+ * Specifies whether the ad is linear or non-linear.
+ */
+@property(nonatomic, readonly, getter=isLinear) BOOL linear;
+
+/**
+ * Specifies whether the ad is skippable.
+ */
+@property(nonatomic, readonly, getter=isSkippable) BOOL skippable;
+
+/**
+ * The number of seconds of playback before the ad becomes skippable. -1 is returned for non
+ * skippable ads or if this is unavailable.
+ */
+@property(nonatomic, readonly) NSTimeInterval skipTimeOffset;
+
+/**
+ * Set of ad podding properties.
+ */
+@property(nonatomic, readonly) IMAAdPodInfo *adPodInfo;
+
+/**
+ * String representing custom trafficking parameters from the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *traffickingParameters;
+
+/**
+ * Returns the ID of the selected creative for the ad.
+ */
+@property(nonatomic, copy, readonly) NSString *creativeID;
+
+/**
+ * Returns the ISCI (Industry Standard Commercial Identifier) code for an ad. This
+ * is the Ad-ID of the selected creative in the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *creativeAdID;
+
+/**
+ * The list of all UniversalAdIds of the selected creative for this ad. Returns an empty array if
+ * no universal ad IDs are found.
+ */
+@property(nonatomic, copy, readonly) NSArray *universalAdIDs;
+
+/**
+ * The UniversalAdId of the selected creative for the ad. Returns the id value or "unknown"
+ * if unavailable.
+ */
+@property(nonatomic, copy, readonly)
+ NSString *universalAdIdValue DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead.");
+
+/**
+ * The registry associated with cataloging the UniversalAdId of the selected creative for the ad.
+ * Returns the registry value, or "unknown" if unavailable.
+ */
+@property(nonatomic, copy, readonly)
+ NSString *universalAdIdRegistry DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead.");
+
+/**
+ * The advertiser name as defined by the serving party.
+ */
+@property(nonatomic, copy, readonly) NSString *advertiserName;
+
+/**
+ * Returns the URL associated with the survey for the given ad.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *surveyURL;
+
+/**
+ * Returns the first deal ID present in the wrapper chain for the current ad,
+ * starting from the top.
+ */
+@property(nonatomic, copy, readonly) NSString *dealID;
+
+/**
+ * The IDs of the ads, starting with the first wrapper ad.
+ */
+@property(nonatomic, copy, readonly) NSArray *wrapperAdIDs;
+
+/**
+ * The IDs of the ads' creatives, starting with the first wrapper ad.
+ */
+@property(nonatomic, copy, readonly) NSArray *wrapperCreativeIDs;
+
+/**
+ * Ad systems used for wrapper ads. The ad systems returned begin with the
+ * first wrapper ad and continue to each wrapper ad recursively.
+ */
+@property(nonatomic, copy, readonly) NSArray *wrapperSystems;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h
new file mode 100755
index 0000000..cf6125b
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h
@@ -0,0 +1,97 @@
+//
+// IMAAdDisplayContainer.h
+// GoogleIMA3
+//
+// Copyright (c) 2014 Google Inc. All rights reserved.
+//
+// Declares the IMAAdDisplayContainer interface that manages the views,
+// ad slots, and displays used for ad playback.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMACompanionAdSlot;
+@class IMAFriendlyObstruction;
+
+/**
+ * The IMAAdDisplayContainer is responsible for managing the ad container view and companion ad
+ * slots used for ad playback.
+ */
+@interface IMAAdDisplayContainer : NSObject
+
+/**
+ * View containing the video display and ad related UI. This view must be present in the view
+ * hierarchy in order to make ad or stream requests.
+ */
+@property(nonatomic, readonly) UIView *adContainer;
+
+/**
+ * View controller containing the ad container. Used to present ad UI in child view controllers. It
+ * must be non-nil in order to make ad or stream requests, and it must be in the view hierarchy
+ * before ad playback.
+ */
+@property(nonatomic, weak, nullable) UIViewController *adContainerViewController;
+
+/** The environment to focus on during an ad break. Nil if there is not currently an ad break. */
+@property(nonatomic, readonly, nullable) id focusEnvironment;
+
+/** List of companion ad slots. Can be nil or empty. */
+@property(nonatomic, readonly, nullable) NSArray *companionSlots;
+
+/**
+ * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI without any
+ * companion slots.
+ *
+ * @param adContainer The view where the ad will be rendered. Fills the view's bounds.
+ * @param adContainerViewController The view controller containing the ad container. If not provided
+ * here, must be set on the property before making an ads or stream request.
+ *
+ * @return A new IMAAdDisplayContainer instance
+ */
+- (instancetype)initWithAdContainer:(UIView *)adContainer
+ viewController:(nullable UIViewController *)adContainerViewController;
+
+/**
+ * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI.
+ *
+ * @param adContainer The view where the ad will be rendered. Fills the view's bounds.
+ * @param adContainerViewController The view controller containing the ad container. If not provided
+ * here, must be set on the property before making an ads or stream request.
+ * @param companionSlots The array of IMACompanionAdSlots. Can be nil or empty.
+ *
+ * @return A new IMAAdDisplayContainer instance
+ */
+- (instancetype)initWithAdContainer:(UIView *)adContainer
+ viewController:(nullable UIViewController *)adContainerViewController
+ companionSlots:(nullable NSArray *)companionSlots;
+
+/** :nodoc: */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Registers a view that overlays or obstructs this container as "friendly" for viewability
+ * measurement purposes.
+ *
+ * See Open Measurement
+ * in the IMA SDK for guidance on what is and what is not allowed to be registered.
+ *
+ * @param friendlyObstruction An obstruction to be marked as "friendly" until unregistered.
+ */
+- (void)registerFriendlyObstruction:(IMAFriendlyObstruction *)friendlyObstruction;
+
+/** Unregisters all previously registered friendly obstructions. */
+- (void)unregisterAllFriendlyObstructions;
+
+/** :nodoc: */
+- (void)registerVideoControlsOverlay:(UIView *)videoControlsOverlay
+ DEPRECATED_MSG_ATTRIBUTE("Use registerFriendlyObstruction: instead.");
+
+/** :nodoc: */
+- (void)unregisterAllVideoControlsOverlays DEPRECATED_MSG_ATTRIBUTE(
+ "Use unregisterAllFriendlyObstructions: instead.");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
new file mode 100755
index 0000000..6d9e640
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
@@ -0,0 +1,179 @@
+/*! \file IMAAdError.h
+ * GoogleIMA3
+ *
+ * Copyright (c) 2013 Google Inc. All rights reserved.
+ *
+ * This file provides error codes that are raised by the SDK and
+ * declares the IMAAdError class.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark IMAErrorType
+
+/**
+ * Possible error types while loading or playing ads.
+ */
+typedef NS_ENUM(NSInteger, IMAErrorType) {
+ /**
+ * An unexpected error occurred while loading or playing the ads.
+ * This may mean that the SDK wasn't loaded properly.
+ */
+ kIMAAdUnknownErrorType,
+ /**
+ * An error occurred while loading the ads.
+ */
+ kIMAAdLoadingFailed,
+ /**
+ * An error occurred while playing the ads.
+ */
+ kIMAAdPlayingFailed,
+};
+
+#pragma mark - IMAErrorCode
+
+/**
+ * Possible error codes raised while loading or playing ads.
+ */
+typedef NS_ENUM(NSInteger, IMAErrorCode) {
+ /**
+ * The ad response was not recognized as a valid VAST ad.
+ */
+ kIMAError_VAST_MALFORMED_RESPONSE = 100,
+ /**
+ * Trafficking error. Video player received an ad type that it was not expecting and/or cannot
+ * display.
+ */
+ kIMAError_VAST_TRAFFICKING_ERROR = 200,
+ /**
+ * The VAST URI provided, or a VAST URI provided in a subsequent Wrapper
+ * element, was either unavailable or reached a timeout, as defined by the
+ * video player. The timeout is 8 seconds for initial VAST requests and 4
+ * seconds for each subsequent Wrapper.
+ */
+ kIMAError_VAST_LOAD_TIMEOUT = 301,
+ /**
+ * The maximum number of VAST wrapper redirects has been reached.
+ */
+ kIMAError_VAST_TOO_MANY_REDIRECTS = 302,
+ /**
+ * At least one VAST wrapper loaded and a subsequent wrapper or inline ad
+ * load has resulted in a 404 response code.
+ */
+ kIMAError_VAST_INVALID_URL = 303,
+ /**
+ * There was an error playing the video ad.
+ */
+ kIMAError_VIDEO_PLAY_ERROR = 400,
+ /**
+ * Failed to load media assets from a VAST response.
+ * The default timeout for media loading is 8 seconds.
+ */
+ kIMAError_VAST_MEDIA_LOAD_TIMEOUT = 402,
+ /**
+ * Assets were found in the VAST ad response for linear ad, but none of them
+ * matched the video player's capabilities.
+ */
+ kIMAError_VAST_LINEAR_ASSET_MISMATCH = 403,
+ /**
+ * A companion ad failed to load or render.
+ */
+ kIMAError_COMPANION_AD_LOADING_FAILED = 603,
+ /**
+ * An unexpected error occurred and the cause is not known. Refer to the
+ * inner error for more information.
+ */
+ kIMAError_UNKNOWN_ERROR = 900,
+ /**
+ * Ads list response was malformed.
+ */
+ kIMAError_PLAYLIST_MALFORMED_RESPONSE = 1004,
+ /**
+ * There was a problem requesting ads from the server.
+ */
+ kIMAError_FAILED_TO_REQUEST_ADS = 1005,
+ /**
+ * Listener for at least one of the required vast events was not added.
+ */
+ kIMAError_REQUIRED_LISTENERS_NOT_ADDED = 1006,
+ /**
+ * No assets were found in the VAST ad response.
+ */
+ kIMAError_VAST_ASSET_NOT_FOUND = 1007,
+ /**
+ * The ad slot is not visible on the page.
+ */
+ kIMAError_ADSLOT_NOT_VISIBLE = 1008,
+ /**
+ * A VAST response containing a single <VAST>
tag with no
+ * child tags.
+ */
+ kIMAError_VAST_EMPTY_RESPONSE = 1009,
+ /**
+ * There was an error loading the ad.
+ */
+ kIMAError_FAILED_LOADING_AD = 1010,
+ /**
+ * There was an error initializing the stream.
+ */
+ kIMAError_STREAM_INITIALIZATION_FAILED = 1020,
+ /**
+ * Invalid arguments were provided to SDK methods.
+ */
+ kIMAError_INVALID_ARGUMENTS = 1101,
+ /**
+ * Generic invalid usage of the API.
+ */
+ kIMAError_API_ERROR = 1102,
+ /**
+ * The version of the runtime is too old.
+ */
+ kIMAError_OS_RUNTIME_TOO_OLD = 1103,
+ /**
+ * Another VideoAdsManager is still using the video. It must be unloaded
+ * before another ad can play on the same element.
+ */
+ kIMAError_VIDEO_ELEMENT_USED = 1201,
+ /**
+ * A video element was not specified where it was required.
+ */
+ kIMAError_VIDEO_ELEMENT_REQUIRED = 1202,
+ /**
+ * Content playhead was not passed in, but list of ads has been returned
+ * from the server.
+ */
+ kIMAError_CONTENT_PLAYHEAD_MISSING = 1205,
+};
+
+#pragma mark - IMAAdError
+
+/**
+ * Surfaces an error that occurred during ad loading or playing.
+ */
+@interface IMAAdError : NSObject
+
+/**
+ * The type of error that occurred during ad loading or ad playing.
+ */
+@property(nonatomic, readonly) IMAErrorType type;
+
+/**
+ * The error code for obtaining more specific information about the error.
+ */
+@property(nonatomic, readonly) IMAErrorCode code;
+
+/**
+ * A brief description about the error.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *message;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
new file mode 100755
index 0000000..22de21d
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
@@ -0,0 +1,175 @@
+/*! \file IMAAdEvent.h
+ * GoogleIMA3
+ *
+ * Copyright (c) 2013 Google Inc. All rights reserved.
+ *
+ * Defines a data object used to convey information during ad playback.
+ * This object is sent to the IMAAdsManager delegate.
+ */
+
+#import
+
+#import "IMAAd.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark IMAAdEventType
+
+/**
+ * Different event types sent by the IMAAdsManager to its delegate.
+ */
+typedef NS_ENUM(NSInteger, IMAAdEventType) {
+ /**
+ * Ad break ready.
+ */
+ kIMAAdEvent_AD_BREAK_READY,
+ /**
+ * Ad break will not play back any ads.
+ */
+ kIMAAdEvent_AD_BREAK_FETCH_ERROR,
+ /**
+ * Fired the first time each ad break ends. Applications must reenable seeking
+ * when this occurs (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_BREAK_ENDED,
+ /**
+ * Fired first time each ad break begins playback. If an ad break is watched
+ * subsequent times this will not be fired. Applications must disable seeking
+ * when this occurs (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_BREAK_STARTED,
+ /**
+ * Fired every time the stream switches from advertising or slate to content.
+ * This will be fired even when an ad is played a second time or when seeking
+ * into an ad (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_PERIOD_ENDED,
+ /**
+ * Fired every time the stream switches from content to advertising or slate.
+ * This will be fired even when an ad is played a second time or when seeking
+ * into an ad (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_PERIOD_STARTED,
+ /**
+ * All valid ads managed by the ads manager have completed or the ad response
+ * did not return any valid ads.
+ */
+ kIMAAdEvent_ALL_ADS_COMPLETED,
+ /**
+ * Ad clicked.
+ */
+ kIMAAdEvent_CLICKED,
+ /**
+ * Single ad has finished.
+ */
+ kIMAAdEvent_COMPLETE,
+ /**
+ * Cuepoints changed for VOD stream (only used for dynamic ad insertion).
+ * For this event, the IMAAdEvent.adData
property contains a list of
+ * IMACuepoint
s at IMAAdEvent.adData[@"cuepoints"]
.
+ */
+ kIMAAdEvent_CUEPOINTS_CHANGED,
+ /**
+ * The user has closed the icon fallback image dialog. This may be a good time to resume ad
+ * playback, which the SDK autopaused on icon tap. This event only fires for tvOS.
+ */
+ kIMAAdEvent_ICON_FALLBACK_IMAGE_CLOSED,
+ /**
+ * The user has tapped an ad icon. On iOS, the SDK will navigate to the landing page. On tvOS, the
+ * SDK will present a modal dialog containing the VAST icon fallback image.
+ */
+ kIMAAdEvent_ICON_TAPPED,
+ /**
+ * First quartile of a linear ad was reached.
+ */
+ kIMAAdEvent_FIRST_QUARTILE,
+ /**
+ * An ad was loaded.
+ */
+ kIMAAdEvent_LOADED,
+ /**
+ * A log event for the ads being played. These are typically non fatal errors.
+ */
+ kIMAAdEvent_LOG,
+ /**
+ * Midpoint of a linear ad was reached.
+ */
+ kIMAAdEvent_MIDPOINT,
+ /**
+ * Ad paused.
+ */
+ kIMAAdEvent_PAUSE,
+ /**
+ * Ad resumed.
+ */
+ kIMAAdEvent_RESUME,
+ /**
+ * Ad has skipped.
+ */
+ kIMAAdEvent_SKIPPED,
+ /**
+ * Ad has started.
+ */
+ kIMAAdEvent_STARTED,
+ /**
+ * Stream request has loaded (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_STREAM_LOADED,
+ /**
+ * Stream has started playing (only used for dynamic ad insertion). Start
+ * Picture-in-Picture here if applicable.
+ */
+ kIMAAdEvent_STREAM_STARTED,
+ /**
+ * Ad tapped.
+ */
+ kIMAAdEvent_TAPPED,
+ /**
+ * Third quartile of a linear ad was reached.
+ */
+ kIMAAdEvent_THIRD_QUARTILE
+};
+
+#pragma mark - Ad Data Keys
+
+/**
+ * The key for the time in seconds when the AD_BREAK_READY event fired.
+ */
+extern NSString *const kIMAAdBreakTime;
+
+#pragma mark - IMAAdEvent
+
+/**
+ * Simple data class used to transport ad playback information.
+ */
+@interface IMAAdEvent : NSObject
+
+/**
+ * Type of the event.
+ */
+@property(nonatomic, readonly) IMAAdEventType type;
+
+/**
+ * Stringified type of the event.
+ */
+@property(nonatomic, copy, readonly) NSString *typeString;
+
+/**
+ * The current ad that is playing or just played. This will be nil except for
+ * events where an ad is available (start, quartiles, midpoint, complete, and tap).
+ */
+@property(nonatomic, readonly, nullable) IMAAd *ad;
+
+/**
+ * Extra data about the ad.
+ */
+@property(nonatomic, copy, readonly, nullable) NSDictionary *adData;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
new file mode 100755
index 0000000..d7feab1
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
@@ -0,0 +1,40 @@
+//
+// IMAAdPlaybackInfo.h
+// GoogleIMA3
+//
+// Copyright (c) 2014 Google Inc. All rights reserved.
+//
+// Defines a protocol for providing ad playback information.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Groups various properties of the ad player.
+ */
+@protocol IMAAdPlaybackInfo
+
+/**
+ * The current media time of the ad, or 0 if no ad loaded.
+ */
+@property(nonatomic, readonly) NSTimeInterval currentMediaTime;
+
+/**
+ * The total media time of the ad, or 0 if no ad loaded.
+ */
+@property(nonatomic, readonly) NSTimeInterval totalMediaTime;
+
+/**
+ * The buffered media time of the ad, or 0 if no ad loaded.
+ */
+@property(nonatomic, readonly) NSTimeInterval bufferedMediaTime;
+
+/**
+ * Whether or not the ad is currently playing.
+ */
+@property(nonatomic, readonly, getter=isPlaying) BOOL playing;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h
new file mode 100755
index 0000000..64ea432
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h
@@ -0,0 +1,64 @@
+//
+// IMAAdPodInfo.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Represents podding metadata for a single ad.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Simple data object containing podding metadata.
+ */
+@interface IMAAdPodInfo : NSObject
+
+/**
+ * Total number of ads in the pod this ad belongs to. Will be 1 for standalone ads.
+ */
+@property(nonatomic, readonly) NSInteger totalAds;
+
+/**
+ * The position of this ad within an ad pod. Will be 1 for standalone ads.
+ */
+@property(nonatomic, readonly) NSInteger adPosition;
+
+/**
+ * Specifies whether the ad is a bumper. Bumpers are short videos used to open
+ * and close ad breaks.
+ */
+@property(nonatomic, readonly) BOOL isBumper;
+
+/**
+ * Client side: Returns the index of the ad pod. For a preroll pod, returns 0.
+ * For midrolls, returns 1, 2,..., N. For a postroll pod, returns -1. Defaults
+ * to 0 if this ad is not part of a pod, or this pod is not part of a playlist.
+ * DAI live stream: Always returns -1.
+ * DAI VOD: Returns the index of the ad pod. For a preroll pod, returns 0. For
+ * midrolls, returns 1, 2,...,N. For a postroll pod, returns N+1...N+X.
+ * Defaults to 0 if this ad is not part of a pod, or this pod is not part of a
+ * playlist.
+ */
+@property(nonatomic, readonly) NSInteger podIndex;
+
+/**
+ * The position of the pod in the content in seconds. Pre-roll returns 0,
+ * post-roll returns -1 and mid-rolls return the scheduled time of the pod.
+ */
+@property(nonatomic, readonly) NSTimeInterval timeOffset;
+
+/**
+ * The maximum duration of the pod in seconds. For unknown duration, -1 is returned.
+ */
+@property(nonatomic, readonly) NSTimeInterval maxDuration;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
new file mode 100755
index 0000000..0ebc318
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
@@ -0,0 +1,169 @@
+//
+// IMAAdsLoader.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares a set of classes used when loading ads.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdError;
+@class IMAAdsLoader;
+@class IMAAdsManager;
+@class IMAStreamManager;
+@class IMAAdsRequest;
+@class IMAStreamRequest;
+@class IMASettings;
+
+#pragma mark - IMAAdsLoadedData
+
+/**
+ * Ad data that is returned when the ads loader loads the ad.
+ */
+@interface IMAAdsLoadedData : NSObject
+
+/**
+ * The ads manager instance created by the ads loader.
+ * Will be nil when using dynamic ad insertion.
+ */
+@property(nonatomic, readonly, nullable) IMAAdsManager *adsManager;
+
+/**
+ * The stream manager instance created by the ads loader.
+ * Will be nil when requesting ads client side.
+ */
+@property(nonatomic, readonly, nullable) IMAStreamManager *streamManager;
+
+/**
+ * The user context specified in the ads request.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+@end
+
+#pragma mark - IMAAdLoadingErrorData
+
+/**
+ * Ad error data that is returned when the ads loader fails to load the ad.
+ */
+@interface IMAAdLoadingErrorData : NSObject
+
+/**
+ * The ad error that occurred while loading the ad.
+ */
+@property(nonatomic, readonly) IMAAdError *adError;
+
+/**
+ * The user context specified in the ads request.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - IMAAdsLoaderDelegate
+
+/**
+ * Delegate object that receives state change callbacks from IMAAdsLoader.
+ */
+@protocol IMAAdsLoaderDelegate
+
+/**
+ * Called when ads are successfully loaded from the ad servers by the loader.
+ *
+ * @param loader the IMAAdsLoader that received the loaded ad data
+ * @param adsLoadedData the IMAAdsLoadedData instance containing ad data
+ */
+- (void)adsLoader:(IMAAdsLoader *)loader adsLoadedWithData:(IMAAdsLoadedData *)adsLoadedData;
+
+/**
+ * Error reported by the ads loader when loading or requesting an ad fails.
+ *
+ * @param loader the IMAAdsLoader that received the error
+ * @param adErrorData the IMAAdLoadingErrorData instance with error information
+ */
+- (void)adsLoader:(IMAAdsLoader *)loader failedWithErrorData:(IMAAdLoadingErrorData *)adErrorData;
+
+@end
+
+#pragma mark - IMAAdsLoader
+
+/**
+ * The IMAAdsLoader class allows the requesting of ads from the ad server.
+ * Use the delegate to receive the loaded ads or loading error
+ * in case of failure.
+ */
+@interface IMAAdsLoader : NSObject
+
+/**
+ * SDK-wide settings. Note that certain settings will only be evaluated during initialization of
+ * the adsLoader.
+ */
+@property(nonatomic, copy, readonly) IMASettings *settings;
+
+/**
+ * Delegate that receives IMAAdsLoaderDelegate callbacks.
+ */
+@property(nonatomic, weak, nullable) id delegate;
+
+/**
+ * Returns the SDK version.
+ *
+ * @return the SDK version
+ */
++ (NSString *)sdkVersion;
+
+/**
+ * Initializes an IMAAdsLoader with specific settings. The loader takes 1-2 seconds to setup once
+ * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad
+ * request times.
+ *
+ * @param settings the IMASettings to use for SDK wide settings. Uses defaults when nil.
+ *
+ * @return an IMAAdsLoader instance with given IMASettings
+ */
+- (instancetype)initWithSettings:(nullable IMASettings *)settings;
+
+/**
+ * Initializes the IMAAdsLoader with default settings. The loader takes 1-2 seconds to setup once
+ * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad
+ * request times.
+ *
+ * @return an IMAAdsLoader instance with default IMASettings
+ */
+- (instancetype)init;
+
+/**
+ * Request ads from the ad server. The loader takes 1-2 seconds to setup on init and become ready
+ * to make ad requests. So reusing the same IMAAdsLoader instance is encouraged when making ad
+ * requests in order to minimize ad request times.
+ *
+ * @param request the IMAAdsRequest. If it was created for use with Picture-in-Picture, this
+ * IMAAdsLoader instance's IMASettings must have backround playback enabled
+ */
+- (void)requestAdsWithRequest:(IMAAdsRequest *)request;
+
+/**
+ * Request a stream with ads inserted dynamically. Reusing the same IMAAdsLoader instance is
+ * encouraged when making stream requests in order to minimize stream request latency.
+ *
+ * @param request the stream request
+ */
+- (void)requestStreamWithRequest:(IMAStreamRequest *)request;
+
+/**
+ * Signal to the SDK that the content has completed. The SDK will play
+ * post-rolls at this time, if any are scheduled.
+ */
+- (void)contentComplete;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h
new file mode 100755
index 0000000..4bc4e40
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h
@@ -0,0 +1,210 @@
+//
+// IMAAdsManager.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares IMAAdsManager interface that manages ad playback.
+// The interface represents an abstract API. There can be one or more ads
+// managed by a single ads manager.
+// The implementing code should respond to the callbacks as defined in
+// IMAAdsManagerDelegate.
+//
+// A typical ad playback session:
+// 1. Ads manager is retrieved. Delegate is set.
+// 2. [adsManager initialize...]; - ad is initialized and loads.
+// 3. delegate.didReceiveAdEvent is called with a kIMAAdEventLoaded event.
+// 4. [adsManager start];
+// 5. delegate.adsManagerDidRequestContentPause: is called. The content
+// playback should pause now.
+// 6. Ad display container main view is unhidden and playback starts.
+// 7. delegate.didReceiveAdEvent is called with ad events.
+// 8. Ad finishes.
+// 9. delegate.adsManagerDidRequestContentResume: is called. The content
+// playback should resume now.
+// 10. delegate.didReceiveAdEvent: is called with the
+// kIMAAdEvent_ALL_ADS_COMPLETED event.
+// It is possible to detach the delegate and destroy the ads manager.
+//
+// If multiple ads are managed by the ads manager, steps 5-9 may repeat several
+// times. Step 5 will happen at times predetermined by the ads server.
+// The implementing code should listen to callbacks until
+// kIMAAdEvent_ALL_ADS_COMPLETED is received.
+
+#import
+
+@class IMAAdDisplayContainer;
+@class IMAAdError;
+@class IMAAdEvent;
+@class IMAAdsRenderingSettings;
+
+#import "IMAAdPlaybackInfo.h"
+#import "IMAContentPlayhead.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdsManager;
+
+#pragma mark IMAAdsManagerDelegate
+
+/**
+ * A callback protocol for IMAAdsManager.
+ */
+@protocol IMAAdsManagerDelegate
+
+/**
+ * Called when there is an IMAAdEvent.
+ *
+ * @param adsManager the IMAAdsManager receiving the event
+ * @param event the IMAAdEvent received
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event;
+
+/**
+ * Called when there was an error playing the ad.
+ * Log the error and resume playing content.
+ *
+ * @param adsManager the IMAAdsManager that errored
+ * @param error the IMAAdError received
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdError:(IMAAdError *)error;
+
+/**
+ * Called when an ad is ready to play.
+ * The implementing code should pause the content playback and prepare the UI
+ * for ad playback.
+ *
+ * @param adsManager the IMAAdsManager requesting content pause
+ */
+- (void)adsManagerDidRequestContentPause:(IMAAdsManager *)adsManager;
+
+/**
+ * Called when an ad has finished or an error occurred during the playback.
+ * The implementing code should resume the content playback.
+ *
+ * @param adsManager the IMAAdsManager requesting content resume
+ */
+- (void)adsManagerDidRequestContentResume:(IMAAdsManager *)adsManager;
+
+@optional
+
+/**
+ * Called every 200ms to provide time updates for the current ad.
+ *
+ * @param adsManager the IMAAdsManager tracking ad playback
+ * @param mediaTime the current media time in seconds
+ * @param totalTime the total media length in seconds
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager
+ adDidProgressToTime:(NSTimeInterval)mediaTime
+ totalTime:(NSTimeInterval)totalTime;
+
+/**
+ * Called when the current ad is sufficiently buffered and playback is likely
+ * to keep up.
+ *
+ * @param adsManager the IMAAdsManager with ad playback ready
+ */
+- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager;
+
+/**
+ * Called when the current ad media buffer is empty and playback did stall.
+ *
+ * @param adsManager the IMAAdsManager tracking the stalled ad
+ */
+- (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager;
+
+/**
+ * Called as the current ad media buffers.
+ *
+ * @param adsManager the IMAAdsManager tracking the ad's media buffer
+ * @param mediaTime the current buffered media time in seconds
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime;
+
+@end
+
+#pragma mark - IMAAdsManager
+
+/**
+ * The IMAAdsManager class is responsible for playing ads.
+ */
+@interface IMAAdsManager : NSObject
+
+/**
+ * The IMAAdsManagerDelegate to notify with events during ad playback.
+ */
+@property(nonatomic, weak, nullable) NSObject *delegate;
+
+/**
+ * List of content time offsets at which ad breaks are scheduled.
+ * Array of NSNumber double values in seconds.
+ * Empty NSArray for single ads or if no ad breaks are scheduled.
+ */
+@property(nonatomic, copy, readonly) NSArray *adCuePoints;
+
+/**
+ * Groups various properties about the linear ad playback.
+ */
+@property(nonatomic, readonly) id adPlaybackInfo;
+
+/**
+ * Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is
+ * relative to device volume, not absolute. Default value is 1.
+ */
+@property(nonatomic, assign) float volume;
+
+/**
+ * Initializes and loads the ad.
+ *
+ * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering.
+ * Use nil to default to standard rendering.
+ */
+- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Starts advertisement playback.
+ */
+- (void)start;
+
+/**
+ * Pauses advertisement.
+ */
+- (void)pause;
+
+/**
+ * Resumes the advertisement.
+ */
+- (void)resume;
+
+/**
+ * Skips the advertisement if the ad is skippable and the skip offset has been reached.
+ */
+- (void)skip;
+
+/**
+ * Performs a clickthrough on the advertisement if the UI was successfully disabled via
+ * AdsRenderingSettings.disableUi.
+ * :nodoc:
+ */
+- (void)clicked;
+
+/**
+ * Causes the ads manager to stop the ad and clean its internal state.
+ */
+- (void)destroy;
+
+/**
+ * If an ad break is currently playing, discard it and resume content.
+ * Otherwise, ignore the next scheduled ad break.
+ */
+- (void)discardAdBreak;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
new file mode 100755
index 0000000..535f61d
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
@@ -0,0 +1,141 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The default value of |bitrate property|, causes the effective bitrate to
+ * be automatically selected.
+ */
+extern const NSInteger kIMAAutodetectBitrate;
+
+#pragma mark IMALinkOpenerDelegate
+
+/**
+ * Signals that a link has been opened/closed.
+ * For an external app (Mobile Safari/App deep link), the delegate is only notified
+ * before opening.
+ */
+@protocol IMALinkOpenerDelegate
+
+@optional
+
+/**
+ * Called when Safari or app deep link is about to be opened.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerWillOpenExternalApplication:(NSObject *)linkOpener;
+
+/**
+ * Called before in-app browser/app store opens.
+ *
+ * @param linkOpener the receiving object.
+ */
+- (void)linkOpenerWillOpenInAppLink:(NSObject *)linkOpener;
+
+/**
+ * Called when the in app browser/app-store is shown on the screen.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerDidOpenInAppLink:(NSObject *)linkOpener;
+
+/**
+ * Called when in-app browser/app-store is about to close.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerWillCloseInAppLink:(NSObject *)linkOpener;
+
+/**
+ * Called when in-app browser/app-store finishes closing.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerDidCloseInAppLink:(NSObject *)linkOpener;
+
+@end
+
+#pragma mark - IMAAdsRenderingSettings
+
+/**
+ * Set of properties that influence how ads are rendered.
+ */
+@interface IMAAdsRenderingSettings : NSObject
+
+/**
+ * If specified, the SDK will play the media with MIME type on the list.
+ * List of strings specifying the MIME types. When empty, the SDK will
+ * use its default list of MIME types supported on iOS.
+ * Example: @[ @"video/mp4", @"application/x-mpegURL" ]
+ * The property is an empty array by default.
+ */
+@property(nonatomic, copy, nullable) NSArray *mimeTypes;
+
+/**
+ * Maximum recommended bitrate. The value is in kbit/s.
+ * SDK will pick media with bitrate below the specified max, or the closest
+ * bitrate if there is no media with smaller bitrate found.
+ * Default value, |kIMAAutodetectBitrate|, means the bitrate will be selected
+ * by the SDK, using the currently detected network speed (cellular or Wi-Fi).
+ */
+@property(nonatomic) NSInteger bitrate;
+
+/**
+ * Timeout (in seconds) when loading a video ad media file. If loading takes
+ * longer than this timeout, the ad playback is canceled and the next ad in the
+ * pod plays, if available. Use -1 for the default of 8 seconds.
+ */
+@property(nonatomic) NSTimeInterval loadVideoTimeout;
+
+/**
+ * For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds).
+ * This setting is strictly after the specified time. For example, setting playAdsAfterTime to
+ * 15 will ignore an ad break scheduled to play at 15s.
+ */
+@property(nonatomic) NSTimeInterval playAdsAfterTime;
+
+/**
+ * Specifies the list of UI elements that should be visible.
+ * This property may be ignored for AdSense/AdX ads. For valid values, see
+ * IMAUiElementType. This field
+ * is ignored on tvOS, where UI elements are unavailable.
+ */
+@property(nonatomic, copy, nullable) NSArray *uiElements;
+
+/**
+ * Whether or not to disable ad UI for non TrueView ads. Check Ad.getDisableUi to check if this
+ * request was honored. Default is false.
+ * :nodoc:
+ */
+@property(nonatomic) BOOL disableUi;
+
+/**
+ * Whether or not the SDK will preload ad media. Default is YES.
+ */
+@property(nonatomic) BOOL enablePreloading;
+
+/**
+ * Specifies the optional UIViewController that will be used to open links in-app.
+ * When nil, tapping the video ad "Learn More" button or companion ads
+ * will result in opening Safari browser. Setting this allows the SDK to open links in-app. This
+ * field is ignored on tvOS, where Safari is not available.
+ */
+@property(nonatomic, weak, nullable) UIViewController *linkOpenerPresentingController;
+
+/**
+ * The IMALinkOpenerDelegate to be notified when a link is opened/closed.
+ * Web links are unavailable on tvOS, but this delegate will be used to notify for deep links.
+ */
+@property(nonatomic, weak, nullable) id linkOpenerDelegate;
+
+/**
+ * Toggle this to allow web links to open externally.
+ * Default is false, ignored if @c linkOpenerPresentingController is nil.
+ * :nodoc:
+ */
+@property(nonatomic) BOOL openWebLinksExternally;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
new file mode 100755
index 0000000..7a9e4cc
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
@@ -0,0 +1,200 @@
+//
+// IMAAdsRequest.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares a simple ad request class.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@class IMAAVPlayerContentPlayhead;
+@class IMAAVPlayerVideoDisplay;
+@class IMAPictureInPictureProxy;
+@class IMASecureSignals;
+@protocol IMAContentPlayhead;
+
+/**
+ * Data class describing the ad request.
+ */
+@interface IMAAdsRequest : NSObject
+
+/**
+ * Specifies the full URL to use for ads loading from an ad server. Required
+ * for any adsRequest
. For details on constructing the ad tag url,
+ * see
+ * Create a main ad video tag manually.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *adTagUrl;
+
+/**
+ * Specifies a VAST, VMAP, or ad rules response to be used instead of making a
+ * request through an ad tag URL. This can be useful for debugging and other situations
+ * in which an ad response is already available.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *adsResponse;
+
+/**
+ * The ad display container.
+ */
+@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer;
+
+/**
+ * The user context.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+/**
+ * Specifies whether the player intends to start the content and ad in
+ * response to a user action or whether they will be automatically played.
+ * Changing this setting will have no impact on ad playback.
+ */
+@property(nonatomic) BOOL adWillAutoPlay;
+
+/**
+ * Specifies whether the player intends to start the content and ad with no volume.
+ * Changing this setting will have no impact on ad playback.
+ */
+@property(nonatomic) BOOL adWillPlayMuted;
+
+/**
+ * Specifies whether the player intends to continuously play the content videos one after
+ * another similar to TV broadcast. Not calling this function leaves the setting as unknown.
+ * Note: Changing this setting will have no impact on ad playback.
+ */
+@property(nonatomic) BOOL continuousPlayback;
+
+/**
+ * Specifies the duration of the content in seconds to be shown. Used in AdX requests. This
+ * parameter is optional.
+ */
+@property(nonatomic) float contentDuration;
+
+/**
+ * Specifies the keywords used to describe the content to be shown. Used in AdX requests. This
+ * parameter is optional.
+ */
+@property(nonatomic, copy, nullable) NSArray *contentKeywords;
+
+/**
+ * Specifies the title of the content to be shown. Used in AdX requests. This parameter is
+ * optional.
+ */
+@property(nonatomic, copy, nullable) NSString *contentTitle;
+
+/**
+ * Specifies the Secure Signal with custom data for this ads request. Secure Signal with custom
+ * data is an encrypted blob containing signals collected by the publisher and previously agreed
+ * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by
+ * passing null to this function.
+ */
+@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals;
+
+/**
+ * Specifies the universal link to the content's screen. If provided, this parameter is passed to
+ * the OM SDK. See Apple
+ * documentation for more information.
+ */
+@property(nonatomic, copy, nullable) NSURL *contentURL;
+
+/**
+ * Specifies the VAST load timeout in milliseconds for the initial request and any subsequent
+ * wrappers. This parameter is optional and will override the default timeout.
+ */
+@property(nonatomic) float vastLoadTimeout;
+
+/**
+ * Specifies the maximum amount of time to wait in seconds, after calling requestAds,
+ * before requesting the ad tag URL. This can be used to stagger requests during a
+ * live-stream event, in order to mitigate spikes in the number of requests.
+ */
+@property(nonatomic) float liveStreamPrefetchSeconds;
+
+/**
+ * Initializes an ads request instance with the given canned ads response and ad display
+ * container with Picture-in-Picture support. Serial ad requests may reuse the
+ * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its
+ * current adsManager. Concurrent requests must use different ad containers.
+ *
+ * @param adsResponse the canned ads response
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdsResponse:(NSString *)adsResponse
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay
+ pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0));
+
+/**
+ * Initializes an ads request instance with the given canned ads response and ad display
+ * container. Serial ad requests may reuse the same IMAAdDisplayContainer by
+ * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent
+ * requests must use different ad containers. Does not support Picture-in-Picture.
+ *
+ * @param adsResponse the canned ads response
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param contentPlayhead the IMAContentPlayhead for the content player (optional)
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdsResponse:(NSString *)adsResponse
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ contentPlayhead:(nullable NSObject *)contentPlayhead
+ userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes an ads request instance with the given ad tag URL and ad display
+ * container with Picture-in-Picture support. Serial ad requests may reuse the
+ * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its
+ * current adsManager. Concurrent requests must use different ad containers.
+ *
+ * @param adTagUrl the ad tag URL
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay
+ pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0));
+
+/**
+ * Initializes an ads request instance with the given ad tag URL and ad display
+ * container. Serial ad requests may reuse the same IMAAdDisplayContainer by
+ * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent
+ * requests must use different ad containers. Does not support Picture-in-Picture.
+ *
+ * @param adTagUrl the ad tag URL
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param contentPlayhead the IMAContentPlayhead for the content player (optional)
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ contentPlayhead:(nullable NSObject *)contentPlayhead
+ userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h
new file mode 100755
index 0000000..799fe51
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h
@@ -0,0 +1,28 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** An object that holds data corresponding to the companion ad. */
+@interface IMACompanionAd : NSObject
+
+/** The value for the resource of this companion. */
+@property(nonatomic, copy, readonly, nullable) NSString *resourceValue;
+
+/** The API needed to execute this ad, or nil if unavailable. */
+@property(nonatomic, copy, readonly, nullable) NSString *APIFramework;
+
+/** The width of the companion in pixels. 0 if unavailable. */
+@property(nonatomic, readonly) NSInteger width;
+
+/** The height of the companion in pixels. 0 if unavailable. */
+@property(nonatomic, readonly) NSInteger height;
+
+/**
+ * Obtain an instance from IMAAd.companionAds
.
+ * :nodoc:
+ */
+- (nonnull instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
new file mode 100755
index 0000000..baaddbb
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
@@ -0,0 +1,111 @@
+//
+// IMACompanionAdSlot.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares a data class that describes a companion ad slot.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Fluid companion ads have no fixed size, but rather adapt to fit the creative
+ * content they display. Set width and height to fluid size to allow companion
+ * slot to be filled by fluid companion ad.
+ */
+extern const NSInteger kIMAFluidSize;
+
+@class IMACompanionAdSlot;
+
+#pragma mark IMACompanionDelegate
+
+/**
+ * Delegate to receive events from the companion ad slot.
+ */
+@protocol IMACompanionDelegate
+
+@optional
+
+/**
+ * Called when the slot is either filled or not filled.
+ *
+ * @param slot the IMACompanionAdSlot receiving the event
+ * @param filled is the slot filled or not
+ */
+- (void)companionSlot:(IMACompanionAdSlot *)slot filled:(BOOL)filled;
+
+/**
+ * Called when the slot is clicked on by the user and will
+ * successfully navigate away.
+ *
+ * @param slot the IMACompanionAdSlot receiving the event
+ */
+- (void)companionSlotWasClicked:(IMACompanionAdSlot *)slot;
+
+@end
+
+#pragma mark - IMACompanionAdSlot
+
+/**
+ * Ad slot for companion ads. The SDK will put a subview inside the provided
+ * UIView container. The companion will be matched to the width and height
+ * provided here. This class cannot be instantiated on tvOS, where companion ads
+ * are not available.
+ */
+@interface IMACompanionAdSlot : NSObject
+
+/**
+ * The view the companion will be rendered in. Display this view in your
+ * application before video ad starts.
+ */
+@property(nonatomic, readonly) UIView *view;
+
+/**
+ * Width of the slot, in pixels. This value is sent to the DFP ad server for
+ * targeting.
+ */
+@property(nonatomic, readonly) NSInteger width;
+
+/**
+ * Height of the slot, in pixels. This value is sent to the DFP ad server for
+ * targeting.
+ */
+@property(nonatomic, readonly) NSInteger height;
+
+/**
+ * The IMACompanionDelegate for receiving events from the companion ad slot.
+ */
+@property(nonatomic, weak, nullable) id delegate;
+
+/**
+ * Initializes an instance of a IMACompanionAdSlot with design ad width and height.
+ *
+ * @param view the UIView that will contain the companion ad
+ * @param width the chosen width of the ad
+ * @param height the chosen height of the ad
+ *
+ * @return the IMACompanionAdSlot instance
+ */
+- (instancetype)initWithView:(UIView *)view
+ width:(NSInteger)width
+ height:(NSInteger)height __TVOS_UNAVAILABLE;
+
+/**
+ * Initializes an instance of a IMACompanionAdSlot with fluid size.
+ *
+ * @param view the UIView that will contain the companion ad.
+ *
+ * @return the IMACompanionAdSlot instance
+ */
+- (instancetype)initWithView:(UIView *)view __TVOS_UNAVAILABLE;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h
new file mode 100755
index 0000000..4360949
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h
@@ -0,0 +1,37 @@
+//
+// IMAContentPlayhead.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Defines protocol for wrapping content playhead used in content tracking.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Property name used for key value observation.
+ */
+extern NSString *const kIMAPropertyCurrentTime;
+
+/**
+ * Defines an interface for a class that tracks video content progress and
+ * exposes a key value observable property |currentTime|.
+ * The SDK provides an implementation for tracking AVPlayer-based playback
+ * in the IMAAVPlayerContentPlayhead.
+ * Publishers can supply their own implementation by implementing this
+ * interface and this way support any other video playback implementation
+ * they might have.
+ */
+@protocol IMAContentPlayhead
+
+/**
+ * Reflects the current playback time in seconds for the content.
+ * The property is key value observable.
+ */
+@property(nonatomic, readonly) NSTimeInterval currentTime;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h
new file mode 100755
index 0000000..65e8480
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h
@@ -0,0 +1,38 @@
+//
+// IMACuepoint.h
+// GoogleIMA3_ios
+//
+// Represents a cuepoint with a start and end time.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Data object representation of a cuepoint for a single ad break.
+ */
+@interface IMACuepoint : NSObject
+
+/**
+ * The start time of the cuepoint in seconds.
+ */
+@property(nonatomic, readonly) NSTimeInterval startTime;
+
+/**
+ * The end time of the cuepoint in seconds.
+ */
+@property(nonatomic, readonly) NSTimeInterval endTime;
+
+/**
+ * Specifies whether this cuepoint has been played.
+ */
+@property(nonatomic, readonly, getter=isPlayed) BOOL played;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
new file mode 100755
index 0000000..868b803
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
@@ -0,0 +1,45 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A list of purposes for which an obstruction would be registered as friendly. */
+typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) {
+ IMAFriendlyObstructionPurposeMediaControls,
+ IMAFriendlyObstructionPurposeCloseAd,
+ IMAFriendlyObstructionPurposeNotVisible,
+ IMAFriendlyObstructionPurposeOther,
+};
+
+/** An obstruction that is marked as "friendly" for viewability measurement purposes. */
+@interface IMAFriendlyObstruction : NSObject
+
+/** The view causing the obstruction. */
+@property(nonatomic, readonly) UIView *view;
+
+/** The purpose for registering the obstruction as friendly. */
+@property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose;
+
+/**
+ * Optional, detailed reasoning for registering this obstruction as friendly.
+ * If the detailedReason
is not null, it must follow the IAB
+ * standard by being 50 characters or less and only containing characters
+ * A-z
, 0-9
, or spaces.
+ */
+@property(nonatomic, readonly, nullable) NSString *detailedReason;
+
+/**
+ * Initializes a friendly obstruction.
+ *
+ * @param view The view causing the obstruction.
+ * @param purpose The purpose for registering the obstruction as friendly.
+ * @param detailedReason Optional, detailed reasoning for registering this obstruction as friendly.
+ *
+ * @return A new IMAFriendlyObstruction instance
+ */
+- (instancetype)initWithView:(UIView *)view
+ purpose:(IMAFriendlyObstructionPurpose)purpose
+ detailedReason:(nullable NSString *)detailedReason;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h
new file mode 100755
index 0000000..1b38723
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h
@@ -0,0 +1,73 @@
+//
+// IMALiveStreamRequest.h
+// GoogleIMA3_ios
+//
+// Declares a representation of a stream request for live streams.
+//
+//
+
+#import "IMAPictureInPictureProxy.h"
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data object describing a live stream request.
+ */
+
+@interface IMALiveStreamRequest : IMAStreamRequest
+
+/**
+ * This is used to determine which stream should be played.
+ * The live stream request asset key is an identifier which can be
+ * found in the DFP UI.
+ *
+ * @type {!string}
+ */
+@property(nonatomic, copy, readonly) NSString *assetKey;
+
+/**
+ * Initializes a live stream request instance with the given assetKey. Uses the given ad display
+ * container to display the stream.
+ *
+ * @param assetKey the stream assetKey
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMALiveStreamRequest instance
+ */
+- (instancetype)initWithAssetKey:(NSString *)assetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+
+/**
+ * Initializes a live stream request instance with the given assetKey. Uses the given ad display
+ * container to display the stream. Uses the picture in picture proxy to track PIP events.
+ *
+ * @param assetKey the stream assetKey
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMALiveStreamRequest instance
+ */
+- (instancetype)initWithAssetKey:(NSString *)assetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
new file mode 100755
index 0000000..d4453e9
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
@@ -0,0 +1,70 @@
+//
+// IMAPictureInPictureProxy.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Defines a proxy for wrapping an AVPlayerViewControllerDelegate or
+// AVPictureInPictureControllerDelegate for handling Picture-in-Picture.
+
+#import
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol AVPlayerViewControllerDelegate;
+@protocol AVPictureInPictureControllerDelegate;
+
+/**
+ * A proxy class for allowing the SDK to detect entering and exiting
+ * Picture-in-Picture.
+ *
+ * To use the proxy, create an instance of IMAPictureInPictureProxy with the
+ * Picture-in-Picture delegate as an argument, and then simply set the
+ * Picture-in-Picture controller's delegate to the proxy. See
+ *
+ * Picture in Picture for more details.
+ */
+#if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000)
+@interface IMAPictureInPictureProxy
+ : NSProxy
+#else
+@interface IMAPictureInPictureProxy : NSObject
+#endif
+/**
+ * Whether or not Picture-in-Picture is currently active.
+ */
+@property(nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive;
+
+/**
+ * Whether or not Picture-in-Picture is supported on this device.
+ */
++ (BOOL)isPictureInPictureSupported;
+
+/**
+ * Instantiates an IMAPictureInPictureProxy that will proxy delegate
+ * messages from an AVPictureInPictureController, and forward them
+ * to the AVPictureInPictureControllerDelegate passed on init.
+ *
+ * @param delegate the AVPictureInPictureControllerDelegate
+ *
+ * @return an IMAPictureInPictureProxy instance
+ */
+- (instancetype)initWithAVPictureInPictureControllerDelegate:
+ (id)delegate API_AVAILABLE(ios(9.0), tvos(14.0));
+
+/**
+ * Instantiates an IMAPictureInPictureProxy that will proxy delegate
+ * messages from an AVPlayerViewController, and forward them to the
+ * AVPlayerViewControllerDelegate passed on init.
+ *
+ * @param delegate the AVPlayerViewControllerDelegate
+ *
+ * @return an IMAPictureInPictureProxy instance
+ */
+- (instancetype)initWithAVPlayerViewControllerDelegate:(id)delegate
+ API_AVAILABLE(ios(9.0), tvos(14.0));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h
new file mode 100755
index 0000000..76d68ad
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h
@@ -0,0 +1,64 @@
+#import "IMAPictureInPictureProxy.h"
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/** Data object describing a stream request for a pod serving stream. */
+@interface IMAPodStreamRequest : IMAStreamRequest
+
+/** The network code for the stream request. */
+@property(nonatomic, copy, readonly) NSString *networkCode;
+
+/** The custom asset key for the stream request. */
+@property(nonatomic, copy, readonly) NSString *customAssetKey;
+
+/**
+ * Initializes a stream request instance with the given network code and custom
+ * asset key. Uses the given ad display container to display the stream.
+ *
+ * @param networkCode The network code for the stream.
+ * @param customAssetKey The asset key for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAPodStreamRequest instance.
+ */
+- (instancetype)initWithNetworkCode:(NSString *)networkCode
+ customAssetKey:(NSString *)customAssetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+
+/**
+ * Initializes a stream request instance with the given network code and custom
+ * asset key. Uses the given ad display container to display the stream. Uses the picture in picture
+ * proxy to track PIP events.
+ *
+ * @param networkCode The network code for the stream.
+ * @param customAssetKey The asset key for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAPodStreamRequest instance.
+ */
+- (instancetype)initWithNetworkCode:(NSString *)networkCode
+ customAssetKey:(NSString *)customAssetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h
new file mode 100755
index 0000000..52530b3
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h
@@ -0,0 +1,25 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+// Stores the signal data for SecureSignals. Currently used to store signal for PCS only.
+@interface IMASecureSignals : NSObject
+
+/**
+ * Secure Signal with custom data sent with ads request. Secure Signal with custom
+ * data is an encrypted blob containing signals collected by the publisher and previously agreed
+ * upon by the publisher and bidder。
+ */
+
+@property(nonatomic, copy, readonly) NSString *customData;
+
+- (instancetype)initWithCustomData:(NSString *)customData NS_DESIGNATED_INITIALIZER;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h
new file mode 100755
index 0000000..08de9f9
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h
@@ -0,0 +1,34 @@
+#import
+
+@class IMAVersion;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** Completion handler for signal generation. Returns either signals or an error object. */
+typedef void (^IMASignalCompletionHandler)(NSString *_Nullable signals, NSError *_Nullable error);
+
+/** Adapter that provides secure signal(3rd party signal only) to the IMA SDK to be included in an
+ * auction. */
+@protocol IMASecureSignalsAdapter
+
+/** Initializes the Secure Signal adapter. */
+- (nullable instancetype)init;
+
+/** The version of the adapter. */
++ (IMAVersion *)adapterVersion;
+
+/** The version of the ad SDK. */
++ (IMAVersion *)adSDKVersion;
+
+/**
+ * Asks the receiver for encrypted signals. Signals are provided to the 3PAS at request time. The
+ * receiver must call @c completionHandler with signals or an error.
+ * This method is called on a non-main thread. The receiver should avoid using the main thread to
+ * prevent signal collection timeouts.
+ * @param completion The block to call when signal collection is complete.
+ */
+- (void)collectSignalsWithCompletion:(IMASignalCompletionHandler)completion;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h
new file mode 100755
index 0000000..ce27a31
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h
@@ -0,0 +1,94 @@
+//
+// IMASettings.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Stores SDK wide settings. Only instantiated in the SDK.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The IMASettings class stores SDK wide settings.
+ */
+@interface IMASettings : NSObject
+
+/**
+ * Publisher Provided Identification (PPID) sent with ads request.
+ */
+@property(nonatomic, copy, nullable) NSString *ppid;
+
+/**
+ * Language specification used for localization. |Language| must be formatted as
+ * a canonicalized IETF BCP 47 language identifier such as would be returned by
+ * [NSLocale preferredLanguages]. Setting this property after it has been sent
+ * to the IMAAdsLoader will be ignored and a warning will be logged.
+ */
+@property(nonatomic, copy) NSString *language;
+
+/**
+ * Specifies maximum number of redirects after which subsequent redirects will
+ * be denied, and the ad load aborted. The number of redirects directly affects
+ * latency and thus user experience. This applies to all VAST wrapper ads. If
+ * the number of redirects exceeds |maxRedirects|, the ad request will fail with
+ * error code 302. The default value is 4.
+ */
+@property(nonatomic) NSUInteger maxRedirects;
+
+/**
+ * Feature flags and their states. Used to control experimental features.
+ */
+@property(nonatomic) NSDictionary *featureFlags;
+
+/**
+ * Enable background audio playback for the SDK. The default value is NO.
+ */
+@property(nonatomic) BOOL enableBackgroundPlayback;
+
+/**
+ * Specifies whether to automatically play VMAP and ad rules ad breaks. The
+ * default value is YES.
+ */
+@property(nonatomic) BOOL autoPlayAdBreaks;
+
+/**
+ * Specifies whether to update the MPNowPlayingInfoCenter content with the
+ * title "Advertisement". If disabled, MPNowPlayingInfoCenter is untouched.
+ * The default value is NO.
+ */
+@property(nonatomic) BOOL disableNowPlayingInfo;
+
+/**
+ * The partner specified video player that is integrating with the SDK.
+ */
+@property(nonatomic, copy, nullable) NSString *playerType;
+
+/**
+ * The partner specified player version that is integrating with the SDK.
+ */
+@property(nonatomic, copy, nullable) NSString *playerVersion;
+
+/**
+ * The session ID to identify a single user session. This should be a UUID. It
+ * is used exclusively for frequency capping across the user session.
+ */
+@property(nonatomic, copy, nullable) NSString *sessionID;
+
+/**
+ * Controls whether Same App Key is enabled. The value set persists across app sessions. The key is
+ * enabled by default.
+ */
+@property(nonatomic) BOOL sameAppKeyEnabled __TVOS_UNAVAILABLE;
+
+/**
+ * Toggles debug mode which will output detailed log information to the console.
+ * Debug mode should be disabled in Release and will display a watermark when
+ * enabled. The default value is NO.
+ */
+@property(nonatomic) BOOL enableDebugMode;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h
new file mode 100755
index 0000000..721fc7c
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h
@@ -0,0 +1,166 @@
+//
+// IMAStreamManager.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Declares IMAStreamManager interface that manages stream playback.
+// The interface represents an abstract API. There can be only one stream managed by a single
+// stream manager.
+// The implementing code should respond to the callbacks as defined in IMAStreamManagerDelegate.
+//
+// A typical stream playback session:
+// 1. Stream manager is retrieved. Delegate is set.
+// 2. Stream playback will meanwhile start because of the adsLoader requestStream call.
+// 3. delegate.didReceiveAdEvent: is called with a kIMAAdBreakStarted event.
+// 4. Publisher should now hide content controls or disable seeking. Ad is now playing
+// 5. delegate.didReceiveAdEvent: is called with a kIMAAdStart event. This event comes with
+// information about the ad.
+// 6. delegate.didReceiveAdEvent is called with ad events like quartiles, midpoint and complete.
+// 7. Ad break finishes and delegate.didReceiveAdEvent is called with a kIMAAdBreakEnded event.
+// 8. Publisher should now show content controls or reenable seeking. Content is now playing.
+// playback should resume now.
+// It is possible to detach the delegate and destroy the ads manager.
+//
+// Steps 3-8 may repeat several times for the same stream if there are multiple ads inserted in
+// the stream.
+
+#import
+
+#import "IMAAdError.h"
+#import "IMAAdEvent.h"
+#import "IMAAdPlaybackInfo.h"
+#import "IMAAdsRenderingSettings.h"
+#import "IMAContentPlayhead.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMACuepoint;
+@class IMAStreamManager;
+
+#pragma mark IMAStreamManagerDelegate
+
+/**
+ * A callback protocol for IMAStreamManager.
+ */
+@protocol IMAStreamManagerDelegate
+
+/**
+ * Called when there is an IMAAdEvent.
+ *
+ * @param streamManager the IMAStreamManager receiving the event
+ * @param event the IMAAdEvent received
+ */
+- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdEvent:(IMAAdEvent *)event;
+
+/**
+ * Called when there is an IMAAdEvent.
+ *
+ * @param streamManager the IMAStreamManager receiving the error
+ * @param error the IMAAdError received
+ */
+- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdError:(IMAAdError *)error;
+
+@optional
+
+/**
+ * Called when the ad is playing to give updates about ad progress.
+ *
+ * @param streamManager the IMAStreamManager tracking ad playback
+ * @param time the current ad playback time in seconds
+ * @param adDuration the total duration of the current ad in seconds
+ * @param adPosition the ad position of the current ad in the current ad break
+ * @param totalAds the total number of ads in the current ad break
+ * @param adBreakDuration the total duration of the current ad break in seconds
+ * @param adPeriodDuration the total duration of the current ad period in seconds. This includes ads
+ * duration plus slate.
+ */
+- (void)streamManager:(IMAStreamManager *)streamManager
+ adDidProgressToTime:(NSTimeInterval)time
+ adDuration:(NSTimeInterval)adDuration
+ adPosition:(NSInteger)adPosition
+ totalAds:(NSInteger)totalAds
+ adBreakDuration:(NSTimeInterval)adBreakDuration
+ adPeriodDuration:(NSTimeInterval)adPeriodDuration;
+
+@end
+
+#pragma mark - IMAStreamManager
+
+/**
+ * The IMAStreamManager class is responsible for playing streams.
+ */
+@interface IMAStreamManager : NSObject
+
+/**
+ * The IMAStreamManagerDelegate to notify with events during stream playback.
+ */
+@property(nonatomic, weak, nullable) NSObject *delegate;
+
+/**
+ * Identifier used during dynamic ad insertion to uniquely identify a stream. This can be used in
+ * the Stream Activity Monitor Debug Console to debug the stream session.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *streamId;
+
+/**
+ * Initializes and loads the stream.
+ *
+ * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering.
+ * Use nil to default to standard rendering.
+ */
+- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings;
+
+/**
+ * Returns the stream time with ads for a given content time. Returns the given content time
+ * for live streams.
+ *
+ * @param contentTime the content time without any ads (in seconds)
+ *
+ * @return the stream time that corresponds with the given content time once ads are inserted
+ */
+- (NSTimeInterval)streamTimeForContentTime:(NSTimeInterval)contentTime;
+
+/**
+ * Returns the content time without ads for a given stream time. Returns the given stream time
+ * for live streams.
+ *
+ * @param streamTime the stream time with inserted ads (in seconds)
+ *
+ * @return the content time that corresponds with the given stream time once ads are removed
+ */
+- (NSTimeInterval)contentTimeForStreamTime:(NSTimeInterval)streamTime;
+
+/**
+ * Returns the previous cuepoint for the given stream time. Returns nil if no such cuepoint exists.
+ * This is used to implement features like snap back, and called when the publisher detects that
+ * the user seeked in order to force the user to watch an ad break they may have skipped over.
+ *
+ * @param streamTime the stream time that the was seeked to.
+ *
+ * @return the previous IMACuepoint for the given stream time.
+ */
+- (nullable IMACuepoint *)previousCuepointForStreamTime:(NSTimeInterval)streamTime;
+
+/**
+ * Replaces all of the ad tag parameters used for upcoming ad requests for a
+ * live stream.
+ * Note that this call is a no-op for VOD streams.
+ *
+ * @param adTagParameters the new ad tag parameters for the current stream.
+ */
+- (void)replaceAdTagParameters:(nullable NSDictionary *)adTagParameters;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Cleans the stream manager's internal state for proper deallocation.
+ */
+- (void)destroy;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h
new file mode 100755
index 0000000..9d9368d
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h
@@ -0,0 +1,107 @@
+//
+// IMAStreamRequest.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Declares a simple stream request class.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@class IMASecureSignals;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data class describing the stream request.
+ */
+@interface IMAStreamRequest : NSObject
+
+/**
+ * The stream display container for displaying the ad UI.
+ */
+@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer;
+
+/**
+ * The video display where the stream can be played.
+ */
+@property(nonatomic, readonly) id videoDisplay;
+
+/**
+ * The stream request API key. It's configured through the
+ *
+ * DFP Admin UI and provided to the publisher to unlock their content.
+ * It verifies the applications that are attempting to access the content.
+ */
+@property(nonatomic, copy, nullable) NSString *apiKey;
+
+/**
+ * The stream request authorization token. This is used in place of the API key for stricter
+ * content authorization. The publisher can control individual content streams authorized based
+ * on this token.
+ */
+@property(nonatomic, copy, nullable) NSString *authToken;
+
+/**
+ * The ID to be used to debug the stream with the stream activity monitor. This is used to provide
+ * a convenient way to allow publishers to find a stream log in the stream activity monitor tool.
+ */
+@property(nonatomic, copy, nullable) NSString *streamActivityMonitorID;
+
+/**
+ * You can override a limited set of ad tag parameters on your stream request.
+ *
+ * Supply targeting parameters to your stream provides more information.
+ *
+ * You can use the dai-ot and dai-ov parameters for stream variant preference.
+ * See
+ * Override Stream Variant Parameters for more information.
+ */
+@property(nonatomic, copy, nullable) NSDictionary *adTagParameters;
+
+/**
+ * The suffix that the SDK will append to the query of the stream manifest URL. Do not include the
+ * '?' separator at the start. The SDK will account for the existence of parameters in the URL
+ * already, removing existing ones that collide with ones supplied here. This suffix needs to be
+ * sanitized and encoded as the SDK will not do this.
+ */
+@property(nonatomic, copy, nullable) NSString *manifestURLSuffix;
+
+/**
+ * Specifies the universal link to the content's screen. If provided, this parameter is passed to
+ * the OM SDK. See Apple
+ * documentation for more information.
+ */
+@property(nonatomic, copy, nullable) NSURL *contentURL;
+
+/**
+ * Enables the addition of a nonce to the request. This is needed to transmit monetization signals
+ * to Google servers when ads are requested server side from a non Google server. Defaults to false.
+ * :nodoc:
+ */
+@property(nonatomic, assign) BOOL enableNonce;
+
+/**
+ * Specifies the Secure Signal with custom data for this stream request. Secure Signal with custom
+ * data is an encrypted blob containing signals collected by the publisher and previously agreed
+ * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by
+ * passing null to this function.
+ */
+@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals;
+
+/**
+ * The user context.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
new file mode 100755
index 0000000..49c75f1
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
@@ -0,0 +1,30 @@
+/*! \file IMAUiElements.h
+ * GoogleIMA3
+ *
+ * Copyright (c) 2013 Google Inc. All rights reserved.
+ *
+ * Defines an enum containing the possible UI elements that can be
+ * customized by the publisher during ad playback.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark IMAUiElementType
+
+/**
+ * Different UI elements that can be customized.
+ */
+typedef NS_ENUM(NSInteger, IMAUiElementType) {
+ /**
+ * Ad attribution UI element.
+ */
+ kIMAUiElements_AD_ATTRIBUTION,
+ /**
+ * Ad countdown element.
+ */
+ kIMAUiElements_COUNTDOWN
+};
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h
new file mode 100755
index 0000000..cdd99c0
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h
@@ -0,0 +1,36 @@
+//
+// IMAUniversalAdID.h
+// GoogleIMA3
+//
+// Copyright (c) 2019 Google Inc. All rights reserved.
+//
+// Represents the universal ad ID information for a single ad.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Simple data object containing universal ad ID information.
+ */
+@interface IMAUniversalAdID : NSObject
+
+/**
+ * The universal ad ID value. This will be "unknown" if it isn't defined by the ad.
+ */
+@property(nonatomic, copy, readonly) NSString *adIDValue;
+
+/**
+ * The universal ad ID registry with which the value is registered. This will be "unknown"
+ * if it isn't defined by the ad.
+ */
+@property(nonatomic, copy, readonly) NSString *adIDRegistry;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h
new file mode 100755
index 0000000..241c7a6
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h
@@ -0,0 +1,80 @@
+//
+// IMAVODStreamRequest.h
+// GoogleIMA3_ios
+//
+// Declares a representation of a stream request for on-demand streams.
+//
+
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@class IMAPictureInPictureProxy;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data object describing a VOD stream request.
+ */
+
+@interface IMAVODStreamRequest : IMAStreamRequest
+
+/**
+ * The stream request content source ID. This is used to determine the
+ * content source of the stream.
+ */
+@property(nonatomic, copy, readonly) NSString *contentSourceID;
+
+/**
+ * The stream request video ID. This is used to determine which specific video
+ * stream should be played.
+ */
+@property(nonatomic, copy, readonly) NSString *videoID;
+
+/**
+ * Initializes a stream request instance with the given content source ID and video ID.
+ * Uses the given ad display container to display the stream. This is used for on-demand streams.
+ *
+ * @param contentSourceID the content source ID for this stream
+ * @param videoID the video identifier for this stream
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMAVODStreamRequest instance
+ */
+- (instancetype)initWithContentSourceID:(NSString *)contentSourceID
+ videoID:(NSString *)videoID
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+
+/**
+ * Initializes a stream request instance with the given content source ID and video ID.
+ * Uses the given ad display container to display the stream. This is used for on-demand streams.
+ * Uses the picture in picture proxy to track PIP events.
+ *
+ * @param contentSourceID the content source ID for this stream
+ * @param videoID the video identifier for this stream
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMAVODStreamRequest instance
+ */
+- (instancetype)initWithContentSourceID:(NSString *)contentSourceID
+ videoID:(NSString *)videoID
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
new file mode 100755
index 0000000..ce2c952
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
@@ -0,0 +1,14 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface IMAVersion : NSObject
+/** Major version. */
+@property(nonatomic) NSInteger majorVersion;
+/** Minor version. */
+@property(nonatomic) NSInteger minorVersion;
+/** Patch version. */
+@property(nonatomic) NSInteger patchVersion;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
new file mode 100755
index 0000000..735b621
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
@@ -0,0 +1,203 @@
+//
+// IMAVideoDisplay.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Declares a simple video display class used for ad playback.
+
+#import "IMAAdPlaybackInfo.h"
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol IMAVideoDisplay;
+
+/**
+ * Delegate object that receives state change callbacks from IMAVideoDisplay.
+ */
+@protocol IMAVideoDisplayDelegate
+
+/**
+ * Informs the SDK that the ad has loaded.
+ *
+ * @param videoDisplay the IMAVideoDisplay that loaded the ad
+ */
+- (void)videoDisplayDidLoad:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has started playback. This must be called at most once per loadStream:
+ * or loadUrl: call.
+ *
+ * @param videoDisplay the IMAVideoDisplay that started ad playback
+ */
+- (void)videoDisplayDidStart:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has paused.
+ *
+ * @param videoDisplay the IMAVideoDisplay that paused ad playback
+ */
+- (void)videoDisplayDidPause:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has resumed playback.
+ *
+ * @param videoDisplay the IMAVideoDisplay that resumed ad playback
+ */
+- (void)videoDisplayDidResume:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has completed playback.
+ *
+ * @param videoDisplay the IMAVideoDisplay that completed ad playback
+ */
+- (void)videoDisplayDidComplete:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad was clicked.
+ *
+ * @param videoDisplay the IMAVideoDisplay that received the ad click
+ */
+- (void)videoDisplayDidClick:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad playback failed due to an error.
+ *
+ * @param videoDisplay the IMAVideoDisplay that failed to play the ad
+ * @param error the error that caused the video display to fail to play the ad
+ */
+- (void)videoDisplay:(id)videoDisplay didReceiveError:(NSError *)error;
+
+/**
+ * Informs the SDK the ad was skipped.
+ *
+ * @param videoDisplay the IMAVideoDisplay that skipped the ad
+ */
+- (void)videoDisplayDidSkip:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad skip button appeared.
+ *
+ * @param videoDisplay the IMAVideoDisplay that showed the skip button
+ */
+- (void)videoDisplayDidShowSkip:(id)videoDisplay;
+
+/**
+ * Informs the SDK that the ad volume was changed.
+ *
+ * @param videoDisplay the IMAVideoDisplay that changed the ad volume
+ * @param volume the new volume of the ad being played
+ */
+- (void)videoDisplay:(id)videoDisplay volumeChangedTo:(NSNumber *)volume;
+
+/**
+ * Informs the SDK that the video ad progressed.
+ *
+ * @param videoDisplay the IMAVideoDisplay that progressed
+ * @param mediaTime the current time of the ad being played
+ * @param duration the total duration of the ad being played
+ */
+- (void)videoDisplay:(id)videoDisplay
+ didProgressWithMediaTime:(NSTimeInterval)mediaTime
+ totalTime:(NSTimeInterval)duration;
+
+/**
+ * Informs the SDK that timed metadata was received.
+ *
+ * @param videoDisplay the IMAVideoDisplay that received the timed metadata event
+ * @param metadata the metadata dictionary received with the timed metadata event
+ */
+- (void)videoDisplay:(id)videoDisplay
+ didReceiveTimedMetadata:(NSDictionary *)metadata;
+
+@optional
+
+/**
+ * Informs the SDK the video ad is buffered to |mediaTime| in seconds.
+ *
+ * @param videoDisplay the IMAVideoDisplay whose buffer was updated
+ * @param mediaTime the time in seconds of ad media that has been buffered.
+ */
+- (void)videoDisplay:(id)videoDisplay
+ didBufferToMediaTime:(NSTimeInterval)mediaTime;
+
+/**
+ * Informs the SDK the ad is buffered and playback is likely to keep up.
+ *
+ * @param videoDisplay the IMAVideoDisplay that is playback ready
+ */
+- (void)videoDisplayIsPlaybackReady:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad's media buffer is empty and playback will stall.
+ *
+ * @param videoDisplay the IMAVideoDisplay that started buffering
+ */
+- (void)videoDisplayDidStartBuffering:(id)videoDisplay;
+
+@end
+
+/**
+ * Declares a simple video display class used for ad playback.
+ */
+@protocol IMAVideoDisplay
+
+/**
+ * Allows the publisher to send player events to the SDK.
+ */
+@property(nonatomic, weak, nullable) id delegate;
+
+/**
+ * Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is
+ * relative to device volume, not absolute. Default value is 1.
+ */
+@property(nonatomic, assign) float volume;
+
+/**
+ * Called to inform the VideoDisplay to load the passed URL with the subtitles for the stream.
+ * Subtitles are available only for dynamic ad insertion VOD streams and can be ignored
+ * for client side ads or dynamic ad insertion live streams.
+ *
+ * @param streamURL the URL of the stream
+ * @param subtitles the subtitles for the stream. Each entry in the subtitles array is an
+ * *NSDictionary* that corresponds to a language. Each dictionary will have a
+ * *language* key with a two letter language string value, a *language name*
+ * to specify the set of subtitles if multiple sets exist for the same language,
+ * and one or more subtitle key/value pairs. Here's an example NSDictionary for
+ * English:
+ *
+ * "language" -> "en"
+ * "language_name" -> "English"
+ * "webvtt" -> "https://somedomain.com/vtt/en.vtt"
+ * "ttml" -> "https://somedomain.com/ttml/en.ttml"
+ */
+- (void)loadStream:(NSURL *)streamURL
+ withSubtitles:(NSArray *> *)subtitles;
+
+/**
+ * Called to inform the VideoDisplay to play.
+ */
+- (void)play;
+
+/**
+ * Called to inform the VideoDisplay to pause.
+ */
+- (void)pause;
+
+/**
+ * Called to remove all video assets from the player.
+ */
+- (void)reset;
+
+/**
+ * Called to inform that the stream needs to be seeked to the given time.
+ *
+ * @param time the time to which the stream should be seeked
+ */
+- (void)seekStreamToTime:(NSTimeInterval)time;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h
new file mode 100755
index 0000000..14dc929
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h
@@ -0,0 +1,86 @@
+#import "IMAPictureInPictureProxy.h"
+#import "IMAPodStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/** Data object describing a stream request for a Google video stitcher live serving stream. */
+@interface IMAVideoStitcherLiveStreamRequest : IMAPodStreamRequest
+
+/** The live stream ID for the stream. */
+@property(nonatomic, readonly) NSString *liveStreamEventID;
+
+/** The region for the stream. */
+@property(nonatomic, readonly) NSString *region;
+
+/** The project number for the stream. */
+@property(nonatomic, readonly) NSString *projectNumber;
+
+/** The OAuth Token for the stream. */
+@property(nonatomic, readonly) NSString *OAuthToken;
+
+/**
+ * Initializes a stream request instance with the given network code and custom
+ * asset key. Uses the given ad display container to display the stream.
+ *
+ * @param liveStreamEventID The live stream ID for the stream.
+ * @param region The region for the stream.
+ * @param projectNumber The project number for the stream.
+ * @param OAuthToken The OAuth Token for the stream.
+ * @param networkCode The network code for the stream.
+ * @param customAssetKey The asset key for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherLiveStreamRequest instance.
+ */
+- (instancetype)initWithLiveStreamEventID:(NSString *)liveStreamEventID
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ customAssetKey:(NSString *)customAssetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+
+/**
+ * Initializes a stream request instance with the given network code and custom
+ * asset key. Uses the given ad display container to display the stream. Uses the picture in picture
+ * proxy to track PIP events.
+ *
+ * @param liveStreamEventID The live stream ID for the stream.
+ * @param region The region for the stream.
+ * @param projectNumber The project number for the stream.
+ * @param OAuthToken The OAuth Token for the stream.
+ * @param networkCode The network code for the stream.
+ * @param customAssetKey The asset key for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherLiveStreamRequest instance.
+ */
+- (instancetype)initWithLiveStreamEventID:(NSString *)liveStreamEventID
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ customAssetKey:(NSString *)customAssetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h
new file mode 100755
index 0000000..4ae345c
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h
@@ -0,0 +1,95 @@
+#import "IMAPictureInPictureProxy.h"
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data object describing a stream request for a Google video stitcher video on demand serving
+ * stream.
+ */
+@interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest
+
+/** The adTagURL for the stream. */
+@property(nonatomic, readonly) NSString *adTagURL;
+
+/** The URL of the content source for the stream. */
+@property(nonatomic, readonly) NSString *contentSourceURL;
+
+/** The networkCode associate with the stream. */
+@property(nonatomic, readonly) NSString *networkCode;
+
+/** The OAuth Token for the stream. */
+@property(nonatomic, readonly) NSString *OAuthToken;
+
+/** The project number for the stream. */
+@property(nonatomic, readonly) NSString *projectNumber;
+
+/** The region for the stream. */
+@property(nonatomic, readonly) NSString *region;
+
+/**
+ * Initializes a stream request instance with the given network code, content source url, ad tag
+ * url, project number, region, and OAuth token. Uses the given ad display container to display the
+ * stream.
+ *
+ * @param adTagURL The adTagURL for the stream.
+ * @param contentSourceURL The contentSourceURL for the stream.
+ * @param networkCode The networkCode for the stream.
+ * @param OAuthToken The OAuth token for the stream.
+ * @param projectNumber The projectNumber for the stream.
+ * @param region The region for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherVODStreamRequest instance.
+ */
+- (instancetype)initWithAdTagURL:(NSString *)adTagURL
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ contentSourceURL:(NSString *)contentSourceURL
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+/**
+ * Initializes a stream request instance with the given network code, content source url, ad tag
+ * url, project number, region, and OAuth token. Uses the given ad display container to display the
+ * stream. Uses the picture in picture proxy to track PIP events.
+ *
+ * @param adTagURL The adTagURL code for the stream.
+ * @param contentSourceURL The contentSourceURL code for the stream.
+ * @param networkCode The networkCode for the stream.
+ * @param OAuthToken The OAuth Token for the stream.
+ * @param projectNumber The projectNumber for the stream.
+ * @param region The region for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAVideoStitcherVODStreamRequest instance.
+ */
+- (instancetype)initWithAdTagURL:(NSString *)adTagURL
+ region:(NSString *)region
+ projectNumber:(NSString *)projectNumber
+ OAuthToken:(NSString *)OAuthToken
+ networkCode:(NSString *)networkCode
+ contentSourceURL:(NSString *)contentSourceURL
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Info.plist b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Info.plist
new file mode 100755
index 0000000..7c8b5f0
Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Info.plist differ
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap
new file mode 100755
index 0000000..c442356
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap
@@ -0,0 +1,5 @@
+framework module GoogleInteractiveMediaAds {
+ umbrella header "GoogleInteractiveMediaAds.h"
+ export *
+ module * { export * }
+}
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/README.txt b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/README.txt
new file mode 100755
index 0000000..abd1899
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/README.txt
@@ -0,0 +1,12 @@
+========================================
+Google Interactive Media Ads SDK for tvOS
+========================================
+
+This is the Google Interactive Media Ads SDK for tvOS.
+
+Requirements:
+- Xcode 7.2 or later.
+- tvOS deployment target of tvOS 9.1 or later.
+
+The latest documentation and code samples are available at:
+https://developers.google.com/interactive-media-ads/
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/VERSION
new file mode 100755
index 0000000..5b341fd
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/VERSION
@@ -0,0 +1 @@
+4.9.1
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/locales.xml b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/locales.xml
new file mode 100755
index 0000000..0c5dbe0
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/locales.xml
@@ -0,0 +1,114 @@
+
+
+
+
+ af
+ am
+ ar_eg
+ ar_sa
+ ar_xb
+ ar
+ be
+ bg
+ bn
+ ca
+ cs
+ da
+ de_at
+ de_cn
+ de
+ el
+
+ en_au
+ en_ca
+ en_gb
+ en_ie
+ en_in
+ en_sg
+ en_xa
+ en_xc
+ en_za
+ en
+ es_419
+ es_ar
+ es_bo
+ es_cl
+ es_co
+ es_cr
+ es_do
+ es_ec
+ es_gt
+ es_hn
+ es_mx
+ es_ni
+ es_pa
+ es_pe
+ es_pr
+ es_py
+ es_sv
+ es_us
+ es_uy
+ es_ve
+ es
+ et
+ eu
+ fa
+ fi
+ fil
+ fr_ca
+ fr_ch
+ fr
+ gl
+ gsw
+ gu
+ he
+ hi
+ hr
+ hu
+ id
+ in
+ is
+ it
+ iw
+ ja
+ kn
+ ko
+ ln
+ lo
+ lt
+ lv
+ ml
+ mo
+ mr
+ ms
+ nb
+ ne
+ nl
+ no
+ pl
+ pt_br
+ pt_pt
+ pt
+ ro
+ ru
+ sk
+ sl
+ sr_latn
+ sr
+ sv
+ sw
+ ta
+ te
+ th
+ tl
+ tr
+ uk
+ ur
+ vi
+ zh_cn
+ zh_hk
+ zh_tw
+ zh
+ zu
+
+
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/prelude.js b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/prelude.js
new file mode 100755
index 0000000..1ab5b88
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/prelude.js
@@ -0,0 +1,129 @@
+// TODO (b/138857444) Add BUILD file to compile this file.
+
+/**
+ * Adapter for JSTimer.setTimeout implementation to allow for proper
+ * propagation of variadic arguments.
+ *
+ * @param {function(...)} func The function to invoke.
+ * @param {number} delay The amount of milliseconds to wait before invoking the
+ * function.
+ * @param {...} args The arguments to pass to the function.
+ * @return {number} The identifier for the timer.
+ */
+setTimeout = function(func, delay, ...args) {
+ return JSTimer.setTimeout(func, delay, args);
+};
+
+/**
+ * Cancel invocation scheduled by setTimeout (If not yet triggered).
+ *
+ * @param {number} id The ID returned by setTimeout
+ * for the invocation to cancel.
+ */
+clearTimeout = function(id) {
+ JSTimer.clearTimeout(id);
+};
+
+/**
+ * Sends a message from the native bridge to Obj-C.
+ *
+ * @param {string} name The message name.
+ * @param {!Object} messageData The message data.
+ */
+browserlessSender = function(name, messageData) {
+ IMAJSMessageReceiver.didReceiveMessage(name, messageData);
+};
+
+/**
+ * Sends a message from Obj-c to the native bridge.
+ *
+ * @param {string} name The message name.
+ * @param {!Object} messageData The message data.
+ */
+browserlessReceiver = function(name, messageData) {
+ google.ima.NativeBridge.receiveMessage(name, JSON.stringify(messageData));
+};
+
+google = {};
+google.ima = {};
+google.ima.NativeLoader = {};
+google.ima.BrowserlessExports = {};
+
+/**
+ * Sends a message from Obj-c to the native bridge.
+ *
+ * @param {string} text the text to be encrypted.
+ * @param {string} keyset the keyset to be loaded.
+ * @param {function(string)} callback function to be called with the encryption
+ * result.
+ */
+google.ima.BrowserlessExports.encryptString = function(text, keyset, callback) {
+ JSEncryptor.encryptStringWithKeyset(text, keyset, callback);
+};
+
+
+/**
+ * Gets the type of messaging that will be used to send messages from the JS
+ * layer to the native layer of the SDK. Messaging types defined in:
+ * javascript/ads/interactivemedia/sdk/native_bridge/constants.js
+ *
+ * @return {number} The type of messaging used (browserless).
+ */
+google.ima.NativeLoader.getMessagingType = function() {
+ return 3;
+};
+
+// Used for platform checks in the native bridge.
+navigator = {};
+
+document = {};
+/**
+ * Temporary stub for getElementsByTagName.
+ * TODO (kpshay) Remove once bridged document func is complete.
+ * @return {!Array} An empty array.
+ */
+document.getElementsByTagName = function() {
+ return [];
+};
+window = {};
+window.location = {};
+window.location.search = '';
+window.location.hash = '';
+window.location.username = '';
+window.location.password = '';
+window.location.port = '';
+window.document = document;
+// Simulate a top window context.
+window.parent = window;
+
+/** A namespace for IMAXMLHttpRequest facilities. */
+IMAXMLHttpRequest = {
+ /**
+ * A map for holding onto active XMLHttpRequests. This is needed so that the
+ * garbage collector is aware of the XMLHttpRequest and won't deallocate its
+ * JS members (for example, any event listeners added). See b/154539920 for
+ * more details.
+ * @const {!Map}
+ */
+ instances_: new Map(),
+
+ /**
+ * Retains the given XMLHttpRequest in JavaScript. This should be called once
+ * the request is active and should not be garbage collected, even if there
+ * are no other explicit references kept to it in JavaScript.
+ * @param {!XMLHttpRequest} xhr The instance to register.
+ * @param {string} id An unique ID for this instance.
+ */
+ retainInstance: function(xhr, id) {
+ IMAXMLHttpRequest.instances_.set(id, xhr);
+ },
+
+ /**
+ * Releases the given XMLHttpRequest in JavaScript. This should be called once
+ * the request is no longer in an active state and can be garbage collected.
+ * @param {string} id The ID of the XMLHttpRequest to release.
+ */
+ releaseInstance: function(id) {
+ IMAXMLHttpRequest.instances_.delete(id);
+ },
+};
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Assets.car b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Assets.car
new file mode 100755
index 0000000..ed5f6a4
Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Assets.car differ
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds
new file mode 100755
index 0000000..1f4ffb9
Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
new file mode 100755
index 0000000..717afe0
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h
@@ -0,0 +1,32 @@
+#import "IMAAVPlayerContentPlayhead.h"
+#import "IMAAVPlayerVideoDisplay.h"
+#import "IMAAd.h"
+#import "IMAAdDisplayContainer.h"
+#import "IMAAdError.h"
+#import "IMAAdEvent.h"
+#import "IMAAdPlaybackInfo.h"
+#import "IMAAdPodInfo.h"
+#import "IMAAdsLoader.h"
+#import "IMAAdsManager.h"
+#import "IMAAdsRenderingSettings.h"
+#import "IMAAdsRequest.h"
+#import "IMACompanionAd.h"
+#import "IMACompanionAdSlot.h"
+#import "IMAContentPlayhead.h"
+#import "IMACuepoint.h"
+#import "IMAFriendlyObstruction.h"
+#import "IMALiveStreamRequest.h"
+#import "IMAPictureInPictureProxy.h"
+#import "IMAPodStreamRequest.h"
+#import "IMASecureSignals.h"
+#import "IMASecureSignalsAdapter.h"
+#import "IMASettings.h"
+#import "IMAStreamManager.h"
+#import "IMAStreamRequest.h"
+#import "IMAUiElements.h"
+#import "IMAUniversalAdID.h"
+#import "IMAVODStreamRequest.h"
+#import "IMAVersion.h"
+#import "IMAVideoDisplay.h"
+#import "IMAVideoStitcherLiveStreamRequest.h"
+#import "IMAVideoStitcherVODStreamRequest.h"
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
new file mode 100755
index 0000000..c912bf5
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h
@@ -0,0 +1,45 @@
+//
+// IMAAVPlayerContentPlayhead.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares IMAAVPlayerContentPlayhead, a wrapper for tracking AVPlayer-based
+// video players.
+
+#import
+
+#import "IMAContentPlayhead.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * An implementation of IMAContentPlayhead for AVPlayer. Use this class to
+ * provide content tracking if your content player of choice is an AVPlayer
+ * or its subclass.
+ */
+@interface IMAAVPlayerContentPlayhead : NSObject
+
+/**
+ * The player to track.
+ */
+@property(nonatomic, readonly) AVPlayer *player;
+
+/**
+ * Initializes a IMAAVPlayerContentPlayhead that tracks a player. It will attach a periodic time
+ * observer to the player immediately.
+ *
+ * @param player the AVPlayer to track.
+ *
+ * @return the IMAAVPlayerContentPlayhead instance
+ */
+- (instancetype)initWithAVPlayer:(AVPlayer *)player;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
new file mode 100755
index 0000000..b3384a7
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h
@@ -0,0 +1,96 @@
+//
+// IMAAVPlayerVideoDisplay.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares an object that reuses an AVPlayer for both content and ad playback
+
+#import
+
+#import "IMAVideoDisplay.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class AVPlayer;
+@class AVPlayerItem;
+@class AVURLAsset;
+@class IMAAVPlayerVideoDisplay;
+
+/**
+ * The key for subtitle language.
+ */
+extern NSString *const kIMASubtitleLanguage;
+
+/**
+ * The key for the WebVTT sidecar subtitle URL.
+ */
+extern NSString *const kIMASubtitleWebVTT;
+
+/**
+ * The key for the TTML sidecar subtitle URL.
+ */
+extern NSString *const kIMASubtitleTTML;
+
+/**
+ * A callback protocol for IMAAVPlayerVideoDisplayDelegate.
+ */
+@protocol IMAAVPlayerVideoDisplayDelegate
+
+@optional
+
+/**
+ * Called when the IMAAVPlayerVideoDisplay will load a stream for playback. Allows the publisher to
+ * register the AVURLAsset for Fairplay content protection before playback starts.
+ *
+ * @param playerVideoDisplay the IMAVPlayerVideoDisplay that will load the AVURLAsset.
+ * @param URLAsset the AVURLAsset representing the stream to be loaded.
+ */
+- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay
+ willLoadStreamAsset:(AVURLAsset *)URLAsset;
+
+/**
+ * Called when the IMAAVPlayerVideoDisplay
has at least partially loaded media for
+ * playback and the player item is loaded. Only called for dynamic ad insertion.
+ */
+- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay
+ didLoadPlayerItem:(AVPlayerItem *)playerItem;
+
+@end
+
+/**
+ * An implementation of the IMAVideoDisplay protocol. This object is intended
+ * to be initialized with the content player, and will reuse the player for
+ * playing ads.
+ */
+@interface IMAAVPlayerVideoDisplay : NSObject
+
+/**
+ * Allows the publisher to receive IMAAVPlayerVideoDisplay specific events.
+ */
+@property(nonatomic, weak, nullable) id playerVideoDisplayDelegate;
+
+/**
+ * The subtitles for the current stream. Will be nil until the stream starts playing.
+ */
+@property(nonatomic, readonly, nullable) NSArray *subtitles;
+
+/**
+ * A dictionary that contains options used to customize the initialization of an @c AVURLAsset for
+ * stream playback. Has no effect on client-side ads.
+ */
+@property(nonatomic, copy, nullable) NSDictionary *streamAssetOptions;
+
+/**
+ * Creates an IMAAVPlayerVideoDisplay that will play ads in the passed in
+ * content player.
+ *
+ * @param player the AVPlayer instance used for playing content
+ *
+ * @return an IMAAVPlayerVideoDisplay instance
+ */
+- (instancetype)initWithAVPlayer:(AVPlayer *)player;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h
new file mode 100755
index 0000000..b88823e
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h
@@ -0,0 +1,197 @@
+//
+// IMAAd.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Represents metadata of a single ad. The user can use this metadata for
+// positioning nonlinear ads (isLinear, width, height), internal tracking
+// (adId, adTitle) or custom behavior (traffickingParameters).
+
+#import
+
+#import "IMAAdPodInfo.h"
+#import "IMACompanionAd.h"
+#import "IMAUniversalAdID.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Data object representing a single ad.
+ */
+@interface IMAAd : NSObject
+
+/**
+ * The ad ID as specified in the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *adId;
+
+/**
+ * The ad title from the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *adTitle;
+
+/**
+ * The ad description.
+ */
+@property(nonatomic, copy, readonly) NSString *adDescription;
+
+/**
+ * The source ad server information included in the ad response.
+ */
+@property(nonatomic, copy, readonly) NSString *adSystem;
+
+/** The companion ads specified in the VAST response when using DAI. Empty for client-side ads. */
+@property(nonatomic, copy, readonly) NSArray *companionAds;
+
+/**
+ * Content type of the currently selected creative. For linear creatives
+ * returns the content type of the currently selected media file. Returns
+ * empty string if no creative or media file is selected on this ad.
+ */
+@property(nonatomic, copy, readonly) NSString *contentType;
+
+/**
+ * The duration of the ad from the VAST response.
+ */
+@property(nonatomic, readonly) NSTimeInterval duration;
+
+/**
+ * The UI elements that will be displayed during ad
+ * playback.
+ */
+
+@property(nonatomic, copy, readonly) NSArray *uiElements;
+
+/**
+ * Whether or not the ad UI will be disabled for this ad.
+ * :nodoc:
+ */
+@property(nonatomic, readonly, getter=isUiDisabled) BOOL uiDisabled;
+
+/**
+ * The width of the ad asset. For non-linear ads, this is the actual width
+ * of the ad representation. For linear ads, since they scale seamlessly, we
+ * currently return 0 for width.
+ */
+@property(nonatomic, readonly) NSInteger width;
+
+/**
+ * The height of the ad asset. For non-linear ads, this is the actual height
+ * of the ad representation. For linear ads, since they scale seamlessly, we
+ * currently return 0 for height.
+ */
+@property(nonatomic, readonly) NSInteger height;
+
+/**
+ * The width of the selected creative as specified in the VAST response.
+ */
+@property(nonatomic, readonly) NSInteger VASTMediaWidth;
+
+/**
+ * The height of the selected creative as specified in the VAST response.
+ */
+@property(nonatomic, readonly) NSInteger VASTMediaHeight;
+
+/**
+ * The bitrate of the selected creative as specified in the VAST response.
+ */
+@property(nonatomic, readonly) NSInteger VASTMediaBitrate;
+
+/**
+ * Specifies whether the ad is linear or non-linear.
+ */
+@property(nonatomic, readonly, getter=isLinear) BOOL linear;
+
+/**
+ * Specifies whether the ad is skippable.
+ */
+@property(nonatomic, readonly, getter=isSkippable) BOOL skippable;
+
+/**
+ * The number of seconds of playback before the ad becomes skippable. -1 is returned for non
+ * skippable ads or if this is unavailable.
+ */
+@property(nonatomic, readonly) NSTimeInterval skipTimeOffset;
+
+/**
+ * Set of ad podding properties.
+ */
+@property(nonatomic, readonly) IMAAdPodInfo *adPodInfo;
+
+/**
+ * String representing custom trafficking parameters from the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *traffickingParameters;
+
+/**
+ * Returns the ID of the selected creative for the ad.
+ */
+@property(nonatomic, copy, readonly) NSString *creativeID;
+
+/**
+ * Returns the ISCI (Industry Standard Commercial Identifier) code for an ad. This
+ * is the Ad-ID of the selected creative in the VAST response.
+ */
+@property(nonatomic, copy, readonly) NSString *creativeAdID;
+
+/**
+ * The list of all UniversalAdIds of the selected creative for this ad. Returns an empty array if
+ * no universal ad IDs are found.
+ */
+@property(nonatomic, copy, readonly) NSArray *universalAdIDs;
+
+/**
+ * The UniversalAdId of the selected creative for the ad. Returns the id value or "unknown"
+ * if unavailable.
+ */
+@property(nonatomic, copy, readonly)
+ NSString *universalAdIdValue DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead.");
+
+/**
+ * The registry associated with cataloging the UniversalAdId of the selected creative for the ad.
+ * Returns the registry value, or "unknown" if unavailable.
+ */
+@property(nonatomic, copy, readonly)
+ NSString *universalAdIdRegistry DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead.");
+
+/**
+ * The advertiser name as defined by the serving party.
+ */
+@property(nonatomic, copy, readonly) NSString *advertiserName;
+
+/**
+ * Returns the URL associated with the survey for the given ad.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *surveyURL;
+
+/**
+ * Returns the first deal ID present in the wrapper chain for the current ad,
+ * starting from the top.
+ */
+@property(nonatomic, copy, readonly) NSString *dealID;
+
+/**
+ * The IDs of the ads, starting with the first wrapper ad.
+ */
+@property(nonatomic, copy, readonly) NSArray *wrapperAdIDs;
+
+/**
+ * The IDs of the ads' creatives, starting with the first wrapper ad.
+ */
+@property(nonatomic, copy, readonly) NSArray *wrapperCreativeIDs;
+
+/**
+ * Ad systems used for wrapper ads. The ad systems returned begin with the
+ * first wrapper ad and continue to each wrapper ad recursively.
+ */
+@property(nonatomic, copy, readonly) NSArray *wrapperSystems;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h
new file mode 100755
index 0000000..cf6125b
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h
@@ -0,0 +1,97 @@
+//
+// IMAAdDisplayContainer.h
+// GoogleIMA3
+//
+// Copyright (c) 2014 Google Inc. All rights reserved.
+//
+// Declares the IMAAdDisplayContainer interface that manages the views,
+// ad slots, and displays used for ad playback.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMACompanionAdSlot;
+@class IMAFriendlyObstruction;
+
+/**
+ * The IMAAdDisplayContainer is responsible for managing the ad container view and companion ad
+ * slots used for ad playback.
+ */
+@interface IMAAdDisplayContainer : NSObject
+
+/**
+ * View containing the video display and ad related UI. This view must be present in the view
+ * hierarchy in order to make ad or stream requests.
+ */
+@property(nonatomic, readonly) UIView *adContainer;
+
+/**
+ * View controller containing the ad container. Used to present ad UI in child view controllers. It
+ * must be non-nil in order to make ad or stream requests, and it must be in the view hierarchy
+ * before ad playback.
+ */
+@property(nonatomic, weak, nullable) UIViewController *adContainerViewController;
+
+/** The environment to focus on during an ad break. Nil if there is not currently an ad break. */
+@property(nonatomic, readonly, nullable) id focusEnvironment;
+
+/** List of companion ad slots. Can be nil or empty. */
+@property(nonatomic, readonly, nullable) NSArray *companionSlots;
+
+/**
+ * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI without any
+ * companion slots.
+ *
+ * @param adContainer The view where the ad will be rendered. Fills the view's bounds.
+ * @param adContainerViewController The view controller containing the ad container. If not provided
+ * here, must be set on the property before making an ads or stream request.
+ *
+ * @return A new IMAAdDisplayContainer instance
+ */
+- (instancetype)initWithAdContainer:(UIView *)adContainer
+ viewController:(nullable UIViewController *)adContainerViewController;
+
+/**
+ * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI.
+ *
+ * @param adContainer The view where the ad will be rendered. Fills the view's bounds.
+ * @param adContainerViewController The view controller containing the ad container. If not provided
+ * here, must be set on the property before making an ads or stream request.
+ * @param companionSlots The array of IMACompanionAdSlots. Can be nil or empty.
+ *
+ * @return A new IMAAdDisplayContainer instance
+ */
+- (instancetype)initWithAdContainer:(UIView *)adContainer
+ viewController:(nullable UIViewController *)adContainerViewController
+ companionSlots:(nullable NSArray *)companionSlots;
+
+/** :nodoc: */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Registers a view that overlays or obstructs this container as "friendly" for viewability
+ * measurement purposes.
+ *
+ * See Open Measurement
+ * in the IMA SDK for guidance on what is and what is not allowed to be registered.
+ *
+ * @param friendlyObstruction An obstruction to be marked as "friendly" until unregistered.
+ */
+- (void)registerFriendlyObstruction:(IMAFriendlyObstruction *)friendlyObstruction;
+
+/** Unregisters all previously registered friendly obstructions. */
+- (void)unregisterAllFriendlyObstructions;
+
+/** :nodoc: */
+- (void)registerVideoControlsOverlay:(UIView *)videoControlsOverlay
+ DEPRECATED_MSG_ATTRIBUTE("Use registerFriendlyObstruction: instead.");
+
+/** :nodoc: */
+- (void)unregisterAllVideoControlsOverlays DEPRECATED_MSG_ATTRIBUTE(
+ "Use unregisterAllFriendlyObstructions: instead.");
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
new file mode 100755
index 0000000..6d9e640
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h
@@ -0,0 +1,179 @@
+/*! \file IMAAdError.h
+ * GoogleIMA3
+ *
+ * Copyright (c) 2013 Google Inc. All rights reserved.
+ *
+ * This file provides error codes that are raised by the SDK and
+ * declares the IMAAdError class.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark IMAErrorType
+
+/**
+ * Possible error types while loading or playing ads.
+ */
+typedef NS_ENUM(NSInteger, IMAErrorType) {
+ /**
+ * An unexpected error occurred while loading or playing the ads.
+ * This may mean that the SDK wasn't loaded properly.
+ */
+ kIMAAdUnknownErrorType,
+ /**
+ * An error occurred while loading the ads.
+ */
+ kIMAAdLoadingFailed,
+ /**
+ * An error occurred while playing the ads.
+ */
+ kIMAAdPlayingFailed,
+};
+
+#pragma mark - IMAErrorCode
+
+/**
+ * Possible error codes raised while loading or playing ads.
+ */
+typedef NS_ENUM(NSInteger, IMAErrorCode) {
+ /**
+ * The ad response was not recognized as a valid VAST ad.
+ */
+ kIMAError_VAST_MALFORMED_RESPONSE = 100,
+ /**
+ * Trafficking error. Video player received an ad type that it was not expecting and/or cannot
+ * display.
+ */
+ kIMAError_VAST_TRAFFICKING_ERROR = 200,
+ /**
+ * The VAST URI provided, or a VAST URI provided in a subsequent Wrapper
+ * element, was either unavailable or reached a timeout, as defined by the
+ * video player. The timeout is 8 seconds for initial VAST requests and 4
+ * seconds for each subsequent Wrapper.
+ */
+ kIMAError_VAST_LOAD_TIMEOUT = 301,
+ /**
+ * The maximum number of VAST wrapper redirects has been reached.
+ */
+ kIMAError_VAST_TOO_MANY_REDIRECTS = 302,
+ /**
+ * At least one VAST wrapper loaded and a subsequent wrapper or inline ad
+ * load has resulted in a 404 response code.
+ */
+ kIMAError_VAST_INVALID_URL = 303,
+ /**
+ * There was an error playing the video ad.
+ */
+ kIMAError_VIDEO_PLAY_ERROR = 400,
+ /**
+ * Failed to load media assets from a VAST response.
+ * The default timeout for media loading is 8 seconds.
+ */
+ kIMAError_VAST_MEDIA_LOAD_TIMEOUT = 402,
+ /**
+ * Assets were found in the VAST ad response for linear ad, but none of them
+ * matched the video player's capabilities.
+ */
+ kIMAError_VAST_LINEAR_ASSET_MISMATCH = 403,
+ /**
+ * A companion ad failed to load or render.
+ */
+ kIMAError_COMPANION_AD_LOADING_FAILED = 603,
+ /**
+ * An unexpected error occurred and the cause is not known. Refer to the
+ * inner error for more information.
+ */
+ kIMAError_UNKNOWN_ERROR = 900,
+ /**
+ * Ads list response was malformed.
+ */
+ kIMAError_PLAYLIST_MALFORMED_RESPONSE = 1004,
+ /**
+ * There was a problem requesting ads from the server.
+ */
+ kIMAError_FAILED_TO_REQUEST_ADS = 1005,
+ /**
+ * Listener for at least one of the required vast events was not added.
+ */
+ kIMAError_REQUIRED_LISTENERS_NOT_ADDED = 1006,
+ /**
+ * No assets were found in the VAST ad response.
+ */
+ kIMAError_VAST_ASSET_NOT_FOUND = 1007,
+ /**
+ * The ad slot is not visible on the page.
+ */
+ kIMAError_ADSLOT_NOT_VISIBLE = 1008,
+ /**
+ * A VAST response containing a single <VAST>
tag with no
+ * child tags.
+ */
+ kIMAError_VAST_EMPTY_RESPONSE = 1009,
+ /**
+ * There was an error loading the ad.
+ */
+ kIMAError_FAILED_LOADING_AD = 1010,
+ /**
+ * There was an error initializing the stream.
+ */
+ kIMAError_STREAM_INITIALIZATION_FAILED = 1020,
+ /**
+ * Invalid arguments were provided to SDK methods.
+ */
+ kIMAError_INVALID_ARGUMENTS = 1101,
+ /**
+ * Generic invalid usage of the API.
+ */
+ kIMAError_API_ERROR = 1102,
+ /**
+ * The version of the runtime is too old.
+ */
+ kIMAError_OS_RUNTIME_TOO_OLD = 1103,
+ /**
+ * Another VideoAdsManager is still using the video. It must be unloaded
+ * before another ad can play on the same element.
+ */
+ kIMAError_VIDEO_ELEMENT_USED = 1201,
+ /**
+ * A video element was not specified where it was required.
+ */
+ kIMAError_VIDEO_ELEMENT_REQUIRED = 1202,
+ /**
+ * Content playhead was not passed in, but list of ads has been returned
+ * from the server.
+ */
+ kIMAError_CONTENT_PLAYHEAD_MISSING = 1205,
+};
+
+#pragma mark - IMAAdError
+
+/**
+ * Surfaces an error that occurred during ad loading or playing.
+ */
+@interface IMAAdError : NSObject
+
+/**
+ * The type of error that occurred during ad loading or ad playing.
+ */
+@property(nonatomic, readonly) IMAErrorType type;
+
+/**
+ * The error code for obtaining more specific information about the error.
+ */
+@property(nonatomic, readonly) IMAErrorCode code;
+
+/**
+ * A brief description about the error.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *message;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
new file mode 100755
index 0000000..22de21d
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h
@@ -0,0 +1,175 @@
+/*! \file IMAAdEvent.h
+ * GoogleIMA3
+ *
+ * Copyright (c) 2013 Google Inc. All rights reserved.
+ *
+ * Defines a data object used to convey information during ad playback.
+ * This object is sent to the IMAAdsManager delegate.
+ */
+
+#import
+
+#import "IMAAd.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark IMAAdEventType
+
+/**
+ * Different event types sent by the IMAAdsManager to its delegate.
+ */
+typedef NS_ENUM(NSInteger, IMAAdEventType) {
+ /**
+ * Ad break ready.
+ */
+ kIMAAdEvent_AD_BREAK_READY,
+ /**
+ * Ad break will not play back any ads.
+ */
+ kIMAAdEvent_AD_BREAK_FETCH_ERROR,
+ /**
+ * Fired the first time each ad break ends. Applications must reenable seeking
+ * when this occurs (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_BREAK_ENDED,
+ /**
+ * Fired first time each ad break begins playback. If an ad break is watched
+ * subsequent times this will not be fired. Applications must disable seeking
+ * when this occurs (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_BREAK_STARTED,
+ /**
+ * Fired every time the stream switches from advertising or slate to content.
+ * This will be fired even when an ad is played a second time or when seeking
+ * into an ad (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_PERIOD_ENDED,
+ /**
+ * Fired every time the stream switches from content to advertising or slate.
+ * This will be fired even when an ad is played a second time or when seeking
+ * into an ad (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_AD_PERIOD_STARTED,
+ /**
+ * All valid ads managed by the ads manager have completed or the ad response
+ * did not return any valid ads.
+ */
+ kIMAAdEvent_ALL_ADS_COMPLETED,
+ /**
+ * Ad clicked.
+ */
+ kIMAAdEvent_CLICKED,
+ /**
+ * Single ad has finished.
+ */
+ kIMAAdEvent_COMPLETE,
+ /**
+ * Cuepoints changed for VOD stream (only used for dynamic ad insertion).
+ * For this event, the IMAAdEvent.adData
property contains a list of
+ * IMACuepoint
s at IMAAdEvent.adData[@"cuepoints"]
.
+ */
+ kIMAAdEvent_CUEPOINTS_CHANGED,
+ /**
+ * The user has closed the icon fallback image dialog. This may be a good time to resume ad
+ * playback, which the SDK autopaused on icon tap. This event only fires for tvOS.
+ */
+ kIMAAdEvent_ICON_FALLBACK_IMAGE_CLOSED,
+ /**
+ * The user has tapped an ad icon. On iOS, the SDK will navigate to the landing page. On tvOS, the
+ * SDK will present a modal dialog containing the VAST icon fallback image.
+ */
+ kIMAAdEvent_ICON_TAPPED,
+ /**
+ * First quartile of a linear ad was reached.
+ */
+ kIMAAdEvent_FIRST_QUARTILE,
+ /**
+ * An ad was loaded.
+ */
+ kIMAAdEvent_LOADED,
+ /**
+ * A log event for the ads being played. These are typically non fatal errors.
+ */
+ kIMAAdEvent_LOG,
+ /**
+ * Midpoint of a linear ad was reached.
+ */
+ kIMAAdEvent_MIDPOINT,
+ /**
+ * Ad paused.
+ */
+ kIMAAdEvent_PAUSE,
+ /**
+ * Ad resumed.
+ */
+ kIMAAdEvent_RESUME,
+ /**
+ * Ad has skipped.
+ */
+ kIMAAdEvent_SKIPPED,
+ /**
+ * Ad has started.
+ */
+ kIMAAdEvent_STARTED,
+ /**
+ * Stream request has loaded (only used for dynamic ad insertion).
+ */
+ kIMAAdEvent_STREAM_LOADED,
+ /**
+ * Stream has started playing (only used for dynamic ad insertion). Start
+ * Picture-in-Picture here if applicable.
+ */
+ kIMAAdEvent_STREAM_STARTED,
+ /**
+ * Ad tapped.
+ */
+ kIMAAdEvent_TAPPED,
+ /**
+ * Third quartile of a linear ad was reached.
+ */
+ kIMAAdEvent_THIRD_QUARTILE
+};
+
+#pragma mark - Ad Data Keys
+
+/**
+ * The key for the time in seconds when the AD_BREAK_READY event fired.
+ */
+extern NSString *const kIMAAdBreakTime;
+
+#pragma mark - IMAAdEvent
+
+/**
+ * Simple data class used to transport ad playback information.
+ */
+@interface IMAAdEvent : NSObject
+
+/**
+ * Type of the event.
+ */
+@property(nonatomic, readonly) IMAAdEventType type;
+
+/**
+ * Stringified type of the event.
+ */
+@property(nonatomic, copy, readonly) NSString *typeString;
+
+/**
+ * The current ad that is playing or just played. This will be nil except for
+ * events where an ad is available (start, quartiles, midpoint, complete, and tap).
+ */
+@property(nonatomic, readonly, nullable) IMAAd *ad;
+
+/**
+ * Extra data about the ad.
+ */
+@property(nonatomic, copy, readonly, nullable) NSDictionary *adData;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
new file mode 100755
index 0000000..d7feab1
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h
@@ -0,0 +1,40 @@
+//
+// IMAAdPlaybackInfo.h
+// GoogleIMA3
+//
+// Copyright (c) 2014 Google Inc. All rights reserved.
+//
+// Defines a protocol for providing ad playback information.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Groups various properties of the ad player.
+ */
+@protocol IMAAdPlaybackInfo
+
+/**
+ * The current media time of the ad, or 0 if no ad loaded.
+ */
+@property(nonatomic, readonly) NSTimeInterval currentMediaTime;
+
+/**
+ * The total media time of the ad, or 0 if no ad loaded.
+ */
+@property(nonatomic, readonly) NSTimeInterval totalMediaTime;
+
+/**
+ * The buffered media time of the ad, or 0 if no ad loaded.
+ */
+@property(nonatomic, readonly) NSTimeInterval bufferedMediaTime;
+
+/**
+ * Whether or not the ad is currently playing.
+ */
+@property(nonatomic, readonly, getter=isPlaying) BOOL playing;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h
new file mode 100755
index 0000000..64ea432
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h
@@ -0,0 +1,64 @@
+//
+// IMAAdPodInfo.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Represents podding metadata for a single ad.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Simple data object containing podding metadata.
+ */
+@interface IMAAdPodInfo : NSObject
+
+/**
+ * Total number of ads in the pod this ad belongs to. Will be 1 for standalone ads.
+ */
+@property(nonatomic, readonly) NSInteger totalAds;
+
+/**
+ * The position of this ad within an ad pod. Will be 1 for standalone ads.
+ */
+@property(nonatomic, readonly) NSInteger adPosition;
+
+/**
+ * Specifies whether the ad is a bumper. Bumpers are short videos used to open
+ * and close ad breaks.
+ */
+@property(nonatomic, readonly) BOOL isBumper;
+
+/**
+ * Client side: Returns the index of the ad pod. For a preroll pod, returns 0.
+ * For midrolls, returns 1, 2,..., N. For a postroll pod, returns -1. Defaults
+ * to 0 if this ad is not part of a pod, or this pod is not part of a playlist.
+ * DAI live stream: Always returns -1.
+ * DAI VOD: Returns the index of the ad pod. For a preroll pod, returns 0. For
+ * midrolls, returns 1, 2,...,N. For a postroll pod, returns N+1...N+X.
+ * Defaults to 0 if this ad is not part of a pod, or this pod is not part of a
+ * playlist.
+ */
+@property(nonatomic, readonly) NSInteger podIndex;
+
+/**
+ * The position of the pod in the content in seconds. Pre-roll returns 0,
+ * post-roll returns -1 and mid-rolls return the scheduled time of the pod.
+ */
+@property(nonatomic, readonly) NSTimeInterval timeOffset;
+
+/**
+ * The maximum duration of the pod in seconds. For unknown duration, -1 is returned.
+ */
+@property(nonatomic, readonly) NSTimeInterval maxDuration;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
new file mode 100755
index 0000000..0ebc318
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h
@@ -0,0 +1,169 @@
+//
+// IMAAdsLoader.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares a set of classes used when loading ads.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdError;
+@class IMAAdsLoader;
+@class IMAAdsManager;
+@class IMAStreamManager;
+@class IMAAdsRequest;
+@class IMAStreamRequest;
+@class IMASettings;
+
+#pragma mark - IMAAdsLoadedData
+
+/**
+ * Ad data that is returned when the ads loader loads the ad.
+ */
+@interface IMAAdsLoadedData : NSObject
+
+/**
+ * The ads manager instance created by the ads loader.
+ * Will be nil when using dynamic ad insertion.
+ */
+@property(nonatomic, readonly, nullable) IMAAdsManager *adsManager;
+
+/**
+ * The stream manager instance created by the ads loader.
+ * Will be nil when requesting ads client side.
+ */
+@property(nonatomic, readonly, nullable) IMAStreamManager *streamManager;
+
+/**
+ * The user context specified in the ads request.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+@end
+
+#pragma mark - IMAAdLoadingErrorData
+
+/**
+ * Ad error data that is returned when the ads loader fails to load the ad.
+ */
+@interface IMAAdLoadingErrorData : NSObject
+
+/**
+ * The ad error that occurred while loading the ad.
+ */
+@property(nonatomic, readonly) IMAAdError *adError;
+
+/**
+ * The user context specified in the ads request.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+#pragma mark - IMAAdsLoaderDelegate
+
+/**
+ * Delegate object that receives state change callbacks from IMAAdsLoader.
+ */
+@protocol IMAAdsLoaderDelegate
+
+/**
+ * Called when ads are successfully loaded from the ad servers by the loader.
+ *
+ * @param loader the IMAAdsLoader that received the loaded ad data
+ * @param adsLoadedData the IMAAdsLoadedData instance containing ad data
+ */
+- (void)adsLoader:(IMAAdsLoader *)loader adsLoadedWithData:(IMAAdsLoadedData *)adsLoadedData;
+
+/**
+ * Error reported by the ads loader when loading or requesting an ad fails.
+ *
+ * @param loader the IMAAdsLoader that received the error
+ * @param adErrorData the IMAAdLoadingErrorData instance with error information
+ */
+- (void)adsLoader:(IMAAdsLoader *)loader failedWithErrorData:(IMAAdLoadingErrorData *)adErrorData;
+
+@end
+
+#pragma mark - IMAAdsLoader
+
+/**
+ * The IMAAdsLoader class allows the requesting of ads from the ad server.
+ * Use the delegate to receive the loaded ads or loading error
+ * in case of failure.
+ */
+@interface IMAAdsLoader : NSObject
+
+/**
+ * SDK-wide settings. Note that certain settings will only be evaluated during initialization of
+ * the adsLoader.
+ */
+@property(nonatomic, copy, readonly) IMASettings *settings;
+
+/**
+ * Delegate that receives IMAAdsLoaderDelegate callbacks.
+ */
+@property(nonatomic, weak, nullable) id delegate;
+
+/**
+ * Returns the SDK version.
+ *
+ * @return the SDK version
+ */
++ (NSString *)sdkVersion;
+
+/**
+ * Initializes an IMAAdsLoader with specific settings. The loader takes 1-2 seconds to setup once
+ * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad
+ * request times.
+ *
+ * @param settings the IMASettings to use for SDK wide settings. Uses defaults when nil.
+ *
+ * @return an IMAAdsLoader instance with given IMASettings
+ */
+- (instancetype)initWithSettings:(nullable IMASettings *)settings;
+
+/**
+ * Initializes the IMAAdsLoader with default settings. The loader takes 1-2 seconds to setup once
+ * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad
+ * request times.
+ *
+ * @return an IMAAdsLoader instance with default IMASettings
+ */
+- (instancetype)init;
+
+/**
+ * Request ads from the ad server. The loader takes 1-2 seconds to setup on init and become ready
+ * to make ad requests. So reusing the same IMAAdsLoader instance is encouraged when making ad
+ * requests in order to minimize ad request times.
+ *
+ * @param request the IMAAdsRequest. If it was created for use with Picture-in-Picture, this
+ * IMAAdsLoader instance's IMASettings must have backround playback enabled
+ */
+- (void)requestAdsWithRequest:(IMAAdsRequest *)request;
+
+/**
+ * Request a stream with ads inserted dynamically. Reusing the same IMAAdsLoader instance is
+ * encouraged when making stream requests in order to minimize stream request latency.
+ *
+ * @param request the stream request
+ */
+- (void)requestStreamWithRequest:(IMAStreamRequest *)request;
+
+/**
+ * Signal to the SDK that the content has completed. The SDK will play
+ * post-rolls at this time, if any are scheduled.
+ */
+- (void)contentComplete;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h
new file mode 100755
index 0000000..4bc4e40
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h
@@ -0,0 +1,210 @@
+//
+// IMAAdsManager.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares IMAAdsManager interface that manages ad playback.
+// The interface represents an abstract API. There can be one or more ads
+// managed by a single ads manager.
+// The implementing code should respond to the callbacks as defined in
+// IMAAdsManagerDelegate.
+//
+// A typical ad playback session:
+// 1. Ads manager is retrieved. Delegate is set.
+// 2. [adsManager initialize...]; - ad is initialized and loads.
+// 3. delegate.didReceiveAdEvent is called with a kIMAAdEventLoaded event.
+// 4. [adsManager start];
+// 5. delegate.adsManagerDidRequestContentPause: is called. The content
+// playback should pause now.
+// 6. Ad display container main view is unhidden and playback starts.
+// 7. delegate.didReceiveAdEvent is called with ad events.
+// 8. Ad finishes.
+// 9. delegate.adsManagerDidRequestContentResume: is called. The content
+// playback should resume now.
+// 10. delegate.didReceiveAdEvent: is called with the
+// kIMAAdEvent_ALL_ADS_COMPLETED event.
+// It is possible to detach the delegate and destroy the ads manager.
+//
+// If multiple ads are managed by the ads manager, steps 5-9 may repeat several
+// times. Step 5 will happen at times predetermined by the ads server.
+// The implementing code should listen to callbacks until
+// kIMAAdEvent_ALL_ADS_COMPLETED is received.
+
+#import
+
+@class IMAAdDisplayContainer;
+@class IMAAdError;
+@class IMAAdEvent;
+@class IMAAdsRenderingSettings;
+
+#import "IMAAdPlaybackInfo.h"
+#import "IMAContentPlayhead.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdsManager;
+
+#pragma mark IMAAdsManagerDelegate
+
+/**
+ * A callback protocol for IMAAdsManager.
+ */
+@protocol IMAAdsManagerDelegate
+
+/**
+ * Called when there is an IMAAdEvent.
+ *
+ * @param adsManager the IMAAdsManager receiving the event
+ * @param event the IMAAdEvent received
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event;
+
+/**
+ * Called when there was an error playing the ad.
+ * Log the error and resume playing content.
+ *
+ * @param adsManager the IMAAdsManager that errored
+ * @param error the IMAAdError received
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdError:(IMAAdError *)error;
+
+/**
+ * Called when an ad is ready to play.
+ * The implementing code should pause the content playback and prepare the UI
+ * for ad playback.
+ *
+ * @param adsManager the IMAAdsManager requesting content pause
+ */
+- (void)adsManagerDidRequestContentPause:(IMAAdsManager *)adsManager;
+
+/**
+ * Called when an ad has finished or an error occurred during the playback.
+ * The implementing code should resume the content playback.
+ *
+ * @param adsManager the IMAAdsManager requesting content resume
+ */
+- (void)adsManagerDidRequestContentResume:(IMAAdsManager *)adsManager;
+
+@optional
+
+/**
+ * Called every 200ms to provide time updates for the current ad.
+ *
+ * @param adsManager the IMAAdsManager tracking ad playback
+ * @param mediaTime the current media time in seconds
+ * @param totalTime the total media length in seconds
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager
+ adDidProgressToTime:(NSTimeInterval)mediaTime
+ totalTime:(NSTimeInterval)totalTime;
+
+/**
+ * Called when the current ad is sufficiently buffered and playback is likely
+ * to keep up.
+ *
+ * @param adsManager the IMAAdsManager with ad playback ready
+ */
+- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager;
+
+/**
+ * Called when the current ad media buffer is empty and playback did stall.
+ *
+ * @param adsManager the IMAAdsManager tracking the stalled ad
+ */
+- (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager;
+
+/**
+ * Called as the current ad media buffers.
+ *
+ * @param adsManager the IMAAdsManager tracking the ad's media buffer
+ * @param mediaTime the current buffered media time in seconds
+ */
+- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime;
+
+@end
+
+#pragma mark - IMAAdsManager
+
+/**
+ * The IMAAdsManager class is responsible for playing ads.
+ */
+@interface IMAAdsManager : NSObject
+
+/**
+ * The IMAAdsManagerDelegate to notify with events during ad playback.
+ */
+@property(nonatomic, weak, nullable) NSObject *delegate;
+
+/**
+ * List of content time offsets at which ad breaks are scheduled.
+ * Array of NSNumber double values in seconds.
+ * Empty NSArray for single ads or if no ad breaks are scheduled.
+ */
+@property(nonatomic, copy, readonly) NSArray *adCuePoints;
+
+/**
+ * Groups various properties about the linear ad playback.
+ */
+@property(nonatomic, readonly) id adPlaybackInfo;
+
+/**
+ * Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is
+ * relative to device volume, not absolute. Default value is 1.
+ */
+@property(nonatomic, assign) float volume;
+
+/**
+ * Initializes and loads the ad.
+ *
+ * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering.
+ * Use nil to default to standard rendering.
+ */
+- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Starts advertisement playback.
+ */
+- (void)start;
+
+/**
+ * Pauses advertisement.
+ */
+- (void)pause;
+
+/**
+ * Resumes the advertisement.
+ */
+- (void)resume;
+
+/**
+ * Skips the advertisement if the ad is skippable and the skip offset has been reached.
+ */
+- (void)skip;
+
+/**
+ * Performs a clickthrough on the advertisement if the UI was successfully disabled via
+ * AdsRenderingSettings.disableUi.
+ * :nodoc:
+ */
+- (void)clicked;
+
+/**
+ * Causes the ads manager to stop the ad and clean its internal state.
+ */
+- (void)destroy;
+
+/**
+ * If an ad break is currently playing, discard it and resume content.
+ * Otherwise, ignore the next scheduled ad break.
+ */
+- (void)discardAdBreak;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
new file mode 100755
index 0000000..535f61d
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h
@@ -0,0 +1,141 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The default value of |bitrate property|, causes the effective bitrate to
+ * be automatically selected.
+ */
+extern const NSInteger kIMAAutodetectBitrate;
+
+#pragma mark IMALinkOpenerDelegate
+
+/**
+ * Signals that a link has been opened/closed.
+ * For an external app (Mobile Safari/App deep link), the delegate is only notified
+ * before opening.
+ */
+@protocol IMALinkOpenerDelegate
+
+@optional
+
+/**
+ * Called when Safari or app deep link is about to be opened.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerWillOpenExternalApplication:(NSObject *)linkOpener;
+
+/**
+ * Called before in-app browser/app store opens.
+ *
+ * @param linkOpener the receiving object.
+ */
+- (void)linkOpenerWillOpenInAppLink:(NSObject *)linkOpener;
+
+/**
+ * Called when the in app browser/app-store is shown on the screen.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerDidOpenInAppLink:(NSObject *)linkOpener;
+
+/**
+ * Called when in-app browser/app-store is about to close.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerWillCloseInAppLink:(NSObject *)linkOpener;
+
+/**
+ * Called when in-app browser/app-store finishes closing.
+ *
+ * @param linkOpener the receiving object
+ */
+- (void)linkOpenerDidCloseInAppLink:(NSObject *)linkOpener;
+
+@end
+
+#pragma mark - IMAAdsRenderingSettings
+
+/**
+ * Set of properties that influence how ads are rendered.
+ */
+@interface IMAAdsRenderingSettings : NSObject
+
+/**
+ * If specified, the SDK will play the media with MIME type on the list.
+ * List of strings specifying the MIME types. When empty, the SDK will
+ * use its default list of MIME types supported on iOS.
+ * Example: @[ @"video/mp4", @"application/x-mpegURL" ]
+ * The property is an empty array by default.
+ */
+@property(nonatomic, copy, nullable) NSArray *mimeTypes;
+
+/**
+ * Maximum recommended bitrate. The value is in kbit/s.
+ * SDK will pick media with bitrate below the specified max, or the closest
+ * bitrate if there is no media with smaller bitrate found.
+ * Default value, |kIMAAutodetectBitrate|, means the bitrate will be selected
+ * by the SDK, using the currently detected network speed (cellular or Wi-Fi).
+ */
+@property(nonatomic) NSInteger bitrate;
+
+/**
+ * Timeout (in seconds) when loading a video ad media file. If loading takes
+ * longer than this timeout, the ad playback is canceled and the next ad in the
+ * pod plays, if available. Use -1 for the default of 8 seconds.
+ */
+@property(nonatomic) NSTimeInterval loadVideoTimeout;
+
+/**
+ * For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds).
+ * This setting is strictly after the specified time. For example, setting playAdsAfterTime to
+ * 15 will ignore an ad break scheduled to play at 15s.
+ */
+@property(nonatomic) NSTimeInterval playAdsAfterTime;
+
+/**
+ * Specifies the list of UI elements that should be visible.
+ * This property may be ignored for AdSense/AdX ads. For valid values, see
+ * IMAUiElementType. This field
+ * is ignored on tvOS, where UI elements are unavailable.
+ */
+@property(nonatomic, copy, nullable) NSArray *uiElements;
+
+/**
+ * Whether or not to disable ad UI for non TrueView ads. Check Ad.getDisableUi to check if this
+ * request was honored. Default is false.
+ * :nodoc:
+ */
+@property(nonatomic) BOOL disableUi;
+
+/**
+ * Whether or not the SDK will preload ad media. Default is YES.
+ */
+@property(nonatomic) BOOL enablePreloading;
+
+/**
+ * Specifies the optional UIViewController that will be used to open links in-app.
+ * When nil, tapping the video ad "Learn More" button or companion ads
+ * will result in opening Safari browser. Setting this allows the SDK to open links in-app. This
+ * field is ignored on tvOS, where Safari is not available.
+ */
+@property(nonatomic, weak, nullable) UIViewController *linkOpenerPresentingController;
+
+/**
+ * The IMALinkOpenerDelegate to be notified when a link is opened/closed.
+ * Web links are unavailable on tvOS, but this delegate will be used to notify for deep links.
+ */
+@property(nonatomic, weak, nullable) id linkOpenerDelegate;
+
+/**
+ * Toggle this to allow web links to open externally.
+ * Default is false, ignored if @c linkOpenerPresentingController is nil.
+ * :nodoc:
+ */
+@property(nonatomic) BOOL openWebLinksExternally;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
new file mode 100755
index 0000000..7a9e4cc
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h
@@ -0,0 +1,200 @@
+//
+// IMAAdsRequest.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares a simple ad request class.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@class IMAAVPlayerContentPlayhead;
+@class IMAAVPlayerVideoDisplay;
+@class IMAPictureInPictureProxy;
+@class IMASecureSignals;
+@protocol IMAContentPlayhead;
+
+/**
+ * Data class describing the ad request.
+ */
+@interface IMAAdsRequest : NSObject
+
+/**
+ * Specifies the full URL to use for ads loading from an ad server. Required
+ * for any adsRequest
. For details on constructing the ad tag url,
+ * see
+ * Create a main ad video tag manually.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *adTagUrl;
+
+/**
+ * Specifies a VAST, VMAP, or ad rules response to be used instead of making a
+ * request through an ad tag URL. This can be useful for debugging and other situations
+ * in which an ad response is already available.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *adsResponse;
+
+/**
+ * The ad display container.
+ */
+@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer;
+
+/**
+ * The user context.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+/**
+ * Specifies whether the player intends to start the content and ad in
+ * response to a user action or whether they will be automatically played.
+ * Changing this setting will have no impact on ad playback.
+ */
+@property(nonatomic) BOOL adWillAutoPlay;
+
+/**
+ * Specifies whether the player intends to start the content and ad with no volume.
+ * Changing this setting will have no impact on ad playback.
+ */
+@property(nonatomic) BOOL adWillPlayMuted;
+
+/**
+ * Specifies whether the player intends to continuously play the content videos one after
+ * another similar to TV broadcast. Not calling this function leaves the setting as unknown.
+ * Note: Changing this setting will have no impact on ad playback.
+ */
+@property(nonatomic) BOOL continuousPlayback;
+
+/**
+ * Specifies the duration of the content in seconds to be shown. Used in AdX requests. This
+ * parameter is optional.
+ */
+@property(nonatomic) float contentDuration;
+
+/**
+ * Specifies the keywords used to describe the content to be shown. Used in AdX requests. This
+ * parameter is optional.
+ */
+@property(nonatomic, copy, nullable) NSArray *contentKeywords;
+
+/**
+ * Specifies the title of the content to be shown. Used in AdX requests. This parameter is
+ * optional.
+ */
+@property(nonatomic, copy, nullable) NSString *contentTitle;
+
+/**
+ * Specifies the Secure Signal with custom data for this ads request. Secure Signal with custom
+ * data is an encrypted blob containing signals collected by the publisher and previously agreed
+ * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by
+ * passing null to this function.
+ */
+@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals;
+
+/**
+ * Specifies the universal link to the content's screen. If provided, this parameter is passed to
+ * the OM SDK. See Apple
+ * documentation for more information.
+ */
+@property(nonatomic, copy, nullable) NSURL *contentURL;
+
+/**
+ * Specifies the VAST load timeout in milliseconds for the initial request and any subsequent
+ * wrappers. This parameter is optional and will override the default timeout.
+ */
+@property(nonatomic) float vastLoadTimeout;
+
+/**
+ * Specifies the maximum amount of time to wait in seconds, after calling requestAds,
+ * before requesting the ad tag URL. This can be used to stagger requests during a
+ * live-stream event, in order to mitigate spikes in the number of requests.
+ */
+@property(nonatomic) float liveStreamPrefetchSeconds;
+
+/**
+ * Initializes an ads request instance with the given canned ads response and ad display
+ * container with Picture-in-Picture support. Serial ad requests may reuse the
+ * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its
+ * current adsManager. Concurrent requests must use different ad containers.
+ *
+ * @param adsResponse the canned ads response
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdsResponse:(NSString *)adsResponse
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay
+ pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0));
+
+/**
+ * Initializes an ads request instance with the given canned ads response and ad display
+ * container. Serial ad requests may reuse the same IMAAdDisplayContainer by
+ * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent
+ * requests must use different ad containers. Does not support Picture-in-Picture.
+ *
+ * @param adsResponse the canned ads response
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param contentPlayhead the IMAContentPlayhead for the content player (optional)
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdsResponse:(NSString *)adsResponse
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ contentPlayhead:(nullable NSObject *)contentPlayhead
+ userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER;
+
+/**
+ * Initializes an ads request instance with the given ad tag URL and ad display
+ * container with Picture-in-Picture support. Serial ad requests may reuse the
+ * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its
+ * current adsManager. Concurrent requests must use different ad containers.
+ *
+ * @param adTagUrl the ad tag URL
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay
+ pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0));
+
+/**
+ * Initializes an ads request instance with the given ad tag URL and ad display
+ * container. Serial ad requests may reuse the same IMAAdDisplayContainer by
+ * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent
+ * requests must use different ad containers. Does not support Picture-in-Picture.
+ *
+ * @param adTagUrl the ad tag URL
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param contentPlayhead the IMAContentPlayhead for the content player (optional)
+ * @param userContext the user context for tracking requests (optional)
+ *
+ * @return the IMAAdsRequest instance
+ */
+- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ contentPlayhead:(nullable NSObject *)contentPlayhead
+ userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h
new file mode 100755
index 0000000..799fe51
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h
@@ -0,0 +1,28 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** An object that holds data corresponding to the companion ad. */
+@interface IMACompanionAd : NSObject
+
+/** The value for the resource of this companion. */
+@property(nonatomic, copy, readonly, nullable) NSString *resourceValue;
+
+/** The API needed to execute this ad, or nil if unavailable. */
+@property(nonatomic, copy, readonly, nullable) NSString *APIFramework;
+
+/** The width of the companion in pixels. 0 if unavailable. */
+@property(nonatomic, readonly) NSInteger width;
+
+/** The height of the companion in pixels. 0 if unavailable. */
+@property(nonatomic, readonly) NSInteger height;
+
+/**
+ * Obtain an instance from IMAAd.companionAds
.
+ * :nodoc:
+ */
+- (nonnull instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
new file mode 100755
index 0000000..baaddbb
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h
@@ -0,0 +1,111 @@
+//
+// IMACompanionAdSlot.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Declares a data class that describes a companion ad slot.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Fluid companion ads have no fixed size, but rather adapt to fit the creative
+ * content they display. Set width and height to fluid size to allow companion
+ * slot to be filled by fluid companion ad.
+ */
+extern const NSInteger kIMAFluidSize;
+
+@class IMACompanionAdSlot;
+
+#pragma mark IMACompanionDelegate
+
+/**
+ * Delegate to receive events from the companion ad slot.
+ */
+@protocol IMACompanionDelegate
+
+@optional
+
+/**
+ * Called when the slot is either filled or not filled.
+ *
+ * @param slot the IMACompanionAdSlot receiving the event
+ * @param filled is the slot filled or not
+ */
+- (void)companionSlot:(IMACompanionAdSlot *)slot filled:(BOOL)filled;
+
+/**
+ * Called when the slot is clicked on by the user and will
+ * successfully navigate away.
+ *
+ * @param slot the IMACompanionAdSlot receiving the event
+ */
+- (void)companionSlotWasClicked:(IMACompanionAdSlot *)slot;
+
+@end
+
+#pragma mark - IMACompanionAdSlot
+
+/**
+ * Ad slot for companion ads. The SDK will put a subview inside the provided
+ * UIView container. The companion will be matched to the width and height
+ * provided here. This class cannot be instantiated on tvOS, where companion ads
+ * are not available.
+ */
+@interface IMACompanionAdSlot : NSObject
+
+/**
+ * The view the companion will be rendered in. Display this view in your
+ * application before video ad starts.
+ */
+@property(nonatomic, readonly) UIView *view;
+
+/**
+ * Width of the slot, in pixels. This value is sent to the DFP ad server for
+ * targeting.
+ */
+@property(nonatomic, readonly) NSInteger width;
+
+/**
+ * Height of the slot, in pixels. This value is sent to the DFP ad server for
+ * targeting.
+ */
+@property(nonatomic, readonly) NSInteger height;
+
+/**
+ * The IMACompanionDelegate for receiving events from the companion ad slot.
+ */
+@property(nonatomic, weak, nullable) id delegate;
+
+/**
+ * Initializes an instance of a IMACompanionAdSlot with design ad width and height.
+ *
+ * @param view the UIView that will contain the companion ad
+ * @param width the chosen width of the ad
+ * @param height the chosen height of the ad
+ *
+ * @return the IMACompanionAdSlot instance
+ */
+- (instancetype)initWithView:(UIView *)view
+ width:(NSInteger)width
+ height:(NSInteger)height __TVOS_UNAVAILABLE;
+
+/**
+ * Initializes an instance of a IMACompanionAdSlot with fluid size.
+ *
+ * @param view the UIView that will contain the companion ad.
+ *
+ * @return the IMACompanionAdSlot instance
+ */
+- (instancetype)initWithView:(UIView *)view __TVOS_UNAVAILABLE;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h
new file mode 100755
index 0000000..4360949
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h
@@ -0,0 +1,37 @@
+//
+// IMAContentPlayhead.h
+// GoogleIMA3
+//
+// Copyright (c) 2013 Google Inc. All rights reserved.
+//
+// Defines protocol for wrapping content playhead used in content tracking.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Property name used for key value observation.
+ */
+extern NSString *const kIMAPropertyCurrentTime;
+
+/**
+ * Defines an interface for a class that tracks video content progress and
+ * exposes a key value observable property |currentTime|.
+ * The SDK provides an implementation for tracking AVPlayer-based playback
+ * in the IMAAVPlayerContentPlayhead.
+ * Publishers can supply their own implementation by implementing this
+ * interface and this way support any other video playback implementation
+ * they might have.
+ */
+@protocol IMAContentPlayhead
+
+/**
+ * Reflects the current playback time in seconds for the content.
+ * The property is key value observable.
+ */
+@property(nonatomic, readonly) NSTimeInterval currentTime;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h
new file mode 100755
index 0000000..65e8480
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h
@@ -0,0 +1,38 @@
+//
+// IMACuepoint.h
+// GoogleIMA3_ios
+//
+// Represents a cuepoint with a start and end time.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Data object representation of a cuepoint for a single ad break.
+ */
+@interface IMACuepoint : NSObject
+
+/**
+ * The start time of the cuepoint in seconds.
+ */
+@property(nonatomic, readonly) NSTimeInterval startTime;
+
+/**
+ * The end time of the cuepoint in seconds.
+ */
+@property(nonatomic, readonly) NSTimeInterval endTime;
+
+/**
+ * Specifies whether this cuepoint has been played.
+ */
+@property(nonatomic, readonly, getter=isPlayed) BOOL played;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
new file mode 100755
index 0000000..868b803
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h
@@ -0,0 +1,45 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** A list of purposes for which an obstruction would be registered as friendly. */
+typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) {
+ IMAFriendlyObstructionPurposeMediaControls,
+ IMAFriendlyObstructionPurposeCloseAd,
+ IMAFriendlyObstructionPurposeNotVisible,
+ IMAFriendlyObstructionPurposeOther,
+};
+
+/** An obstruction that is marked as "friendly" for viewability measurement purposes. */
+@interface IMAFriendlyObstruction : NSObject
+
+/** The view causing the obstruction. */
+@property(nonatomic, readonly) UIView *view;
+
+/** The purpose for registering the obstruction as friendly. */
+@property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose;
+
+/**
+ * Optional, detailed reasoning for registering this obstruction as friendly.
+ * If the detailedReason
is not null, it must follow the IAB
+ * standard by being 50 characters or less and only containing characters
+ * A-z
, 0-9
, or spaces.
+ */
+@property(nonatomic, readonly, nullable) NSString *detailedReason;
+
+/**
+ * Initializes a friendly obstruction.
+ *
+ * @param view The view causing the obstruction.
+ * @param purpose The purpose for registering the obstruction as friendly.
+ * @param detailedReason Optional, detailed reasoning for registering this obstruction as friendly.
+ *
+ * @return A new IMAFriendlyObstruction instance
+ */
+- (instancetype)initWithView:(UIView *)view
+ purpose:(IMAFriendlyObstructionPurpose)purpose
+ detailedReason:(nullable NSString *)detailedReason;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h
new file mode 100755
index 0000000..1b38723
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h
@@ -0,0 +1,73 @@
+//
+// IMALiveStreamRequest.h
+// GoogleIMA3_ios
+//
+// Declares a representation of a stream request for live streams.
+//
+//
+
+#import "IMAPictureInPictureProxy.h"
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data object describing a live stream request.
+ */
+
+@interface IMALiveStreamRequest : IMAStreamRequest
+
+/**
+ * This is used to determine which stream should be played.
+ * The live stream request asset key is an identifier which can be
+ * found in the DFP UI.
+ *
+ * @type {!string}
+ */
+@property(nonatomic, copy, readonly) NSString *assetKey;
+
+/**
+ * Initializes a live stream request instance with the given assetKey. Uses the given ad display
+ * container to display the stream.
+ *
+ * @param assetKey the stream assetKey
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMALiveStreamRequest instance
+ */
+- (instancetype)initWithAssetKey:(NSString *)assetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+
+/**
+ * Initializes a live stream request instance with the given assetKey. Uses the given ad display
+ * container to display the stream. Uses the picture in picture proxy to track PIP events.
+ *
+ * @param assetKey the stream assetKey
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMALiveStreamRequest instance
+ */
+- (instancetype)initWithAssetKey:(NSString *)assetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
new file mode 100755
index 0000000..d4453e9
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h
@@ -0,0 +1,70 @@
+//
+// IMAPictureInPictureProxy.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Defines a proxy for wrapping an AVPlayerViewControllerDelegate or
+// AVPictureInPictureControllerDelegate for handling Picture-in-Picture.
+
+#import
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol AVPlayerViewControllerDelegate;
+@protocol AVPictureInPictureControllerDelegate;
+
+/**
+ * A proxy class for allowing the SDK to detect entering and exiting
+ * Picture-in-Picture.
+ *
+ * To use the proxy, create an instance of IMAPictureInPictureProxy with the
+ * Picture-in-Picture delegate as an argument, and then simply set the
+ * Picture-in-Picture controller's delegate to the proxy. See
+ *
+ * Picture in Picture for more details.
+ */
+#if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000)
+@interface IMAPictureInPictureProxy
+ : NSProxy
+#else
+@interface IMAPictureInPictureProxy : NSObject
+#endif
+/**
+ * Whether or not Picture-in-Picture is currently active.
+ */
+@property(nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive;
+
+/**
+ * Whether or not Picture-in-Picture is supported on this device.
+ */
++ (BOOL)isPictureInPictureSupported;
+
+/**
+ * Instantiates an IMAPictureInPictureProxy that will proxy delegate
+ * messages from an AVPictureInPictureController, and forward them
+ * to the AVPictureInPictureControllerDelegate passed on init.
+ *
+ * @param delegate the AVPictureInPictureControllerDelegate
+ *
+ * @return an IMAPictureInPictureProxy instance
+ */
+- (instancetype)initWithAVPictureInPictureControllerDelegate:
+ (id)delegate API_AVAILABLE(ios(9.0), tvos(14.0));
+
+/**
+ * Instantiates an IMAPictureInPictureProxy that will proxy delegate
+ * messages from an AVPlayerViewController, and forward them to the
+ * AVPlayerViewControllerDelegate passed on init.
+ *
+ * @param delegate the AVPlayerViewControllerDelegate
+ *
+ * @return an IMAPictureInPictureProxy instance
+ */
+- (instancetype)initWithAVPlayerViewControllerDelegate:(id)delegate
+ API_AVAILABLE(ios(9.0), tvos(14.0));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h
new file mode 100755
index 0000000..76d68ad
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h
@@ -0,0 +1,64 @@
+#import "IMAPictureInPictureProxy.h"
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@protocol IMAVideoDisplay;
+
+/** Data object describing a stream request for a pod serving stream. */
+@interface IMAPodStreamRequest : IMAStreamRequest
+
+/** The network code for the stream request. */
+@property(nonatomic, copy, readonly) NSString *networkCode;
+
+/** The custom asset key for the stream request. */
+@property(nonatomic, copy, readonly) NSString *customAssetKey;
+
+/**
+ * Initializes a stream request instance with the given network code and custom
+ * asset key. Uses the given ad display container to display the stream.
+ *
+ * @param networkCode The network code for the stream.
+ * @param customAssetKey The asset key for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAPodStreamRequest instance.
+ */
+- (instancetype)initWithNetworkCode:(NSString *)networkCode
+ customAssetKey:(NSString *)customAssetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+
+/**
+ * Initializes a stream request instance with the given network code and custom
+ * asset key. Uses the given ad display container to display the stream. Uses the picture in picture
+ * proxy to track PIP events.
+ *
+ * @param networkCode The network code for the stream.
+ * @param customAssetKey The asset key for the stream.
+ * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI.
+ * @param videoDisplay The IMAVideoDisplay where the stream will be played.
+ * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events.
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return The IMAPodStreamRequest instance.
+ */
+- (instancetype)initWithNetworkCode:(NSString *)networkCode
+ customAssetKey:(NSString *)customAssetKey
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h
new file mode 100755
index 0000000..52530b3
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h
@@ -0,0 +1,25 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+// Stores the signal data for SecureSignals. Currently used to store signal for PCS only.
+@interface IMASecureSignals : NSObject
+
+/**
+ * Secure Signal with custom data sent with ads request. Secure Signal with custom
+ * data is an encrypted blob containing signals collected by the publisher and previously agreed
+ * upon by the publisher and bidder。
+ */
+
+@property(nonatomic, copy, readonly) NSString *customData;
+
+- (instancetype)initWithCustomData:(NSString *)customData NS_DESIGNATED_INITIALIZER;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h
new file mode 100755
index 0000000..08de9f9
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h
@@ -0,0 +1,34 @@
+#import
+
+@class IMAVersion;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** Completion handler for signal generation. Returns either signals or an error object. */
+typedef void (^IMASignalCompletionHandler)(NSString *_Nullable signals, NSError *_Nullable error);
+
+/** Adapter that provides secure signal(3rd party signal only) to the IMA SDK to be included in an
+ * auction. */
+@protocol IMASecureSignalsAdapter
+
+/** Initializes the Secure Signal adapter. */
+- (nullable instancetype)init;
+
+/** The version of the adapter. */
++ (IMAVersion *)adapterVersion;
+
+/** The version of the ad SDK. */
++ (IMAVersion *)adSDKVersion;
+
+/**
+ * Asks the receiver for encrypted signals. Signals are provided to the 3PAS at request time. The
+ * receiver must call @c completionHandler with signals or an error.
+ * This method is called on a non-main thread. The receiver should avoid using the main thread to
+ * prevent signal collection timeouts.
+ * @param completion The block to call when signal collection is complete.
+ */
+- (void)collectSignalsWithCompletion:(IMASignalCompletionHandler)completion;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h
new file mode 100755
index 0000000..ce27a31
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h
@@ -0,0 +1,94 @@
+//
+// IMASettings.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Stores SDK wide settings. Only instantiated in the SDK.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * The IMASettings class stores SDK wide settings.
+ */
+@interface IMASettings : NSObject
+
+/**
+ * Publisher Provided Identification (PPID) sent with ads request.
+ */
+@property(nonatomic, copy, nullable) NSString *ppid;
+
+/**
+ * Language specification used for localization. |Language| must be formatted as
+ * a canonicalized IETF BCP 47 language identifier such as would be returned by
+ * [NSLocale preferredLanguages]. Setting this property after it has been sent
+ * to the IMAAdsLoader will be ignored and a warning will be logged.
+ */
+@property(nonatomic, copy) NSString *language;
+
+/**
+ * Specifies maximum number of redirects after which subsequent redirects will
+ * be denied, and the ad load aborted. The number of redirects directly affects
+ * latency and thus user experience. This applies to all VAST wrapper ads. If
+ * the number of redirects exceeds |maxRedirects|, the ad request will fail with
+ * error code 302. The default value is 4.
+ */
+@property(nonatomic) NSUInteger maxRedirects;
+
+/**
+ * Feature flags and their states. Used to control experimental features.
+ */
+@property(nonatomic) NSDictionary *featureFlags;
+
+/**
+ * Enable background audio playback for the SDK. The default value is NO.
+ */
+@property(nonatomic) BOOL enableBackgroundPlayback;
+
+/**
+ * Specifies whether to automatically play VMAP and ad rules ad breaks. The
+ * default value is YES.
+ */
+@property(nonatomic) BOOL autoPlayAdBreaks;
+
+/**
+ * Specifies whether to update the MPNowPlayingInfoCenter content with the
+ * title "Advertisement". If disabled, MPNowPlayingInfoCenter is untouched.
+ * The default value is NO.
+ */
+@property(nonatomic) BOOL disableNowPlayingInfo;
+
+/**
+ * The partner specified video player that is integrating with the SDK.
+ */
+@property(nonatomic, copy, nullable) NSString *playerType;
+
+/**
+ * The partner specified player version that is integrating with the SDK.
+ */
+@property(nonatomic, copy, nullable) NSString *playerVersion;
+
+/**
+ * The session ID to identify a single user session. This should be a UUID. It
+ * is used exclusively for frequency capping across the user session.
+ */
+@property(nonatomic, copy, nullable) NSString *sessionID;
+
+/**
+ * Controls whether Same App Key is enabled. The value set persists across app sessions. The key is
+ * enabled by default.
+ */
+@property(nonatomic) BOOL sameAppKeyEnabled __TVOS_UNAVAILABLE;
+
+/**
+ * Toggles debug mode which will output detailed log information to the console.
+ * Debug mode should be disabled in Release and will display a watermark when
+ * enabled. The default value is NO.
+ */
+@property(nonatomic) BOOL enableDebugMode;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h
new file mode 100755
index 0000000..721fc7c
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h
@@ -0,0 +1,166 @@
+//
+// IMAStreamManager.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Declares IMAStreamManager interface that manages stream playback.
+// The interface represents an abstract API. There can be only one stream managed by a single
+// stream manager.
+// The implementing code should respond to the callbacks as defined in IMAStreamManagerDelegate.
+//
+// A typical stream playback session:
+// 1. Stream manager is retrieved. Delegate is set.
+// 2. Stream playback will meanwhile start because of the adsLoader requestStream call.
+// 3. delegate.didReceiveAdEvent: is called with a kIMAAdBreakStarted event.
+// 4. Publisher should now hide content controls or disable seeking. Ad is now playing
+// 5. delegate.didReceiveAdEvent: is called with a kIMAAdStart event. This event comes with
+// information about the ad.
+// 6. delegate.didReceiveAdEvent is called with ad events like quartiles, midpoint and complete.
+// 7. Ad break finishes and delegate.didReceiveAdEvent is called with a kIMAAdBreakEnded event.
+// 8. Publisher should now show content controls or reenable seeking. Content is now playing.
+// playback should resume now.
+// It is possible to detach the delegate and destroy the ads manager.
+//
+// Steps 3-8 may repeat several times for the same stream if there are multiple ads inserted in
+// the stream.
+
+#import
+
+#import "IMAAdError.h"
+#import "IMAAdEvent.h"
+#import "IMAAdPlaybackInfo.h"
+#import "IMAAdsRenderingSettings.h"
+#import "IMAContentPlayhead.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMACuepoint;
+@class IMAStreamManager;
+
+#pragma mark IMAStreamManagerDelegate
+
+/**
+ * A callback protocol for IMAStreamManager.
+ */
+@protocol IMAStreamManagerDelegate
+
+/**
+ * Called when there is an IMAAdEvent.
+ *
+ * @param streamManager the IMAStreamManager receiving the event
+ * @param event the IMAAdEvent received
+ */
+- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdEvent:(IMAAdEvent *)event;
+
+/**
+ * Called when there is an IMAAdEvent.
+ *
+ * @param streamManager the IMAStreamManager receiving the error
+ * @param error the IMAAdError received
+ */
+- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdError:(IMAAdError *)error;
+
+@optional
+
+/**
+ * Called when the ad is playing to give updates about ad progress.
+ *
+ * @param streamManager the IMAStreamManager tracking ad playback
+ * @param time the current ad playback time in seconds
+ * @param adDuration the total duration of the current ad in seconds
+ * @param adPosition the ad position of the current ad in the current ad break
+ * @param totalAds the total number of ads in the current ad break
+ * @param adBreakDuration the total duration of the current ad break in seconds
+ * @param adPeriodDuration the total duration of the current ad period in seconds. This includes ads
+ * duration plus slate.
+ */
+- (void)streamManager:(IMAStreamManager *)streamManager
+ adDidProgressToTime:(NSTimeInterval)time
+ adDuration:(NSTimeInterval)adDuration
+ adPosition:(NSInteger)adPosition
+ totalAds:(NSInteger)totalAds
+ adBreakDuration:(NSTimeInterval)adBreakDuration
+ adPeriodDuration:(NSTimeInterval)adPeriodDuration;
+
+@end
+
+#pragma mark - IMAStreamManager
+
+/**
+ * The IMAStreamManager class is responsible for playing streams.
+ */
+@interface IMAStreamManager : NSObject
+
+/**
+ * The IMAStreamManagerDelegate to notify with events during stream playback.
+ */
+@property(nonatomic, weak, nullable) NSObject *delegate;
+
+/**
+ * Identifier used during dynamic ad insertion to uniquely identify a stream. This can be used in
+ * the Stream Activity Monitor Debug Console to debug the stream session.
+ */
+@property(nonatomic, copy, readonly, nullable) NSString *streamId;
+
+/**
+ * Initializes and loads the stream.
+ *
+ * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering.
+ * Use nil to default to standard rendering.
+ */
+- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings;
+
+/**
+ * Returns the stream time with ads for a given content time. Returns the given content time
+ * for live streams.
+ *
+ * @param contentTime the content time without any ads (in seconds)
+ *
+ * @return the stream time that corresponds with the given content time once ads are inserted
+ */
+- (NSTimeInterval)streamTimeForContentTime:(NSTimeInterval)contentTime;
+
+/**
+ * Returns the content time without ads for a given stream time. Returns the given stream time
+ * for live streams.
+ *
+ * @param streamTime the stream time with inserted ads (in seconds)
+ *
+ * @return the content time that corresponds with the given stream time once ads are removed
+ */
+- (NSTimeInterval)contentTimeForStreamTime:(NSTimeInterval)streamTime;
+
+/**
+ * Returns the previous cuepoint for the given stream time. Returns nil if no such cuepoint exists.
+ * This is used to implement features like snap back, and called when the publisher detects that
+ * the user seeked in order to force the user to watch an ad break they may have skipped over.
+ *
+ * @param streamTime the stream time that the was seeked to.
+ *
+ * @return the previous IMACuepoint for the given stream time.
+ */
+- (nullable IMACuepoint *)previousCuepointForStreamTime:(NSTimeInterval)streamTime;
+
+/**
+ * Replaces all of the ad tag parameters used for upcoming ad requests for a
+ * live stream.
+ * Note that this call is a no-op for VOD streams.
+ *
+ * @param adTagParameters the new ad tag parameters for the current stream.
+ */
+- (void)replaceAdTagParameters:(nullable NSDictionary *)adTagParameters;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Cleans the stream manager's internal state for proper deallocation.
+ */
+- (void)destroy;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h
new file mode 100755
index 0000000..9d9368d
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h
@@ -0,0 +1,107 @@
+//
+// IMAStreamRequest.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Declares a simple stream request class.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@class IMASecureSignals;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data class describing the stream request.
+ */
+@interface IMAStreamRequest : NSObject
+
+/**
+ * The stream display container for displaying the ad UI.
+ */
+@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer;
+
+/**
+ * The video display where the stream can be played.
+ */
+@property(nonatomic, readonly) id videoDisplay;
+
+/**
+ * The stream request API key. It's configured through the
+ *
+ * DFP Admin UI and provided to the publisher to unlock their content.
+ * It verifies the applications that are attempting to access the content.
+ */
+@property(nonatomic, copy, nullable) NSString *apiKey;
+
+/**
+ * The stream request authorization token. This is used in place of the API key for stricter
+ * content authorization. The publisher can control individual content streams authorized based
+ * on this token.
+ */
+@property(nonatomic, copy, nullable) NSString *authToken;
+
+/**
+ * The ID to be used to debug the stream with the stream activity monitor. This is used to provide
+ * a convenient way to allow publishers to find a stream log in the stream activity monitor tool.
+ */
+@property(nonatomic, copy, nullable) NSString *streamActivityMonitorID;
+
+/**
+ * You can override a limited set of ad tag parameters on your stream request.
+ *
+ * Supply targeting parameters to your stream provides more information.
+ *
+ * You can use the dai-ot and dai-ov parameters for stream variant preference.
+ * See
+ * Override Stream Variant Parameters for more information.
+ */
+@property(nonatomic, copy, nullable) NSDictionary *adTagParameters;
+
+/**
+ * The suffix that the SDK will append to the query of the stream manifest URL. Do not include the
+ * '?' separator at the start. The SDK will account for the existence of parameters in the URL
+ * already, removing existing ones that collide with ones supplied here. This suffix needs to be
+ * sanitized and encoded as the SDK will not do this.
+ */
+@property(nonatomic, copy, nullable) NSString *manifestURLSuffix;
+
+/**
+ * Specifies the universal link to the content's screen. If provided, this parameter is passed to
+ * the OM SDK. See Apple
+ * documentation for more information.
+ */
+@property(nonatomic, copy, nullable) NSURL *contentURL;
+
+/**
+ * Enables the addition of a nonce to the request. This is needed to transmit monetization signals
+ * to Google servers when ads are requested server side from a non Google server. Defaults to false.
+ * :nodoc:
+ */
+@property(nonatomic, assign) BOOL enableNonce;
+
+/**
+ * Specifies the Secure Signal with custom data for this stream request. Secure Signal with custom
+ * data is an encrypted blob containing signals collected by the publisher and previously agreed
+ * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by
+ * passing null to this function.
+ */
+@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals;
+
+/**
+ * The user context.
+ */
+@property(nonatomic, readonly, nullable) id userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
new file mode 100755
index 0000000..49c75f1
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h
@@ -0,0 +1,30 @@
+/*! \file IMAUiElements.h
+ * GoogleIMA3
+ *
+ * Copyright (c) 2013 Google Inc. All rights reserved.
+ *
+ * Defines an enum containing the possible UI elements that can be
+ * customized by the publisher during ad playback.
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark IMAUiElementType
+
+/**
+ * Different UI elements that can be customized.
+ */
+typedef NS_ENUM(NSInteger, IMAUiElementType) {
+ /**
+ * Ad attribution UI element.
+ */
+ kIMAUiElements_AD_ATTRIBUTION,
+ /**
+ * Ad countdown element.
+ */
+ kIMAUiElements_COUNTDOWN
+};
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h
new file mode 100755
index 0000000..cdd99c0
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h
@@ -0,0 +1,36 @@
+//
+// IMAUniversalAdID.h
+// GoogleIMA3
+//
+// Copyright (c) 2019 Google Inc. All rights reserved.
+//
+// Represents the universal ad ID information for a single ad.
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Simple data object containing universal ad ID information.
+ */
+@interface IMAUniversalAdID : NSObject
+
+/**
+ * The universal ad ID value. This will be "unknown" if it isn't defined by the ad.
+ */
+@property(nonatomic, copy, readonly) NSString *adIDValue;
+
+/**
+ * The universal ad ID registry with which the value is registered. This will be "unknown"
+ * if it isn't defined by the ad.
+ */
+@property(nonatomic, copy, readonly) NSString *adIDRegistry;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h
new file mode 100755
index 0000000..241c7a6
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h
@@ -0,0 +1,80 @@
+//
+// IMAVODStreamRequest.h
+// GoogleIMA3_ios
+//
+// Declares a representation of a stream request for on-demand streams.
+//
+
+#import "IMAStreamRequest.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class IMAAdDisplayContainer;
+@class IMAPictureInPictureProxy;
+@protocol IMAVideoDisplay;
+
+/**
+ * Data object describing a VOD stream request.
+ */
+
+@interface IMAVODStreamRequest : IMAStreamRequest
+
+/**
+ * The stream request content source ID. This is used to determine the
+ * content source of the stream.
+ */
+@property(nonatomic, copy, readonly) NSString *contentSourceID;
+
+/**
+ * The stream request video ID. This is used to determine which specific video
+ * stream should be played.
+ */
+@property(nonatomic, copy, readonly) NSString *videoID;
+
+/**
+ * Initializes a stream request instance with the given content source ID and video ID.
+ * Uses the given ad display container to display the stream. This is used for on-demand streams.
+ *
+ * @param contentSourceID the content source ID for this stream
+ * @param videoID the video identifier for this stream
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMAVODStreamRequest instance
+ */
+- (instancetype)initWithContentSourceID:(NSString *)contentSourceID
+ videoID:(NSString *)videoID
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ userContext:(nullable id)userContext;
+
+/**
+ * Initializes a stream request instance with the given content source ID and video ID.
+ * Uses the given ad display container to display the stream. This is used for on-demand streams.
+ * Uses the picture in picture proxy to track PIP events.
+ *
+ * @param contentSourceID the content source ID for this stream
+ * @param videoID the video identifier for this stream
+ * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI
+ * @param videoDisplay the IMAVideoDisplay for playing the stream
+ * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events
+ * @param userContext The user context for tracking requests (optional)
+ *
+ * @return the IMAVODStreamRequest instance
+ */
+- (instancetype)initWithContentSourceID:(NSString *)contentSourceID
+ videoID:(NSString *)videoID
+ adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer
+ videoDisplay:(id)videoDisplay
+ pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy
+ userContext:(nullable id)userContext;
+
+/**
+ * :nodoc:
+ */
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
new file mode 100755
index 0000000..ce2c952
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h
@@ -0,0 +1,14 @@
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface IMAVersion : NSObject
+/** Major version. */
+@property(nonatomic) NSInteger majorVersion;
+/** Minor version. */
+@property(nonatomic) NSInteger minorVersion;
+/** Patch version. */
+@property(nonatomic) NSInteger patchVersion;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
new file mode 100755
index 0000000..735b621
--- /dev/null
+++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h
@@ -0,0 +1,203 @@
+//
+// IMAVideoDisplay.h
+// GoogleIMA3
+//
+// Copyright (c) 2015 Google Inc. All rights reserved.
+//
+// Declares a simple video display class used for ad playback.
+
+#import "IMAAdPlaybackInfo.h"
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol IMAVideoDisplay;
+
+/**
+ * Delegate object that receives state change callbacks from IMAVideoDisplay.
+ */
+@protocol IMAVideoDisplayDelegate
+
+/**
+ * Informs the SDK that the ad has loaded.
+ *
+ * @param videoDisplay the IMAVideoDisplay that loaded the ad
+ */
+- (void)videoDisplayDidLoad:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has started playback. This must be called at most once per loadStream:
+ * or loadUrl: call.
+ *
+ * @param videoDisplay the IMAVideoDisplay that started ad playback
+ */
+- (void)videoDisplayDidStart:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has paused.
+ *
+ * @param videoDisplay the IMAVideoDisplay that paused ad playback
+ */
+- (void)videoDisplayDidPause:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has resumed playback.
+ *
+ * @param videoDisplay the IMAVideoDisplay that resumed ad playback
+ */
+- (void)videoDisplayDidResume:(id)videoDisplay;
+
+/**
+ * Informs the SDK the ad has completed playback.
+ *
+ * @param videoDisplay the IMAVideoDisplay that completed ad playback
+ */
+- (void)videoDisplayDidComplete:(id