diff --git a/.github/workflows/pds-test.yml b/.github/workflows/pds-test.yml index 8fa2116..53a2d8b 100644 --- a/.github/workflows/pds-test.yml +++ b/.github/workflows/pds-test.yml @@ -11,5 +11,5 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v1 with: - go-version: '1.18' + go-version: '1.20' - run: cd pds && make test \ No newline at end of file diff --git a/pds/Makefile b/pds/Makefile index 9805c77..85993f9 100644 --- a/pds/Makefile +++ b/pds/Makefile @@ -4,4 +4,9 @@ test: .PHONY: ci ci: - $(MAKE) ci -C ./lib/go \ No newline at end of file + $(MAKE) ci -C ./lib/go + +.PHONY: generate +generate: + $(MAKE) generate -C ./lib/go/contracts + $(MAKE) generate -C ./lib/go/templates diff --git a/pds/contracts/IPackNFT.cdc b/pds/contracts/IPackNFT.cdc index dc78220..9d791f9 100644 --- a/pds/contracts/IPackNFT.cdc +++ b/pds/contracts/IPackNFT.cdc @@ -1,108 +1,121 @@ import Crypto -import NonFungibleToken from 0x{{.NonFungibleToken}} +import NonFungibleToken from "NonFungibleToken" +/// Contract interface for PackNFT contracts. +/// +access(all) contract interface IPackNFT{ + + /// Entitlement to perform operations on the PackNFT + /// + access(all) entitlement Operate -pub contract interface IPackNFT{ /// StoragePath for Collection Resource /// - pub let CollectionStoragePath: StoragePath + access(all) let CollectionStoragePath: StoragePath + /// PublicPath expected for deposit /// - pub let CollectionPublicPath: PublicPath + access(all) let CollectionPublicPath: PublicPath + /// PublicPath for receiving PackNFT /// - pub let CollectionIPackNFTPublicPath: PublicPath + access(all) let CollectionIPackNFTPublicPath: PublicPath + /// StoragePath for the PackNFT Operator Resource (issuer owns this) /// - pub let OperatorStoragePath: StoragePath - /// PrivatePath to share IOperator interfaces with Operator (typically with PDS account) - /// - pub let OperatorPrivPath: PrivatePath + access(all) let OperatorStoragePath: StoragePath + /// Request for Reveal /// - pub event RevealRequest(id: UInt64, openRequest: Bool) + access(all) event RevealRequest(id: UInt64, openRequest: Bool) + /// Request for Open /// /// This is emitted when owner of a PackNFT request for the entitled NFT to be /// deposited to its account - pub event OpenRequest(id: UInt64) + access(all) event OpenRequest(id: UInt64) + /// Burned /// /// Emitted when a PackNFT has been burned - pub event Burned(id: UInt64 ) + access(all) event Burned(id: UInt64 ) + /// Opened /// /// Emitted when a packNFT has been opened - pub event Opened(id: UInt64) + access(all) event Opened(id: UInt64) - pub enum Status: UInt8 { - pub case Sealed - pub case Revealed - pub case Opened - } + // TODO: Clean up after enum handling/removal is clarified. + // Enums cannot be declared anymore in interfaces in Cadence 1.0 + // access(all) enum Status: UInt8 { + // access(all) case Sealed + // access(all) case Revealed + // access(all) case Opened + // } - pub struct interface Collectible { - pub let address: Address - pub let contractName: String - pub let id: UInt64 - pub fun hashString(): String - init(address: Address, contractName: String, id: UInt64) + /// Struct interface for Collectible + /// + access(all) struct interface Collectible { + access(all) let address: Address + access(all) let contractName: String + access(all) let id: UInt64 + access(all) fun hashString(): String + view init(address: Address, contractName: String, id: UInt64) } - pub resource interface IPack { - pub let issuer: Address - pub var status: Status + /// Resource interface for PackNFT + /// + access(all) resource interface IPack { + access(all) let issuer: Address + // access(all) var status: Status - pub fun verify(nftString: String): Bool + access(all) fun verify(nftString: String): Bool access(contract) fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) access(contract) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) - init(commitHash: String, issuer: Address) + view init(commitHash: String, issuer: Address) } - pub resource interface IOperator { - pub fun mint(distId: UInt64, commitHash: String, issuer: Address): @NFT - pub fun reveal(id: UInt64, nfts: [{Collectible}], salt: String) - pub fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) - } - pub resource PackNFTOperator: IOperator { - pub fun mint(distId: UInt64, commitHash: String, issuer: Address): @NFT - pub fun reveal(id: UInt64, nfts: [{Collectible}], salt: String) - pub fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) + /// Resource interface for IOperator + /// + access(all) resource interface IOperator { + access(Operate) fun mint(distId: UInt64, commitHash: String, issuer: Address): @{IPackNFT.NFT} + access(Operate) fun reveal(id: UInt64, nfts: [{Collectible}], salt: String) + access(Operate) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) } - pub resource interface IPackNFTToken { - pub let id: UInt64 - pub let issuer: Address - } + // Included for backwards compatibility + access(all) resource interface PackNFTOperator: IOperator {} - pub resource NFT: NonFungibleToken.INFT, IPackNFTToken, IPackNFTOwnerOperator{ - pub let id: UInt64 - pub let issuer: Address - pub fun reveal(openRequest: Bool) - pub fun open() - } - - pub resource interface IPackNFTOwnerOperator{ - pub fun reveal(openRequest: Bool) - pub fun open() + /// Resource interface for IPackNFTToken + /// + access(all) resource interface IPackNFTToken { + access(all) let id: UInt64 + access(all) let issuer: Address } - - pub resource interface IPackNFTCollectionPublic { - pub fun deposit(token: @NonFungibleToken.NFT) - pub fun getIDs(): [UInt64] - pub fun borrowNFT(id: UInt64): &NonFungibleToken.NFT - pub fun borrowPackNFT(id: UInt64): &IPackNFT.NFT? { - // If the result isn't nil, the id of the returned reference - // should be the same as the argument to the function - post { - (result == nil) || (result!.id == id): - "Cannot borrow PackNFT reference: The ID of the returned reference is incorrect" - } - } + + /// Resource interface for NFT + /// + access(all) resource interface NFT: NonFungibleToken.NFT, IPackNFTToken, IPackNFTOwnerOperator { + access(all) let id: UInt64 + access(all) let issuer: Address + access(NonFungibleToken.Update | NonFungibleToken.Owner) fun reveal(openRequest: Bool) + access(NonFungibleToken.Update | NonFungibleToken.Owner) fun open() } + // Included for backwards compatibility + access(all) resource interface IPackNFTOwnerOperator{} + access(all) resource interface IPackNFTCollectionPublic {} + + /// Emit a RevealRequest event to signal a Sealed Pack NFT should be revealed + /// access(contract) fun revealRequest(id: UInt64, openRequest: Bool) + + /// Emit an OpenRequest event to signal a Revealed Pack NFT should be opened + /// access(contract) fun openRequest(id: UInt64) - pub fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) + + /// Reveal a Sealed Pack NFT + /// + access(all) fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) } \ No newline at end of file diff --git a/pds/contracts/PDS.cdc b/pds/contracts/PDS.cdc index 0c87b91..63d563e 100644 --- a/pds/contracts/PDS.cdc +++ b/pds/contracts/PDS.cdc @@ -1,56 +1,76 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import IPackNFT from 0x{{.IPackNFT}} - -pub contract PDS{ - /// The collection to hold all escrowed NFT - /// Original collection created from PackNFT - pub var version: String - pub let PackIssuerStoragePath: StoragePath - pub let PackIssuerCapRecv: PublicPath - pub let DistCreatorStoragePath: StoragePath - pub let DistCreatorPrivPath: PrivatePath - pub let DistManagerStoragePath: StoragePath - - pub var nextDistId: UInt64 +import NonFungibleToken from "NonFungibleToken" +import IPackNFT from "IPackNFT" + +/// The Pack Distribution Service (PDS) contract is responsible for creating and managing distributions of packs. +/// +access(all) contract PDS{ + /// Entitlement that grants the ability to create a distribution. + /// + access(all) entitlement CreateDist + + access(all) var version: String + access(all) let PackIssuerStoragePath: StoragePath + access(all) let PackIssuerCapRecv: PublicPath + access(all) let DistCreatorStoragePath: StoragePath + access(all) let DistManagerStoragePath: StoragePath + + /// The next distribution ID to be used. + /// + access(all) var nextDistId: UInt64 + + /// Dictionary that stores distribution IDs to distribution details in the contract state. + /// access(contract) let Distributions: {UInt64: DistInfo} + + /// Dictionary that stores distribution IDs to shared capabilities in the contract state. + /// access(contract) let DistSharedCap: @{UInt64: SharedCapabilities} - /// Issuer has created a distribution - pub event DistributionCreated(DistId: UInt64, title: String, metadata: {String: String}, state: UInt8) + /// Emitted when an issuer has created a distribution. + /// + access(all) event DistributionCreated(DistId: UInt64, title: String, metadata: {String: String}, state: UInt8) - /// Distribution manager has updated a distribution state - pub event DistributionStateUpdated(DistId: UInt64, state: UInt8) + /// Emmitted when a distribution manager has updated a distribution state. + /// + access(all) event DistributionStateUpdated(DistId: UInt64, state: UInt8) - pub enum DistState: UInt8 { - pub case Initialized - pub case Invalid - pub case Complete + /// Enum that defines the status of a Distribution. + /// + access(all) enum DistState: UInt8 { + access(all) case Initialized + access(all) case Invalid + access(all) case Complete } - pub struct DistInfo { - pub let title: String - pub let metadata: {String: String} - pub var state: PDS.DistState + /// Struct that defines the details of a Distribution. + /// + access(all) struct DistInfo { + access(all) let title: String + access(all) let metadata: {String: String} + access(all) var state: PDS.DistState - pub fun setState(newState: PDS.DistState) { + access(all) fun setState(newState: PDS.DistState) { self.state = newState } - init(title: String, metadata: {String: String}) { + /// DistInfo struct initializer. + /// + view init(title: String, metadata: {String: String}) { self.title = title self.metadata = metadata self.state = PDS.DistState.Initialized } } - - pub struct Collectible: IPackNFT.Collectible { - pub let address: Address - pub let contractName: String - pub let id: UInt64 + /// Struct that defines a Collectible. + /// + access(all) struct Collectible: IPackNFT.Collectible { + access(all) let address: Address + access(all) let contractName: String + access(all) let id: UInt64 // returning in string so that it is more readable and anyone can check the hash - pub fun hashString(): String { + access(all) view fun hashString(): String { // address string is 16 characters long with 0x as prefix (for 8 bytes in hex) // example: ,f3fcd2c1a78f5ee.ExampleNFT.12 let c = "A." @@ -68,42 +88,59 @@ pub contract PDS{ } else { a = addrStr.slice(from: 2, upTo: 18) } - var str = c.concat(a).concat(".").concat(self.contractName).concat(".").concat(self.id.toString()) - return str + return c.concat(a).concat(".").concat(self.contractName).concat(".").concat(self.id.toString()) } - init(address: Address, contractName: String, id: UInt64) { + + /// Collectible struct initializer. + /// + view init(address: Address, contractName: String, id: UInt64) { self.address = address self.contractName = contractName self.id = id } } - pub resource SharedCapabilities { - access(self) let withdrawCap: Capability<&{NonFungibleToken.Provider}> - access(self) let operatorCap: Capability<&{IPackNFT.IOperator}> + /// Resource that defines the shared capabilities required for creating and managing Pack NFTs. + /// + access(all) resource SharedCapabilities { + /// Capability to withdraw NFTs from the issuer. + /// + access(self) let withdrawCap: Capability + + /// Capability to mint, reveal, and open Pack NFTs. + /// + access(self) let operatorCap: Capability - pub fun withdrawFromIssuer(withdrawID: UInt64): @NonFungibleToken.NFT { + /// Withdraw an NFT from the issuer. + /// + access(all) fun withdrawFromIssuer(withdrawID: UInt64): @{NonFungibleToken.NFT} { let c = self.withdrawCap.borrow() ?? panic("no such cap") return <- c.withdraw(withdrawID: withdrawID) } - pub fun mintPackNFT(distId: UInt64, commitHashes: [String], issuer: Address, recvCap: &{NonFungibleToken.CollectionPublic} ){ + /// Mint Pack NFTs. + /// + access(all) fun mintPackNFT(distId: UInt64, commitHashes: [String], issuer: Address, recvCap: &{NonFungibleToken.CollectionPublic}) { var i = 0 let c = self.operatorCap.borrow() ?? panic("no such cap") while i < commitHashes.length{ let nft <- c.mint(distId: distId, commitHash: commitHashes[i], issuer: issuer) i = i + 1 - let n <- nft as! @NonFungibleToken.NFT + let n <- nft recvCap.deposit(token: <- n) } } - pub fun revealPackNFT(packId: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { + /// Reveal Pack NFTs. + /// + access(all) fun revealPackNFT(packId: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { let c = self.operatorCap.borrow() ?? panic("no such cap") c.reveal(id: packId, nfts: nfts, salt: salt) } - pub fun openPackNFT(packId: UInt64, nfts: [{IPackNFT.Collectible}], recvCap: &{NonFungibleToken.CollectionPublic}, collectionProviderPath: PrivatePath) { + /// Open Pack NFTs. + /// + access(all) fun openPackNFT(packId: UInt64, nfts: [{IPackNFT.Collectible}], recvCap: &{NonFungibleToken.CollectionPublic}, collectionStoragePath: StoragePath) { let c = self.operatorCap.borrow() ?? panic("no such cap") let toReleaseNFTs: [UInt64] = [] var i = 0 @@ -112,52 +149,56 @@ pub contract PDS{ i = i + 1 } c.open(id: packId, nfts: nfts) - PDS.releaseEscrow(nftIds: toReleaseNFTs, recvCap: recvCap , collectionProviderPath: collectionProviderPath) + PDS.releaseEscrow(nftIds: toReleaseNFTs, recvCap: recvCap , collectionStoragePath: collectionStoragePath) } - - init( - withdrawCap: Capability<&{NonFungibleToken.Provider}>, - operatorCap: Capability<&{IPackNFT.IOperator}> - - ){ + /// SharedCapabilities resource initializer. + /// + view init( + withdrawCap: Capability, + operatorCap: Capability + ) { self.withdrawCap = withdrawCap self.operatorCap = operatorCap } } - pub resource interface PackIssuerCapReciever { - pub fun setDistCap(cap: Capability<&DistributionCreator{IDistCreator}>) - } + // Included for backwards compatibility. + access(all) resource interface PackIssuerCapReciever {} - pub resource PackIssuer: PackIssuerCapReciever { - access(self) var cap: Capability<&DistributionCreator{IDistCreator}>? + /// Resource that defines the issuer of a pack. + /// + access(all) resource PackIssuer: PackIssuerCapReciever { + access(self) var cap: Capability<&DistributionCreator>? - pub fun setDistCap(cap: Capability<&DistributionCreator{IDistCreator}>) { + access(all) fun setDistCap(cap: Capability<&DistributionCreator>) { pre { - cap.borrow() != nil: "Invalid capability" + cap.check(): "Invalid capability" } self.cap = cap } - pub fun create(sharedCap: @SharedCapabilities, title: String, metadata: {String: String}) { + access(CreateDist) fun createDist(sharedCap: @SharedCapabilities, title: String, metadata: {String: String}) { assert(title.length > 0, message: "Title must not be empty") let c = self.cap!.borrow()! c.createNewDist(sharedCap: <- sharedCap, title: title, metadata: metadata) } - init() { + + /// PackIssuer resource initializer. + /// + view init() { self.cap = nil } } - // DistCap to be shared - pub resource interface IDistCreator { - pub fun createNewDist(sharedCap: @SharedCapabilities, title: String, metadata: {String: String}) - } + // Included for backwards compatibility. + access(all) resource interface IDistCreator {} - pub resource DistributionCreator: IDistCreator { - pub fun createNewDist(sharedCap: @SharedCapabilities, title: String, metadata: {String: String}) { + /// Resource that defines the creator of a distribution. + /// + access(all) resource DistributionCreator: IDistCreator { + access(all) fun createNewDist(sharedCap: @SharedCapabilities, title: String, metadata: {String: String}) { let currentId = PDS.nextDistId PDS.DistSharedCap[currentId] <-! sharedCap PDS.Distributions[currentId] = DistInfo(title: title, metadata: metadata) @@ -166,15 +207,17 @@ pub contract PDS{ } } - pub resource DistributionManager { - pub fun updateDistState(distId: UInt64, state: PDS.DistState) { + /// Resource that defines the manager of a distribution. + /// + access(all) resource DistributionManager { + access(all) fun updateDistState(distId: UInt64, state: PDS.DistState) { let d = PDS.Distributions.remove(key: distId) ?? panic ("No such distribution") d.setState(newState: state) PDS.Distributions.insert(key: distId, d) emit DistributionStateUpdated(DistId: distId, state: state.rawValue) } - pub fun withdraw(distId: UInt64, nftIDs: [UInt64], escrowCollectionPublic: PublicPath) { + access(all) fun withdraw(distId: UInt64, nftIDs: [UInt64], escrowCollectionPublic: PublicPath) { assert(PDS.DistSharedCap.containsKey(distId), message: "No such distribution") let d <- PDS.DistSharedCap.remove(key: distId)! let pdsCollection = PDS.getManagerCollectionCap(escrowCollectionPublic: escrowCollectionPublic).borrow()! @@ -187,25 +230,25 @@ pub contract PDS{ PDS.DistSharedCap[distId] <-! d } - pub fun mintPackNFT(distId: UInt64, commitHashes: [String], issuer: Address, recvCap: &{NonFungibleToken.CollectionPublic}){ + access(all) fun mintPackNFT(distId: UInt64, commitHashes: [String], issuer: Address, recvCap: &{NonFungibleToken.CollectionPublic}) { assert(PDS.DistSharedCap.containsKey(distId), message: "No such distribution") let d <- PDS.DistSharedCap.remove(key: distId)! d.mintPackNFT(distId: distId, commitHashes: commitHashes, issuer: issuer, recvCap: recvCap) PDS.DistSharedCap[distId] <-! d } - - pub fun revealPackNFT(distId: UInt64, packId: UInt64, nftContractAddrs: [Address], nftContractName: [String], nftIds: [UInt64], salt: String){ + + access(all) fun revealPackNFT(distId: UInt64, packId: UInt64, nftContractAddrs: [Address], nftContractNames: [String], nftIds: [UInt64], salt: String) { assert(PDS.DistSharedCap.containsKey(distId), message: "No such distribution") assert( - nftContractAddrs.length == nftContractName.length && - nftContractName.length == nftIds.length, + nftContractAddrs.length == nftContractNames.length && + nftContractNames.length == nftIds.length, message: "NFTs must be fully described" ) let d <- PDS.DistSharedCap.remove(key: distId)! let arr: [{IPackNFT.Collectible}] = [] var i = 0 while i < nftContractAddrs.length { - let s = Collectible(address: nftContractAddrs[i], contractName: nftContractName[i], id: nftIds[i]) + let s = Collectible(address: nftContractAddrs[i], contractName: nftContractNames[i], id: nftIds[i]) arr.append(s) i = i + 1 } @@ -213,38 +256,42 @@ pub contract PDS{ PDS.DistSharedCap[distId] <-! d } - pub fun openPackNFT( + access(all) fun openPackNFT( distId: UInt64, packId: UInt64, nftContractAddrs: [Address], - nftContractName: [String], - nftIds: [UInt64], - recvCap: &{NonFungibleToken.CollectionPublic}, - collectionProviderPath: PrivatePath - ){ + nftContractNames: [String], + nftIds: [UInt64], + recvCap: &{NonFungibleToken.CollectionPublic}, + collectionStoragePath: StoragePath + ) { assert(PDS.DistSharedCap.containsKey(distId), message: "No such distribution") let d <- PDS.DistSharedCap.remove(key: distId)! let arr: [{IPackNFT.Collectible}] = [] var i = 0 while i < nftContractAddrs.length { - let s = Collectible(address: nftContractAddrs[i], contractName: nftContractName[i], id: nftIds[i]) + let s = Collectible(address: nftContractAddrs[i], contractName: nftContractNames[i], id: nftIds[i]) arr.append(s) i = i + 1 } - d.openPackNFT(packId: packId, nfts: arr, recvCap: recvCap, collectionProviderPath: collectionProviderPath) + d.openPackNFT(packId: packId, nfts: arr, recvCap: recvCap, collectionStoragePath: collectionStoragePath) PDS.DistSharedCap[distId] <-! d } } - - access(contract) fun getManagerCollectionCap(escrowCollectionPublic: PublicPath): Capability<&{NonFungibleToken.CollectionPublic}> { - let pdsCollection = self.account.getCapability<&{NonFungibleToken.CollectionPublic}>(escrowCollectionPublic) + + /// Returns the manager collection capability to receive NFTs to be escrowed. + /// + access(contract) view fun getManagerCollectionCap(escrowCollectionPublic: PublicPath): Capability<&{NonFungibleToken.CollectionPublic}> { + let pdsCollection = self.account.capabilities.get<&{NonFungibleToken.CollectionPublic}>(escrowCollectionPublic)! assert(pdsCollection.check(), message: "Please ensure PDS has created and linked a Collection for recieving escrows") return pdsCollection } - - access(contract) fun releaseEscrow(nftIds: [UInt64], recvCap: &{NonFungibleToken.CollectionPublic}, collectionProviderPath: PrivatePath ) { - let pdsCollection = self.account.getCapability(collectionProviderPath).borrow<&{NonFungibleToken.Provider}>() + + /// Release escrowed NFTs to the receiver. + /// + access(contract) fun releaseEscrow(nftIds: [UInt64], recvCap: &{NonFungibleToken.CollectionPublic}, collectionStoragePath: StoragePath ) { + let pdsCollection = self.account.storage.borrow(from: collectionStoragePath) ?? panic("Unable to borrow PDS collection provider capability from private path") var i = 0 while i < nftIds.length { @@ -253,50 +300,51 @@ pub contract PDS{ } } - pub fun createPackIssuer (): @PackIssuer{ + /// Create a PackIssuer resource and return it to the caller. + access(all) fun createPackIssuer(): @PackIssuer{ return <- create PackIssuer() } - pub fun createSharedCapabilities ( - withdrawCap: Capability<&{NonFungibleToken.Provider}>, - operatorCap: Capability<&{IPackNFT.IOperator}> - ): @SharedCapabilities{ + /// Create a SharedCapabilities resource and return it to the caller. + /// + access(all) fun createSharedCapabilities( + withdrawCap: Capability, + operatorCap: Capability + ): @SharedCapabilities { return <- create SharedCapabilities( withdrawCap: withdrawCap, operatorCap: operatorCap ) } - - pub fun getDistInfo(distId: UInt64): DistInfo? { + + /// Returns the details of a distribution if it exists, nil otherwise. + /// + access(all) view fun getDistInfo(distId: UInt64): DistInfo? { return PDS.Distributions[distId] } - + /// PDS contract initializer. + /// init( PackIssuerStoragePath: StoragePath, PackIssuerCapRecv: PublicPath, DistCreatorStoragePath: StoragePath, - DistCreatorPrivPath: PrivatePath, DistManagerStoragePath: StoragePath, version: String ) { self.nextDistId = 1 self.DistSharedCap <- {} - self.Distributions = {} + self.Distributions = {} self.PackIssuerStoragePath = PackIssuerStoragePath self.PackIssuerCapRecv = PackIssuerCapRecv self.DistCreatorStoragePath = DistCreatorStoragePath - self.DistCreatorPrivPath = DistCreatorPrivPath self.DistManagerStoragePath = DistManagerStoragePath self.version = version - - // Create a distributionCreator to share create capability with PackIssuer - let d <- create DistributionCreator() - self.account.save(<-d, to: self.DistCreatorStoragePath) - self.account.link<&DistributionCreator{PDS.IDistCreator}>(self.DistCreatorPrivPath, target: self.DistCreatorStoragePath) - - // Create a distributionManager to manager distributions (withdraw for escrow, mint PackNFT todo: reveal / transfer) - let m <- create DistributionManager() - self.account.save(<-m, to: self.DistManagerStoragePath) + + // Create a DistributionCreator resource to share create capability with PackIssuer. + self.account.storage.save(<- create DistributionCreator(), to: self.DistCreatorStoragePath) + + // Create a DistributionManager resource to manager distributions (withdraw for escrow, mint PackNFT todo: reveal / transfer). + self.account.storage.save(<- create DistributionManager(), to: self.DistManagerStoragePath) } -} \ No newline at end of file +} diff --git a/pds/contracts/PackNFT.cdc b/pds/contracts/PackNFT.cdc index 7d9db01..3c2831d 100644 --- a/pds/contracts/PackNFT.cdc +++ b/pds/contracts/PackNFT.cdc @@ -1,70 +1,92 @@ import Crypto -import NonFungibleToken from 0x{{.NonFungibleToken}} -import IPackNFT from 0x{{.IPackNFT}} - -pub contract PackNFT: NonFungibleToken, IPackNFT { - - pub var totalSupply: UInt64 - pub let version: String - pub let CollectionStoragePath: StoragePath - pub let CollectionPublicPath: PublicPath - pub let CollectionIPackNFTPublicPath: PublicPath - pub let OperatorStoragePath: StoragePath - pub let OperatorPrivPath: PrivatePath - - // representation of the NFT in this contract to keep track of states +import NonFungibleToken from "NonFungibleToken" +import IPackNFT from "IPackNFT" +import MetadataViews from "MetadataViews" + +/// Contract that defines Pack NFTs. +/// +access(all) contract PackNFT: NonFungibleToken, IPackNFT { + + access(all) var totalSupply: UInt64 + access(all) let version: String + access(all) let CollectionStoragePath: StoragePath + access(all) let CollectionPublicPath: PublicPath + access(all) let CollectionIPackNFTPublicPath: PublicPath + access(all) let OperatorStoragePath: StoragePath + + /// Dictionary that stores Pack resources in the contract state (i.e., Pack NFT representations to keep track of states). + /// access(contract) let packs: @{UInt64: Pack} - pub event RevealRequest(id: UInt64, openRequest: Bool) - pub event OpenRequest(id: UInt64) - pub event Revealed(id: UInt64, salt: [UInt8], nfts: String) - pub event Opened(id: UInt64) - pub event Minted(id: UInt64, hash: [UInt8], distId: UInt64) - pub event Burned(id: UInt64) - pub event ContractInitialized() - pub event Withdraw(id: UInt64, from: Address?) - pub event Deposit(id: UInt64, to: Address?) - - pub enum Status: UInt8 { - pub case Sealed - pub case Revealed - pub case Opened + access(all) event RevealRequest(id: UInt64, openRequest: Bool) + access(all) event OpenRequest(id: UInt64) + access(all) event Revealed(id: UInt64, salt: [UInt8], nfts: String) + access(all) event Opened(id: UInt64) + access(all) event Minted(id: UInt64, hash: [UInt8], distId: UInt64) + access(all) event ContractInitialized() + + // TODO: Consider removing 'Withdraw' and 'Deposit' events now that similar 'Withdrawn' and 'Deposited' events are emitted in NonFungibleToken contract interface + access(all) event Withdraw(id: UInt64, from: Address?) + access(all) event Deposit(id: UInt64, to: Address?) + + /// Enum that defines the status of a Pack resource. + /// + access(all) enum Status: UInt8 { + access(all) case Sealed + access(all) case Revealed + access(all) case Opened } - pub resource PackNFTOperator: IPackNFT.IOperator { - - pub fun mint(distId: UInt64, commitHash: String, issuer: Address): @NFT{ + /// Resource that defines a Pack NFT Operator, responsible for: + /// - Minting Pack NFTs and the corresponding Pack resources that keep track of states, + /// - Revealing sealed Pack resources, and + /// - opening revealed Pack resources. + /// + access(all) resource PackNFTOperator: IPackNFT.IOperator { + + /// Mint a new Pack NFT resource and corresponding Pack resource; store the Pack resource in the contract's packs dictionary + /// and return the Pack NFT resource to the caller. + /// + access(IPackNFT.Operate) fun mint(distId: UInt64, commitHash: String, issuer: Address): @{IPackNFT.NFT} { let nft <- create NFT(commitHash: commitHash, issuer: issuer) PackNFT.totalSupply = PackNFT.totalSupply + 1 - let p <-create Pack(commitHash: commitHash, issuer: issuer) + let p <- create Pack(commitHash: commitHash, issuer: issuer) PackNFT.packs[nft.id] <-! p emit Minted(id: nft.id, hash: commitHash.decodeHex(), distId: distId) return <- nft - } + } - pub fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { + /// Reveal a Sealed Pack resource. + /// + access(IPackNFT.Operate) fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { let p <- PackNFT.packs.remove(key: id) ?? panic("no such pack") p.reveal(id: id, nfts: nfts, salt: salt) PackNFT.packs[id] <-! p } - pub fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { + /// Open a Revealed Pack NFT resource. + /// + access(IPackNFT.Operate) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { let p <- PackNFT.packs.remove(key: id) ?? panic("no such pack") p.open(id: id, nfts: nfts) PackNFT.packs[id] <-! p } - init(){} + /// PackNFTOperator resource initializer. + /// + view init() {} } - pub resource Pack { - pub let hash: [UInt8] - pub let issuer: Address - pub var status: PackNFT.Status - pub var salt: [UInt8]? + /// Resource that defines a Pack NFT. + /// + access(all) resource Pack { + access(all) let hash: [UInt8] + access(all) let issuer: Address + access(all) var status: Status + access(all) var salt: [UInt8]? - pub fun verify(nftString: String): Bool { - assert(self.status != PackNFT.Status.Sealed, message: "Pack not revealed yet") + access(all) view fun verify(nftString: String): Bool { + assert(self.status != Status.Sealed, message: "Pack not revealed yet") var hashString = String.encodeHex(self.salt!) hashString = hashString.concat(",").concat(nftString) let hash = HashAlgorithm.SHA2_256.hash(hashString.utf8) @@ -88,168 +110,298 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { } access(contract) fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { - assert(self.status == PackNFT.Status.Sealed, message: "Pack status is not Sealed") + assert(self.status == Status.Sealed, message: "Pack status is not Sealed") let v = self._verify(nfts: nfts, salt: salt, commitHash: String.encodeHex(self.hash)) self.salt = salt.decodeHex() - self.status = PackNFT.Status.Revealed + self.status = Status.Revealed emit Revealed(id: id, salt: salt.decodeHex(), nfts: v) } access(contract) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { - assert(self.status == PackNFT.Status.Revealed, message: "Pack status is not Revealed") + assert(self.status == Status.Revealed, message: "Pack status is not Revealed") self._verify(nfts: nfts, salt: String.encodeHex(self.salt!), commitHash: String.encodeHex(self.hash)) - self.status = PackNFT.Status.Opened + self.status = Status.Opened emit Opened(id: id) } - init(commitHash: String, issuer: Address) { + /// Pack resource initializer. + /// + view init(commitHash: String, issuer: Address) { + // Set the hash and issuer from the arguments. self.hash = commitHash.decodeHex() self.issuer = issuer - self.status = PackNFT.Status.Sealed + + // Initial status is Sealed. + self.status = Status.Sealed + + // Salt is nil until reveal. self.salt = nil } } - pub resource NFT: NonFungibleToken.INFT, IPackNFT.IPackNFTToken, IPackNFT.IPackNFTOwnerOperator { - pub let id: UInt64 - pub let hash: [UInt8] - pub let issuer: Address + /// Resource that defines a Pack NFT. + /// + access(all) resource NFT: NonFungibleToken.NFT, IPackNFT.NFT, IPackNFT.IPackNFTToken, IPackNFT.IPackNFTOwnerOperator { + /// This NFT's unique ID. + /// + access(all) let id: UInt64 + + /// This NFT's commit hash, used to verify the IDs of the NFTs in the Pack. + /// + access(all) let hash: [UInt8] - pub fun reveal(openRequest: Bool){ + /// This NFT's issuer. + access(all) let issuer: Address + + /// Reveal a Sealed Pack resource. + /// + access(NonFungibleToken.Update | NonFungibleToken.Owner) fun reveal(openRequest: Bool) { PackNFT.revealRequest(id: self.id, openRequest: openRequest) } - pub fun open(){ + /// Open a Revealed Pack resource. + /// + access(NonFungibleToken.Update |NonFungibleToken.Owner) fun open() { PackNFT.openRequest(id: self.id) } - destroy() { - let p <- PackNFT.packs.remove(key: self.id) ?? panic("no such pack") - PackNFT.totalSupply = PackNFT.totalSupply - (1 as UInt64) + /// Event emitted when a NFT is destroyed (replaces Burned event before Cadence 1.0 update) + /// + access(all) event ResourceDestroyed(id: UInt64 = self.id) - emit Burned(id: self.id) - destroy p + /// Executed by calling the Burner contract's burn method (i.e., conforms to the Burnable interface) + /// + access(contract) fun burnCallback() { + PackNFT.totalSupply = PackNFT.totalSupply - 1 + destroy <- PackNFT.packs.remove(key: self.id) ?? panic("no such pack") } - init(commitHash: String, issuer: Address ) { + /// NFT resource initializer. + /// + view init(commitHash: String, issuer: Address) { self.id = self.uuid self.hash = commitHash.decodeHex() self.issuer = issuer } + /// Create an empty Collection for Pinnacle NFTs and return it to the caller + /// + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <- PackNFT.createEmptyCollection(nftType: Type<@NFT>()) + } + + /// Return the metadata view types available for this NFT. + /// + access(all) view fun getViews(): [Type] { + return [] + } + + /// Resolve this NFT's metadata views. + //// TODO: Implement metadata views as needed for the NFT the PackNFT is intended to contain + /// + access(all) view fun resolveView(_ view: Type): AnyStruct? { + return nil + } } - pub resource Collection: - NonFungibleToken.Provider, - NonFungibleToken.Receiver, - NonFungibleToken.CollectionPublic, - IPackNFT.IPackNFTCollectionPublic - { - // dictionary of NFT conforming tokens - // NFT is a resource type with an `UInt64` ID field - pub var ownedNFTs: @{UInt64: NonFungibleToken.NFT} - - init () { + /// Resource that defines a Collection of Pack NFTs. + /// + access(all) resource Collection: NonFungibleToken.Collection, IPackNFT.IPackNFTCollectionPublic { + /// Dictionary of NFT conforming tokens. + /// NFT is a resource type with a UInt64 ID field. + /// + access(self) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}} + + /// Collection resource initializer. + /// + view init() { self.ownedNFTs <- {} } - // withdraw removes an NFT from the collection and moves it to the caller - pub fun withdraw(withdrawID: UInt64): @NonFungibleToken.NFT { + /// Remove an NFT from the collection and moves it to the caller. + /// + access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} { let token <- self.ownedNFTs.remove(key: withdrawID) ?? panic("missing NFT") - emit Withdraw(id: token.id, from: self.owner?.address) + + // Withdrawn event emitted from NonFungibleToken contract interface. + emit Withdraw(id: token.id, from: self.owner?.address) // TODO: Consider removing return <- token } - // deposit takes a NFT and adds it to the collections dictionary - // and adds the ID to the id array - pub fun deposit(token: @NonFungibleToken.NFT) { - let token <- token as! @PackNFT.NFT - + /// Deposit an NFT into this Collection. + /// + access(all) fun deposit(token: @{NonFungibleToken.NFT}) { + let token <- token as! @NFT let id: UInt64 = token.id - - // add the new token to the dictionary which removes the old one + // Add the new token to the dictionary which removes the old one. let oldToken <- self.ownedNFTs[id] <- token - emit Deposit(id: id, to: self.owner?.address) + // Deposited event emitted from NonFungibleToken contract interface. + emit Deposit(id: id, to: self.owner?.address) // TODO: Consider removing destroy oldToken } - // getIDs returns an array of the IDs that are in the collection - pub fun getIDs(): [UInt64] { + /// Return an array of the IDs that are in the collection. + /// + access(all) view fun getIDs(): [UInt64] { return self.ownedNFTs.keys } - // borrowNFT gets a reference to an NFT in the collection - // so that the caller can read its metadata and call its methods - pub fun borrowNFT(id: UInt64): &NonFungibleToken.NFT { - return (&self.ownedNFTs[id] as &NonFungibleToken.NFT?)! + /// Return the amount of NFTs stored in the collection. + /// + access(all) view fun getLength(): Int { + return self.ownedNFTs.length + } + + /// Return a list of NFT types that this receiver accepts. + /// + access(all) view fun getSupportedNFTTypes(): {Type: Bool} { + let supportedTypes: {Type: Bool} = {} + supportedTypes[Type<@NFT>()] = true + return supportedTypes } - pub fun borrowPackNFT(id: UInt64): &IPackNFT.NFT? { - let nft <- self.ownedNFTs.remove(key: id) ?? panic("missing NFT") - let token <- nft as! @PackNFT.NFT - let ref = &token as &IPackNFT.NFT - self.ownedNFTs[id] <-! token as! @PackNFT.NFT - return ref + /// Return whether or not the given type is accepted by the collection. + /// + access(all) view fun isSupportedNFTType(type: Type): Bool { + if type == Type<@NFT>() { + return true + } + return false + } + + /// Return a reference to an NFT in the Collection. + /// + access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? { + return &self.ownedNFTs[id] } - destroy() { - destroy self.ownedNFTs + /// Create an empty Collection of the same type and returns it to the caller. + /// + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) } } + /// Emit a RevealRequest event to signal a Sealed Pack NFT should be revealed. + /// access(contract) fun revealRequest(id: UInt64, openRequest: Bool ) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") - assert(p.status == PackNFT.Status.Sealed, message: "Pack status must be Sealed for reveal request") + assert(p.status.rawValue == Status.Sealed.rawValue, message: "Pack status must be Sealed for reveal request") emit RevealRequest(id: id, openRequest: openRequest) } + /// Emit an OpenRequest event to signal a Revealed Pack NFT should be opened. + /// access(contract) fun openRequest(id: UInt64) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") - assert(p.status == PackNFT.Status.Revealed, message: "Pack status must be Revealed for open request") + assert(p.status.rawValue == Status.Revealed.rawValue, message: "Pack status must be Revealed for open request") emit OpenRequest(id: id) } - pub fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { + /// Reveal a Sealed Pack NFT. + /// + access(all) fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") p.reveal(id: id, nfts: nfts, salt: salt) } - pub fun borrowPackRepresentation(id: UInt64): &Pack? { + /// Return a reference to a Pack resource stored in the contract state. + /// + access(all) view fun borrowPackRepresentation(id: UInt64): &Pack? { return (&self.packs[id] as &Pack?)! } - pub fun createEmptyCollection(): @NonFungibleToken.Collection { + /// Create an empty Collection for Pack NFTs and return it to the caller. + /// + access(all) fun createEmptyCollection(nftType: Type): @{NonFungibleToken.Collection} { + if nftType != Type<@NFT>() { + panic("NFT type is not supported") + } return <- create Collection() } + /// Return the metadata views implemented by this contract. + /// + /// @return An array of Types defining the implemented views. This value will be used by + /// developers to know which parameter to pass to the resolveView() method. + /// + access(all) view fun getContractViews(resourceType: Type?): [Type] { + return [ + Type(), + Type() + ] + } + + /// Resolve a metadata view for this contract. + /// + /// @param view: The Type of the desired view. + /// @return A structure representing the requested view. + /// + access(all) view fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? { + switch viewType { + case Type(): + let collectionData = MetadataViews.NFTCollectionData( + storagePath: /storage/cadenceExampleNFTCollection, + publicPath: /public/cadenceExampleNFTCollection, + publicCollection: Type<&Collection>(), + publicLinkedType: Type<&Collection>(), + createEmptyCollectionFunction: (fun(): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) + }) + ) + return collectionData + case Type(): + let media = MetadataViews.Media( + file: MetadataViews.HTTPFile( + url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg" + ), + mediaType: "image/svg+xml" + ) + return MetadataViews.NFTCollectionDisplay( + name: "The Example Collection", + description: "This collection is used as an example to help you develop your next Flow NFT.", + externalURL: MetadataViews.ExternalURL("https://example-nft.onflow.org"), + squareImage: media, + bannerImage: media, + socials: { + "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain") + } + ) + } + return nil + } + + /// PackNFT contract initializer. + /// init( CollectionStoragePath: StoragePath, CollectionPublicPath: PublicPath, CollectionIPackNFTPublicPath: PublicPath, OperatorStoragePath: StoragePath, - OperatorPrivPath: PrivatePath, version: String - ){ + ) { self.totalSupply = 0 self.packs <- {} self.CollectionStoragePath = CollectionStoragePath self.CollectionPublicPath = CollectionPublicPath self.CollectionIPackNFTPublicPath = CollectionIPackNFTPublicPath self.OperatorStoragePath = OperatorStoragePath - self.OperatorPrivPath = OperatorPrivPath self.version = version - // Create a collection to receive Pack NFTs - let collection <- create Collection() - self.account.save(<-collection, to: self.CollectionStoragePath) - self.account.link<&Collection{NonFungibleToken.CollectionPublic}>(self.CollectionPublicPath, target: self.CollectionStoragePath) - self.account.link<&Collection{IPackNFT.IPackNFTCollectionPublic}>(self.CollectionIPackNFTPublicPath, target: self.CollectionStoragePath) - - // Create a operator to share mint capability with proxy - let operator <- create PackNFTOperator() - self.account.save(<-operator, to: self.OperatorStoragePath) - self.account.link<&PackNFTOperator{IPackNFT.IOperator}>(self.OperatorPrivPath, target: self.OperatorStoragePath) + // Create a collection to receive Pack NFTs and publish public receiver capabilities. + self.account.storage.save(<- create Collection(), to: self.CollectionStoragePath) + self.account.capabilities.publish( + self.account.capabilities.storage.issue<&{NonFungibleToken.CollectionPublic}>(self.CollectionStoragePath), + at: self.CollectionPublicPath + ) + self.account.capabilities.publish( + self.account.capabilities.storage.issue<&{IPackNFT.IPackNFTCollectionPublic}>(self.CollectionStoragePath), + at: self.CollectionIPackNFTPublicPath + ) + + // Create a Pack NFT operator to share mint capability with proxy. + self.account.storage.save(<- create PackNFTOperator(), to: self.OperatorStoragePath) + self.account.capabilities.storage.issue<&{IPackNFT.IOperator}>(self.OperatorStoragePath) } - } diff --git a/pds/contracts/PackNFT_AllDay.cdc b/pds/contracts/PackNFT_AllDay.cdc index b3da6fb..3bf0f6a 100644 --- a/pds/contracts/PackNFT_AllDay.cdc +++ b/pds/contracts/PackNFT_AllDay.cdc @@ -1,72 +1,93 @@ import Crypto -import NonFungibleToken from 0x{{.NonFungibleToken}} -import FungibleToken from 0x{{.FungibleToken}} -import IPackNFT from 0x{{.IPackNFT}} -import MetadataViews from 0x{{.MetadataViews}} - -pub contract PackNFT: NonFungibleToken, IPackNFT { - - pub var totalSupply: UInt64 - pub let version: String - pub let CollectionStoragePath: StoragePath - pub let CollectionPublicPath: PublicPath - pub let CollectionIPackNFTPublicPath: PublicPath - pub let OperatorStoragePath: StoragePath - pub let OperatorPrivPath: PrivatePath - - // representation of the NFT in this contract to keep track of states +import NonFungibleToken from "NonFungibleToken" +import FungibleToken from "FungibleToken" +import IPackNFT from "IPackNFT" +import MetadataViews from "MetadataViews" + +/// Contract that defines Pack NFTs. +/// +access(all) contract PackNFT: NonFungibleToken, IPackNFT { + + access(all) var totalSupply: UInt64 + access(all) let version: String + access(all) let CollectionStoragePath: StoragePath + access(all) let CollectionPublicPath: PublicPath + access(all) let CollectionIPackNFTPublicPath: PublicPath + access(all) let OperatorStoragePath: StoragePath + + /// Dictionary that stores Pack resources in the contract state (i.e., Pack NFT representations to keep track of states). + /// access(contract) let packs: @{UInt64: Pack} - pub event RevealRequest(id: UInt64, openRequest: Bool) - pub event OpenRequest(id: UInt64) - pub event Revealed(id: UInt64, salt: String, nfts: String) - pub event Opened(id: UInt64) - pub event Mint(id: UInt64, commitHash: String, distId: UInt64) - pub event ContractInitialized() - pub event Withdraw(id: UInt64, from: Address?) - pub event Deposit(id: UInt64, to: Address?) - pub event Burned(id: UInt64) - - pub enum Status: UInt8 { - pub case Sealed - pub case Revealed - pub case Opened + access(all) event RevealRequest(id: UInt64, openRequest: Bool) + access(all) event OpenRequest(id: UInt64) + access(all) event Revealed(id: UInt64, salt: String, nfts: String) + access(all) event Opened(id: UInt64) + access(all) event Mint(id: UInt64, commitHash: String, distId: UInt64) + access(all) event ContractInitialized() + + // TODO: Consider removing 'Withdraw' and 'Deposit' events now that similar 'Withdrawn' and 'Deposited' events are emitted in NonFungibleToken contract interface + access(all) event Withdraw(id: UInt64, from: Address?) + access(all) event Deposit(id: UInt64, to: Address?) + + /// Enum that defines the status of a Pack resource. + /// + access(all) enum Status: UInt8 { + access(all) case Sealed + access(all) case Revealed + access(all) case Opened } - pub resource PackNFTOperator: IPackNFT.IOperator { - - pub fun mint(distId: UInt64, commitHash: String, issuer: Address): @NFT{ + /// Resource that defines a Pack NFT Operator, responsible for: + /// - Minting Pack NFTs and the corresponding Pack resources that keep track of states, + /// - Revealing sealed Pack resources, and + /// - opening revealed Pack resources. + /// + access(all) resource PackNFTOperator: IPackNFT.IOperator { + + /// Mint a new Pack NFT resource and corresponding Pack resource; store the Pack resource in the contract's packs dictionary + /// and return the Pack NFT resource to the caller. + /// + access(IPackNFT.Operate) fun mint(distId: UInt64, commitHash: String, issuer: Address): @{IPackNFT.NFT} { let nft <- create NFT(commitHash: commitHash, issuer: issuer) PackNFT.totalSupply = PackNFT.totalSupply + 1 - let p <-create Pack(commitHash: commitHash, issuer: issuer) + let p <- create Pack(commitHash: commitHash, issuer: issuer) PackNFT.packs[nft.id] <-! p emit Mint(id: nft.id, commitHash: commitHash, distId: distId) return <- nft - } + } - pub fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { + /// Reveal a Sealed Pack resource. + /// + access(IPackNFT.Operate) fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { let p <- PackNFT.packs.remove(key: id) ?? panic("no such pack") p.reveal(id: id, nfts: nfts, salt: salt) PackNFT.packs[id] <-! p } - pub fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { + /// Open a Revealed Pack NFT resource. + /// + access(IPackNFT.Operate) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { let p <- PackNFT.packs.remove(key: id) ?? panic("no such pack") p.open(id: id, nfts: nfts) PackNFT.packs[id] <-! p } - init(){} + /// PackNFTOperator resource initializer. + /// + view init() {} } - pub resource Pack { - pub let commitHash: String - pub let issuer: Address - pub var status: PackNFT.Status - pub var salt: String? + /// Resource that defines a Pack NFT. + /// + access(all) resource Pack { + access(all) let commitHash: String + access(all) let issuer: Address + access(all) var status: Status + access(all) var salt: String? - pub fun verify(nftString: String): Bool { - assert(self.status != PackNFT.Status.Sealed, message: "Pack not revealed yet") + access(all) view fun verify(nftString: String): Bool { + assert(self.status != Status.Sealed, message: "Pack not revealed yet") var hashString = self.salt! hashString = hashString.concat(",").concat(nftString) let hash = HashAlgorithm.SHA2_256.hash(hashString.utf8) @@ -90,60 +111,90 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { } access(contract) fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { - assert(self.status == PackNFT.Status.Sealed, message: "Pack status is not Sealed") + assert(self.status == Status.Sealed, message: "Pack status is not Sealed") let v = self._verify(nfts: nfts, salt: salt, commitHash: self.commitHash) self.salt = salt - self.status = PackNFT.Status.Revealed + self.status = Status.Revealed emit Revealed(id: id, salt: salt, nfts: v) } access(contract) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { - assert(self.status == PackNFT.Status.Revealed, message: "Pack status is not Revealed") + assert(self.status == Status.Revealed, message: "Pack status is not Revealed") self._verify(nfts: nfts, salt: self.salt!, commitHash: self.commitHash) - self.status = PackNFT.Status.Opened + self.status = Status.Opened emit Opened(id: id) } - init(commitHash: String, issuer: Address) { + /// Pack resource initializer. + /// + view init(commitHash: String, issuer: Address) { + // Set the hash and issuer from the arguments. self.commitHash = commitHash self.issuer = issuer - self.status = PackNFT.Status.Sealed + + // Initial status is Sealed. + self.status = Status.Sealed + + // Salt is nil until reveal. self.salt = nil } } - pub resource NFT: NonFungibleToken.INFT, IPackNFT.IPackNFTToken, IPackNFT.IPackNFTOwnerOperator, MetadataViews.Resolver { - pub let id: UInt64 - pub let commitHash: String - pub let issuer: Address + /// Resource that defines a Pack NFT. + /// + access(all) resource NFT: NonFungibleToken.NFT, IPackNFT.NFT, IPackNFT.IPackNFTToken, IPackNFT.IPackNFTOwnerOperator { + /// This NFT's unique ID. + /// + access(all) let id: UInt64 + + /// This NFT's commit hash, used to verify the IDs of the NFTs in the Pack. + /// + access(all) let commitHash: String + + /// This NFT's issuer. + /// + access(all) let issuer: Address - pub fun reveal(openRequest: Bool){ + /// Reveal a Sealed Pack resource. + /// + access(NonFungibleToken.Update | NonFungibleToken.Owner) fun reveal(openRequest: Bool) { PackNFT.revealRequest(id: self.id, openRequest: openRequest) } - pub fun open(){ + /// Open a Revealed Pack resource. + /// + access(NonFungibleToken.Update | NonFungibleToken.Owner) fun open() { PackNFT.openRequest(id: self.id) } - destroy() { - let p <- PackNFT.packs.remove(key: self.id) ?? panic("no such pack") - PackNFT.totalSupply = PackNFT.totalSupply - (1 as UInt64) - - emit Burned(id: self.id) - destroy p - } + /// Event emitted when a NFT is destroyed (replaces Burned event before Cadence 1.0 update) + /// + access(all) event ResourceDestroyed(id: UInt64 = self.id) + /// Executed by calling the Burner contract's burn method (i.e., conforms to the Burnable interface) + /// + access(contract) fun burnCallback() { + PackNFT.totalSupply = PackNFT.totalSupply - 1 + destroy <- PackNFT.packs.remove(key: self.id) ?? panic("no such pack") + } - init(commitHash: String, issuer: Address) { + /// NFT resource initializer. + /// + view init(commitHash: String, issuer: Address) { self.id = self.uuid self.commitHash = commitHash self.issuer = issuer } + /// Create an empty Collection for Pinnacle NFTs and return it to the caller + /// + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <- PackNFT.createEmptyCollection(nftType: Type<@NFT>()) + } - // All supported metadata views for the Moment including the Core NFT Views - // - pub fun getViews(): [Type] { + /// Return the metadata view types available for this NFT. + /// + access(all) view fun getViews(): [Type] { return [ Type(), Type(), @@ -155,7 +206,9 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { ] } - pub fun resolveView(_ view: Type): AnyStruct? { + /// Resolve this NFT's metadata views. + /// + access(all) view fun resolveView(_ view: Type): AnyStruct? { switch view { case Type(): return MetadataViews.Display( @@ -167,7 +220,7 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { return MetadataViews.ExternalURL("https://nflallday.com/packnfts/".concat(self.id.toString())) // might have to make a URL that redirects to packs page based on packNFT id -> distribution id case Type(): return MetadataViews.Medias( - items: [ + [ MetadataViews.Media( file: MetadataViews.HTTPFile(url: self.getImage(imageType: "image", format: "jpeg", width: 512)), mediaType: "image/jpeg" @@ -178,16 +231,14 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { return MetadataViews.NFTCollectionData( storagePath: PackNFT.CollectionStoragePath, publicPath: PackNFT.CollectionPublicPath, - providerPath: PackNFT.OperatorPrivPath, - publicCollection: Type<&PackNFT.Collection{IPackNFT.IPackNFTCollectionPublic}>(), - publicLinkedType: Type<&PackNFT.Collection{IPackNFT.IPackNFTCollectionPublic,NonFungibleToken.Receiver,NonFungibleToken.CollectionPublic,MetadataViews.ResolverCollection}>(), - providerLinkedType: Type<&PackNFT.Collection{NonFungibleToken.Provider,IPackNFT.IPackNFTCollectionPublic,NonFungibleToken.Receiver,NonFungibleToken.CollectionPublic,MetadataViews.ResolverCollection}>(), - createEmptyCollectionFunction: (fun (): @NonFungibleToken.Collection { - return <-PackNFT.createEmptyCollection() + publicCollection: Type<&Collection>(), + publicLinkedType: Type<&Collection>(), + createEmptyCollectionFunction: (fun (): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) }) ) case Type(): - let bannerImage = MetadataViews.Media( + let bannerImage = MetadataViews.Media( file: MetadataViews.HTTPFile( url: "https://assets.nflallday.com/flow/catalogue/NFLAD_BANNER.png" ), @@ -211,11 +262,11 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { "discord": MetadataViews.ExternalURL("https://discord.com/invite/5K6qyTzj2k") } ) - case Type(): + case Type(): let royaltyReceiver: Capability<&{FungibleToken.Receiver}> = - getAccount(0x{{.RoyaltyAddress}}).getCapability<&AnyResource{FungibleToken.Receiver}>(MetadataViews.getRoyaltyReceiverPublicPath()) + getAccount({{.RoyaltyAddress}}).capabilities.get<&{FungibleToken.Receiver}>(MetadataViews.getRoyaltyReceiverPublicPath())! return MetadataViews.Royalties( - royalties: [ + [ MetadataViews.Royalty( receiver: royaltyReceiver, cut: 0.05, @@ -229,133 +280,216 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { return nil } - pub fun assetPath(): String { + /// Return an asset path. + /// + access(all) view fun assetPath(): String { return "https://media.nflallday.com/packnfts/".concat(self.id.toString()).concat("/media/") } - pub fun getImage(imageType: String, format: String, width: Int): String { + /// Return an image path. + /// + access(all) view fun getImage(imageType: String, format: String, width: Int): String { return self.assetPath().concat(imageType).concat("?format=").concat(format).concat("&width=").concat(width.toString()) } } - pub resource Collection: - NonFungibleToken.Provider, - NonFungibleToken.Receiver, - NonFungibleToken.CollectionPublic, - IPackNFT.IPackNFTCollectionPublic, - MetadataViews.ResolverCollection - { - // dictionary of NFT conforming tokens - // NFT is a resource type with an `UInt64` ID field - pub var ownedNFTs: @{UInt64: NonFungibleToken.NFT} - - init () { + /// Resource that defines a Collection of Pack NFTs. + /// + access(all) resource Collection: NonFungibleToken.Collection, IPackNFT.IPackNFTCollectionPublic { + /// Dictionary of NFT conforming tokens. + /// NFT is a resource type with a UInt64 ID field. + /// + access(self) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}} + + /// Collection resource initializer, + /// + view init() { self.ownedNFTs <- {} } - // withdraw removes an NFT from the collection and moves it to the caller - pub fun withdraw(withdrawID: UInt64): @NonFungibleToken.NFT { + /// Remove an NFT from the collection and moves it to the caller. + /// + access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} { let token <- self.ownedNFTs.remove(key: withdrawID) ?? panic("missing NFT") - emit Withdraw(id: token.id, from: self.owner?.address) + + // Withdrawn event emitted from NonFungibleToken contract interface. + emit Withdraw(id: token.id, from: self.owner?.address) // TODO: Consider removing return <- token } - // deposit takes a NFT and adds it to the collections dictionary - // and adds the ID to the id array - pub fun deposit(token: @NonFungibleToken.NFT) { - let token <- token as! @PackNFT.NFT - + /// Deposit an NFT into this Collection. + /// + access(all) fun deposit(token: @{NonFungibleToken.NFT}) { + let token <- token as! @NFT let id: UInt64 = token.id - - // add the new token to the dictionary which removes the old one + // Add the new token to the dictionary which removes the old one. let oldToken <- self.ownedNFTs[id] <- token - emit Deposit(id: id, to: self.owner?.address) + // Deposited event emitted from NonFungibleToken contract interface. + emit Deposit(id: id, to: self.owner?.address) // TODO: Consider removing destroy oldToken } - // getIDs returns an array of the IDs that are in the collection - pub fun getIDs(): [UInt64] { + /// Return an array of the IDs that are in the collection. + /// + access(all) view fun getIDs(): [UInt64] { return self.ownedNFTs.keys } - pub fun borrowViewResolver(id: UInt64): &AnyResource{MetadataViews.Resolver} { - let nft = (&self.ownedNFTs[id] as auth &NonFungibleToken.NFT?)! - let packNFT = nft as! &PackNFT.NFT - return packNFT as &AnyResource{MetadataViews.Resolver} + /// Return the amount of NFTs stored in the collection. + /// + access(all) view fun getLength(): Int { + return self.ownedNFTs.length + } + + /// Return a list of NFT types that this receiver accepts. + /// + access(all) view fun getSupportedNFTTypes(): {Type: Bool} { + let supportedTypes: {Type: Bool} = {} + supportedTypes[Type<@NFT>()] = true + return supportedTypes } - // borrowNFT gets a reference to an NFT in the collection - // so that the caller can read its metadata and call its methods - pub fun borrowNFT(id: UInt64): &NonFungibleToken.NFT { - return (&self.ownedNFTs[id] as &NonFungibleToken.NFT?)! + /// Return whether or not the given type is accepted by the collection. + /// + access(all) view fun isSupportedNFTType(type: Type): Bool { + if type == Type<@NFT>() { + return true + } + return false } - pub fun borrowPackNFT(id: UInt64): &IPackNFT.NFT? { - let nft<- self.ownedNFTs.remove(key: id) ?? panic("missing NFT") - let token <- nft as! @PackNFT.NFT - let ref = &token as &IPackNFT.NFT - self.ownedNFTs[id] <-! token as! @PackNFT.NFT - return ref + /// Return a reference to an NFT in the Collection. + /// + access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? { + return &self.ownedNFTs[id] } - destroy() { - destroy self.ownedNFTs + /// Create an empty Collection of the same type and returns it to the caller. + /// + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) } } + /// Emit a RevealRequest event to signal a Sealed Pack NFT should be revealed. + /// access(contract) fun revealRequest(id: UInt64, openRequest: Bool ) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") - assert(p.status == PackNFT.Status.Sealed, message: "Pack status must be Sealed for reveal request") + assert(p.status.rawValue == Status.Sealed.rawValue, message: "Pack status must be Sealed for reveal request") emit RevealRequest(id: id, openRequest: openRequest) } + /// Emit an OpenRequest event to signal a Revealed Pack NFT should be opened. + /// access(contract) fun openRequest(id: UInt64) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") - assert(p.status == PackNFT.Status.Revealed, message: "Pack status must be Revealed for open request") + assert(p.status.rawValue == Status.Revealed.rawValue, message: "Pack status must be Revealed for open request") emit OpenRequest(id: id) } - pub fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { + access(all) fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") p.reveal(id: id, nfts: nfts, salt: salt) } - pub fun borrowPackRepresentation(id: UInt64): &Pack? { + /// Return a reference to a Pack resource stored in the contract state. + /// + access(all) view fun borrowPackRepresentation(id: UInt64): &Pack? { return (&self.packs[id] as &Pack?)! } - pub fun createEmptyCollection(): @NonFungibleToken.Collection { + /// Create an empty Collection for Pack NFTs and return it to the caller. + /// + access(all) fun createEmptyCollection(nftType: Type): @{NonFungibleToken.Collection} { + if nftType != Type<@NFT>() { + panic("NFT type is not supported") + } return <- create Collection() } + /// Return the metadata views implemented by this contract. + /// + /// @return An array of Types defining the implemented views. This value will be used by + /// developers to know which parameter to pass to the resolveView() method. + /// + access(all) view fun getContractViews(resourceType: Type?): [Type] { + return [ + Type(), + Type() + ] + } + + /// Resolve a metadata view for this contract. + /// + /// @param view: The Type of the desired view. + /// @return A structure representing the requested view. + /// + access(all) view fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? { + switch viewType { + case Type(): + let collectionData = MetadataViews.NFTCollectionData( + storagePath: /storage/cadenceExampleNFTCollection, + publicPath: /public/cadenceExampleNFTCollection, + publicCollection: Type<&Collection>(), + publicLinkedType: Type<&Collection>(), + createEmptyCollectionFunction: (fun(): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) + }) + ) + return collectionData + case Type(): + let media = MetadataViews.Media( + file: MetadataViews.HTTPFile( + url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg" + ), + mediaType: "image/svg+xml" + ) + return MetadataViews.NFTCollectionDisplay( + name: "The Example Collection", + description: "This collection is used as an example to help you develop your next Flow NFT.", + externalURL: MetadataViews.ExternalURL("https://example-nft.onflow.org"), + squareImage: media, + bannerImage: media, + socials: { + "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain") + } + ) + } + return nil + } + + /// PackNFT contract initializer. + /// init( CollectionStoragePath: StoragePath, CollectionPublicPath: PublicPath, CollectionIPackNFTPublicPath: PublicPath, OperatorStoragePath: StoragePath, - OperatorPrivPath: PrivatePath, version: String - ){ + ) { self.totalSupply = 0 self.packs <- {} self.CollectionStoragePath = CollectionStoragePath self.CollectionPublicPath = CollectionPublicPath self.CollectionIPackNFTPublicPath = CollectionIPackNFTPublicPath self.OperatorStoragePath = OperatorStoragePath - self.OperatorPrivPath = OperatorPrivPath self.version = version - // Create a collection to receive Pack NFTs - let collection <- create Collection() - self.account.save(<-collection, to: self.CollectionStoragePath) - self.account.link<&Collection{NonFungibleToken.CollectionPublic}>(self.CollectionPublicPath, target: self.CollectionStoragePath) - self.account.link<&Collection{IPackNFT.IPackNFTCollectionPublic}>(self.CollectionIPackNFTPublicPath, target: self.CollectionStoragePath) - - // Create a operator to share mint capability with proxy - let operator <- create PackNFTOperator() - self.account.save(<-operator, to: self.OperatorStoragePath) - self.account.link<&PackNFTOperator{IPackNFT.IOperator}>(self.OperatorPrivPath, target: self.OperatorStoragePath) + // Create a collection to receive Pack NFTs and publish public receiver capabilities. + self.account.storage.save(<- create Collection(), to: self.CollectionStoragePath) + self.account.capabilities.publish( + self.account.capabilities.storage.issue<&{NonFungibleToken.CollectionPublic}>(self.CollectionStoragePath), + at: self.CollectionPublicPath + ) + self.account.capabilities.publish( + self.account.capabilities.storage.issue<&{IPackNFT.IPackNFTCollectionPublic}>(self.CollectionStoragePath), + at: self.CollectionIPackNFTPublicPath + ) + + // Create a Pack NFT operator to share mint capability with proxy. + self.account.storage.save(<- create PackNFTOperator(), to: self.OperatorStoragePath) + self.account.capabilities.storage.issue<&{IPackNFT.IOperator}>(self.OperatorStoragePath) } } \ No newline at end of file diff --git a/pds/contracts/PackNFT_TopShot.cdc b/pds/contracts/PackNFT_TopShot.cdc index da79411..75428bb 100644 --- a/pds/contracts/PackNFT_TopShot.cdc +++ b/pds/contracts/PackNFT_TopShot.cdc @@ -1,72 +1,92 @@ import Crypto -import NonFungibleToken from 0x{{.NonFungibleToken}} -import FungibleToken from 0x{{.FungibleToken}} -import IPackNFT from 0x{{.IPackNFT}} -import MetadataViews from 0x{{.MetadataViews}} - -pub contract PackNFT: NonFungibleToken, IPackNFT { - - pub var totalSupply: UInt64 - pub let version: String - pub let CollectionStoragePath: StoragePath - pub let CollectionPublicPath: PublicPath - pub let CollectionIPackNFTPublicPath: PublicPath - pub let OperatorStoragePath: StoragePath - pub let OperatorPrivPath: PrivatePath - - // representation of the NFT in this contract to keep track of states +import NonFungibleToken from "NonFungibleToken" +import FungibleToken from "FungibleToken" +import IPackNFT from "IPackNFT" +import MetadataViews from "MetadataViews" + +/// Contract that defines Pack NFTs. +/// +access(all) contract PackNFT: NonFungibleToken, IPackNFT { + + access(all) var totalSupply: UInt64 + access(all) let version: String + access(all) let CollectionStoragePath: StoragePath + access(all) let CollectionPublicPath: PublicPath + access(all) let CollectionIPackNFTPublicPath: PublicPath + access(all) let OperatorStoragePath: StoragePath + + /// Dictionary that stores Pack resources in the contract state (i.e., Pack NFT representations to keep track of states). + /// access(contract) let packs: @{UInt64: Pack} - pub event RevealRequest(id: UInt64, openRequest: Bool) - pub event OpenRequest(id: UInt64) - pub event Revealed(id: UInt64, salt: [UInt8], nfts: String) - pub event Opened(id: UInt64) - pub event Minted(id: UInt64, hash: [UInt8], distId: UInt64) - pub event Burned(id: UInt64) - pub event ContractInitialized() - pub event Withdraw(id: UInt64, from: Address?) - pub event Deposit(id: UInt64, to: Address?) - - pub enum Status: UInt8 { - pub case Sealed - pub case Revealed - pub case Opened + access(all) event RevealRequest(id: UInt64, openRequest: Bool) + access(all) event OpenRequest(id: UInt64) + access(all) event Revealed(id: UInt64, salt: [UInt8], nfts: String) + access(all) event Opened(id: UInt64) + access(all) event Minted(id: UInt64, hash: [UInt8], distId: UInt64) + access(all) event Burned(id: UInt64) + access(all) event ContractInitialized() + access(all) event Withdraw(id: UInt64, from: Address?) + access(all) event Deposit(id: UInt64, to: Address?) + + /// Enum that defines the status of a Pack resource. + /// + access(all) enum Status: UInt8 { + access(all) case Sealed + access(all) case Revealed + access(all) case Opened } - pub resource PackNFTOperator: IPackNFT.IOperator { - - pub fun mint(distId: UInt64, commitHash: String, issuer: Address): @NFT{ + /// Resource that defines a Pack NFT Operator, responsible for: + /// - Minting Pack NFTs and the corresponding Pack resources that keep track of states, + /// - Revealing sealed Pack resources, and + /// - opening revealed Pack resources. + /// + access(all) resource PackNFTOperator: IPackNFT.IOperator { + + /// Mint a new Pack NFT resource and corresponding Pack resource; store the Pack resource in the contract's packs dictionary + /// and return the Pack NFT resource to the caller. + /// + access(IPackNFT.Operate) fun mint(distId: UInt64, commitHash: String, issuer: Address): @{IPackNFT.NFT} { let nft <- create NFT(commitHash: commitHash, issuer: issuer) PackNFT.totalSupply = PackNFT.totalSupply + 1 - let p <-create Pack(commitHash: commitHash, issuer: issuer) + let p <- create Pack(commitHash: commitHash, issuer: issuer) PackNFT.packs[nft.id] <-! p emit Minted(id: nft.id, hash: commitHash.decodeHex(), distId: distId) return <- nft - } + } - pub fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { + /// Reveal a Sealed Pack resource. + /// + access(IPackNFT.Operate) fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { let p <- PackNFT.packs.remove(key: id) ?? panic("no such pack") p.reveal(id: id, nfts: nfts, salt: salt) PackNFT.packs[id] <-! p } - pub fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { + /// Open a Revealed Pack NFT resource. + /// + access(IPackNFT.Operate) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { let p <- PackNFT.packs.remove(key: id) ?? panic("no such pack") p.open(id: id, nfts: nfts) PackNFT.packs[id] <-! p } - init(){} + /// PackNFTOperator resource initializer. + /// + view init() {} } - pub resource Pack { - pub let hash: [UInt8] - pub let issuer: Address - pub var status: PackNFT.Status - pub var salt: [UInt8]? + /// Resource that defines a Pack NFT. + /// + access(all) resource Pack { + access(all) let hash: [UInt8] + access(all) let issuer: Address + access(all) var status: Status + access(all) var salt: [UInt8]? - pub fun verify(nftString: String): Bool { - assert(self.status != PackNFT.Status.Sealed, message: "Pack not revealed yet") + access(all) view fun verify(nftString: String): Bool { + assert(self.status != Status.Sealed, message: "Pack not revealed yet") var hashString = String.encodeHex(self.salt!) hashString = hashString.concat(",").concat(nftString) let hash = HashAlgorithm.SHA2_256.hash(hashString.utf8) @@ -90,59 +110,90 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { } access(contract) fun reveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { - assert(self.status == PackNFT.Status.Sealed, message: "Pack status is not Sealed") + assert(self.status == Status.Sealed, message: "Pack status is not Sealed") let v = self._verify(nfts: nfts, salt: salt, commitHash: String.encodeHex(self.hash)) self.salt = salt.decodeHex() - self.status = PackNFT.Status.Revealed + self.status = Status.Revealed emit Revealed(id: id, salt: salt.decodeHex(), nfts: v) } access(contract) fun open(id: UInt64, nfts: [{IPackNFT.Collectible}]) { - assert(self.status == PackNFT.Status.Revealed, message: "Pack status is not Revealed") + assert(self.status == Status.Revealed, message: "Pack status is not Revealed") self._verify(nfts: nfts, salt: String.encodeHex(self.salt!), commitHash: String.encodeHex(self.hash)) - self.status = PackNFT.Status.Opened + self.status = Status.Opened emit Opened(id: id) } - init(commitHash: String, issuer: Address) { + /// Pack resource initializer. + /// + view init(commitHash: String, issuer: Address) { + // Set the hash and issuer from the arguments. self.hash = commitHash.decodeHex() self.issuer = issuer - self.status = PackNFT.Status.Sealed + + // Initial status is Sealed. + self.status = Status.Sealed + + // Salt is nil until reveal. self.salt = nil } } - pub resource NFT: NonFungibleToken.INFT, IPackNFT.IPackNFTToken, IPackNFT.IPackNFTOwnerOperator, MetadataViews.Resolver { - pub let id: UInt64 - pub let hash: [UInt8] - pub let issuer: Address + /// Resource that defines a Pack NFT. + /// + access(all) resource NFT: NonFungibleToken.NFT, IPackNFT.NFT, IPackNFT.IPackNFTToken, IPackNFT.IPackNFTOwnerOperator { + /// This NFT's unique ID. + /// + access(all) let id: UInt64 + + /// This NFT's commit hash, used to verify the IDs of the NFTs in the Pack. + /// + access(all) let hash: [UInt8] - pub fun reveal(openRequest: Bool){ + /// This NFT's issuer. + /// + access(all) let issuer: Address + + /// Reveal a Sealed Pack resource. + /// + access(NonFungibleToken.Update | NonFungibleToken.Owner) fun reveal(openRequest: Bool) { PackNFT.revealRequest(id: self.id, openRequest: openRequest) } - pub fun open(){ + /// Open a Revealed Pack resource. + /// + access(NonFungibleToken.Update | NonFungibleToken.Owner) fun open() { PackNFT.openRequest(id: self.id) } - destroy() { - let p <- PackNFT.packs.remove(key: self.id) ?? panic("no such pack") - PackNFT.totalSupply = PackNFT.totalSupply - (1 as UInt64) + /// Event emitted when a NFT is destroyed (replaces Burned event before Cadence 1.0 update) + /// + access(all) event ResourceDestroyed(id: UInt64 = self.id) - emit Burned(id: self.id) - destroy p + /// Executed by calling the Burner contract's burn method (i.e., conforms to the Burnable interface) + /// + access(contract) fun burnCallback() { + PackNFT.totalSupply = PackNFT.totalSupply - 1 + destroy <- PackNFT.packs.remove(key: self.id) ?? panic("no such pack") } - init(commitHash: String, issuer: Address ) { + /// NFT resource initializer. + /// + view init(commitHash: String, issuer: Address) { self.id = self.uuid self.hash = commitHash.decodeHex() self.issuer = issuer } + /// Create an empty Collection for Pinnacle NFTs and return it to the caller + /// + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <- PackNFT.createEmptyCollection(nftType: Type<@NFT>()) + } - // All supported metadata views for the Moment including the Core NFT Views - // - pub fun getViews(): [Type] { + /// Return the metadata view types available for this NFT. + /// + access(all) view fun getViews(): [Type] { return [ Type(), Type(), @@ -154,7 +205,9 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { ] } - pub fun resolveView(_ view: Type): AnyStruct? { + /// Resolve this NFT's metadata views. + /// + access(all) view fun resolveView(_ view: Type): AnyStruct? { switch view { case Type(): return MetadataViews.Display( @@ -166,7 +219,7 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { return MetadataViews.ExternalURL("https://nbatopshot.com/packnfts/".concat(self.id.toString())) // might have to make a URL that redirects to packs page based on packNFT id -> distribution id case Type(): return MetadataViews.Medias( - items: [ + [ MetadataViews.Media( file: MetadataViews.HTTPFile(url: self.getImage(imageType: "image", format: "jpeg", width: 512)), mediaType: "image/jpeg" @@ -177,12 +230,10 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { return MetadataViews.NFTCollectionData( storagePath: PackNFT.CollectionStoragePath, publicPath: PackNFT.CollectionPublicPath, - providerPath: PackNFT.OperatorPrivPath, - publicCollection: Type<&PackNFT.Collection{IPackNFT.IPackNFTCollectionPublic}>(), - publicLinkedType: Type<&PackNFT.Collection{IPackNFT.IPackNFTCollectionPublic,NonFungibleToken.Receiver,NonFungibleToken.CollectionPublic,MetadataViews.ResolverCollection}>(), - providerLinkedType: Type<&PackNFT.Collection{NonFungibleToken.Provider,IPackNFT.IPackNFTCollectionPublic,NonFungibleToken.Receiver,NonFungibleToken.CollectionPublic,MetadataViews.ResolverCollection}>(), - createEmptyCollectionFunction: (fun (): @NonFungibleToken.Collection { - return <-PackNFT.createEmptyCollection() + publicCollection: Type<&Collection>(), + publicLinkedType: Type<&Collection>(), + createEmptyCollectionFunction: (fun (): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) }) ) case Type(): @@ -210,11 +261,11 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { "instagram": MetadataViews.ExternalURL("https://www.instagram.com/nbatopshot") } ) - case Type(): + case Type(): let royaltyReceiver: Capability<&{FungibleToken.Receiver}> = - getAccount(0x{{.RoyaltyAddress}}).getCapability<&AnyResource{FungibleToken.Receiver}>(MetadataViews.getRoyaltyReceiverPublicPath()) + getAccount({{.RoyaltyAddress}}).capabilities.get<&{FungibleToken.Receiver}>(MetadataViews.getRoyaltyReceiverPublicPath())! return MetadataViews.Royalties( - royalties: [ + [ MetadataViews.Royalty( receiver: royaltyReceiver, cut: 0.05, @@ -228,134 +279,199 @@ pub contract PackNFT: NonFungibleToken, IPackNFT { return nil } - pub fun assetPath(): String { + /// Return an asset path. + /// + access(all) view fun assetPath(): String { // this path is normative -> it does not yet have pack related assets here return "https://media.nbatopshot.com/packnfts/".concat(self.id.toString()).concat("/media/") } - pub fun getImage(imageType: String, format: String, width: Int): String { + /// Return an image path. + /// + access(all) view fun getImage(imageType: String, format: String, width: Int): String { return self.assetPath().concat(imageType).concat("?format=").concat(format).concat("&width=").concat(width.toString()) } } - pub resource Collection: - NonFungibleToken.Provider, - NonFungibleToken.Receiver, - NonFungibleToken.CollectionPublic, - IPackNFT.IPackNFTCollectionPublic, - MetadataViews.ResolverCollection - { - // dictionary of NFT conforming tokens - // NFT is a resource type with an `UInt64` ID field - pub var ownedNFTs: @{UInt64: NonFungibleToken.NFT} - - init () { + /// Resource that defines a Collection of Pack NFTs. + /// + access(all) resource Collection: NonFungibleToken.Collection, IPackNFT.IPackNFTCollectionPublic { + /// Dictionary of NFT conforming tokens. + /// NFT is a resource type with a UInt64 ID field. + /// + access(self) var ownedNFTs: @{UInt64: {NonFungibleToken.NFT}} + + /// Collection resource initializer, + /// + view init() { self.ownedNFTs <- {} } - // withdraw removes an NFT from the collection and moves it to the caller - pub fun withdraw(withdrawID: UInt64): @NonFungibleToken.NFT { + /// Remove an NFT from the collection and moves it to the caller. + /// + access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} { let token <- self.ownedNFTs.remove(key: withdrawID) ?? panic("missing NFT") - emit Withdraw(id: token.id, from: self.owner?.address) + + // Withdrawn event emitted from NonFungibleToken contract interface. + emit Withdraw(id: token.id, from: self.owner?.address) // TODO: Consider removing return <- token } - // deposit takes a NFT and adds it to the collections dictionary - // and adds the ID to the id array - pub fun deposit(token: @NonFungibleToken.NFT) { - let token <- token as! @PackNFT.NFT - + /// Deposit an NFT into this Collection. + /// + access(all) fun deposit(token: @{NonFungibleToken.NFT}) { + let token <- token as! @NFT let id: UInt64 = token.id - - // add the new token to the dictionary which removes the old one + // Add the new token to the dictionary which removes the old one. let oldToken <- self.ownedNFTs[id] <- token - emit Deposit(id: id, to: self.owner?.address) + // Deposited event emitted from NonFungibleToken contract interface. + emit Deposit(id: id, to: self.owner?.address) // TODO: Consider removing destroy oldToken } - // getIDs returns an array of the IDs that are in the collection - pub fun getIDs(): [UInt64] { + /// Return an array of the IDs that are in the collection. + /// + access(all) view fun getIDs(): [UInt64] { return self.ownedNFTs.keys } - pub fun borrowViewResolver(id: UInt64): &AnyResource{MetadataViews.Resolver} { - let nft = (&self.ownedNFTs[id] as auth &NonFungibleToken.NFT?)! - let packNFT = nft as! &PackNFT.NFT - return packNFT as &AnyResource{MetadataViews.Resolver} + /// Return the amount of NFTs stored in the collection. + /// + access(all) view fun getLength(): Int { + return self.ownedNFTs.length } - // borrowNFT gets a reference to an NFT in the collection - // so that the caller can read its metadata and call its methods - pub fun borrowNFT(id: UInt64): &NonFungibleToken.NFT { - return (&self.ownedNFTs[id] as &NonFungibleToken.NFT?)! + /// Return a list of NFT types that this receiver accepts. + /// + access(all) view fun getSupportedNFTTypes(): {Type: Bool} { + let supportedTypes: {Type: Bool} = {} + supportedTypes[Type<@NFT>()] = true + return supportedTypes } - pub fun borrowPackNFT(id: UInt64): &IPackNFT.NFT? { - let nft <- self.ownedNFTs.remove(key: id) ?? panic("missing NFT") - let token <- nft as! @PackNFT.NFT - let ref = &token as &IPackNFT.NFT - self.ownedNFTs[id] <-! token as! @PackNFT.NFT - return ref + /// Return whether or not the given type is accepted by the collection. + /// + access(all) view fun isSupportedNFTType(type: Type): Bool { + if type == Type<@NFT>() { + return true + } + return false + } + + /// Return a reference to an NFT in the Collection. + /// + access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? { + return &self.ownedNFTs[id] } - destroy() { - destroy self.ownedNFTs + /// Create an empty Collection of the same type and returns it to the caller. + /// + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) } } + /// Emit a RevealRequest event to signal a Sealed Pack NFT should be revealed. + /// access(contract) fun revealRequest(id: UInt64, openRequest: Bool ) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") - assert(p.status == PackNFT.Status.Sealed, message: "Pack status must be Sealed for reveal request") + assert(p.status.rawValue == Status.Sealed.rawValue, message: "Pack status must be Sealed for reveal request") emit RevealRequest(id: id, openRequest: openRequest) } + /// Emit an OpenRequest event to signal a Revealed Pack NFT should be opened. + /// access(contract) fun openRequest(id: UInt64) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") - assert(p.status == PackNFT.Status.Revealed, message: "Pack status must be Revealed for open request") + assert(p.status.rawValue == Status.Revealed.rawValue, message: "Pack status must be Revealed for open request") emit OpenRequest(id: id) } - pub fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { + access(all) fun publicReveal(id: UInt64, nfts: [{IPackNFT.Collectible}], salt: String) { let p = PackNFT.borrowPackRepresentation(id: id) ?? panic ("No such pack") p.reveal(id: id, nfts: nfts, salt: salt) } - pub fun borrowPackRepresentation(id: UInt64): &Pack? { + /// Return a reference to a Pack resource stored in the contract state. + /// + access(all) view fun borrowPackRepresentation(id: UInt64): &Pack? { return (&self.packs[id] as &Pack?)! } - pub fun createEmptyCollection(): @NonFungibleToken.Collection { + /// Create an empty Collection for Pack NFTs and return it to the caller. + /// + access(all) fun createEmptyCollection(nftType: Type): @{NonFungibleToken.Collection} { + if nftType != Type<@NFT>() { + panic("NFT type is not supported") + } return <- create Collection() } + /// Return the metadata views implemented by this contract. + /// + /// @return An array of Types defining the implemented views. This value will be used by + /// developers to know which parameter to pass to the resolveView() method. + /// + access(all) view fun getContractViews(resourceType: Type?): [Type] { + return [ + Type(), + ] + } + + /// Resolve a metadata view for this contract. + /// + /// @param view: The Type of the desired view. + /// @return A structure representing the requested view. + /// + access(all) view fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? { + switch viewType { + case Type(): + let collectionData = MetadataViews.NFTCollectionData( + storagePath: /storage/cadenceExampleNFTCollection, + publicPath: /public/cadenceExampleNFTCollection, + publicCollection: Type<&Collection>(), + publicLinkedType: Type<&Collection>(), + createEmptyCollectionFunction: (fun(): @{NonFungibleToken.Collection} { + return <-PackNFT.createEmptyCollection(nftType: Type<@NFT>()) + }) + ) + return collectionData + } + return nil + } + + /// PackNFT contract initializer. + /// init( CollectionStoragePath: StoragePath, CollectionPublicPath: PublicPath, CollectionIPackNFTPublicPath: PublicPath, OperatorStoragePath: StoragePath, - OperatorPrivPath: PrivatePath, version: String - ){ + ) { self.totalSupply = 0 self.packs <- {} self.CollectionStoragePath = CollectionStoragePath self.CollectionPublicPath = CollectionPublicPath self.CollectionIPackNFTPublicPath = CollectionIPackNFTPublicPath self.OperatorStoragePath = OperatorStoragePath - self.OperatorPrivPath = OperatorPrivPath self.version = version - // Create a collection to receive Pack NFTs - let collection <- create Collection() - self.account.save(<-collection, to: self.CollectionStoragePath) - self.account.link<&Collection{NonFungibleToken.CollectionPublic}>(self.CollectionPublicPath, target: self.CollectionStoragePath) - self.account.link<&Collection{IPackNFT.IPackNFTCollectionPublic}>(self.CollectionIPackNFTPublicPath, target: self.CollectionStoragePath) - - // Create a operator to share mint capability with proxy - let operator <- create PackNFTOperator() - self.account.save(<-operator, to: self.OperatorStoragePath) - self.account.link<&PackNFTOperator{IPackNFT.IOperator}>(self.OperatorPrivPath, target: self.OperatorStoragePath) + // Create a collection to receive Pack NFTs and publish public receiver capabilities. + self.account.storage.save(<- create Collection(), to: self.CollectionStoragePath) + self.account.capabilities.publish( + self.account.capabilities.storage.issue<&{NonFungibleToken.CollectionPublic}>(self.CollectionStoragePath), + at: self.CollectionPublicPath + ) + self.account.capabilities.publish( + self.account.capabilities.storage.issue<&{IPackNFT.IPackNFTCollectionPublic}>(self.CollectionStoragePath), + at: self.CollectionIPackNFTPublicPath + ) + + // Create a Pack NFT operator to share mint capability with proxy. + self.account.storage.save(<- create PackNFTOperator(), to: self.OperatorStoragePath) + self.account.capabilities.storage.issue<&{IPackNFT.IOperator}>(self.OperatorStoragePath) } -} +} \ No newline at end of file diff --git a/pds/contracts/imports/ExampleNFT.cdc b/pds/contracts/imports/ExampleNFT.cdc new file mode 100644 index 0000000..91887e8 --- /dev/null +++ b/pds/contracts/imports/ExampleNFT.cdc @@ -0,0 +1,319 @@ +/* +* +* This is an example implementation of a Flow Non-Fungible Token +* using the V2 standard. +* It is not part of the official standard but it assumed to be +* similar to how many NFTs would implement the core functionality. +* +* This contract does not implement any sophisticated classification +* system for its NFTs. It defines a simple NFT with minimal metadata. +* +*/ + +import NonFungibleToken from "NonFungibleToken" +import ViewResolver from "ViewResolver" +import MetadataViews from "MetadataViews" + +access(all) contract ExampleNFT: NonFungibleToken { + + /// Path where the minter should be stored + /// The standard paths for the collection are stored in the collection resource type + access(all) let MinterStoragePath: StoragePath + + /// We choose the name NFT here, but this type can have any name now + /// because the interface does not require it to have a specific name any more + access(all) resource NFT: NonFungibleToken.NFT, ViewResolver.Resolver { + + access(all) let id: UInt64 + + /// From the Display metadata view + access(all) let name: String + access(all) let description: String + access(all) let thumbnail: String + + /// For the Royalties metadata view + access(self) let royalties: [MetadataViews.Royalty] + + /// Generic dictionary of traits the NFT has + access(self) let metadata: {String: AnyStruct} + + init( + name: String, + description: String, + thumbnail: String, + royalties: [MetadataViews.Royalty], + metadata: {String: AnyStruct}, + ) { + self.id = self.uuid + self.name = name + self.description = description + self.thumbnail = thumbnail + self.royalties = royalties + self.metadata = metadata + } + + /// createEmptyCollection creates an empty Collection + /// and returns it to the caller so that they can own NFTs + /// @{NonFungibleToken.Collection} + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <-ExampleNFT.createEmptyCollection(nftType: Type<@ExampleNFT.NFT>()) + } + + access(all) view fun getViews(): [Type] { + return [ + Type(), + Type(), + Type(), + Type(), + Type(), + Type(), + Type(), + Type() + ] + } + + access(all) fun resolveView(_ view: Type): AnyStruct? { + switch view { + case Type(): + return MetadataViews.Display( + name: self.name, + description: self.description, + thumbnail: MetadataViews.HTTPFile( + url: self.thumbnail + ) + ) + case Type(): + // There is no max number of NFTs that can be minted from this contract + // so the max edition field value is set to nil + let editionInfo = MetadataViews.Edition(name: "Example NFT Edition", number: self.id, max: nil) + let editionList: [MetadataViews.Edition] = [editionInfo] + return MetadataViews.Editions( + editionList + ) + case Type(): + return MetadataViews.Serial( + self.id + ) + case Type(): + return MetadataViews.Royalties( + self.royalties + ) + case Type(): + return MetadataViews.ExternalURL("https://example-nft.onflow.org/".concat(self.id.toString())) + case Type(): + return ExampleNFT.resolveContractView(resourceType: Type<@ExampleNFT.NFT>(), viewType: Type()) + case Type(): + return ExampleNFT.resolveContractView(resourceType: Type<@ExampleNFT.NFT>(), viewType: Type()) + case Type(): + // exclude mintedTime and foo to show other uses of Traits + let excludedTraits = ["mintedTime", "foo"] + let traitsView = MetadataViews.dictToTraits(dict: self.metadata, excludedNames: excludedTraits) + + // mintedTime is a unix timestamp, we should mark it with a displayType so platforms know how to show it. + let mintedTimeTrait = MetadataViews.Trait(name: "mintedTime", value: self.metadata["mintedTime"]!, displayType: "Date", rarity: nil) + traitsView.addTrait(mintedTimeTrait) + + // foo is a trait with its own rarity + let fooTraitRarity = MetadataViews.Rarity(score: 10.0, max: 100.0, description: "Common") + let fooTrait = MetadataViews.Trait(name: "foo", value: self.metadata["foo"], displayType: nil, rarity: fooTraitRarity) + traitsView.addTrait(fooTrait) + + return traitsView + } + return nil + } + } + + access(all) resource Collection: NonFungibleToken.Collection { + /// dictionary of NFT conforming tokens + /// NFT is a resource type with an `UInt64` ID field + access(contract) var ownedNFTs: @{UInt64: ExampleNFT.NFT} + + access(all) var storagePath: StoragePath + access(all) var publicPath: PublicPath + + init () { + self.ownedNFTs <- {} + let identifier = "cadenceExampleNFTCollection" + self.storagePath = StoragePath(identifier: identifier)! + self.publicPath = PublicPath(identifier: identifier)! + } + + /// getSupportedNFTTypes returns a list of NFT types that this receiver accepts + access(all) view fun getSupportedNFTTypes(): {Type: Bool} { + let supportedTypes: {Type: Bool} = {} + supportedTypes[Type<@ExampleNFT.NFT>()] = true + return supportedTypes + } + + /// Returns whether or not the given type is accepted by the collection + /// A collection that can accept any type should just return true by default + access(all) view fun isSupportedNFTType(type: Type): Bool { + if type == Type<@ExampleNFT.NFT>() { + return true + } else { + return false + } + } + + /// withdraw removes an NFT from the collection and moves it to the caller + access(NonFungibleToken.Withdraw | NonFungibleToken.Owner) fun withdraw(withdrawID: UInt64): @{NonFungibleToken.NFT} { + let token <- self.ownedNFTs.remove(key: withdrawID) + ?? panic("Could not withdraw an NFT with the provided ID from the collection") + + return <-token + } + + /// deposit takes a NFT and adds it to the collections dictionary + /// and adds the ID to the id array + access(all) fun deposit(token: @{NonFungibleToken.NFT}) { + let token <- token as! @ExampleNFT.NFT + + // add the new token to the dictionary which removes the old one + let oldToken <- self.ownedNFTs[token.id] <- token + + destroy oldToken + } + + /// getIDs returns an array of the IDs that are in the collection + access(all) view fun getIDs(): [UInt64] { + return self.ownedNFTs.keys + } + + /// Gets the amount of NFTs stored in the collection + access(all) view fun getLength(): Int { + return self.ownedNFTs.keys.length + } + + access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? { + return (&self.ownedNFTs[id] as &{NonFungibleToken.NFT}?) + } + + /// Borrow the view resolver for the specified NFT ID + access(all) view fun borrowViewResolver(id: UInt64): &{ViewResolver.Resolver}? { + if let nft = &self.ownedNFTs[id] as &ExampleNFT.NFT? { + return nft as &{ViewResolver.Resolver} + } + return nil + } + + /// createEmptyCollection creates an empty Collection of the same type + /// and returns it to the caller + /// @return A an empty collection of the same type + access(all) fun createEmptyCollection(): @{NonFungibleToken.Collection} { + return <-ExampleNFT.createEmptyCollection(nftType: Type<@ExampleNFT.NFT>()) + } + } + + /// createEmptyCollection creates an empty Collection for the specified NFT type + /// and returns it to the caller so that they can own NFTs + access(all) fun createEmptyCollection(nftType: Type): @{NonFungibleToken.Collection} { + return <- create Collection() + } + + /// Function that returns all the Metadata Views implemented by a Non Fungible Token + /// + /// @return An array of Types defining the implemented views. This value will be used by + /// developers to know which parameter to pass to the resolveView() method. + /// + access(all) view fun getContractViews(resourceType: Type?): [Type] { + return [ + Type(), + Type() + ] + } + + /// Function that resolves a metadata view for this contract. + /// + /// @param view: The Type of the desired view. + /// @return A structure representing the requested view. + /// + access(all) fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? { + switch viewType { + case Type(): + let collectionData = MetadataViews.NFTCollectionData( + storagePath: /storage/cadenceExampleNFTCollection, + publicPath: /public/cadenceExampleNFTCollection, + publicCollection: Type<&ExampleNFT.Collection>(), + publicLinkedType: Type<&ExampleNFT.Collection>(), + createEmptyCollectionFunction: (fun(): @{NonFungibleToken.Collection} { + return <-ExampleNFT.createEmptyCollection(nftType: Type<@ExampleNFT.NFT>()) + }) + ) + return collectionData + case Type(): + let media = MetadataViews.Media( + file: MetadataViews.HTTPFile( + url: "https://assets.website-files.com/5f6294c0c7a8cdd643b1c820/5f6294c0c7a8cda55cb1c936_Flow_Wordmark.svg" + ), + mediaType: "image/svg+xml" + ) + return MetadataViews.NFTCollectionDisplay( + name: "The Example Collection", + description: "This collection is used as an example to help you develop your next Flow NFT.", + externalURL: MetadataViews.ExternalURL("https://example-nft.onflow.org"), + squareImage: media, + bannerImage: media, + socials: { + "twitter": MetadataViews.ExternalURL("https://twitter.com/flow_blockchain") + } + ) + } + return nil + } + + /// Resource that an admin or something similar would own to be + /// able to mint new NFTs + /// + access(all) resource NFTMinter { + + /// mintNFT mints a new NFT with a new ID + /// and returns it to the calling context + access(all) fun mintNFT( + name: String, + description: String, + thumbnail: String, + royalties: [MetadataViews.Royalty] + ): @ExampleNFT.NFT { + + let metadata: {String: AnyStruct} = {} + let currentBlock = getCurrentBlock() + metadata["mintedBlock"] = currentBlock.height + metadata["mintedTime"] = currentBlock.timestamp + + // this piece of metadata will be used to show embedding rarity into a trait + metadata["foo"] = "bar" + + // create a new NFT + var newNFT <- create NFT( + name: name, + description: description, + thumbnail: thumbnail, + royalties: royalties, + metadata: metadata, + ) + + return <-newNFT + } + } + + init() { + + // Set the named paths + self.MinterStoragePath = /storage/cadenceExampleNFTMinter + + // Create a Collection resource and save it to storage + let collection <- create Collection() + let defaultStoragePath = collection.storagePath + let defaultPublicPath = collection.publicPath + self.account.storage.save(<-collection, to: defaultStoragePath) + + // create a public capability for the collection + let collectionCap = self.account.capabilities.storage.issue<&ExampleNFT.Collection>(defaultStoragePath) + self.account.capabilities.publish(collectionCap, at: defaultPublicPath) + + // Create a Minter resource and save it to storage + let minter <- create NFTMinter() + self.account.storage.save(<-minter, to: self.MinterStoragePath) + } +} diff --git a/pds/contracts/imports/FungibleToken.cdc b/pds/contracts/imports/FungibleToken.cdc new file mode 100644 index 0000000..c40dc23 --- /dev/null +++ b/pds/contracts/imports/FungibleToken.cdc @@ -0,0 +1,227 @@ +/** + +# The Flow Fungible Token standard + +## `FungibleToken` contract + +The Fungible Token standard is no longer an interface +that all fungible token contracts would have to conform to. + +If a users wants to deploy a new token contract, their contract +does not need to implement the FungibleToken interface, but their tokens +do need to implement the interfaces defined in this contract. + +## `Vault` resource interface + +Each fungible token resource type needs to implement the `Vault` resource interface. + +## `Provider`, `Receiver`, and `Balance` resource interfaces + +These interfaces declare pre-conditions and post-conditions that restrict +the execution of the functions in the Vault. + +They are separate because it gives the user the ability to share +a reference to their Vault that only exposes the fields functions +in one or more of the interfaces. + +It also gives users the ability to make custom resources that implement +these interfaces to do various things with the tokens. +For example, a faucet can be implemented by conforming +to the Provider interface. + +*/ + +import ViewResolver from "ViewResolver" +//import Burner from "Burner" + +/// FungibleToken +/// +/// Fungible Token implementations are no longer required to implement the fungible token +/// interface. We still have it as an interface here because there are some useful +/// utility methods that many projects will still want to have on their contracts, +/// but they are by no means required. all that is required is that the token +/// implements the `Vault` interface +access(all) contract interface FungibleToken: ViewResolver { + + // An entitlement for allowing the withdrawal of tokens from a Vault + access(all) entitlement Withdraw + + /// The event that is emitted when tokens are withdrawn from a Vault + access(all) event Withdrawn(type: String, amount: UFix64, from: Address?, fromUUID: UInt64, withdrawnUUID: UInt64) + + /// The event that is emitted when tokens are deposited to a Vault + access(all) event Deposited(type: String, amount: UFix64, to: Address?, toUUID: UInt64, depositedUUID: UInt64) + + /// Event that is emitted when the global burn method is called with a non-zero balance + access(all) event Burned(type: String, amount: UFix64, fromUUID: UInt64) + + /// Balance + /// + /// The interface that provides standard functions\ + /// for getting balance information + /// + access(all) resource interface Balance { + access(all) var balance: UFix64 + } + + /// Provider + /// + /// The interface that enforces the requirements for withdrawing + /// tokens from the implementing type. + /// + /// It does not enforce requirements on `balance` here, + /// because it leaves open the possibility of creating custom providers + /// that do not necessarily need their own balance. + /// + access(all) resource interface Provider { + + /// Function to ask a provider if a specific amount of tokens + /// is available to be withdrawn + /// This could be useful to avoid panicing when calling withdraw + /// when the balance is unknown + /// Additionally, if the provider is pulling from multiple vaults + /// it only needs to check some of the vaults until the desired amount + /// is reached, potentially helping with performance. + /// + access(all) view fun isAvailableToWithdraw(amount: UFix64): Bool + + /// withdraw subtracts tokens from the implementing resource + /// and returns a Vault with the removed tokens. + /// + /// The function's access level is `access(Withdraw)` + /// So in order to access it, one would either need the object itself + /// or an entitled reference with `Withdraw`. + /// + access(Withdraw) fun withdraw(amount: UFix64): @{Vault} { + post { + // `result` refers to the return value + result.balance == amount: + "Withdrawal amount must be the same as the balance of the withdrawn Vault" + emit Withdrawn(type: self.getType().identifier, amount: amount, from: self.owner?.address, fromUUID: self.uuid, withdrawnUUID: result.uuid) + } + } + } + + /// Receiver + /// + /// The interface that enforces the requirements for depositing + /// tokens into the implementing type. + /// + /// We do not include a condition that checks the balance because + /// we want to give users the ability to make custom receivers that + /// can do custom things with the tokens, like split them up and + /// send them to different places. + /// + access(all) resource interface Receiver { + + /// deposit takes a Vault and deposits it into the implementing resource type + /// + access(all) fun deposit(from: @{Vault}) + + /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts + access(all) view fun getSupportedVaultTypes(): {Type: Bool} + + /// Returns whether or not the given type is accepted by the Receiver + /// A vault that can accept any type should just return true by default + access(all) view fun isSupportedVaultType(type: Type): Bool + } + + /// Vault + /// + /// Ideally, this interface would also conform to Receiver, Balance, Transferor, Provider, and Resolver + /// but that is not supported yet + /// + access(all) resource interface Vault: Receiver, Provider, Balance, ViewResolver.Resolver { //, Burner.Burnable { + + /// Field that tracks the balance of a vault + access(all) var balance: UFix64 + + /// Called when a fungible token is burned via the `Burner.burn()` method + /// Implementations can do any bookkeeping or emit any events + /// that should be emitted when a vault is destroyed. + /// Many implementations will want to update the token's total supply + /// to reflect that the tokens have been burned and removed from the supply. + /// Implementations also need to set the balance to zero before the end of the function + /// This is to prevent vault owners from spamming fake Burned events. + access(contract) fun burnCallback() { + pre { + emit Burned(type: self.getType().identifier, amount: self.balance, fromUUID: self.uuid) + } + post { + self.balance == 0.0: "The balance must be set to zero during the burnCallback method so that it cannot be spammed" + } + } + + /// getSupportedVaultTypes optionally returns a list of vault types that this receiver accepts + /// The default implementation is included here because vaults are expected + /// to only accepted their own type, so they have no need to provide an implementation + /// for this function + access(all) view fun getSupportedVaultTypes(): {Type: Bool} { + // Below check is implemented to make sure that run-time type would + // only get returned when the parent resource conforms with `FungibleToken.Vault`. + if self.getType().isSubtype(of: Type<@{FungibleToken.Vault}>()) { + return {self.getType(): true} + } else { + // Return an empty dictionary as the default value for resource who don't + // implement `FungibleToken.Vault`, such as `FungibleTokenSwitchboard`, `TokenForwarder` etc. + return {} + } + } + + /// Checks if the given type is supported by this Vault + access(all) view fun isSupportedVaultType(type: Type): Bool { + return self.getSupportedVaultTypes()[type] ?? false + } + + /// withdraw subtracts `amount` from the Vault's balance + /// and returns a new Vault with the subtracted balance + /// + access(Withdraw) fun withdraw(amount: UFix64): @{Vault} { + pre { + self.balance >= amount: + "Amount withdrawn must be less than or equal than the balance of the Vault" + } + post { + result.getType() == self.getType(): "Must return the same vault type as self" + // use the special function `before` to get the value of the `balance` field + // at the beginning of the function execution + // + self.balance == before(self.balance) - amount: + "New Vault balance must be the difference of the previous balance and the withdrawn Vault balance" + } + } + + /// deposit takes a Vault and adds its balance to the balance of this Vault + /// + access(all) fun deposit(from: @{FungibleToken.Vault}) { + // Assert that the concrete type of the deposited vault is the same + // as the vault that is accepting the deposit + pre { + from.isInstance(self.getType()): + "Cannot deposit an incompatible token type" + emit Deposited(type: from.getType().identifier, amount: from.balance, to: self.owner?.address, toUUID: self.uuid, depositedUUID: from.uuid) + } + post { + self.balance == before(self.balance) + before(from.balance): + "New Vault balance must be the sum of the previous balance and the deposited Vault" + } + } + + /// createEmptyVault allows any user to create a new Vault that has a zero balance + /// + access(all) fun createEmptyVault(): @{Vault} { + post { + result.balance == 0.0: "The newly created Vault must have zero balance" + } + } + } + + /// createEmptyVault allows any user to create a new Vault that has a zero balance + /// + access(all) fun createEmptyVault(vaultType: Type): @{FungibleToken.Vault} { + post { + result.getType() == vaultType: "The returned vault does not match the desired type" + result.balance == 0.0: "The newly created Vault must have zero balance" + } + } +} \ No newline at end of file diff --git a/pds/contracts/imports/MetadataViews.cdc b/pds/contracts/imports/MetadataViews.cdc new file mode 100644 index 0000000..6b151d3 --- /dev/null +++ b/pds/contracts/imports/MetadataViews.cdc @@ -0,0 +1,706 @@ +import FungibleToken from "FungibleToken" +import NonFungibleToken from "NonFungibleToken" +import ViewResolver from "ViewResolver" + +/// This contract implements the metadata standard proposed +/// in FLIP-0636. +/// +/// Ref: https://github.com/onflow/flips/blob/main/application/20210916-nft-metadata.md +/// +/// Structs and resources can implement one or more +/// metadata types, called views. Each view type represents +/// a different kind of metadata, such as a creator biography +/// or a JPEG image file. +/// +access(all) contract MetadataViews { + + /// Display is a basic view that includes the name, description and + /// thumbnail for an object. Most objects should implement this view. + /// + access(all) struct Display { + + /// The name of the object. + /// + /// This field will be displayed in lists and therefore should + /// be short an concise. + /// + access(all) let name: String + + /// A written description of the object. + /// + /// This field will be displayed in a detailed view of the object, + /// so can be more verbose (e.g. a paragraph instead of a single line). + /// + access(all) let description: String + + /// A small thumbnail representation of the object. + /// + /// This field should be a web-friendly file (i.e JPEG, PNG) + /// that can be displayed in lists, link previews, etc. + /// + access(all) let thumbnail: {File} + + view init( + name: String, + description: String, + thumbnail: {File} + ) { + self.name = name + self.description = description + self.thumbnail = thumbnail + } + } + + /// Helper to get Display in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return An optional Display struct + /// + access(all) fun getDisplay(_ viewResolver: &{ViewResolver.Resolver}) : Display? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? Display { + return v + } + } + return nil + } + + /// Generic interface that represents a file stored on or off chain. Files + /// can be used to references images, videos and other media. + /// + access(all) struct interface File { + access(all) view fun uri(): String + } + + /// View to expose a file that is accessible at an HTTP (or HTTPS) URL. + /// + access(all) struct HTTPFile: File { + access(all) let url: String + + view init(url: String) { + self.url = url + } + + access(all) view fun uri(): String { + return self.url + } + } + + /// View to expose a file stored on IPFS. + /// IPFS images are referenced by their content identifier (CID) + /// rather than a direct URI. A client application can use this CID + /// to find and load the image via an IPFS gateway. + /// + access(all) struct IPFSFile: File { + + /// CID is the content identifier for this IPFS file. + /// + /// Ref: https://docs.ipfs.io/concepts/content-addressing/ + /// + access(all) let cid: String + + /// Path is an optional path to the file resource in an IPFS directory. + /// + /// This field is only needed if the file is inside a directory. + /// + /// Ref: https://docs.ipfs.io/concepts/file-systems/ + /// + access(all) let path: String? + + view init(cid: String, path: String?) { + self.cid = cid + self.path = path + } + + /// This function returns the IPFS native URL for this file. + /// Ref: https://docs.ipfs.io/how-to/address-ipfs-on-web/#native-urls + /// + /// @return The string containing the file uri + /// + access(all) view fun uri(): String { + if let path = self.path { + return "ipfs://".concat(self.cid).concat("/").concat(path) + } + + return "ipfs://".concat(self.cid) + } + } + + /// View to represent a file with an correspoiding mediaType. + /// + access(all) struct Media { + + /// File for the media + /// + access(all) let file: {File} + + /// media-type comes on the form of type/subtype as described here + /// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types + /// + access(all) let mediaType: String + + view init(file: {File}, mediaType: String) { + self.file=file + self.mediaType=mediaType + } + } + + /// Wrapper view for multiple media views + /// + access(all) struct Medias { + + /// An arbitrary-sized list for any number of Media items + access(all) let items: [Media] + + view init(_ items: [Media]) { + self.items = items + } + } + + /// Helper to get Medias in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional Medias struct + /// + access(all) fun getMedias(_ viewResolver: &{ViewResolver.Resolver}) : Medias? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? Medias { + return v + } + } + return nil + } + + /// View to represent a license according to https://spdx.org/licenses/ + /// This view can be used if the content of an NFT is licensed. + /// + access(all) struct License { + access(all) let spdxIdentifier: String + + view init(_ identifier: String) { + self.spdxIdentifier = identifier + } + } + + /// Helper to get License in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional License struct + /// + access(all) fun getLicense(_ viewResolver: &{ViewResolver.Resolver}) : License? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? License { + return v + } + } + return nil + } + + /// View to expose a URL to this item on an external site. + /// This can be used by applications like .find and Blocto to direct users + /// to the original link for an NFT or a project page that describes the NFT collection. + /// eg https://www.my-nft-project.com/overview-of-nft-collection + /// + access(all) struct ExternalURL { + access(all) let url: String + + view init(_ url: String) { + self.url=url + } + } + + /// Helper to get ExternalURL in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional ExternalURL struct + /// + access(all) fun getExternalURL(_ viewResolver: &{ViewResolver.Resolver}) : ExternalURL? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? ExternalURL { + return v + } + } + return nil + } + + /// View that defines the composable royalty standard that gives marketplaces a + /// unified interface to support NFT royalties. + /// + access(all) struct Royalty { + + /// Generic FungibleToken Receiver for the beneficiary of the royalty + /// Can get the concrete type of the receiver with receiver.getType() + /// Recommendation - Users should create a new link for a FlowToken + /// receiver for this using `getRoyaltyReceiverPublicPath()`, and not + /// use the default FlowToken receiver. This will allow users to update + /// the capability in the future to use a more generic capability + access(all) let receiver: Capability<&{FungibleToken.Receiver}> + + /// Multiplier used to calculate the amount of sale value transferred to + /// royalty receiver. Note - It should be between 0.0 and 1.0 + /// Ex - If the sale value is x and multiplier is 0.56 then the royalty + /// value would be 0.56 * x. + /// Generally percentage get represented in terms of basis points + /// in solidity based smart contracts while cadence offers `UFix64` + /// that already supports the basis points use case because its + /// operations are entirely deterministic integer operations and support + /// up to 8 points of precision. + access(all) let cut: UFix64 + + /// Optional description: This can be the cause of paying the royalty, + /// the relationship between the `wallet` and the NFT, or anything else + /// that the owner might want to specify. + access(all) let description: String + + view init(receiver: Capability<&{FungibleToken.Receiver}>, cut: UFix64, description: String) { + pre { + cut >= 0.0 && cut <= 1.0 : "Cut value should be in valid range i.e [0,1]" + } + self.receiver = receiver + self.cut = cut + self.description = description + } + } + + /// Wrapper view for multiple Royalty views. + /// Marketplaces can query this `Royalties` struct from NFTs + /// and are expected to pay royalties based on these specifications. + /// + access(all) struct Royalties { + + /// Array that tracks the individual royalties + access(self) let cutInfos: [Royalty] + + access(all) view init(_ cutInfos: [Royalty]) { + // Validate that sum of all cut multipliers should not be greater than 1.0 + var totalCut = 0.0 + for royalty in cutInfos { + totalCut = totalCut + royalty.cut + } + assert(totalCut <= 1.0, message: "Sum of cutInfos multipliers should not be greater than 1.0") + // Assign the cutInfos + self.cutInfos = cutInfos + } + + /// Return the cutInfos list + /// + /// @return An array containing all the royalties structs + /// + access(all) view fun getRoyalties(): [Royalty] { + return self.cutInfos + } + } + + /// Helper to get Royalties in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional Royalties struct + /// + access(all) fun getRoyalties(_ viewResolver: &{ViewResolver.Resolver}) : Royalties? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? Royalties { + return v + } + } + return nil + } + + /// Get the path that should be used for receiving royalties + /// This is a path that will eventually be used for a generic switchboard receiver, + /// hence the name but will only be used for royalties for now. + /// + /// @return The PublicPath for the generic FT receiver + /// + access(all) view fun getRoyaltyReceiverPublicPath(): PublicPath { + return /public/GenericFTReceiver + } + + /// View to represent a single field of metadata on an NFT. + /// This is used to get traits of individual key/value pairs along with some + /// contextualized data about the trait + /// + access(all) struct Trait { + // The name of the trait. Like Background, Eyes, Hair, etc. + access(all) let name: String + + // The underlying value of the trait, the rest of the fields of a trait provide context to the value. + access(all) let value: AnyStruct + + // displayType is used to show some context about what this name and value represent + // for instance, you could set value to a unix timestamp, and specify displayType as "Date" to tell + // platforms to consume this trait as a date and not a number + access(all) let displayType: String? + + // Rarity can also be used directly on an attribute. + // + // This is optional because not all attributes need to contribute to the NFT's rarity. + access(all) let rarity: Rarity? + + view init(name: String, value: AnyStruct, displayType: String?, rarity: Rarity?) { + self.name = name + self.value = value + self.displayType = displayType + self.rarity = rarity + } + } + + /// Wrapper view to return all the traits on an NFT. + /// This is used to return traits as individual key/value pairs along with + /// some contextualized data about each trait. + access(all) struct Traits { + access(all) let traits: [Trait] + + view init(_ traits: [Trait]) { + self.traits = traits + } + + /// Adds a single Trait to the Traits view + /// + /// @param Trait: The trait struct to be added + /// + access(all) fun addTrait(_ t: Trait) { + self.traits.append(t) + } + } + + /// Helper to get Traits view in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional Traits struct + /// + access(all) fun getTraits(_ viewResolver: &{ViewResolver.Resolver}) : Traits? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? Traits { + return v + } + } + return nil + } + + /// Helper function to easily convert a dictionary to traits. For NFT + /// collections that do not need either of the optional values of a Trait, + /// this method should suffice to give them an array of valid traits. + /// + /// @param dict: The dictionary to be converted to Traits + /// @param excludedNames: An optional String array specifying the `dict` + /// keys that are not wanted to become `Traits` + /// @return The generated Traits view + /// + access(all) fun dictToTraits(dict: {String: AnyStruct}, excludedNames: [String]?): Traits { + // Collection owners might not want all the fields in their metadata included. + // They might want to handle some specially, or they might just not want them included at all. + if excludedNames != nil { + for k in excludedNames! { + dict.remove(key: k) + } + } + + let traits: [Trait] = [] + for k in dict.keys { + let trait = Trait(name: k, value: dict[k]!, displayType: nil, rarity: nil) + traits.append(trait) + } + + return Traits(traits) + } + + /// Optional view for collections that issue multiple objects + /// with the same or similar metadata, for example an X of 100 set. This + /// information is useful for wallets and marketplaces. + /// An NFT might be part of multiple editions, which is why the edition + /// information is returned as an arbitrary sized array + /// + access(all) struct Edition { + + /// The name of the edition + /// For example, this could be Set, Play, Series, + /// or any other way a project could classify its editions + access(all) let name: String? + + /// The edition number of the object. + /// For an "24 of 100 (#24/100)" item, the number is 24. + access(all) let number: UInt64 + + /// The max edition number of this type of objects. + /// This field should only be provided for limited-editioned objects. + /// For an "24 of 100 (#24/100)" item, max is 100. + /// For an item with unlimited edition, max should be set to nil. + /// + access(all) let max: UInt64? + + view init(name: String?, number: UInt64, max: UInt64?) { + if max != nil { + assert(number <= max!, message: "The number cannot be greater than the max number!") + } + self.name = name + self.number = number + self.max = max + } + } + + /// Wrapper view for multiple Edition views + /// + access(all) struct Editions { + + /// An arbitrary-sized list for any number of editions + /// that the NFT might be a part of + access(all) let infoList: [Edition] + + view init(_ infoList: [Edition]) { + self.infoList = infoList + } + } + + /// Helper to get Editions in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return An optional Editions struct + /// + access(all) fun getEditions(_ viewResolver: &{ViewResolver.Resolver}) : Editions? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? Editions { + return v + } + } + return nil + } + + /// View representing a project-defined serial number for a specific NFT + /// Projects have different definitions for what a serial number should be + /// Some may use the NFTs regular ID and some may use a different + /// classification system. The serial number is expected to be unique among + /// other NFTs within that project + /// + access(all) struct Serial { + access(all) let number: UInt64 + + view init(_ number: UInt64) { + self.number = number + } + } + + /// Helper to get Serial in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return An optional Serial struct + /// + access(all) fun getSerial(_ viewResolver: &{ViewResolver.Resolver}) : Serial? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? Serial { + return v + } + } + return nil + } + + /// View to expose rarity information for a single rarity + /// Note that a rarity needs to have either score or description but it can + /// have both + /// + access(all) struct Rarity { + /// The score of the rarity as a number + access(all) let score: UFix64? + + /// The maximum value of score + access(all) let max: UFix64? + + /// The description of the rarity as a string. + /// + /// This could be Legendary, Epic, Rare, Uncommon, Common or any other string value + access(all) let description: String? + + view init(score: UFix64?, max: UFix64?, description: String?) { + if score == nil && description == nil { + panic("A Rarity needs to set score, description or both") + } + + self.score = score + self.max = max + self.description = description + } + } + + /// Helper to get Rarity view in a typesafe way + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional Rarity struct + /// + access(all) fun getRarity(_ viewResolver: &{ViewResolver.Resolver}) : Rarity? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? Rarity { + return v + } + } + return nil + } + + /// NFTView wraps all Core views along `id` and `uuid` fields, and is used + /// to give a complete picture of an NFT. Most NFTs should implement this + /// view. + /// + access(all) struct NFTView { + access(all) let id: UInt64 + access(all) let uuid: UInt64 + access(all) let display: MetadataViews.Display? + access(all) let externalURL: MetadataViews.ExternalURL? + access(all) let collectionData: NFTCollectionData? + access(all) let collectionDisplay: NFTCollectionDisplay? + access(all) let royalties: Royalties? + access(all) let traits: Traits? + + view init( + id : UInt64, + uuid : UInt64, + display : MetadataViews.Display?, + externalURL : MetadataViews.ExternalURL?, + collectionData : NFTCollectionData?, + collectionDisplay : NFTCollectionDisplay?, + royalties : Royalties?, + traits: Traits? + ) { + self.id = id + self.uuid = uuid + self.display = display + self.externalURL = externalURL + self.collectionData = collectionData + self.collectionDisplay = collectionDisplay + self.royalties = royalties + self.traits = traits + } + } + + /// Helper to get an NFT view + /// + /// @param id: The NFT id + /// @param viewResolver: A reference to the resolver resource + /// @return A NFTView struct + /// + access(all) fun getNFTView(id: UInt64, viewResolver: &{ViewResolver.Resolver}) : NFTView { + let nftView = viewResolver.resolveView(Type()) + if nftView != nil { + return nftView! as! NFTView + } + + return NFTView( + id : id, + uuid: viewResolver.uuid, + display: MetadataViews.getDisplay(viewResolver), + externalURL : MetadataViews.getExternalURL(viewResolver), + collectionData : self.getNFTCollectionData(viewResolver), + collectionDisplay : self.getNFTCollectionDisplay(viewResolver), + royalties : self.getRoyalties(viewResolver), + traits : self.getTraits(viewResolver) + ) + } + + /// View to expose the information needed store and retrieve an NFT. + /// This can be used by applications to setup a NFT collection with proper + /// storage and public capabilities. + /// + access(all) struct NFTCollectionData { + /// Path in storage where this NFT is recommended to be stored. + access(all) let storagePath: StoragePath + + /// Public path which must be linked to expose public capabilities of this NFT + /// including standard NFT interfaces and metadataviews interfaces + access(all) let publicPath: PublicPath + + /// The concrete type of the collection that is exposed to the public + /// now that entitlements exist, it no longer needs to be restricted to a specific interface + access(all) let publicCollection: Type + + /// Type that should be linked at the aforementioned public path + access(all) let publicLinkedType: Type + + /// Function that allows creation of an empty NFT collection that is intended to store + /// this NFT. + access(all) let createEmptyCollection: fun(): @{NonFungibleToken.Collection} + + view init( + storagePath: StoragePath, + publicPath: PublicPath, + publicCollection: Type, + publicLinkedType: Type, + createEmptyCollectionFunction: fun(): @{NonFungibleToken.Collection} + ) { + pre { + publicLinkedType.isSubtype(of: Type<&{NonFungibleToken.Collection}>()): "Public type must be a subtype of NonFungibleToken.Collection interface." + } + self.storagePath=storagePath + self.publicPath=publicPath + self.publicCollection=publicCollection + self.publicLinkedType=publicLinkedType + self.createEmptyCollection=createEmptyCollectionFunction + } + } + + /// Helper to get NFTCollectionData in a way that will return an typed Optional + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional NFTCollectionData struct + /// + access(all) fun getNFTCollectionData(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionData? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? NFTCollectionData { + return v + } + } + return nil + } + + /// View to expose the information needed to showcase this NFT's + /// collection. This can be used by applications to give an overview and + /// graphics of the NFT collection this NFT belongs to. + /// + access(all) struct NFTCollectionDisplay { + // Name that should be used when displaying this NFT collection. + access(all) let name: String + + // Description that should be used to give an overview of this collection. + access(all) let description: String + + // External link to a URL to view more information about this collection. + access(all) let externalURL: MetadataViews.ExternalURL + + // Square-sized image to represent this collection. + access(all) let squareImage: MetadataViews.Media + + // Banner-sized image for this collection, recommended to have a size near 1200x630. + access(all) let bannerImage: MetadataViews.Media + + // Social links to reach this collection's social homepages. + // Possible keys may be "instagram", "twitter", "discord", etc. + access(all) let socials: {String: MetadataViews.ExternalURL} + + view init( + name: String, + description: String, + externalURL: MetadataViews.ExternalURL, + squareImage: MetadataViews.Media, + bannerImage: MetadataViews.Media, + socials: {String: MetadataViews.ExternalURL} + ) { + self.name = name + self.description = description + self.externalURL = externalURL + self.squareImage = squareImage + self.bannerImage = bannerImage + self.socials = socials + } + } + + /// Helper to get NFTCollectionDisplay in a way that will return a typed + /// Optional + /// + /// @param viewResolver: A reference to the resolver resource + /// @return A optional NFTCollection struct + /// + access(all) fun getNFTCollectionDisplay(_ viewResolver: &{ViewResolver.Resolver}) : NFTCollectionDisplay? { + if let view = viewResolver.resolveView(Type()) { + if let v = view as? NFTCollectionDisplay { + return v + } + } + return nil + } +} \ No newline at end of file diff --git a/pds/contracts/imports/NonFungibleToken.cdc b/pds/contracts/imports/NonFungibleToken.cdc new file mode 100644 index 0000000..ab12116 --- /dev/null +++ b/pds/contracts/imports/NonFungibleToken.cdc @@ -0,0 +1,234 @@ +/** + +## The Flow Non-Fungible Token standard + +## `NonFungibleToken` contract + +The interface that all Non-Fungible Token contracts should conform to. +If a user wants to deploy a new NFT contract, their contract should implement +The types defined here + +## `NFT` resource interface + +The core resource type that represents an NFT in the smart contract. + +## `Collection` Resource interface + +The resource that stores a user's NFT collection. +It includes a few functions to allow the owner to easily +move tokens in and out of the collection. + +## `Provider` and `Receiver` resource interfaces + +These interfaces declare functions with some pre and post conditions +that require the Collection to follow certain naming and behavior standards. + +They are separate because it gives developers the ability to define functions +that can use any type that implements these interfaces + +By using resources and interfaces, users of NFT smart contracts can send +and receive tokens peer-to-peer, without having to interact with a central ledger +smart contract. + +To send an NFT to another user, a user would simply withdraw the NFT +from their Collection, then call the deposit function on another user's +Collection to complete the transfer. + +*/ + +import ViewResolver from "ViewResolver" + +/// The main NFT contract. Other NFT contracts will +/// import and implement the interfaces defined in this contract +/// +access(all) contract interface NonFungibleToken: ViewResolver { + + /// An entitlement for allowing the withdrawal of tokens from a Vault + access(all) entitlement Withdraw + + /// An entitlement for allowing updates and update events for an NFT + access(all) entitlement Update + + /// entitlement for owner that grants Withdraw and Update + access(all) entitlement Owner + + /// Event that contracts should emit when the metadata of an NFT is updated + /// It can only be emitted by calling the `emitNFTUpdated` function + /// with an `Updatable` entitled reference to the NFT that was updated + /// The entitlement prevents spammers from calling this from other users' collections + /// because only code within a collection or that has special entitled access + /// to the collections methods will be able to get the entitled reference + /// + /// The event makes it so that third-party indexers can monitor the events + /// and query the updated metadata from the owners' collections. + /// + access(all) event Updated(type: String, id: UInt64, uuid: UInt64, owner: Address?) + access(contract) view fun emitNFTUpdated(_ nftRef: auth(Update | Owner) &{NonFungibleToken.NFT}) + { + emit Updated(type: nftRef.getType().identifier, id: nftRef.id, uuid: nftRef.uuid, owner: nftRef.owner?.address) + } + + + /// Event that is emitted when a token is withdrawn, + /// indicating the type, id, uuid, the owner of the collection that it was withdrawn from, + /// and the UUID of the resource it was withdrawn from, usually a collection. + /// + /// If the collection is not in an account's storage, `from` will be `nil`. + /// + access(all) event Withdrawn(type: String, id: UInt64, uuid: UInt64, from: Address?, providerUUID: UInt64) + + /// Event that emitted when a token is deposited to a collection. + /// Indicates the type, id, uuid, the owner of the collection that it was deposited to, + /// and the UUID of the collection it was deposited to + /// + /// If the collection is not in an account's storage, `from`, will be `nil`. + /// + access(all) event Deposited(type: String, id: UInt64, uuid: UInt64, to: Address?, collectionUUID: UInt64) + + /// Included for backwards-compatibility + access(all) resource interface INFT: NFT {} + + /// Interface that the NFTs must conform to + /// + access(all) resource interface NFT: ViewResolver.Resolver { + + /// unique ID for the NFT + access(all) let id: UInt64 + + /// Event that is emitted automatically every time a resource is destroyed + /// The type information is included in the metadata event so it is not needed as an argument + access(all) event ResourceDestroyed(id: UInt64 = self.id, uuid: UInt64 = self.uuid) + + /// createEmptyCollection creates an empty Collection that is able to store the NFT + /// and returns it to the caller so that they can own NFTs + /// @return A an empty collection that can store this NFT + access(all) fun createEmptyCollection(): @{Collection} { + post { + result.getLength() == 0: "The created collection must be empty!" + } + } + + /// Gets all the NFTs that this NFT directly owns + /// @return A dictionary of all subNFTS keyed by type + access(all) view fun getAvailableSubNFTS(): {Type: UInt64} { + return {} + } + + /// Get a reference to an NFT that this NFT owns + /// Both arguments are optional to allow the NFT to choose + /// how it returns sub NFTs depending on what arguments are provided + /// For example, if `type` has a value, but `id` doesn't, the NFT + /// can choose which NFT of that type to return if there is a "default" + /// If both are `nil`, then NFTs that only store a single NFT can just return + /// that. This helps callers who aren't sure what they are looking for + /// + /// @param type: The Type of the desired NFT + /// @param id: The id of the NFT to borrow + /// + /// @return A structure representing the requested view. + access(all) fun getSubNFT(type: Type, id: UInt64) : &{NonFungibleToken.NFT}? { + return nil + } + } + + /// Interface to mediate withdrawals from a resource, usually a Collection + /// + access(all) resource interface Provider { + + // We emit withdraw events from the provider interface because conficting withdraw + // events aren't as confusing to event listeners as conflicting deposit events + + /// withdraw removes an NFT from the collection and moves it to the caller + /// It does not specify whether the ID is UUID or not + /// @param withdrawID: The id of the NFT to withdraw from the collection + access(Withdraw | Owner) fun withdraw(withdrawID: UInt64): @{NFT} { + post { + result.id == withdrawID: "The ID of the withdrawn token must be the same as the requested ID" + emit Withdrawn(type: result.getType().identifier, id: result.id, uuid: result.uuid, from: self.owner?.address, providerUUID: self.uuid) + } + } + } + + /// Interface to mediate deposits to the Collection + /// + access(all) resource interface Receiver { + + /// deposit takes an NFT as an argument and adds it to the Collection + /// @param token: The NFT to deposit + access(all) fun deposit(token: @{NFT}) + + /// getSupportedNFTTypes returns a list of NFT types that this receiver accepts + /// @return A dictionary of types mapped to booleans indicating if this + /// reciever supports it + access(all) view fun getSupportedNFTTypes(): {Type: Bool} + + /// Returns whether or not the given type is accepted by the collection + /// A collection that can accept any type should just return true by default + /// @param type: An NFT type + /// @return A boolean indicating if this receiver can recieve the desired NFT type + access(all) view fun isSupportedNFTType(type: Type): Bool + } + + /// Kept for backwards-compatibility reasons + access(all) resource interface CollectionPublic { + access(all) fun deposit(token: @{NFT}) + access(all) view fun getLength(): Int + access(all) view fun getIDs(): [UInt64] + access(all) view fun borrowNFT(_ id: UInt64): &{NFT}? + } + + /// Requirement for the concrete resource type + /// to be declared in the implementing contract + /// + access(all) resource interface Collection: Provider, Receiver, CollectionPublic, ViewResolver.ResolverCollection { + + /// deposit takes a NFT as an argument and stores it in the collection + /// @param token: The NFT to deposit into the collection + access(all) fun deposit(token: @{NonFungibleToken.NFT}) { + pre { + // We emit the deposit event in the `Collection` interface + // because the `Collection` interface is almost always the final destination + // of tokens and deposit emissions from custom receivers could be confusing + // and hard to reconcile to event listeners + emit Deposited(type: token.getType().identifier, id: token.id, uuid: token.uuid, to: self.owner?.address, collectionUUID: self.uuid) + } + } + + /// Gets the amount of NFTs stored in the collection + /// @return An integer indicating the size of the collection + access(all) view fun getLength(): Int + + /// Borrows a reference to an NFT stored in the collection + /// If the NFT with the specified ID is not in the collection, + /// the function should return `nil` and not panic. + /// + /// @param id: The desired nft id in the collection to return a referece for. + /// @return An optional reference to the NFT + access(all) view fun borrowNFT(_ id: UInt64): &{NonFungibleToken.NFT}? { + post { + (result == nil) || (result?.id == id): + "Cannot borrow NFT reference: The ID of the returned reference does not match the ID that was specified" + } + } + + /// createEmptyCollection creates an empty Collection of the same type + /// and returns it to the caller + /// @return A an empty collection of the same type + access(all) fun createEmptyCollection(): @{Collection} { + post { + result.getType() == self.getType(): "The created collection does not have the same type as this collection" + result.getLength() == 0: "The created collection must be empty!" + } + } + } + + /// createEmptyCollection creates an empty Collection for the specified NFT type + /// and returns it to the caller so that they can own NFTs + /// @param nftType: The desired nft type to return a collection for. + /// @return An array of NFT Types that the implementing contract defines. + access(all) fun createEmptyCollection(nftType: Type): @{NonFungibleToken.Collection} { + post { + result.getIDs().length == 0: "The created collection must be empty!" + } + } +} \ No newline at end of file diff --git a/pds/contracts/imports/ViewResolver.cdc b/pds/contracts/imports/ViewResolver.cdc new file mode 100644 index 0000000..17c1365 --- /dev/null +++ b/pds/contracts/imports/ViewResolver.cdc @@ -0,0 +1,58 @@ +// Taken from the NFT Metadata standard, this contract exposes an interface to let +// anyone borrow a contract and resolve views on it. +// +// This will allow you to obtain information about a contract without necessarily knowing anything about it. +// All you need is its address and name and you're good to go! +access(all) contract interface ViewResolver { + + /// Function that returns all the Metadata Views implemented by the resolving contract. + /// Some contracts may have multiple resource types that support metadata views + /// so there there is an optional parameter for specify which resource type the caller + /// is looking for views for. + /// Some contract-level views may be type-agnostic. In that case, the contract + /// should return the same views regardless of what type is passed in. + /// + /// @param resourceType: An optional resource type to return views for + /// @return An array of Types defining the implemented views. This value will be used by + /// developers to know which parameter to pass to the resolveView() method. + /// + access(all) view fun getContractViews(resourceType: Type?): [Type] + + /// Function that resolves a metadata view for this token. + /// Some contracts may have multiple resource types that support metadata views + /// so there there is an optional parameter for specify which resource type the caller + /// is looking for views for. + /// Some contract-level views may be type-agnostic. In that case, the contract + /// should return the same views regardless of what type is passed in. + /// + /// @param resourceType: An optional resource type to return views for + /// @param view: The Type of the desired view. + /// @return A structure representing the requested view. + /// + access(all) fun resolveContractView(resourceType: Type?, viewType: Type): AnyStruct? + + /// Provides access to a set of metadata views. A struct or + /// resource (e.g. an NFT) can implement this interface to provide access to + /// the views that it supports. + /// + access(all) resource interface Resolver { + + /// Same as getViews above, but on a specific NFT instead of a contract + access(all) view fun getViews(): [Type] + + /// Same as resolveView above, but on a specific NFT instead of a contract + access(all) fun resolveView(_ view: Type): AnyStruct? + } + + /// A group of view resolvers indexed by ID. + /// + access(all) resource interface ResolverCollection { + access(all) view fun borrowViewResolver(id: UInt64): &{Resolver}? { + return nil + } + + access(all) view fun getIDs(): [UInt64] { + return [] + } + } +} diff --git a/pds/flow.json b/pds/flow.json new file mode 100644 index 0000000..0333f55 --- /dev/null +++ b/pds/flow.json @@ -0,0 +1,101 @@ +{ + "contracts": { + "FungibleToken": { + "source": "./contracts/imports/FungibleToken.cdc", + "aliases": { + "mainnet": "f233dcee88fe0abe", + "testnet": "9a0766d93b6608b7", + "emulator": "ee82856bf20e2aa6" + } + }, + "MetadataViews": { + "source": "./contracts/imports/MetadataViews.cdc", + "aliases": { + "mainnet": "1d7e57aa55817448", + "testnet": "631e88ae7f1d7c20", + "emulator": "f8d6e0586b0a20c7" + } + }, + "NonFungibleToken": { + "source": "./contracts/imports/NonFungibleToken.cdc", + "aliases": { + "mainnet": "1d7e57aa55817448", + "testnet": "631e88ae7f1d7c20", + "emulator": "f8d6e0586b0a20c7" + } + }, + "ViewResolver": { + "source": "./contracts/imports/ViewResolver.cdc", + "aliases": { + "mainnet": "1d7e57aa55817448", + "testnet": "631e88ae7f1d7c20", + "emulator": "f8d6e0586b0a20c7" + } + }, + "PDS": { + "source": "./contracts/PDS.cdc", + "aliases": { + "mainnet": "b6f2481eba4df97b", + "testnet": "18ddf0823a55a0ee" + } + }, + "IPackNFT": { + "source": "./contracts/IPackNFT.cdc", + "aliases": { + "mainnet": "18ddf0823a55a0ee", + "testnet": "a2526e2d9cc7f0d2" + } + }, + "PackNFT": { + "source": "./contracts/PackNFT.cdc", + "aliases": { + "mainnet": "edf9df96c92f4595", + "testnet": "a2526e2d9cc7f0d2" + } + }, + "ExampleNFT": { + "source": "./contracts/imports/ExampleNFT.cdc", + "aliases": { + } + } + }, + "networks": { + "emulator": "127.0.0.1:3569", + "mainnet": "access.mainnet.nodes.onflow.org:9000", + "sandboxnet": "access.sandboxnet.nodes.onflow.org:9000", + "testnet": "access.devnet.nodes.onflow.org:9000" + }, + "accounts": { + "emulator-account": { + "address": "f8d6e0586b0a20c7", + "key": "e61daee1414c57a52a1f7120e89daaf71ce3e16f396273e08142313fc4eea1d7" + } + }, + "deployments": { + "emulator": { + "emulator-account": [ + "IPackNFT", + { + "name": "PDS", + "args": [ + {"type": "Path","value": {"domain": "storage", "identifier": "PackIssuer"}}, + {"type": "Path","value": {"domain": "public", "identifier": "PackIssuer"}}, + {"type": "Path","value": {"domain": "storage", "identifier": "DistCreator"}}, + {"type": "Path","value": {"domain": "storage", "identifier": "DistManager"}}, + {"type": "String","value": "0.1"} + ] + }, + { + "name": "PackNFT", + "args": [ + {"type": "Path","value": {"domain": "storage", "identifier": "PackNFT"}}, + {"type": "Path","value": {"domain": "public", "identifier": "PackNFT"}}, + {"type": "Path","value": {"domain": "public", "identifier": "IPackNFT"}}, + {"type": "Path","value": {"domain": "storage", "identifier": "PackNFTOperator"}}, + {"type": "String","value": "0.1"} + ] + } + ] + } + } +} \ No newline at end of file diff --git a/pds/lib/go/contracts/contracts.go b/pds/lib/go/contracts/contracts.go index 7426254..cd56ba8 100644 --- a/pds/lib/go/contracts/contracts.go +++ b/pds/lib/go/contracts/contracts.go @@ -5,18 +5,19 @@ package contracts import ( //"regexp" - _ "github.com/kevinburke/go-bindata" "regexp" + _ "github.com/kevinburke/go-bindata" + "github.com/dapperlabs/studio-platform-smart-contracts/lib/go/contracts/internal/assets" "github.com/onflow/flow-go-sdk" ) var ( - placeholderNonFungibleToken = regexp.MustCompile(`{{.NonFungibleToken}}`) - placeholderFungibleToken = regexp.MustCompile(`{{.FungibleToken}}`) - placeholderIPackNFT = regexp.MustCompile(`{{.IPackNFT}}`) - placeholderMetadataViews = regexp.MustCompile(`{{.MetadataViews}}`) + placeholderNonFungibleToken = regexp.MustCompile(`"NonFungibleToken"`) + placeholderFungibleToken = regexp.MustCompile(`"FungibleToken"`) + placeholderIPackNFT = regexp.MustCompile(`"IPackNFT"`) + placeholderMetadataViews = regexp.MustCompile(`"MetadataViews"`) placeholderRoyaltyAddress = regexp.MustCompile(`{{.RoyaltyAddress}}`) ) @@ -31,21 +32,20 @@ const ( // // The returned contract will import the NonFungibleToken contract from the specified address. func IPackNFT(nftAddress flow.Address) []byte { - code := assets.MustAssetString(filenameIPackNFT) - - code = placeholderNonFungibleToken.ReplaceAllString(code, nftAddress.String()) + code := string(assets.MustAsset(filenameIPackNFT)) + code = placeholderNonFungibleToken.ReplaceAllString(code, "0x"+nftAddress.String()) return []byte(code) } // PackNFT returns the PackNFT contract. // // The returned contract will import the NonFungibleToken contract from the specified address. -func PackNFT(nftAddress, iPackNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenamePackNFT) - - code = placeholderNonFungibleToken.ReplaceAllString(code, nftAddress.String()) - code = placeholderIPackNFT.ReplaceAllString(code, iPackNFTAddress.String()) +func PackNFT(nftAddress, iPackNFTAddress, metaDataViewAddress flow.Address) []byte { + code := string(assets.MustAsset(filenamePackNFT)) + code = placeholderNonFungibleToken.ReplaceAllString(code, "0x"+nftAddress.String()) + code = placeholderIPackNFT.ReplaceAllString(code, "0x"+iPackNFTAddress.String()) + code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metaDataViewAddress.String()) return []byte(code) } @@ -54,13 +54,13 @@ func PackNFT(nftAddress, iPackNFTAddress flow.Address) []byte { // // The returned contract will import the NonFungibleToken contract from the specified address. func AllDayPackNFT(nftAddress, ftAddress, iPackNFTAddress, metaDataViewAddress, packNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenameAllDayPackNFT) + code := string(assets.MustAsset(filenameAllDayPackNFT)) - code = placeholderNonFungibleToken.ReplaceAllString(code, nftAddress.String()) - code = placeholderIPackNFT.ReplaceAllString(code, iPackNFTAddress.String()) - code = placeholderFungibleToken.ReplaceAllString(code, ftAddress.String()) - code = placeholderMetadataViews.ReplaceAllString(code, metaDataViewAddress.String()) - code = placeholderRoyaltyAddress.ReplaceAllString(code, packNFTAddress.String()) + code = placeholderNonFungibleToken.ReplaceAllString(code, "0x"+nftAddress.String()) + code = placeholderIPackNFT.ReplaceAllString(code, "0x"+iPackNFTAddress.String()) + code = placeholderFungibleToken.ReplaceAllString(code, "0x"+ftAddress.String()) + code = placeholderMetadataViews.ReplaceAllString(code, "0x"+metaDataViewAddress.String()) + code = placeholderRoyaltyAddress.ReplaceAllString(code, "0x"+packNFTAddress.String()) return []byte(code) } @@ -69,10 +69,10 @@ func AllDayPackNFT(nftAddress, ftAddress, iPackNFTAddress, metaDataViewAddress, // // The returned contract will import the PDS contract from the specified address. func PDS(nftAddress, iPackNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenamePDS) + code := string(assets.MustAsset(filenamePDS)) - code = placeholderNonFungibleToken.ReplaceAllString(code, nftAddress.String()) - code = placeholderIPackNFT.ReplaceAllString(code, iPackNFTAddress.String()) + code = placeholderNonFungibleToken.ReplaceAllString(code, "0x"+nftAddress.String()) + code = placeholderIPackNFT.ReplaceAllString(code, "0x"+iPackNFTAddress.String()) return []byte(code) } diff --git a/pds/lib/go/contracts/contracts_test.go b/pds/lib/go/contracts/contracts_test.go index 437081d..95cc62e 100644 --- a/pds/lib/go/contracts/contracts_test.go +++ b/pds/lib/go/contracts/contracts_test.go @@ -13,26 +13,33 @@ import ( const addrA = "0x0A" func TestNonFungibleTokenContract(t *testing.T) { - contract := contracts.NonFungibleToken() + addresses := test.AddressGenerator() + addressA := addresses.New() + contract := contracts.NonFungibleToken(addressA.String()) assert.NotNil(t, contract) + assert.Contains(t, string(contract), addressA.String()) } func TestExampleNFTContract(t *testing.T) { addresses := test.AddressGenerator() addressA := addresses.New() addressB := addresses.New() + addressC := addresses.New() - contract := contracts.ExampleNFT(addressA, addressB) + contract := contracts.ExampleNFT(addressA, addressB, addressC) assert.NotNil(t, contract) assert.Contains(t, string(contract), addressA.String()) assert.Contains(t, string(contract), addressB.String()) + assert.Contains(t, string(contract), addressC.String()) } func TestMetadataViewsContract(t *testing.T) { addresses := test.AddressGenerator() addressA := addresses.New() addressB := addresses.New() - contract := contracts.MetadataViews(addressA, addressB) + addressC := addresses.New() + + contract := contracts.MetadataViews(addressA.String(), addressB.String(), addressC.String()) assert.NotNil(t, contract) } diff --git a/pds/lib/go/contracts/internal/assets/assets.go b/pds/lib/go/contracts/internal/assets/assets.go index 28d5c0e..c3d32e6 100644 --- a/pds/lib/go/contracts/internal/assets/assets.go +++ b/pds/lib/go/contracts/internal/assets/assets.go @@ -1,18 +1,18 @@ -// Code generated by go-bindata. DO NOT EDIT. +// Code generated for package assets by go-bindata DO NOT EDIT. (@generated) // sources: -// IPackNFT.cdc (3.686kB) -// PDS.cdc (12.39kB) -// PackNFT.cdc (9.897kB) -// PackNFT_AllDay.cdc (15.768kB) - +// ../../../contracts/IPackNFT.cdc +// ../../../contracts/PDS.cdc +// ../../../contracts/PackNFT.cdc +// ../../../contracts/PackNFT_AllDay.cdc +// ../../../contracts/PackNFT_TopShot.cdc package assets import ( "bytes" "compress/gzip" - "crypto/sha256" "fmt" "io" + "io/ioutil" "os" "path/filepath" "strings" @@ -22,28 +22,26 @@ import ( func bindataRead(data, name string) ([]byte, error) { gz, err := gzip.NewReader(strings.NewReader(data)) if err != nil { - return nil, fmt.Errorf("read %q: %w", name, err) + return nil, fmt.Errorf("Read %q: %v", name, err) } var buf bytes.Buffer _, err = io.Copy(&buf, gz) + clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %w", name, err) + return nil, fmt.Errorf("Read %q: %v", name, err) } - - clErr := gz.Close() if clErr != nil { - return nil, clErr + return nil, err } return buf.Bytes(), nil } type asset struct { - bytes []byte - info os.FileInfo - digest [sha256.Size]byte + bytes []byte + info os.FileInfo } type bindataFileInfo struct { @@ -53,26 +51,37 @@ type bindataFileInfo struct { modTime time.Time } +// Name return file name func (fi bindataFileInfo) Name() string { return fi.name } + +// Size return file size func (fi bindataFileInfo) Size() int64 { return fi.size } + +// Mode return file mode func (fi bindataFileInfo) Mode() os.FileMode { return fi.mode } + +// Mode return file modify time func (fi bindataFileInfo) ModTime() time.Time { return fi.modTime } + +// IsDir return file whether a directory func (fi bindataFileInfo) IsDir() bool { - return false + return fi.mode&os.ModeDir != 0 } + +// Sys return file is sys mode func (fi bindataFileInfo) Sys() interface{} { return nil } -var _ipacknftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x56\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\x4c\xf7\xd0\x4a\x80\x91\xed\xa1\x28\x0a\x01\x8b\xb6\x9b\xd4\xa8\x2f\x4e\x90\xa8\xa7\xc5\x1e\x28\x6a\x64\x11\x2b\x91\x2a\x39\x72\x36\xf0\xfa\xbf\x17\x94\x44\x89\xfa\xb0\x9d\xed\x02\xbd\x34\x97\x58\xfc\x78\xef\xcd\x9b\x21\x39\xa2\xac\x94\x26\xb8\xd5\x2f\x15\xa9\x55\xf7\xb5\x53\x72\x53\xcb\xbd\x48\x0a\x8c\xd5\x27\x94\x90\x69\x55\xc2\x8f\x9f\x8f\xc7\x9b\xe9\xd4\xe9\xb4\x5a\xad\xaa\x3a\x01\xae\x24\x69\xc6\x09\x84\x24\xd4\x19\xe3\x08\xdb\x07\xc6\x3f\xed\x36\xf1\x71\x05\x00\xf0\xf6\xed\x5b\x78\x22\xa5\xd9\x1e\x1f\x18\xe5\x90\x29\x0d\xb7\xaa\x28\x90\x93\x50\x12\x1e\xd1\xa8\x5a\x73\x74\x6b\x9b\xff\x16\xb8\x40\xf2\xd6\x79\x08\x91\x0f\xd7\x53\x3c\xd4\x49\x21\x78\xc3\x80\x9f\x2b\xe4\x84\x69\x43\x95\x62\xa5\x8c\xa0\x2b\xf0\xc3\xee\xc8\x43\x5a\x02\xb7\x98\x1a\x39\x8a\x83\x90\x7b\xe8\x22\xbd\x82\xee\x0c\xb9\xc2\x32\x75\x89\x72\x74\x04\x70\x5f\xa1\x66\xa4\x74\xef\x17\x04\xc2\x98\x1a\x35\xa8\x67\x69\x80\x72\x61\xc2\x45\x15\x6e\xe3\x75\x03\xb5\x38\x30\x6a\xd9\x49\x81\xc9\x99\x46\xd8\xf6\xbc\x7d\x7a\x0d\x3c\x0b\xca\x07\x41\x01\xbd\x54\x82\xb3\xa2\x78\x69\x27\x1e\xee\x9e\x80\x71\xae\x6a\x49\x97\x15\x59\xc2\xce\x8b\x81\xba\x97\xf3\x88\x7f\xd7\x68\xa8\x31\xe2\x11\x0f\xc8\x8a\x19\x18\x1e\x50\x52\x37\xd9\x2d\x0f\x44\x1a\xc1\x5f\x5b\x49\x3f\xff\xb4\x06\x55\xa1\xec\xc6\x23\x78\xaf\x54\x11\x2e\xa2\xdf\x57\x28\x47\xd8\x76\x41\x9c\x0b\x03\xc2\x00\x96\x82\x6c\x29\x3d\xe7\x28\xad\xd5\xd6\xf0\x0c\x58\x9f\x17\xed\x01\xd9\x7c\xa1\x24\x41\x05\xa6\x60\x27\x49\x41\xd2\x17\xb6\xab\x44\x4c\xed\xb8\x20\xe3\x5c\x9a\xc4\x73\x3f\xa8\xf6\xa2\x19\xa4\xbf\xaf\xb5\xc4\x74\x26\xf8\x0f\x5f\xe8\xa0\x2f\x67\x06\x12\x44\x09\xc9\xb0\x6d\xe0\x6a\xb1\x3c\x1a\x18\x78\xac\x8e\xeb\x3c\xd5\x94\x47\x0d\xdb\xc6\x31\x8d\x78\xc2\xd5\xb0\x42\xd6\x25\x3c\x11\xa3\xda\xb4\xb3\xbf\x40\x7b\x71\xb8\x05\x9c\x19\x84\x27\x64\x45\x07\x3b\x1a\x6f\xb3\xbf\x34\xe3\xe9\x3f\x0d\x6c\x86\x74\x3d\xba\xac\xdc\x29\x4d\x0a\x9c\xf0\xda\x5a\x65\x69\xaa\xd1\x98\x08\x7e\x6f\x7f\xcc\x16\xb8\xeb\x6f\xc7\x4a\xb4\xe7\x4a\x0b\xb9\x9f\x2d\x1a\xe2\x1e\x4d\x65\xb5\xb4\xbe\xe5\xed\xae\x20\x9c\xed\x17\x52\x50\x30\x95\xb0\x5e\xe4\x5c\xc3\xb4\x56\xbc\xa0\xb5\xbb\x33\x26\x77\xf4\x42\xc0\xed\xa5\xb2\x1c\xef\x81\x69\x30\x5d\xa2\xda\x84\xad\x66\xf1\x1c\x50\x8b\xec\x25\x90\x19\xb5\xba\x9c\xbe\xb0\x3d\x81\xc3\x06\xc6\x39\x1a\x13\xb8\x58\xc2\x66\xb7\x6e\xb2\x39\x3a\xc4\x32\x23\x13\xc1\x87\xa3\xbb\x43\x6f\xbc\x84\x9d\x3e\xae\xc1\xb0\x82\x7a\x92\xcb\xe8\xb6\x34\xbf\x02\x3b\x1c\xe7\x81\xab\xb2\x14\xf4\x27\x33\xb9\xe7\xf9\xd8\xad\x57\x19\xdf\x5f\x9c\xc7\x99\x79\xa5\x90\x14\xa4\xc2\xd0\xd6\x13\xf9\x1a\xde\x08\x7e\x73\xaf\x90\x8f\x77\xc1\xce\x57\xb9\xe8\x70\xfe\x95\x71\xa7\xb9\x0b\xdd\x6a\xe7\x40\xf4\x7f\x32\xe3\xea\x61\xdc\x6d\xe2\xb6\xe9\x5a\x38\x94\xcb\xf7\xc7\xb9\xf3\xba\x44\xb6\xdb\xc4\xd1\xac\xbf\xbb\xd9\xee\x36\xf1\x7a\x4c\x3f\x7c\xde\xdb\xd7\xce\x25\xe8\x9b\x45\x2d\xa4\xe2\xcc\xfb\x3c\x33\x3b\x04\xaf\xa0\x5e\xe3\xe3\x05\xe5\xff\x05\xfd\xb4\xad\x5c\x28\xee\xae\x17\x08\xc8\x5a\x6e\x0b\x76\x9a\x99\xdd\x26\x9e\xcb\xd9\x23\x6d\xef\x8c\x7d\x28\x3e\xb4\xce\x7f\x9c\x2d\x49\x94\xd6\xea\x79\xb7\x89\xfd\xc7\x36\x82\xef\x97\x08\xce\x6c\xee\xa2\x98\x00\xf4\xd5\xbd\xdb\xc4\xbf\x7a\x11\x41\xd3\x17\xc0\x36\x6b\xda\x1f\x8d\xa6\x2e\x6c\x01\xc8\x1f\x08\xa4\x28\xd6\xcd\xa8\x48\x6d\xd3\xd4\xce\x53\xd3\x72\x80\xc6\x0c\x35\xca\xae\xef\xf7\x80\x4c\xae\xea\x22\x85\x04\x9b\xf5\x86\x95\x08\xcc\x34\xbf\x99\xde\xd7\xa5\xed\x26\x48\x35\xdf\x59\x2d\x1b\x93\x47\x08\x95\x32\x34\x51\x67\xff\x82\x4e\xd8\xbb\x77\x56\x55\x08\x5f\xbe\xb8\xa1\xef\x6e\x44\x6a\x87\x45\x1a\x46\xb3\x6d\xf6\xef\xcd\x2d\x93\x52\x51\x67\x8e\xd7\xf8\x75\x01\x44\x10\xe7\x08\xdb\xbb\xf3\x21\xda\x3e\x52\x48\xae\xb4\x46\x4e\x6f\x46\x24\xa7\xd5\xf8\x57\x77\x74\x2f\x3c\x8e\x5f\xd1\xe8\x9e\x7d\x04\xcf\xb5\x97\xae\x0e\xaa\xa6\x6c\x1f\xbf\xf1\x31\x86\xd5\xe9\x9f\x00\x00\x00\xff\xff\x03\xd5\xb8\xec\x66\x0e\x00\x00" +var _ipacknftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x57\x4d\x6f\xf3\x36\x0c\xbe\xe7\x57\x10\xef\x29\x01\x82\x76\x03\x86\x61\xf0\x69\x7b\xb3\x16\xcb\x25\x29\xda\xbc\xa7\x61\x07\xc5\xa2\x63\xa1\x32\xe5\x49\x74\xba\xa2\xcb\x7f\x1f\xe4\x8f\x58\x8e\xed\x7c\xac\xdb\xa9\xb5\x4d\xf2\x21\x1f\x3e\xa2\x18\x95\xe5\xc6\x32\x2c\xec\x7b\xce\x66\x52\x3f\xad\x0c\x3d\x16\xb4\x53\x5b\x8d\x1b\xf3\x8a\x04\x89\x35\x19\x7c\x39\x7d\xfd\x65\x32\xb9\xbf\xbf\x87\x85\x21\xb6\x22\x66\x50\xc4\x68\x13\x11\x23\x24\xc6\xc2\x93\x88\x5f\x57\x8f\x1b\x88\xeb\xcf\xee\xce\x5b\x4f\x44\x1c\xa3\x73\x53\xa1\xf5\xec\xf8\x29\xf0\x5c\xd6\x6e\x1f\x93\x09\x00\x80\x8f\xff\x40\xac\x58\x63\x86\xc4\xc0\x06\x72\xb4\x89\xb1\x19\x98\x1c\xad\x60\x65\xc8\x81\x21\xe0\x14\x1b\xc4\xc6\xb1\xfc\x1b\xc2\x61\x10\x68\x5d\x7a\x63\x8b\xf2\xc2\xc6\x8a\x1d\x3e\x09\x4e\xcb\xf4\x17\x46\x6b\x8c\x7d\x7c\x78\x46\x67\x0a\x1b\xe3\x68\x60\x8d\x1c\xd8\x07\x91\xa2\x30\x6c\x8b\xf5\x54\x6c\xb5\x8a\x4b\x28\xfc\x2b\xc7\x98\x51\x96\x98\x12\x73\xe3\x14\x5f\x89\xd3\x46\x89\x82\x88\x83\x28\x3e\xb8\xc5\x18\xd5\x5e\xd1\xee\x22\x4f\x5d\x98\xa6\x23\x97\xe0\x4e\x09\x0c\x3a\x52\xb3\x6d\xec\x91\x4a\x98\x2a\xe7\x0a\xb4\x60\xde\xc8\x01\xa7\xca\xcd\xce\xa6\xd3\x04\xb8\xcc\xed\x33\xfe\x59\xa0\xe3\x32\x85\x67\xdc\xa3\xd0\xe3\x7a\xd8\x7b\x25\x54\x46\xb5\xdb\x54\xc9\x08\xbe\x2d\x89\x7f\xfc\x61\xee\x15\x46\xf5\xfb\x08\xbe\x1a\xa3\x67\xc3\x30\xeb\x1c\xa9\x03\xe2\x0d\x36\xa9\x72\xa0\x1c\x60\xa6\xd8\xf7\xf7\x2d\x45\xf2\xd5\xfa\x9a\x13\x10\x47\x6a\x6c\x10\xc8\x53\x56\x8b\x54\x82\xff\xc8\x06\xb6\x47\xd9\x35\xf2\x40\xe9\xdf\x2b\x76\xbe\x18\x53\x10\x8f\x14\xb6\x6e\xd3\x0f\xca\x0a\x6a\xf8\x5a\x58\x42\xd9\xcb\xfc\x21\xcc\xb8\x4d\x34\x15\x0e\xb6\x88\x04\xdb\xd6\xad\x0f\x5a\xc5\x0c\xf0\x20\x00\xf4\x19\x5d\x06\xcc\x4f\x01\x4d\xeb\x36\x5c\x65\x07\xf0\x88\x07\x9b\xf5\xaf\xeb\x08\x16\x1a\x05\x41\x91\x83\x48\x18\x2d\x20\x15\x19\xa4\x82\xa4\x56\xb4\xbb\xb7\x98\x99\xbd\xd0\xbe\x51\xb1\x16\x56\x25\x0a\xe5\x5d\xe3\xff\x40\x45\xe6\x20\x16\x44\x86\x61\x8b\x20\xd1\xdb\xa0\x04\x41\xef\x99\xb1\x08\x8a\xda\xc9\xe5\xfc\xd3\x42\x48\xa4\x18\xe1\xfb\xbb\xef\x9a\x20\xdd\x01\x54\x64\xf0\xc2\x82\x0b\x57\x65\xfb\x13\x7c\x34\x76\xa7\xd5\xc5\xc2\x21\xbc\xa0\xd0\x47\xc2\x86\x4d\x2a\xf9\x5e\x30\xea\x10\x0f\x87\xf0\xd0\xda\xa2\x37\xb9\x9b\xb3\xbf\xd5\xe3\x23\xcf\x9d\x3a\x06\x4e\x75\x51\x43\xe7\x58\x48\x69\xd1\xb9\x08\x7e\xa9\xfe\x19\x35\x6c\xae\x86\x95\xc8\xd0\x9f\x74\xab\x68\x37\x6a\xdc\x36\x7f\xd0\x24\x29\xc8\x8b\x29\xad\xa2\x4c\x67\xbd\x78\x7b\x85\x6f\xa0\x48\xf1\xf4\x34\xbf\xf9\x60\x22\x73\x08\xe5\xe6\x23\x1c\xc2\xc9\x50\x8f\xb8\xc1\xeb\x70\x94\x50\xdb\x77\x2b\x27\xef\x19\x32\xab\x11\xda\xe7\xf2\x44\x75\x7b\x61\xc1\xd5\xa2\xab\xc4\x37\x19\xa5\x69\x8f\x56\x25\xef\x53\x4a\xb8\xaa\xb4\xa9\x78\x56\x0d\xc0\x9e\x63\xc3\x4e\xe5\x6d\x4b\x2d\x76\x66\x28\x25\xec\x22\xf8\xfd\xa3\xb9\x45\xee\x02\x9d\x1c\xfe\x98\x83\x13\x9a\x8f\x20\xe7\xa3\xfb\x31\x70\x43\xec\xd9\x40\x7b\x63\x93\x65\x8a\x7f\x13\x2e\x0d\x5a\xd9\x65\xf1\xda\x7e\x2e\x9b\x2b\xe9\xa6\x8e\x1e\x2f\xc2\x5e\x57\xeb\x85\xa4\x2a\x35\x53\xc4\x53\xa9\x1c\x2f\x83\x72\xaf\x49\x3e\x82\x9f\x5b\x3a\x56\x8f\x9b\xc3\x59\x98\x33\xfd\xba\xa5\x4d\x9d\x98\xff\xaa\x4b\x47\xba\x61\x49\xb1\x2e\x64\xbd\x0f\x6d\x45\xfc\xfa\x26\xac\x74\xbe\xf6\x5c\xb0\xda\x2a\xad\xf8\xfd\x1a\xa6\x6b\xb0\x86\xef\x28\xa4\xfe\x8a\xe6\xd6\xee\xe5\x9a\x7b\xf3\x91\x6d\x1c\xcf\x1d\xdd\xf3\x13\x6b\xec\x74\x5f\xce\xfc\xc6\x11\xb3\x7a\xdc\x44\xbd\x75\xdf\x0b\x67\xde\x2d\xa5\x7d\x5c\xfb\x15\x66\x5c\xc6\x9f\xad\x30\xb0\xeb\xa5\xf5\x2d\x97\x82\x11\xfe\xee\x27\x5c\x26\xd5\xd1\xf4\xc0\xee\xf6\x9f\x84\x2f\xe5\xfd\x7f\x89\x76\x90\xe3\x8f\xc3\x2d\xae\xa7\x3f\x0f\x3a\x6a\xf7\x8b\x16\x88\xee\xc6\x5b\xaf\x51\x6c\xc0\xa9\x1d\x09\x0d\xa2\xde\x3a\xca\x23\x54\x6e\xa1\x2e\x35\x85\x96\x7e\x03\xb2\xdd\x65\xa3\x23\xb1\xa1\xab\xe0\xd6\xad\xba\x4a\x90\xc2\xd5\x75\x20\xbf\x66\xe5\x19\xca\xd0\xf4\x57\xcc\xd1\xcb\xe4\xec\x72\x5c\x81\xf4\xd9\x18\x3d\x5d\x3e\x6a\x5e\x72\xfe\xfc\xd9\x6b\xf0\xf0\x4f\x00\x00\x00\xff\xff\x4a\x2f\x1a\xcf\x96\x0f\x00\x00" func ipacknftCdcBytes() ([]byte, error) { return bindataRead( @@ -88,11 +97,11 @@ func ipacknftCdc() (*asset, error) { } info := bindataFileInfo{name: "IPackNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x74, 0xf6, 0xd6, 0xdf, 0x99, 0x3d, 0x48, 0x32, 0xed, 0x70, 0x57, 0xdd, 0x5e, 0xb5, 0xf1, 0xbe, 0xff, 0xd2, 0x3, 0xc0, 0x9a, 0xc3, 0x9f, 0x6d, 0xfc, 0x78, 0x49, 0x46, 0xed, 0x92, 0xa6, 0xe4}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _pdsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5a\xdf\x6f\xe3\xb8\xf1\x7f\xcf\x5f\x31\xf1\xc3\x42\xc6\xd7\x51\x92\xfd\xb6\xd7\x85\x10\xef\xee\x21\xb9\x45\x8d\xa2\xb9\xe0\x92\xed\x4b\x90\x07\x5a\xa4\x6d\x62\x65\x52\x20\x69\x27\xa9\xa1\xff\xbd\xa0\x28\x4a\xa4\x48\xd9\x49\x76\xdb\xbb\x02\xcd\x83\x63\x8b\x33\xc3\xf9\xc1\x19\x0e\x3f\x22\x5d\x97\x5c\x28\xb8\xe6\xec\xcb\x86\x2d\xe9\xbc\x20\x77\xfc\x1b\x61\xb0\x10\x7c\x0d\x67\x4f\xbb\x5d\xda\x1f\xaa\xaa\xa3\x86\x69\x76\x83\xf2\x6f\xd7\x5f\xee\x1c\x62\xfb\xa8\xaa\x8e\x8e\xca\xcd\x1c\x72\xce\x94\x40\xb9\x82\x9b\xab\xdb\xdd\x11\x00\xc0\xe9\xe9\x29\xdc\xad\x08\xe4\xbc\x28\x48\xae\x28\x67\xa0\x38\xac\x78\x81\x01\x15\x05\x10\x99\x0b\xfe\x48\x30\x5c\x7f\xb9\x6b\xe9\x7f\x15\x74\x49\x19\x2a\x5c\xa6\x5c\x10\xa4\x08\x36\x73\x37\xb3\xd6\x0c\x7a\xda\x2d\x12\xb0\x25\x42\x52\xce\x32\xb8\x55\x82\xb2\x65\x3b\x56\x10\x55\xd3\xcf\xa4\xdc\x10\x71\xab\xb8\x40\x4b\x72\x83\xd4\x4a\x53\xb6\x3f\x06\xc8\x2f\x51\xf9\x1b\xc9\xb7\x19\xdc\x6c\xe6\x05\xcd\x03\xca\x2b\x2a\xd5\xa5\xd6\x8c\xbf\x4c\xb2\x43\x7f\x23\xe8\xd6\x10\xeb\x6f\x48\xc5\x89\xff\x8e\x18\x5a\xee\x51\xdb\x73\x01\x23\x4f\x4a\x33\xcd\x70\x06\x5f\x67\x4c\xfd\xf4\xa7\x7a\x18\xe5\x39\x91\x32\xb1\xb1\x19\xb7\xc2\x05\x9d\x6f\xb4\x73\x65\x06\x3b\x43\x9f\xd5\xcf\x67\x6c\xc1\xab\xfd\xac\xb7\x2b\x24\x08\xbe\x44\x65\x06\x9f\x5b\xde\xf6\x21\x9a\xd3\x82\x2a\x4a\x64\x75\xd4\x06\xd5\x38\x14\x56\x48\xb6\xb1\x44\x80\x1d\x2d\x5a\x53\xc8\x96\x30\x5f\xc1\x4b\xc3\x90\xf8\xc6\x4d\x40\x51\x55\x10\x1b\xf1\x09\xac\x89\x42\x18\x29\x94\xc1\xce\x3c\xb2\x43\xd5\x04\xa4\x42\x8a\x18\xce\x0f\xe3\x4e\x2b\x77\x16\x58\x1b\x67\xd7\x3a\x6e\x4a\x1c\xd1\xd1\x88\xd9\xa3\xe9\xad\x1e\xff\x6a\x78\x03\x75\x23\x3a\xd4\x52\xd8\x66\x6d\x9c\xea\x8c\x83\x49\x1f\x4b\x93\x23\x49\x60\xc6\xa8\xa2\xa8\xa0\xff\x24\x38\x36\xb8\x45\x05\x8d\x0c\x5c\xf2\x75\x59\x90\x46\xeb\xaa\x9b\x56\x2a\xb1\xc9\x55\x1b\xf0\xde\x84\x3a\xd0\x9e\x7b\x83\xd1\x61\x6f\x7b\xa4\x7a\x61\x36\x86\xdf\x5c\xdd\xa6\xad\x9d\x47\x1e\xd5\x62\xc3\x40\x12\x33\x92\x30\xf2\x78\x1b\xe1\x18\x3b\x2a\xea\x3f\x49\x8a\x45\x5a\x8b\x86\x29\x58\x9e\x96\xa2\xea\x26\xa0\x8c\xaa\xe4\xc5\x6b\x25\x3a\x4d\xcd\x0d\x53\xe3\x92\x70\xd8\x4a\x83\x69\x2b\x78\x58\x55\xcf\xa8\x34\x16\xd4\xca\xc6\xaa\x1f\xac\xcb\xa6\x20\xce\xb5\x29\xb6\xf8\xa6\xce\xd3\x48\x14\x11\xc6\x82\x48\x99\xc1\xcf\xe6\x4b\x40\x60\xb3\xfb\x1a\xad\x87\xa3\x4d\xbb\x9a\xd2\x8e\x9d\x9e\x82\x20\x6a\x23\x18\x65\x4b\xa0\x3a\x39\x34\x2b\x48\x0e\x6a\x85\x14\x50\x05\x54\xc2\x9a\x0b\x02\x82\x20\x8c\xb4\x7a\x88\x61\x40\xec\x99\x33\x02\x39\x62\x90\xaf\x48\xfe\x0d\xd4\x8a\xe8\x9c\x5b\x05\x2b\x42\x3f\x34\xfa\x24\x63\xab\x59\x2f\x3a\xa7\xa7\xd6\x40\x3b\x3d\x95\x70\xfe\x13\xe4\x2b\xa4\x6d\x22\x42\x42\xc1\xd9\x12\x1e\xa9\x5a\xc1\xd9\x13\x20\x09\xa5\x20\x0b\xfa\x04\xc9\x82\x0b\xf8\x00\xf3\x67\x45\xa4\xd6\x7e\x45\x9e\xc6\x7d\xd1\xe4\x09\xe9\xe4\xc9\x60\xb2\xf8\xff\x45\x8e\xdf\xe7\xe7\xe8\x2f\x1f\x16\x7f\x26\x24\xfd\xc5\x8c\x68\xf7\x9f\xbf\xf7\xd8\x6a\x97\xc2\x14\x46\x3f\xa7\x23\x6f\x40\x67\x82\x5e\x21\xa3\x51\x40\xaf\x4d\xb8\x55\x02\xa6\x66\xa5\x34\x16\xa5\x8a\x5b\xeb\x3d\x0e\xba\xb0\x0c\x69\x41\xd8\x52\xad\xe0\x02\xce\x3f\xf4\x1c\x63\x45\x97\x08\x63\xed\x96\xa9\x26\x39\xe9\x31\xc6\x39\xb4\x8e\x67\xa3\x60\x4c\xeb\x4f\x61\x0a\x67\xc1\x88\xb6\xca\x0a\x96\x05\xcd\x49\xa2\xb7\xe9\x0c\xde\x4f\x60\x53\xde\xf1\xac\x37\xeb\x38\x10\xf0\xb8\xa2\x05\x01\x0a\x17\xad\xba\xa1\x31\x76\xa2\x32\xcd\x39\xcb\x91\x4a\x50\x28\xa7\xf6\x0e\x4c\x81\xc2\xff\xc1\x79\x30\x5a\x79\x4f\x2a\x20\x85\x24\x91\x89\x0e\x5a\x73\xfe\xc1\x9f\xb9\x0a\xc2\x2c\xeb\x58\xe6\x9d\xa6\xf6\xdb\x28\x1d\xb5\xdf\xeb\x50\xbb\xc9\x37\x4c\x45\xb1\xb3\x16\xfc\xc9\x4d\x06\xea\x19\x8f\x42\x7d\xea\xca\xd7\x2f\x00\x93\x68\xc6\x4f\x9c\x14\x8f\x96\x40\x9b\x66\x53\x9b\x70\x21\x89\x2b\x57\xdb\xef\xfc\x0c\x89\x29\xd6\x81\x8a\x14\x3d\x68\x2a\x80\x20\x92\x6f\x44\x4e\x22\x7d\x85\xa3\x5f\xd3\xa2\x68\x91\xa6\x3d\xd1\x99\x8e\x05\x7a\xac\x9b\x93\x96\xe9\xf9\xe2\xdd\xae\xdf\xda\xa6\x37\x82\x6f\x29\x26\xa2\xfa\x38\x2c\x8e\x97\x44\xe8\x7e\x2d\x14\xd7\xd6\xdf\xd9\xaf\x0d\x4d\xf5\x31\xdc\xd5\xac\x3a\x5f\x04\x5f\x9b\x1e\x28\xb1\x8f\x66\x57\xad\xc3\x33\xf8\x1c\x68\xa7\x5b\xed\x5d\xb4\xb4\xd4\xfe\x73\xec\x4c\xe7\x5c\x08\xfe\x98\x8c\xe1\xd3\x27\x28\x11\xa3\x79\x32\x62\x1c\xe4\x26\x5f\x41\x8e\xca\x51\x74\xc5\x5c\x9c\x40\xde\x0a\xf1\x74\xea\xbe\x8f\x63\xdb\xa9\xb5\x6c\x4d\x99\x6a\x5c\x90\xe0\x5e\xab\x93\xf3\xf5\x9a\xaa\xbf\x22\xb9\x22\x32\x83\x7b\xb3\xc4\x1e\x26\x40\x6b\x0f\x38\x4b\x51\x90\x7c\x5b\xbb\x36\x12\x9e\xcb\xb6\xfd\x37\xed\x77\x05\xe3\x5d\x90\x6a\x61\x45\xf2\xbc\xe4\x84\xef\x75\x5e\xea\x4a\x92\x6b\x4b\x53\xc1\xe2\xa5\x96\x2d\x94\xf1\xaa\xf6\x4c\xeb\x12\xf3\xdf\x75\x49\xe6\x89\xbc\xa7\x8e\x5f\xcc\xff\xb0\xb0\x0d\x17\xb5\x7a\x62\x3d\xad\x9e\x1d\xc9\xe3\xf8\x42\x0a\xd8\x1a\xbf\xa7\x98\x94\x5c\xea\xf6\x48\x53\x66\xb5\x9c\xa1\xe2\x16\x59\x02\x82\x6c\x09\x2a\xec\x22\x28\xf5\xb9\xc9\x59\x04\x6c\xa1\x74\xf0\x77\xb1\x46\xa5\x7a\x98\x80\x44\x85\xb2\xe5\xa7\x5f\x72\x7e\x4c\x10\xf3\xd4\x68\x98\xe8\xda\x66\xd4\xb3\x6a\xe9\x4f\xab\x82\xfe\xdc\xbb\xd4\x79\x49\xd8\x5b\xad\x7c\xd5\x0a\x9f\x38\x67\x5e\x5b\x9d\x82\x53\xe2\xbf\xc7\x57\x75\xc7\xcf\x7f\x23\x05\x41\x52\xf7\x35\xda\x28\x63\xe3\x03\x4c\xe1\xfe\xe1\x05\x99\xd7\xe5\x8c\x76\x8a\x6d\x4e\xc2\x64\xf1\xa6\x49\x51\x59\x12\x86\x13\xcd\x72\x4f\x1f\x52\x8a\x5f\xba\xfc\xab\x5e\xac\x75\x94\x06\x22\xed\x8b\xd4\x1d\xb8\x30\x1a\xfc\x52\x03\x10\x7a\xf2\x19\x96\x99\xaf\x99\x13\xbb\xe6\x0b\x0c\xc7\x27\xfe\xdc\x5b\x55\xfe\xb6\xec\x7b\xee\x2d\x9b\xd6\xc4\x13\xf1\xd6\x8d\x6a\x1c\xd9\xeb\x1d\x75\x60\xea\x2a\x17\x92\x3a\xd3\xc2\xd4\x55\x62\xcf\x69\xa6\xdd\xd9\x29\x53\x44\x2c\x50\x4e\x02\xcc\x85\x92\x2d\x11\xbd\xd3\x4c\x73\x48\xac\x41\x14\x54\x26\x79\xdf\xd0\x00\x32\xe0\x62\x37\x73\x20\x97\xea\xe3\x78\xb0\xc7\xe8\xe6\xcf\x0e\xea\xe2\xf5\x08\x3a\x13\x6a\x4d\x5e\xa9\xca\xa7\xe8\x01\xf8\x7b\x6c\xeb\x25\x5a\x29\x62\xcd\x6d\xee\x96\x85\xe3\x29\x30\x5a\x64\x30\x6a\xc0\x03\x3d\xda\xcc\x38\xda\x93\x69\xa6\xd7\xab\xe3\x9d\x7b\x71\x0e\x2c\x32\x48\x4f\x22\x1d\xb4\x28\x6c\xe6\x5e\x81\xe3\xf4\x6d\x44\x52\x12\xd1\x9c\xed\x6d\xb9\xf9\x08\x67\x5a\x84\x94\x68\x49\x32\x18\xdd\xd5\x27\xf7\xf5\x46\x2a\x60\x5c\xc1\x9c\x00\x59\x97\xea\x39\x52\xfc\xda\x12\x9a\xa3\xf2\xb8\x75\xd2\x71\xaf\xc8\x18\x93\xae\xc9\xa3\x76\xbe\x6b\xd9\xc5\x09\xb4\xbf\x5a\x93\xea\x7f\xae\x45\xf6\xdb\x78\xa8\x5b\x8f\xf6\xde\xc6\xd9\x8c\x16\xf1\x6e\xb9\x01\xb2\x74\x0a\x2a\xae\x4d\x34\x8a\xec\xcb\x37\x70\x17\x4f\x24\xcf\x06\xcd\xfc\xce\x00\x0e\x26\x60\x64\x81\x67\xbf\x97\x92\xb1\xfd\x75\x23\x04\x61\x6a\x86\x1b\x00\xa7\xc3\x5a\x83\x9d\xc5\xc3\x47\xef\x5b\xc6\x07\xb8\x38\x39\xee\x96\x48\x94\xad\x45\x64\x5d\xb6\x69\x8b\xd1\x25\x2f\x5f\x55\x56\x6a\xa7\xa7\xce\xd6\xd6\x88\xfe\x56\x4a\xd6\x74\x3f\xe4\xda\xb2\x1e\x5e\xda\x2d\xd0\x79\xd6\x5f\xe4\x87\xe2\xde\xa0\xdd\x91\x48\x1b\x38\xb6\x45\xcd\x82\xf3\x46\x0c\x61\x8c\x85\x11\x3b\xf8\x5b\xeb\xec\x54\x90\x35\xdf\x92\xe4\x1b\x79\xb6\xed\x7a\xd7\x32\x41\x32\xba\x6e\x7a\x26\x17\x09\xee\xd5\x0f\x9c\x46\xd0\xcb\x5a\xa9\x30\x24\xfe\xdc\x94\xd5\x25\xcc\x99\x7b\x02\xbd\x0e\x28\x08\x4e\x14\x65\xb6\xcc\xd2\x99\x3c\x15\xe8\xf1\x1f\xa8\xd8\x90\xbd\xdd\x6d\x7b\x08\xec\x7b\x55\x77\x45\x57\x4e\x1f\x38\x69\xde\xd7\xf4\xdb\x56\xf7\xfd\xc8\x40\x89\x0e\x12\xa3\x06\x0b\x10\x65\xf2\x6f\xe4\xb9\x99\x78\xec\xd6\xed\x17\x38\xdd\x04\xf4\xe2\x24\xcc\xba\x58\x44\x8f\x03\xde\x12\xcb\xce\x92\x66\x61\x2c\x89\x7d\xe7\xd2\x0d\xe9\x0d\x79\xc8\xf0\xf8\xf3\xf1\xc0\xf6\xf1\x82\xb6\x79\x76\xb5\xa7\x71\x76\x4e\x99\x38\x3d\x80\x2c\x18\x59\xf7\xf4\x21\x6c\xa7\x3d\xc3\x7b\x47\xc0\x8b\x13\xb6\x50\x6f\xeb\xc0\xc3\xe2\x67\x5c\x6f\x2a\x1f\xfe\x63\x61\x09\xe3\xff\x8a\x65\x8a\xd3\x98\x67\x42\x48\x41\x7b\xc6\xfd\xd5\x47\x14\xc2\xa3\x4c\xbc\x2e\x1d\x0e\x9d\xfd\x76\x00\x0b\xe8\x07\x31\x72\x6a\xbe\x6c\xe0\x41\x1d\x3f\x1d\xd8\x26\x8e\x0f\xde\xa0\x81\x28\xbb\xa0\xdb\x83\x5a\x57\x92\x3c\x14\xe1\x3f\x16\xd4\x46\x74\x90\x27\x7d\xbb\x6c\x2e\x4f\xa7\x7d\xab\xec\xc8\xbb\x77\xb0\x4f\x8a\x4b\x6a\x84\xcc\xb0\x95\x3a\x09\x39\x1d\x23\xbe\xdc\x49\xd3\xf7\xce\x09\x2c\x36\x45\xf1\x0c\x58\x57\x2b\x3a\x27\xd8\xef\xee\x7f\x6c\x55\x45\x42\x0c\xc3\x21\x6f\x42\x12\xa2\x0e\x8d\x17\x47\x09\x53\xf7\x25\x59\x87\x7d\xf7\xc5\xd4\xa8\x9b\x8f\x83\xf7\x9c\x6e\x70\x39\x9c\x35\x2e\x8f\x16\x52\x24\x84\x85\x2f\xe4\xdb\x6a\x26\x4e\xe3\x18\x9a\x0f\x61\x20\x21\xe2\x58\x15\x7c\x5f\xd9\x75\x71\x2d\x5f\x2d\x3f\x7d\xfd\x83\xa5\x9f\xca\xde\xd8\xbe\xb4\x1e\x22\xec\xa7\x78\x9f\xae\x97\xef\x3d\x2c\xfb\x55\xe0\x9a\x7f\x96\x3b\x8c\xb4\x0d\x81\x24\x7f\xd0\xdd\xe2\x7f\xe9\xe7\xfe\xbd\x2c\xfd\x62\xd0\x6e\x24\xf9\xfa\xdb\xe7\xdb\x81\x40\x78\x7d\xca\x1a\x9d\xeb\x8f\xe0\x46\x8e\x4e\xe3\xd7\x36\xad\x4e\xb7\x7e\x08\x6d\x0c\x92\xe8\xa3\x13\xfa\x58\x13\x6d\xde\x15\xe6\x39\xdf\x30\xa5\xbb\xe9\xd7\x8a\x1f\x50\xba\xf3\x5f\x93\x7b\x7e\x0f\x5b\x5f\x24\x48\xbc\x5c\xbb\xa9\x71\x5c\x20\x4c\x6e\x04\xd1\x1e\xf7\xef\x1e\x31\x0c\x05\x65\xdf\xea\x2b\x3e\x8e\x01\x0b\x2e\x74\x88\x29\xd9\x52\xb6\x6c\xba\x7b\xe9\xa4\x68\xf3\xf2\xcc\x9b\xfd\x45\x31\x8a\xe3\xcd\x5d\x59\x6b\x17\xd8\x8f\x7b\x4f\x00\xe3\x37\xc7\x2a\x19\x58\xc5\xcd\xb9\x66\x3f\x2e\xdd\xbb\xae\xd0\xbd\x7c\xf8\xca\xea\x4b\x20\x8a\x83\x11\x53\x47\xc5\xb9\xe4\x57\x36\x22\x1c\x1c\xd2\x5c\xf8\x2b\x8d\x51\x50\x22\xb5\x72\x82\x11\x16\x2f\xff\x28\x85\x07\xca\xd5\xf0\xcb\x2f\x7f\x55\x45\xdf\x8e\x76\xf5\xa8\x77\x2b\x23\x28\x37\x01\xe8\xd1\x61\x56\x1d\xc4\x0c\xc9\x38\x83\xcf\xdd\xef\x5d\x7f\xa9\x5d\x9c\x34\x3c\x0e\x2e\x9d\x04\x38\x5a\x27\x3a\xf2\xb6\xfc\xf7\x7e\xd7\xa0\x59\xc6\x51\x54\x6e\x8f\xb5\x21\xf1\x1e\x33\x9c\x1f\x7b\x34\x8d\xbd\x9d\x18\xf7\xb3\xd7\x7a\x73\x69\xd0\xf8\x1a\x77\xf3\xdb\xa1\x71\x77\x4d\xf2\x13\x04\x16\x84\x58\x5e\x53\xdb\xdd\x90\xd5\x1f\xfe\x6b\xa0\xc3\x97\x54\x27\x11\xda\xc8\x0d\xd5\x8e\xec\x05\xd7\x53\xa3\xc4\xd1\xbb\xa9\x3e\xe5\x81\x8b\xa9\x1d\x71\xec\x5e\xae\x5b\x97\xea\x1a\xe4\xa1\x94\xe7\xfe\x98\xb7\x4f\xea\xf5\xb1\xab\x42\x82\xd6\xd9\x30\x85\x5d\x05\x3e\x41\xd4\xb3\x30\x8d\x7b\x7c\x88\xb5\x71\xb4\xc7\xd6\x3c\x0b\xd5\x09\x9d\xde\xa0\xb8\xe1\xc0\x20\xb3\x0d\x82\xcf\x69\x9f\x86\x6c\x61\x44\x1a\xce\x70\xc0\x67\x6e\x22\x04\x53\x1b\xab\xf0\x8c\x7f\x7a\x0a\x06\x10\xee\xdd\x87\xb5\xd0\xbc\xe2\x06\xd8\xb6\xb9\xeb\xd4\xef\xfa\xe2\x9d\x53\xee\xbc\x0d\x09\x3b\xf9\x1e\x79\x01\xe0\x6c\x24\xde\x56\x25\xd1\x96\x24\x17\x27\x78\x02\x8a\x67\xfb\xbc\x3e\xc0\xaf\x37\xfe\xf8\x2b\x35\x9d\xbc\xfe\x6b\xb5\x64\x28\x2e\x13\x50\x48\x2c\x89\x3a\xa0\xc0\x41\x1f\x5a\xd0\x5b\xf1\xf6\x02\x32\xf6\x56\x74\xbb\xfb\xd4\xcd\x89\x69\x49\x26\x35\x62\x66\x2f\xc2\x83\xe2\x98\x67\x0d\x02\x03\xa7\xa0\x04\x62\x72\x41\xc4\xd8\xf7\xf6\x7a\xc0\xdb\x8d\x06\x07\xbc\xbd\xee\x79\x3b\x5c\x56\xb6\x94\x56\xff\x0a\x00\x00\xff\xff\x1a\x31\x81\xbe\x66\x30\x00\x00" +var _pdsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1b\x4d\x73\xdb\xb8\xf5\xee\x5f\xf1\xa2\x43\x46\x9a\xca\x4c\xbc\x6d\xb7\x19\x8d\x95\xec\x8e\x9d\x4c\x35\x9d\x75\x3c\xb1\xb7\x3d\x64\x7c\x80\xc9\x27\x0b\x63\x0a\x64\x01\x50\x8e\xeb\xf1\x7f\xef\xe0\x8b\x04\x08\x50\x92\x1d\x6f\x77\x0f\xcd\x21\x16\x49\xe0\x7d\xbf\x87\xf7\x41\xd2\x75\x5d\x71\x09\x67\x15\xfb\xd4\xb0\x1b\x7a\x5d\xe2\x65\x75\x8b\x0c\x96\xbc\x5a\xc3\xa8\x7f\x7b\x74\x60\xd7\x2f\xce\x49\x7e\x7b\xf6\xe9\xd2\xae\x73\x97\xa3\x83\x83\x37\x6f\xde\xc0\xe5\x0a\x41\xdd\x81\x53\x2a\x24\xa7\xd7\x8d\xa4\x15\x83\x0b\xe4\x1b\x9a\x23\x8c\xcf\x4f\x2f\x26\x90\x57\x4c\x72\x92\x4b\xa0\x02\x38\x8a\xba\x62\x42\xa1\x81\x65\xc5\x21\xe7\x48\x24\x65\x37\x40\x58\x01\x6b\xc2\xc8\x8d\xba\x28\x3c\x60\x02\xaa\x25\xd4\x24\xbf\x15\x99\xc2\x78\x40\xf2\x1c\x85\x18\x93\xb2\xf4\x20\x9f\x9f\x5e\x3c\x1c\x00\x00\x28\x9a\x3e\x32\x49\x65\x89\x6b\x64\x12\xe4\x8a\x48\xb8\xe1\x84\x49\x01\x72\x85\x40\xae\x69\x49\xe5\x3d\xc8\xca\xa0\x46\x20\x01\xb6\xcc\x41\xd1\x7f\x7d\x5c\xe8\x41\x3d\xd1\x5b\x15\xcb\x07\xd1\xba\x0d\xe1\xb0\x41\x2e\x68\xc5\x66\x70\x21\x39\x65\x37\xd1\x9a\x12\xa5\x96\xda\x42\x88\x06\xf9\x85\xac\x38\xb9\xc1\x73\x22\x57\x6a\x47\x7b\xb1\x63\xdb\x09\xa9\xbf\x60\xbe\x99\xc1\x79\x73\x5d\xd2\x7c\x70\x87\x22\x53\x13\x5c\x3d\x0d\x93\xda\xf7\x8b\xd2\xc8\x16\x0a\x5b\x99\x2b\x3b\x60\xf8\x4d\x06\xc2\x84\xc5\xa9\x12\xf4\x35\x42\x23\xb0\x18\x16\xad\x12\x99\xda\xac\x30\x2e\x8a\x19\xfc\xba\x60\xf2\xc7\xbf\x74\xc0\x4f\x69\xae\xc0\x11\x7e\x6f\xf4\x29\x64\xc5\x51\xf4\x51\x09\x85\x2b\xb8\x57\xa0\x24\xb4\x14\x40\x99\xd6\x7d\x6b\x2d\x42\x12\x89\x49\x72\xdc\x92\x4e\x02\xad\x19\xce\xe0\xc1\xd0\x35\xd3\xf7\x17\x6c\x59\x3d\x3e\x8b\x44\xb1\x22\x1c\x0b\xc8\x49\x6d\x8c\x91\xe2\xf7\x51\x78\xa1\xe1\x9d\x90\x7a\x06\x3f\xb5\x24\xb6\x37\x5b\x1c\x1e\xb1\x1f\xd7\x54\x4a\x2c\xe0\x6e\x85\x0c\x08\x03\xaa\xed\x09\x56\x44\x58\xa7\x28\xf6\xf7\x8a\x8d\xf2\x07\x5f\x50\xc6\x37\x8a\x71\xa8\xcc\x29\x68\xef\x71\x1e\x31\x85\x35\x4a\x52\x10\x49\x66\xf0\x60\x6e\xb9\x47\x8f\x53\xc3\xbd\xd9\xf9\x6e\xe2\x93\x1d\xd0\x1d\x0a\x77\x6d\x2c\x55\x33\xd1\xd4\x45\x82\x89\x2d\x42\x1d\x60\xe5\x42\x6d\xf8\xd5\x00\x8b\xf8\x19\x22\x92\x35\x6b\x63\x02\x05\x2e\x29\x43\x13\x76\xd4\xe2\x46\x47\x32\x12\x60\xd8\x16\x6e\x9a\xb5\x51\xaf\x87\x07\x4c\x90\xeb\xaf\xcd\x89\x40\x58\x30\x2a\x29\x29\xe9\x7f\xb0\xd8\xb6\x68\x43\x4a\xba\x65\xc1\x49\xb5\xae\x4b\x94\xa8\x57\x78\x26\x73\x21\x79\x93\xcb\x98\x31\xe7\x62\x4f\xe0\x4c\x18\x50\xce\x89\x06\x78\x52\xd6\x1d\x98\xcc\xe0\xaa\x61\x4b\x4a\x6e\x51\xc1\xc6\xea\xee\xfc\xf4\x22\x6b\x45\x7c\x90\x5c\xbd\x6c\x18\x08\x34\x2b\xc6\x0c\xef\x2e\x12\x3b\x27\x1e\x0b\xea\x9f\xc0\x72\x99\x69\x14\x30\x07\xb7\xa7\x5d\xf1\xd8\x21\x32\x81\xc3\x8a\xc1\x8a\x85\xb6\x6a\xe4\x99\xbf\xb0\xfd\xbd\xa1\x78\xa7\x57\x8d\xf7\xf6\xa8\x24\x81\x7a\x37\xcc\x8d\x90\xe3\xc7\x0e\x1a\xcc\x5b\xc0\xc3\x4c\x06\xe2\xc8\x52\x96\xf8\xb8\x8f\x41\x11\x38\xa9\xca\x12\x73\xa9\xd2\x83\x9d\x06\xe4\xad\x9d\xb5\x59\x4a\xe6\xdd\xdd\x62\x59\xa4\x28\x38\x0a\x31\x83\x9f\xcd\x8f\xc1\x85\x2e\xdc\x9e\x91\xf5\x6e\x4b\xa4\xbd\xb3\xcb\x30\x00\x1c\x65\xc3\x99\xca\x6b\xa8\x0a\x42\x0a\x04\x88\xca\xb0\x4e\x75\x56\xb4\xae\x38\x02\x47\x52\x10\x45\xb6\x4a\x85\x08\xbb\xaf\x18\x42\x4e\x18\xe4\x2b\xcc\x6f\xb5\xb3\xad\x88\x58\xa5\x6d\x5a\xd9\x84\x32\x55\xb5\xc2\x10\x39\x9e\x38\x72\x7b\xca\x7f\xf3\xc6\x71\xef\x68\xa1\x02\x8e\x7e\x84\x7c\x45\x14\xa3\xc8\x05\x94\x15\xbb\x81\x3b\x2a\x57\xf0\xf6\x1b\x10\x01\x35\xc7\x25\xfd\x06\x63\x95\xb0\xbd\x83\xeb\x7b\x69\x4e\xac\x15\x7e\x9b\xf4\x41\xe3\x37\xa2\x02\xc8\x0c\xa6\xcb\x3f\x2f\xf3\xe2\x87\xfc\x88\xfc\xed\xdd\xf2\xaf\x88\xd9\x47\xf3\x44\xe9\xe8\xe8\x87\x60\x9b\x96\x33\xcc\x61\xf4\x73\x36\x0a\x1e\x28\x57\x55\x06\x38\x1a\x45\xeb\x15\x0b\x17\x92\xc3\xdc\x18\xa2\xe5\x28\x93\x95\xe3\x3e\xd8\x41\x97\x6e\x43\x56\x22\xbb\x91\x2b\x38\x86\xa3\x77\x3d\xc1\x38\xd0\x35\x29\x0a\x25\x96\xb9\x5a\x72\xd8\xdb\x98\xde\xa1\x68\x7c\x3b\x8a\x9e\x29\xfa\x29\xcc\xe1\x6d\xf4\x44\x71\xe5\x00\x8b\x92\xe6\x38\x56\xd9\xf5\x0c\x7e\x98\x42\x53\x5f\x56\xb3\x1e\xd6\x49\x04\xe0\x6e\x45\x4b\x04\x0a\xc7\x2d\xb9\x31\x33\x0e\x51\x9d\xe5\x15\xcb\x89\x1c\x93\x18\x8e\x96\x0e\xcc\x81\xc2\x9f\xe0\x28\x7a\xfa\x18\xdc\x79\x04\x2c\x05\x26\x10\xed\xe4\xe6\xe8\x5d\x88\x39\x84\x6b\xfc\x03\xf2\x8e\x4c\xf7\x6b\x94\x8d\xda\xdf\x5a\xcf\xbe\x3b\x0e\xaf\xa2\x85\x67\x08\x93\xa1\xc8\xeb\x47\x8a\xa7\x07\xdf\x7e\x04\x99\x26\x43\xc5\xd4\x8b\x09\xc9\x28\xec\x5c\x71\xee\x9c\x32\x5e\xe2\xc3\x85\x79\x80\x26\x5e\x4c\x0b\xa5\xcc\x2d\x71\xf7\x0b\x8a\xaa\xe1\x39\x26\x72\x94\x44\x5e\xca\xf1\xdf\x0d\x55\x77\x87\x6b\x35\x5d\xfd\x9d\x7d\xba\x14\xc3\x01\x9b\x3b\x9c\x71\x56\xea\xc9\x44\xeb\xc4\x3d\xd2\x15\x9a\x0a\x41\x05\x27\x77\x1a\xbc\xa9\x3f\x15\xa1\x26\x5d\x4d\x2b\xc8\xa2\x55\xb2\x30\x31\xd9\xc1\xd0\xf9\x71\x07\xfe\x98\x34\x72\x35\xee\x17\xbd\xd9\xbf\xec\xea\x69\x54\x26\x67\x9f\xef\x18\xf2\x09\xbc\x7e\x88\x9e\x9c\xf3\x6a\x43\x0b\xe4\x8f\xef\x0f\xb6\x30\xb3\xa6\x4c\x4e\x81\xe3\x06\x49\x39\xd5\x22\xac\x6a\x64\x7d\xf1\xed\xe4\xa7\xaa\x91\xab\x52\x2e\xc9\x4f\x7b\x0a\x7e\xd6\xab\x50\x91\xdb\xde\x5b\x7c\xb6\x5b\xfb\x74\x3a\xa6\x55\x29\xd0\x16\xfa\x7b\x0a\xba\x4d\x92\x9c\x9c\x3f\xf1\x6a\x6d\xea\xd3\xb1\xbb\xb5\x38\x6d\x5d\x40\x95\x28\x91\xfc\xce\x3e\x5d\x3e\xf6\x7c\xc3\x1d\x09\xda\xa6\x3d\x15\x66\xd7\x15\xe7\xd5\xdd\x78\x02\x1f\x3e\x40\x4d\x18\xcd\xc7\x23\x56\x81\x68\xf2\x95\x32\xdc\xd1\x24\x15\x58\x8e\x0f\x21\x6f\x81\x04\x54\x75\xbf\x07\xa3\xc4\x2f\x94\xc9\x3d\x95\xd4\xca\x42\xa9\xda\x4a\x7d\x5c\xf4\xca\x86\xbc\x52\x55\xcc\xdf\x89\x58\xa1\x98\xc1\x57\x13\x26\xae\xa6\x56\xd6\x5e\x38\xe1\x98\x6f\xb4\x92\x13\x16\xe7\x42\x57\xc5\x4c\xed\x1f\x65\x78\xe9\x93\x27\x90\xaa\x67\x48\x4f\x93\x6a\x77\xf4\xf8\xbc\xd8\x93\x2a\x7d\xa4\xb2\xa5\x34\x5a\x50\x92\x69\x45\x62\xfe\xfa\x22\x99\x05\x20\xbf\x52\x4f\x2e\xe6\x6f\x7c\x80\x0d\x1f\x5e\x1a\xb1\x42\xcb\x96\x32\x7a\x68\xa5\x9b\x15\x58\x57\x42\xe5\xd2\x4a\xae\x33\xbd\x7a\xe8\xa8\xea\x19\xc6\x17\xed\xc9\x4f\x35\x0d\xe3\xff\xce\x38\x6a\x92\xdf\xfa\xc6\xc1\x96\x52\x19\xc5\x43\x2a\x9b\x7d\xbc\x9a\x82\x20\xa5\x74\x47\x4b\x5f\xe5\x2f\xa3\xdc\x3c\x33\x14\x8e\xd5\xb9\x65\xc8\x73\x64\xa9\xff\x1d\x09\xea\xff\x41\x97\xf9\xbc\x7f\x5c\x6b\xe5\xa2\x62\xe1\x73\xa5\xf2\x24\x4f\x51\xe6\xe6\x6e\x0d\xb5\xb5\x7e\x1b\xd1\xea\x8a\xb6\xfa\x82\x25\x12\xa1\xd2\x60\xc5\x93\x61\xf1\x0a\xe6\xf0\xf5\x6a\x0f\x07\xee\x5c\x4f\xc9\xc4\xe5\xb2\xb1\xcf\x05\x68\x32\x52\xd7\xc8\x8a\xb1\xda\xf2\x95\x5e\x65\xb4\xd8\xd7\x8b\x1e\x7b\xa6\xa1\x94\x34\x60\x18\x21\x48\x55\x0f\x72\x43\xc1\x47\x91\x2b\x11\xb1\xa5\x5c\x14\x62\x16\x52\xe6\xa9\xce\xfe\x80\x41\xf5\x24\x6f\x0f\x9a\x60\x22\xd1\x68\x93\x90\x27\x24\x79\xa1\xf0\xff\x97\x99\xc4\x34\x40\xfd\x32\x87\xbe\x83\x96\x4c\x44\x3d\xee\x60\xee\xf3\x1a\x2f\xf5\xa8\x81\xb9\x4f\x5b\x9c\x75\xda\x94\x10\x16\x2c\x2f\x9b\xc2\xe6\x91\xd7\x24\xbf\xbd\x23\xbc\x10\x2a\xda\xd7\x44\x52\xc3\x4d\x36\x9c\x37\x52\x26\x91\x2f\x49\x8e\x51\xfb\x9b\xe2\x06\x39\x3c\xec\x95\xe0\xda\x36\xa7\x6e\x55\x29\x0b\xde\x23\x61\xed\xd0\xcd\x86\x50\xa7\x53\x35\xe5\xbf\x79\x4f\x5b\xaf\xa3\x36\x69\xc5\xdf\x7f\xd8\xda\x77\xd2\xbd\x7b\x52\x8f\xf7\x02\xd5\xd7\x6b\xcd\x53\xc5\x5a\x4e\xea\x4c\xb7\x14\xc6\x93\x19\x8c\x6c\x43\xb0\xcb\xfa\xef\x47\x5b\x42\x80\xa9\x47\xb4\xda\xf3\x40\xdd\x7d\x1e\xba\x01\x89\x61\x25\x6f\xaf\xc7\xc2\x6b\x57\xc7\x6e\xfa\x84\x3e\x71\x9f\x5d\x22\x04\x72\xdb\x15\x73\xa1\xf1\x3d\xbc\x55\x20\x84\x20\x37\x38\x83\xd1\xa5\xee\x79\xad\x1b\x21\x81\x55\x12\xae\x11\x70\x5d\xcb\xfb\x44\xa0\x6e\xc3\x7d\x4e\xea\x57\x6d\x9c\x7f\xd5\x0b\x88\x86\xad\x33\xbc\xeb\x73\x76\x7c\x08\xed\x55\xcb\x92\xfe\xe3\x73\xe4\x7e\x0d\x86\xb1\xce\xe4\x9e\x15\xbe\x92\x8e\x6e\xd4\xc7\x68\x39\x54\x23\xbe\x9c\xb3\x2e\xbc\xd1\xd3\x9e\x3e\x9a\xdb\xd5\xda\x49\xf7\x1b\x41\xb4\x88\x13\x3e\x31\xeb\xd1\x30\xe8\x6b\x83\x9a\x7c\x59\x1b\xd5\xa6\xd5\x70\x8e\x4c\x2e\x0a\xdb\x38\xed\x26\x5f\xd1\x19\x1a\x8c\x77\xbe\xb6\x1b\xaf\xe0\xf8\xf0\x55\x67\x60\xc9\x6d\xed\xdc\xca\xdf\x36\x6f\xdb\xcd\xe3\xfd\x6d\xd2\x41\xed\xe8\x54\xee\xdf\x32\xd1\x4f\x1a\x70\x4d\xb7\x0f\x84\xda\xad\xbb\x1d\xa3\x9d\xb2\xbc\x9d\x3c\xa7\xa3\xe1\x66\x42\xdf\x6b\x4c\x76\x0a\xba\xc5\x7c\xcc\xc4\xa9\x6d\x81\x47\x55\x5f\x6a\xe0\x90\xb2\x8d\xc2\x6b\xa6\xb7\x1a\xcc\x38\xae\xab\x0d\x8e\x6f\xf1\xde\x15\x4d\x5d\xc6\x09\xe3\xd1\x99\x4d\x39\x7d\x0e\x7b\x21\xad\xc8\x12\x43\x0c\x4d\x54\xac\xe7\x10\x37\x65\x3a\xaa\x7a\xb8\xa7\xd0\x4b\x20\x23\x8d\x27\xe7\x66\x6e\xb3\xf0\x90\x67\x9c\xdc\xfd\x93\x94\x0d\x26\x23\xe0\x50\x8b\x21\x92\xae\x4a\x2e\x4f\xbd\x74\x7a\x0a\xa8\xb3\xce\x7e\xf2\xef\x8f\xca\x07\x4e\x8f\xc8\xeb\x74\xfb\x8d\x50\x26\xfe\x81\xf7\x16\xf1\xc4\x3f\x52\xf6\x10\xbe\x51\xec\xf1\x61\xec\xd2\x29\xcd\xbe\x8a\xf6\xd6\x85\xe8\x38\xb1\x06\x72\x83\x6e\x36\xdf\x3d\x52\x89\xc2\x10\xe3\xe9\xfb\x93\x81\x93\x6d\x8f\xea\x63\x71\xba\xa5\xfe\xf0\x6a\xfe\x22\xdb\xd1\x19\x32\xb0\xbe\xd2\xab\xb8\x2a\x09\x18\xef\x95\xea\xc7\x87\x6c\x29\x9f\x57\xc8\xc4\x91\xd5\x88\xde\x84\xd5\x62\x1f\x53\xfc\xfd\x3b\x3c\x7f\x50\x7b\x2d\xb2\x94\x68\xe2\x4e\x8f\x12\x8d\x7f\xd5\x6f\xf4\xc4\xa5\x61\x3a\x50\x7d\x87\x0e\xc3\x56\x4c\x5f\x8b\x89\x26\xc4\x89\xed\xbc\x2b\x05\x2a\xcd\x5a\x45\x5e\x05\x0f\xcf\xc8\x3a\x54\xbb\xab\x7c\xbb\xe0\xb4\xad\x8b\xf3\x1b\xaa\xd5\x82\x8e\x5c\xa6\xcf\x99\x73\xeb\xf9\x3c\xe2\xcb\x3d\x7a\xfd\x7a\x1b\x94\x60\xa9\x81\xb2\x28\xdc\x8d\x69\xb4\xd3\x63\xe2\xd3\xa5\x30\xd9\xf9\x35\xc2\xb2\x29\xcb\x7b\x28\x54\xe0\xa2\xd7\x58\x84\x65\xc9\xcb\x06\x58\xc2\xf9\x70\x7f\xe9\x59\xbd\x99\xa4\x40\xd3\x71\x52\xc0\xdc\x1f\x45\x75\x83\xa5\x3e\x18\xdd\x0e\x0d\x87\x4c\x7d\xa1\x9b\x8e\x69\x31\xb3\x22\x4f\x06\x55\xc2\xb9\xeb\x08\x89\xe7\xc5\xcf\x22\x4b\x77\x31\xc3\xae\x10\xe1\x3c\xdd\x2d\x84\x97\x71\x5f\xbf\x63\x18\x92\x17\x7a\x72\x58\x12\x87\x5e\x1d\x3c\xdb\xe6\xe1\x43\x0b\xfb\xde\xde\x5f\x17\x7a\x7e\xf0\xf4\x69\x5d\xcb\xb0\xf0\xdc\xd9\xc1\x1c\xec\xf5\xfc\x41\x8f\x8d\xff\x7b\x61\xf0\x6f\x3f\x2f\x4c\xf5\xcc\x13\x3e\xd8\x3f\x48\x9f\xdb\x62\x85\xa7\xfb\x6d\x50\xa5\xc9\x86\xb3\xb0\x2e\xeb\x10\x7a\xfd\x27\x90\x95\xa2\x14\xe9\x06\xcd\xdc\xd7\xbc\x41\x6a\x12\xd8\x81\xb7\x48\xbb\x97\x22\xdb\x37\x61\x9e\x9a\x20\x7b\x95\x41\xd8\x69\xdb\xc3\x3b\xdf\x7b\x46\x95\x4a\xd8\xcd\xa4\x3f\xcf\xab\x86\xc9\xcc\x9f\xaf\xab\x34\x7e\x3f\x0c\x03\x74\x7b\x6e\x64\x3d\x3b\xcc\x99\x6d\xa3\xcf\xf7\xe4\x73\xdd\x7e\x07\x64\xa2\xe1\xa8\x14\x1a\xbe\xf7\xc9\x0a\x28\x29\xbb\xd5\x6f\x4f\x7a\x4c\x2c\x2b\xae\xb4\x42\x71\x43\xd9\x8d\x55\x86\xf0\x02\x80\x1d\xb5\x06\xd8\x63\x13\xb0\xa8\xad\x2a\x5b\xf5\x2a\x9b\xb0\x2a\xe7\x3b\xf4\x6b\x12\xb7\xd4\x64\xa1\xcb\xaf\x5e\x7c\x1e\x14\x44\xd1\x9d\x0a\x16\x66\xa3\x2d\xad\x76\x8c\x07\x92\x63\x80\x0e\xf6\xe3\x7b\xfb\x2a\xcd\x1e\xbe\xd9\xcd\xa0\x7e\x65\xfa\x3d\x32\xe5\x38\x9a\x06\xad\x65\xcf\xd9\x6a\x3b\x66\xf0\xbd\x4e\x0f\xfd\x6b\x4e\x37\x44\x22\xd4\x44\xae\x3c\xe5\xc6\xa1\x36\x2c\x05\x8b\x81\xe0\x3a\x3c\x64\x0d\xad\x34\x39\x9b\xef\x82\x67\xef\x5d\xae\x28\x36\x46\x1d\xa1\x13\xf7\x66\x7f\xaa\x7f\xaa\x2c\xdc\x5a\x2b\x95\xce\xfa\x72\x52\x96\xce\xf6\xd2\xad\xc1\x0e\xd4\x78\x32\x83\x9f\xba\xcb\x87\xbe\x0f\x1c\x1f\xba\x4f\x0b\xfc\x3d\x83\x34\x6e\x1b\x55\xed\xa4\x35\xd5\xc2\xea\x68\x8e\x41\x77\x99\xd2\xef\x34\xcd\x7a\xb9\x49\xd6\x24\xd9\x9b\x85\x2d\xea\xd8\x26\x8e\x48\x24\xde\xc5\x96\x59\x5c\x6a\xf8\x15\xa9\xda\x3f\xfa\x82\xf7\xa5\x83\xb7\xd3\xe9\x52\xe9\x18\xbf\x51\x21\xc5\x14\x18\x2d\xa1\x92\x2b\xe4\x77\x54\x6c\x79\x15\xd6\x3f\xee\xda\xd6\x6e\x98\x00\x4f\xba\xef\x15\x3e\xc4\xd2\x89\xdb\xc5\xf6\x40\xef\x33\x61\x42\x88\xfb\x90\xa7\x3f\x83\x70\xb4\x85\x53\xd3\xdd\x9f\xb8\x4c\x13\x6b\x13\xdf\xb5\x74\xcb\xf6\xf8\x98\x25\x5c\xbc\xe3\x0b\x96\x6e\x71\xea\x9b\x1d\x3f\xee\xeb\x18\x1f\xf4\xc0\x8f\xc2\x67\x41\x5e\xa4\xcc\xee\xe1\x31\x5e\xd0\x7d\xd5\x34\x8f\x9e\x27\xc5\x05\xf3\xb4\x18\x87\xb6\x5a\xe9\x05\xdb\xec\xbd\x98\x9a\x58\x92\x76\x44\x10\x3f\x88\x37\xc7\x92\xb5\x9b\xe3\x07\xe1\x66\x2b\x69\x98\x3b\x99\x07\x6f\x4b\xb7\x81\x31\x31\xce\xe9\x22\xa3\xfb\x8e\xc6\xf9\xb6\x77\x92\xe9\x17\x97\x3b\xe6\xb3\x10\x79\xff\x94\x16\x64\x83\xe3\x2e\x46\x24\x90\xaa\xf4\x49\x56\xb3\x6d\x52\x9b\xec\xe6\xc0\xcd\x10\x7c\x0e\x5c\x1e\x1c\x7e\xee\xd6\x9e\x82\x3a\xe9\x32\xc9\xd2\x54\x77\x1c\xc1\x7d\x8a\x27\xab\xa2\x9a\xd9\x06\x16\xbc\x01\xc9\x09\x13\x4b\xe4\x93\xe7\xf3\x6a\xc9\x8b\x78\x8d\x75\xe9\xc2\xdb\xe3\xc1\x7f\x03\x00\x00\xff\xff\x01\x7b\x15\x7c\x51\x38\x00\x00" func pdsCdcBytes() ([]byte, error) { return bindataRead( @@ -108,11 +117,11 @@ func pdsCdc() (*asset, error) { } info := bindataFileInfo{name: "PDS.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x3f, 0xad, 0xcd, 0xc4, 0x4d, 0xf8, 0xd9, 0xfc, 0x25, 0xb3, 0x16, 0xd8, 0xc7, 0x5a, 0xa0, 0xf1, 0xe, 0x26, 0xdc, 0xb9, 0x12, 0x6c, 0x6d, 0xee, 0x77, 0xde, 0xc0, 0x96, 0xe9, 0xf4, 0x1f}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1a\x4b\x6f\xe3\xb8\xf9\xee\x5f\xf1\x25\x87\x40\x46\x1d\x67\x76\xb1\x1d\x0c\x8c\xb8\x99\xd9\xa4\xc1\xf8\xd0\x4c\x90\xa4\xe8\x61\x10\xec\x32\x12\x1d\x13\x91\x49\x95\xa4\xec\x71\x0d\xff\xf7\x82\xa4\x28\xf1\x25\xc7\xf3\x42\x2f\xcd\x21\x96\xc4\xef\xfd\xe2\xc7\x4f\x22\xcb\x8a\x71\x09\x97\x7c\x53\x49\x36\x68\xee\x6e\x18\xbd\xae\xe9\x33\x79\x2a\xf1\x03\x7b\xc1\x14\xe6\x9c\x2d\xe1\xcd\x97\xed\x76\x1c\x2e\xed\x76\x16\x69\x76\x8b\xf2\x97\x9b\xeb\x07\x07\xd8\x3e\xda\xed\x06\x83\xaa\x7e\x82\x9c\x51\xc9\x51\x2e\xa1\x79\x3e\x89\x38\x8d\x3a\x32\xdb\xc1\x00\x00\x40\xe1\xad\x10\x07\xc9\x24\x2a\xef\xeb\xaa\x2a\x37\x13\xf8\xe7\x8c\xca\xb7\xbf\xb5\xeb\x25\x96\xb0\xc2\x5c\x10\x46\x27\x70\x2f\x39\xa1\xcf\xde\xda\x25\x2b\x4b\x9c\x4b\xc2\xe8\xbd\x64\x1c\x3d\xe3\x5b\x24\x17\x0a\xb2\xbd\xe9\x01\xbf\xad\x9f\x4a\x92\x1b\xe8\xee\xba\x07\xd8\x4a\x7e\x00\xd2\xa7\x0a\x73\x24\x19\x3f\x48\x1c\x0b\x7c\xcb\xc9\xaa\xa1\xca\xc9\x0a\x49\x03\xa9\x41\xcf\xce\x80\xe3\x8a\x63\x81\xa9\x44\x4a\x16\x60\x73\x90\x0b\x0c\xca\x90\x84\x82\x5c\x10\xd1\x59\x5f\x32\x78\xc1\xb8\x02\x75\xf7\xa2\x20\x85\x44\x12\x0b\x4d\x09\xe5\x39\x16\x22\xb3\xb0\x43\x2d\x41\x85\xf2\x17\x31\x81\xf7\x5b\x63\xf7\x89\xf6\xdf\xae\xf3\x0f\x5e\x61\x2a\xe1\x0e\xaf\x30\x2a\xef\xf0\xbf\x6b\x2c\x64\x46\x0a\xeb\xa6\x11\xb0\x0a\xd3\xe6\xf9\x04\x7e\x67\xac\x1c\x06\xa8\x9f\x3a\x00\x07\x31\x84\x32\x0c\x70\xe1\xd1\x16\xa8\x94\x13\xf8\xac\x6e\xdf\x3d\x8e\x80\xce\xa5\xb0\x31\x90\xe2\xe2\x61\x87\x00\xff\x20\x54\x06\xe4\x17\x48\x2c\x1c\xf2\x05\x11\x72\xd6\x8b\xff\x7b\xcd\xf7\x33\xb8\x6c\xcc\x3a\xa3\x44\x12\x54\x92\xff\xe0\x22\x0b\x61\xfe\x45\xe4\xa2\xe0\x68\xed\x89\xa1\x72\x6a\x02\x1f\x8a\x82\x63\x21\x2e\x42\x94\x2b\x5c\x31\x41\x7c\x9b\x4b\xe6\xc2\x77\x08\xb4\x5e\xc2\xbd\x44\xb2\x16\x06\xf6\x1d\x6c\xf5\xa2\x05\xc8\x91\xc0\x70\xaf\xed\x1c\x3f\xb7\x1e\x88\x57\x8c\x6d\xf5\x73\x27\x30\x38\x16\xac\xe6\x39\xb6\x09\x6f\x43\x79\xd2\xa6\xf9\x78\x66\x9f\xd9\x84\x6f\xe9\xce\x6b\x0a\x4b\x42\x65\xe6\x1b\x7d\x04\x39\x5b\x2e\x89\xfc\xa8\x3d\x63\x3c\x3d\x02\x22\x44\x8d\x79\xab\xf2\x70\x02\xef\x6f\xae\x1f\x3a\xd5\xd4\x9f\x0a\x65\x3a\x97\x70\x7e\x0a\x39\xc7\x48\xea\xf4\xc8\x5c\x6a\xdd\x75\x47\xd1\xfc\x0e\x3d\x4a\x56\x78\xa7\x28\xc1\x34\xf9\xf4\x2f\xf0\x4b\x24\x43\x05\x70\x7e\xda\x48\xa0\x70\xbe\x4b\x04\x9d\x9b\x9f\xe9\x5c\x8e\x49\xf1\x08\xe7\xa7\x47\x50\x79\x70\x78\x49\xbc\xc0\x36\x90\x36\xb0\x3b\x6e\xe3\x02\xe7\xac\xc0\x1f\xf1\x97\x6c\xd8\xc5\xb9\xf9\xf5\x39\x73\x2c\x6b\x4e\x95\x15\xe9\x5c\x76\x2b\xbb\xc1\x20\xf4\x1e\xd7\xe1\xe2\x85\xa5\xc9\xcf\xcf\xdb\xd6\xff\xb6\x7e\x3e\x95\x78\xf7\x68\xd3\xb9\xc9\x5f\x88\xfd\x57\x29\xbe\x9e\xee\x63\x8e\x97\x6c\x85\xb3\x17\xbc\x99\x00\x29\x86\x70\x71\x01\x15\xa2\x24\xcf\x8e\x29\x03\x51\xe7\x0b\x5d\xbf\x8e\x7d\x25\xaa\xb1\x23\x9c\xb2\x87\x11\x4c\xfd\xb7\x42\xa8\xff\xfb\x6c\x1e\xdb\x3b\x61\x02\x55\xfa\xbe\xc2\x00\x3f\x57\xe5\x56\x18\x5f\xe1\x6f\x56\x12\x08\x25\x32\x1b\x6e\x77\x7b\xf3\x3e\x28\x30\x4a\x25\xaf\xaa\x46\xab\x41\x2e\x7b\xeb\xaa\x15\x10\x4d\xf9\xb2\x92\x9a\x72\x16\x83\xb9\x3b\xc3\x45\xec\x9a\x15\xe6\x64\xbe\xc9\xe8\x5c\x9a\x70\x6b\xc3\xce\xec\x51\x81\x27\x90\x10\x98\xcb\x4c\xe0\x72\x3e\x36\x02\xc0\xd1\x34\x10\x61\x6c\xea\xe6\x08\x96\x58\x08\xf4\x8c\x27\x70\xac\x0d\x40\x99\x6c\x72\x01\x17\xb0\xc1\x32\x70\x8c\x12\x56\x59\xc4\xb0\x87\x69\x23\xc7\x18\x53\x9b\x91\x86\x2b\x2a\xe5\x91\x8f\xe9\x61\x75\x37\xe3\x9c\xd1\x1c\xc9\xec\x78\x74\x3c\xb4\xd7\xad\x9a\xc3\x28\xc0\x14\x22\x4c\x41\x55\x81\x0f\xe5\x33\xe3\x44\x2e\x96\xe3\xfb\x8f\x1f\x7e\xfd\xe3\xd7\xbf\xbe\x1d\xab\xd5\xcc\xa1\x5d\xcb\xf9\xbb\x61\xca\x34\x69\xa9\x15\xe6\x10\xa6\x09\xa5\xf4\x8a\x6b\xab\xcb\xb6\x18\xc1\x1a\x09\x6d\x35\xed\x23\x82\x8b\xe3\x64\x09\x92\xbc\xc6\xa9\xb8\x6c\x9a\x18\xc5\x7f\xa8\x5d\xfd\x47\xe7\xeb\x83\xab\x4f\x6a\x9f\x19\xda\x8b\x20\x38\x22\x0f\x2a\x42\x11\x44\xeb\x02\x98\xea\xbc\xfb\xfc\xe6\x71\xdc\x61\x65\x71\x50\x10\x98\x06\xdb\xc7\x7a\x41\x4a\x0c\x04\xce\x35\x81\x71\x89\xe9\xb3\x5c\x04\xc2\x58\xb7\x0a\xcb\x86\xec\x61\xa3\xfe\x02\xb9\xfa\x63\x48\xc4\xb8\x4a\x44\x12\xed\x72\xbb\xff\x47\x69\x17\xa5\xad\x4e\x7b\x42\xb5\xeb\xb7\x7f\xc2\xbe\x99\x28\x5d\xd3\x43\x4b\x57\x03\x4f\x8c\xa2\x06\xe8\x38\x76\xce\x4a\xc5\xbc\xa2\xef\x67\x5a\xb8\x9d\xa6\x72\x2a\xe9\x0a\x9f\x43\x5b\xfe\x9a\xcc\x72\x7b\x95\x04\x60\xa3\x62\xa8\x61\xd4\xbc\x82\x6d\x8f\xbc\x83\x85\xda\x1b\x3b\x89\xfd\xb6\xc8\x68\xb5\x1a\x1e\xec\xc9\xef\xdc\xfe\x0f\xf2\x9c\x95\xfe\x15\xdf\x59\xb0\xe3\x84\xc9\xfa\xbd\xb6\x6f\x2b\xfa\x2e\x6f\xf6\x38\xc9\x39\x47\x78\x2e\x72\xce\x6e\xa4\x48\xda\x5f\xf7\x22\x87\x1c\x0d\x02\x1b\xb7\x62\xc2\xb4\xa7\x1d\x8e\xc1\x0d\x49\x55\xfa\xf4\xc5\xe1\xea\xdd\xc7\x11\xe8\x06\x37\x25\xa5\xa3\x1a\xf4\x34\x55\xc9\xc9\xc9\x78\x76\x73\xfd\x30\x72\xce\x55\xcd\x45\x30\x56\x69\x9f\x7f\x5a\x53\xcc\x9d\xb3\x97\x65\xdb\x36\x61\x85\x37\x66\x81\x6f\xee\xde\xfa\x4e\x05\xf1\x50\x60\x9b\xec\x43\x79\x34\x56\x30\x2e\x28\x82\xb9\x82\x73\x93\x8c\x0f\xaf\x23\xef\xe1\xc5\x82\x39\x44\xc3\x29\x49\xaf\xc0\x42\x72\xb6\xc9\xbe\xa1\x65\xb7\x64\x0f\xeb\xdb\x0f\x3f\x6c\x9e\x42\xf6\x0b\x20\xd1\x0e\x1f\xe2\x34\x72\x26\x14\x91\x6e\x8e\x52\xe9\x76\xff\xd0\x0c\x83\x64\x8a\x91\xc2\xee\x11\x75\x4d\x12\x29\xf0\x83\x52\xb0\x91\x37\x95\x37\xdd\xa8\x6e\xd2\x82\x47\x69\x74\xcb\xd9\x8a\x14\x98\x8f\xfa\x41\xee\x70\x8e\xc9\x6a\x2f\x48\x38\x42\xec\x40\xa3\x44\x0c\x41\x35\x64\x67\xbf\xb3\x33\x28\x88\x5e\x46\x7c\x03\x6c\xae\x47\x7a\x39\xa3\x73\xc6\x97\xaa\xa3\x92\x8a\x9f\x70\xc1\xf5\xcc\x4f\x00\xea\x14\x97\x9b\x0a\xc3\x9a\xc8\x05\x20\x0a\x7f\x9a\xe8\xf8\x13\x66\x57\x30\x27\xb8\x2c\xa2\x83\x13\x5b\x53\x5c\xdc\x5c\x3f\x78\x23\xbf\x48\xc5\x9b\xeb\x87\x20\x36\x20\xca\x05\xed\xa9\x96\x9c\x4a\x8a\xed\x2e\x15\x59\x67\x67\x5a\xbc\x82\xa3\x35\x98\x44\x11\x4a\xd4\x76\x9a\x2c\x17\x18\xf2\xd6\x4e\x80\x68\x01\x06\x88\xe8\x69\xa6\x5e\x46\x65\xe9\x84\x81\xcd\x76\x4b\x36\xb3\x17\xb3\xab\x76\x38\x37\x81\xf7\x29\xad\x12\xf9\xac\x8d\xac\xc4\xf7\x15\xf2\x92\xba\x63\xe0\xe6\xf5\x92\x08\xa1\xdc\x74\x73\xfd\x10\xa4\xb5\xce\x47\x6f\xd8\xa7\xb9\xe8\xc2\x66\xc6\x7d\x2d\x33\x7e\x31\x46\xcd\xe6\xd5\x33\x89\xd1\xa8\x3d\x96\x2d\xcc\x74\x10\x24\x7a\x51\x66\xd5\x56\x55\x16\x44\x45\xe1\x19\xb0\xb5\xaf\x70\x22\xce\x25\xd4\x22\x29\xf0\xd9\x95\x45\x24\x05\x20\xce\xd1\x26\xb2\x7d\xc3\x38\xd3\xc2\xf5\x18\x3b\x55\x3d\x5b\x6b\x9b\x0b\x24\x8e\xe0\xbd\xcd\x9a\x9b\xeb\x87\x41\x84\xd0\xed\x55\x30\x6d\xad\xe8\x83\x29\xf1\x8b\x42\xcb\x4b\xf1\xba\xa1\xdc\x28\xe0\xe4\xd7\x7a\x41\xf2\x45\x1b\x82\x6a\x91\x95\x05\x30\x8a\x23\x9e\xac\x2c\x1e\xd2\x51\xd1\xcc\x4c\x02\x9f\xb4\x2e\x77\x87\xb5\xca\xd7\x92\xf5\x78\x3a\x59\x98\x2d\xdb\x1e\x5f\x3f\x63\x39\xbb\x12\x4d\x60\xe8\x1c\xd2\xae\xb1\xaf\x03\xd4\x9a\x5c\x20\x09\x88\x63\xf3\x5e\xc0\xf5\x7b\xe4\x40\x43\x2d\x1b\x36\x9b\xfd\xdb\xdf\x1e\x03\x6f\x35\x01\x18\x64\xc5\x0b\xde\x88\x1e\xf9\x9e\x18\xe7\x6c\xad\x22\xf0\x19\x4b\x53\xa3\xe6\x98\x63\xaa\x8a\x14\xb3\x29\xdf\x2f\xd8\xd9\x19\x08\x66\x34\xe8\x72\x1e\x72\xa4\x9a\x0a\x54\x00\x91\x02\x96\x58\xa2\x02\x49\xa4\xa3\x55\x01\xd8\xa7\x0b\x56\x88\x48\xc3\x56\x1e\x77\x68\x3f\x81\x93\x03\xea\x42\xa3\x7b\x76\x92\xf0\x3e\x12\x69\x12\x17\xc3\xa3\x7d\xad\x89\x91\xa6\x09\xf5\x40\xa2\x99\x93\x01\x17\x89\xa4\x69\x06\xdb\x7b\x0a\x94\xdf\x70\xf4\x17\x26\x2f\x05\x15\xd9\x28\x01\x43\x68\x8e\xe7\x30\x85\x13\x9b\xae\xbe\xb0\x7b\x36\x84\x76\xba\xd8\x93\xe8\x09\x73\x73\x3c\xff\x9a\x66\xcc\xa6\x8d\xcf\x37\xdd\x63\xef\x39\x8a\x1f\xf4\x52\xcb\x6b\x7b\x4c\x17\xd8\xb5\x69\x9d\x6b\xef\xbc\x17\x75\xf6\x44\xd3\x7a\x06\xb2\xe3\x9b\x74\x2f\xd8\x1c\x06\xab\x6f\x3d\xc3\x2f\x6b\x21\xe1\xc9\xbe\xdc\x81\x39\xe3\x8d\x76\xc0\x8d\x1a\x0e\x2f\xe7\x58\xec\xea\xfe\x7a\xd3\xbd\xcf\x96\x61\x77\xdd\x04\xf7\xff\xda\x6a\xaf\x9d\x9f\xad\xdd\x2c\x9c\xb6\x9c\xd2\xa5\xcf\x6e\xe1\xdb\x4c\xdb\x64\x3b\x3d\xa9\x32\x47\xa5\xdb\xbd\xbb\x1f\x37\xeb\xf9\x09\xd6\xfb\xaa\xd7\x24\x81\x7e\x7b\xd9\xb7\x85\x0d\x4e\x14\x84\x5b\xd1\xfc\xc2\xda\xbd\x86\x50\x85\x45\xc3\x36\x45\x34\x60\x67\x5e\xa8\xfd\x7d\x59\xc9\x4d\xd7\x52\x67\xc9\x26\xaf\x5b\x8f\xd9\x76\x2f\x07\x5d\x2a\x2e\x43\x7d\x0c\x6a\xd1\x5e\xff\xb6\x60\x94\x80\x4d\x7f\x23\x90\x82\xdc\xff\x55\x41\x87\xf1\xda\x27\x05\x31\x64\xf2\x7b\x82\x0e\x2c\xf5\x41\x85\x73\x6c\xd6\xce\xf1\x8f\xa4\x6f\xfc\x45\xed\xb9\xa0\xe7\xd7\x0b\x49\x93\xc1\x34\x6d\xca\x3e\xd4\xce\x06\x1e\x66\xf0\xc1\x45\x02\x31\x36\xa8\x47\x20\x5e\xf6\x09\x25\xec\x0c\xd3\x94\xf5\xd3\x68\xd6\xe8\x0e\x8e\x7d\xe4\x23\x34\xe6\x87\xa9\x75\x84\xd7\x47\x5d\x9a\x10\x45\xee\xa9\x48\x32\xe0\xe6\x64\x6a\x5e\xbb\x79\x3b\x9d\xaa\x0d\x0e\xec\x9e\x28\x6f\x25\x40\x79\xce\x6a\x2a\xc7\x02\xad\x70\x76\x7e\xda\x61\x3b\x3d\x6b\xd2\x65\x3d\x74\x4a\x42\x5f\xce\x4f\x3a\x8c\xed\xab\xa7\xe6\xdd\xdf\xb2\x5e\xaf\x8f\x40\x22\xfe\x8c\xe5\x8f\x10\xe4\xd5\x33\x79\x2c\x48\x1c\x26\x87\x09\x94\x74\x22\xb3\x63\x38\xc9\x40\x2c\x54\x6f\xbe\x24\x54\x42\x8e\x2a\xf4\x44\x4a\x22\x37\xe6\xf0\x5e\x71\xf6\x65\xe3\x79\xb4\x45\xec\xfc\x19\x7c\x69\xf1\x8a\x53\x2d\x01\xc7\xa5\x89\x50\xde\x6b\xc7\x80\xe1\x36\xfe\xb2\xc3\x5a\x2f\x0c\xf8\xc0\x62\xbd\x8c\x77\x83\xc1\x6e\xf0\xdf\x00\x00\x00\xff\xff\xc4\xcb\x2c\xe2\xa9\x26\x00\x00" +var _packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3b\x5d\x73\xdb\x38\x92\xef\xfe\x15\x1d\x3d\x4c\xa4\x5a\x87\xce\xcc\xce\xe4\xb2\xba\x68\x32\xd9\x38\xae\xb8\x6a\xc6\x49\x25\x9a\xdd\x87\x54\x2a\x05\x91\x2d\x0b\x65\x0a\xe0\x00\xa0\x14\x5d\xce\xff\xfd\x0a\x5f\x24\x40\x82\x92\x1c\x27\x77\x2f\xa7\x07\x5b\x22\x1b\xfd\x8d\xee\x46\x37\x49\xd7\x15\x17\x0a\x5e\x8a\x5d\xa5\xf8\x89\xfb\x75\xc5\xd9\x45\xcd\xae\xe9\xa2\xc4\x39\xbf\x41\x06\x4b\xc1\xd7\x30\xea\x5e\x1e\x79\xf8\xcb\xb7\x24\xbf\xb9\xba\x98\x3b\x38\xff\xb3\xb9\xff\x07\x2a\x52\x10\x45\xfe\x45\x71\x2b\x1d\x50\x74\x6d\x74\x72\x72\x76\x76\x06\x2f\x39\x53\x82\xe4\x0a\xd4\x8a\x28\x28\x70\x49\x19\x4a\xd0\xd8\xe0\xea\x62\x2e\x33\x0d\x74\x42\xf2\x1c\xa5\x1c\x93\xb2\x9c\x40\xee\x17\x38\x8a\xd3\x1e\xeb\xa7\x2d\x73\x5f\x4e\x4e\x00\x00\xc2\xf5\x1b\x22\x40\x71\x45\xca\xf7\x75\x55\x95\xbb\x29\xfc\x79\xc9\xd4\x93\x9f\x7b\x70\x25\x2a\xd8\xa0\x90\x94\xb3\x29\xbc\x57\x82\xb2\xeb\x24\xcc\x4b\x5e\x96\x98\x2b\xca\xd9\x7b\xc5\x05\xb9\xc6\xb7\x44\xad\xf4\x8a\xe6\xc7\x81\x65\x6f\xeb\x45\x49\x73\xbb\xaa\xfd\x7e\x60\x91\x97\xf0\x0e\x8b\xdf\x54\x28\x88\xe2\x62\x90\x4d\xb3\x4a\xdb\xe4\x9c\x1a\x1a\x44\xec\xac\x55\xa4\xe2\xc2\x1b\x45\xa0\xe4\xb5\xc8\x51\x02\x65\xa0\x56\xd8\xda\x43\x2a\xa2\x10\xc6\x34\xc3\xec\xb4\x31\x20\x08\xac\x04\x4a\x64\x8a\x68\x94\x12\x14\x87\x1b\xc4\x0a\xf4\x9a\x1b\xe0\x4b\xbb\x4c\x4e\x32\x4f\x3d\xe4\xdd\xe3\xb6\x02\x54\x24\xbf\x91\x53\xf8\xed\x8b\xb5\xd8\xd4\x10\xb9\xed\x5b\x18\x37\xc8\x14\xbc\xc3\x0d\x92\xf2\x1d\xfe\x55\xa3\x54\x63\x5a\x78\x43\x9f\x02\xaf\x90\xb9\xeb\x53\xf8\x27\xe7\xe5\x64\x00\xc5\x9b\x16\x30\x40\x30\x04\x6d\x09\x62\x11\xd1\x92\xa4\x54\x53\xf8\xa0\x7f\x3e\xfd\x78\x0a\x6c\xa9\xa4\xf7\xa6\x7d\x54\x23\x2c\x43\x80\x7f\x50\xa6\x3a\xe4\x56\x44\xae\x02\x72\x05\x95\xea\xf2\x20\x1e\xbf\x05\x2f\x19\x55\x94\x94\xf4\xbf\xb0\x18\x4f\xbc\x37\xc0\xfc\xcd\xf9\x9b\xa9\x86\x91\xb4\x40\x01\x02\xd7\x7c\x43\xd9\x35\x3c\xfc\x37\x55\xab\x42\x90\xed\x43\x20\xac\x80\x87\xe7\x58\x71\x49\xd5\x43\x8b\x54\x02\xe3\x5b\xe7\x3d\x74\x4d\x4b\x22\xda\x05\x2c\x5e\x81\x45\xb3\x86\x08\x04\x5c\x53\xa5\xb0\xd0\xee\xd5\x8b\x49\x8d\xaf\x69\xc9\xc5\x92\xe4\x38\x20\x92\x27\x15\x29\x47\x07\xa1\x29\xbc\x28\x0a\x81\x52\x3e\x1f\xd2\x86\xe3\x2a\x5a\xa9\x78\xb8\xae\xd9\x27\xaf\x58\xbd\x8e\xe3\x96\xde\x10\xda\xa1\x6b\xa9\x5d\x9b\xc4\x5b\x26\xe9\xe2\x96\xb2\x46\xf4\xde\xac\xb3\x44\x9f\xc2\x17\x03\xd4\x05\xcc\x89\x44\x78\x6f\xdc\x6c\xf8\xbe\x77\xc4\x61\x08\xeb\x62\xe6\xfe\x6d\x2b\xce\x3b\xc7\x67\x2c\x12\x69\xf7\xb2\x8f\x20\xa7\x5a\xa4\x4a\x7b\xc4\xa2\x44\x58\x72\x31\x6d\x70\xc0\x23\xe3\x96\xda\x41\x9a\x18\x6e\xac\x6d\x43\x85\xb0\x0b\x8b\xe6\x7e\x1b\x4e\x0c\xd1\x54\x68\x38\x0d\x91\x5b\xd9\xf4\x72\x69\x64\xec\x60\x39\xd5\xb4\x42\x78\xbd\xd7\x35\xb4\x70\x3a\xe9\xc0\x0f\x9b\xc4\x83\xf8\x34\xe3\x65\x9f\x36\xc9\x25\xbb\xf4\xd7\x7c\x9a\xf1\x74\xb5\x06\x80\x00\xc3\x6d\x18\x07\x1d\x3e\xad\x8c\x3d\x8a\xf8\x4f\x1b\x6d\x8d\xbe\xa2\x1b\xdd\x78\xfb\x50\xda\x80\x08\x45\x13\xad\x23\x26\x34\x1d\x81\xaa\x16\xac\xc5\x15\x31\xa2\xb8\xc5\x47\xca\x12\x45\x16\xae\xed\x3a\x4e\x23\xb1\x15\x18\x27\xb0\xac\x19\xac\x29\x53\xe3\x38\xc2\x9c\x42\xce\xd7\x6b\xaa\x5e\x9b\x30\x64\xc3\xdc\x29\x50\x29\x6b\x14\xcd\x0e\x9a\xe8\x10\xde\xa0\xbc\xba\x98\xdf\x06\xce\xae\x3f\x3a\xd6\xb3\xa5\x82\x67\x8f\x20\x17\xa8\x93\xca\xd5\xc5\x7c\x1c\x62\x6e\xbf\xb7\xd8\xed\xff\x49\x84\xc9\x13\x09\xf2\x3d\xcc\x92\x57\xff\x06\x3f\xf6\x78\xa8\x02\x0e\xf4\x9a\x7b\xb1\x60\x6c\xf5\x81\x2d\x55\x46\x8b\x8f\xf0\xec\xd1\x03\xa8\x22\x38\x1d\xf6\xc2\x88\x6e\x21\x7d\x44\x6f\xa9\x65\x05\xe6\xbc\xc0\xd7\xf8\x79\x3c\x69\x03\xbc\xfd\x1f\x53\x76\xc6\x7f\xf6\x48\xe3\x6a\xee\xdc\xc6\xae\x6a\xf7\x13\x10\x17\x54\x52\x01\xeb\x4e\x4e\x61\xf7\x59\x14\x3c\x6d\xce\xfb\xd0\x9a\xdc\x57\x31\x8b\x12\x6f\x3f\xfa\x14\xe9\x72\x62\xc2\x15\x8c\x19\x22\x35\x66\x26\x09\xe1\xf8\x06\x77\x53\xa0\xc5\x04\x9e\x3f\x87\x8a\x30\x9a\x8f\x47\x8c\x83\xac\xf3\x95\xd9\x1a\xa3\x58\x1f\x55\x16\x30\xa7\x55\x6b\x19\xd3\x7f\x3d\x13\xfa\xef\x3e\xf3\xf5\x4d\xd7\x51\xa7\x0e\xac\x40\x9a\x08\xdc\xdf\x75\x5f\xa1\x52\x1d\xc2\xee\xa0\xd0\xef\xab\xc2\x86\x99\x58\x81\xf7\x52\x5a\x27\xc2\x86\x11\xcf\x17\x24\x03\xf1\x69\x43\x71\x6b\xa0\xc6\x13\xf8\x72\x7b\xd7\x7c\x76\x64\xf0\x1f\x48\xc5\x5a\xaf\x51\xb9\x35\x08\xd5\x89\x7f\x49\x38\x7d\x2a\x91\xae\x00\xb0\x85\xc0\x30\x58\x58\x52\x3e\x3f\x49\xc3\x69\xc5\x68\xe7\xd9\xa0\xa0\xcb\xdd\x98\x2d\x95\xdd\x60\xcd\x46\xb3\x95\x6f\xc7\x57\x88\x94\x28\xd4\x58\x62\xb9\xcc\x5c\x19\xf3\x60\xe6\xf8\xc9\x6c\x84\x38\x85\x35\x4a\x49\xae\x71\x0a\x23\xa3\x1d\xc6\x55\x9b\x5d\x77\xa8\x3a\x2e\xa3\x39\xd6\x6a\xb2\x64\x61\xe6\xe8\x67\xc8\x7c\x18\xb3\xd4\x48\xa9\x1e\xc4\x2b\xa3\x55\xed\x8f\x2c\xe7\x2c\x27\x6a\x3c\x3a\x1d\x4d\xfc\xf7\x46\xbc\x49\xcf\xf5\xf5\x42\x98\x81\x0e\x9d\x2f\xca\x6b\x2e\xa8\x5a\xad\xb3\xf7\xaf\x5f\xfc\xf4\xe9\xa7\x5f\x9e\x64\xfa\xee\x38\xc0\x5d\xab\xe5\xd3\x49\x4a\x25\x69\xae\xf5\xca\x09\xcc\x12\x42\x99\x3b\xa1\xae\x5e\x36\x11\x1c\xb6\x44\x1a\xad\x19\xdb\x50\x2c\x46\xc9\xb8\xad\x44\x8d\xa9\x1d\xe3\xcc\xac\xe9\xdb\xf8\xf0\xa9\xb5\xf1\xd1\x71\x36\x95\xa8\x27\xfe\x4b\xc7\x29\x7a\x16\xd4\x88\x7a\x10\x8d\x09\x60\x66\x22\xc2\x87\xc7\x1f\xb3\x76\xd5\xb8\xef\x14\x14\x66\x9d\x9c\xbb\x5d\xd1\x12\x81\xc2\x33\x83\x20\x2b\x91\x5d\xab\x55\x87\x19\x6f\x56\xe9\xc9\xd0\x3d\x64\xf4\xa7\xc3\xd7\xb0\x0f\xc9\xfe\x5a\xcd\x22\xed\x95\x06\xb7\xff\xef\xa5\xad\x97\x36\x32\xed\x71\xd5\xf6\x14\xff\x1d\x2a\x84\x44\xc8\x9a\x1d\x0a\x59\x0e\x8e\x5a\x01\x2d\xd0\xa8\x6f\x94\x8d\xf6\x75\x8d\x37\xde\x61\xdd\x82\x21\xb5\x97\x92\x26\x88\x29\x34\x61\xcf\xed\xa8\xb0\xb0\x4b\x00\x3a\xd1\xbc\x64\xbd\x33\x1e\xf8\x1a\x32\x6a\x43\xe8\x2c\xdd\x72\x1a\xd7\x8e\x56\x9a\xcd\xe4\x68\xcb\xdd\xb3\x10\xd9\x6b\x29\xcf\xf5\x01\x5b\x79\xb0\x51\x42\x45\xc3\x56\xda\x97\x72\xee\x65\xbd\x8e\x51\x82\x63\x75\x64\x92\xa0\xa3\x43\x8b\xa4\xbe\x7d\x19\xf4\x55\xb5\xcf\x31\x67\xae\x8e\x2d\xce\xce\xe0\x3d\x2a\x73\xfe\x33\xa1\x47\x1f\x16\xed\x12\xdb\xaa\xd5\x37\x88\xb8\xae\xd7\xc8\x94\xcc\xfa\x92\xbb\x78\x95\x3e\x96\xf4\xc1\x1d\xea\x99\xa3\x71\xd2\xe5\xc5\x75\x9e\x02\x63\xdb\x4d\x99\xa0\xdc\xd5\xb9\x6b\x86\xf4\xa4\xd3\x1b\x4b\x3b\x0d\x2d\xa1\x66\x8a\x96\x2e\xee\xa4\x30\xda\x3d\xc8\x68\x19\x58\x06\xbe\x79\x29\x99\x6c\x55\xeb\xe3\x6f\xdb\xae\xee\xfc\xf2\x5f\x3a\x4d\xed\xe6\xfa\x9b\x2d\x43\x11\xf4\x20\x42\x67\x9a\xaf\xa8\xd4\x24\x1f\x4a\xa8\x19\xfd\xab\x46\xb8\x3c\xdf\x7b\xf6\x68\xab\xd5\x66\x83\x9f\x0c\x61\xb4\x66\x37\x9e\x73\x0a\xb5\xc4\x02\x14\x77\x95\xa6\xf1\x9c\xcb\x73\xd3\xfe\xd2\x5f\x4d\xff\x87\xb6\x2d\x88\xe3\x78\x88\xeb\xea\x21\x36\xac\x33\x65\x47\xd7\xdd\xdf\xe8\xe0\xdb\xb3\xe1\x9f\x55\x41\x14\xc2\x7f\xf7\xad\x6b\x2c\x14\xa5\xbd\x7e\xef\xb9\xb3\x33\xbd\x91\x45\xaf\x7d\x6d\x77\x52\xd1\xe9\x5f\x07\x3f\x06\x23\x4b\xf2\x54\x7a\x3f\x59\xf7\x89\x6a\xf2\xc4\x90\x5c\xbc\xd3\x53\x77\x52\x0d\xf2\xfe\xca\x34\x65\x7d\x53\x78\xbb\x32\x92\xe8\x13\x35\x95\x50\xa0\x54\x82\xef\xb0\x80\xb1\xc0\xaa\x24\x39\x4a\xf8\x67\x2d\x18\x16\xae\x97\xbb\xc0\x25\x17\x08\x2f\x49\x81\x2c\x47\xf8\x31\x7b\x0c\xb5\x11\x60\x72\xd0\x0d\x7d\x4f\xdf\x2a\xe9\xdc\x53\x0a\xf2\x9f\xaf\x0e\x34\xf3\x31\xcb\x9f\x31\xaf\x35\xb7\x8b\x9d\xe9\xae\xe9\xda\x50\xfb\xbf\x61\x4d\x84\x0d\xbc\x85\x2e\xa1\xd6\xa8\x56\xbc\xf0\x83\x93\x9c\xb3\x25\x17\x6b\xe9\xdb\x73\x7a\x11\x59\xe8\xba\xd8\xb7\xbc\xf7\xf2\x1e\x67\x6c\x8d\xff\x25\x29\xcb\x05\xc9\x6f\x06\x2d\x72\xb8\x39\xf6\xa8\x53\x01\x3b\xbd\xef\x6f\x2a\x78\xdd\x1c\xee\x2c\x74\x2c\x1e\x35\x29\xbf\x6f\x1a\x74\x3c\x7a\x4b\xd6\x35\x2d\xbe\x79\xae\x1b\x90\xf2\xa5\xed\x2b\x12\x06\xb8\xae\xd4\x2e\x18\xed\xc1\x92\x0b\x78\x4b\x19\x23\x79\x89\x6d\x03\xdd\x15\xdc\x54\xc5\x8d\xdb\x83\x8e\xac\xfd\xc0\x36\x31\x5f\x69\x42\x2d\x9d\xb1\x69\xc4\xf6\x36\x72\x0b\xd0\xed\xcb\xb6\x0d\x45\x6f\xf5\x34\x5e\xb6\x54\xf3\x5d\x85\x53\xd0\x7f\x9f\xfd\x76\x75\x31\xff\x75\x3c\x19\x34\xf7\xbb\xb6\x47\xbd\x76\xf3\x61\x6b\x54\xb5\xab\x74\x8e\xdd\x10\x5a\x12\x37\x67\x00\xe5\xa2\xff\xe1\x34\xd2\x74\x40\xae\x51\x99\x79\xb3\x16\xf7\x83\xe6\xe8\x63\x5a\xac\x0f\x1f\x87\x39\x94\xbc\xdc\x60\x43\xfc\xa1\x8c\x39\x95\x11\x37\x7e\x62\x76\xb9\xae\x4a\xd4\xf5\x53\x07\x18\xf4\xb9\x0a\xb1\xc0\xc2\x49\x64\x6c\xdc\x24\x48\x17\xda\xf4\x6e\x67\x85\xcd\xac\x7a\x4f\x13\xca\x8e\x17\x59\x58\x86\xb5\xd8\xe3\x4f\xe6\xb2\xb5\xc5\x64\x0a\x2f\xd8\xee\xbd\x12\x75\xae\x9e\xa7\xb5\xf0\x55\x55\x50\xe0\xbb\x7c\x19\xce\xee\xe1\x50\x51\xd4\xae\x4c\xd4\x46\xed\xcd\x44\xf1\xd3\x9d\x9f\x77\xea\x9f\x60\x84\xcd\x97\x46\xc1\x2e\xb0\x9a\x60\xac\xd1\xc7\x56\xf3\x29\x85\x04\xf3\x91\x5d\x85\xb0\xa5\x6a\x05\xc4\x47\xfc\xcb\x73\x58\x52\x2c\x8b\xbd\xee\x67\x3b\x33\x1b\x22\x80\x6f\x19\x16\x5a\x13\xe1\xd0\xba\xbf\xe3\xae\x2e\xe6\xb7\xdd\xe8\xd0\x6a\xf4\x2b\xbb\xa1\xfd\xc0\xd4\x70\xa3\x77\xf0\x97\xdb\x61\x6f\xd7\x31\x5c\x07\xa6\xe6\xe9\x0e\x3b\x76\x6a\x38\xd2\xd1\x48\xc3\xc8\x5e\x30\xba\x5b\x2d\xe1\x87\xb4\x07\x2a\xa7\xad\x9f\xe5\xfa\x2f\x97\xe7\xcd\x44\x3b\x19\xc1\x06\x46\x4a\xc6\xea\x5a\xf6\x58\x1b\x51\xd2\x6a\x49\x84\x79\x6b\x4d\xa5\xd4\x7e\x73\x75\x31\x1f\x4d\x7a\x47\x8d\x66\xac\xed\x6a\x06\x5f\xab\x18\xd5\x1d\x31\xc2\xce\xfa\x07\xc6\x68\x7c\x6d\xf8\x36\x85\x9f\x1d\x60\x37\xec\x8b\xe7\x19\xf1\x79\x6d\x78\x50\x3f\x10\xc2\x0d\xd6\x21\x1f\x70\x33\x70\xef\x04\x94\x19\x2b\x53\x19\xf8\xe5\xe1\x08\xac\x6d\x57\xb8\x61\xba\xa1\x36\x68\xac\xd4\xc8\xa2\xb1\x96\xfd\x42\xe4\x03\xd0\x99\xa4\x07\x17\xd5\x63\x5e\x55\x5d\x13\xbd\x28\xec\x00\x9a\xe9\xb4\x62\xf0\x39\xb7\x6d\x67\xa7\xb0\x5d\xd1\x7c\x65\xb5\xe6\x06\xf9\xbc\x2c\x80\xb3\x8e\x7d\x34\x4d\x5e\x16\xf3\xb4\x33\xb9\x61\x87\xd3\x6e\x97\x8d\xe6\x81\x87\x6f\xe7\x29\xe1\xd3\x0a\xda\x45\x14\xbf\x9f\x83\xf8\xd2\xce\x8b\x78\x20\x6b\x13\x06\x44\x08\xb2\xf3\xc7\x3d\x7d\xf2\x33\xc9\x81\x88\x60\x60\x7d\xbc\xcf\x84\x59\xfb\xf2\xdc\xe6\x6c\x6b\xdd\x81\xac\xdd\xd9\xcb\x37\xb8\x93\x47\x14\x1a\x64\xcd\x6b\xa6\x5c\x66\x90\x76\xe2\x5e\xdc\x97\xdf\xdf\x4d\xbf\x5a\xb3\x7c\xc9\xd4\xd1\xdc\xba\x36\xf7\x21\x3d\x43\x49\xa5\x67\xd8\x55\x46\x46\xcf\x66\x57\x0a\xcc\x91\x6e\x50\x18\xd6\x2a\x25\xef\xc6\xb7\x2e\xf2\xb9\x50\x86\x27\x5d\x25\x18\xad\x7f\xb1\x15\x9c\x3e\xa1\xa6\x62\xa9\xf4\x6b\xcc\x82\x0e\xf8\x2c\xcc\x2e\xfa\x13\x43\x7f\x08\xcb\xc2\x8f\x7a\xd7\x86\x93\x8e\x50\x5b\xd1\xb2\x03\x1a\xda\xae\x50\xad\x50\x00\x17\xa6\x51\xa8\x0d\x79\x4d\x37\x7a\xa7\xeb\x34\xae\x33\xbb\xd1\x8d\x3d\x95\x7d\xb5\x99\xa9\xec\x6a\x6b\xac\x9a\x52\x37\x3d\x53\xa3\x4b\xcb\xc2\x6c\x16\xd5\xc3\x89\xb9\x46\x6a\xf0\x03\xbd\x81\x83\x83\x5a\x92\x52\x26\xe7\x43\x91\xd7\x08\x5c\xa2\x30\x67\x5f\xc5\xdb\x68\x6e\xe4\xbf\x4b\x28\x6f\xe4\x5f\x70\x21\xf8\xf6\xea\x62\x3e\xfe\x14\x44\xde\xc9\x14\x7e\x48\x47\xf6\x81\x2a\xf3\x87\x7e\xd4\xfc\x8a\x73\x92\x8b\x39\x92\xac\x5d\xb1\xd6\x1e\x93\xee\x58\x9a\x7c\xaf\x83\xd2\x3d\xcf\x49\x10\x97\xdf\xaf\x74\xc0\x27\xf1\x83\x8d\x2e\x93\x28\x0e\x92\x5e\xb3\x5e\x43\x4b\xdb\x5b\xae\x78\x5d\x16\xb0\xc0\x66\x4c\x7b\xe0\x59\xcb\xb6\x5d\x75\xd4\xd3\x93\x10\xfa\xb2\x7d\xda\xa0\x6d\x23\x58\x87\xd1\xbf\xde\x45\x0f\x82\xfa\x66\x78\x53\x65\xc1\x78\x74\x95\x6e\x0f\xb8\xb9\x41\xe5\x5a\xbf\x99\x20\xdb\x7f\x91\xb2\xc6\xde\x9c\xa7\xb9\x33\x34\x44\x58\xd7\x52\x69\x3d\x38\x0d\x2d\xcd\xb3\x06\xa6\x0d\x28\xac\x40\x01\xd5\x60\x96\x12\x6a\xe1\x70\xff\xad\x67\x30\x16\x3e\x47\x9a\xb0\x57\xff\x61\x91\xd6\x62\xdc\x4c\x0e\x8e\xb0\x57\xb7\xad\xe6\x36\xe6\xff\xb9\x65\xbc\x70\x47\xdb\xa6\xd1\x86\xb6\x8e\x96\x6a\xc8\x36\xdd\x87\x73\x7d\x0f\x31\x3a\xaf\x26\x7a\xbc\x7b\xbb\xf5\x5a\x95\x95\x39\x4f\xbe\xfb\x76\x63\xca\xef\xa0\xf9\x3b\x3d\xcb\x14\x69\x24\x99\x18\x3a\xb3\xa7\x6e\x3d\x14\x3e\xe0\x3d\xac\xbb\x4e\x92\x18\x90\xaf\xcd\x18\x1a\x20\xcc\x0f\x2e\x6a\x8e\x6d\x72\x68\x9f\x1d\x22\xd2\xc1\x4e\x1e\x74\xc5\x39\xd4\x44\x8b\x9e\x40\x1d\x68\xa0\xed\x77\x86\x23\x22\xf7\x5d\xb2\x03\x5d\x82\x5b\x0b\x0f\xf6\xd6\x03\xee\xe4\xe9\xab\x3d\x3f\xff\x6c\x4a\xa2\x51\x37\x4f\x44\x79\xc7\x3f\xb5\x18\xe6\xb0\x01\x57\xe8\xf5\xdd\x24\x50\xdf\xb9\xf2\xc5\x12\x95\x8d\x13\xc4\xda\xd2\x78\x7e\x73\x54\x5f\x04\x47\x01\x53\xb0\xd9\x06\x91\x6f\x7e\x87\x48\x6d\xd3\xcc\x8e\x72\x36\x26\x60\x6c\x69\x59\xea\xdd\x6f\x86\x49\x8b\x5d\x83\xdc\x7f\x0a\xdc\x60\xc9\x2b\x14\xf6\x05\x02\xc6\xb7\xee\xbc\x56\x11\x41\xd6\xa8\x50\xe8\xeb\x15\x91\x4d\xdf\x3c\xec\x81\x4d\x5c\x8f\xfd\x08\xdf\xbd\x46\xe5\x1f\x87\xb7\x5d\x43\xbf\x29\x5a\x7b\x3f\x4f\x35\x12\x7d\x13\x31\x32\xa2\xb1\x6f\xf4\xd2\x4b\x16\x75\xae\xce\x89\x22\xbf\x8e\x27\xa7\x77\x5b\x44\x65\x55\x92\xdd\xaf\x41\xef\xf9\x63\xaa\x51\x57\x6e\x10\x48\xa7\xa5\xda\xb4\x50\xf7\x98\xd3\x68\xd4\x37\x0d\x57\x68\xf8\xf1\xa5\x56\x81\x92\x0a\x67\xc0\xac\xef\x01\x20\x4d\x6b\xb1\x16\xd8\xbe\xf6\xe1\xed\xef\xa2\x78\x77\xf1\xb0\x25\x9c\x01\x43\x6b\xa4\x8c\x71\x6a\x56\x44\xbb\x31\xd9\xe3\x94\x5b\xaa\xf2\x55\x03\xdc\xd9\x6e\xe6\xa9\xf8\x23\xcd\x35\xed\x15\xee\x3a\xc0\xe7\x11\x18\xcc\xe0\x00\xa2\x71\x0f\x8b\xe1\x32\x7c\x37\xe7\xcc\xfd\x3a\xcb\xed\xfc\xea\xd5\x67\xa2\x37\x51\x84\xea\x34\x89\xa6\x0a\xde\x0a\x3a\xb3\x3f\xbe\x16\x49\xd8\xa1\x35\x0a\xfa\xa1\xbd\xd2\xf3\xdd\x78\xe9\xef\x94\xdd\xd8\xc3\xdb\x1d\x96\x26\x03\xee\x45\xcd\x1c\x0b\xe3\x65\x7d\xf7\x7a\x3c\xfc\x7c\x9b\xda\x3c\xfc\xdc\xf6\x2f\xf7\xaf\x38\xb2\xb1\x97\x7c\x85\x0b\x36\x9b\x3f\xed\x85\x6b\x2c\x68\xdf\xf9\xfe\xd0\x57\xd3\x0e\xb7\xa4\x25\x4e\x3b\xe0\xaf\xe7\xf3\xb7\x17\xb4\xc4\xf4\x0a\xfd\xa9\x45\x39\x85\xd1\x4a\xa9\x4a\x4e\xcf\xce\x74\x19\xa8\x64\xb6\xc5\x85\xa4\x0a\x1f\x69\x94\x32\xcb\xf9\xfa\xec\x97\xe5\x93\x9f\xfe\xf1\x73\xfe\x38\xff\x0f\xf2\x34\x2f\x8a\x27\x3f\xff\x7d\xf1\x63\xfe\xf4\xa7\xc7\x9d\x1b\xe4\x97\x5f\xf2\xc5\x8f\xf9\x3f\xfe\xfe\xe4\xd3\x45\xc9\xb7\x9f\xfe\xcd\x45\xb1\x26\xe2\x26\x93\x9b\xeb\x51\x92\x87\x01\xdf\x31\xd2\x5b\xb3\x8d\xe8\x5a\xef\x1c\xb9\xb9\xfe\xdb\xe7\x75\xd9\xc7\x32\x68\xa1\xc3\xca\x4f\xab\x85\x91\xb5\x26\xab\x23\xa6\xdb\x62\x41\xf6\x1d\xa5\xf9\x2d\x50\xe6\x82\x56\xd6\xb3\x47\x73\x1b\x98\x9b\x0a\x86\x4a\x9b\x0e\x89\x34\x05\x8e\x43\xaa\x38\xac\xb0\xac\x60\xc7\x6b\x9f\x15\xf5\x77\x01\x0c\x3f\x2b\xd0\xfa\x33\x15\xee\x00\x45\xfc\xac\x50\x30\x52\xfe\xf9\xee\xf7\xae\xd5\x5f\xb5\xb7\xc6\x8d\x69\x1d\xd5\x47\x6c\xa9\x32\xce\x96\x25\xdf\x66\x5c\x5c\x8f\x06\xf4\x2f\xff\xaa\x89\xc0\xcb\xb5\xa9\xee\x8d\x31\xd2\x70\x0b\xc2\x18\x8a\xc3\x70\x92\xe7\x94\x94\x72\xba\x67\x3b\x8f\xd4\x96\x2a\x85\x62\x74\x94\x38\x0e\xd8\x38\xa7\x16\xe6\xd3\xa2\xe4\xf9\x4d\xbe\x22\x94\x8d\x06\x36\xf7\x1e\xcf\xe9\x15\x5e\x7e\x78\x16\x64\x62\x3f\xd2\x0b\x9a\xb9\x9d\x29\x8e\x4f\x82\x66\x70\xd3\x60\x3c\xfc\x56\xe9\x69\x02\x36\xfd\x36\x68\x0a\x72\xff\xfb\xa3\xed\x8a\x43\x2f\x8d\xb6\x90\xa9\x77\x65\xc3\xaa\xd6\x54\xf5\xf1\xb3\x06\x8f\xe3\x9b\xf6\x75\xa6\x78\x38\x65\x6e\x24\x95\x01\xb3\xb4\x92\x86\x96\xb6\xd2\x45\x2b\x3b\x2f\xcd\x26\x16\xf6\x55\x15\x21\xe8\xdf\x8e\x11\x25\x34\x08\xb3\x94\x5e\xe3\x65\x4e\x9d\x30\xf3\x8a\x0d\xdb\x62\xcd\xc1\x27\x8c\x17\x8a\xfb\x46\x70\xe7\xe0\x63\xb2\xb1\x5c\xb9\xac\xdc\x76\x8b\x73\x52\x91\x05\x2d\xa9\xa2\x18\xb4\x8c\x0d\x75\x92\xe7\xbc\x66\x2a\x73\x15\x48\x26\xc9\x06\xc7\xe9\x73\x45\x30\x73\x48\xda\x63\x92\xc6\x1c\x11\x77\x1c\xc6\x91\x75\x18\xdc\x73\x65\x9e\xb0\x78\x96\x68\x3d\x76\xcd\x7b\xfb\xeb\x78\x0f\x83\x71\xf0\x21\xaa\x27\x4d\xc2\xb4\xff\x0b\x52\x1d\x1c\x79\xdf\x53\xaa\x3d\x8e\x3b\x49\x3b\x5b\xd3\xa0\xe2\xfe\xa1\x43\xc5\x41\xae\x88\x40\xf3\x32\x60\xeb\x50\x3b\x3b\x37\xaf\x04\xff\xbc\xbb\x9b\x67\x75\xde\x05\x8a\xdc\x2b\xb1\x67\x8e\x31\xc3\xb0\x5e\x3d\x42\xaf\xc8\x41\x02\xb7\x27\xb7\x27\xff\x13\x00\x00\xff\xff\x97\x6c\x0d\x36\x36\x41\x00\x00" func packnftCdcBytes() ([]byte, error) { return bindataRead( @@ -128,11 +137,11 @@ func packnftCdc() (*asset, error) { } info := bindataFileInfo{name: "PackNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x89, 0x2d, 0x2d, 0x63, 0x21, 0x4c, 0x72, 0xdc, 0x67, 0x2c, 0xba, 0x5d, 0xdf, 0x1d, 0xbf, 0x84, 0x9b, 0xff, 0xd8, 0xf6, 0x6, 0x34, 0x25, 0xb8, 0x0, 0xe8, 0x3e, 0xf3, 0x5, 0x13, 0xc0, 0x39}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _packnft_alldayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x1b\xed\x6e\xdb\x38\xf2\x7f\x9e\x62\xea\x1f\x81\x8c\x4b\xec\x6e\x71\x2d\x16\x46\xdc\x34\x6d\x6a\x34\xb8\xd4\xed\x25\xe9\x1d\x0e\x45\xd1\x65\x24\xda\xe6\x46\x26\xb5\x24\x65\xd7\x1b\x18\xb8\xd7\xb8\xd7\xbb\x27\x39\x90\x14\x25\x52\xa2\x64\xa7\x1f\xd8\x3b\x9c\x7e\x24\x96\x34\xc3\xf9\xe4\x70\xc8\x19\x91\x65\xc6\xb8\x84\x57\x7c\x93\x49\x76\x50\xdc\x4d\x19\x9d\xe4\x74\x4e\x6e\x53\x7c\xc3\xee\x30\x85\x19\x67\x4b\x78\xfc\xe5\xfe\x7e\x50\x7f\xb5\xdd\x5a\xa4\x36\x8c\x16\xf0\x8b\xf7\x28\xbe\x9b\x4e\x6e\x1c\x48\xfb\xa8\x02\x7a\x8b\x25\x4a\x90\x44\x7f\x23\x78\x2d\x1c\x48\xef\xf9\x76\x7b\x70\x90\xe5\xb7\x10\x33\x2a\x39\x8a\x25\x14\xc3\x8c\x1a\x72\x1c\x55\x54\xef\x0f\x0e\x00\x00\x14\xde\x0a\x71\x90\x4c\xa2\xf4\x3a\xcf\xb2\x74\x33\x82\x0f\x17\x54\x3e\xfb\x73\xf9\x3e\xc5\x12\x56\x98\x0b\xc2\xe8\x08\xae\x25\x27\x74\xee\xbd\x7b\xc5\xd2\x14\xc7\x92\x30\x7a\x2d\x19\x47\x73\xfc\x1e\xc9\x85\x82\x2c\x6f\x5a\xc0\xdf\xe7\xb7\x29\x89\x0d\x74\xf5\xbb\x05\xd8\x72\xbe\x07\xd2\xbb\x0c\x73\x24\x19\xdf\x8b\x1d\x0b\xfc\x9e\x93\x55\x31\x2a\x27\x2b\x24\x0d\xa4\x06\x1d\x0e\x81\xe3\x8c\x63\x81\xa9\x44\x8a\x17\x60\x33\x90\x0b\x0c\x4a\x91\x84\x82\x5c\x10\x51\x69\x5f\x32\xb8\xc3\x38\x03\x75\x77\xa7\x20\x85\x44\x12\x0b\x3d\x12\x8a\x63\x2c\x44\x64\x61\xfb\x9a\x83\x0c\xc5\x77\x62\x04\x2f\xee\x8d\xde\x47\xda\x7e\xdb\xca\x3e\x78\x85\xa9\x84\x2b\xbc\xc2\x28\xbd\xc2\xbf\xe5\x58\xc8\x88\x24\xd6\x4c\x47\xc0\x32\x4c\x8b\xe7\x23\x78\xc9\x58\xda\xaf\xa1\xbe\xab\x00\x1c\xc4\x3a\x94\x21\x80\x13\x6f\x6c\x81\x52\x69\x8d\x7e\x04\x74\x26\x85\xbd\x0b\x11\xf1\x90\xeb\x00\x6f\x09\xf5\xf9\x8e\xd9\x72\x49\xe4\x1b\x24\x16\x15\x85\x84\x08\x79\xd1\x3a\xc4\xab\x42\x6f\x17\x94\x48\x82\x52\xf2\x3b\x4e\xa2\x3a\xcc\xdf\x89\x5c\x24\x1c\xad\x3d\x52\x6a\xe6\x8c\xe0\x2c\x49\x38\x16\xe2\xb4\x8e\x72\x8e\x33\x26\x88\xcf\x9c\x64\xed\xf0\x2f\x73\x5e\x17\xb5\x82\xa0\xf9\x12\xae\x25\x92\xb9\x30\x6f\x7f\x86\x7b\xfd\xd2\x02\xc4\x48\x60\xb8\xd6\x9a\x6e\x3e\xb7\x36\x68\xbe\x31\xea\xd5\xcf\x1d\xd7\xe0\x58\xb0\x9c\xc7\xd8\x4e\x79\xeb\xcc\xa3\x72\xa2\x0f\x2e\xec\x33\x3b\xe5\xcb\x71\x67\x39\x85\xa5\x32\x8a\xaf\xf4\xb0\x61\x88\x10\x39\xe6\xa5\x4e\xfa\x23\x78\x31\x9d\xdc\x54\xa2\xa9\x4b\x39\x33\x9d\x49\x38\x39\x86\x98\x63\x24\xf5\x04\x89\xdc\xd1\xaa\xdf\xd5\x88\xe6\x7f\xdf\x1b\xc9\x32\xef\x84\x25\x18\x07\x9f\xfe\x09\x7e\x6a\xf0\x90\x01\x9c\x1c\x17\x1c\x28\x9c\x6f\x62\x41\xcf\xce\x8f\x74\x26\x07\x24\xf9\x04\x27\xc7\x8f\x20\xf3\xe0\xf0\x92\x38\xbe\x6d\xe0\x7c\x15\xba\x14\xad\xaa\xcd\x7f\x9f\x22\xc7\x32\xe7\x54\x69\x8f\xce\x64\xf5\x66\x7b\x70\x50\xb7\x1a\xd7\x6e\xe2\xf9\xab\x99\x9a\x1f\xef\x4b\xbb\xdb\xc8\x79\x9b\xe2\xed\x27\x7f\x22\xf7\xa1\x69\xb7\x4c\xd1\xf5\x64\x1e\x70\xbc\x64\x2b\x1c\xdd\xe1\xcd\x08\x48\xd2\x87\xd3\x53\xc8\x10\x25\x71\xd4\xa3\x0c\x44\x1e\x2f\x74\xe4\xea\xf9\x42\x64\x03\x87\x39\xa5\x09\xc3\x98\xfa\x6b\x99\x50\x7f\xbb\x74\xdd\xd4\x73\x40\x05\x2a\xe8\x3d\x40\x01\x3f\x56\xe4\x92\x19\x5f\xe0\xaf\x16\x12\x08\x25\x32\xea\xdf\x6f\x3b\xe7\x7b\x2d\xb0\x28\x91\x9a\x33\xb7\x01\x52\x9b\xc8\xde\x7b\x95\x09\x88\x22\x76\x59\x76\x4d\x2c\x6b\x82\x39\xfe\x74\xda\x34\xcf\x0a\x73\x32\xdb\x44\x74\x26\x0d\x48\xe9\x7a\x66\x85\xaa\x59\x03\x09\x81\xb9\x8c\x04\x4e\x67\x03\x43\x1f\x1e\x8d\x6b\x1c\x0c\x4c\xcc\x3c\x82\x25\x16\x02\xcd\xf1\x08\x7a\x5a\x09\x94\xc9\x62\x3e\xe0\x04\x36\x58\xd6\x8c\xa3\x78\x5d\x20\xb1\x30\xe4\x61\x0c\x86\x08\x4a\xe5\x23\x0f\xce\x83\xa9\x6e\x06\x31\xa3\x31\x92\x51\xef\xa8\xd7\xb7\xbf\x4b\xa1\xfa\x0d\x97\x52\x88\x30\x06\x65\x80\xb3\x74\xce\x38\x91\x8b\xe5\xe0\xfa\xcd\xd9\x93\xcf\x4f\x9e\x3e\x1b\xa8\xb7\x91\x33\x76\x2e\x67\x3f\xf7\x5b\x15\x51\xd9\x12\xc6\xe3\x42\x7d\x03\x4c\x63\x96\xe0\x37\xf8\x8b\x1e\xa7\xef\x6a\xe3\x55\x05\xbf\x46\x42\xeb\x45\x5b\x81\xe0\xa4\x17\x0c\x34\x92\xe7\x38\xe4\x7d\x45\x92\xa2\x98\xe8\x6b\x63\x7e\xae\xac\xb9\x77\x8c\x09\xad\x22\x7d\xfb\xa3\x66\xfe\xa6\x8d\x50\x2a\x1b\x10\xa5\xda\x61\xac\x67\xd7\xc7\xc7\x9f\x06\x15\x56\xd4\x34\x3b\x81\x71\x6d\x71\x58\x2f\x48\x8a\x81\xc0\x89\x1e\x60\x90\x62\x3a\x97\x8b\x1a\x33\xd6\x94\xc2\x92\x21\x1d\x64\xd4\x55\xe3\xab\xdd\x6f\x44\x13\x57\xb1\x48\x1a\x6b\xd8\xf6\xff\xdd\x33\x4b\x39\x3a\xdc\xb3\xca\xa1\x7f\xc0\x8a\x18\x08\x48\xe3\x7d\x03\x52\x01\x4f\x8c\xa0\x06\xa8\xd7\x34\xc8\xca\xc6\x22\x7f\x76\xd5\x17\x4a\x7f\x1e\xd5\xd4\xef\x8f\x5a\x46\xb6\xd0\x0c\xf2\x44\xa9\x4b\xd2\x48\x3b\xc1\x26\x36\xde\xa6\x40\xad\x6e\x2e\x67\x86\xe3\x55\x7f\x6f\x2b\x7d\xe3\xa2\xbd\x97\x55\x2c\xc7\x3b\xec\x62\xc1\x7a\x01\x1d\x76\x58\xa4\x5c\x3c\x1e\x6c\x97\x16\xd5\x3b\x79\xbd\xa7\x78\x67\x3b\x45\x92\xa0\x86\x75\x8e\xb0\x4f\xaa\x5e\xd3\x62\x63\x0a\x3b\x92\x34\x01\xcd\x60\x2a\x4c\xe9\x1f\xfb\x0b\x76\xdd\xf4\x28\xd7\x41\x29\x49\x1d\xa1\xa0\x25\xcd\x09\x9e\x62\x0c\x2e\xa6\x93\x9b\x23\x67\x87\x53\xfc\xa8\x1d\x71\x94\xcf\xdf\xad\x29\xe6\x76\x17\x74\xe4\x9f\xa9\x0c\xae\xb0\x60\xe9\x0a\xf3\x40\x32\x55\x39\xea\xf7\xc8\xb3\xda\x92\xf8\xe6\xee\xfd\x3e\x98\x36\xf2\xc6\xfe\xdf\xd8\x27\xa9\x1d\x00\x38\x37\x41\xb7\xf1\x12\xe8\x16\x5a\xac\x76\x60\x50\x50\x0a\x8d\x97\x60\x21\x39\xdb\x44\x35\x2f\xdb\x23\xbf\xb6\x83\xee\x95\x64\xef\xbf\x21\x3c\x86\xe8\x27\x40\xc2\xdf\x99\x17\x97\x9e\x59\xce\xee\xbd\x21\x57\x25\x50\x95\x98\x6f\x0f\xbe\xd3\x9c\x23\x89\x0d\xf9\x79\x4e\x02\x33\xe3\x9b\xe7\xa4\xcb\xe9\x70\x08\x67\x69\x0a\x22\xcf\x32\xc6\x25\x4e\x60\x59\xb8\x3d\xac\xcc\x59\x22\xe3\xfa\x08\xeb\x2d\x5b\x62\x2a\x81\xd0\x38\xcd\x13\x95\x63\xa8\x87\xaf\x18\x37\x87\x5b\x7a\x8e\x38\x63\x36\xbc\x68\x8e\xa5\x86\x89\xfa\x23\xf8\x78\xb3\xc9\xf0\xa7\x9a\xe4\xc5\x8a\xfe\xb1\x91\xfa\x28\xe0\x13\x7f\x2e\x9e\x13\x91\xa5\x68\xf3\x3c\xea\x1f\xed\x03\xfe\xfa\x8b\xc4\x9c\xa2\xf4\xc3\xd5\xe5\xbe\x28\x6f\x71\x42\x90\xd8\x17\x7a\x3a\xb9\xa9\xce\x1f\xcf\x91\x44\x5f\x87\xf8\x30\xa9\xae\xd8\x06\xa5\x92\xe0\xbd\xb9\xbc\xc6\x9c\xa0\xf4\x79\x2d\x33\xfd\xd4\x35\xf7\xb9\x09\x7a\x0a\x3f\xfa\xac\x1d\x62\xa4\x47\xee\x8f\xe0\x8c\x6e\xae\x25\xcf\x63\x79\x5a\x77\xe1\x35\x91\xf1\x42\x03\x07\x32\x66\x7d\x46\xd5\x69\xd2\x51\x03\x07\x2a\xf7\x08\x22\x45\x41\x0c\x75\x51\xb4\x54\xcb\xfa\x74\x72\xa9\x9d\xfc\x1c\x6d\x74\x28\xe8\x35\xf5\x65\xaf\x04\x8b\x98\x93\x4c\xea\x33\xec\x9e\x59\xfc\x05\xb0\xd9\x8c\xc4\x04\xa5\xe0\x8e\x64\x66\x84\x80\xf5\x02\x9b\x28\x89\x93\x8e\x81\xe5\x22\x5f\xde\x52\x44\xd2\x51\x4d\x88\x37\x37\x37\xef\x27\x24\xc5\x51\xce\xd3\x22\xd2\xcc\xb1\xbc\x58\xa2\x39\x8e\x88\xfa\xab\xb4\x35\x82\x9e\xfe\xdd\x3b\x52\x13\x72\x89\xe4\x08\x7a\xbf\x66\x78\xde\x3b\x82\x35\x49\xe4\x62\x04\x4f\x9e\x3e\xeb\x37\xf7\x0d\xea\x6a\x3e\x6d\x33\x82\x3f\x51\x1e\x60\x08\x07\x31\xea\x2d\xa4\xcc\xc4\x68\x38\xa4\xb3\x14\xa5\x69\x82\x36\x2a\x60\x0d\x55\xa8\x56\x19\xd2\xb0\x57\x6e\x73\x4c\xac\x1b\x48\x66\xb7\x4c\xfd\xbe\x0a\x47\x4b\x32\x5f\xa8\x7d\xc8\x0a\x83\x64\xb0\x44\x77\x18\x10\x7c\xb8\xba\x04\xb9\x40\x6a\x0b\x9f\x10\x8e\x63\x29\xd4\x4b\xbd\x58\x40\x86\xe6\x18\x6e\x91\xc0\x09\x30\xaa\x9f\xe9\xf3\xf6\x04\x8e\x9f\xeb\xf3\x33\x4e\x6e\x73\x7d\x1a\x5f\x0b\xa6\x5d\xaa\x28\x03\xc0\x03\xb4\x60\x70\xda\xbd\x91\x48\xbc\x54\x59\x6c\x2b\x80\xba\x02\x43\xb6\x8f\x68\xaf\x19\x49\xf1\x0f\xf2\xab\xa7\x3f\x3d\xe9\x07\xe2\x4b\xfd\x5a\x2a\x46\xdd\x11\x87\x7a\x98\x4e\xbc\xb0\xbb\x82\x17\x94\xba\xe1\xdb\xac\x17\x0a\xc8\x0f\x30\x64\x03\xbd\xdd\x02\xc2\x2d\x1d\xd5\x37\x27\x5e\xa1\xab\x5d\x87\x99\x5b\xa9\x6a\x0c\x51\xd5\xae\x3a\x46\xe0\x6c\x45\x12\xcc\xfd\x31\xea\x15\xab\x5d\x1c\x54\x34\x4d\x94\x3f\x39\x6c\x72\x73\xdf\xc8\x9a\xeb\x9c\x6e\x83\xeb\x91\x4f\xe9\x92\xd0\x3b\x9c\x18\x77\xf9\x7a\x4a\x47\x8d\x84\xff\x0a\xc7\x98\xac\x30\x6f\xbe\x69\xe0\x86\xb3\xfb\x0a\x6c\x87\x18\x85\xc2\xf7\x12\xa4\xc1\xcc\xfb\x02\xfb\xe8\xbf\x59\x44\x53\x17\x79\xbd\xcc\xe4\xa6\x42\x99\xe4\xb4\x70\x90\x48\xe5\x07\x91\x2e\xef\xb4\x33\x12\x48\x00\xdc\xab\x2c\x64\x58\x35\x04\x69\x06\x8e\xd2\xec\xb5\xfd\xd6\x15\xaf\x25\x01\x0b\xc6\x0a\xb5\x55\xb9\x45\x94\x62\xae\x83\x28\x8c\x1f\x16\xab\x3b\x63\x74\xa7\x9a\x74\x00\x2f\x97\x55\x24\x04\x96\x62\xe0\xaf\xae\xb3\x94\xad\x87\x31\x92\x28\x65\xf3\x1c\x0f\xa7\x93\xcb\xb3\xf3\xcf\x2f\xcf\xa6\xd3\xd7\x57\x83\x8c\x76\xc4\xe1\x0e\x07\x68\x86\xf4\xd6\x91\xc2\x66\xd0\xa7\xa3\xbf\xe5\x88\xe3\xff\x11\x85\x5d\xff\xf5\xc3\xd9\xd5\xeb\x3f\x4e\x61\x7b\x2c\x46\x5f\x99\xf1\x8a\xbd\x53\xde\x77\x45\xaa\x9b\x6e\xe0\x92\xc4\x98\xaa\xac\xea\x9c\xcc\x89\x44\x29\x38\x87\x6e\x02\x26\x18\xc9\x9c\xdb\x9d\xe0\x74\x72\xf9\xef\x7f\xfe\x4b\xc0\x4b\x2c\x24\xbc\x21\xf3\x45\xaa\xb2\x38\x31\x80\x97\xf9\xe6\x08\xae\x71\x9a\x02\xa2\x89\x1d\x01\xfe\xc1\x72\x0e\x13\xb4\x62\x9c\xe8\xea\xef\xa5\xcd\xa6\x3b\xf8\xc4\x55\x92\x59\x77\x8b\x3d\xf2\xcf\x5e\x87\xe1\x1c\x27\x1d\xb9\x37\xed\x18\x4e\x1c\x18\xb9\x37\x1d\x34\x98\xd2\xaa\x18\xed\x08\x89\x3d\x42\x85\x44\x73\x8e\x96\xbd\xbd\x84\x5c\xaf\xd7\x83\x12\x45\x0b\x5a\x8a\xdd\x29\xb2\xa6\x25\xd7\x44\x4a\xcc\xf7\xa3\x54\x00\x6b\x1a\x6a\xba\xa4\xe9\x39\xda\xec\x24\x91\x10\x11\x33\x9e\xec\x47\xa2\x00\xd6\x24\x08\x5d\x11\x89\x87\x4f\xff\xf2\xec\xb7\xcd\xcd\xef\xbf\x3e\xa9\x17\x53\xdd\x6b\xbb\xef\x1c\x6b\x5b\x06\xdc\xbd\x74\x38\x4f\x54\xb1\x8c\x6b\xa8\x8d\x5d\x81\x47\xf0\x0a\x65\xe8\x96\xa4\x44\x6e\x4e\x0e\xef\xc3\xcb\xf4\xf6\x39\x8c\x5b\xf9\x9e\x63\x79\x16\xc7\x2c\xa7\x32\xd2\xdd\x5a\x86\x8d\x4d\x71\x36\xb4\xdd\xf6\x55\xc6\xee\x12\x39\xa3\x9b\xab\xe2\xc8\xb3\x95\x5e\xe4\x8b\x36\xc7\xf2\xca\xe7\xbb\x4a\x28\xa3\x96\x1d\x63\x30\x0e\x95\x3a\x6a\x0f\x3e\xdc\x82\x3c\x6c\x93\x53\xf0\xb7\x7b\x9b\xc3\x4b\xcd\xd7\x4c\xb1\x7b\x7f\x12\xe7\x72\x04\x8f\x07\x8f\x9f\xee\x06\xf5\xe3\xa1\x1b\x49\x97\x88\xdf\x61\x99\xa5\x28\xc6\x96\x83\x3f\x6a\x87\x53\x1e\xe6\x3c\x60\x5b\x63\x70\xa2\xd0\x61\x66\x6d\x0a\xd9\xf2\x9a\x77\xf6\xde\x38\x1d\xd2\x0b\xab\xf1\xa3\x96\x82\x6d\x31\x4e\x39\xc1\xf5\x0a\x39\xf8\x8a\x83\x81\xb2\x88\x69\x86\x18\xf6\x3a\x8f\xac\x43\xfb\x5c\x7b\x00\x6b\xb7\xb9\xf6\xbe\xd8\xe6\x5e\x50\xb9\x43\x08\xcd\x95\x23\xb2\x65\xa9\xa4\x51\x31\x79\x6a\x88\x8c\xab\x82\xab\x79\x50\x41\x1c\x6a\xb2\x0e\x80\xbe\x77\x25\xde\xa3\xe8\xe1\xec\xd7\x4a\xe8\xf6\xbd\x46\x3b\x48\x73\x16\xed\xde\x5b\x94\xa0\xbb\xb7\x30\x25\xe8\xae\xfd\x88\x06\xbc\x77\x4f\xa6\x13\xa2\x5f\x20\xbe\x01\x36\xd3\x07\xcd\x31\xa3\x4a\x97\x3a\xed\x50\x9c\xb9\x87\xce\xa6\xcd\x52\x00\xaa\x54\x24\x37\x19\x86\x35\x91\x0b\x40\x14\x7e\x31\x47\xfd\xbf\xc0\xc5\x39\xcc\x08\x4e\xfd\xee\xb9\x15\xe2\xc0\xd6\x14\x27\xd3\xc9\x8d\xd7\x65\xd9\x50\xc6\x74\x72\x53\x2b\xaf\x41\xbd\xac\x61\xbc\xa5\x1c\x0e\x4e\x8e\xe1\x7e\x1b\x72\xd9\xe1\x50\xb3\x97\x70\xb4\x06\x53\xf4\x10\x8a\xd5\xb2\xdf\x57\xe5\x56\x71\xb5\x9f\x52\x39\x94\x01\x22\xba\x81\x54\xbf\x46\x69\xea\x1c\xee\xdb\x49\x60\x87\x8d\xec\x8f\x8b\xf3\xb2\x0d\x31\xb4\x6b\x33\xcd\xbe\xae\x0c\x6a\xcd\xd3\x4a\x56\xec\xfb\x02\x79\x05\x9a\x8a\x80\x5b\xa3\x59\x12\x21\x94\x99\xa6\x93\x9b\xda\xd2\xad\xab\x2b\x5e\xfb\xa5\xa6\xa2\x4b\x54\xa6\x01\xb3\x24\xc6\x4f\x07\xa8\xa8\x94\x84\xe6\xe4\xc9\xb1\x41\x6d\xd1\x6c\x62\xfa\x35\x41\xa2\x3b\xa5\x56\xad\x55\xa5\x41\x94\x24\x9e\x02\x4b\xfd\x0a\xc7\xe3\xdc\x81\x4a\x24\x05\x7e\x71\x6e\x11\x49\x02\x88\x73\xb4\x69\xe8\xbe\x20\x1c\x69\xe6\x5a\x94\x1d\xea\x34\x2b\xb5\x6d\x7e\x20\xf1\x08\x5e\xd8\xf9\x35\x9d\xdc\x1c\x34\x10\xaa\xd2\x23\x8c\x4b\x2d\xfa\x60\x8a\xfd\x24\xd1\xfc\x52\xbc\x2e\x46\x2e\x04\x70\xe6\xd7\x7a\x41\xe2\x45\xe9\x82\xea\x25\x4b\x13\x60\x14\x37\x68\xb2\x34\xb9\x09\x7b\x45\xd1\xac\x56\xb3\x49\x69\x72\xb7\x7d\x56\xd9\x5a\xb2\x16\x4b\x7b\xa8\xb6\xce\x66\xc9\xb6\xd8\x5a\xc5\xfc\x73\x51\x38\x86\x9e\x43\xda\x34\xb6\x03\x5b\xbd\xd3\xe7\xc7\x88\x63\xd3\x8a\xed\xda\x3d\xb8\x82\x9c\x9b\x62\x95\x51\x6f\x4b\xb9\xaa\x36\x2b\xee\xf0\x46\x74\x2d\x4c\xb7\x8c\x73\xb6\x56\xf1\xcf\x46\x3f\xb7\x39\x78\x04\x5e\x82\x17\x0e\x97\xdb\x80\xdb\xd0\x99\x84\x31\x44\x87\x01\x6b\x20\x01\x28\x97\x0b\x38\x0c\xb9\xe0\x69\xff\x51\x63\x2c\x7b\x7c\xae\x7b\x94\xb4\x07\x1e\xba\x1e\x18\xd0\x81\xc5\x40\x62\x2f\xfe\x5b\xec\x67\x54\xa3\xc6\x99\x63\x69\x62\xf8\x0c\x73\x4c\x63\x5d\x05\x28\x42\x62\xbb\xe1\x86\x43\x10\xcc\x58\xb8\x8a\x89\x10\x23\x0a\x1c\xa3\x04\x88\x14\x55\x61\x53\xcd\x66\x05\x60\x9f\x2e\x58\x22\x5a\x4c\x35\x9d\xdc\xd4\x2c\xb4\x47\xdc\x2c\xf4\xd2\x66\x8f\x9d\xa6\x68\x75\x9c\xc2\x10\x35\x8e\x2e\x1c\xfb\xd4\x8b\x71\x85\x77\x74\xc7\x6f\xbf\xb6\xde\x1e\xb7\xbd\x08\x65\xbd\xe3\x45\x9b\x77\xe8\x1d\x13\x9e\xc1\x18\x0e\x6d\x34\xf3\x79\xed\x58\x2f\xcb\xae\xd7\x96\x38\x18\xd0\x36\xc7\xb3\x90\x02\x5b\xda\x0e\xca\xa8\xe2\xd3\x0d\x27\x5d\x1d\x8d\x64\x7b\x7d\x66\x01\x2e\x71\xd3\xf0\x50\xb5\x24\x54\x96\xbd\xf2\x3e\x1d\xb1\x1d\x3d\xa5\x65\x20\xea\x4d\xc3\x6d\x0f\x45\xbb\x53\xf6\xb5\x1d\x68\xcb\x5c\x48\xb8\xb5\x1f\x1b\xe8\x8a\xbf\x91\x0e\xb8\x11\xc3\xa1\xe5\x34\x7b\xb9\xb2\xef\xee\x2e\xe9\xd2\x65\xbd\x8d\xa4\xf0\xed\x3f\x5a\x6b\xbb\x3a\xc4\xac\xde\x2c\x9c\xd6\x9c\x92\xa5\x4d\x6f\xf5\xef\x6b\xec\x26\xcc\x49\xee\x95\x3a\x4c\x8d\xe4\xea\xfb\x75\x2a\xfe\x00\xed\x3d\xa8\x7d\xbf\x26\x5f\x27\xf9\x32\xae\x99\x75\xc7\x0d\x68\x7e\x5c\xad\xda\xe3\x55\x60\xd1\xb0\x45\x0c\xad\x91\x6b\x29\x2a\xec\x5d\xb9\xa8\x72\xcd\xe2\x53\x91\x46\x69\xa2\x20\xa8\x9b\x7e\x4a\xb4\xdd\x5f\xbb\x1d\x05\x60\xc3\x5f\xad\x85\x20\xbb\xbf\x73\xab\x30\x76\x7d\xe4\xd6\x84\x0c\x7e\xe1\x56\x81\x85\x3e\xf1\x73\xfa\xc3\xb4\x71\xfc\xf6\xab\xc7\xfe\x4b\x53\xb5\xf7\xb7\x44\xfa\x45\x50\x65\x30\x0e\xab\xb2\x0d\xb5\xd2\x81\x87\x59\xfb\x04\x30\x80\xd8\x54\xa8\x37\x40\xf3\xb5\x3f\x50\x40\xcf\x30\x0e\x69\x3f\x8c\x66\x95\xee\xe0\xd8\x47\x3e\x42\xa1\x7e\x18\x5b\x43\x78\x69\xd4\x2b\xe3\xa2\xc8\xdd\x34\x4a\x66\x4f\xce\xcc\xe7\x20\xde\x4a\x67\xba\x14\x4b\xd8\x0e\x2f\x2f\x39\x40\xe6\xcc\x72\x20\xd0\x0a\x47\x27\xc7\x15\xb6\x93\xd2\x07\x4d\xd6\x32\x4e\x4a\xe8\xdd\xc9\x61\x57\xc1\x34\x50\x63\x6e\xb5\xfa\x11\x48\xc4\xe7\x58\x7e\x0f\x46\xf6\x29\x76\xef\xf4\xa2\xfd\x18\x0a\x1a\x91\xd9\x4f\xf2\x24\x03\xb1\x50\x5b\x97\x25\xa1\x12\xe2\xf2\x48\xd8\x9c\x6d\x64\x9c\x7d\xd9\x78\x16\x2d\x11\x2b\x7b\xd6\xbe\xfc\xdb\x61\x54\x56\xb6\xc1\x96\x26\x0d\xb8\x72\xa7\x1e\x6b\x04\xef\x9b\x5f\x1a\x5a\xed\x35\x1a\x15\x7c\x8d\xb5\x12\xde\x1e\x1c\x6c\xff\x13\x00\x00\xff\xff\xad\x1c\xb3\xdb\x98\x3d\x00\x00" +var _packnft_alldayCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x3c\xed\x6e\x1b\x39\x92\xff\xfd\x14\x8c\x7e\x4c\x24\xac\x23\x27\xd9\x49\x6e\x56\x17\x25\xe3\xc4\x31\x62\x9c\xc7\xc9\xd9\xce\x2e\x0e\x41\x10\x50\xdd\x25\x89\x6b\x8a\xec\x21\xd9\x52\xb4\x39\x03\xf7\x1a\xf7\x7a\xf7\x24\x07\x7e\x75\x93\xdd\x6c\x7d\xd8\xc9\x0d\x0e\xab\x1f\xb6\x5a\x2a\x16\xeb\x8b\x55\xc5\x62\x51\x64\x51\x70\xa1\xd0\x1b\xb1\x2e\x14\x3f\x70\x4f\x17\x9c\x9d\x96\x6c\x46\x26\x14\xae\xf9\x0d\x30\x34\x15\x7c\x81\x7a\xcd\x8f\x7b\x1e\x3e\x05\x9c\x86\x3c\xfb\x80\xb3\x9b\x8b\xd3\x6b\x07\xe4\x1f\xab\xef\x7f\x03\x85\x73\xac\xf0\x5f\x09\xac\xa4\x03\x8a\x3e\xeb\x1d\x1c\x1c\x1d\x1d\xa1\x37\x9c\x29\x81\x33\x85\xd4\x1c\x2b\x94\xc3\x94\x30\x90\x48\x63\x43\x17\xa7\xd7\x72\xa8\x81\x0e\x70\x96\x81\x94\x7d\x4c\xe9\x00\x65\x7e\x80\x9b\x71\xd4\x62\xf2\xb0\x26\xee\xdb\xc1\x01\x42\x08\x85\xe3\x97\x58\x20\xc5\x15\xa6\x57\x65\x51\xd0\xf5\x08\x7d\x3c\x63\xea\xf9\xcf\x2d\x38\x0a\x0a\x2d\x41\x48\xc2\xd9\x08\x5d\x29\x41\xd8\x2c\x09\xf3\x86\x53\x0a\x99\x22\x9c\x5d\x29\x2e\xf0\x0c\x3e\x60\x35\xd7\x23\xaa\x87\x2d\xc3\x3e\x94\x13\x4a\x32\x3b\xaa\x7e\xbf\x65\x90\xe7\x70\x8f\xc1\xef\x0b\x10\x58\x71\xd1\x49\xa6\x19\xa5\x75\x72\x42\xcc\x1c\x58\xac\xad\x56\xa4\xe2\xc2\x2b\x45\x80\xe4\xa5\xc8\x40\x22\xc2\x90\x9a\x43\xad\x0f\xa9\xb0\x02\xd4\x27\x43\x18\x1e\x56\x0a\x44\x02\x0a\x01\x12\x98\xc2\x1a\xa5\x44\x8a\xa3\x1b\x80\x02\xe9\x31\x37\x88\x4f\xed\x30\x39\x18\xfa\xd9\x43\xda\x3d\x6e\xcb\x40\x81\xb3\x1b\x39\x42\xbf\x7e\xb3\x1a\x1b\x99\x49\x6e\xdb\x1a\x86\x25\x30\x85\x2e\x61\x09\x98\x5e\xc2\xef\x25\x48\xd5\x27\xb9\x57\xf4\x21\xe2\x05\x30\xf7\xf9\x08\xbd\xe6\x9c\x0e\x3a\x50\xbc\xaf\x01\x03\x04\x5d\xd0\x76\x42\xc8\xa3\xb9\x24\xa6\xca\x9b\xcf\x21\x62\x53\x25\xfd\xd3\xa6\x49\x23\x24\x5d\x80\xbf\x11\x16\xf3\x95\xf1\xc5\x82\xa8\x77\x58\xce\xeb\x19\x73\x22\xd5\xd9\x56\x54\x7e\x11\x9e\x31\xa2\x08\xa6\xe4\x1f\x90\xf7\x07\xde\x1e\xd0\xf5\xfb\x93\xf7\x23\x0d\x23\x49\x0e\x02\x09\x58\xf0\x25\x61\x33\xf4\xf0\x6f\x44\xcd\x73\x81\x57\x0f\x11\x66\x39\x7a\x78\x02\x05\x97\x44\x3d\xb4\x48\x25\x62\x7c\xe5\xec\x87\x2c\x08\xc5\xa2\x1e\xc0\xe2\x11\x90\x57\x63\xb0\x00\x04\x0b\xa2\x14\xe4\xda\xc0\x5a\xfe\xab\xb2\x36\xc2\x14\x88\x29\xce\xa0\x83\x25\x3f\x55\x24\x21\xed\x86\x46\xe8\x38\xcf\x05\x48\xf9\xaa\x4b\x1a\x8e\xaa\x68\xa4\xe2\xe1\xb8\x6a\xa5\xbc\x65\xe5\x22\xf6\x5c\x7a\x49\x68\x93\x2e\xa5\x36\x6e\x1c\x2f\x9a\xa4\x91\xdb\x99\x35\xa2\x2b\x33\xce\x4e\xfa\x0b\xfa\x66\x80\x9a\x80\x19\x96\x80\xae\x8c\xa1\x75\x7f\xef\x4d\xb1\x1b\xc2\x5a\x99\xf9\xfe\xb6\x66\xe7\xd2\xd1\x19\xb3\x84\xeb\xd5\xec\x7d\xc8\xa1\x66\xa9\xd0\x16\x31\xa1\x80\xa6\x5c\x8c\x2a\x1c\xe8\x91\xb1\x4c\x6d\x20\x95\x17\x37\xda\xb6\xce\x42\xd8\x81\x79\xf5\x7d\xed\x50\xcc\xa4\x29\xe7\x70\x18\x22\xb7\xbc\xe9\xe1\xd2\xf0\xd8\xc0\x72\xa8\xe7\x0a\xe1\xf5\x6a\xd7\xd0\xc2\xc9\xa4\x01\xdf\xad\x12\x0f\xe2\x03\x8d\xe7\x7d\x54\x85\x97\xe1\x99\xff\xcc\x07\x1a\x3f\xaf\x96\x00\xc2\x88\xc1\x2a\xf4\x84\x0e\x9f\x16\xc6\x06\x41\xfc\xab\xf5\xb7\x46\x5e\xd1\x17\x4d\x8f\xfb\x50\x5a\x97\x88\xf2\xca\x5f\x47\x44\xe8\x79\x04\xa8\x52\xb0\x1a\x57\x44\x88\xe2\x16\x1f\xa6\x14\xc4\x30\x1c\xdb\x34\x9c\x8a\x63\xcb\x30\x0c\xd0\xb4\x64\x68\xa1\x3d\x50\xec\x61\xd2\x5e\x88\x48\x59\x82\xa8\x56\xd0\x40\x3b\xf1\x0a\xe5\xc5\xe9\xf5\x6d\x60\xec\xfa\xa5\xbd\x3d\x9b\x2a\xf4\xe2\x11\xca\x04\xe8\xb0\x72\x71\x7a\xdd\x0f\x31\xd7\xef\x6b\xec\xf6\xff\x20\xc2\xe4\x27\x09\x22\x3e\x1a\x27\x3f\xfd\x13\x7a\xd2\xa2\xa1\x08\x28\xd0\x63\xee\x45\x82\xd1\xd5\x27\x36\x55\x43\x92\x7f\x46\x2f\x1e\x3d\x40\x45\x04\xa7\xdd\x5e\xed\xd4\x2d\x5c\x2c\xce\x70\x46\x2f\x76\xfb\x3f\x9e\xd1\x29\xfd\xc5\x23\x8d\xa5\xfa\xe6\x36\x36\x51\xbb\x8e\x10\x76\xce\x24\xe5\xa8\xf6\x32\x06\xbb\xbe\x22\xa7\x69\xc3\xdd\xa7\x5a\xd5\x3e\x7f\x99\x50\xb8\xfd\x1c\x07\xc7\x41\xc2\x04\x8c\xf8\x23\xf1\x0d\x4d\xf0\x81\xfe\x0d\xac\x47\x88\xe4\x03\xf4\xea\x15\x2a\x30\x23\x59\xbf\xc7\x38\x92\x65\x36\x37\x4b\xa2\x17\xcb\xa3\x18\x06\xc4\x69\xa1\x5a\xc2\xf4\x5f\x4f\x84\xfe\xbb\x49\x6d\x6d\x95\x35\xc4\xa9\x1d\x2a\xc2\x95\xe7\x6d\xaf\xb6\x3b\x88\x54\xbb\xae\x3d\x04\xfa\x63\x45\x58\x11\x13\x0b\xf0\x5e\x42\x6b\x78\xd6\xd0\xd3\xf9\x44\xa4\xc3\x2f\x2d\x09\xac\x0c\x54\x7f\x80\xbe\xdd\xee\x1b\xc7\x76\x74\xfa\x1d\x21\x58\xcb\xb5\xed\xe5\x3a\x41\x1b\xce\x2f\x09\xa7\x37\x25\xd2\x45\x7f\x9b\x05\x74\x83\x05\x8b\xe6\xd5\x41\x1a\x4c\x0b\x47\x1b\xd0\x12\x04\x99\xae\xfb\x6c\xaa\x2c\x7c\xb5\xd8\x6c\xde\xdb\xb0\x17\x2c\x25\x08\xd5\x97\x40\xa7\x43\x97\xc2\x3c\x18\x3b\x72\x86\xd6\x4b\x1c\xa2\x05\x48\x89\x67\x30\x42\x3d\x23\x21\xc6\x55\x1d\x59\xd7\xa0\x1a\x66\xa3\x09\x9e\x63\x39\xb7\xd3\xa2\x31\xb2\xc8\x31\x55\x0f\x22\xb8\x08\xa6\x7e\x18\x66\x9c\x65\x58\xf5\x7b\x87\xbd\x81\x7f\x5f\x31\x33\x68\x19\xbb\x1e\x88\xc6\x48\x6b\xe5\x98\xce\xb8\x20\x6a\xbe\x18\x5e\xbd\x3b\x7e\xfa\xe5\xe9\xb3\xe7\x43\xfd\x6d\x3f\xc0\x5d\xaa\xe9\x2f\x83\x4e\x01\xd4\x0a\x46\xe3\xb1\x13\xdb\x10\x58\xc6\x73\x78\x07\x5f\x0d\x9e\x41\x28\x8d\x37\x35\xfc\x0a\x4b\x23\x17\x23\x7d\x02\x79\x2f\xe9\x9d\x95\x28\x21\xb5\x2e\x9c\x22\x35\x11\xd6\x0b\x7c\xa9\xb5\xb8\xb3\x37\x4d\x85\xe1\x81\x7f\xd3\x50\x7b\x5b\x47\x98\xaa\x16\x44\x25\x76\x34\x36\xeb\xfe\xd3\xe3\xcf\xc3\x7a\x54\xbf\xad\x76\x82\xc6\x8d\x88\xba\x9a\x13\x0a\x88\xa0\x17\x06\xc1\x90\x02\x9b\xa9\x79\x83\x18\xaf\x4a\xe9\xa7\x21\x1b\xa6\xd1\xaf\x06\x5d\xdd\x76\x23\xdb\x63\x35\x89\xa4\x15\xf8\x6f\xff\xd9\x2d\xb3\xe2\x63\x83\x79\xd6\x3b\xf3\x1f\x10\xfb\x13\x8e\x68\xbc\xcd\x11\x39\x38\x62\x19\xb4\x40\xbd\xb6\x22\x96\xde\x07\xc5\xab\xaa\x99\x0a\xc4\xeb\xa7\x21\xf6\x18\x6b\xe5\xd1\x52\x2b\x27\x62\xc1\x73\xd0\xda\x9d\x21\x9f\xfd\x45\x25\x04\x1d\x67\x43\x8a\x2c\xa5\xcb\xc1\xce\x5a\xb9\x67\xfa\xb0\x51\x0b\x9e\xd2\x2d\x7a\xf0\x60\xbd\x84\xcc\x36\x68\xa0\x0a\x12\x7b\xeb\xa1\x21\xea\x60\x9b\x1b\x09\x3a\x28\xb2\x90\x3c\x29\x51\x9f\x9e\xdc\x29\x27\xd9\x65\x0f\xd4\x90\xf6\xd1\x11\xba\x02\x65\xf6\x63\xc6\x59\xe8\xcd\x9b\x1d\x62\x8b\xa7\xfa\x0b\x2c\x66\xe5\x02\x98\x92\xc3\x36\xe7\xa1\x57\x08\x84\xd6\x06\x74\x48\xc7\x0e\xfb\x41\x93\x0a\x57\x03\x0a\x14\x69\x17\x53\x62\xce\xa6\xb4\x5d\x59\xa2\xc5\x97\x5e\x1c\xda\x20\x08\x45\x25\x53\x84\x3a\x7f\x91\xc2\x68\xd7\x11\x23\x34\xd0\x09\xfa\xee\xc9\x5d\xb2\x6c\xac\x37\xa2\x75\xe9\xb8\xf1\xe4\xdf\x34\x0a\xcc\xd5\xe7\xef\x57\x0c\x44\x50\x0d\x08\xcd\xe8\x7a\x4e\xa4\x9e\xf2\xa1\x44\x25\x23\xbf\x97\x80\xce\x4e\x36\xee\x06\xea\xd4\xb1\x5a\xbc\x07\x5d\x18\xad\xaa\x8d\xcd\x1c\xa2\x52\x42\xae\x77\xf5\x76\x65\x19\x9b\x39\x3b\x31\x85\x28\xfd\xd6\x54\x62\x48\x5d\x0c\xd8\x8d\x86\x44\xa6\xdb\x45\x8b\xb5\xa8\x1d\x59\x6b\x64\xc5\xdf\x69\x6f\xda\x52\xea\xc7\x22\xd7\xbb\xf7\xff\x6c\xab\xdb\xa8\x2c\x8a\x5f\xed\xc2\x70\x63\x91\x7a\xad\x8b\x56\x6d\xd9\x2e\xad\xbc\x51\x5c\x0e\x1e\x3a\x9d\x4c\x72\xe3\xf8\x03\x79\x35\x51\xa1\x8b\x31\xde\xa8\x78\x3b\xb6\x3a\x89\x7f\x6b\x0a\xa6\xbe\x60\xbb\x9a\x1b\x56\xf4\xae\x97\x48\x94\x83\x54\x82\xaf\x21\x47\x7d\x01\x05\xc5\x19\x48\xf4\xba\x14\x0c\x72\x57\x67\x9d\xc0\x94\x0b\x40\x6f\x70\x0e\x2c\x03\xf4\x64\xf8\x18\x95\x86\x83\xc1\x56\x0b\xf2\x15\x77\x2b\xa5\x13\x3f\x53\x10\xed\x7c\x9c\xd7\xc4\xc7\x24\x7f\x85\xac\xd4\xd4\x4e\xd6\xa6\xf2\xa5\x33\x3b\xbd\x22\x0c\x69\x22\x2c\xae\x4d\x74\x32\xb4\x00\x35\xe7\xb9\x3f\xd6\xc8\x38\x9b\x72\xb1\x90\xbe\x74\xa6\x07\xe1\x89\xce\x6a\x7d\x39\x7a\x23\xed\x71\x7c\xd6\xf8\xdf\x60\x4a\x27\x38\xbb\xe9\xd4\xc8\xf6\xc2\xd5\xa3\x46\xfe\xea\xe4\xbe\x79\xe3\xef\x65\xb3\x7d\xf7\xdf\xd0\x78\x54\x40\xfc\xb1\x21\xd1\xd1\xe8\x35\x59\x96\x24\xff\x8e\x71\xaf\x83\xbf\x37\xb6\xda\x87\x19\x82\x45\xa1\xd6\xc1\x91\x1b\x9a\x72\x81\x3e\x10\xc6\x70\x46\xa1\x2e\x6b\xbb\xa4\x99\xa8\xb8\x9c\xba\xd5\x84\xb5\x05\xd8\xd2\xe2\x5b\x3d\x51\x3d\x4f\xdf\x94\x47\x5b\x4b\xb8\x06\x68\x56\x4b\xeb\x72\x9f\xd7\x77\x1a\x2f\x9b\xaa\xeb\x75\x01\x23\xa4\xff\xbe\xf8\xf5\xe2\xf4\xfa\x65\x7f\xd0\xa9\xe8\xcb\xba\x72\xbc\x70\xe7\xb6\x56\x9d\x6a\x5d\xe8\x78\xbb\xc4\x84\x62\x57\xfd\x47\xca\x05\x81\xed\xbe\xbf\xaa\x4d\xcc\x40\x99\x73\x60\xcd\xee\x27\x4d\xd1\xe7\x34\x5b\x9f\x5a\xdb\x36\x43\x7e\x74\x96\x3c\x3c\x21\xb2\xa0\x78\xfd\xb2\x3f\x38\xdc\x05\xfc\xed\x57\x05\x82\x61\xfa\xf1\xf2\x7c\xd7\x21\xbf\x41\x4e\xb0\xdc\x15\xfa\xe2\xf4\xba\x16\xfc\x09\x56\xf8\x6e\x03\xf7\xe3\xea\x92\xaf\x31\x55\x04\x76\xa6\xf2\x0a\x04\xc1\xf4\x65\x63\x57\xfd\xb9\xdb\x22\x24\xa7\x4b\xa8\x94\xfd\x50\xc6\x96\x21\xf7\xd0\xbe\xb0\xb8\x34\x1d\xfd\x2f\xe6\x63\x6b\x96\x83\x11\x3a\x66\xeb\x2b\x25\xca\x4c\xbd\x6a\xfa\x83\x15\x51\xd9\xdc\xe2\x68\x57\x0d\xcc\xb1\xd6\x46\xd3\x18\xb5\xc6\xa0\xda\xcc\x92\x83\xfa\xc9\x11\xfa\xc5\xf0\x42\x6f\x79\x2e\x4e\xcf\xd1\x31\xa5\xe8\x04\xaf\xcd\xe2\xeb\xb5\xe5\xee\x5f\x39\xc8\x4c\x90\x42\x99\x7e\x82\x9e\x0d\xf7\x3a\x35\x9b\x92\x4c\xa7\xdb\x21\xa6\xdf\xb8\xc9\xf2\x6d\x3c\xe5\x66\xab\xb2\x01\xb1\x9a\x97\x8b\x09\xc3\x84\x8e\x1a\x4c\xbc\xbb\xbe\xfe\x70\x4a\x28\xf4\x4b\x41\x9d\xc7\x9f\x81\x3a\x5b\xe0\x19\xf4\x89\xfe\x6b\xbd\x41\xcf\xbc\xef\x1d\xea\x85\xbc\xc0\x6a\x84\x7a\x7f\x2f\x60\xd6\x3b\x44\x2b\x92\xab\xf9\x08\x3d\x7d\xf6\x7c\xd0\xae\x9d\xe8\x57\xfb\xd3\x2e\x25\xc4\x0b\x6e\x0f\x45\x04\x03\xfb\xbd\xb9\x52\x85\x1c\x1d\x1d\xb1\x29\xc5\x94\xe6\x78\xad\xbd\xff\x91\x8e\x57\x7a\xf7\x78\xd4\xab\x4a\x3d\x36\x70\x0c\x15\xf7\x65\xa3\xc1\x40\x6f\x44\x16\x64\x36\xd7\xa9\xf2\xd2\x1c\x7d\x2d\xf0\x0d\x20\x8c\x3e\x5e\x9e\xdb\x9d\x84\x80\x9c\x08\xc8\x94\x09\xee\xf6\x60\xad\xc0\x33\x40\x13\xac\xb3\x6a\xce\xcc\x67\x26\xb7\xc9\xd1\xa3\x97\xe6\xe0\x45\x90\x49\x69\x42\x43\x23\x32\x6d\x12\x45\xe5\x48\xf6\x90\x82\x1d\xd3\x6d\x8d\x6d\x1f\x19\xbe\x12\xb8\xba\x51\xf9\xd7\x94\x50\xf8\x41\x06\xf5\xec\xc9\xd3\x41\xc2\x41\x35\x5f\x0b\x4d\x68\x88\xf1\xc8\xa0\xd9\x38\x2e\x6d\xa7\x28\xf2\x6a\x9b\xe1\xbb\xd4\x96\xf2\xe8\x7b\x68\xb0\x35\xbc\x5b\x03\x32\xec\xcf\x69\x56\x6a\xa2\x2e\xa3\x6e\x19\x16\x61\x5b\x50\x0b\x45\xdd\x28\xb4\x0d\x43\x3d\xc6\x65\x0d\x3f\xd5\x9f\x24\xa3\x4c\x3c\xfc\x9c\xb0\x1b\xc8\x83\xa4\x63\xd7\xe1\xc9\x04\xe6\xb4\x64\x8e\x94\xbe\x0e\x21\x7b\xe7\x49\xcd\x57\x95\x37\xdd\x2b\x6d\x6a\xbe\x6e\xef\xeb\x2b\x3b\x52\x80\xb4\xb1\xe9\xad\xf4\x04\x33\x06\xc2\x2c\x43\x34\xde\x6f\xb5\x6f\x5c\xe5\x1b\x85\x67\x5c\x40\xe5\x91\xb1\x94\xa0\xe4\x30\x76\xcc\x53\xca\x57\x47\x19\x56\x98\xf2\x59\x09\x47\x17\xa7\xe7\xc7\x27\x5f\x5e\x1f\x5f\x5c\xbc\xbd\x1c\x16\x6c\xc3\x4a\xde\x60\x18\x6d\xa7\xd0\x89\x29\xad\x07\x73\xb8\xf0\x7b\x89\x05\xfc\x3f\x11\xd8\xd5\xbf\x7f\x3c\xbe\x7c\xfb\xc7\x09\x6c\x07\x77\x76\xc7\x64\x49\xee\x9c\x2d\xbd\x77\x59\x12\x5d\xa3\x73\x92\x01\xd3\x01\xf9\x84\xcc\x88\xc2\x14\x05\x35\x6c\x89\x4e\x01\xab\x52\xf8\x2d\xfd\xc5\xe9\xf9\xff\xfc\xd7\x7f\x4b\xf4\x1a\xa4\x42\xef\xc8\x6c\x4e\x75\x02\x20\x87\xe8\x75\xb9\x3e\x44\x57\x40\xa9\xd9\xc1\x39\x0c\xe8\x3f\x78\x29\xd0\x29\x5e\x72\x41\x4c\xc7\xc9\xb9\x4f\xc4\x36\xd0\x09\x75\x7e\xd2\x34\x8b\x1d\x52\x97\xde\x06\xc5\x05\x46\x3a\x0a\x1f\xba\x47\x04\x7e\x60\x14\x3e\x6c\x98\x83\x6b\xa9\xca\xd1\x16\x47\xd9\x23\x4c\x2a\x3c\x13\x78\xd1\xdb\x89\xc9\xd5\x6a\x35\xac\x86\x18\x46\x2b\xb6\x37\xb2\x6c\xe6\x52\x2b\xa2\x14\x88\xdd\x66\x72\xc0\x66\x0e\xbd\x5c\x28\x3d\xc1\xeb\xad\x53\xe4\x44\x66\x5c\xe4\xbb\x4d\xe1\x80\xcd\x14\x84\x2d\x89\x82\xa3\x67\xff\xf6\xfc\xf7\xf5\xf5\x3f\xfe\xfe\xb4\xd9\x25\x11\xbe\x6e\xef\x19\x06\xc2\xdd\x5c\xb7\xef\x17\x06\x6a\x7d\x09\x19\x90\x25\x88\x11\x7a\x83\x0b\x3c\x21\x94\xa8\xf5\x8b\x9f\xbe\xc5\x91\xd1\x03\xdd\xbe\x44\xe3\x4e\xb2\x67\xa0\x8e\xb3\x8c\x97\x4c\xf5\xbf\x7d\x73\x44\xac\x5d\x81\xe6\xf6\x76\x30\xcc\x3c\x7e\x02\x52\x67\x7f\x1b\x66\xe9\xc7\x0c\xcd\x40\x5d\xc6\xd4\xd6\x79\x48\x7f\x30\x78\xb0\xbb\xf7\xa9\x44\xf3\x7d\x32\x62\x47\xd5\xf6\x9c\x58\x54\x52\x6e\x88\x7d\x7b\x32\x9b\x95\x6a\x84\x1e\x0f\x1f\x3f\xdb\x0e\x1a\xbb\xbe\xd0\x69\x2e\xb0\xb8\x01\x65\x4a\xa9\x9e\x82\x3f\x2a\x1d\xae\x4a\x07\x7b\xe4\xc0\x76\x4c\xbf\x55\x53\x46\xad\xd5\xe2\x0f\xa2\xa3\x63\xa0\x54\x75\x0a\x33\x73\x4c\xa9\x50\x81\xd5\x7c\x8f\xf2\x83\x19\x64\x0d\xaf\xa3\x2b\xc2\x91\x50\xb9\x01\x13\x47\x87\x77\xd8\x79\x56\x9d\x02\x16\xc5\x51\x77\x69\xb5\xe6\xc9\x04\xea\x7d\x79\x4a\x6d\xc5\x7c\xa5\xd5\xef\xc4\xfc\xb3\xdb\x89\x9d\x31\xb5\x85\x7f\xc3\x50\x20\x2d\xcf\x4d\x35\x47\xcd\xdf\x2b\x3b\xc9\xb8\x6e\x88\xb0\x1f\xd4\x10\x3f\x99\x69\x03\x00\xf3\x1c\x0a\xeb\x20\xb6\x87\x1d\x4e\xfd\x82\xfa\x2c\x9f\x86\xf7\x46\xd0\xb6\x43\xc0\x70\x6f\xb3\x61\x17\x91\x38\xec\x6b\xee\xa4\x1a\xe7\x7d\xc1\xf5\x09\x3e\x35\x05\x73\x77\x6c\x60\xf2\x12\x8d\x3e\xae\x94\xf9\x03\x13\x1c\x74\xe6\xae\x0b\x40\x2b\xa2\xe6\x08\xfb\xf3\x8c\xb3\x13\x34\x25\x40\xf3\x8d\x16\x61\xbb\x86\x96\x58\x20\xbe\x62\x90\x6b\x49\x84\x17\x26\xda\xbb\xa5\x8b\xd3\xeb\xdb\x66\x05\xbc\x96\x68\xaa\xd0\x7f\xb8\xa5\xd0\x9f\xac\xe2\x57\xd4\xa0\x17\x8f\x7c\xbf\x5e\x72\x05\x2c\xf8\xd2\x14\xdf\xab\x9b\x45\xb6\xe1\xb9\xa2\x48\xe7\x6b\x1a\x46\xb6\x0a\xee\xfb\x1d\x95\xf9\xeb\x01\x5b\x0e\xcb\x56\xfe\x16\x81\x7f\x73\x76\x52\xdd\xa5\x48\xee\x3e\x3b\x9a\x99\x8d\xd6\x35\xef\xb1\x34\xa2\x23\x99\x7a\x8a\xf0\x54\x66\x41\xa4\xd4\x76\x73\x71\x7a\xdd\x1b\xb4\x8e\xd6\xab\x0b\x15\xee\x44\xcc\x9f\xc4\x19\xd1\xed\x70\x79\x22\x3e\x82\x37\xad\x11\xd1\xc5\x09\x43\xb7\x39\xd7\xb4\x57\x27\x2a\xf2\xc5\xab\x21\xf6\xa7\x36\xdd\x57\x44\x3a\x8e\x29\x0c\xd6\x2e\x1b\x70\xb7\x2f\xbc\x11\x10\x66\xb4\x4c\x64\x60\x97\xdb\x9d\xa2\xd6\x5d\xee\xae\x71\x98\xd9\x3a\x95\x95\x6a\x9a\xad\xb4\x65\xdf\x60\xf9\x00\xe9\x6d\x7f\x0b\x2e\x3a\x6d\xf4\xa2\x6a\xaa\xe8\x38\xb7\x57\x1f\x18\xac\x1c\x3e\x67\xb6\x75\xd7\x3e\x5a\xcd\x49\x36\xb7\x52\x73\x57\x48\x38\xcd\x11\x67\x0d\xfd\xe8\x39\x39\xcd\xaf\xd3\xc6\xe4\xda\x6d\x9d\x74\x9b\x64\x54\x57\x6d\xbe\x9f\xa5\x84\xf7\x64\xb4\x89\x28\xde\x61\x20\xbb\x5a\x88\x3f\xb9\xf4\x3c\xee\x10\xfc\x85\xc0\x6b\xdf\xdf\x70\x76\xe2\xee\x90\x60\x11\xdc\x95\xd8\xdd\x68\xa2\x48\x7a\x62\x0f\xa6\xac\x7a\x3b\x8e\xa6\x1a\x8b\xf9\x06\xd6\x72\x0b\xc9\xa6\x8b\x67\xa1\xb3\x6b\x17\x1a\xa4\xbd\xec\x91\xdf\x97\xde\x73\xd3\x4c\xa9\x49\x3e\x63\x6a\x67\x6a\x5d\x0f\xe6\x36\x39\x23\x4a\xa4\x27\xd8\x1d\xff\x19\x39\x9b\x65\xe9\x93\x62\x43\x5a\xa1\xf6\x39\x04\x9a\x81\xba\x2a\x8b\x82\x0b\x65\x68\xd2\xe9\x84\x91\xfa\x37\x9b\xbc\xbc\xe6\x9c\xa6\x9c\xa9\xf4\x63\xcc\x80\x06\xf8\x38\x0c\x2f\xfa\x15\x43\x7f\x0a\x8b\x78\x9f\xf5\xb2\x0d\xdb\x70\x43\x69\x45\xc3\xb6\x48\x68\x35\x07\x35\x07\x81\xb8\x30\x5d\x6f\x5a\x91\x33\xb2\xd4\x4b\x5d\xc7\x71\x1d\xda\x8d\x6c\x6c\xd3\xc1\x9d\xd5\x4c\x64\x53\x5a\x7d\x55\x15\x26\xd3\x2d\xdd\x64\x6a\x49\x18\x8f\xa3\xea\x65\x62\xbf\x9f\xea\x4a\x46\x5d\x89\xf9\x14\x53\x99\x6c\x5e\x8e\xac\x46\xc0\x14\x84\x69\xed\x50\xbc\x76\xe7\x86\xff\x7d\x7c\x79\xc5\xff\x84\x0b\xc1\x57\x17\xa7\xd7\xfd\x2f\x81\xeb\x1d\x8c\xd0\x4f\x69\xd7\xde\x3c\x3f\x74\xc4\xff\xd4\x76\x9b\x5d\xac\x6c\x68\x06\x70\x3e\x47\xe2\x85\xcb\xd6\xea\x5e\x80\x3d\x73\x93\x1f\xd5\x0d\x70\xcf\x66\x00\x14\xe7\xdf\x6f\xb5\xc7\xc7\xf1\xad\x5a\x17\x4a\x14\x47\x92\xcc\x58\xab\x61\x4b\xeb\x5b\xce\x79\x49\x73\x34\x81\xea\x96\xc0\x96\x8b\xbe\x75\x3b\xd6\x4e\x57\x77\x51\x68\xcb\xf6\xc2\x4b\xdd\x25\x63\x0d\x46\x3f\x5d\x46\xb7\x90\x7d\xdf\x67\x95\x66\xa1\x7e\xef\x22\xdd\xfd\xe2\x9a\x60\x0b\xd7\xeb\x38\x14\x78\xf5\x57\x4c\x4b\x68\x35\x24\x57\xdf\x74\x75\xc4\x2e\x4a\xa9\xb4\x1c\x9c\x84\xa6\xe6\xba\x8b\x69\x73\x13\x96\xa1\x60\xd6\xa0\x19\x38\x94\xc2\xf6\xfe\xb2\x96\xc2\x58\x78\x89\x39\xa1\xaf\xf6\x7d\xa5\x5a\x63\xf6\xe4\x79\x07\x7d\x35\xbb\xc6\xdc\xc2\xfc\xc3\x35\xe3\x99\xdb\x59\x37\x95\x34\xb4\x76\x34\x57\x5d\xba\x69\xde\x0c\xf7\xe5\x8c\xc4\x6d\x74\x2d\x20\x7b\x1a\x76\xf9\xfd\xba\xe4\x7f\x80\x3c\xf7\xba\x24\x17\x6d\xcc\x93\xee\xbe\xd1\x3c\xdd\xcc\x72\xc2\xdf\x0c\xe8\xde\xab\x37\x5c\x7f\x07\x7f\x75\x1c\xd0\x00\xa1\xd7\x77\xbe\xb0\x6f\x5d\x7e\x7d\x29\x0d\x4b\x07\xeb\xaa\x8e\x01\x3b\xdb\xfa\xbf\xa2\x2b\xcd\x1d\xbd\x5f\xdd\x0c\x75\xbb\xf9\xc8\x1f\xef\xe3\xf3\xc9\x14\xb9\xb1\xe8\xc1\xc6\x28\xef\x36\x94\x3e\x87\xf3\x2d\xfa\x55\xa2\xd3\x6b\x7a\xff\x28\x9a\xf8\x6b\xb0\x61\x64\xea\x30\x85\x56\xcb\x98\x44\x64\x51\x50\x58\x00\xab\x52\x20\x22\x2b\x23\x88\xa5\xa5\xf1\xfc\xea\x66\x3d\x0e\x12\x7c\x93\x86\xd9\xba\x8f\x3f\xde\x09\x91\xda\xfe\x23\xdb\x8c\xbc\x34\x6e\x60\x45\x28\xd5\x6b\xda\xf4\x44\x4f\xd6\x15\x72\xff\xca\x61\x09\x94\x17\x20\xec\x6f\x52\x30\xbe\x72\xdb\xb0\x02\x0b\xbc\x00\x05\xc2\xf6\x81\xc8\xaa\xd9\x33\xec\x59\x1a\xb8\xc6\xd0\x1d\x6c\x77\x06\xca\xff\xbe\x82\x6d\x78\xf3\x8b\xa2\xd6\xf7\xab\x54\x0f\x5c\xb2\xff\xed\x4e\xbd\x66\xbb\x1f\x32\x57\xc3\x3e\xa7\xea\x6f\x74\x09\x08\x37\xba\x01\xab\xee\xbf\x0d\xea\x34\x12\xf5\x4d\x5e\x73\x5b\x4f\xf6\x09\x54\x0e\x92\x08\xa7\xc0\x61\xdb\x02\x90\x34\xad\x60\xa5\x80\xfa\x97\x44\xbc\xfe\x9d\x6f\x6e\x0e\xee\xd6\x84\x53\x60\xa8\x8d\x94\x32\x0e\xcd\x88\x68\x35\x26\x7b\xd2\x82\x7e\x34\xc3\x51\xbc\xdc\xee\xd7\x48\x62\x3b\xef\x43\xb0\xd6\x49\xf5\x8e\x2d\x25\x51\x3b\xc9\x91\x7b\x3a\xca\x6c\xd3\xf5\xdb\xaf\x58\x2f\xa2\x08\x55\xfa\x84\x22\xec\x28\x39\xb2\x0f\x77\x45\x72\xa7\xa6\x92\x7b\x34\x94\xec\xd0\x4c\x72\xaf\x5e\x92\xef\xdf\x47\x92\xe8\x21\x69\x7f\xe2\xa6\x8d\xad\xe4\x0e\x26\xb8\xa1\xc3\x44\x5b\xa1\x39\xb5\xd8\xa7\x4d\xe2\x6e\x2d\x12\xc9\xf6\x88\x15\x4c\x24\x51\xf0\x48\xa3\x94\xe6\xc8\xe5\xd9\xf4\xf9\xd3\xbf\xfc\x9c\x3d\xce\xfe\x05\xff\x92\xe5\xf9\xf3\x9f\xff\x3c\x79\x92\xfd\xf2\xf4\x71\xe3\x0b\xfc\xec\x59\x36\x79\x92\xfd\xe5\xcf\xcf\xbf\x9c\x52\xbe\xfa\xf2\x37\x2e\xf2\x05\x16\x37\x43\xb9\xec\x6a\x7e\x48\xdb\x4e\xbb\x7d\x42\x2e\x67\x7f\xfa\xba\xa0\x6d\x2c\x9d\x1a\xba\x6b\xeb\x84\x6b\x9b\xd0\x1e\xd3\x2d\xb1\x20\xfa\x76\xf4\x24\xc4\x87\x87\xd7\xd6\x31\x57\x19\x0c\x91\x36\x1c\x62\x69\x12\x1c\x87\x54\x71\x34\x07\x5a\xa0\x35\x2f\x7d\x54\xd4\xef\x05\x62\xf0\x55\x21\x2d\x3f\xd3\xda\xdd\x31\xe3\xbe\x1d\x10\x6e\xd6\x47\x6c\xaa\x86\x9c\x4d\x29\x5f\x0d\xb9\x98\x75\x9d\xd9\x47\x5d\x10\x46\x19\x69\xb8\xa8\xf7\x61\x03\xdc\x0e\x1d\x0f\x77\xef\x40\xd0\xcc\x7c\x99\x50\x9e\xdd\x64\x73\x4c\x58\x47\x73\x40\xbb\x31\x60\x43\xe2\xe5\x8f\x40\x83\x48\xec\x7f\xdb\x2c\xa8\xd1\x36\x6e\x61\xf8\x20\x68\xce\x63\x2a\x8c\xdb\x7f\xa8\xec\x30\x01\x9b\xfe\x81\xb1\x14\xe4\xe6\x9f\x24\xab\x47\x6c\xfb\x1d\xb2\x1a\x32\xf5\xf3\x6b\x61\x56\x6b\xb2\xfa\xf8\x82\xcc\xe3\xf8\x4b\xdb\xc6\x1b\x9f\x39\x99\x2f\x92\xc2\x40\xe3\xb4\x90\xba\x86\xd6\xdc\x45\x23\x1b\xbf\xc3\x96\x18\xd8\x16\x55\x84\xa0\xfd\x75\x8c\x28\x21\x41\x34\x4e\xc9\x35\x1e\xe6\xc4\x89\xc6\x5e\xb0\x61\xb1\xab\xda\xf8\x84\xfe\x42\x71\x5f\xde\x6d\x6c\x7c\x4c\x34\x96\x73\x17\x95\xeb\x1a\x70\xd4\x1d\x12\xcf\x8e\x6d\x57\xc9\xd0\x65\x20\x43\x89\x97\xd0\x4f\xef\x2b\x82\xa3\x84\xa4\x3e\x06\x69\xcc\xd1\xe4\x8e\xc2\xd8\xb3\x76\x83\x7b\xaa\xcc\xe5\xa0\x17\x89\x82\x62\x53\xbd\xb7\x2f\xfb\x1b\x08\x8c\x9d\x0f\x56\x2d\x6e\x12\xaa\xfd\x3f\xe0\x6a\xeb\x49\xf6\x3d\xb9\xda\x60\xb8\x83\xb4\xb1\x55\x65\x27\xee\xef\xce\x2a\x8e\xe4\x1c\x0b\x30\xbf\x2e\x55\x1b\xd4\xda\x1e\x87\x17\x82\x7f\x5d\xef\x67\x59\x8d\x1f\x99\x89\xcc\x2b\xb1\x66\x76\x51\x43\xb7\x5c\x3d\x42\x2f\xc8\xce\x09\x6e\x0f\x0e\x6e\xff\x37\x00\x00\xff\xff\x28\x0e\x55\x01\xb3\x53\x00\x00" func packnft_alldayCdcBytes() ([]byte, error) { return bindataRead( @@ -148,7 +157,27 @@ func packnft_alldayCdc() (*asset, error) { } info := bindataFileInfo{name: "PackNFT_AllDay.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe0, 0x31, 0xf1, 0x76, 0xfd, 0xa6, 0xa6, 0x84, 0xa8, 0x3f, 0xf3, 0xc3, 0x4c, 0xa1, 0x7d, 0x31, 0xd0, 0xab, 0xa4, 0x8e, 0xf6, 0x8f, 0x3, 0xd, 0xbf, 0x24, 0x6, 0xe7, 0x20, 0x1d, 0x35, 0xcb}} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _packnft_topshotCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1b\xef\x6f\xdb\xb6\xf2\x7b\xfe\x8a\xab\x3f\xe4\xc9\x98\x63\x77\xc5\xeb\x30\x18\x71\xd3\x34\x59\xd0\x00\x6b\x56\x24\xde\xdb\x87\xa2\xd8\x18\x89\xb6\xf9\x22\x93\x1a\x49\xd9\xf5\x02\xff\xef\x0f\x24\x45\x89\x94\x28\x59\xe9\x0f\x6c\x1f\x9e\x51\xa4\xb6\x78\xc7\xfb\xc9\xe3\x1d\x79\x22\xeb\x8c\x71\x09\x17\x7c\x97\x49\x76\x54\xfc\xba\x61\xf4\x2a\xa7\x4b\x72\x9f\xe2\x39\x7b\xc0\x14\x16\x9c\xad\xe1\xf9\xa7\xc7\xc7\x71\x7d\x68\xbf\xb7\x48\x6d\x18\x2d\xe0\xd7\xef\x51\xfc\x70\x73\x35\x77\x20\xed\xa3\x0a\xe8\x1d\x96\x28\x41\x12\xfd\x87\xe0\xad\x70\x20\xbd\xe7\xfb\xfd\xd1\x51\x96\xdf\x43\xcc\xa8\xe4\x28\x96\x50\x4c\x33\x6d\xc8\x31\xaa\xa8\x3e\x1e\x1d\x01\x00\x28\xbc\x0d\xe2\x20\x99\x44\xe9\x5d\x9e\x65\xe9\x6e\x0a\xbf\x5e\x53\xf9\xc3\xbf\xcb\xf1\x14\x4b\xd8\x60\x2e\x08\xa3\x53\xb8\x93\x9c\xd0\xa5\x37\x76\xc1\xd2\x14\xc7\x92\x30\x7a\x27\x19\x47\x4b\xfc\x1e\xc9\x95\x82\x2c\x7f\xb4\x80\xbf\xcf\xef\x53\x12\x1b\xe8\xea\x7b\x0b\xb0\xe5\xbc\x07\xd2\x2f\x19\xe6\x48\x32\xde\x8b\x1d\x0b\xfc\x9e\x93\x4d\x31\x2b\x27\x1b\x24\x0d\xa4\x06\x9d\x4c\x80\xe3\x8c\x63\x81\xa9\x44\x8a\x17\x60\x0b\x90\x2b\x0c\x4a\x91\x84\x82\x5c\x11\x51\x69\x5f\x32\x78\xc0\x38\x03\xf5\xeb\x41\x41\x0a\x89\x24\x16\x7a\x26\x14\xc7\x58\x88\xc8\xc2\x0e\x35\x07\x19\x8a\x1f\xc4\x14\x5e\x3f\x1a\xbd\x4f\xb5\xfd\xf6\x95\x7d\xf0\x06\x53\x09\xb7\x78\x83\x51\x7a\x8b\xff\xcc\xb1\x90\x11\x49\xac\x99\x46\xc0\x32\x4c\x8b\xe7\x53\x78\xc3\x58\x3a\xac\xa1\xfe\x52\x01\x38\x88\x75\x28\x43\x00\x27\xde\xdc\x02\xa5\x72\x0a\x1f\xd4\xcf\x1f\x3f\x8e\x80\x2e\xa4\xb0\x3e\x10\xa2\xe2\x61\xd7\x01\xde\x11\x2a\x6b\xd3\xaf\x90\x58\x39\xd3\x27\x44\xc8\xeb\x56\xfc\x37\x39\xef\x26\x70\x51\xa8\xf5\x9a\x12\x49\x50\x4a\xfe\xc2\x49\x54\x87\xf9\x8d\xc8\x55\xc2\xd1\xd6\x63\x43\x2d\xac\x29\x9c\x27\x09\xc7\x42\x9c\xd5\x51\x2e\x71\xc6\x04\xf1\x75\x2e\x99\x0b\x5f\x21\xd0\x7c\x0d\x77\x12\xc9\x5c\x18\xd8\x1f\xe1\x51\x0f\x5a\x80\x18\x09\x0c\x77\x5a\xcf\xcd\xe7\xd6\x02\xcd\x11\xa3\x5b\xfd\xdc\x71\x0c\x8e\x05\xcb\x79\x8c\xed\x82\xb7\xae\x3c\x2d\x97\xf9\xf8\xda\x3e\xb3\x0b\xbe\x9c\x77\x91\x53\x58\x13\x2a\x23\x5f\xe9\x23\x88\xd9\x7a\x4d\xe4\x5b\x6d\x19\x63\xe9\x11\x10\x21\x72\xcc\x4b\x91\x87\x53\x78\x7d\x73\x35\xaf\x44\x53\x1f\xe5\xca\x74\x21\xe1\xf4\x04\x62\x8e\x91\xd4\xcb\x23\x72\x67\xab\xbe\x57\x33\x9a\xff\x87\xde\x4c\x96\x79\x27\x28\xc1\x2c\xf8\xf4\x3b\xf8\xbe\xc1\x43\x06\x70\x7a\x52\x70\xa0\x70\xbe\x88\x05\xbd\x36\x3f\xd0\x85\x1c\x93\xe4\x23\x9c\x9e\x3c\x83\xcc\x83\xc3\x6b\xe2\x39\xb6\x81\xb4\x8e\x5d\x51\x1b\x27\x38\x66\x09\x7e\x8b\x3f\x45\xc3\xca\xcf\xcd\xff\x3e\x65\x8e\x65\xce\xa9\xd2\x22\x5d\xc8\x6a\x64\x7f\x74\x54\xb7\x1e\xd7\xee\xe2\xb9\xa5\x59\x9f\x1f\x1e\x4b\xfb\xdb\xf8\x79\x9f\xe2\xfd\x47\xbb\x9c\x8b\xf5\x0b\x4d\xfb\x65\x8a\xae\x27\xfb\x98\xe3\x35\xdb\xe0\xe8\x01\xef\xa6\x40\x92\x21\x9c\x9d\x41\x86\x28\x89\xa3\x01\x65\x20\xf2\x78\xa5\xe3\xd7\xc0\x17\x22\x1b\x3b\xcc\x29\x7d\x18\xc6\xd4\x5f\xcb\x84\xfa\xdb\xa5\xf3\xa6\xbe\x03\x2a\x50\xa1\xef\x09\x0a\xf8\xb6\x22\x97\xcc\xf8\x02\x7f\xb6\x90\x40\x28\x91\xd1\xf0\x71\xdf\xb9\xee\x6b\x01\x46\x89\xe4\x45\xd5\xc6\x68\x6d\x2d\x7b\xe3\x2a\x15\x10\x45\xf8\xb2\x9c\x9a\x70\xd6\x04\x73\x77\x86\xb3\xa6\x69\x36\x98\x93\xc5\x2e\xa2\x0b\x69\xdc\xad\x74\x3b\xb3\x47\xd5\x2c\x81\x84\xc0\x5c\x46\x02\xa7\x8b\xb1\x61\x00\x9e\xcd\x6a\x2c\x8c\x4d\xdc\x1c\xc1\x1a\x0b\x81\x96\x78\x0a\x03\xad\x00\xca\x64\xb1\x16\x70\x02\x3b\x2c\x6b\x86\x51\xcc\x2a\x8d\x18\xf2\x30\x2b\xf8\x18\x63\x6a\x57\xa4\xa1\x8a\x52\xf9\xcc\xc7\xf4\xb0\xaa\x1f\xe3\x98\xd1\x18\xc9\x68\x30\x1a\x0c\xed\xf7\x52\xcc\x61\xc3\xc1\x14\x22\xcc\x40\x45\x81\xf3\x74\xc9\x38\x91\xab\xf5\xf8\xee\xed\xf9\x8b\xdf\x5f\xbc\xfc\x61\xac\x46\x23\x67\xee\x5c\x2e\x7e\x1c\x86\x54\x13\xe6\x5a\x61\x0e\x61\x16\x10\x4a\x8f\xb8\xba\xba\x28\x83\x11\x6c\x91\xd0\x5a\xd3\x36\x22\x38\x19\x04\x43\x90\xe4\x39\x0e\xf9\x65\x91\xc4\x28\xfa\x43\x6d\xea\xdf\x2b\x5b\xf7\x8e\x3e\xa1\x7d\x66\x68\xbf\xd4\x9c\xa3\x61\x41\x35\x51\x03\xa2\x34\x01\xcc\xf4\xba\xfb\xf0\xfc\xe3\xb8\xc2\x8a\x9a\x4e\x41\x60\x56\xdb\x3e\xb6\x2b\x92\x62\x20\x70\xaa\x27\x18\xa7\x98\x2e\xe5\xaa\xc6\x8c\x35\xab\xb0\x64\x48\x07\x19\xf5\xa9\xf1\xd5\xee\x43\xa2\x89\xab\x58\x24\x8d\x5d\x6e\xff\x7f\x2f\xad\xbc\xb4\x94\xa9\xc3\x55\xab\x7c\xfb\x1b\xec\x9b\x81\xd0\x35\xeb\x1b\xba\x0a\x78\x62\x04\x35\x40\x83\xa6\x71\x36\xca\xe7\xd5\xfc\xfe\x4a\xab\x6f\xa7\xa1\x35\x15\x34\x85\x4f\xa1\x0c\x7f\xc5\xca\x72\x73\x95\x00\x60\x21\x62\x5d\xc2\x46\xf2\x0a\x36\x3d\xf2\x0a\x0b\xb5\x37\x56\x1c\xfb\x69\x91\x91\x6a\x33\xec\x6d\xc9\x2f\xdc\xfe\x7b\x59\xce\x72\x7f\xc0\x76\x16\x6c\x10\x50\x59\xbb\xd5\xba\xb6\xa2\x2f\xb2\x66\x8b\x91\x9c\x3a\xc2\x33\x91\x53\xbb\x91\x24\xa8\x7f\x9d\x8b\xf4\x29\x0d\x6a\x3a\x2e\xd9\x84\x59\x4b\x3a\xdc\x04\x37\x53\xaa\xd0\xa7\xbf\xf4\x17\xef\xae\xe9\x81\xae\x73\x53\x92\x3a\xa2\x41\x4b\x52\x15\x3c\x39\x19\x5f\xdf\x5c\xcd\x47\x4e\x5d\x55\x7c\xa9\x1d\xab\x94\xcf\x7f\xd9\x52\xcc\x6d\xed\x35\xf2\xcf\x71\xc6\xb7\x58\xb0\x74\x83\x79\x20\x75\xab\x9c\xf9\x0b\xb3\xba\xb6\x6a\xa1\x79\x58\xf0\x18\xcc\x4f\x79\xe3\xb8\xc1\x98\x26\xa9\x9d\x37\x38\x3f\x82\x7e\xe3\x65\xea\x2d\xb4\x58\xed\x7c\xa2\xa0\x14\x9c\x2f\xc1\x42\x72\xb6\x8b\x3e\x23\x95\xb7\xd3\xf6\xcb\xe7\xfb\x17\xa1\x27\x10\x7d\x0f\x48\x94\x87\x12\xcd\xe5\xe5\x9c\x5c\x34\x64\x73\x84\x0a\x97\x01\x7d\x57\x1e\x04\x97\x1e\x49\xec\xde\x91\xe7\x24\xb0\x34\xbe\xd2\xd2\xdc\x1f\x55\x0c\x4f\x26\x70\x9e\xa6\x20\xf2\x2c\x63\x5c\xe2\x04\xd6\x85\xf7\xc3\xc6\x1c\x63\x32\xae\x4f\xcf\xde\xb1\x35\xa6\x12\x08\x8d\xd3\x3c\x51\xe9\x8b\x7a\x78\xc1\xb8\x39\x57\xd3\x4b\xc5\x99\xb3\xe1\x51\x4b\x2c\x35\x4c\x34\x9c\xc2\x87\xf9\x2e\xc3\x1f\x6b\xf2\x17\x09\xc2\x87\x46\x56\xa5\x80\x4f\xfd\x25\x79\x49\x44\x96\xa2\xdd\xab\x68\x38\xea\x03\xfe\xd3\x27\x89\x39\x45\xe9\xaf\xb7\x3f\xf7\x45\x79\x87\x13\x82\x44\x5f\xe8\x9b\xab\x79\x75\xf4\x79\x89\x24\xfa\x3c\xc4\xa7\x49\x75\xcb\x76\x28\x95\x04\xf7\xe6\xf2\x0e\x73\x82\xd2\x57\x35\x47\xf9\xd8\x15\x07\xb8\x89\x7d\x0a\x3f\xfa\x5d\x3b\xc4\x54\xcf\x3c\x9c\xc2\x39\xdd\xdd\x49\x9e\xc7\xf2\xac\xee\xc8\x5b\x22\xe3\x95\x06\x0e\x24\xe3\xfa\x80\xac\xd3\xa4\xd3\x06\x0e\x54\xee\x11\x44\x8a\x82\x18\xea\x43\xd1\x5a\x65\x00\x37\x6f\xce\x61\xce\x32\xb8\x5b\x31\x73\xde\x3e\x68\x2a\xcc\x7e\x12\x2c\x62\x4e\x32\xa9\xcf\xcf\x07\x26\x51\x10\xc0\x16\x0b\x12\x13\x94\x82\x37\x95\x59\x13\x02\xb6\x2b\x6c\x62\x26\x4e\x3a\x66\x96\xab\x7c\x7d\x4f\x11\x49\xa7\x35\x31\xde\xce\xe7\xef\xaf\x48\x8a\xa3\x9c\xa7\x45\xcc\x59\x62\x79\xbd\x46\x4b\x1c\x11\xf5\x57\xe9\x6b\x0a\x03\xfd\x7d\x30\x52\x4b\x72\x8d\xe4\x14\x06\xff\xcd\xf0\x72\x30\x82\x2d\x49\xe4\x6a\x0a\x2f\x5e\xfe\x30\x6c\x16\x25\xea\xd3\x7c\xda\x66\x06\x7f\xa9\x3c\xc1\x14\x0e\x62\x34\x58\x49\x99\x89\xe9\x64\x42\xef\x91\x64\x99\x58\x31\x39\x8e\xd9\x7a\xa2\xe2\xb6\xca\xa7\x26\x83\xb2\x88\x32\x41\x6f\x2c\x99\x2d\xc8\x86\x43\x15\x91\xd6\x64\xb9\x52\x7b\xe8\x06\x83\x64\xb0\x46\x0f\x18\x10\xfc\x7a\xfb\x33\xc8\x15\x92\xc0\x71\x42\x38\x8e\xa5\x50\x83\x7a\xe7\x80\x0c\x2d\x31\xdc\x23\x81\x13\x60\x54\x3f\xd3\xa7\xfd\x09\x9c\xbc\xd2\xe7\x76\x9c\xdc\xe7\xfa\x2e\xa0\x16\x55\xbb\x74\x51\xc6\x80\x27\xa8\xc1\xe0\xb4\x3b\x24\x91\x78\xad\x72\xde\x56\x00\xf5\x09\x4c\xd9\x3e\xa3\xfd\x2c\x48\x8a\xbf\x91\x63\xbd\xfc\xfe\xc5\x30\x10\x62\xea\x9f\xb5\x62\xd4\x9d\x71\xa2\xa7\xe9\xc4\x0b\xfb\x2b\x78\x71\xa9\x1b\xbe\xcd\x7a\xa1\x98\xfc\x04\x43\x36\xd0\xdb\x2d\x20\xdc\x8b\xab\x7a\x29\xe3\x5d\xb3\xb5\xeb\x30\x73\xef\xc9\x1a\x53\x54\x37\x67\x1d\x33\x70\xb6\x21\x09\xe6\xfe\x1c\xf5\xfb\xb2\x43\x1c\x54\x34\x4d\xa0\x3f\x3d\x6e\x72\xf3\xd8\xc8\x9f\xeb\x9c\xee\x83\x5b\x92\x4f\xe9\x67\x42\x1f\x70\x62\xdc\xe5\xf3\x29\x8d\x1a\xa9\xff\x2d\x8e\x31\xd9\x60\xde\x1c\x69\xe0\x86\xf3\xfc\x0a\xec\x80\x18\x85\xc2\x7b\x09\xd2\x60\xe6\x7d\x81\x3d\xfa\x27\x8b\x68\xee\x65\x7e\x5a\x67\x72\x57\xa1\x5c\xe5\xb4\x70\x90\x48\xa5\x08\x91\xbe\x5e\x6a\x67\x24\x90\x03\xb8\x9f\xf2\x02\xc5\xaa\x21\x48\x33\x70\x50\x67\x3f\xfb\x2f\xdd\xf2\x5a\x72\xb0\x70\xac\x50\x85\xcb\x3d\xa2\x14\x73\x1d\x45\x61\xf6\xb4\x60\xdd\x19\xa4\x3b\xf5\xa4\x23\x78\xdb\xc6\xaa\x2a\x6c\x12\x4f\xc8\x7a\x39\x91\x2c\x3b\x51\xcf\x4f\x52\xb6\x64\x27\x2b\xc6\xc9\x5f\x8c\x4a\x94\x9e\x6c\x57\x44\xe2\xb1\xd8\x74\x04\xe4\x0e\x4f\x68\xc6\x76\xb1\x59\x7e\xf7\x69\x9d\x86\x67\x0b\xdb\x44\x1f\xc4\xfe\x99\x23\x8e\xff\xa1\xca\x63\xea\xdf\x38\xa3\x5f\x4b\x47\xad\x33\x85\xf5\xd3\x63\x23\xea\x9f\xf0\x9e\xcc\x59\x76\xa2\xb2\x54\xbd\xb2\x44\xef\x8c\xd7\x4b\x70\x89\x80\x1d\xcb\x39\xc4\x2b\x44\x63\x9d\x8b\xb1\x2d\x1d\xa9\x4c\x22\x1d\x01\xa2\x09\x48\x8e\x12\x5c\x65\xc7\x09\x59\x12\x89\x52\x88\xab\x83\x3c\x51\xb6\x5f\xbc\x39\xd7\x28\xbf\xdd\xbc\x39\xff\x97\x80\xa5\x5e\xe7\x42\x82\x12\x48\xe8\x11\xf5\x0d\xf3\x2e\x56\x71\x95\x65\xd6\x3d\xa1\x4f\x02\x3a\xe8\xb0\x9e\xe3\x98\x53\xf7\x47\x3b\x86\x13\x07\xa6\xee\x8f\x0e\x1a\x4c\x69\x49\x4c\x0f\xc4\xc4\x81\xdc\x12\x29\x31\x1f\xf4\x92\xb1\x00\xd6\x02\x56\xf2\x76\x89\xaa\x69\x24\x44\xc4\x8c\x27\xfd\x68\x14\xc0\x9a\x06\xa1\x1b\x22\xf1\x53\x48\x11\x2a\x24\x5a\x72\xb4\xee\x47\x6c\xbb\xdd\x8e\x4b\x94\x86\x58\xed\x1b\x41\xdf\x95\xd6\xb6\x11\xb8\x05\x75\x7b\xf4\xe7\x1a\x6a\x67\xf7\xe0\x29\x5c\xa0\x0c\xdd\x93\x94\xc8\xdd\xe9\xf1\x63\x78\xa3\xde\xbf\x82\x59\x2b\xdf\x4b\x2c\xcf\xe3\x98\xe5\x54\x46\xba\x5b\xcc\xb0\xb1\x2b\xce\x89\xf6\xfb\xa1\xca\xd9\x5d\x22\xe7\x74\x77\x5b\x1c\x7f\xb6\xd2\x8b\x7c\xd1\x96\x58\xde\xfa\x7c\x57\x29\x65\xd4\x52\x34\x06\xa3\x51\xa9\xa3\xf6\x10\xc4\x2d\xc8\xd3\xca\x9c\x82\xbf\xc3\x85\x0e\x2f\x35\x5f\x33\xc5\xe1\x0a\x25\xce\xe5\x14\x9e\x8f\x9f\xbf\x3c\x0c\xda\x11\x14\xd7\x88\x3f\x60\x99\xa5\x28\xc6\x96\x85\xbf\xab\xc8\x29\x8f\x74\x9e\x50\xd9\x18\x9c\x28\x78\xb4\xb9\x0f\xde\xd9\x79\x07\xf1\x8d\x33\x22\x24\x04\x96\xc6\x91\x5a\x6e\x84\x27\x13\xd3\x74\x97\x21\xb9\x32\x37\x30\xaa\xcc\x24\x1b\xac\xaa\x73\x22\x21\x61\xd8\x5c\xcb\xec\x70\x51\xf4\xab\x02\x1e\x38\x4e\x91\xc4\x89\x21\x20\x60\x85\x39\x0e\xb1\x57\xc6\x0d\xbd\xff\x8e\x3f\xe7\xcc\xa1\xbc\x7d\x35\x73\x4c\x06\x9d\x87\xe3\xa1\x12\xda\x9e\xf2\xda\x0a\xda\xfe\x2e\x2a\xe8\x6b\x2a\xdb\x94\x53\x48\xa1\xb9\x72\x54\x69\x59\x2a\x69\x54\x4c\x9e\x19\x22\xb3\xea\xa6\xd8\x3c\xa8\x20\x8e\x35\x59\x07\x40\xff\x76\x25\xee\x71\xb3\xe2\x94\x82\x25\x74\x7b\x19\xd3\x0e\xd2\x5c\x9e\x87\xcb\x96\x12\xf4\x70\x75\x54\x82\x1e\x2a\x75\x34\xe0\xa3\x7b\xee\x9d\x10\x3d\x80\xf8\x4e\xe5\x28\x37\x57\x73\x88\x19\x55\xba\xd4\xc7\xdb\x8a\x33\xf7\x48\xdb\xf4\x8f\x0a\x40\x95\x8a\xe4\x2e\xc3\xb0\x25\x72\x05\x88\xc2\x1f\xe6\x46\xe1\x0f\xb8\xbe\x84\x05\xc1\xa9\xdf\x18\xb8\x41\x5c\xe5\x4e\x38\xb9\xb9\x9a\x7b\xed\xa3\x0d\x65\xdc\x5c\xcd\x6b\xf7\x09\xd0\xb8\x3f\xd1\xde\x52\x4e\x07\xa7\x27\xf0\xb8\x0f\xb9\xec\x64\xa2\xd9\x4b\x38\xda\x82\xb9\x5c\x51\x99\x16\x94\x8d\xcc\x2a\x2f\x8b\xab\x52\x4d\x25\x61\x06\x88\xe8\xce\x58\x3d\x8c\xd2\xd4\xb9\x3a\xb0\x8b\xc0\x4e\x1b\xd9\x2f\xd7\x97\x65\xa3\x67\xa8\x20\x34\x5d\xcc\xae\x0c\x6a\x33\xd5\x4a\x56\xec\xfb\x02\x79\x17\x41\x15\x01\xf7\x2e\x68\x4d\x84\x50\x66\xba\xb9\x9a\xd7\x72\x02\x7d\x87\xe3\x35\x8e\x6a\x2a\xfa\x32\xcc\xb4\x8e\x96\xc4\xf8\xd9\x18\x15\x17\xa1\xa1\x35\x79\x7a\x62\x50\x5b\x34\x9b\x98\x4e\x53\x90\xe8\x41\xa9\x55\x6b\x55\x69\x10\x25\x89\xa7\xc0\x52\xbf\xc2\xf1\x38\x77\xa2\x12\x49\x81\x5f\x5f\x5a\x44\x92\x00\xe2\x1c\xed\x1a\xba\x2f\x08\x47\x9a\xb9\x16\x65\x87\x6e\xdc\x4a\x6d\x9b\x2f\x48\x3c\x83\xd7\x76\x7d\xdd\x5c\xcd\x8f\x1a\x08\xd5\xfd\x26\xcc\x4a\x2d\x1e\xd5\x63\x3b\x4a\x12\xcd\x2f\xc5\xdb\x62\xe6\x42\x00\x67\x7d\x6d\x57\x24\x5e\x95\x2e\xa8\x06\x59\x9a\x00\xa3\xb8\x41\x93\xa5\xc9\x3c\xec\x15\x45\xff\x5d\xcd\x26\xa5\xc9\xdd\xc6\x5f\x65\x6b\xc9\x5a\x2c\x1d\xbc\xcc\xb3\x64\x5b\x6c\xad\x62\xfe\xa5\x28\x1c\x43\xaf\x21\x6d\x1a\x5b\xdb\xa8\x31\x7d\x34\x8d\x38\x36\x3d\xe6\xae\xdd\x83\x3b\xc8\xa5\xb9\x0a\x33\xea\x6d\xb9\x0c\xab\xad\x8a\x07\xbc\x13\x5d\x1b\xd3\x3d\xe3\x9c\x6d\x55\xfc\xb3\xd1\xcf\x6d\xbf\x9e\x82\x97\x39\x86\xc3\xe5\x3e\xe0\x36\x74\x21\x61\x06\xd1\x71\xc0\x1a\x48\x00\xca\xe5\x0a\x8e\x43\x2e\x78\x36\x7c\xd6\x98\xcb\x9e\xcc\xeb\xe6\x2a\xed\x81\xc7\xae\x07\x06\x74\x60\x31\x90\xe8\xc5\x7f\x8b\xfd\x8c\x6a\xd4\x3c\x4b\x95\x4b\xa8\x18\xbe\xc0\x1c\x17\x45\x6d\x11\x12\xdb\x0d\x37\x99\x80\x60\xc6\xc2\x55\x4c\x84\x18\x51\xe0\x18\x25\x40\xa4\xa8\xae\x4d\xd5\x6a\x56\x00\xf6\xe9\x8a\x25\xa2\xc5\x54\x37\x57\xf3\x9a\x85\x7a\xc4\xcd\x42\x2f\x6d\xf6\x38\x68\x8a\x56\xc7\x29\x0c\x51\xe3\xe8\xda\xb1\x4f\xfd\xaa\xcf\x69\x22\xef\x08\xe0\xfe\x25\x7e\x7b\xe0\xf6\x42\x94\x75\x8f\xd7\x6d\xee\xa1\x6b\x31\xbc\x80\x19\x1c\xdb\x70\xe6\x33\xdb\xb1\x61\x96\x9d\xbc\x2d\x81\x30\xa0\x6e\x8e\x17\x21\x0d\xb6\x35\x38\xd8\xb0\xe2\xd3\x0d\x67\x5d\x1d\x6d\x6f\xbd\x5e\x20\xf1\x5a\x09\x4c\x67\x45\xd5\xfa\x50\x99\xf6\xd6\x7b\x29\xc6\x76\x0f\x95\x96\x81\x68\x70\x13\xee\xaf\x28\x1a\xaf\xb2\xcf\xed\x97\x5b\xe7\x42\xc2\xbd\x7d\x91\x42\x37\x14\x18\xe9\x80\x1b\x31\x1c\x5a\x4e\x0b\x9a\x2b\xfb\xe1\x46\x96\x2e\x5d\xd6\x3b\x56\x0a\xe7\xfe\xbb\xb5\x76\xa8\x57\xcd\xea\xcd\xc2\x69\xcd\x29\x59\xda\xf4\x56\x7f\x73\xc8\x56\x77\x4e\x76\xaf\xd4\x61\xee\x5f\x6e\xbf\x5e\x5f\xe5\x37\xd0\xde\x93\x5e\x49\xa8\xc9\xd7\x49\xbe\x0c\x6c\x66\xe3\x71\x23\x9a\x1f\x58\xab\x96\x7f\x15\x58\x34\x6c\x11\x44\x6b\xe4\x5a\x2e\x2c\x7a\xdf\x8a\x54\xc9\x66\xf1\x1a\x4c\xe3\xda\xa3\x20\xa8\x5b\x8b\x4a\xb4\xc3\xef\xf1\x8d\x02\xb0\xe1\xf7\xf1\x42\x90\xdd\x6f\xf0\x55\x18\x87\x5e\xdf\x6b\x42\x06\xdf\xdd\xab\xc0\x42\x2f\x2f\x3a\xad\x68\xda\x38\x7e\x9b\xd7\x73\x7f\xd0\x74\x04\xf8\x35\x91\x1e\x08\xaa\x0c\x66\x61\x55\xb6\xa1\x56\x3a\xf0\x30\x6b\x2f\x37\x06\x10\x9b\x0a\xf5\x26\x68\x0e\xfb\x13\x05\xf4\x0c\xb3\x90\xf6\xc3\x68\x56\xe9\x0e\x8e\x7d\xe4\x23\x14\xea\x87\x99\x35\x84\x97\x47\x5d\x18\x17\x45\x6e\xd5\x28\x99\x3d\x93\x33\xaf\xb8\x78\x3b\x9d\x8a\x0d\x0e\x6c\x87\x97\x97\x1c\x20\x73\x1a\x3a\x16\x68\x83\xa3\xd3\x93\x0a\xdb\xc9\xe9\x83\x26\x6b\x99\x27\x25\xf4\xe1\xf4\xb8\xeb\x32\x36\x70\x7f\xdd\x6a\xf5\x11\x48\xc4\x97\x58\x7e\x0d\x46\xfa\x5c\xa4\x1f\xf4\xa2\x7e\x0c\x05\x8d\xc8\xec\xeb\x86\x92\x81\x58\xa9\xda\x65\x4d\xa8\x84\xb8\x3c\x6c\x36\x87\x1b\x19\x67\x9f\x76\x9e\x45\x4b\xc4\xca\x9e\xb5\xb7\x1a\x0f\x18\x95\x95\xcd\xb6\xa5\x49\x03\xae\xdc\xa9\xc7\x1a\xc1\xc7\xe6\x5b\x94\x56\x7b\x8d\x26\x08\x5f\x63\xad\x84\xf7\x47\x47\xfb\xa3\xff\x05\x00\x00\xff\xff\x19\xfb\x85\xc3\x73\x3e\x00\x00" + +func packnft_topshotCdcBytes() ([]byte, error) { + return bindataRead( + _packnft_topshotCdc, + "PackNFT_TopShot.cdc", + ) +} + +func packnft_topshotCdc() (*asset, error) { + bytes, err := packnft_topshotCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "PackNFT_TopShot.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -156,8 +185,8 @@ func packnft_alldayCdc() (*asset, error) { // It returns an error if the asset could not be found or // could not be loaded. func Asset(name string) ([]byte, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { a, err := f() if err != nil { return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) @@ -167,12 +196,6 @@ func Asset(name string) ([]byte, error) { return nil, fmt.Errorf("Asset %s not found", name) } -// AssetString returns the asset contents as a string (instead of a []byte). -func AssetString(name string) (string, error) { - data, err := Asset(name) - return string(data), err -} - // MustAsset is like Asset but panics when Asset would return an error. // It simplifies safe initialization of global variables. func MustAsset(name string) []byte { @@ -184,18 +207,12 @@ func MustAsset(name string) []byte { return a } -// MustAssetString is like AssetString but panics when Asset would return an -// error. It simplifies safe initialization of global variables. -func MustAssetString(name string) string { - return string(MustAsset(name)) -} - // AssetInfo loads and returns the asset info for the given name. // It returns an error if the asset could not be found or // could not be loaded. func AssetInfo(name string) (os.FileInfo, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { a, err := f() if err != nil { return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) @@ -205,33 +222,6 @@ func AssetInfo(name string) (os.FileInfo, error) { return nil, fmt.Errorf("AssetInfo %s not found", name) } -// AssetDigest returns the digest of the file with the given name. It returns an -// error if the asset could not be found or the digest could not be loaded. -func AssetDigest(name string) ([sha256.Size]byte, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { - a, err := f() - if err != nil { - return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err) - } - return a.digest, nil - } - return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name) -} - -// Digests returns a map of all known files and their checksums. -func Digests() (map[string][sha256.Size]byte, error) { - mp := make(map[string][sha256.Size]byte, len(_bindata)) - for name := range _bindata { - a, err := _bindata[name]() - if err != nil { - return nil, err - } - mp[name] = a.digest - } - return mp, nil -} - // AssetNames returns the names of the assets. func AssetNames() []string { names := make([]string, 0, len(_bindata)) @@ -243,35 +233,31 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "IPackNFT.cdc": ipacknftCdc, - "PDS.cdc": pdsCdc, - "PackNFT.cdc": packnftCdc, - "PackNFT_AllDay.cdc": packnft_alldayCdc, + "IPackNFT.cdc": ipacknftCdc, + "PDS.cdc": pdsCdc, + "PackNFT.cdc": packnftCdc, + "PackNFT_AllDay.cdc": packnft_alldayCdc, + "PackNFT_TopShot.cdc": packnft_topshotCdc, } -// AssetDebug is true if the assets were built with the debug flag enabled. -const AssetDebug = false - // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the // following hierarchy: -// -// data/ -// foo.txt -// img/ -// a.png -// b.png -// -// then AssetDir("data") would return []string{"foo.txt", "img"}, -// AssetDir("data/img") would return []string{"a.png", "b.png"}, -// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and +// data/ +// foo.txt +// img/ +// a.png +// b.png +// then AssetDir("data") would return []string{"foo.txt", "img"} +// AssetDir("data/img") would return []string{"a.png", "b.png"} +// AssetDir("foo.txt") and AssetDir("notexist") would return an error // AssetDir("") will return []string{"data"}. func AssetDir(name string) ([]string, error) { node := _bintree if len(name) != 0 { - canonicalName := strings.Replace(name, "\\", "/", -1) - pathList := strings.Split(canonicalName, "/") + cannonicalName := strings.Replace(name, "\\", "/", -1) + pathList := strings.Split(cannonicalName, "/") for _, p := range pathList { node = node.Children[p] if node == nil { @@ -295,13 +281,14 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "IPackNFT.cdc": {ipacknftCdc, map[string]*bintree{}}, - "PDS.cdc": {pdsCdc, map[string]*bintree{}}, - "PackNFT.cdc": {packnftCdc, map[string]*bintree{}}, - "PackNFT_AllDay.cdc": {packnft_alldayCdc, map[string]*bintree{}}, + "IPackNFT.cdc": &bintree{ipacknftCdc, map[string]*bintree{}}, + "PDS.cdc": &bintree{pdsCdc, map[string]*bintree{}}, + "PackNFT.cdc": &bintree{packnftCdc, map[string]*bintree{}}, + "PackNFT_AllDay.cdc": &bintree{packnft_alldayCdc, map[string]*bintree{}}, + "PackNFT_TopShot.cdc": &bintree{packnft_topshotCdc, map[string]*bintree{}}, }} -// RestoreAsset restores an asset under the given directory. +// RestoreAsset restores an asset under the given directory func RestoreAsset(dir, name string) error { data, err := Asset(name) if err != nil { @@ -315,14 +302,18 @@ func RestoreAsset(dir, name string) error { if err != nil { return err } - err = os.WriteFile(_filePath(dir, name), data, info.Mode()) + err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) if err != nil { return err } - return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) + err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) + if err != nil { + return err + } + return nil } -// RestoreAssets restores an asset under the given directory recursively. +// RestoreAssets restores an asset under the given directory recursively func RestoreAssets(dir, name string) error { children, err := AssetDir(name) // File @@ -340,6 +331,6 @@ func RestoreAssets(dir, name string) error { } func _filePath(dir, name string) string { - canonicalName := strings.Replace(name, "\\", "/", -1) - return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...) + cannonicalName := strings.Replace(name, "\\", "/", -1) + return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) } diff --git a/pds/lib/go/go.mod b/pds/lib/go/go.mod index 2dad0ef..8fb39de 100644 --- a/pds/lib/go/go.mod +++ b/pds/lib/go/go.mod @@ -1,154 +1,193 @@ module github.com/dapperlabs/studio-platform-smart-contracts/lib/go -go 1.18 +go 1.19 require ( - github.com/kevinburke/go-bindata v3.23.0+incompatible - github.com/onflow/cadence v0.31.3 - github.com/onflow/flow-emulator v0.43.0 - github.com/onflow/flow-ft/lib/go/templates v0.2.0 - github.com/onflow/flow-go-sdk v0.31.3 - github.com/onflow/flow-nft/lib/go/contracts v0.0.0-20220727161549-d59b1e547ac4 - github.com/onflow/flow-nft/lib/go/templates v0.0.0-20221209205713-c29bf2f3b031 - github.com/stretchr/testify v1.8.1 + github.com/kevinburke/go-bindata v3.24.0+incompatible + github.com/onflow/cadence v1.0.0-M8 + github.com/onflow/flow-emulator v1.0.0-M8 + github.com/onflow/flow-go-sdk v1.0.0-M7 + github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a + github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a + github.com/rs/zerolog v1.29.0 + github.com/stretchr/testify v1.8.4 ) require ( - github.com/Microsoft/go-winio v0.5.2 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 // indirect - github.com/acomagu/bufpipe v1.0.3 // indirect + github.com/DataDog/zstd v1.5.2 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect + github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc // indirect + github.com/StackExchange/wmi v1.2.1 // indirect + github.com/VictoriaMetrics/fastcache v1.12.1 // indirect + github.com/beorn7/perks v1.0.1 // indirect github.com/bits-and-blooms/bitset v1.7.0 // indirect - github.com/btcsuite/btcd v0.22.1 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.2.1 // indirect + github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cloudflare/circl v1.1.0 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cockroachdb/errors v1.9.1 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 // indirect + github.com/cockroachdb/redact v1.1.3 // indirect + github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect + github.com/consensys/bavard v0.1.13 // indirect + github.com/consensys/gnark-crypto v0.12.1 // indirect + github.com/coreos/go-semver v0.3.0 // indirect + github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect + github.com/deckarep/golang-set/v2 v2.1.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de // indirect + github.com/dgraph-io/ristretto v0.1.0 // indirect github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/ef-ds/deque v1.0.4 // indirect - github.com/emirpasic/gods v1.18.1 // indirect - github.com/ethereum/go-ethereum v1.12.1 // indirect + github.com/ethereum/c-kzg-4844 v0.4.0 // indirect + github.com/ethereum/go-ethereum v1.13.5 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/fxamacker/cbor/v2 v2.4.1-0.20220515183430-ad2eae63303f // indirect + github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c // indirect github.com/fxamacker/circlehash v0.3.0 // indirect - github.com/go-git/gcfg v1.5.0 // indirect - github.com/go-git/go-billy/v5 v5.4.0 // indirect - github.com/go-git/go-git/v5 v5.5.2 // indirect - github.com/go-logr/logr v1.2.3 // indirect + github.com/getsentry/sentry-go v0.18.0 // indirect + github.com/glebarez/go-sqlite v1.22.0 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-test/deep v1.0.8 // indirect + github.com/go-ole/go-ole v1.2.6 // indirect + github.com/go-redis/redis/v8 v8.11.5 // indirect + github.com/go-stack/stack v1.8.1 // indirect + github.com/gofrs/flock v0.8.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/glog v1.1.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/gorilla/websocket v1.5.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect + github.com/holiman/bloomfilter/v2 v2.0.3 // indirect github.com/holiman/uint256 v1.2.3 // indirect - github.com/imdario/mergo v0.3.13 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/ipfs/bbloom v0.0.4 // indirect - github.com/ipfs/go-block-format v0.0.3 // indirect - github.com/ipfs/go-cid v0.3.2 // indirect + github.com/ipfs/go-block-format v0.2.0 // indirect + github.com/ipfs/go-cid v0.4.1 // indirect github.com/ipfs/go-datastore v0.6.0 // indirect - github.com/ipfs/go-ipfs-blockstore v1.2.0 // indirect + github.com/ipfs/go-ipfs-blockstore v1.3.0 // indirect github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect - github.com/ipfs/go-ipfs-util v0.0.2 // indirect - github.com/ipfs/go-ipld-format v0.3.0 // indirect + github.com/ipfs/go-ipfs-util v0.0.3 // indirect + github.com/ipfs/go-ipld-format v0.6.0 // indirect github.com/ipfs/go-log v1.0.5 // indirect github.com/ipfs/go-log/v2 v2.5.1 // indirect github.com/ipfs/go-metrics-interface v0.0.1 // indirect - github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jbenet/goprocess v0.1.4 // indirect - github.com/kevinburke/ssh_config v1.2.0 // indirect - github.com/klauspost/compress v1.15.15 // indirect - github.com/klauspost/cpuid/v2 v2.1.1 // indirect + github.com/k0kubun/pp v3.0.1+incompatible // indirect + github.com/klauspost/compress v1.17.4 // indirect + github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-libp2p v0.23.3 // indirect - github.com/libp2p/go-openssl v0.1.0 // indirect + github.com/libp2p/go-libp2p v0.32.2 // indirect github.com/logrusorgru/aurora v2.0.3+incompatible // indirect - github.com/magiconair/properties v1.8.6 // indirect + github.com/logrusorgru/aurora/v4 v4.0.0 // indirect + github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mattn/go-pointer v0.0.1 // indirect - github.com/minio/sha256-simd v1.0.0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect + github.com/minio/sha256-simd v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mmcloughlin/addchain v0.4.0 // indirect github.com/mr-tron/base58 v1.2.0 // indirect github.com/multiformats/go-base32 v0.1.0 // indirect - github.com/multiformats/go-base36 v0.1.0 // indirect - github.com/multiformats/go-multiaddr v0.7.0 // indirect - github.com/multiformats/go-multibase v0.1.1 // indirect - github.com/multiformats/go-multicodec v0.6.0 // indirect - github.com/multiformats/go-multihash v0.2.1 // indirect - github.com/multiformats/go-varint v0.0.6 // indirect - github.com/onflow/atree v0.4.0 // indirect - github.com/onflow/flow-core-contracts/lib/go/contracts v0.11.2-0.20221216161720-c1b31d5a4722 // indirect - github.com/onflow/flow-core-contracts/lib/go/templates v0.11.2-0.20221216161720-c1b31d5a4722 // indirect - github.com/onflow/flow-ft/lib/go/contracts v0.5.0 // indirect - github.com/onflow/flow-go v0.29.8 // indirect - github.com/onflow/flow-go/crypto v0.24.4 // indirect - github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288 // indirect - github.com/onflow/sdks v0.4.4 // indirect + github.com/multiformats/go-base36 v0.2.0 // indirect + github.com/multiformats/go-multiaddr v0.12.2 // indirect + github.com/multiformats/go-multibase v0.2.0 // indirect + github.com/multiformats/go-multicodec v0.9.0 // indirect + github.com/multiformats/go-multihash v0.2.3 // indirect + github.com/multiformats/go-multistream v0.5.0 // indirect + github.com/multiformats/go-varint v0.0.7 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect + github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f // indirect + github.com/onflow/crypto v0.25.0 // indirect + github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b // indirect + github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b // indirect + github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240213220156-959b70719876 // indirect + github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240213220156-959b70719876 // indirect + github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122 // indirect + github.com/onflow/flow/protobuf/go/flow v0.3.7 // indirect + github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect - github.com/pjbgf/sha1cd v0.2.3 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/prometheus/client_golang v1.18.0 // indirect + github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/common v0.45.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect + github.com/psiemens/graceland v1.0.0 // indirect github.com/psiemens/sconfig v0.1.0 // indirect - github.com/rivo/uniseg v0.2.1-0.20211004051800-57c86be7915a // indirect - github.com/rs/zerolog v1.28.0 // indirect - github.com/sergi/go-diff v1.1.0 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.10.0 // indirect github.com/sethvargo/go-retry v0.2.3 // indirect - github.com/skeema/knownhosts v1.1.0 // indirect - github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect + github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect + github.com/slok/go-http-metrics v0.10.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/afero v1.9.0 // indirect + github.com/spf13/afero v1.10.0 // indirect github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.12.0 // indirect - github.com/subosito/gotenv v1.4.0 // indirect + github.com/spf13/viper v1.15.0 // indirect + github.com/stretchr/objx v0.5.0 // indirect + github.com/subosito/gotenv v1.4.2 // indirect + github.com/supranational/blst v0.3.11 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect + github.com/tklauser/go-sysconf v0.3.12 // indirect + github.com/tklauser/numcpus v0.6.1 // indirect github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v4 v4.3.11 // indirect github.com/vmihailenco/tagparser v0.1.1 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/zeebo/blake3 v0.2.3 // indirect - go.opentelemetry.io/otel v1.8.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.8.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.8.0 // indirect - go.opentelemetry.io/otel/sdk v1.8.0 // indirect - go.opentelemetry.io/otel/trace v1.8.0 // indirect - go.opentelemetry.io/proto/otlp v0.18.0 // indirect - go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.8.0 // indirect - go.uber.org/zap v1.23.0 // indirect - golang.org/x/crypto v0.9.0 // indirect - golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect - golang.org/x/net v0.10.0 // indirect - golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.9.0 // indirect - golang.org/x/text v0.9.0 // indirect - golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd // indirect - google.golang.org/grpc v1.46.2 // indirect - google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/ini.v1 v1.66.6 // indirect - gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + go.opentelemetry.io/otel v1.22.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 // indirect + go.opentelemetry.io/otel/metric v1.22.0 // indirect + go.opentelemetry.io/otel/sdk v1.21.0 // indirect + go.opentelemetry.io/otel/trace v1.22.0 // indirect + go.opentelemetry.io/proto/otlp v1.0.0 // indirect + go.uber.org/atomic v1.11.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.26.0 // indirect + golang.org/x/crypto v0.18.0 // indirect + golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect + golang.org/x/mod v0.14.0 // indirect + golang.org/x/net v0.20.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/sys v0.16.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/tools v0.17.0 // indirect + golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect + gonum.org/v1/gonum v0.14.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect + google.golang.org/grpc v1.60.1 // indirect + google.golang.org/protobuf v1.32.0 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - lukechampine.com/blake3 v1.1.7 // indirect + lukechampine.com/blake3 v1.2.1 // indirect + modernc.org/libc v1.37.6 // indirect + modernc.org/mathutil v1.6.0 // indirect + modernc.org/memory v1.7.2 // indirect + modernc.org/sqlite v1.28.0 // indirect + rsc.io/tmplfunc v0.0.3 // indirect ) diff --git a/pds/lib/go/go.sum b/pds/lib/go/go.sum index cb2ff85..b719bae 100644 --- a/pds/lib/go/go.sum +++ b/pds/lib/go/go.sum @@ -1,12 +1,15 @@ +cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -27,160 +30,1168 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.7/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= +cloud.google.com/go/accessapproval v1.7.2/go.mod h1:/gShiq9/kK/h8T/eEn1BTzalDvk0mZxJlhfw0p+Xuc0= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps= +cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= +cloud.google.com/go/accesscontextmanager v1.8.2/go.mod h1:E6/SCRM30elQJ2PKtFMs2YhfJpZSNcJyejhuzoId4Zk= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/aiplatform v1.50.0/go.mod h1:IRc2b8XAMTa9ZmfJV1BCCQbieWWvDnP1A8znyz5N7y4= +cloud.google.com/go/aiplatform v1.51.0/go.mod h1:IRc2b8XAMTa9ZmfJV1BCCQbieWWvDnP1A8znyz5N7y4= +cloud.google.com/go/aiplatform v1.51.1/go.mod h1:kY3nIMAVQOK2XDqDPHaOuD9e+FdMA6OOpfBjsvaFSOo= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= +cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= +cloud.google.com/go/analytics v0.21.4/go.mod h1:zZgNCxLCy8b2rKKVfC1YkC2vTrpfZmeRCySM3aUbskA= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= +cloud.google.com/go/apigateway v1.6.2/go.mod h1:CwMC90nnZElorCW63P2pAYm25AtQrHfuOkbRSHj0bT8= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= +cloud.google.com/go/apigeeconnect v1.6.2/go.mod h1:s6O0CgXT9RgAxlq3DLXvG8riw8PYYbU/v25jqP3Dy18= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= +cloud.google.com/go/apigeeregistry v0.7.2/go.mod h1:9CA2B2+TGsPKtfi3F7/1ncCCsL62NXBRfM6iPoGSM+8= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= +cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= +cloud.google.com/go/appengine v1.8.2/go.mod h1:WMeJV9oZ51pvclqFN2PqHoGnys7rK0rz6s3Mp6yMvDo= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= +cloud.google.com/go/area120 v0.8.2/go.mod h1:a5qfo+x77SRLXnCynFWPUZhnZGeSgvQ+Y0v1kSItkh4= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= +cloud.google.com/go/artifactregistry v1.14.2/go.mod h1:Xk+QbsKEb0ElmyeMfdHAey41B+qBq3q5R5f5xD4XT3U= +cloud.google.com/go/artifactregistry v1.14.3/go.mod h1:A2/E9GXnsyXl7GUvQ/2CjHA+mVRoWAXC0brg2os+kNI= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= +cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= +cloud.google.com/go/asset v1.15.0/go.mod h1:tpKafV6mEut3+vN9ScGvCHXHj7FALFVta+okxFECHcg= +cloud.google.com/go/asset v1.15.1/go.mod h1:yX/amTvFWRpp5rcFq6XbCxzKT8RJUam1UoboE179jU4= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= +cloud.google.com/go/assuredworkloads v1.11.2/go.mod h1:O1dfr+oZJMlE6mw0Bp0P1KZSlj5SghMBvTpZqIcUAW4= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= +cloud.google.com/go/automl v1.13.2/go.mod h1:gNY/fUmDEN40sP8amAX3MaXkxcqPIn7F1UIIPZpy4Mg= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA= +cloud.google.com/go/baremetalsolution v1.2.0/go.mod h1:68wi9AwPYkEWIUT4SvSGS9UJwKzNpshjHsH4lzk8iOw= +cloud.google.com/go/baremetalsolution v1.2.1/go.mod h1:3qKpKIw12RPXStwQXcbhfxVj1dqQGEvcmA+SX/mUR88= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A= +cloud.google.com/go/batch v1.4.1/go.mod h1:KdBmDD61K0ovcxoRHGrN6GmOBWeAOyCgKD0Mugx4Fkk= +cloud.google.com/go/batch v1.5.0/go.mod h1:KdBmDD61K0ovcxoRHGrN6GmOBWeAOyCgKD0Mugx4Fkk= +cloud.google.com/go/batch v1.5.1/go.mod h1:RpBuIYLkQu8+CWDk3dFD/t/jOCGuUpkpX+Y0n1Xccs8= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= +cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= +cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= +cloud.google.com/go/beyondcorp v1.0.1/go.mod h1:zl/rWWAFVeV+kx+X2Javly7o1EIQThU4WlkynffL/lk= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.6.1 h1:2sMmt8prCn7DPaG4Pmh0N3Inmc8cT8ae5k1M6VJ9Wqc= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/bigquery v1.55.0/go.mod h1:9Y5I3PN9kQWuid6183JFhOGOW3GcirA5LpsKCUn+2ec= +cloud.google.com/go/bigquery v1.56.0/go.mod h1:KDcsploXTEY7XT3fDQzMUZlpQLHzE4itubHrnmhUrZA= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= +cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= +cloud.google.com/go/billing v1.17.0/go.mod h1:Z9+vZXEq+HwH7bhJkyI4OQcR6TSbeMrjlpEjO2vzY64= +cloud.google.com/go/billing v1.17.1/go.mod h1:Z9+vZXEq+HwH7bhJkyI4OQcR6TSbeMrjlpEjO2vzY64= +cloud.google.com/go/billing v1.17.2/go.mod h1:u/AdV/3wr3xoRBk5xvUzYMS1IawOAPwQMuHgHMdljDg= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= +cloud.google.com/go/binaryauthorization v1.7.0/go.mod h1:Zn+S6QqTMn6odcMU1zDZCJxPjU2tZPV1oDl45lWY154= +cloud.google.com/go/binaryauthorization v1.7.1/go.mod h1:GTAyfRWYgcbsP3NJogpV3yeunbUIjx2T9xVeYovtURE= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= +cloud.google.com/go/certificatemanager v1.7.2/go.mod h1:15SYTDQMd00kdoW0+XY5d9e+JbOPjp24AvF48D8BbcQ= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= +cloud.google.com/go/channel v1.17.0/go.mod h1:RpbhJsGi/lXWAUM1eF4IbQGbsfVlg2o8Iiy2/YLfVT0= +cloud.google.com/go/channel v1.17.1/go.mod h1:xqfzcOZAcP4b/hUDH0GkGg1Sd5to6di1HOJn/pi5uBQ= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= +cloud.google.com/go/cloudbuild v1.13.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= +cloud.google.com/go/cloudbuild v1.14.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= +cloud.google.com/go/cloudbuild v1.14.1/go.mod h1:K7wGc/3zfvmYWOWwYTgF/d/UVJhS4pu+HAy7PL7mCsU= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= +cloud.google.com/go/clouddms v1.7.0/go.mod h1:MW1dC6SOtI/tPNCciTsXtsGNEM0i0OccykPvv3hiYeM= +cloud.google.com/go/clouddms v1.7.1/go.mod h1:o4SR8U95+P7gZ/TX+YbJxehOCsM+fe6/brlrFquiszk= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= +cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/cloudtasks v1.12.2/go.mod h1:A7nYkjNlW2gUoROg1kvJrQGhJP/38UaWwsnuBDOBVUk= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.21.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.23.1/go.mod h1:CqB3xpmPKKt3OJpW2ndFIXnA9A4xAy/F3Xp1ixncW78= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/contactcenterinsights v1.11.0/go.mod h1:hutBdImE4XNZ1NV4vbPJKSFOnQruhC5Lj9bZqWMTKiU= +cloud.google.com/go/contactcenterinsights v1.11.1/go.mod h1:FeNP3Kg8iteKM80lMwSk3zZZKVxr+PGnAId6soKuXwE= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/container v1.26.0/go.mod h1:YJCmRet6+6jnYYRS000T6k0D0xUXQgBSaJ7VwI8FBj4= +cloud.google.com/go/container v1.26.1/go.mod h1:5smONjPRUxeEpDG7bMKWfDL4sauswqEtnBK1/KKpR04= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= +cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= +cloud.google.com/go/containeranalysis v0.11.0/go.mod h1:4n2e99ZwpGxpNcz+YsFT1dfOHPQFGcAC8FN2M2/ne/U= +cloud.google.com/go/containeranalysis v0.11.1/go.mod h1:rYlUOM7nem1OJMKwE1SadufX0JP3wnXj844EtZAwWLY= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= +cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E= +cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/datacatalog v1.17.1/go.mod h1:nCSYFHgtxh2MiEktWIz71s/X+7ds/UT9kp0PC7waCzE= +cloud.google.com/go/datacatalog v1.18.0/go.mod h1:nCSYFHgtxh2MiEktWIz71s/X+7ds/UT9kp0PC7waCzE= +cloud.google.com/go/datacatalog v1.18.1/go.mod h1:TzAWaz+ON1tkNr4MOcak8EBHX7wIRX/gZKM+yTVsv+A= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= +cloud.google.com/go/dataflow v0.9.2/go.mod h1:vBfdBZ/ejlTaYIGB3zB4T08UshH70vbtZeMD+urnUSo= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= +cloud.google.com/go/dataform v0.8.2/go.mod h1:X9RIqDs6NbGPLR80tnYoPNiO1w0wenKTb8PxxlhTMKM= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= +cloud.google.com/go/datafusion v1.7.2/go.mod h1:62K2NEC6DRlpNmI43WHMWf9Vg/YvN6QVi8EVwifElI0= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= +cloud.google.com/go/datalabeling v0.8.2/go.mod h1:cyDvGHuJWu9U/cLDA7d8sb9a0tWLEletStu2sTmg3BE= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataplex v1.9.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataplex v1.10.1/go.mod h1:1MzmBv8FvjYfc7vDdxhnLFNskikkB+3vl475/XdCDhs= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4= +cloud.google.com/go/dataproc/v2 v2.2.0/go.mod h1:lZR7AQtwZPvmINx5J87DSOOpTfof9LVZju6/Qo4lmcY= +cloud.google.com/go/dataproc/v2 v2.2.1/go.mod h1:QdAJLaBjh+l4PVlVZcmrmhGccosY/omC1qwfQ61Zv/o= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= +cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= +cloud.google.com/go/dataqna v0.8.2/go.mod h1:KNEqgx8TTmUipnQsScOoDpq/VlXVptUqVMZnt30WAPs= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= -cloud.google.com/go/kms v1.0.0/go.mod h1:nhUehi+w7zht2XrUfvTRNpxrfayBHqP4lu2NSywui/0= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastore v1.14.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= +cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/datastream v1.10.1/go.mod h1:7ngSYwnw95YFyTd5tOGBxHlOZiL+OtpjheqU7t2/s/c= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/deploy v1.13.1/go.mod h1:8jeadyLkH9qu9xgO3hVWw8jVr29N1mnW42gRJT8GY6g= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/dialogflow v1.43.0/go.mod h1:pDUJdi4elL0MFmt1REMvFkdsUTYSHq+rTCS8wg0S3+M= +cloud.google.com/go/dialogflow v1.44.0/go.mod h1:pDUJdi4elL0MFmt1REMvFkdsUTYSHq+rTCS8wg0S3+M= +cloud.google.com/go/dialogflow v1.44.1/go.mod h1:n/h+/N2ouKOO+rbe/ZnI186xImpqvCVj2DdsWS/0EAk= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= +cloud.google.com/go/dlp v1.10.2/go.mod h1:ZbdKIhcnyhILgccwVDzkwqybthh7+MplGC3kZVZsIOQ= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= +cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/documentai v1.22.1/go.mod h1:LKs22aDHbJv7ufXuPypzRO7rG3ALLJxzdCXDPutw4Qc= +cloud.google.com/go/documentai v1.23.0/go.mod h1:LKs22aDHbJv7ufXuPypzRO7rG3ALLJxzdCXDPutw4Qc= +cloud.google.com/go/documentai v1.23.2/go.mod h1:Q/wcRT+qnuXOpjAkvOV4A+IeQl04q2/ReT7SSbytLSo= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= +cloud.google.com/go/domains v0.9.2/go.mod h1:3YvXGYzZG1Temjbk7EyGCuGGiXHJwVNmwIf+E/cUp5I= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= +cloud.google.com/go/edgecontainer v1.1.2/go.mod h1:wQRjIzqxEs9e9wrtle4hQPSR1Y51kqN75dgF7UllZZ4= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= +cloud.google.com/go/essentialcontacts v1.6.3/go.mod h1:yiPCD7f2TkP82oJEFXFTou8Jl8L6LBRPeBEkTaO0Ggo= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/eventarc v1.13.1/go.mod h1:EqBxmGHFrruIara4FUQ3RHlgfCn7yo1HYsu2Hpt/C3Y= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= +cloud.google.com/go/filestore v1.7.2/go.mod h1:TYOlyJs25f/omgj+vY7/tIG/E7BX369triSPzE4LdgE= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= +cloud.google.com/go/firestore v1.12.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= +cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= +cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= +cloud.google.com/go/functions v1.15.2/go.mod h1:CHAjtcR6OU4XF2HuiVeriEdELNcnvRZSk1Q8RMqy4lE= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= +cloud.google.com/go/gkebackup v1.3.1/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= +cloud.google.com/go/gkebackup v1.3.2/go.mod h1:OMZbXzEJloyXMC7gqdSB+EOEQ1AKcpGYvO3s1ec5ixk= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= +cloud.google.com/go/gkeconnect v0.8.2/go.mod h1:6nAVhwchBJYgQCXD2pHBFQNiJNyAd/wyxljpaa6ZPrY= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= +cloud.google.com/go/gkehub v0.14.2/go.mod h1:iyjYH23XzAxSdhrbmfoQdePnlMj2EWcvnR+tHdBQsCY= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/gkemulticloud v1.0.1/go.mod h1:AcrGoin6VLKT/fwZEYuqvVominLriQBCKmbjtnbMjG8= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= +cloud.google.com/go/gsuiteaddons v1.6.2/go.mod h1:K65m9XSgs8hTF3X9nNTPi8IQueljSdYo9F+Mi+s4MyU= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8= +cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iam v1.1.3/go.mod h1:3khUlaBXfPKKe7huYgEpDn6FtgRyMEqbkvBxrQyY5SE= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= +cloud.google.com/go/iap v1.9.0/go.mod h1:01OFxd1R+NFrg78S+hoPV5PxEzv22HXaNqUUlmNHFuY= +cloud.google.com/go/iap v1.9.1/go.mod h1:SIAkY7cGMLohLSdBR25BuIxO+I4fXJiL06IBL7cy/5Q= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= +cloud.google.com/go/ids v1.4.2/go.mod h1:3vw8DX6YddRu9BncxuzMyWn0g8+ooUjI2gslJ7FH3vk= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= +cloud.google.com/go/iot v1.7.2/go.mod h1:q+0P5zr1wRFpw7/MOgDXrG/HVA+l+cSwdObffkrpnSg= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= +cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/kms v1.15.2/go.mod h1:3hopT4+7ooWRCjc2DxgnpESFxhIraaI2IpAVUEhbT/w= +cloud.google.com/go/kms v1.15.3/go.mod h1:AJdXqHxS2GlPyduM99s9iGqi2nwbviBbhV/hdmt4iOQ= +cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= +cloud.google.com/go/language v1.11.0/go.mod h1:uDx+pFDdAKTY8ehpWbiXyQdz8tDSYLJbQcXsCkjYyvQ= +cloud.google.com/go/language v1.11.1/go.mod h1:Xyid9MG9WOX3utvDbpX7j3tXDmmDooMyMDqgUVpH17U= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= +cloud.google.com/go/lifesciences v0.9.2/go.mod h1:QHEOO4tDzcSAzeJg7s2qwnLM2ji8IRpQl4p6m5Z9yTA= +cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= +cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= +cloud.google.com/go/managedidentities v1.6.2/go.mod h1:5c2VG66eCa0WIq6IylRk3TBW83l161zkFvCj28X7jn8= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= +cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= +cloud.google.com/go/maps v1.4.1/go.mod h1:BxSa0BnW1g2U2gNdbq5zikLlHUuHW0GFWh7sgML2kIY= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= +cloud.google.com/go/mediatranslation v0.8.2/go.mod h1:c9pUaDRLkgHRx3irYE5ZC8tfXGrMYwNZdmDqKMSfFp8= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= +cloud.google.com/go/memcache v1.10.2/go.mod h1:f9ZzJHLBrmd4BkguIAa/l/Vle6uTHzHokdnzSWOdQ6A= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/metastore v1.13.0/go.mod h1:URDhpG6XLeh5K+Glq0NOt74OfrPKTwS62gEPZzb5SOk= +cloud.google.com/go/metastore v1.13.1/go.mod h1:IbF62JLxuZmhItCppcIfzBBfUFq0DIB9HPDoLgWrVOU= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= +cloud.google.com/go/monitoring v1.16.0/go.mod h1:Ptp15HgAyM1fNICAojDMoNc/wUmn67mLHQfyqbw+poY= +cloud.google.com/go/monitoring v1.16.1/go.mod h1:6HsxddR+3y9j+o/cMJH6q/KJ/CBTvM/38L/1m7bTRJ4= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= +cloud.google.com/go/networkconnectivity v1.13.0/go.mod h1:SAnGPes88pl7QRLUen2HmcBSE9AowVAcdug8c0RSBFk= +cloud.google.com/go/networkconnectivity v1.14.0/go.mod h1:SAnGPes88pl7QRLUen2HmcBSE9AowVAcdug8c0RSBFk= +cloud.google.com/go/networkconnectivity v1.14.1/go.mod h1:LyGPXR742uQcDxZ/wv4EI0Vu5N6NKJ77ZYVnDe69Zug= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= +cloud.google.com/go/networkmanagement v1.9.0/go.mod h1:UTUaEU9YwbCAhhz3jEOHr+2/K/MrBk2XxOLS89LQzFw= +cloud.google.com/go/networkmanagement v1.9.1/go.mod h1:CCSYgrQQvW73EJawO2QamemYcOb57LvrDdDU51F0mcI= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= +cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= +cloud.google.com/go/networksecurity v0.9.2/go.mod h1:jG0SeAttWzPMUILEHDUvFYdQTl8L/E/KC8iZDj85lEI= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= +cloud.google.com/go/notebooks v1.10.0/go.mod h1:SOPYMZnttHxqot0SGSFSkRrwE29eqnKPBJFqgWmiK2k= +cloud.google.com/go/notebooks v1.10.1/go.mod h1:5PdJc2SgAybE76kFQCWrTfJolCOUQXF97e+gteUUA6A= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= +cloud.google.com/go/optimization v1.5.0/go.mod h1:evo1OvTxeBRBu6ydPlrIRizKY/LJKo/drDMMRKqGEUU= +cloud.google.com/go/optimization v1.5.1/go.mod h1:NC0gnUD5MWVAF7XLdoYVPmYYVth93Q6BUzqAq3ZwtV8= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= +cloud.google.com/go/orchestration v1.8.2/go.mod h1:T1cP+6WyTmh6LSZzeUhvGf0uZVmJyTx7t8z7Vg87+A0= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M= +cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= +cloud.google.com/go/orgpolicy v1.11.2/go.mod h1:biRDpNwfyytYnmCRWZWxrKF22Nkz9eNVj9zyaBdpm1o= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc= +cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= +cloud.google.com/go/osconfig v1.12.2/go.mod h1:eh9GPaMZpI6mEJEuhEjUJmaxvQ3gav+fFEJon1Y8Iw0= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= +cloud.google.com/go/oslogin v1.11.0/go.mod h1:8GMTJs4X2nOAUVJiPGqIWVcDaF0eniEto3xlOxaboXE= +cloud.google.com/go/oslogin v1.11.1/go.mod h1:OhD2icArCVNUxKqtK0mcSmKL7lgr0LVlQz+v9s1ujTg= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= +cloud.google.com/go/phishingprotection v0.8.2/go.mod h1:LhJ91uyVHEYKSKcMGhOa14zMMWfbEdxG032oT6ECbC8= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= +cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU= +cloud.google.com/go/policytroubleshooter v1.9.0/go.mod h1:+E2Lga7TycpeSTj2FsH4oXxTnrbHJGRlKhVZBLGgU64= +cloud.google.com/go/policytroubleshooter v1.9.1/go.mod h1:MYI8i0bCrL8cW+VHN1PoiBTyNZTstCg2WUw2eVC4c4U= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= +cloud.google.com/go/privatecatalog v0.9.2/go.mod h1:RMA4ATa8IXfzvjrhhK8J6H4wwcztab+oZph3c6WmtFc= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= +cloud.google.com/go/recaptchaenterprise/v2 v2.8.0/go.mod h1:QuE8EdU9dEnesG8/kG3XuJyNsjEqMlMzg3v3scCJ46c= +cloud.google.com/go/recaptchaenterprise/v2 v2.8.1/go.mod h1:JZYZJOeZjgSSTGP4uz7NlQ4/d1w5hGmksVgM0lbEij0= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= +cloud.google.com/go/recommendationengine v0.8.2/go.mod h1:QIybYHPK58qir9CV2ix/re/M//Ty10OxjnnhWdaKS1Y= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= +cloud.google.com/go/recommender v1.11.0/go.mod h1:kPiRQhPyTJ9kyXPCG6u/dlPLbYfFlkwHNRwdzPVAoII= +cloud.google.com/go/recommender v1.11.1/go.mod h1:sGwFFAyI57v2Hc5LbIj+lTwXipGu9NW015rkaEM5B18= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= +cloud.google.com/go/redis v1.13.2/go.mod h1:0Hg7pCMXS9uz02q+LoEVl5dNHUkIQv+C/3L76fandSA= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= +cloud.google.com/go/resourcemanager v1.9.2/go.mod h1:OujkBg1UZg5lX2yIyMo5Vz9O5hf7XQOSV7WxqxxMtQE= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= +cloud.google.com/go/resourcesettings v1.6.2/go.mod h1:mJIEDd9MobzunWMeniaMp6tzg4I2GvD3TTmPkc8vBXk= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= +cloud.google.com/go/retail v1.14.2/go.mod h1:W7rrNRChAEChX336QF7bnMxbsjugcOCPU44i5kbLiL8= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo= +cloud.google.com/go/run v1.3.0/go.mod h1:S/osX/4jIPZGg+ssuqh6GNgg7syixKe3YnprwehzHKU= +cloud.google.com/go/run v1.3.1/go.mod h1:cymddtZOzdwLIAsmS6s+Asl4JoXIDm/K1cpZTxV4Q5s= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= +cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= +cloud.google.com/go/scheduler v1.10.2/go.mod h1:O3jX6HRH5eKCA3FutMw375XHZJudNIKVonSCHv7ropY= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= +cloud.google.com/go/secretmanager v1.11.2/go.mod h1:MQm4t3deoSub7+WNwiC4/tRYgDBHJgJPvswqQVB1Vss= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= +cloud.google.com/go/security v1.15.2/go.mod h1:2GVE/v1oixIRHDaClVbHuPcZwAqFM28mXuAKCfMgYIg= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= +cloud.google.com/go/securitycenter v1.23.1/go.mod h1:w2HV3Mv/yKhbXKwOCu2i8bCuLtNP1IMHuiYQn4HJq5s= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/servicedirectory v1.11.1/go.mod h1:tJywXimEWzNzw9FvtNjsQxxJ3/41jseeILgwU/QLrGI= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= +cloud.google.com/go/shell v1.7.2/go.mod h1:KqRPKwBV0UyLickMn0+BY1qIyE98kKyI216sH/TuHmc= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= +cloud.google.com/go/spanner v1.49.0/go.mod h1:eGj9mQGK8+hkgSVbHNQ06pQ4oS+cyc4tXXd6Dif1KoM= +cloud.google.com/go/spanner v1.50.0/go.mod h1:eGj9mQGK8+hkgSVbHNQ06pQ4oS+cyc4tXXd6Dif1KoM= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= +cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= +cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= +cloud.google.com/go/speech v1.19.1/go.mod h1:WcuaWz/3hOlzPFOVo9DUsblMIHwxP589y6ZMtaG+iAA= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.22.1 h1:F6IlQJZrZM++apn9V5/VfS3gbTUYg98PS3EMQAzqtfg= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= +cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= +cloud.google.com/go/storagetransfer v1.10.1/go.mod h1:rS7Sy0BtPviWYTTJVWCSV4QrbBitgPeuK4/FKa4IdLs= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= +cloud.google.com/go/talent v1.6.3/go.mod h1:xoDO97Qd4AK43rGjJvyBHMskiEf3KulgYzcH6YWOVoo= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= +cloud.google.com/go/texttospeech v1.7.2/go.mod h1:VYPT6aTOEl3herQjFHYErTlSZJ4vB00Q2ZTmuVgluD4= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= +cloud.google.com/go/tpu v1.6.2/go.mod h1:NXh3NDwt71TsPZdtGWgAG5ThDfGd32X1mJ2cMaRlVgU= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= +cloud.google.com/go/trace v1.10.2/go.mod h1:NPXemMi6MToRFcSxRl2uDnu/qAlAQ3oULUphcHGh1vA= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/translate v1.9.0/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/translate v1.9.1/go.mod h1:TWIgDZknq2+JD4iRcojgeDtqGEp154HN/uL6hMvylS8= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/video v1.20.0/go.mod h1:U3G3FTnsvAGqglq9LxgqzOiBc/Nt8zis8S+850N2DUM= +cloud.google.com/go/video v1.20.1/go.mod h1:3gJS+iDprnj8SY6pe0SwLeC5BUW80NjhwX7INWEuWGU= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= +cloud.google.com/go/videointelligence v1.11.2/go.mod h1:ocfIGYtIVmIcWk1DsSGOoDiXca4vaZQII1C85qtoplc= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= +cloud.google.com/go/vision/v2 v2.7.3/go.mod h1:V0IcLCY7W+hpMKXK1JYE0LV5llEqVmj+UJChjvA1WsM= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= +cloud.google.com/go/vmmigration v1.7.2/go.mod h1:iA2hVj22sm2LLYXGPT1pB63mXHhrH1m/ruux9TwWLd8= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vmwareengine v1.0.1/go.mod h1:aT3Xsm5sNx0QShk1Jc1B8OddrxAScYLwzVoaiXfdzzk= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= +cloud.google.com/go/vpcaccess v1.7.2/go.mod h1:mmg/MnRHv+3e8FJUjeSibVFvQF1cCy2MsFaFqxeY1HU= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= +cloud.google.com/go/webrisk v1.9.2/go.mod h1:pY9kfDgAqxUpDBOrG4w8deLfhvJmejKB0qd/5uQIPBc= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= +cloud.google.com/go/websecurityscanner v1.6.2/go.mod h1:7YgjuU5tun7Eg2kpKgGnDuEOXWIrh8x8lWrJT4zfmas= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= +cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= +cloud.google.com/go/workflows v1.12.0/go.mod h1:PYhSk2b6DhZ508tj8HXKaBh+OFe+xdl0dHF/tJdzPQM= +cloud.google.com/go/workflows v1.12.1/go.mod h1:5A95OhD/edtOhQd/O741NSfIMezNTbCwLM1P1tBRGHM= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.0.0/go.mod h1:+6sju8gk8FRmSajX3Oz4G5Gm7P+mbqE9FVaXXFYTkCM= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.0/go.mod h1:OQeznEEkTZ9OrhHJoDD8ZDq51FHgXjqtP9z6bEwBq9U= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.0.0/go.mod h1:ceIuwmxDWptoW3eCqSXlnPsZFKh4X+R38dWPv7GS9Vs= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0/go.mod h1:s1tW/At+xHqjNFvWU4G0c0Qv33KOhvbGNj0RCTQDV8s= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0/go.mod h1:c+Lifp3EDEamAkPVzMooRNOK6CZjNSdEnf1A7jsI9u4= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0/go.mod h1:+6KLcKIVgxoBDMqMO/Nvy7bZ9a0nbU3I1DtFQK3YvB4= +github.com/AzureAD/microsoft-authentication-library-for-go v0.4.0/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= +github.com/AzureAD/microsoft-authentication-library-for-go v1.0.0/go.mod h1:kgDmCTgBzIEPFElEF+FK0SdjAor06dRq2Go927dnQ6o= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= +github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= +github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8= +github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20190129172621-c8b1d7a94ddf/go.mod h1:aJ4qN3TfrelA6NZ6AXsXRfmEVaYin3EDbSPJrKS8OXo= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= +github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/OneOfOne/xxhash v1.2.5 h1:zl/OfRA6nftbBK9qTohYBJ5xvw6C/oNKizR7cZGl3cI= -github.com/OneOfOne/xxhash v1.2.5/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= +github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc h1:DCHzPQOcU/7gwDTWbFQZc5qHMPS1g0xTO56k8NXsv9M= +github.com/SaveTheRbtz/mph v0.1.1-0.20240117162131-4166ec7869bc/go.mod h1:LJM5a3zcIJ/8TmZwlUczvROEJT8ntOdhdG9jjcR1B0I= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.5.3/go.mod h1:+jv9Ckb+za/P1ZRg/sulP5Ni1v49daAVERr0H3CuscE= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= +github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA= +github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= +github.com/VictoriaMetrics/fastcache v1.12.1 h1:i0mICQuojGDL3KblA7wUNlY5lOK6a4bwt3uRKnkZU40= +github.com/VictoriaMetrics/fastcache v1.12.1/go.mod h1:tX04vaqcNoQeGLD+ra5pU5sWkuxnzWhEzLwhP9w653o= +github.com/aclements/go-gg v0.0.0-20170118225347-6dbb4e4fefb0/go.mod h1:55qNq4vcpkIuHowELi5C8e+1yUHtoLoOUR9QU5j7Tes= +github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794/go.mod h1:7e+I0LQFUI9AXWxOfsQROs9xPhoJtbsyWcjJqDd4KPY= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= +github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aws/aws-sdk-go-v2 v1.9.1 h1:ZbovGV/qo40nrOJ4q8G33AGICzaPI45FHQWJ9650pF4= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.5.1 h1:VGkV9KmhGqOQWnHyi4gLG98kE6OecT42fdrCGFWxJsc= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.3.0 h1:gceOysEWNNwLd6cki65IMBZ4WAM0MwgBQq2n7kejoT8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.0 h1:VNJ5NLBteVXEwE2F1zEXVmyIH58mZ6kIQGJoC7C+vkg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.7.0 h1:HWsM0YQWX76V6MOp07YuTYacm8k7h69ObJuw7Nck+og= -github.com/aws/aws-sdk-go-v2/service/s3 v1.15.0 h1:nPLfLPfglacc29Y949sDxpr3X/blaY40s3B85WT2yZU= -github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +github.com/aws/aws-sdk-go-v2 v1.21.2/go.mod h1:ErQhvNuEMhJjweavOYhxVkn2RUx7kQXVATHrjKtxIpM= +github.com/aws/aws-sdk-go-v2 v1.23.1/go.mod h1:i1XDttT4rnf6vxc9AuskLc6s7XBee8rlLilKlc03uAA= +github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= +github.com/aws/aws-sdk-go-v2/config v1.18.45/go.mod h1:ZwDUgFnQgsazQTnWfeLWk5GjeqTQTL8lMkoE1UXzxdE= +github.com/aws/aws-sdk-go-v2/config v1.25.5/go.mod h1:Bf4gDvy4ZcFIK0rqDu1wp9wrubNba2DojiPB2rt6nvI= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= +github.com/aws/aws-sdk-go-v2/credentials v1.13.43/go.mod h1:zWJBz1Yf1ZtX5NGax9ZdNjhhI4rgjfgsyk6vTY1yfVg= +github.com/aws/aws-sdk-go-v2/credentials v1.16.4/go.mod h1:Kdh/okh+//vQ/AjEt81CjvkTo64+/zIE4OewP7RpfXk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.13/go.mod h1:f/Ib/qYjhV2/qdsf79H3QP/eRE4AkVyEf6sk7XfZ1tg= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.5/go.mod h1:VhnExhw6uXy9QzetvpXDolo1/hjhx4u9qukBGkuUwjs= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.43/go.mod h1:auo+PiyLl0n1l8A0e8RIeR8tOzYPfZZH/JNlrJ8igTQ= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.4/go.mod h1:xEhvbJcyUf/31yfGSQBe01fukXwXJ0gxDp7rLfymWE0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.37/go.mod h1:Qe+2KtKml+FEsQF/DHmDV+xjtche/hwoF75EG4UlHW8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.4/go.mod h1:dYvTNAggxDZy6y1AF7YDwXsPuHFy/VNEpEI/2dWK9IU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.45/go.mod h1:lD5M20o09/LCuQ2mE62Mb/iSdSlCNuj6H5ci7tW7OsE= +github.com/aws/aws-sdk-go-v2/internal/ini v1.7.1/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.1/go.mod h1:l9ymW25HOqymeU2m1gbUQ3rUIsTwKs8gYHXkqDQUhiI= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.37/go.mod h1:vBmDnwWXWxNPFRMmG2m/3MKOe+xEcMDo1tanpaWCcck= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.4/go.mod h1:aYCGNjyUCUelhofxlZyj63srdxWUSsBSGg5l6MCuXuE= +github.com/aws/aws-sdk-go-v2/service/kms v1.26.3/go.mod h1:N3++/sLV97B8Zliz7KRqNcojOX7iMBZWKiuit5FKtH0= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= +github.com/aws/aws-sdk-go-v2/service/route53 v1.30.2/go.mod h1:TQZBt/WaQy+zTHoW++rnl8JBrmZ0VO6EUbVua1+foCA= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= +github.com/aws/aws-sdk-go-v2/service/sso v1.15.2/go.mod h1:gsL4keucRCgW+xA85ALBpRFfdSLH4kHOVSnLMSuBECo= +github.com/aws/aws-sdk-go-v2/service/sso v1.17.3/go.mod h1:oA6VjNsLll2eVuUoF2D+CMyORgNzPEW/3PyUdq6WQjI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.17.3/go.mod h1:a7bHA82fyUXOm+ZSWKU6PIoBxrjSprdLoM8xPYvzYVg= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.20.1/go.mod h1:hHL974p5auvXlZPIjJTblXJpbkfK4klBczlsEaMCGVY= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= +github.com/aws/aws-sdk-go-v2/service/sts v1.23.2/go.mod h1:Eows6e1uQEsc4ZaHANmsPRzAKcVDrcmjjWiih2+HUUQ= +github.com/aws/aws-sdk-go-v2/service/sts v1.25.4/go.mod h1:feTnm2Tk/pJxdX+eooEsxvlvTWBvDm6CasRZ+JOs2IY= +github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/aws/smithy-go v1.15.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aws/smithy-go v1.17.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bits-and-blooms/bitset v1.7.0 h1:YjAGVd3XmtK9ktAbX8Zg2g2PwLIMjGREZJHlV4j7NEo= github.com/bits-and-blooms/bitset v1.7.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= -github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= -github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/bytecodealliance/wasmtime-go v0.22.0/go.mod h1:q320gUxqyI8yB+ZqRuaJOEnGkAnHh6WtJjMaT2CW4wI= -github.com/c-bata/go-prompt v0.2.3/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= -github.com/c-bata/go-prompt v0.2.5/go.mod h1:vFnjEGDIIA/Lib7giyE4E9c50Lvl8j0S+7FVlAwDAVw= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU= +github.com/btcsuite/btcd/btcec/v2 v2.2.1 h1:xP60mv8fvp+0khmrN0zTdPC3cNm24rfeE6lh2R/Yv3E= +github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 h1:KdUfX2zKommPRa+PD0sWZUyXe9w277ABlgELO7H04IM= +github.com/bytecodealliance/wasmtime-go/v7 v7.0.0/go.mod h1:bu6fic7trDt20w+LMooX7j3fsOwv4/ln6j8gAdP6vmA= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/c-bata/go-prompt v0.2.6/go.mod h1:/LMAke8wD2FsNu9EXNdHxNLbd9MedkPnCdfpU9wwHfY= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.0.1-0.20190104013014-3767db7a7e18/go.mod h1:HD5P3vAIAh+Y2GAxg0PrPN1P8WkepXGpjbUPDHJqqKM= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= -github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= +github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= +github.com/cloudflare/cloudflare-go v0.79.0/go.mod h1:gkHQf9xEubaQPEuerBuoinR9P8bf8a05Lq0X6WKy1Oc= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230428030218-4003588d1b74/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= +github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4= +github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= +github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= +github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= +github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= +github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A= +github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593/go.mod h1:6hk1eMY/u5t+Cf18q5lFMUA1Rc+Sm5I6Ra1QuPyxXCo= +github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= +github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= +github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= +github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= +github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ= +github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= +github.com/consensys/gnark-crypto v0.10.0/go.mod h1:Iq/P3HHl0ElSjsg2E1gsMwhAyxnxoKK5nVyZKd+/KhU= +github.com/consensys/gnark-crypto v0.12.1 h1:lHH39WuuFgVHONRl3J0LRBtuYdQTumFSDtJF7HpyG8M= +github.com/consensys/gnark-crypto v0.12.1/go.mod h1:v2Gy7L/4ZRosZ7Ivs+9SfUDr0f5UlG+EM5t7MPHiLuY= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/crate-crypto/go-ipa v0.0.0-20230601170251-1830d0757c80/go.mod h1:gzbVz57IDJgQ9rLQwfSk696JGWof8ftznEL9GoAv3NI= +github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA= +github.com/crate-crypto/go-kzg-4844 v0.7.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= +github.com/dave/astrid v0.0.0-20170323122508-8c2895878b14/go.mod h1:Sth2QfxfATb/nW4EsrSi2KyJmbcniZ8TgTaji17D6ms= +github.com/dave/brenda v1.1.0/go.mod h1:4wCUr6gSlu5/1Tk7akE5X7UorwiQ8Rij0SKH3/BGMOM= +github.com/dave/courtney v0.3.0/go.mod h1:BAv3hA06AYfNUjfjQr+5gc6vxeBVOupLqrColj+QSD8= +github.com/dave/dst v0.27.2/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc= +github.com/dave/gopackages v0.0.0-20170318123100-46e7023ec56e/go.mod h1:i00+b/gKdIDIxuLDFob7ustLAVqhsZRk2qVZrArELGQ= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= +github.com/dave/jennifer v1.5.0/go.mod h1:4MnyiFIlZS3l5tSDn8VnzE6ffAhYBMB2SZntBsZGUok= +github.com/dave/kerr v0.0.0-20170318121727-bc25dd6abe8e/go.mod h1:qZqlPyPvfsDJt+3wHJ1EvSXDuVjFTK0j2p/ca+gtsb8= +github.com/dave/patsy v0.0.0-20210517141501-957256f50cba/go.mod h1:qfR88CgEGLoiqDaE+xxDCi5QA5v4vUoW0UCX2Nd5Tlc= +github.com/dave/rebecca v0.9.1/go.mod h1:N6XYdMD/OKw3lkF3ywh8Z6wPGuwNFDNtWYEMFWEmXBA= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= -github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= +github.com/deckarep/golang-set/v2 v2.1.0 h1:g47V4Or+DUdzbs8FxCCmgb6VYd+ptPAngjM6dtGktsI= +github.com/deckarep/golang-set/v2 v2.1.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= -github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de h1:t0UHb5vdojIDUqktM6+xJAfScFBsVpXZmqC9dsgJmeA= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= +github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dop251/goja v0.0.0-20211022113120-dc8c55024d06/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja v0.0.0-20230806174421-c933cf95e127/go.mod h1:QMWlm50DNe14hD7t24KEqZuUdC9sOTy8W6XbCU1mlw4= +github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= +github.com/dop251/goja_nodejs v0.0.0-20211022123610-8dd9abb0616d/go.mod h1:DngW8aVqWbuLRMHItjPUyqdj+HWPvnQe8V8y1nDpIbM= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/ef-ds/deque v1.0.4 h1:iFAZNmveMT9WERAkqLJ+oaABF9AcVQ5AjXem/hroniI= github.com/ef-ds/deque v1.0.4/go.mod h1:gXDnTC3yqvBcHbq2lcExjtAcVrOnJCbMcZXmuj8Z4tg= -github.com/elastic/gosigar v0.8.1-0.20180330100440-37f05ff46ffa/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs= -github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= -github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -190,70 +1201,145 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= +github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.9.9/go.mod h1:a9TqabFudpDu1nucId+k9S8R9whYaHnGBLKFouA5EAo= -github.com/ethereum/go-ethereum v1.12.1 h1:1kXDPxhLfyySuQYIfRxVBGYuaHdxNNxevA73vjIwsgk= -github.com/ethereum/go-ethereum v1.12.1/go.mod h1:zKetLweqBR8ZS+1O9iJWI8DvmmD2NzD19apjEWDCsnw= -github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/envoyproxy/protoc-gen-validate v1.0.1/go.mod h1:0vj8bNkYbSTNS2PIyH87KZaeN4x9zpL9Qt8fQC7d+vs= +github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= +github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= +github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY= +github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0= +github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= +github.com/ethereum/go-ethereum v1.13.5 h1:U6TCRciCqZRe4FPXmy1sMGxTfuk8P7u2UoinF3VbaFk= +github.com/ethereum/go-ethereum v1.13.5/go.mod h1:yMTu38GSuyxaYzQMViqNmQ1s3cE84abZexQmTgenWk0= +github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= +github.com/fjl/gencodec v0.0.0-20230517082657-f9840df7b83e/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/fxamacker/cbor/v2 v2.2.1-0.20201006223149-25f67fca9803/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= -github.com/fxamacker/cbor/v2 v2.2.1-0.20210927235116-3d6d5d1de29b/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= -github.com/fxamacker/cbor/v2 v2.4.1-0.20220515183430-ad2eae63303f h1:dxTR4AaxCwuQv9LAVTAC2r1szlS+epeuPT5ClLKT6ZY= github.com/fxamacker/cbor/v2 v2.4.1-0.20220515183430-ad2eae63303f/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= -github.com/fxamacker/circlehash v0.1.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM= +github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c h1:5tm/Wbs9d9r+qZaUFXk59CWDD0+77PBqDREffYkyi5c= +github.com/fxamacker/cbor/v2 v2.4.1-0.20230228173756-c0c9f774e40c/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/fxamacker/circlehash v0.3.0 h1:XKdvTtIJV9t7DDUtsf0RIpC1OcxZtPbmgIH7ekx28WA= github.com/fxamacker/circlehash v0.3.0/go.mod h1:3aq3OfVvsWtkWMb6A1owjOQFA+TLsD5FgJflnaQwtMM= +github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61/go.mod h1:Q0X6pkwTILDlzrGEckF6HKjXe48EgsY/l7K7vhY4MW8= +github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/gballet/go-verkle v0.0.0-20230607174250-df487255f46b/go.mod h1:CDncRYVRSDqwakm282WEkjfaAj1hxU/v5RXxk5nXOiI= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= +github.com/getsentry/sentry-go v0.18.0 h1:MtBW5H9QgdcJabtZcuJG80BMOwaBpkRDZkxRkNC1sN0= +github.com/getsentry/sentry-go v0.18.0/go.mod h1:Kgon4Mby+FJ7ZWHFUAZgVaIa8sxHtnRJRLTXZr51aKQ= +github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= -github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= -github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= -github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ= -github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= -github.com/go-git/go-git/v5 v5.5.2 h1:v8lgZa5k9ylUw+OR/roJHTxR4QItsNFI5nKtAXFuynw= -github.com/go-git/go-git/v5 v5.5.2/go.mod h1:BE5hUJ5yaV2YMxhmaP4l6RBQ08kMxKSPD4BlxtH7OjI= +github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= +github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= +github.com/glebarez/go-sqlite v1.22.0 h1:uAcMJhaA6r3LHMTFgP0SifzgXg46yJkgxqyuyec+ruQ= +github.com/glebarez/go-sqlite v1.22.0/go.mod h1:PlBIdHe0+aUEFn+r2/uthrWq4FxbzugL0L8Li6yQJbc= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/latin-modern v0.3.0/go.mod h1:ysEQXnuT/sCDOAONxC7ImeEDVINbltClhasMAqEtRK0= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.3.0/go.mod h1:jdJ+cqF+F4SUL2V+qxBth8fvBpBDS7yloUL5Fi8GTGY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= +github.com/go-latex/latex v0.0.0-20230307184459-12ec69307ad9/go.mod h1:gWuR/CrFDDeVRFQwHPvsv9soJVB/iqymhuZQuJ3a9OM= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= +github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-test/deep v1.0.5/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8= -github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= -github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.4.3/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -266,7 +1352,6 @@ github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2-0.20190517061210-b285ee9cfc6c/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= @@ -281,14 +1366,25 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= +github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= +github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= +github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg= +github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks= +github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2EAE789SSiSJNqxPaC0aE9J8NTOI0Jo/A= +github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -301,12 +1397,22 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-pkcs11 v0.2.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= +github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -322,80 +1428,140 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg= +github.com/google/pprof v0.0.0-20231229205709-960ae82b1e42 h1:dHLYa5D8/Ta0aLR2XcPsrkpAgGeFs6thhMcQK0oQ0n8= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= +github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/safehtml v0.0.2/go.mod h1:L4KWwDsUJdECRAEpZoBn3O64bQaywRscowZjJAzjHnU= +github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go v0.0.0-20161107002406-da06d194a00e/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= -github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QGdLI4y34qQGjGWO0= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= -github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU= +github.com/guptarohit/asciigraph v0.5.5/go.mod h1:dYl5wwK4gNsnFf9Zp+l06rFiDZ5YtXM6x7SRWZ3KGag= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/golang-lru v0.0.0-20160813221303-0a025b7e63ad/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7/go.mod h1:5GuXa7vkL8u9FkFuWdVvfR5ix8hRB7DbOAaYULamFpc= +github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/holiman/uint256 v1.2.3 h1:K8UWO1HUJpRMXBxbmaY1Y8IAMZC/RsKB+ArEnnK4l5o= github.com/holiman/uint256 v1.2.3/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huin/goupnp v0.0.0-20161224104101-679507af18f3/go.mod h1:MZ2ZmwcBpvOoJ22IJsc7va19ZwoheaBk43rKg12SKag= +github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= +github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= +github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= +github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= +github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= -github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY= -github.com/ipfs/go-block-format v0.0.3 h1:r8t66QstRp/pd/or4dpnbVfXT5Gt7lOqRvC+/dDTpMc= -github.com/ipfs/go-block-format v0.0.3/go.mod h1:4LmD4ZUw0mhO+JSKdpWwrzATiEfM7WWgQ8H5l6P8MVk= -github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= -github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/boxo v0.17.0 h1:fVXAb12dNbraCX1Cdid5BB6Kl62gVLNVA+e0EYMqAU0= +github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs= +github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM= github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog= -github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= -github.com/ipfs/go-cid v0.3.2 h1:OGgOd+JCFM+y1DjWPmVH+2/4POtpDzwcr7VgnB7mZXc= -github.com/ipfs/go-cid v0.3.2/go.mod h1:gQ8pKqT/sUxGY+tIwy1RPpAojYu7jAyCp5Tz1svoupw= +github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= +github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= github.com/ipfs/go-datastore v0.5.0/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk= github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8= github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= -github.com/ipfs/go-ipfs-blockstore v1.2.0 h1:n3WTeJ4LdICWs/0VSfjHrlqpPpl6MZ+ySd3j8qz0ykw= -github.com/ipfs/go-ipfs-blockstore v1.2.0/go.mod h1:eh8eTFLiINYNSNawfZOC7HOxNTxpB1PFuA5E1m/7exE= +github.com/ipfs/go-ipfs-blockstore v1.3.0 h1:m2EXaWgwTzAfsmt5UdJ7Is6l4gJcaM/A12XwJyvYvMM= +github.com/ipfs/go-ipfs-blockstore v1.3.0/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE= github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= github.com/ipfs/go-ipfs-ds-help v1.1.0 h1:yLE2w9RAsl31LtfMt91tRZcrx+e61O5mDxFRR994w4Q= github.com/ipfs/go-ipfs-ds-help v1.1.0/go.mod h1:YR5+6EaebOhfcqVCyqemItCLthrpVNot+rsOU/5IatU= -github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc= -github.com/ipfs/go-ipfs-util v0.0.2 h1:59Sswnk1MFaiq+VcaknX7aYEyGyGDAA73ilhEK2POp8= -github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ= -github.com/ipfs/go-ipld-format v0.3.0 h1:Mwm2oRLzIuUwEPewWAWyMuuBQUsn3awfFEYVb8akMOQ= -github.com/ipfs/go-ipld-format v0.3.0/go.mod h1:co/SdBE8h99968X0hViiw1MNlh6fvxxnHpvVLnH7jSM= -github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM= +github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCmE0= +github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs= +github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U= +github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg= github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g= @@ -403,278 +1569,431 @@ github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= -github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= +github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= +github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= +github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= +github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= +github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= -github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= +github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267/go.mod h1:h1nSAbGFqGVzn6Jyl1R/iCcBUHN4g+gW1u9CoBTrb9E= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213/go.mod h1:vNUNkEQ1e29fT/6vq2aBdFsgNPmy8qMdSay1npru+Sw= -github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/kevinburke/go-bindata v3.22.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM= -github.com/kevinburke/go-bindata v3.23.0+incompatible h1:rqNOXZlqrYhMVVAsQx8wuc+LaA73YcfbQ407wAykyS8= +github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40= +github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg= +github.com/k0kubun/pp/v3 v3.2.0/go.mod h1:ODtJQbQcIRfAD3N+theGCV1m/CBxweERz2dapdz1EwA= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= +github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= +github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= +github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= +github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= +github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= +github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= +github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= +github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kevinburke/go-bindata v3.23.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM= -github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= -github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/go-bindata v3.24.0+incompatible h1:qajFA3D0pH94OTLU4zcCCKCDgR+Zr2cZK/RPJHDdFoY= +github.com/kevinburke/go-bindata v3.24.0+incompatible/go.mod h1:/pEEZ72flUW2p0yi30bslSp9YqD9pysLxunQDdb2CPM= +github.com/kilic/bls12-381 v0.1.0/go.mod h1:vDTTHJONJ6G+P2R74EhnyotQDTliQDnFEwhdmfzw1ig= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= +github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= -github.com/klauspost/cpuid/v2 v2.1.1 h1:t0wUqjowdm8ezddV5k0tLWVklVuvLJpoHeb4WBdydm0= -github.com/klauspost/cpuid/v2 v2.1.1/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/klauspost/cpuid/v2 v2.2.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= +github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/libp2p/go-libp2p v0.23.3 h1:/n3i0VtJF0iZ9YMUxl/teOY3h+M8NfgaCjOSYr9D+uI= -github.com/libp2p/go-libp2p v0.23.3/go.mod h1:s9DEa5NLR4g+LZS+md5uGU4emjMWFiqkZr6hBTY8UxI= -github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo= -github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= -github.com/logrusorgru/aurora v0.0.0-20200102142835-e9ef32dff381/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= +github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= +github.com/libp2p/go-libp2p v0.32.2 h1:s8GYN4YJzgUoyeYNPdW7JZeZ5Ee31iNaIBfGYMAY4FQ= +github.com/libp2p/go-libp2p v0.32.2/go.mod h1:E0LKe+diV/ZVJVnOJby8VC5xzHF0660osg71skcxJvk= +github.com/libp2p/go-libp2p-asn-util v0.4.1 h1:xqL7++IKD9TBFMgnLPZR6/6iYhawHKHl950SO9L6n94= +github.com/libp2p/go-libp2p-kbucket v0.6.3 h1:p507271wWzpy2f1XxPzCQG9NiN6R6lHL9GiSErbQQo0= +github.com/libp2p/go-libp2p-pubsub v0.10.0 h1:wS0S5FlISavMaAbxyQn3dxMOe2eegMfswM471RuHJwA= +github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/m4ksio/wal v1.0.1-0.20221209164835-154a17396e4c h1:OqVcb1Dkheracn4fgCjxlfhuSnM8jmPbrWkJbRIC4fo= +github.com/logrusorgru/aurora/v4 v4.0.0 h1:sRjfPpun/63iADiSvGGjgA1cAYegEWMPCJdUpJYn9JA= +github.com/logrusorgru/aurora/v4 v4.0.0/go.mod h1:lP0iIa2nrnT/qoFXcOZSrZQpJ1o6n2CUf/hyHi2Q4ZQ= +github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= +github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= -github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= -github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= +github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= -github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= +github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= +github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= +github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= +github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= -github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= +github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= +github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iPfkHRY= +github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU= +github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/montanaflynn/stats v0.7.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= -github.com/multiformats/go-base36 v0.1.0 h1:JR6TyF7JjGd3m6FbLU2cOxhC0Li8z8dLNGQ89tUg4F4= -github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= -github.com/multiformats/go-multiaddr v0.7.0 h1:gskHcdaCyPtp9XskVwtvEeQOG465sCohbQIirSyqxrc= -github.com/multiformats/go-multiaddr v0.7.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs= +github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= +github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= +github.com/multiformats/go-multiaddr v0.12.2 h1:9G9sTY/wCYajKa9lyfWPmpZAwe6oV+Wb1zcmMS1HG24= +github.com/multiformats/go-multiaddr v0.12.2/go.mod h1:GKyaTYjZRdcUhyOetrxTk9z0cW+jA/YrnqTOvKgi44M= +github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs= -github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= -github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI= -github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8= -github.com/multiformats/go-multicodec v0.6.0 h1:KhH2kSuCARyuJraYMFxrNO3DqIaYhOdS039kbhgVwpE= -github.com/multiformats/go-multicodec v0.6.0/go.mod h1:GUC8upxSBE4oG+q3kWZRw/+6yC1BqO550bjhWsJbZlw= -github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U= +github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= +github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= +github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg= +github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k= github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= -github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= -github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= -github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= +github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U= +github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= +github.com/multiformats/go-multistream v0.5.0 h1:5htLSLl7lvJk3xx3qT/8Zm9J4K8vEOf/QGkvOGQAyiE= +github.com/multiformats/go-multistream v0.5.0/go.mod h1:n6tMZiwiP2wUsR8DgfDWw1dydlEqV3l6N3/GBsX6ILA= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY= -github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= +github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onflow/atree v0.1.0-beta1.0.20211027184039-559ee654ece9/go.mod h1:+6x071HgCF/0v5hQcaE5qqjc2UqN5gCU8h5Mk6uqpOg= -github.com/onflow/atree v0.4.0 h1:+TbNisavAkukAKhgQ4plWnvR9o5+SkwPIsi3jaeAqKs= -github.com/onflow/atree v0.4.0/go.mod h1:7Qe1xaW0YewvouLXrugzMFUYXNoRQ8MT/UsVAWx1Ndo= -github.com/onflow/cadence v0.11.2/go.mod h1:8NwJGO535nnY/+QWEMDc2rhvOFChToWQ9Bg7fUIIc/I= -github.com/onflow/cadence v0.15.0/go.mod h1:KMzDF6cIv6nb5PJW9aITaqazbmJX8MMeibFcpPP385M= -github.com/onflow/cadence v0.20.1/go.mod h1:7mzUvPZUIJztIbr9eTvs+fQjWWHTF8veC+yk4ihcNIA= -github.com/onflow/cadence v0.31.3 h1:lTHTBnoFi/ahGk1cQ9JAC+tfYir4kjRVIqtTVCjbe6E= -github.com/onflow/cadence v0.31.3/go.mod h1:oRgWkvau1RH15m3NuDlZCPHFQzwvC72jEstCGu8OJ98= -github.com/onflow/flow-core-contracts/lib/go/contracts v0.11.2-0.20221216161720-c1b31d5a4722 h1:fH5e7L9xFXNOd3WLvMaPNkP1m7BngRTDP751zMNndws= -github.com/onflow/flow-core-contracts/lib/go/contracts v0.11.2-0.20221216161720-c1b31d5a4722/go.mod h1:9nrgjIF/noY2jJ7LP8bKLHTpcdHOa2yO0ryCKTQpxvs= -github.com/onflow/flow-core-contracts/lib/go/templates v0.11.2-0.20221216161720-c1b31d5a4722 h1:vgNS6I+MM/74pciIoKb7ZBs8XGF1ONsSdkAec36B9iU= -github.com/onflow/flow-core-contracts/lib/go/templates v0.11.2-0.20221216161720-c1b31d5a4722/go.mod h1:WMmeggH/H9Xb/SsT+4QFMtGYf+p1S2LXzbZAIaQQWAk= -github.com/onflow/flow-emulator v0.43.0 h1:Qtw3OFHx+UMj86CU6ApM8n+N4qhU5oUL45LzLfhoBXo= -github.com/onflow/flow-emulator v0.43.0/go.mod h1:2AJsHG/7UxEk0lokeocn8hkzn1/mIHe2Aqo595iD+WQ= -github.com/onflow/flow-ft/lib/go/contracts v0.5.0 h1:Cg4gHGVblxcejfNNG5Mfj98Wf4zbY76O0Y28QB0766A= -github.com/onflow/flow-ft/lib/go/contracts v0.5.0/go.mod h1:1zoTjp1KzNnOPkyqKmWKerUyf0gciw+e6tAEt0Ks3JE= -github.com/onflow/flow-ft/lib/go/templates v0.2.0 h1:oQQk5UthLS9KfKLkZVJg/XAVq8CXW7HAxSTu4HwBJkU= -github.com/onflow/flow-ft/lib/go/templates v0.2.0/go.mod h1:qwkTElMcI+PnSBGIWGu1K9OYBLatNimWTC8un9qUji0= -github.com/onflow/flow-go v0.29.8 h1:Ae0ahJhy6lfMC5dqQ6NprLnO4edR9Sc14POcPuHj/Ew= -github.com/onflow/flow-go v0.29.8/go.mod h1:uGmboSl2tMwz6C89J9vtgK0vPXz7ibeWxY9luI5LzBk= -github.com/onflow/flow-go-sdk v0.13.0/go.mod h1:yqnSajzJVFfrTg68F4WXRR1Yzs1akqAjyscEDyFudPE= -github.com/onflow/flow-go-sdk v0.20.0/go.mod h1:52QZyLwU3p3UZ2FXOy+sRl4JPdtvJoae1spIUBOFxA8= -github.com/onflow/flow-go-sdk v0.24.0/go.mod h1:IoptMLPyFXWvyd9yYA6/4EmSeeozl6nJoIv4FaEMg74= -github.com/onflow/flow-go-sdk v0.31.3 h1:CytMRiTayXRlkRNXQ9Cw6ZcKoOIK6+QtXk4iUb8f0zQ= -github.com/onflow/flow-go-sdk v0.31.3/go.mod h1:cqj2QShwC4DqxWzrg0+U7KxE2k7OJDGBxh8XZrJ4v5E= -github.com/onflow/flow-go/crypto v0.12.0/go.mod h1:oXuvU0Dr4lHKgye6nHEFbBXIWNv+dBQUzoVW5Go38+o= -github.com/onflow/flow-go/crypto v0.21.3/go.mod h1:vI6V4CY3R6c4JKBxdcRiR/AnjBfL8OSD97bJc60cLuQ= -github.com/onflow/flow-go/crypto v0.24.4 h1:SwEtoVS2TidCIHYCZMgQ7U2YsqhI9upnw94fhdHTubM= -github.com/onflow/flow-go/crypto v0.24.4/go.mod h1:dkVL98P6GHR48iD9zCB6XlnkJX8IQd00FKgt1reV90w= -github.com/onflow/flow-nft/lib/go/contracts v0.0.0-20220727161549-d59b1e547ac4 h1:5AnM9jIwkyHaY6+C3cWnt07oTOYctmwxvpiL25HRJws= -github.com/onflow/flow-nft/lib/go/contracts v0.0.0-20220727161549-d59b1e547ac4/go.mod h1:YsvzYng4htDgRB9sa9jxdwoTuuhjK8WYWXTyLkIigZY= -github.com/onflow/flow-nft/lib/go/templates v0.0.0-20221209205713-c29bf2f3b031 h1:v2zkHugoqo9G+XybcokbYX7a2d1UeV2XLevZcunTios= -github.com/onflow/flow-nft/lib/go/templates v0.0.0-20221209205713-c29bf2f3b031/go.mod h1:lne28Vnwpi3ZVJRm6BaDkNGzAdvBhs9jKvZiQguhTX8= -github.com/onflow/flow/protobuf/go/flow v0.1.8/go.mod h1:kRugbzZjwQqvevJhrnnCFMJZNmoSJmxlKt6hTGXZojM= -github.com/onflow/flow/protobuf/go/flow v0.1.9/go.mod h1:kRugbzZjwQqvevJhrnnCFMJZNmoSJmxlKt6hTGXZojM= -github.com/onflow/flow/protobuf/go/flow v0.2.2/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8= -github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288 h1:haWv3D5loiH+zcOoWEvDXtWQvXt5U8PLliQjwhv9sfw= -github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20221202093946-932d1c70e288/go.mod h1:gQxYqCfkI8lpnKsmIjwtN2mV/N2PIwc1I+RUK4HPIc8= -github.com/onflow/sdks v0.4.4 h1:aJPGJJLAN+mlBWAQxsyuJXeRRMFeLwU6Mp4e/YL6bdU= -github.com/onflow/sdks v0.4.4/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f h1:Z8/PgTqOgOg02MTRpTBYO2k16FE6z4wEOtaC2WBR9Xo= +github.com/onflow/atree v0.6.1-0.20230711151834-86040b30171f/go.mod h1:xvP61FoOs95K7IYdIYRnNcYQGf4nbF/uuJ0tHf4DRuM= +github.com/onflow/cadence v1.0.0-M3/go.mod h1:odXGZZ/wGNA5mwT8bC9v8u8EXACHllB2ABSZK65TGL8= +github.com/onflow/cadence v1.0.0-M8 h1:ioQ7TyhpsIaImAC7Xn2r8kIgIBdimvyuWeKlGfRxWB8= +github.com/onflow/cadence v1.0.0-M8/go.mod h1:a4mccDU90hmuxCLUFzs9J/ANG/rYbFa36h4Z0bBAqNU= +github.com/onflow/crypto v0.25.0 h1:BeWbLsh3ZD13Ej+Uky6kg1PL1ZIVBDVX+2MVBNwqddg= +github.com/onflow/crypto v0.25.0/go.mod h1:C8FbaX0x8y+FxWjbkHy0Q4EASCDR9bSPWZqlpCLYyVI= +github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b h1:oXHQft30sElpK7G3xWB5tEizI2G+S4p64iVh0LtX4E0= +github.com/onflow/flow-core-contracts/lib/go/contracts v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:At+gEXmy13wpvxHYlS8bqjKEBufL+UXMQpJyHQxiXY8= +github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b h1:oiV9EbViI07FiO4rKeJ5/RGoQDCGd4c6SX/cdMwHbFE= +github.com/onflow/flow-core-contracts/lib/go/templates v0.15.2-0.20240227190927-0e6ce7e3222b/go.mod h1:cTE5NCp+Zk04yA24gCEjBdQIrzDU/iRICgLSx4LsGX0= +github.com/onflow/flow-emulator v1.0.0-M8 h1:FE9OtyXh3tZLjszpznIfMyaTmIoX+maFBYd1mCY+ke0= +github.com/onflow/flow-emulator v1.0.0-M8/go.mod h1:mSp1JTXt1JGmriiG7Lc2VulQHG1tl6Oj1zGSr/h0ySk= +github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240213220156-959b70719876 h1:mV3OXBTDJ+nP3sJkoEUgrBXG2bMGFqsDTDr0nVmj2ec= +github.com/onflow/flow-ft/lib/go/contracts v0.7.1-0.20240213220156-959b70719876/go.mod h1:PwsL8fC81cjnUnTfmyL/HOIyHnyaw/JA474Wfj2tl6A= +github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240213220156-959b70719876 h1:fZj39XxayIL7uvKvonNI3MtQM3wsFJ8oRl/XW/0rn7A= +github.com/onflow/flow-ft/lib/go/templates v0.7.1-0.20240213220156-959b70719876/go.mod h1:uQ8XFqmMK2jxyBSVrmyuwdWjTEb+6zGjRYotfDJ5pAE= +github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122 h1:6R1L5Ji+lEWdTRcqeTLVLGPX1FqiWHeXHnRKAUsciSE= +github.com/onflow/flow-go v0.34.0-crescendo-preview.5.0.20240228222755-c41bc8a25122/go.mod h1:HSffipIVOyXvK3/gsYU13EwRMxbuK591hmjqF36nbEI= +github.com/onflow/flow-go-sdk v1.0.0-M1/go.mod h1:TDW0MNuCs4SvqYRUzkbRnRmHQL1h4X8wURsCw9P9beo= +github.com/onflow/flow-go-sdk v1.0.0-M7 h1:5EhtgpupjdhJZoHpu8AhA7++AroGL6BFpb8D0AYIUQw= +github.com/onflow/flow-go-sdk v1.0.0-M7/go.mod h1:aXSavLzoRlz5FiMjcI7p5QhihWScGctxydzf4dv/avo= +github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a h1:xMEtuQp4+ltfEZcw+4smv4wechSBAus4yEAtPghXZeQ= +github.com/onflow/flow-nft/lib/go/contracts v1.1.1-0.20240214230837-cd2c42e54b4a/go.mod h1:2gpbza+uzs1k7x31hkpBPlggIRkI53Suo0n2AyA2HcE= +github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a h1:Ark2dPAaSxSr45G5WJjB1P5H0tFtXnHcOIp+dM146yo= +github.com/onflow/flow-nft/lib/go/templates v0.0.0-20240214230837-cd2c42e54b4a/go.mod h1:p+2hRvtjLUR3MW1NsoJe5Gqgr2eeH49QB6+s6ze00w0= +github.com/onflow/flow/protobuf/go/flow v0.3.2-0.20231121210617-52ee94b830c2/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk= +github.com/onflow/flow/protobuf/go/flow v0.3.7 h1:+6sBdlE/u4ZMTVB9U1lA6Xn2Bd48lOOX96Bv9dNubsk= +github.com/onflow/flow/protobuf/go/flow v0.3.7/go.mod h1:NA2pX2nw8zuaxfKphhKsk00kWLwfd+tv8mS23YXO4Sk= +github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba h1:rIehuhO6bj4FkwE4VzwEjX7MoAlOhUJENBJLqDqVxAo= +github.com/onflow/sdks v0.5.1-0.20230912225508-b35402f12bba/go.mod h1:F0dj0EyHC55kknLkeD10js4mo14yTdMotnWMslPirrU= +github.com/onflow/wal v0.0.0-20240208022732-d756cd497d3b h1:6O/BEmA99PDT5QVjoJgrYlGsWnpxGJTAMmsC+V9gyds= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= -github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.2 h1:+jQXlF3scKIcSEKkdHzXhCTDLPFi5r1wnK6yPS+49Gw= -github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pjbgf/sha1cd v0.2.3 h1:uKQP/7QOzNtKYH7UTohZLcjF5/55EnTw0jO/Ru4jZwI= -github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pkg/term v0.0.0-20190109203006-aa71e9d9e942/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= -github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= +github.com/pkg/term v1.2.0-beta.2/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.0/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.39.0 h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= +github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= -github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/protolambda/bls12-381-util v0.0.0-20220416220906-d8552aa452c7/go.mod h1:IToEjHuttnUzwZI5KBSM/LOOW3qLbbrHOEfp3SbECGY= +github.com/psiemens/graceland v1.0.0 h1:L580AVV4Q2XLcPpmvxJRH9UpEAYr/eu2jBKmMglhvM8= +github.com/psiemens/graceland v1.0.0/go.mod h1:1Tof+vt1LbmcZFE0lzgdwMN0QBymAChG3FRgDx8XisU= github.com/psiemens/sconfig v0.1.0 h1:xfWqW+TRpih7mXZIqKYTmpRhlZLQ1kbxV8EjllPv76s= github.com/psiemens/sconfig v0.1.0/go.mod h1:+MLKqdledP/8G3rOBpknbLh0IclCf4WneJUtS26JB2U= -github.com/raviqqe/hamt v0.0.0-20190615202029-864fb7caef85/go.mod h1:I9elsTaXMhu41qARmzefHy7v2KmAV2TB1yH4E+nBSf0= -github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rivo/uniseg v0.2.1-0.20211004051800-57c86be7915a h1:s7GrsqeorVkFR1vGmQ6WVL9nup0eyQCC+YVUeSQLH/Q= -github.com/rivo/uniseg v0.2.1-0.20211004051800-57c86be7915a/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= -github.com/robertkrimen/otto v0.0.0-20170205013659-6a77b7cbc37d/go.mod h1:xvqspoSXJTIpemEonrMDFq6XzwHYYgToXWj5eRX1OtY= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= -github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= +github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w= +github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/schollz/progressbar/v3 v3.7.6/go.mod h1:Y9mmL2knZj3LUaBDyBEzFdPrymIr08hnlFMZmfxwbx4= -github.com/schollz/progressbar/v3 v3.8.3 h1:FnLGl3ewlDUP+YdSwveXBaXs053Mem/du+wr7XSYKl8= -github.com/schollz/progressbar/v3 v3.8.3/go.mod h1:pWnVCjSBZsT2X3nx9HfRdnCDrpbevliMeoEVhStwHko= -github.com/segmentio/fasthash v1.0.2/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= +github.com/schollz/progressbar/v3 v3.13.1 h1:o8rySDYiQ59Mwzy2FELeHY5ZARXZTVJC7iHD6PEFUiE= +github.com/schollz/progressbar/v3 v3.13.1/go.mod h1:xvrbki8kfT1fzWzBT/UZd9L6GA+jdL7HAgq2RFnO6fQ= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sethvargo/go-retry v0.2.3 h1:oYlgvIvsju3jNbottWABtbnoLC+GDtLdBHxKWxQm/iU= github.com/sethvargo/go-retry v0.2.3/go.mod h1:1afjQuvh7s4gflMObvjLPaWgluLLyhA1wmVZ6KLpICw= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= -github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/slok/go-http-metrics v0.10.0 h1:rh0LaYEKza5eaYRGDXujKrOln57nHBi4TtVhmNEpbgM= +github.com/slok/go-http-metrics v0.10.0/go.mod h1:lFqdaS4kWMfUKCSukjC47PdCeTk+hXDUVm8kLHRqJ38= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU= -github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spaolacci/murmur3 v1.0.1-0.20190317074736-539464a789e9/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.0 h1:sFSLUHgxdnN32Qy38hK3QkYBFXZj9DKjVjCUCtD7juY= -github.com/spf13/afero v1.9.0/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= +github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -683,16 +2002,16 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ= -github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI= +github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= +github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= +github.com/status-im/keycard-go v0.2.0/go.mod h1:wlp8ZLbsmrF6g6WjugPAx+IzoLrkdf9+mHxBEeo3Hbg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -702,50 +2021,82 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/subosito/gotenv v1.4.0 h1:yAzM1+SmVcz5R4tXGsNMu1jUl2aOJXoiWUCEwwnGrvs= -github.com/subosito/gotenv v1.4.0/go.mod h1:mZd6rFysKEcUhUHXJk0C/08wAgyDBFuwEYL7vWWGaGo= -github.com/supranational/blst v0.3.4/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= -github.com/supranational/blst v0.3.11-0.20230406105308-e9dfc5ee724b h1:u49mjRnygnB34h8OKbnNJFVUtWSKIKb1KukdV8bILUM= -github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= +github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= +github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4= +github.com/supranational/blst v0.3.11/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c h1:HelZ2kAFadG0La9d+4htN4HzQ68Bm2iM9qKMSMES6xg= github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c/go.mod h1:JlzghshsemAMDGZLytTFY8C1JQxQPhnatWqNwUXjggo= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= +github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= +github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= +github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d h1:5JInRQbk5UBX8JfUvKh2oYTLMVwj3p6n+wapDDm7hko= github.com/turbolent/prettier v0.0.0-20220320183459-661cc755135d/go.mod h1:Nlx5Y115XQvNcIdIy7dZXaNSUpzwBSge4/Ivk93/Yog= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3CWg+kkNaLt55U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= +github.com/urfave/cli/v2 v2.24.1/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc= +github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack/v4 v4.3.11 h1:Q47CePddpNGNhk4GCnAx9DDtASi2rasatE0cd26cZoE= github.com/vmihailenco/msgpack/v4 v4.3.11/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= -github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= -github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= +github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= +github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= +github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/zeebo/assert v1.1.0 h1:hU1L1vLTHsnO8x8c9KAR5GmM5QscxHg5RNU5z5qbUWY= github.com/zeebo/assert v1.1.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= -github.com/zeebo/blake3 v0.2.0/go.mod h1:G9pM4qQwjRzF1/v7+vabMj/c5mWpGZ2Wzo3Eb4z0pb4= +github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= github.com/zeebo/blake3 v0.2.3 h1:TFoLXsjeXqRNFxSbk35Dk4YtszE/MQQGK10BH4ptoTg= github.com/zeebo/blake3 v0.2.3/go.mod h1:mjJjZpnsyIVtVgTOSpJ9vmRE4wgDeyt2HU3qXvvKCaQ= -github.com/zeebo/pcg v1.0.0/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -753,67 +2104,86 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/otel v1.8.0 h1:zcvBFizPbpa1q7FehvFiHbQwGzmPILebO0tyqIR5Djg= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/otel v1.8.0/go.mod h1:2pkj+iMj0o03Y+cW6/m8Y4WkRdYN3AvCXCnzRMp9yvM= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0 h1:ao8CJIShCaIbaMsGxy+jp2YHSudketpDgDRcbirov78= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.8.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.8.0 h1:LrHL1A3KqIgAgi6mK7Q0aczmzU414AONAGT5xtnp+uo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.8.0/go.mod h1:w8aZL87GMOvOBa2lU/JlVXE1q4chk/0FX+8ai4513bw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.8.0 h1:00hCSGLIxdYK/Z7r8GkaX0QIlfvgU3tmnLlQvcnix6U= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.8.0/go.mod h1:twhIvtDQW2sWP1O2cT1N8nkSBgKCRZv2z6COTTBrf8Q= -go.opentelemetry.io/otel/sdk v1.8.0 h1:xwu69/fNuwbSHWe/0PGS888RmjWY181OmcXDQKu7ZQk= -go.opentelemetry.io/otel/sdk v1.8.0/go.mod h1:uPSfc+yfDH2StDM/Rm35WE8gXSNdvCg023J6HeGNO0c= -go.opentelemetry.io/otel/trace v1.8.0 h1:cSy0DF9eGI5WIfNwZ1q2iUyGj00tGzP24dE1lOlHrfY= +go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= +go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= +go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= +go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= +go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= +go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= go.opentelemetry.io/otel/trace v1.8.0/go.mod h1:0Bt3PXY8w+3pheS3hQUt+wow8b1ojPaTBoTCh2zIFI4= +go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= +go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= +go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.18.0 h1:W5hyXNComRa23tGpKwG+FRAc4rfF6ZUg1JReK+QHS80= -go.opentelemetry.io/proto/otlp v0.18.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.0.0/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/automaxprocs v1.5.2/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY= -go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200423211502-4bdfaf469ed5/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -821,17 +2191,36 @@ golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20220426173459-3bcf042a4bf5/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= +golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= +golang.org/x/exp v0.0.0-20240119083558-1b970713d09a h1:Q8/wZp0KX97QFTc2ywcOE0YRjZPVIx+MXInMzdvQqcA= +golang.org/x/exp v0.0.0-20240119083558-1b970713d09a/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4= +golang.org/x/image v0.6.0/go.mod h1:MXLdDR43H7cDJq5GEGXEVeeNhPgi+YYEQ2pC1byI1x0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -855,8 +2244,19 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -864,16 +2264,18 @@ golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -884,26 +2286,62 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -920,7 +2358,24 @@ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 h1:OSnWWcOd/CtWQC2cYSBgbTSJv3ciqd8r54ySIW2y3RE= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= +golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= +golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5/go.mod h1:UBKtEnL8aqnd+0JHqZ+2qoMDwtuy6cYhhKNoHLBiTQc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -932,9 +2387,17 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -942,7 +2405,6 @@ golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -952,14 +2414,18 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -973,61 +2439,110 @@ golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200918174421-af09f7315aff/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201014080544-cc95f250f6bc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201101102859-da207088b7d1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210910150752-751e447fb3d0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211020174200-9d6173849985/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1037,21 +2552,40 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -1060,6 +2594,7 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1068,9 +2603,11 @@ golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191126055441-b0650ceb63d9/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1081,7 +2618,6 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200323144430-8dcfad9e016e/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1091,9 +2627,9 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200828161849-5deb26317202/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1105,19 +2641,48 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= gonum.org/v1/gonum v0.6.1/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU= +gonum.org/v1/gonum v0.14.0 h1:2NiG67LD1tEH0D7kM+ps2V+fXmsAnpUeec7n8tcr4S0= +gonum.org/v1/gonum v0.14.0/go.mod h1:AoWeoz0becf9QMWtE8iWXNXc27fK4fNeHNf/oMejGfU= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.0/go.mod h1:JWIHJ7U20drSQb/aDpTetJzfC1KlAPldJLpkSy88dvQ= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +google.golang.org/api v0.0.0-20170206182103-3d017632ea10/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1134,7 +2699,6 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.31.0/go.mod h1:CL+9IBCa2WWU6gRuBWaKqGWLFFwbEUXkfeMkHLQWYWo= google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= @@ -1148,21 +2712,59 @@ google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6 google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= -google.golang.org/api v0.81.0 h1:o8WF5AvfidafWbFjsRyupxyEQJNUWxLZJCK5NXrxZZ8= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E= +google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4= +google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750= +google.golang.org/api v0.139.0/go.mod h1:CVagp6Eekz9CjGZ718Z+sloknzkDJE7Vc1Ckj9+viBk= +google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= +google.golang.org/api v0.151.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= +google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1170,6 +2772,7 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= @@ -1188,7 +2791,6 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200831141814-d751682dd103/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1200,6 +2802,7 @@ google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= @@ -1216,13 +2819,139 @@ google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211007155348-82e027067bd4/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I= -google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= +google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-20230821184602-ccc8af3d0e93/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= +google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= +google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:CCviP9RmpZ1mxVr8MUjCnSiY09IbAXZxhLE6EhHIdPU= +google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk= +google.golang.org/genproto v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:EMfReVxb80Dq1hhioy0sOsY9jCE46YDgHlJ7fWVUWRE= +google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= +google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 h1:nz5NESFLZbJGPFxDT/HCn+V1mZ8JGNoY4nUpmW/Y2eg= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= +google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/api v0.0.0-20230913181813-007df8e322eb/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= +google.golang.org/genproto/googleapis/api v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:SUBoKXbI1Efip18FClrQVGjWcyd0QZd8KkvdP34t7ww= +google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= +google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 h1:OPXtXn7fNMaXwO3JvOmF1QyTc00jsSFFz1vXXBOdCDo= +google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230920183334-c177e329c48b/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 h1:gphdwh0npgs8elJ4T6J+DQJHPVF7RsuJHCfwztUb4J4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= +google.golang.org/grpc v0.0.0-20170208002647-2a6bf6142e96/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1249,10 +2978,31 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2 h1:u+MLGgVf7vRdjEYZ8wDFhAVNmhkbJ5hmrA1LMWK1CAQ= google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= +google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1268,27 +3018,34 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/ini.v1 v1.66.6 h1:LATuAqN/shcYAOkv3wl2L4rkaKqkcgTBQjOyYDvcPKI= -gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= +gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20190213234257-ec84240a7772/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78= +gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1296,15 +3053,16 @@ gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1312,11 +3070,74 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= +lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= +lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= +modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= +modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA= +modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0= +modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= +modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= +modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= +modernc.org/libc v1.37.6 h1:orZH3c5wmhIQFTXF+Nt+eeauyd+ZIt2BX6ARe+kD+aw= +modernc.org/libc v1.37.6/go.mod h1:YAXkAZ8ktnkCKaN9sw/UDeUVkGYJ/YquGO4FTi5nmHE= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= +modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E= +modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= +modernc.org/sqlite v1.28.0 h1:Zx+LyDDmXczNnEQdvPuEfcFVA2ZPyaD7UCZDjef3BHQ= +modernc.org/sqlite v1.28.0/go.mod h1:Qxpazz0zH8Z1xCFyi5GSL3FzbtZ3fvbjmywNogldEW0= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +rsc.io/tmplfunc v0.0.3 h1:53XFQh69AfOa8Tw0Jm7t+GV7KZhOi6jzsCzTtKbMvzU= +rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= diff --git a/pds/lib/go/templates/internal/assets/assets.go b/pds/lib/go/templates/internal/assets/assets.go index 1e2b2de..7eb99cb 100644 --- a/pds/lib/go/templates/internal/assets/assets.go +++ b/pds/lib/go/templates/internal/assets/assets.go @@ -1,58 +1,57 @@ -// Code generated by go-bindata. DO NOT EDIT. +// Code generated for package assets by go-bindata DO NOT EDIT. (@generated) // sources: -// scripts/collectibleNFT/balance.cdc (362B) -// scripts/collectibleNFT/balance_ids.cdc (587B) -// scripts/exampleNFT/balance_exampleNFT.cdc (323B) -// scripts/exampleNFT/borrow_nft.cdc (581B) -// scripts/exampleNFT/get_total_supply.cdc (118B) -// scripts/packNFT/balance_packNFT.cdc (314B) -// scripts/packNFT/checksum.cdc (183B) -// scripts/packNFT/packNFT_hash.cdc (184B) -// scripts/packNFT/packNFT_status.cdc (193B) -// scripts/packNFT/packNFT_total_supply.cdc (94B) -// scripts/packNFT/verify.cdc (224B) -// scripts/pds/get_dist_metadata.cdc (132B) -// scripts/pds/get_dist_state.cdc (127B) -// scripts/pds/get_dist_title.cdc (119B) -// scripts/pds/get_next_dist_id.cdc (81B) -// transactions/collectibleNFT/mint.cdc (765B) -// transactions/collectibleNFT/setup_collection_and_link_provider.cdc (1.47kB) -// transactions/dapperSport/link_providerCap_dapperSport.cdc (510B) -// transactions/dapperSport/setup_dapperSport.cdc (929B) -// transactions/deploy/deploy-packNFT-with-auth.cdc (1.141kB) -// transactions/deploy/deploy-pds-with-auth.cdc (1.133kB) -// transactions/exampleNFT/link_providerCap_exampleNFT.cdc (474B) -// transactions/exampleNFT/mint_exampleNFT.cdc (559B) -// transactions/exampleNFT/mint_exampleNFTBatched.cdc (659B) -// transactions/exampleNFT/setup_exampleNFT.cdc (924B) -// transactions/exampleNFT/transfer_exampleNFT.cdc (865B) -// transactions/flowTokens/transfer_flow_tokens_emulator.cdc (1.482kB) -// transactions/keys/add-key-from-existing.cdc (255B) -// transactions/keys/add-key.cdc (505B) -// transactions/keys/revoke-key.cdc (118B) -// transactions/packNFT/batch_transfer_packNFTs.cdc (1.1kB) -// transactions/packNFT/create_new_packNFT_collection.cdc (621B) -// transactions/packNFT/open_request.cdc (305B) -// transactions/packNFT/public_reveal_packNFT.cdc (885B) -// transactions/packNFT/reveal_request.cdc (350B) -// transactions/packNFT/transfer_packNFT.cdc (850B) -// transactions/pds/create_distribution.cdc (1.052kB) -// transactions/pds/create_new_pack_issuer.cdc (708B) -// transactions/pds/mint_packNFT.cdc (729B) -// transactions/pds/open_packNFT.cdc (1.037kB) -// transactions/pds/reveal_packNFT.cdc (1.683kB) -// transactions/pds/set_pack_issuer_cap.cdc (549B) -// transactions/pds/settle.cdc (437B) -// transactions/pds/update_dist_state.cdc (506B) - +// ../../../scripts/collectibleNFT/balance.cdc +// ../../../scripts/collectibleNFT/balance_ids.cdc +// ../../../scripts/exampleNFT/balance_exampleNFT.cdc +// ../../../scripts/exampleNFT/borrow_nft.cdc +// ../../../scripts/exampleNFT/get_collection_length.cdc +// ../../../scripts/exampleNFT/get_collection_nft_ids.cdc +// ../../../scripts/packNFT/balance_packNFT.cdc +// ../../../scripts/packNFT/checksum.cdc +// ../../../scripts/packNFT/packNFT_hash.cdc +// ../../../scripts/packNFT/packNFT_status.cdc +// ../../../scripts/packNFT/packNFT_total_supply.cdc +// ../../../scripts/packNFT/verify.cdc +// ../../../scripts/pds/get_dist_metadata.cdc +// ../../../scripts/pds/get_dist_state.cdc +// ../../../scripts/pds/get_dist_title.cdc +// ../../../scripts/pds/get_next_dist_id.cdc +// ../../../transactions/collectibleNFT/mint.cdc +// ../../../transactions/collectibleNFT/setup_collection_and_link_provider.cdc +// ../../../transactions/dapperSport/link_providerCap_dapperSport.cdc +// ../../../transactions/dapperSport/setup_dapperSport.cdc +// ../../../transactions/deploy/deploy-packNFT-with-auth.cdc +// ../../../transactions/deploy/deploy-pds-with-auth.cdc +// ../../../transactions/exampleNFT/mint_exampleNFT.cdc +// ../../../transactions/exampleNFT/mint_exampleNFTBatched.cdc +// ../../../transactions/exampleNFT/setup_exampleNFT.cdc +// ../../../transactions/exampleNFT/transfer_exampleNFT.cdc +// ../../../transactions/flowTokens/transfer_flow_tokens_emulator.cdc +// ../../../transactions/keys/add-key-from-existing.cdc +// ../../../transactions/keys/add-key.cdc +// ../../../transactions/keys/revoke-key.cdc +// ../../../transactions/packNFT/batch_transfer_packNFTs.cdc +// ../../../transactions/packNFT/create_new_packNFT_collection.cdc +// ../../../transactions/packNFT/open_request.cdc +// ../../../transactions/packNFT/public_reveal_packNFT.cdc +// ../../../transactions/packNFT/reveal_request.cdc +// ../../../transactions/packNFT/transfer_packNFT.cdc +// ../../../transactions/pds/create_distribution.cdc +// ../../../transactions/pds/create_new_pack_issuer.cdc +// ../../../transactions/pds/mint_packNFT.cdc +// ../../../transactions/pds/open_packNFT.cdc +// ../../../transactions/pds/reveal_packNFT.cdc +// ../../../transactions/pds/set_pack_issuer_cap.cdc +// ../../../transactions/pds/settle.cdc +// ../../../transactions/pds/update_dist_state.cdc package assets import ( "bytes" "compress/gzip" - "crypto/sha256" "fmt" "io" + "io/ioutil" "os" "path/filepath" "strings" @@ -62,28 +61,26 @@ import ( func bindataRead(data, name string) ([]byte, error) { gz, err := gzip.NewReader(strings.NewReader(data)) if err != nil { - return nil, fmt.Errorf("read %q: %w", name, err) + return nil, fmt.Errorf("Read %q: %v", name, err) } var buf bytes.Buffer _, err = io.Copy(&buf, gz) + clErr := gz.Close() if err != nil { - return nil, fmt.Errorf("read %q: %w", name, err) + return nil, fmt.Errorf("Read %q: %v", name, err) } - - clErr := gz.Close() if clErr != nil { - return nil, clErr + return nil, err } return buf.Bytes(), nil } type asset struct { - bytes []byte - info os.FileInfo - digest [sha256.Size]byte + bytes []byte + info os.FileInfo } type bindataFileInfo struct { @@ -93,26 +90,37 @@ type bindataFileInfo struct { modTime time.Time } +// Name return file name func (fi bindataFileInfo) Name() string { return fi.name } + +// Size return file size func (fi bindataFileInfo) Size() int64 { return fi.size } + +// Mode return file mode func (fi bindataFileInfo) Mode() os.FileMode { return fi.mode } + +// Mode return file modify time func (fi bindataFileInfo) ModTime() time.Time { return fi.modTime } + +// IsDir return file whether a directory func (fi bindataFileInfo) IsDir() bool { - return false + return fi.mode&os.ModeDir != 0 } + +// Sys return file is sys mode func (fi bindataFileInfo) Sys() interface{} { return nil } -var _scriptsCollectiblenftBalanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x8f\xcd\x6a\x2b\x31\x0c\x85\xf7\x7e\x0a\x65\x73\x19\x6f\x86\xbb\x0e\x6d\x21\xa4\x04\xb2\x19\xb2\xc8\x0b\xd8\x8e\x32\x31\xf5\x48\x83\x46\xee\x0f\xc6\xef\x5e\x26\x4d\xd3\x36\xa5\x5a\xea\x9c\x4f\x7c\x8a\xc3\xc8\xa2\xd0\x31\x6d\x32\xf5\xd1\x27\xdc\xf3\x13\x12\x1c\x85\x07\xf8\xff\x5a\x4a\x7b\x1b\xd5\x6a\x2e\x50\x29\xed\x9a\x53\xc2\xa0\x73\xd8\x6d\xf6\x9d\x1b\xb0\xd6\x6f\xec\xcf\x78\x75\x38\x08\x4e\x53\xad\xc6\x8c\xd9\xc3\x31\x13\x0c\x2e\x52\xe3\x42\xe0\x4c\xba\x84\x4b\xc1\x2e\x61\x4b\x0a\xc5\x00\x00\x24\x54\x10\x0c\x18\x9f\x51\xe0\x1e\x7a\xd4\xd5\x47\xfd\x13\xb3\xe7\xda\x3c\x6d\x8f\xba\x76\xa3\xf3\x31\x45\x7d\x6b\xfe\xd0\xbb\x2e\x99\x76\xd9\xa7\x18\x76\x4e\x4f\x76\xf1\x75\xc5\xb3\x08\xbf\xdc\xfd\x2b\xb7\x9f\xff\x22\xeb\x43\x63\x17\xe6\x4c\x0a\x6a\x16\xba\x9a\xce\x2a\xdb\xc7\xa9\xb1\x6d\x42\xea\xf5\x64\xaa\x79\x0f\x00\x00\xff\xff\x19\x6f\x54\xa7\x6a\x01\x00\x00" +var _scriptsCollectiblenftBalanceCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x8e\xd1\x4a\xc3\x40\x10\x45\xdf\xf7\x2b\xa6\x79\x90\xec\xcb\x7e\x40\x50\xa1\xa8\x85\xbe\x94\x22\xfd\x81\xcd\x64\x92\x0e\x4e\x66\xc3\xee\x2c\x0a\xe2\xbf\x8b\xb5\x1a\xf4\x3e\x5e\xee\x39\x5c\x9e\x97\x94\x0d\x0e\x49\x77\x55\x27\xee\x85\x4e\xe9\x85\x14\xc6\x9c\x66\x68\xfe\xd7\x8d\xbb\xee\x9f\xde\xe2\xbc\x08\x1d\x76\xa7\xeb\x72\x2d\x1a\xe7\x22\x22\x95\xd2\x46\x11\x0f\x63\x55\x98\x23\x6b\x1b\x11\x53\x55\xeb\x60\x3b\x0c\x99\x4a\xf1\x1d\xec\xd5\xe0\xdd\x01\x00\x08\x19\x60\x12\x21\x34\x4e\xfa\x4c\x23\xdc\xc1\x44\xb6\xfd\x66\x7e\x58\x1f\x30\x2e\xb1\x67\x61\x63\x2a\xa1\x4f\x39\xa7\xd7\xdb\x8b\xe0\x2b\x37\xeb\x89\xf0\xf0\x2b\xbb\x6f\x8f\xb5\x17\xc6\x63\xb4\x73\xcb\x03\xa9\xf1\xc8\x94\x3b\x68\x30\x0e\xa4\x48\x2b\xb5\x42\x8d\xdf\xf8\x8d\xbb\x98\x33\x59\xcd\xfa\xf7\x5d\x98\xc8\xf6\x8f\xa5\xf5\x41\x48\x27\x3b\xbb\x0f\xf7\x19\x00\x00\xff\xff\x15\x8a\x38\xa5\x49\x01\x00\x00" func scriptsCollectiblenftBalanceCdcBytes() ([]byte, error) { return bindataRead( @@ -128,11 +136,11 @@ func scriptsCollectiblenftBalanceCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/collectibleNFT/balance.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0x6, 0x72, 0xdf, 0x90, 0x21, 0x57, 0xa0, 0xa2, 0xba, 0xc9, 0x95, 0x57, 0x7f, 0xb8, 0x3c, 0xf0, 0x9a, 0x33, 0x9a, 0x3, 0xb1, 0xca, 0xa5, 0x9b, 0xcb, 0x4a, 0x8a, 0xaa, 0x40, 0x9d, 0xce}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsCollectiblenftBalance_idsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x50\x4d\x6b\xc2\x40\x10\xbd\xef\xaf\x18\x2f\x92\xa0\x84\x16\x4a\x0f\x62\x0a\x62\x11\x84\x22\x1e\xec\x49\x3c\x6c\x92\x49\x1c\xba\xd9\x0d\xbb\x1b\x6d\x59\xf6\xbf\x97\x7c\x34\xa6\x96\xe6\x94\x7d\x6f\xde\x9b\x37\x8f\xca\x4a\x69\x0b\x3b\x25\x37\xb5\x2c\x28\x11\x78\x50\x1f\x28\x21\xd7\xaa\x84\x87\x4f\xe7\xa2\x7b\xca\x7b\xd6\x8b\x9c\x8b\xd6\x4a\x08\x4c\x6d\x43\xee\x36\x87\x1d\x2f\xd1\xfb\x91\xf6\x37\xbd\xca\x32\x8d\xc6\x78\xcf\x58\x55\x27\x90\xd7\x12\x4a\x4e\x32\xe0\x69\xaa\x6a\x69\x17\xd0\x0f\xcc\x41\xe5\xb9\x41\xbb\x80\xf7\xad\xb4\xcf\x4f\x73\x10\x54\xd2\xf0\x0c\x17\x70\xec\xfe\x4e\xe0\x18\x00\x80\x40\x0b\x1a\x53\xa4\x0b\x6a\x88\xa1\x40\xbb\xea\x2c\x7f\xac\xc3\x76\xac\xf9\xa2\x02\xed\x9a\x57\x3c\x21\x41\xf6\x2b\xf8\xe7\x84\x01\x54\x72\x5f\x27\x82\xd2\x3d\xb7\xe7\x70\x72\x73\x49\x94\xd6\xea\xba\x9c\xba\xfb\x76\xfe\x28\xfd\x4b\x10\x4e\xd8\x10\x93\x32\x03\xf1\x10\xb6\x49\xb3\x7d\x35\x41\x38\xe6\xdf\x50\x42\xdc\xdf\x1a\x50\x66\x22\x81\xb2\xb0\xe7\xb0\x33\xb9\x70\x0d\x1a\xcd\xa8\x83\x18\x8e\xa7\x81\x22\x88\xfb\xf6\x5a\xe8\x7a\x26\x81\x40\xb0\xec\xc1\x59\xdb\x24\x4c\xa7\x2d\xd6\x2f\x73\xc3\x5d\x1a\x4d\xc4\xab\x0a\x65\xd6\x2c\x3e\xd2\xe9\x56\x5c\x63\x4c\x30\x83\xc7\x16\xf1\x5d\x18\x8d\xb6\xd6\xb2\x91\x31\xcf\xbe\x03\x00\x00\xff\xff\xc5\xbb\x7e\xa7\x4b\x02\x00\x00" +var _scriptsCollectiblenftBalance_idsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x90\x4f\x6b\xf2\x40\x10\xc6\xef\xf9\x14\x63\x0e\x92\x45\x09\xbc\xf0\xd2\x43\x30\x05\x69\x2b\x08\x45\xa4\xd8\x93\x78\xd8\x6c\x26\x71\xe8\x66\x36\xec\x6e\x6a\x41\xfc\xee\x25\x7f\x9a\xd8\xe6\x94\x7d\x66\xe6\x37\xcf\x33\x54\xd5\xc6\x7a\xd8\x19\xde\x34\x5c\x52\xa6\xf1\x60\x3e\x90\xa1\xb0\xa6\x82\xf0\xaf\x1c\x06\x43\xff\xcb\x97\xac\x6a\x8d\xbb\xcd\x61\xe8\x9c\x84\x30\x08\xa4\x52\xe8\x5c\x24\xb5\x16\x50\x34\x0c\x95\x24\x8e\xa4\x52\xa6\x61\x9f\xc0\x3a\xcf\x2d\x3a\xb7\x04\x53\x14\x0e\x7d\x02\xef\x5b\xf6\x0f\xff\x97\xa0\xa9\xa2\xf1\x29\x12\x38\xf6\x7f\x27\xb8\x06\x00\x00\x1a\x3d\x28\xa3\x35\x2a\x4f\x86\xdf\xb0\x80\x14\x4a\xf4\xeb\x9e\xfb\xc3\x17\xb1\x92\xb5\xcc\x48\x93\x27\x74\x71\x66\xac\x35\x97\x55\x07\x68\xbf\xf9\x64\x34\x7e\x1a\x61\x8f\xd1\xbe\xc9\x34\xa9\xbd\xf4\xe7\x88\x72\x64\x4f\x05\xa1\x4d\x20\x54\x32\x47\x56\x38\x4d\x4d\x43\xa1\x98\x89\x59\x30\x5a\xa3\xdc\x41\xfa\xdb\x60\x5c\xa2\xdf\x3e\xbb\x48\xdc\x37\xbd\x22\x43\x3a\x84\x8c\x28\x77\xb1\x46\x2e\xfd\x59\xf4\xa4\x4f\x69\xc1\xa2\xbb\x0b\x9f\xc2\xf1\x34\x96\x08\xd2\xe1\x6c\x9d\x74\x39\x93\x46\x20\x58\x0d\xe2\xa2\x3b\x21\xcc\xe7\x9d\x36\x2c\xbb\x8e\xe1\x2d\xba\x58\xd6\x35\x72\xde\x2e\x3e\xd2\x49\x8c\xa5\x16\x4c\xb0\x80\x7f\x9d\x72\xeb\xcd\x58\xf4\x8d\xe5\x76\x2c\xb8\x05\xdf\x01\x00\x00\xff\xff\x85\x0d\xba\x65\x2a\x02\x00\x00" func scriptsCollectiblenftBalance_idsCdcBytes() ([]byte, error) { return bindataRead( @@ -148,11 +156,11 @@ func scriptsCollectiblenftBalance_idsCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/collectibleNFT/balance_ids.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x21, 0xac, 0xc4, 0xe0, 0x43, 0x3, 0x21, 0x4a, 0x3, 0xde, 0xe1, 0x58, 0xe6, 0x24, 0xbd, 0x99, 0x79, 0x0, 0x98, 0x77, 0x8b, 0x16, 0xbc, 0xc6, 0xa4, 0x69, 0x2e, 0xb9, 0x8e, 0x68, 0x11, 0x85}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsExamplenftBalance_examplenftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\xcf\xbf\x4e\xc3\x30\x10\x06\xf0\xdd\x4f\x71\x5d\x50\xbc\x44\x0c\x88\xa1\x02\xa4\xaa\x50\xa9\x4b\xd5\xa1\x4c\x88\xc1\x76\xaf\xc1\xc2\xb9\x8b\x2e\x67\x28\x8a\xfc\xee\xa8\xe5\x4f\x50\xf0\xe8\xfb\x7e\xfa\xee\x62\xdb\xb1\x28\x6c\x98\x56\x99\x9a\xe8\x13\xee\xf8\x15\x09\x0e\xc2\x2d\x5c\x1e\x87\xa1\x9e\x8e\x4a\x31\xdf\xe8\xe1\xe8\xda\x2e\xe1\x66\xb5\xfb\x13\x1f\x3f\x4b\x31\xa6\xcb\x1e\x0e\x99\xa0\x75\x91\x2a\x17\x02\x67\xd2\x39\x2c\xf6\x7b\xc1\xbe\xb7\x73\x78\x7a\x5c\x93\x5e\x5f\x3d\xc3\x60\x00\x00\x12\x2a\x08\x06\x8c\x6f\x28\x70\x0b\x0d\xea\xe2\xcb\xfc\x58\x7b\x8e\x9d\x5e\xdd\xa0\x2e\x5d\xe7\x7c\x4c\x51\x3f\xaa\xb1\xb6\x5e\x72\x4a\x18\x34\x32\x6d\xb3\x4f\x31\x6c\x9d\xbe\xd8\xd9\x08\x3d\x8b\xf0\xfb\xcd\xc5\x30\xbd\xec\x9f\x2c\x77\x95\x9d\x99\xb3\x14\xd4\x2c\xf4\xbb\xdc\xa9\x7d\x7d\xdf\x57\xd6\x14\xf3\x19\x00\x00\xff\xff\x42\xb6\x3e\x35\x43\x01\x00\x00" +var _scriptsExamplenftBalance_examplenftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x8e\x31\x4b\x04\x31\x10\x85\xfb\xfc\x8a\xb9\x14\x92\x34\x5b\x89\xc5\xa2\xc2\xa1\x1e\x5c\x73\x1c\x72\x56\x62\x91\x9d\x9d\x5d\x07\xb3\x93\x25\x99\xa0\x20\xfe\x77\xf1\x3c\x5d\xf4\x95\x8f\xf7\x7d\x3c\x9e\xe6\x94\x15\x76\x49\x36\x55\x46\xee\x22\x1d\xd2\x0b\x09\x0c\x39\x4d\x60\xff\xd7\xd6\x9c\xf6\x77\x6f\x61\x9a\x23\xed\x36\x87\xd3\x72\x29\xac\x31\x01\x91\x4a\x71\x21\x46\x0f\x43\x15\x98\x02\x8b\x0b\x88\xa9\x8a\xb6\xb0\xee\xfb\x4c\xa5\xf8\x16\x1e\x1f\xb6\xa2\x17\xe7\x4f\xf0\x6e\x00\x00\x22\x29\x60\x8a\x91\x50\x39\xc9\x3d\x0d\x70\x05\x23\xe9\xfa\x1b\xfc\x11\xf8\x06\xc3\x1c\x3a\x8e\xac\x4c\xa5\xe9\x52\xce\xe9\xf5\xf2\x28\xf8\xca\xd9\xf2\xa4\xb9\xf9\x95\x5d\xbb\x7d\xed\x22\xe3\x3e\xe8\xb3\xe3\x9e\x44\x79\x60\xca\x2d\x58\x0c\x3d\x09\xd2\x42\x2d\x90\xf5\x2b\xbf\x32\x47\x73\x26\xad\x59\xfe\xbe\x6b\x46\xd2\xed\x6d\x71\xde\x7c\x98\xcf\x00\x00\x00\xff\xff\x9a\x35\x0f\x60\x47\x01\x00\x00" func scriptsExamplenftBalance_examplenftCdcBytes() ([]byte, error) { return bindataRead( @@ -168,11 +176,11 @@ func scriptsExamplenftBalance_examplenftCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/exampleNFT/balance_exampleNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb0, 0xf3, 0x19, 0x3a, 0xd5, 0xfc, 0x42, 0x15, 0xd3, 0x59, 0xc1, 0x87, 0x34, 0x8, 0xbb, 0x0, 0xa, 0x36, 0x7d, 0xf9, 0xdb, 0xc8, 0xdb, 0xd0, 0x84, 0x8c, 0x3f, 0x61, 0xd7, 0xb2, 0x1a, 0x4a}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsExamplenftBorrow_nftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x90\x41\x6b\xe3\x30\x10\x85\xef\xfe\x15\x0f\x1f\x16\x1b\x16\xfb\xb2\xec\x21\x34\x0d\x69\x68\xa0\x97\x10\x8a\x7b\x2e\xf2\x78\x9c\x0c\x95\x25\x21\xcb\xb4\x25\xe4\xbf\x97\xc4\xb1\x9d\xa6\x54\x27\x09\xbd\x6f\xa4\xf7\x49\xe3\xac\x0f\xd8\x58\xb3\xee\xcc\x4e\x4a\xcd\x85\x7d\x63\x83\xda\xdb\x06\x71\x96\xe5\x59\x96\x93\x35\xc1\x2b\x0a\x6d\x7e\x1b\xcb\xa8\xa2\x38\xba\xcc\x78\xfc\x50\x8d\xd3\xbc\x59\x17\xbf\xd0\x53\xa0\xe7\xa2\x3c\x47\xb1\x97\x16\x2d\x79\x71\x01\xa5\xf5\xde\xbe\xb7\x50\x06\xe3\x10\x05\xb2\x5a\x33\x05\xb1\x26\x72\x5d\x89\xba\x33\x68\x94\x98\x44\x55\x95\xe7\xb6\x9d\x61\xd9\x6f\xfe\x42\xaa\x19\x5e\x9e\x4c\xf8\xff\x2f\xc5\x21\x02\x00\xcd\x01\x8a\xc8\x76\x26\x60\x8e\x1d\x87\x65\x7f\x18\xe0\x34\x1a\x63\xd3\x33\xcf\x5c\x63\x3e\x60\xe7\xfb\xd3\xca\x76\x1c\x56\xca\xa9\x52\xb4\x84\xcf\xe4\xaa\xcb\x6a\x24\xb7\x5d\xa9\x85\xb6\x2a\xec\xd3\x89\xeb\x5b\xdd\xfd\x39\xfc\x90\x77\x0b\x1e\xef\x93\x89\x5b\x2c\xe0\x94\x11\x4a\xe2\x95\xed\x74\x05\x63\x07\x41\xa0\xf1\x1b\xbd\x23\x77\xa6\xaf\x1a\xc4\x97\x5e\x79\x8e\x87\x1e\x51\xf0\x5c\xb3\x67\x43\x8c\x60\xa1\xd0\x3a\x26\xa9\x85\xce\xa6\xc5\x20\xec\xf9\xda\xf4\x60\xe5\x15\xf3\xef\x66\x2e\x75\x36\xeb\x22\x39\xe9\x96\x2a\x8d\x8e\xd1\x57\x00\x00\x00\xff\xff\x42\x5e\x85\x9f\x45\x02\x00\x00" +var _scriptsExamplenftBorrow_nftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x90\x41\x4b\xfb\x40\x10\xc5\xef\xfb\x29\x5e\x73\xf8\x93\xc0\x9f\xe6\x22\x1e\x8a\x15\xaa\x58\xf0\x52\x8a\xc4\xb3\x4c\x26\x93\x76\x70\xb3\x1b\x76\x37\x28\x88\xdf\x5d\xda\xb4\x8d\x8a\x7b\xda\x19\xde\x6f\xe6\xbd\xd1\xae\xf7\x21\x61\xe3\xdd\x7a\x70\x3b\xad\xad\x54\xfe\x55\x1c\xda\xe0\x3b\x64\xbf\xdb\x99\x39\xe9\x1f\xde\xa9\xeb\xad\x6c\xd6\xd5\x49\x39\x35\x32\x63\xca\x12\xd5\x5e\x23\x22\x07\xed\x13\x6a\x1f\x82\x7f\x8b\x20\x87\x0b\x40\x60\x6f\xad\x70\x52\xef\x0c\x31\x4b\x8c\x39\x59\x5b\xa0\x1d\x1c\x3a\x52\x97\x53\xd3\x04\x89\x71\x81\xd5\xf8\xf9\x0f\x6d\x16\x78\x7e\x74\xe9\xfa\xaa\xc0\x87\x01\x00\x2b\x09\xc4\xec\x07\x97\xb0\xc4\x4e\xd2\x6a\x2c\xce\x70\x61\x2e\xb2\x69\xdd\x93\xb4\x7f\x8b\xe7\x4c\x3d\xd5\x6a\x35\xa9\xc4\xf9\xe8\xfa\xe6\x38\xe0\xf0\xfe\x4d\x11\xe7\xf7\x97\x61\xb7\xf9\x76\xa8\xad\xf2\x96\xd2\x3e\xd7\x46\x5c\xd2\x56\x25\x2c\x90\x31\x35\xe2\x58\x26\x6a\x82\xb2\x62\x56\xcc\x46\x6b\x65\x89\xbb\xe3\x22\x10\x82\xb4\x12\x0e\x0c\x92\x07\x21\xf6\xc2\xda\x2a\x1f\x8f\xa6\x0e\x69\x2f\xdf\x8f\x76\x0e\xf6\x82\xe5\xcf\x70\x27\xe7\x9b\x75\x95\x6b\x53\x98\x4f\xf3\x15\x00\x00\xff\xff\x3d\x67\x7a\x68\xe4\x01\x00\x00" func scriptsExamplenftBorrow_nftCdcBytes() ([]byte, error) { return bindataRead( @@ -188,31 +196,51 @@ func scriptsExamplenftBorrow_nftCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/exampleNFT/borrow_nft.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6e, 0x35, 0x85, 0x35, 0xa5, 0x35, 0x7c, 0x4e, 0xec, 0x2f, 0xd1, 0x85, 0x20, 0x1, 0xe5, 0x41, 0x36, 0x46, 0x72, 0xa9, 0x90, 0x9b, 0x8e, 0xae, 0x8b, 0x7, 0x11, 0x8c, 0xbe, 0x9f, 0xe5, 0xe6}} + a := &asset{bytes: bytes, info: info} + return a, nil +} + +var _scriptsExamplenftGet_collection_lengthCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x90\xc1\x6a\xeb\x30\x10\x45\xf7\xfa\x8a\x1b\x2f\x1e\xf6\xc6\xd9\x87\xd7\x42\x68\x1b\xc8\x26\x84\xe2\x1f\x90\xe5\xb1\x3d\x54\x1e\x19\x69\xdc\x16\x4a\xff\xbd\x24\x76\x63\x5a\xaa\x95\x74\xe6\xdc\xd1\x48\x3c\x8c\x21\x2a\x4e\x41\x0e\x93\x74\x5c\x7b\xaa\xc2\x0b\x09\xda\x18\x06\x64\xbf\x71\x66\x16\xff\xe9\xdd\x0e\xa3\xa7\xd3\xa1\x5a\xcc\x15\x64\xc6\x6c\xb7\xa8\x7a\x4e\x48\x2e\xf2\xa8\x88\xa4\x53\x94\x04\xed\x09\x32\x0d\x35\x45\x84\x16\xa7\x43\x95\xc0\x72\xa5\x2e\x78\x4f\x4e\x39\xc8\xa5\x72\x21\x1d\xbf\x92\xc0\x36\x4d\xa4\x94\x8c\x75\x8e\x52\xca\xad\xf7\x05\xda\x49\x30\x58\x96\x7c\x29\xee\xb0\x9f\x37\xc5\x0e\x47\x51\x7c\x18\x00\xf0\xa4\xb0\xce\x85\x49\x14\x77\xe8\x48\xf7\xf3\xe1\x3b\x55\x98\x9b\xb6\x5e\xfe\x4c\xed\xdf\x72\xe9\xec\x68\x6b\xf6\xac\x4c\xa9\xac\x43\x8c\xe1\xed\xff\xb5\xc1\x65\xfd\x5b\x1f\x5f\x3e\xdc\x9a\xdd\xe7\xe7\xa9\xf6\xec\xce\x56\xfb\x9c\x1b\x12\xe5\x96\x29\xee\x90\x39\xdb\x90\x38\x5a\x53\x6b\x28\x2b\x36\xc5\x66\x1e\x6d\xfe\xb5\x9f\xd3\x95\x1d\xe9\xf1\x31\xe5\x45\xe9\x49\x3a\xed\xcd\xa7\xf9\x0a\x00\x00\xff\xff\xf9\x6a\x0e\xd2\xc1\x01\x00\x00" + +func scriptsExamplenftGet_collection_lengthCdcBytes() ([]byte, error) { + return bindataRead( + _scriptsExamplenftGet_collection_lengthCdc, + "scripts/exampleNFT/get_collection_length.cdc", + ) +} + +func scriptsExamplenftGet_collection_lengthCdc() (*asset, error) { + bytes, err := scriptsExamplenftGet_collection_lengthCdcBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "scripts/exampleNFT/get_collection_length.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsExamplenftGet_total_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x4c\xcc\x31\x0a\x42\x31\x0c\x06\xe0\x3d\xa7\xf8\x79\x93\x2e\xe9\x22\x0e\xee\x0a\x2e\x2e\xea\x01\x6a\x7d\x0f\x0a\x6d\x1a\x62\x02\x8a\x78\x77\x47\xdd\x3f\xbe\xda\x75\x98\x63\xff\xcc\x5d\xdb\x7c\x3a\x5c\xb0\xd8\xe8\x98\x98\x13\x73\x2a\x43\xdc\x72\xf1\x47\xfa\x01\x2e\xf7\x32\x11\x69\xdc\xb0\x84\xa0\xe7\x2a\xab\xf5\x0e\xd7\xa3\xf8\x76\x83\x37\x01\x80\xcd\x1e\x26\x7f\x2b\xfb\xf0\xdc\xce\xa1\xda\x5e\xf4\xa1\x6f\x00\x00\x00\xff\xff\xab\xdd\xb2\x0f\x76\x00\x00\x00" +var _scriptsExamplenftGet_collection_nft_idsCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x90\x41\x4b\xc3\x40\x10\x85\xef\xfb\x2b\x5e\x73\x90\xe4\x92\x5c\xc4\x43\x51\xa1\x58\x0b\xbd\x94\x52\xe2\x49\x3c\x6c\x36\x93\x66\x70\xb3\x1b\x76\x27\x28\x88\xff\x5d\x9a\xd4\x06\xc5\x83\x7b\x7a\x3b\xbc\x6f\x76\xdf\xe3\xae\xf7\x41\xb0\xf3\x6e\x33\xb8\x23\x57\x96\x4a\xff\x4a\x0e\x4d\xf0\x1d\x92\xdf\xe3\x44\x9d\xfd\x8f\xef\xba\xeb\x2d\xed\x36\xe5\xd9\x39\x0f\x12\xa5\x8a\x02\x65\xcb\x11\xd1\x04\xee\x05\x81\x64\x08\x2e\x42\x5a\xc2\x76\x1d\xe1\x9b\x51\xee\x36\x65\x04\xbb\x51\x1b\x6f\x2d\x19\x61\xef\x94\x36\x86\x62\x4c\xb5\xb5\x19\x9a\xc1\xa1\xd3\xec\x52\x5d\xd7\x81\x62\x5c\x62\x35\x89\x6c\x89\xe7\xa7\xad\x93\x9b\xeb\x17\x7c\x28\x00\xb0\x24\xd0\xc6\xf8\xc1\x09\xee\x70\x24\x59\x4d\x97\x6f\x34\x53\x17\xdb\xfc\xd8\x81\x9a\xbf\xcd\xb9\xd1\xbd\xae\xd8\xb2\x30\xc5\xbc\xf2\x21\xf8\xb7\xdb\x71\xc1\xe9\x5c\xcd\x69\xf3\x87\xcb\xb2\xfb\x74\x3f\x54\x96\xcd\x5e\x4b\x9b\x72\x4d\x4e\xb8\x61\x0a\x4b\x24\x46\xd7\xe4\x0c\xcd\xd4\x0c\x25\xd9\x22\x5b\x4c\x5f\x2b\x0a\x1c\xc6\xa6\xfe\x59\xd4\x89\x99\xaa\xfd\x99\x28\x3f\x92\x6c\xd7\x31\xcd\xd4\xa7\xfa\x0a\x00\x00\xff\xff\x90\x74\x16\xcb\xdf\x01\x00\x00" -func scriptsExamplenftGet_total_supplyCdcBytes() ([]byte, error) { +func scriptsExamplenftGet_collection_nft_idsCdcBytes() ([]byte, error) { return bindataRead( - _scriptsExamplenftGet_total_supplyCdc, - "scripts/exampleNFT/get_total_supply.cdc", + _scriptsExamplenftGet_collection_nft_idsCdc, + "scripts/exampleNFT/get_collection_nft_ids.cdc", ) } -func scriptsExamplenftGet_total_supplyCdc() (*asset, error) { - bytes, err := scriptsExamplenftGet_total_supplyCdcBytes() +func scriptsExamplenftGet_collection_nft_idsCdc() (*asset, error) { + bytes, err := scriptsExamplenftGet_collection_nft_idsCdcBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "scripts/exampleNFT/get_total_supply.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x9, 0x60, 0xa2, 0xa5, 0x58, 0x7b, 0xb8, 0xa2, 0x87, 0x3a, 0x50, 0x8b, 0x97, 0x82, 0xd3, 0xf7, 0x78, 0xfa, 0x17, 0x8a, 0xda, 0xc8, 0x54, 0x76, 0x3b, 0xe3, 0x9c, 0x92, 0x0, 0x29, 0x87}} + info := bindataFileInfo{name: "scripts/exampleNFT/get_collection_nft_ids.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPacknftBalance_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\xcf\x3d\x6b\xc3\x30\x10\x06\xe0\x5d\xbf\xe2\xb2\x14\x6b\x31\x1d\x4a\x87\xd0\x16\x42\x4a\x20\x4b\xf0\x90\x4e\xa5\x83\xa4\x5c\x5c\x11\xf9\xce\x9c\x4f\xfd\xc0\xe8\xbf\x97\xa4\xee\x07\x89\x46\xdd\xfb\xf0\xde\xc5\xae\x67\x51\xd8\x30\xad\x32\xb5\xd1\x27\xdc\xf2\x01\x09\xf6\xc2\x1d\x5c\x7f\x8c\x63\x7d\x3e\x2a\xc5\x4c\xa8\x71\xe1\xb0\x59\x6d\xff\x65\xa7\x9f\x52\x8c\xe9\xb3\x87\x7d\x26\xe8\x5c\xa4\xca\x85\xc0\x99\x74\x0e\x8b\xdd\x4e\x70\x18\xec\x1c\x9e\x9f\xd6\xa4\xb7\x37\x2f\x30\x1a\x00\x80\x84\x0a\x82\x01\xe3\x1b\x0a\xdc\x43\x8b\xba\xf8\x36\x3f\xd6\x9e\x62\xc7\x57\xb7\xa8\x4b\xd7\x3b\x1f\x53\xd4\xcf\x6a\xea\xac\x97\x9c\x12\x06\x8d\x4c\x4d\xf6\x29\x86\xc6\xe9\xab\x9d\xfd\x29\xcf\x22\xfc\x7e\x77\x35\x9e\x1f\x74\x21\xcb\x43\x65\x67\xe6\x24\x05\x35\x0b\xfd\x6e\x76\xac\x5e\x3f\x0e\x95\x35\xc5\x7c\x05\x00\x00\xff\xff\x68\x9b\xed\x8e\x3a\x01\x00\x00" +var _scriptsPacknftBalance_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8e\x31\x4b\x03\x41\x10\x85\xfb\xfd\x15\xe3\x15\x72\xdb\x5c\x25\x16\x41\x85\xa0\x04\xd2\x84\x43\x62\x25\x16\x7b\x93\xb9\x73\xc9\xdc\x4c\xd8\x9d\xc5\x42\xfc\xef\xe2\xb9\x0a\x9a\xe9\xe6\xf1\xde\xc7\x17\xe7\x93\x26\x83\x9d\xca\xa6\xc8\x14\x07\xa6\xbd\x1e\x49\x60\x4c\x3a\x43\xf3\x3f\x6e\x5c\xed\xf7\x01\x8f\xbb\xcd\xbe\xd6\xea\xd7\x38\x17\x10\x29\xe7\x36\x30\x7b\x18\x8b\xc0\x1c\xa2\xb4\x01\x51\x8b\xd8\x0a\xd6\x87\x43\xa2\x9c\xfd\x0a\x9e\x9f\xb6\x62\xd7\x57\x2f\xf0\xee\x00\x00\x98\x0c\x50\x99\x09\x2d\xaa\x3c\xd2\x08\xb7\x30\x91\xad\xbf\x87\x3f\x00\xdf\x61\x38\x85\x21\x72\xb4\x48\xb9\x1b\x34\x25\x7d\xbb\x59\x00\x5f\x77\x59\x35\xba\xfb\x5f\xd2\x5d\x7b\x9e\xf5\x65\xe0\x88\x7d\xb0\x57\x7f\xe1\x96\x71\x22\x2b\x49\xfe\x0a\x74\x13\xd9\xf6\x21\xb7\xde\x7d\xb8\xcf\x00\x00\x00\xff\xff\xa7\x14\x97\x53\x24\x01\x00\x00" func scriptsPacknftBalance_packnftCdcBytes() ([]byte, error) { return bindataRead( @@ -228,11 +256,11 @@ func scriptsPacknftBalance_packnftCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/packNFT/balance_packNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x32, 0x30, 0x81, 0x5, 0x4d, 0xc4, 0x7d, 0x1, 0x37, 0x5b, 0xd6, 0x7c, 0x2c, 0x8a, 0xdf, 0xfd, 0xfb, 0x46, 0x4, 0x22, 0xdf, 0x7a, 0x3b, 0xbb, 0x89, 0xf0, 0x24, 0xa8, 0xde, 0x0, 0x23, 0xb0}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPacknftChecksumCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\xcc\x31\xcb\xc2\x30\x10\xc6\xf1\x3d\x9f\xe2\x19\xdb\x25\x43\xe1\x7d\x11\xc1\xa1\xba\x64\xef\x07\x90\xa8\x69\x12\x68\x72\xe1\x7a\x01\x45\xfc\xee\x52\xa2\xa3\xdb\xc1\xfd\x9f\x5f\x4c\x85\x58\x70\xe2\x47\x11\x52\xa5\x5e\x30\xd7\x8c\x64\x63\xee\x84\x8c\x5d\xc3\x1e\x93\x70\xcc\xbe\xff\x1e\x78\x2a\x00\x58\x9c\x20\xd8\x35\x1c\x07\x1c\xb0\x85\xe3\xe2\x89\xa3\x84\xa4\x27\x33\x0e\xe7\xe1\xef\x5f\x6f\xff\x0f\xa3\xab\xcc\xbb\xbe\x2d\xc9\x77\x8d\xd2\x2e\x5f\xe9\xe6\x8c\xbb\x77\x8d\xea\x5b\xc1\x4e\x2a\x67\xfc\x8a\xd4\x4b\xbd\x03\x00\x00\xff\xff\x45\xa2\xf1\x04\xb7\x00\x00\x00" +var _scriptsPacknftChecksumCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\xcc\x31\xcb\xc2\x30\x10\xc6\xf1\x3d\x9f\xe2\x19\x93\x25\x43\xe1\x7d\x11\xc1\xa1\xba\x74\xef\x07\x90\x50\xd3\x26\x90\xe6\xca\xe5\x02\x8a\xf8\xdd\xa5\x44\x47\xb7\x83\xfb\x3f\xbf\xb8\x6e\xc4\x82\x0b\x3f\x36\x21\xe5\xa6\xc9\x97\xa2\x5d\x4a\x06\x73\xcd\x58\x5d\xcc\x5a\x68\x70\x25\x1c\x31\x0a\xc7\xbc\x98\xef\x81\xa7\x02\x80\xe4\x05\xc1\x95\x70\xee\x70\xc2\x1e\xf6\x69\x21\x8e\x12\x56\x3b\x0e\x7d\x77\xed\xfe\xfe\xed\xfe\xff\x30\xb6\xca\x7c\x30\x6d\x49\x8b\x6e\x94\xf5\x79\xa2\x9b\x1f\xfc\x5d\x37\xca\xb4\x82\xbd\x54\xce\xf8\x15\xa9\x97\x7a\x07\x00\x00\xff\xff\xb9\xd6\xf7\xe2\xbf\x00\x00\x00" func scriptsPacknftChecksumCdcBytes() ([]byte, error) { return bindataRead( @@ -248,11 +276,11 @@ func scriptsPacknftChecksumCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/packNFT/checksum.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa3, 0x8a, 0xe7, 0x20, 0xcb, 0x2e, 0x3e, 0x9c, 0xa3, 0x89, 0x3e, 0xd8, 0x99, 0xb6, 0xf6, 0xf7, 0xf2, 0x4a, 0x41, 0xd1, 0x47, 0x8d, 0x24, 0x8f, 0xf1, 0xc5, 0x44, 0x1d, 0x7f, 0x89, 0x56, 0xd1}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPacknftPacknft_hashCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\xcd\xbd\x0a\xc2\x40\x10\x04\xe0\xfe\x9e\x62\xec\x4c\x13\x2c\xc4\x22\x60\x2b\xa4\x11\xf1\xe7\x01\x2e\xe6\x62\x16\xcd\xde\xb1\xd9\x43\xe1\xb8\x77\x17\x35\x62\x61\xb9\xcb\x37\x33\x34\x04\x2f\x8a\x9d\x3d\x5f\xb7\x9b\x23\x3a\xf1\x03\x16\x8f\x94\xca\xe9\x93\xb3\x99\x48\xfd\x6f\xea\x1f\x32\x21\x36\xe8\x22\x63\xb0\xc4\x73\x6a\x2b\x9c\x6a\xd6\xd5\xb2\xa8\x70\x50\x21\xbe\x20\x19\x00\xb8\x39\x45\xc0\xfa\x3b\x58\x36\x5e\xc4\xdf\x5f\xd7\xde\x05\x71\xa3\x63\xb5\x4a\xfe\x53\x41\x6d\x81\x77\x4a\x9c\x46\x61\x84\x59\xd9\xdb\xb1\x37\xd9\xe0\x19\x00\x00\xff\xff\xad\x62\x76\x2e\xb8\x00\x00\x00" +var _scriptsPacknftPacknft_hashCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\xcd\x3d\x0a\xc2\x40\x10\xc5\xf1\x7e\x4f\xf1\x4c\x95\x34\xa9\xc4\x22\x60\x2b\xa4\x11\xf1\xe3\x00\x6b\x32\x31\x83\xc9\xec\x32\x3b\xc1\x42\xbc\xbb\xa8\x51\xb0\xfc\xf3\x63\xe6\xf1\x18\x83\x1a\x76\xbe\xb9\x6e\x37\x47\x74\x1a\x46\x64\x73\x65\x6e\xd6\xfa\x9f\xeb\x9f\x3b\xdf\x34\x94\x52\xee\x87\xa1\x40\x37\x09\x46\xcf\x92\x73\x5b\xe1\x54\x8b\xad\x96\x45\x85\x83\x29\xcb\x05\x77\x07\x00\x03\x19\x22\xd6\xdf\xb9\xf2\x1c\x54\xc3\xed\x55\x7b\x8a\x4a\x89\xc4\xbc\x71\xf8\xbc\xe0\xb6\x78\x1f\x29\xd9\xa4\x82\xb8\x28\x7b\x9f\x7a\xf7\x70\xcf\x00\x00\x00\xff\xff\x27\xe6\xbd\x50\xb4\x00\x00\x00" func scriptsPacknftPacknft_hashCdcBytes() ([]byte, error) { return bindataRead( @@ -268,11 +296,11 @@ func scriptsPacknftPacknft_hashCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/packNFT/packNFT_hash.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0xdf, 0x4d, 0x61, 0xfe, 0x8, 0xb9, 0x65, 0x73, 0xc0, 0x4, 0x8a, 0x8e, 0x42, 0x75, 0xd2, 0x79, 0xd0, 0x67, 0x25, 0xf2, 0x7d, 0xd, 0x4, 0xd3, 0x89, 0x8c, 0x69, 0x1f, 0xc6, 0xd9, 0x40}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPacknftPacknft_statusCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8d\x31\x0b\xc2\x30\x14\x84\xf7\xfc\x8a\x73\xb3\x4b\x70\x10\x11\xc1\x55\xe8\x22\x22\xea\xfe\x6a\x5f\x21\xd8\x26\xe1\xf5\x85\x0a\x25\xff\x5d\xb4\x15\x07\xb7\xbb\xe3\xbb\x3b\xd7\xc5\x20\x8a\x13\xdd\x1f\xc7\xc3\x05\x8d\x84\x0e\xab\xe7\x38\xda\x39\xc9\xd9\xcc\x48\xf9\xcf\x94\x3f\xc8\xc4\x54\xa1\x49\x1e\x1d\x39\xbf\x74\xf5\x0e\xd7\xd2\xeb\x66\x5d\x4c\x62\x8b\xd1\x00\x40\xcb\x8a\x88\xfd\xf7\xcf\x56\x41\x24\x0c\x6f\x77\xe6\x28\xdc\xb3\x57\x52\x17\xa6\x05\x57\x17\xf8\xb4\x84\x35\x89\x47\x5c\xd8\x5e\x49\x53\x6f\x85\x86\x1b\xb5\x89\x4d\x36\xaf\x00\x00\x00\xff\xff\x95\x0d\x72\x27\xc1\x00\x00\x00" +var _scriptsPacknftPacknft_statusCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x8d\x3d\xcb\xc2\x40\x10\x84\xfb\xfb\x15\xf3\xa6\x4a\x9a\x54\x2f\x22\x82\xad\x90\x46\x44\xd4\x7e\x4d\x36\x70\x78\x5f\xec\xed\x91\x42\xfc\xef\xa2\x89\x82\xdd\x3c\x3c\xcc\x8c\xf5\x29\x8a\xe2\x40\xfd\x6d\xbf\x3b\x61\x94\xe8\x51\x2d\x54\x99\xc5\x76\xbf\xba\xfb\x7a\x43\x7d\xcf\x39\xd7\xe4\x5c\x83\xb1\x04\x78\xb2\xa1\xb6\xc3\x06\xe7\x2e\xe8\xea\xbf\x99\xc3\x1a\x77\x03\x00\x8e\x15\x09\xdb\xcf\x5b\x7b\x8d\x22\x71\x7a\xd1\x91\x93\x70\xe6\xa0\xa4\x36\xce\x0b\x76\x68\xde\x25\x61\x2d\x12\x90\xfe\xda\xac\xa4\x25\xb7\x42\xd3\x85\x5c\x61\xf3\x30\xcf\x00\x00\x00\xff\xff\xa3\xd5\x19\xf5\xbe\x00\x00\x00" func scriptsPacknftPacknft_statusCdcBytes() ([]byte, error) { return bindataRead( @@ -288,11 +316,11 @@ func scriptsPacknftPacknft_statusCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/packNFT/packNFT_status.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf0, 0xf, 0xa2, 0x2d, 0x9b, 0x94, 0x9b, 0x54, 0xc1, 0x69, 0x79, 0x5b, 0x37, 0x5e, 0x2, 0x99, 0x34, 0xeb, 0xfd, 0xbc, 0xfc, 0xd1, 0x74, 0x7c, 0xcd, 0x19, 0x57, 0x29, 0x8e, 0x74, 0x20, 0xeb}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPacknftPacknft_total_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xca\xcc\x2d\xc8\x2f\x2a\x51\x08\x48\x4c\xce\xf6\x73\x0b\x51\x48\x2b\xca\xcf\x55\x30\xa8\xa8\xae\xd6\x83\x8a\xd4\xd6\x72\x71\x15\x94\x26\x29\xa4\x95\xe6\x29\xe4\x26\x66\xe6\x69\x68\x5a\x29\x84\x7a\xe6\x95\x98\x99\x54\x73\x29\x28\x28\x28\x14\xa5\x96\x94\x16\xe5\xc1\xf4\xeb\x95\xe4\x97\x24\xe6\x04\x97\x16\x14\xe4\x54\x2a\x70\xd5\x72\x01\x02\x00\x00\xff\xff\x5a\xf8\x6a\xef\x5e\x00\x00\x00" +var _scriptsPacknftPacknft_total_supplyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xca\xcc\x2d\xc8\x2f\x2a\x51\x08\x48\x4c\xce\xf6\x73\x0b\x51\x48\x2b\xca\xcf\x55\x50\x82\xf2\x94\xb8\xb8\x12\x93\x93\x53\x8b\x8b\x35\x12\x73\x72\x34\x15\xd2\x4a\xf3\x14\x72\x13\x33\xf3\x34\x34\xad\x14\x42\x3d\xf3\x4a\xcc\x4c\xaa\xb9\x14\x14\x14\x14\x8a\x52\x4b\x4a\x8b\xf2\x60\x46\xe8\x95\xe4\x97\x24\xe6\x04\x97\x16\x14\xe4\x54\x72\xd5\x72\x01\x02\x00\x00\xff\xff\x32\x2c\xbc\xd2\x60\x00\x00\x00" func scriptsPacknftPacknft_total_supplyCdcBytes() ([]byte, error) { return bindataRead( @@ -308,11 +336,11 @@ func scriptsPacknftPacknft_total_supplyCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/packNFT/packNFT_total_supply.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0xee, 0x9b, 0x1e, 0xf4, 0x37, 0x4, 0xac, 0xeb, 0x98, 0xbc, 0x78, 0xfa, 0x2d, 0xbf, 0x68, 0x1d, 0x47, 0xfe, 0x14, 0x56, 0x80, 0x3d, 0xc8, 0x4e, 0x60, 0x2b, 0xdf, 0x54, 0x15, 0xf8, 0x13}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPacknftVerifyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8e\xb9\x0a\xc2\x40\x10\x86\xfb\x7d\x8a\xdf\x2e\x01\x09\x16\x62\x11\xb0\xb1\x10\xd2\x88\x78\x3c\x40\x62\x76\x65\x31\x99\x59\xc6\x89\x07\x21\xef\x2e\x9a\x78\x80\xd5\x1c\x7c\xff\xe1\xeb\xc0\xa2\x58\xe7\x87\xd3\x6a\xb9\x83\x13\xae\x31\xb9\xb5\x6d\x32\x7c\xba\xce\x0c\x48\xf6\xcf\x64\x5f\xc8\x84\xa6\x80\x6b\x08\x75\xee\x29\xf2\x65\x8a\x7d\x46\x3a\x9b\x8e\x41\x4e\xb7\x2a\x9e\x8e\x29\xfa\x19\xa7\x58\x30\x57\x68\x0d\x00\x54\x56\x11\x30\x7f\x37\x48\x0a\x16\xe1\xeb\xf3\xda\xd8\x20\xf6\x6c\x49\x73\xf5\xdc\x7b\xfa\x32\xc6\x4b\x25\x56\x1b\x21\x84\x51\x72\xb1\xe2\xdd\x3d\xfa\x49\xf9\xac\xb1\xe9\xcc\x23\x00\x00\xff\xff\xf3\x69\x73\x98\xe0\x00\x00\x00" +var _scriptsPacknftVerifyCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x8d\xcd\xaa\xc2\x30\x10\x46\xf7\x79\x8a\xef\x76\xd5\xc0\xa5\x2b\x71\x51\x70\xe3\x42\xe8\x46\xc4\x9f\x07\x88\x6d\x22\xc1\x34\x13\xa6\x53\x45\xc4\x77\x17\x6d\x2d\xba\x9a\x39\x1c\x66\x8e\x6f\x13\xb1\x60\x63\xea\xf3\x7a\xb5\x87\x63\x6a\x91\x8d\x94\xa9\xd1\x56\xbf\xba\x9a\xbc\x32\x75\x6d\xbb\x2e\x37\x21\x68\xb8\x3e\xa2\x35\x3e\xe6\xbe\x29\x71\xa8\xa2\xcc\x67\xff\x88\x4e\x76\xc2\x3e\x9e\x4a\x0c\x53\x97\x58\x12\x05\xdc\x15\x00\x04\x2b\x48\x58\x7c\xfa\xc5\x91\x98\xe9\xfa\xa2\xad\x4d\x6c\x3b\x1b\xc5\x88\xa7\xe1\xa7\x6f\xf4\xfb\x88\xad\xf4\x1c\x91\xfe\x8a\x8b\x65\xef\x6e\xf9\x57\x64\x5a\xb5\x7a\xa8\x67\x00\x00\x00\xff\xff\x9f\x1c\x1c\xab\xdd\x00\x00\x00" func scriptsPacknftVerifyCdcBytes() ([]byte, error) { return bindataRead( @@ -328,11 +356,11 @@ func scriptsPacknftVerifyCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/packNFT/verify.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x84, 0xfc, 0x9a, 0x12, 0x33, 0xfb, 0xb, 0x39, 0xf, 0x52, 0x64, 0xc6, 0xa1, 0x4c, 0x55, 0x99, 0x94, 0x20, 0x64, 0x7c, 0x35, 0xa9, 0x5d, 0x85, 0xad, 0x1f, 0x2d, 0x3d, 0x36, 0x88, 0xcf, 0xf3}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPdsGet_dist_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x3c\xcc\xb1\xaa\x03\x21\x10\x46\xe1\x7e\x9e\xe2\xbf\xdd\xdd\x46\x52\x84\x14\xd6\x36\xdb\x2d\x48\x1e\xc0\xa0\x2e\x16\x8e\xcb\x64\x84\x80\xf8\xee\x61\x59\x48\x75\xaa\xef\x94\x7a\x34\x51\x6c\xce\x23\x4b\xab\xb8\x7d\xc6\x30\x9b\xf3\x73\x12\x1d\xfd\x85\xdc\x19\x35\x14\xfe\x8f\xe5\xad\x6b\xb4\x78\xae\xac\x8f\xfb\x62\x31\xbc\x4a\xe1\xdd\xe2\xea\xc4\x20\x00\x90\xa4\x5d\xf8\x1c\x9a\x3d\xa9\x3b\x15\xe7\xf6\xe3\x57\x97\x3f\x53\x93\x86\x18\x34\xd0\xa4\x6f\x00\x00\x00\xff\xff\xea\x18\x05\xe3\x84\x00\x00\x00" +var _scriptsPdsGet_dist_metadataCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x3c\xcc\xb1\xaa\x84\x30\x10\x46\xe1\x3e\x4f\xf1\x5f\x2b\xd3\x58\x5d\xb6\x48\x9d\xc6\x4e\x08\xfb\x00\x83\x49\x24\x60\x26\xcb\x64\xac\xc4\x77\x5f\x44\xd8\xea\x54\xdf\x29\xf5\xd3\x44\xb1\xf8\x80\x2c\xad\x62\x58\x7c\x18\x8c\xa1\x75\x4d\xbd\x8f\xb4\xef\x16\xf9\x60\x54\x2a\x3c\xc6\xd2\x75\x8e\x0e\xef\x99\xf5\xf5\x6f\x1d\xce\xa0\x52\x78\x73\x78\x7a\xe1\x34\x00\x20\x49\x0f\xe1\xfb\x39\x6d\x49\xfd\xad\x38\xb7\x1f\x7f\x6a\xff\xa6\x9a\x94\x22\x29\x99\xcb\x7c\x03\x00\x00\xff\xff\x93\x62\x3a\x8d\x87\x00\x00\x00" func scriptsPdsGet_dist_metadataCdcBytes() ([]byte, error) { return bindataRead( @@ -348,11 +376,11 @@ func scriptsPdsGet_dist_metadataCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/pds/get_dist_metadata.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x8d, 0x4e, 0x78, 0x99, 0xe8, 0xe4, 0x49, 0xff, 0xd4, 0xcb, 0x2a, 0x23, 0xc, 0xd4, 0x8d, 0x32, 0xa5, 0xf9, 0x38, 0x1e, 0xad, 0xd7, 0x9b, 0x37, 0x4c, 0x86, 0x4f, 0x25, 0xcf, 0xf4, 0x80}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPdsGet_dist_stateCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xca\xcc\x2d\xc8\x2f\x2a\x51\x08\x70\x09\x56\x48\x2b\xca\xcf\x55\x30\xa8\xa8\xae\xd6\x0b\x70\x09\xae\xad\xe5\xe2\x2a\x28\x4d\x52\x48\x2b\xcd\x53\xc8\x4d\xcc\xcc\xd3\x48\xc9\x2c\x2e\xf1\x4c\xb1\x52\x08\xf5\xcc\x2b\x31\x33\xd1\x84\x30\x2c\x14\xaa\xb9\x14\x14\x14\x14\x8a\x52\x4b\x4a\x8b\xf2\x40\xa6\xe8\xa5\xa7\x96\xb8\x80\x94\xe6\xa5\xe5\xc3\xf5\x40\x68\x4d\x45\xbd\xe2\x92\xc4\x92\x54\xbd\xa2\xc4\xf2\xb0\xc4\x9c\xd2\x54\xae\x5a\x2e\x40\x00\x00\x00\xff\xff\x4a\x00\x8f\xcb\x7f\x00\x00\x00" +var _scriptsPdsGet_dist_stateCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xca\xcc\x2d\xc8\x2f\x2a\x51\x08\x70\x09\x56\x48\x2b\xca\xcf\x55\x50\x0a\x70\x09\x56\xe2\xe2\x4a\x4c\x4e\x4e\x2d\x2e\xd6\x48\xcc\xc9\xd1\x54\x48\x2b\xcd\x53\xc8\x4d\xcc\xcc\xd3\x48\xc9\x2c\x2e\xf1\x4c\xb1\x52\x08\xf5\xcc\x2b\x31\x33\xd1\x84\x30\x2c\x14\xaa\xb9\x14\x14\x14\x14\x8a\x52\x4b\x4a\x8b\xf2\x40\x06\xe9\xa5\xa7\x96\xb8\x80\x94\xe6\xa5\xe5\xc3\xf5\x40\x68\x4d\x45\xbd\xe2\x92\xc4\x92\x54\xbd\xa2\xc4\xf2\xb0\xc4\x9c\xd2\x54\xae\x5a\x2e\x40\x00\x00\x00\xff\xff\xd8\x80\x14\x24\x82\x00\x00\x00" func scriptsPdsGet_dist_stateCdcBytes() ([]byte, error) { return bindataRead( @@ -368,11 +396,11 @@ func scriptsPdsGet_dist_stateCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/pds/get_dist_state.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8a, 0x53, 0x46, 0x10, 0x22, 0x92, 0x21, 0x95, 0x4, 0x6e, 0xc6, 0xcd, 0x22, 0x1e, 0x64, 0x7, 0xe6, 0xa8, 0x8e, 0xdd, 0x29, 0xa2, 0xeb, 0x88, 0xcc, 0xc1, 0x6f, 0xb7, 0xaf, 0x99, 0x80, 0xfa}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPdsGet_dist_titleCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xca\xcc\x2d\xc8\x2f\x2a\x51\x08\x70\x09\x56\x48\x2b\xca\xcf\x55\x30\xa8\xa8\xae\xd6\x0b\x70\x09\xae\xad\xe5\xe2\x2a\x28\x4d\x52\x48\x2b\xcd\x53\xc8\x4d\xcc\xcc\xd3\x48\xc9\x2c\x2e\xf1\x4c\xb1\x52\x08\xf5\xcc\x2b\x31\x33\xd1\xb4\x52\x08\x2e\x29\xca\xcc\x4b\x57\xa8\xe6\x52\x50\x50\x50\x28\x4a\x2d\x29\x2d\xca\x03\x19\xa3\x97\x9e\x5a\xe2\x02\x52\x9b\x97\x96\x0f\xd7\x04\xa1\x35\x15\xf5\x4a\x32\x4b\x72\x52\xb9\x6a\xb9\x00\x01\x00\x00\xff\xff\x5b\x6b\xd0\x2a\x77\x00\x00\x00" +var _scriptsPdsGet_dist_titleCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x3c\x8c\xb1\x0a\xc3\x30\x0c\x05\x77\x7d\xc5\x6b\xa6\x78\xc9\x54\x3a\x64\xf6\x92\x2d\x60\xfa\x01\x26\xb1\x83\xc0\x96\x8b\xac\x4c\xa5\xff\x5e\x42\xa1\xd3\x2d\x77\xc7\xf5\xd5\xd4\xb0\xfa\x80\xac\xad\x62\x58\x7d\x18\x88\xe2\xb6\xa5\xde\xc7\x58\x8a\x43\x3e\x05\x35\xb2\x8c\x3b\x77\x5b\xf6\x19\xcf\x45\xec\x71\x77\x33\x82\x29\xcb\x81\x37\x01\x80\x26\x3b\x55\xae\xd3\x74\x24\xf3\x97\x2b\xb9\xfd\xa3\x1f\xdd\x6d\x32\xb6\x92\xe8\x43\xdf\x00\x00\x00\xff\xff\xe9\xc4\x78\xd1\x7a\x00\x00\x00" func scriptsPdsGet_dist_titleCdcBytes() ([]byte, error) { return bindataRead( @@ -388,11 +416,11 @@ func scriptsPdsGet_dist_titleCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/pds/get_dist_title.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xe, 0x3c, 0x52, 0xbd, 0xc9, 0x8b, 0xd1, 0x42, 0x5, 0x7d, 0x8b, 0xdb, 0x92, 0x5b, 0xd8, 0x1a, 0x9a, 0x58, 0x5e, 0x73, 0xa1, 0xd3, 0x27, 0x95, 0x49, 0x2f, 0x3f, 0x13, 0x92, 0xbf, 0xca}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _scriptsPdsGet_next_dist_idCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xca\xcc\x2d\xc8\x2f\x2a\x51\x08\x70\x09\x56\x48\x2b\xca\xcf\x55\x30\xa8\xa8\xae\xd6\x0b\x70\x09\xae\xad\xe5\xe2\x2a\x28\x4d\x52\x48\x2b\xcd\x53\xc8\x4d\xcc\xcc\xd3\xd0\xb4\x52\x08\xf5\xcc\x2b\x31\x33\x51\xa8\xe6\x52\x50\x50\x50\x28\x4a\x2d\x29\x2d\xca\x03\x69\xd4\xcb\x4b\xad\x28\x71\xc9\x2c\x2e\xf1\x4c\xe1\xaa\xe5\x02\x04\x00\x00\xff\xff\x31\x2a\x67\x90\x51\x00\x00\x00" +var _scriptsPdsGet_next_dist_idCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xca\xcc\x2d\xc8\x2f\x2a\x51\x08\x70\x09\x56\x48\x2b\xca\xcf\x55\x50\x0a\x70\x09\x56\xe2\xe2\x4a\x4c\x4e\x4e\x2d\x2e\xd6\x48\xcc\xc9\xd1\x54\x48\x2b\xcd\x53\xc8\x4d\xcc\xcc\xd3\xd0\xb4\x52\x08\xf5\xcc\x2b\x31\x33\x51\xa8\xe6\x52\x50\x50\x50\x28\x4a\x2d\x29\x2d\xca\x03\xe9\xd5\xcb\x4b\xad\x28\x71\xc9\x2c\x2e\xf1\x4c\xe1\xaa\xe5\x02\x04\x00\x00\xff\xff\x1e\xe2\xcc\x6a\x54\x00\x00\x00" func scriptsPdsGet_next_dist_idCdcBytes() ([]byte, error) { return bindataRead( @@ -408,11 +436,11 @@ func scriptsPdsGet_next_dist_idCdc() (*asset, error) { } info := bindataFileInfo{name: "scripts/pds/get_next_dist_id.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0xdd, 0xcb, 0x6, 0x14, 0x9b, 0x11, 0xc8, 0xf5, 0x99, 0x7d, 0x4d, 0x4c, 0x9c, 0x46, 0x79, 0x53, 0x30, 0xb4, 0x73, 0xb, 0xa5, 0xe6, 0xad, 0x66, 0xde, 0x4b, 0x8e, 0x2d, 0xed, 0x89, 0xcb}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsCollectiblenftMintCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x52\x4d\x8b\xdb\x30\x10\xbd\xeb\x57\xcc\x5e\x8a\x4d\x8b\x77\x7b\x35\xbb\x0b\x61\xc1\xd0\x43\xcd\x42\xdc\x1f\x20\x2b\x13\x7b\xa8\x2c\x19\x69\x9c\xa4\x35\xfa\xef\xc5\x1f\x71\x9c\x84\x50\x5d\x04\xf3\xe6\x69\xde\x7b\x1a\x6a\x5a\xeb\x18\x72\x6b\xb2\xce\x54\x54\x6a\x2c\xec\x6f\x34\xb0\x77\xb6\x81\x97\x53\xdf\x27\xb7\x50\x08\x62\x26\xf5\x7d\xf2\x61\xb5\x46\xc5\x03\x98\x67\x45\x2e\x1b\x0c\x61\xc5\xbd\x86\x37\xbb\x9d\x43\xef\x43\x10\xe2\xf9\x19\x7e\x79\xdc\xc1\xde\x3a\x60\xf4\x4c\xa6\x82\xb6\x73\xad\xf5\xe8\x85\x60\x27\x8d\x97\x8a\xc9\x9a\xc8\xa1\xa2\x96\xd0\x70\x0a\x33\xff\x1b\x94\x92\x55\xbd\xa5\xbf\x98\xc2\x0f\xc3\x31\xf4\x42\x00\x00\x68\x64\x68\xc8\x30\xba\x14\xbe\x3c\x10\x97\xe4\x59\xf1\x73\xec\x99\x38\xad\xc3\x56\x3a\x8c\x3c\x55\x66\xe0\x6d\x3a\xae\x37\x4a\xd9\x6e\x7a\x17\xe6\xe3\x51\xef\x93\xe9\x6d\x78\x83\xa9\x79\x01\x87\x93\x94\xd6\x39\x7b\x7c\xfd\xff\xdc\xf7\x68\xc8\x27\x7d\x94\x5e\x32\x75\x6d\xd9\x3a\x59\xe1\xa7\xe4\x3a\x7e\x1a\x27\x85\x49\x30\x9e\x50\x75\x8c\x2b\x6d\x83\x6d\x87\x0a\xe9\x30\x8a\xab\x90\x67\x03\x97\xec\xe2\x6b\xad\x15\xf2\x87\x6c\x65\x49\x9a\xf8\x4f\xf4\x48\xc8\xb9\x68\xcd\x67\x57\x6a\x52\x2b\x2d\xf7\xae\x6f\xb7\xe4\x8e\x1d\xde\xa3\xf8\x49\x2c\xec\x83\x74\x40\xf0\x06\x2f\x4b\xe5\x58\x93\x46\x20\x78\xbd\x7c\xef\xca\xe4\xcd\x27\x8c\x57\x9e\x15\xeb\xf5\x38\x67\x70\x6d\x76\x18\x42\xf0\x15\xbe\x2f\xd5\x30\xc7\x19\xc4\xbf\x00\x00\x00\xff\xff\x03\x27\xac\xfe\xfd\x02\x00\x00" +var _transactionsCollectiblenftMintCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x54\xcb\x6e\xdb\x30\x10\xbc\xeb\x2b\xb6\x3a\x24\x16\x9a\xca\xed\x55\xb0\x13\xa4\x6e\x0d\xf4\x10\xa3\x70\xdc\x5c\x8a\x1e\x56\xd4\xda\x66\x4b\x93\x04\xb9\xb2\x93\x06\xf9\xf7\x82\x92\xa2\x87\xe3\x34\x3c\x24\x10\x39\x9c\xdd\x99\x1d\x5a\xee\xac\x71\x0c\x0b\xa3\xe7\xa5\xde\xc8\x5c\xd1\xca\xfc\x21\x0d\x6b\x67\x76\x10\x1f\x6f\xc7\x51\x83\xff\x7a\x8f\x3b\xab\x68\x31\x5f\x35\xc8\x6e\xa3\xc5\xdc\x10\x63\x81\x8c\x77\x92\x0e\xbe\x81\x0d\xf6\xe2\x28\x8a\xc6\x63\xf8\xe1\xa9\x80\xb5\x71\xc0\xe4\x59\xea\x0d\xd8\xd2\x59\xe3\xc9\x47\x11\x3b\xd4\x1e\x05\x4b\xa3\x47\x8e\x84\xb4\x92\x34\x67\x70\x5d\x14\x8e\xbc\xbf\x80\x1c\x59\x6c\x6f\xe5\x5f\xca\xe0\x9b\xe6\x04\x1e\xa3\x08\x00\x60\x3c\x1e\x83\x32\x02\x15\xec\xd1\x49\xcc\x15\x55\xfc\x9e\x8d\x0b\xfc\xbc\x25\xd8\x49\xcd\xe4\xc0\xd1\x9a\x1c\x69\x41\xd5\x3d\x45\xdc\x1c\x64\x70\xd6\x29\x4a\x17\xf3\xd5\x4d\xb5\xdd\xd1\x2f\x9f\x2f\x02\x9b\x8a\xd0\x91\x20\xb9\x27\x77\xee\x41\x18\xa5\xa8\x6a\xba\x65\x6d\x9b\x9f\xb5\x67\x4b\x5a\x67\x70\xf6\x78\x6c\x71\xba\x6c\x88\x9e\xea\x62\xd6\x91\x45\x47\x23\x2f\x37\x3a\xf4\x85\x25\x6f\x47\x9f\x8d\x73\xe6\x70\x87\xaa\xa4\x04\xce\xae\x85\x30\x65\x2d\x1f\x9a\x15\x6a\x76\x6d\x7c\x41\x46\x98\xf6\x86\x96\x3a\xf2\x46\xed\x69\x66\x34\x3b\x14\x1c\xc6\x31\x6a\x2f\x87\x15\x00\xa5\x13\xb4\x7a\xb0\x94\x81\x96\xea\x02\xf6\x92\x0e\xf5\x67\xf8\x3b\x19\x8c\x32\x58\x34\x1b\xd4\xbb\x1c\x25\x09\xa0\x7f\x07\x6f\xe0\xae\x06\x65\xaf\xae\xc0\xa2\x96\x62\x14\x07\xf8\xb2\xee\xd2\x41\x61\xc8\x83\x36\x0c\x4d\xdf\xf0\x82\xa6\xea\x2e\x4e\xa2\x96\x6d\x3c\x86\xbc\x72\x09\xb0\x9b\xf2\xf3\xb0\xda\x81\xb6\x3a\x41\xea\x2a\x1f\xb8\xa1\x96\xc2\x93\x5a\xa7\x4d\x50\xa6\x50\x0f\x20\x6d\x40\x69\x4d\x3e\x39\x19\x93\xcb\x51\x48\x7b\xd6\x37\xbc\x3e\xb8\xad\x2f\x7f\x47\xde\x26\xaf\xe8\x6e\x86\xd9\x49\x0e\x05\x09\x50\x83\xc9\x7f\x93\x60\x40\xae\x24\x78\x4b\x42\xae\x25\x15\x60\x91\xb7\x47\xca\xeb\x7c\x3c\xe7\xb2\x4e\xde\xb9\x07\x5b\xe6\x4a\x8a\xa0\xbe\x17\x8e\xa3\x37\xd0\x0a\x3f\x1d\x59\x98\xc2\x86\xb8\x69\xb2\x7b\x93\x49\x2a\xd0\x62\x2e\x95\x64\x49\xbe\x35\xe7\x3f\xe9\xbe\x1c\xe6\x2d\xac\x61\x60\xd3\xba\xdb\xe0\xd5\x00\x99\xf4\xcc\x9a\x99\x52\x15\x95\x4b\x9b\xfa\x91\x55\xdc\x27\xe7\x0d\x9d\x8c\xb8\xf6\xbe\x79\x60\x74\x4f\xa2\x64\xea\x3d\x9e\x3d\x3a\x90\x30\x85\x8f\xed\xce\x61\x2b\x15\x81\x84\x49\xf7\x8b\xd3\xc3\xbf\x61\x59\x5a\x90\x35\x5e\xf2\x4b\xc1\x1c\x2c\xc9\x60\xf2\xa1\x97\xb4\xea\xdf\x62\xbe\x7a\x89\x0e\x4b\xe3\x8e\x32\x88\xe3\x8b\x93\xa7\x05\x79\xe1\xa4\x0d\x75\x5f\x07\xf1\xb6\xdc\xe5\x1a\xa5\x7a\x1d\xe2\xcc\x03\xaa\x30\xc8\x0c\x7e\xfe\x6a\x11\xc3\xc4\x0e\xbf\x82\x5d\x12\xde\xc3\xa7\x76\xf7\xa9\xf1\xf8\x29\xfa\x17\x00\x00\xff\xff\x38\x63\x79\xff\x63\x06\x00\x00" func transactionsCollectiblenftMintCdcBytes() ([]byte, error) { return bindataRead( @@ -428,11 +456,11 @@ func transactionsCollectiblenftMintCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/collectibleNFT/mint.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfb, 0x7c, 0xcb, 0xc7, 0xed, 0x4f, 0x51, 0xae, 0xa0, 0xb4, 0x5c, 0x4f, 0xf9, 0xe6, 0x22, 0xbe, 0x6c, 0xcf, 0xaf, 0x69, 0xe9, 0xfc, 0xb2, 0x42, 0x46, 0x99, 0x5f, 0xc0, 0x1a, 0x64, 0xf8, 0x14}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsCollectiblenftSetup_collection_and_link_providerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x94\x51\x6b\xa3\x40\x10\xc7\xdf\xfd\x14\x73\x7d\x08\x0a\xa9\xbd\xe7\x9c\x0d\x84\x72\x79\x3a\x42\xa0\xf9\x02\x9b\x75\xa2\x4b\x74\x57\xc6\x31\xb9\x20\xfb\xdd\x8f\x8d\xd6\xae\x39\xec\x35\x70\x34\x0f\x01\x9d\xff\xce\xfc\x7f\x33\x3b\xaa\xb2\x32\xc4\xb0\x31\x7a\xdd\xe8\x4c\xed\x0b\xdc\x99\x23\x6a\x38\x90\x29\xe1\xfb\xef\xb6\x8d\x6f\x43\xd6\x06\xfd\xa1\xb6\x8d\x5f\x4c\x51\xa0\x64\x17\xdc\xac\x77\x1b\x51\xa2\xb5\xde\xd9\x71\x78\x95\xa6\x84\x75\x6d\x6d\x10\x30\x09\x5d\x0b\xc9\xca\x68\x08\x37\xeb\xdd\x96\xcc\x49\xa5\x48\x5b\xc1\xf9\x02\xb6\xa4\x4e\x82\xd1\x3d\x44\xd0\x06\x00\x00\x15\x61\x25\x08\xc3\x5a\x65\x1a\x69\x01\xab\x86\xf3\x95\x94\xa6\xd1\xfc\x26\x71\xbf\xa7\x27\x78\x45\x6e\x2a\xe0\x1c\x41\xf6\xd5\x8d\x9e\x83\x3a\x80\x36\x0c\xa2\x20\x14\xe9\x65\xd0\xab\x03\x74\x19\xe3\xbd\x21\x32\xe7\x64\x36\x01\x35\xbc\x34\x7a\x19\x3a\xc0\xc5\x14\xbe\xa7\x7c\x65\x43\x22\xeb\x39\x9e\x9f\x41\xab\xc2\xf3\x7a\x75\x2b\x09\x05\x23\x08\xd0\x78\x06\x2c\x2b\xbe\x78\xb6\x3d\x69\x81\xec\x05\x20\x79\x9c\x2c\xdf\x65\xfc\xe9\x52\xbd\x3b\x09\xa3\x60\x5c\xb7\x16\x27\x04\xc5\xc0\xe6\xda\x2a\xd1\xb5\xd2\xd3\xf4\x6d\x71\xba\x30\x79\xf4\x5b\xc9\xe6\x5e\xf6\x60\x82\xb9\x6a\xf6\x85\x92\x20\x45\x25\xf6\xaa\x50\x7c\x81\x83\xa1\x9b\xd1\xfd\x6d\xa9\x50\xfa\x98\xcc\x6e\xaf\xa5\x57\xba\xfd\x20\xb6\xbd\x96\xb4\xcb\xf0\xdf\x04\x9d\xd4\x01\xcc\x81\x05\x65\xc8\x77\x73\xbf\x7b\x17\x75\x8d\xc4\xfd\xf5\x8d\x33\xe4\x97\x01\x3a\x99\xfd\x77\xc3\x51\x2c\x73\x94\xc7\x30\x9a\x43\x89\x75\x2d\x32\x5c\xc0\x43\xaa\xd2\xeb\x0e\xb8\xfe\x79\xad\x7f\x88\x7e\x0c\x3e\x6d\xe0\x6f\xd2\x2f\x27\x74\xd3\xa8\xba\x7d\x84\xb3\xe2\x3c\x25\x71\xf6\x26\xf6\xd1\x66\x7d\xfb\x2c\xed\xdb\xf6\xdb\xe5\xed\xb7\x60\x00\x19\xed\xcd\xe8\x22\xdc\x93\xee\xeb\x07\xf9\x09\xb4\xc9\x19\xf9\xed\x1e\x4f\xa9\xfb\xb7\xc1\x9f\x00\x00\x00\xff\xff\xb9\xe6\xe2\x78\xbe\x05\x00\x00" +var _transactionsCollectiblenftSetup_collection_and_link_providerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x93\x41\x6f\xda\x40\x10\x85\xef\xfe\x15\x2f\x1c\x22\x5b\x72\xc8\x3d\x22\x49\x5b\x37\x48\x3d\x14\x45\x09\xcd\x7d\x70\x86\xb0\xea\xb2\x6b\xed\x8e\xa1\x28\xe2\xbf\x57\x6b\x1b\x63\x1b\x4a\xf7\x80\xc4\xf8\xed\xcc\x37\x6f\x66\xd5\xba\xb0\x4e\x30\xb3\x66\x5a\x9a\x0f\xb5\xd0\x3c\xb7\xbf\xd9\x60\xe9\xec\x1a\xa3\x61\x78\x14\x35\xfa\xa7\x3f\xb4\x2e\x34\xcf\xa6\xf3\x46\x79\x0c\xb4\x9a\x9f\x2c\xf4\x4e\x42\x6f\x8a\xb7\xbe\x91\xf5\x62\xa3\x28\x12\x47\xc6\x53\x2e\xca\x1a\x7c\x46\x11\x00\x14\x8e\x0b\x72\x1c\x7b\xf5\x61\xd8\xdd\x81\x4a\x59\xc5\xdf\xac\x73\x76\xfb\x46\xba\xe4\x14\x3f\xbc\x2f\xf9\x55\xac\xa3\x0f\xce\xa8\xa0\x85\xd2\x4a\x76\x99\x35\xe2\xac\xd6\xec\x52\x3c\x97\x0b\xad\xfc\xea\xf8\x31\xc5\x2b\x6d\xb8\xb9\xff\xcb\x14\xc3\xef\x09\xae\xbf\xe6\xb9\x2d\x8d\x24\xf8\xac\x30\xc2\xd1\x2c\xc8\x43\xca\x0a\xf0\x3b\x09\xe1\xbe\xd3\xfa\xd8\xb1\xb7\x7a\xc3\x55\x65\xca\x25\x34\x15\x87\x58\xe9\x72\x9e\xef\x0a\xbe\x83\x51\x3a\xc5\x46\xf1\xb6\xfe\x1b\x7e\x27\x3d\x0f\xc6\xb3\xe9\x3c\xeb\x95\x78\x88\x93\x04\xe4\xaf\xf0\x1f\xdd\x63\x8b\x19\xce\xe3\x23\x0a\x32\x2a\x8f\x47\x41\xfe\x52\x83\x39\xbc\x5b\xf6\x30\x56\xd0\xa0\xe2\x24\x4d\x45\x37\x4a\xa2\x36\xdb\xed\x2d\x5e\x58\x4a\x67\xc0\xe4\xf4\x0e\x6a\x09\x59\x31\xa8\xb6\x07\xa4\x1d\xd3\xfb\x0e\x2b\xf2\xa0\x8e\x3b\xed\x7d\xb5\x44\x3d\xba\xb1\xaf\x47\x34\x5e\x54\xc3\x9b\x5c\x77\x9c\x3b\x32\x3c\xc4\x61\x33\xee\x06\x3e\x1f\xee\x3e\x93\xac\x12\x5c\xdd\x07\x23\x3b\x83\x09\xc7\x55\x90\x6d\x68\xdf\xeb\x20\x73\x4c\xc2\x20\x18\xde\x82\xd7\x85\xec\xce\xa1\xf6\xe7\x8b\xc9\x4d\x77\xb8\x79\x95\xe2\x29\xdc\x3d\xd2\xc6\x66\x29\x9d\x51\x7e\xe9\xe8\x67\xd3\x79\x18\x5d\x0f\xc3\xd3\x86\xa1\x04\x62\xbb\x1e\xb6\x8a\x81\x4f\x41\x1d\x4f\x6e\x8e\x44\x29\xc4\x5e\x74\xa6\x57\x2c\x3f\xf4\x5c\x6d\x77\x8e\xbc\xdd\x6e\x2c\xad\xab\x00\xce\x78\xd0\x30\xb4\x62\xc5\x7e\x5c\x1e\x1e\x48\x3c\xa8\x5d\x67\xae\x4b\x9f\x37\x31\xa3\x02\xf7\x67\x93\x1e\xba\x54\xe1\xf5\xfe\x73\x19\x2e\x35\x7b\x09\xf9\x14\x38\xa3\x22\x05\xc9\x89\x7f\xc3\x1e\xf6\xd1\x3e\xfa\x1b\x00\x00\xff\xff\x2c\x37\xe4\x48\x06\x05\x00\x00" func transactionsCollectiblenftSetup_collection_and_link_providerCdcBytes() ([]byte, error) { return bindataRead( @@ -448,7 +476,7 @@ func transactionsCollectiblenftSetup_collection_and_link_providerCdc() (*asset, } info := bindataFileInfo{name: "transactions/collectibleNFT/setup_collection_and_link_provider.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd2, 0x4f, 0x11, 0x3b, 0xab, 0xe6, 0x6, 0x53, 0x37, 0xa5, 0x7d, 0x77, 0xa, 0xc4, 0x48, 0x9c, 0xdc, 0x44, 0x2e, 0xf9, 0xce, 0xae, 0x40, 0x1e, 0xcf, 0xb, 0x2d, 0x28, 0x36, 0x94, 0x1d}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -468,7 +496,7 @@ func transactionsDappersportLink_providercap_dappersportCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/dapperSport/link_providerCap_dapperSport.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcc, 0x61, 0x2, 0x7a, 0xfc, 0x62, 0x98, 0x90, 0xa2, 0xd5, 0x32, 0xbb, 0x1f, 0x5b, 0x12, 0xcb, 0xea, 0x78, 0xe2, 0x7c, 0xd4, 0x91, 0x70, 0x3f, 0xc2, 0x76, 0x95, 0xcc, 0x88, 0x31, 0x87, 0x7a}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -488,11 +516,11 @@ func transactionsDappersportSetup_dappersportCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/dapperSport/setup_dapperSport.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc6, 0xfc, 0xd8, 0x0, 0xe3, 0xf6, 0x59, 0x76, 0x1d, 0xc0, 0x9, 0x4d, 0x6a, 0x84, 0xbb, 0x2c, 0xf8, 0xae, 0xf1, 0x4d, 0x1d, 0xe0, 0x4b, 0x4c, 0x5e, 0x2b, 0xfc, 0x53, 0xde, 0xc5, 0x3c, 0x28}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsDeployDeployPacknftWithAuthCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x52\x4f\xeb\xe2\x40\x0c\xbd\xf7\x53\x04\x4f\x2d\x88\xbd\x0b\x1e\x44\x58\x76\x2f\x6e\x41\xef\x92\x6d\xb3\x6d\xd8\x71\xa6\xcc\xa4\xea\xb2\xf8\xdd\x97\xd6\xfe\xb3\x1d\xcb\x2f\x87\x71\x7c\x79\x2f\x99\x26\x2f\x8e\xe1\x5c\xb0\x03\xb1\xa8\x1d\xa6\xc2\x46\x3b\xc8\xa8\x54\xe6\xaf\x03\x84\xd4\x68\xb1\x98\x0a\xdc\x59\x0a\x60\xcd\x02\x68\x73\x17\xc4\x71\x30\x52\x84\x01\x00\xf4\xdc\x23\x5e\x69\x0b\x27\xb1\xac\xf3\x35\xb4\xa9\x6c\x80\x1a\xe4\x60\x94\xa2\x46\x7c\x12\x63\x31\xa7\x04\xa5\xa8\x29\xfd\x9f\x29\x2f\xa9\x7e\x29\x4e\x5f\xb4\xe1\x3e\x65\xfd\x48\x30\xfd\x73\xfc\x76\x5e\x62\xff\x2c\xc9\xa2\x18\xbb\xdc\xb9\x63\x25\x96\x6f\x6d\x1d\xcb\x37\x94\x11\xe5\x46\xd6\xb1\xd1\xc3\x97\x45\xf0\xaf\x49\x94\x96\x4a\xb4\x14\x9a\xbb\x26\xbb\x85\x7d\x25\xc5\x3e\x4d\x4d\xa5\xa5\x63\xd4\xa1\x48\x80\x1e\xec\x84\x75\x7e\xe8\x06\xbd\x83\x46\xb4\xe9\xa6\xe9\x36\x39\x49\xa8\x9b\x99\x8e\x27\x1c\x05\x7d\x1d\xfe\x0d\xe1\xbc\xce\x0e\x34\xab\x71\xbb\xa6\xa5\xc9\xc3\x95\x36\x7d\xa5\x55\xf4\x96\x9e\xb6\xc6\x2c\x0b\xdf\x08\x75\xcc\xdf\xd2\x6e\x79\x1c\xaf\x8d\xd7\xe7\x26\xa3\xfa\xe7\x3b\x3d\xc2\xc8\x43\xfc\x60\x04\x2f\xbc\x5e\x50\x8f\x17\xee\x43\x97\xb4\x3e\xd3\x2c\x65\xe7\xb5\xbc\x96\xf2\x80\x9f\x95\x83\xcd\xa6\xc8\x5c\xd3\xfb\xae\xbd\xbc\x33\x86\x95\x3e\x81\x94\x23\x9f\x05\x0a\x74\x5f\xf5\x40\x55\x66\x28\x74\xb9\xd0\xa3\x24\xcb\x57\xd2\x82\xca\xe3\xc7\xf5\x87\x95\x8f\x5e\x13\xbc\xce\x67\xf0\x3f\x00\x00\xff\xff\x74\xc9\x3d\xd5\x75\x04\x00\x00" +var _transactionsDeployDeployPacknftWithAuthCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x92\xc1\x6e\x83\x30\x0c\x86\xef\x3c\x85\xd5\xc3\x14\x24\x54\xee\x95\x7a\xa8\x2a\x4d\xdb\xa5\x43\x6a\xf7\x00\x1e\xf1\x20\x1a\x4b\x50\x62\xda\x4e\x53\xdf\x7d\x82\x02\xa5\x90\xa2\xe5\x90\x26\xf6\xe7\xdf\x25\xfe\xe3\x18\x0e\xb9\x72\xc0\x16\xb5\xc3\x94\x95\xd1\x0e\x24\x95\x85\xf9\x71\x80\x90\x1a\xcd\x16\x53\x86\x93\xe2\x1c\x94\x56\x0c\x68\x33\x17\xc4\x71\x30\xa8\x10\x01\x00\xf4\xec\x0e\xbf\x69\x05\x7b\xb6\x4a\x67\x51\x9b\x91\xa3\xc8\xd6\x14\x05\x35\xb5\x7b\x36\x16\x33\x4a\x90\xf3\x1a\xe9\x2f\x63\x2e\xa9\x3e\x0a\x95\x5e\xb1\xdb\x79\x4c\xbd\x26\x98\x7e\xed\x9e\x0f\x73\xf4\x5b\x49\x16\xd9\xd8\xf9\xce\x71\xdc\x83\x89\x55\xc7\x56\xca\xaa\x23\xf2\x80\x3a\x92\x75\xca\xe8\xdb\xc7\x85\xf0\xdb\x24\x4a\x4b\x25\x5a\x12\xe6\xa4\xc9\xae\x00\x2b\xce\xc5\x46\xca\x6d\xfb\x46\x11\xbc\x97\x12\x99\xba\x7b\x08\x4f\x9b\x34\x35\x95\xe6\x4e\xa0\x5e\x05\x31\xd0\x59\x39\x56\x3a\xeb\x48\x58\x43\xa3\xb9\xec\x9e\xdb\x2d\x33\x62\xa1\x9b\x47\x1f\x8e\x20\x0c\x7a\x1d\xf5\x09\x62\xaa\xb3\x06\xad\x8a\x61\xbb\xa6\xa5\xc9\xc4\x42\x9b\x5e\x69\x11\xde\xa5\xc7\xad\x51\x4a\x71\x07\xd4\x6b\xfa\x5f\xa2\x09\x73\xb5\x44\xbd\x2f\x25\xd5\x3f\x2f\x74\x16\xe1\x94\x7b\x60\x14\x6f\x78\xae\x7a\x68\x08\x5f\x74\xae\xd6\x67\xaa\xb9\xec\x54\xcb\x6b\x39\x4f\x70\x5a\xe9\xb5\xe1\x38\x32\x2d\xeb\x7d\xd9\x1e\xee\x89\xdb\x4c\x2f\x40\x85\x23\x9f\x07\x72\x74\xff\x35\x41\xd5\x58\xd9\x63\xc1\xe8\xc1\x98\x07\xfd\x83\xeb\x7e\x09\xfe\x02\x00\x00\xff\xff\x2d\xd8\xd1\x35\x89\x04\x00\x00" func transactionsDeployDeployPacknftWithAuthCdcBytes() ([]byte, error) { return bindataRead( @@ -508,11 +536,11 @@ func transactionsDeployDeployPacknftWithAuthCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/deploy/deploy-packNFT-with-auth.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5, 0x50, 0xc0, 0x64, 0x3b, 0xdc, 0xe7, 0x44, 0x92, 0x76, 0x76, 0xc5, 0x95, 0x93, 0x4c, 0x54, 0x81, 0x42, 0xdf, 0x41, 0x6f, 0x5e, 0x82, 0xa7, 0x72, 0xb5, 0x95, 0xb9, 0x60, 0xe9, 0xa0, 0xcf}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsDeployDeployPdsWithAuthCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x52\xc1\x6e\x82\x40\x10\xbd\xf3\x15\x13\x4f\x90\x18\xb9\x9b\x78\x30\xf6\xd0\x1e\xda\x90\xda\xbb\x99\x2e\x53\x98\x14\x77\xc9\xee\xa0\x36\x8d\xff\xde\x80\x0a\x08\xab\x76\x0f\xeb\xfa\xf6\xbd\xd9\x61\xde\x8b\x63\xf8\xc8\xd9\x81\x58\xd4\x0e\x95\xb0\xd1\x0e\x52\x2a\x0b\xf3\xe3\x00\x41\x19\x2d\x16\x95\xc0\x9e\x25\x07\xd6\x2c\x80\x36\x73\x41\x1c\x07\x3d\x45\x18\x00\x40\xcb\x7d\xc3\x2d\xcd\x61\x2d\x96\x75\x36\x85\xf3\x55\xda\x41\x0d\x92\xa0\xfa\x7e\x71\xae\x22\xbb\x16\x63\x31\xa3\x04\x25\xaf\x29\xed\x9f\x21\x6f\x85\xe5\x3b\xa9\xdd\x1c\x92\xea\xb3\x60\xd5\x51\x9e\xd8\xc9\xca\x12\x8a\x79\x50\xab\x47\x4c\x2c\xef\x4e\xac\xfa\x84\x32\x60\xbd\xa2\xc6\xec\x51\x6b\x3b\xb2\x8e\x8d\xee\xbe\x2b\x82\xdf\xe6\xa2\xb4\x54\xa2\xa5\xd0\xec\x35\xd9\x39\x2c\x2b\xc9\x97\x4a\x99\x4a\xcb\x85\x51\xaf\x82\x04\xe8\xc0\x4e\x58\x67\xab\xcb\x98\x17\xd0\x88\x66\x97\x59\xba\x59\x46\x12\xea\x66\xa2\xfd\xf9\x46\x41\x5b\x87\xbf\x20\x1c\xd7\x59\x80\xe6\xa2\xff\x5c\xf3\xa4\xc9\xc2\x89\x36\x6d\xa5\x49\x74\x75\x3d\x7c\x1a\xd3\x34\xbc\x22\xd4\x6b\xdc\xcb\xd9\xe3\xfe\x3a\xf9\x5d\xef\xb3\x94\xea\x9f\x67\x3a\x84\x91\x87\x78\x23\x06\x5e\x78\x7a\x47\xdd\x85\x63\x08\x8d\x55\xb7\xf2\xe2\xc7\xef\xea\xbb\x18\x79\x40\xbf\xd2\x17\x2d\x3f\x3e\xd6\xb7\x89\x3b\x1f\xae\x19\x9d\x99\x47\xa0\xc2\x91\xcf\xfc\x1c\xdd\x7f\xdd\xaf\xca\x14\x85\x36\x1b\x3a\x94\x64\x79\x4b\x5a\xb0\xf0\x24\x71\x7a\xc3\xec\x5e\x37\xc1\x69\x3f\x06\x7f\x01\x00\x00\xff\xff\x4f\xea\x13\xb0\x6d\x04\x00\x00" +var _transactionsDeployDeployPdsWithAuthCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x52\x4d\x4f\xc3\x30\x0c\xbd\xf7\x57\x58\x3b\xa0\x54\xaa\xd6\xfb\xa4\x1d\xa6\x71\x80\x03\x68\x62\xf0\x03\x4c\x62\xda\x88\x92\x54\x89\xbb\x0d\xa1\xfd\x77\xd4\x6e\xfd\x58\x9b\x31\x72\x48\x1b\xfb\xf9\x39\xf1\x7b\x69\x0a\xaf\xb9\xf6\xc0\x0e\x8d\x47\xc9\xda\x1a\x0f\x8a\xca\xc2\x7e\x7b\x40\x90\xd6\xb0\x43\xc9\xb0\xd7\x9c\x83\x36\x9a\x01\x5d\xe6\xa3\x34\x8d\x06\x15\x22\x02\x80\x0e\xfb\x8c\x5f\xb4\x80\x2d\x3b\x6d\xb2\xe4\x9c\x51\xa3\xc8\x06\xe5\xe7\xa3\xf7\x15\xb9\x2d\x5b\x87\x19\x6d\x90\xf3\x1a\xd2\x1d\xc6\xb8\x35\x96\x2f\x24\x77\x0b\xd8\x54\xef\x85\x96\x3d\xe4\x5e\x7b\x5e\x3b\x42\xb6\x37\xb8\x6a\xe0\x13\x1a\xcc\x6e\x35\xdd\x91\xf3\xda\x9a\xfe\xc6\x31\xfc\x34\x89\xd2\x51\x89\x8e\x84\xdd\x1b\x72\x0b\xc0\x8a\x73\xb1\x52\x6a\x7d\x7e\x78\x02\x6f\xa5\x42\xa6\xf6\x1c\xc3\xdd\x4a\x4a\x5b\x19\x6e\x09\xea\x55\x10\x03\x1d\xb4\x67\x6d\xb2\x16\x09\x4b\x68\x38\xe7\xed\x0c\xfd\x3c\x23\x16\xa6\x99\xe4\x70\xae\x71\xd4\xf1\xe8\x0f\x10\x53\x9e\x25\x18\x5d\x0c\xdb\x35\x2d\x6d\x26\x66\xc6\x76\x4c\xb3\xf8\x22\x3d\x6e\x8d\x4a\x89\x0b\x40\xbd\xa6\x77\x49\x26\x98\x93\xce\xf5\x3e\x57\x54\x7f\x1e\xe8\x20\xe2\x29\xee\x8a\xfa\xc1\xf0\x5f\xd5\xbd\x27\xc6\xa1\x69\xd5\x35\x9b\x84\xe3\xe1\xfa\x90\x7b\xc2\xf1\x69\x7d\x67\xaa\xf3\xcf\x25\xa2\x17\xe4\x08\x54\x78\x0a\x09\x98\xa3\xff\xaf\x82\x55\xe3\xc3\x80\x7f\x92\x2b\x1a\x0d\xfa\x47\xa7\xfd\x18\xfd\x06\x00\x00\xff\xff\xcc\x60\x18\xa3\x1b\x04\x00\x00" func transactionsDeployDeployPdsWithAuthCdcBytes() ([]byte, error) { return bindataRead( @@ -528,27 +556,7 @@ func transactionsDeployDeployPdsWithAuthCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/deploy/deploy-pds-with-auth.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x14, 0x1c, 0x9, 0xb, 0xe9, 0xb9, 0x5a, 0x32, 0x58, 0xc3, 0xf3, 0xbc, 0xbc, 0xf3, 0x4a, 0xed, 0x48, 0x99, 0xc8, 0x6f, 0xd7, 0x64, 0x30, 0x85, 0x32, 0x98, 0x14, 0x52, 0xfa, 0xdd, 0x25, 0xe4}} - return a, nil -} - -var _transactionsExamplenftLink_providercap_examplenftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\xc1\x6a\xf3\x40\x0c\x84\xef\xfb\x14\x3a\xfd\x24\xf0\xe3\xf4\x1c\x4a\x21\xa4\xcd\x31\x18\xe2\x17\x50\x6c\xc5\x16\xd9\xac\x8c\x2c\x27\x29\x66\xdf\xbd\xb8\x76\x5d\xe3\x4b\x75\xd2\xce\xce\xec\x7e\x0c\xdf\x6a\x51\x83\xa3\x84\x43\x1b\x4a\x3e\x7b\xca\xe4\x4a\x01\x2e\x2a\x37\x78\x79\x76\x5d\xb2\xbc\x8a\xd1\x8d\xa1\x8f\x27\xde\x6a\x4f\xc7\x43\x36\xb3\xff\x8a\x31\x3a\x67\x8a\xa1\xc1\xdc\x58\xc2\xea\x78\xc8\x52\x95\x3b\x17\xa4\x29\x5a\xb5\x85\x54\xf9\x8e\x46\xfd\x61\x0d\x9d\x73\x00\x00\xb5\x52\x8d\x4a\xab\x86\xcb\x40\xba\x85\x5d\x6b\xd5\x2e\xcf\xa5\x0d\xd6\x7b\x60\x1c\xbe\xc0\xe0\x48\x4a\xb2\x3d\xd6\x78\x66\xcf\xf6\xf9\xfa\xaf\x5b\xe2\x26\x3f\x7f\xc6\xb7\x25\xc1\x3a\xc9\x2b\xca\xaf\xab\xf9\xc3\xfd\x28\x59\xab\x61\x92\xe2\xb4\x6d\x36\x90\x55\xdc\x40\x20\x2a\x1a\x30\x81\x33\x41\xdb\x50\xd1\xaf\xe8\xbd\x3c\xe0\x22\x0a\xe9\xfb\xa9\x17\x1e\x6c\x55\xa1\xf8\x98\xd2\x23\xb0\xe7\x70\xfd\x83\x13\x16\xa0\xff\xc1\x50\x4b\xb2\xed\xac\xf2\x64\x2f\xde\xd3\x77\xb3\x27\x13\xc5\x72\xe8\xd1\x0d\xc4\x2e\xba\xaf\x00\x00\x00\xff\xff\xac\x44\xf0\x8d\xda\x01\x00\x00" - -func transactionsExamplenftLink_providercap_examplenftCdcBytes() ([]byte, error) { - return bindataRead( - _transactionsExamplenftLink_providercap_examplenftCdc, - "transactions/exampleNFT/link_providerCap_exampleNFT.cdc", - ) -} - -func transactionsExamplenftLink_providercap_examplenftCdc() (*asset, error) { - bytes, err := transactionsExamplenftLink_providercap_examplenftCdcBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "transactions/exampleNFT/link_providerCap_exampleNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xa0, 0x6e, 0xe, 0x6a, 0x29, 0x6f, 0x3a, 0x75, 0x35, 0x5, 0x48, 0x95, 0xf6, 0x19, 0x65, 0x97, 0xdb, 0x2c, 0x97, 0x77, 0x97, 0x40, 0x4f, 0x17, 0xb9, 0x68, 0x4c, 0x78, 0x53, 0x91, 0x47}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -568,7 +576,7 @@ func transactionsExamplenftMint_examplenftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/exampleNFT/mint_exampleNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd0, 0xbd, 0xa0, 0xe1, 0x3f, 0xa8, 0xb0, 0x85, 0x50, 0x58, 0x6f, 0x66, 0x38, 0xbb, 0xb1, 0x4e, 0x1d, 0xa2, 0xe2, 0xf3, 0xad, 0x84, 0x64, 0xb5, 0x66, 0x54, 0x79, 0xc1, 0x97, 0xb8, 0x53, 0x8c}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -588,7 +596,7 @@ func transactionsExamplenftMint_examplenftbatchedCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/exampleNFT/mint_exampleNFTBatched.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x58, 0x5, 0xde, 0xdf, 0xe1, 0x9b, 0xf3, 0xe5, 0xfd, 0x14, 0x54, 0x8b, 0x1c, 0x51, 0x38, 0x13, 0x6e, 0x3e, 0x7c, 0x6e, 0x53, 0xaa, 0x14, 0x99, 0x16, 0x85, 0x2c, 0x8, 0x91, 0x7d, 0x82, 0x4b}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -608,7 +616,7 @@ func transactionsExamplenftSetup_examplenftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/exampleNFT/setup_exampleNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x3c, 0x9f, 0xdd, 0x73, 0x13, 0x17, 0x95, 0x5c, 0x5f, 0x21, 0x19, 0xde, 0x4b, 0xe8, 0xb5, 0x29, 0x4e, 0x33, 0x7f, 0xfd, 0x87, 0xe, 0x2f, 0x95, 0xbd, 0x7c, 0x5a, 0x6b, 0x3a, 0x4f, 0x5b}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -628,7 +636,7 @@ func transactionsExamplenftTransfer_examplenftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/exampleNFT/transfer_exampleNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0xdc, 0xc6, 0xf7, 0xaa, 0xe4, 0xae, 0x82, 0xf6, 0x8, 0x23, 0x5c, 0x68, 0x50, 0xb8, 0xba, 0xbe, 0x15, 0x82, 0xd, 0xdd, 0x58, 0x8d, 0x25, 0x3b, 0x28, 0x6, 0x8f, 0x6f, 0xad, 0x75, 0xd5}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -648,7 +656,7 @@ func transactionsFlowtokensTransfer_flow_tokens_emulatorCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/flowTokens/transfer_flow_tokens_emulator.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd3, 0x9b, 0x76, 0xd8, 0x30, 0xcb, 0x63, 0x9a, 0xd0, 0x37, 0xec, 0xe8, 0xb4, 0x19, 0xd7, 0xb0, 0x40, 0x8a, 0x40, 0x41, 0x23, 0x88, 0xec, 0x79, 0xca, 0x7f, 0xb5, 0x30, 0x38, 0x8e, 0x55, 0x79}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -668,7 +676,7 @@ func transactionsKeysAddKeyFromExistingCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/keys/add-key-from-existing.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0x6a, 0x31, 0x56, 0x74, 0x86, 0xf9, 0xf7, 0x5c, 0xb4, 0x5f, 0xd5, 0x1b, 0xcd, 0x47, 0x8b, 0x9b, 0x96, 0x90, 0x5c, 0xf4, 0xaf, 0x4, 0x1c, 0x3f, 0x97, 0x6d, 0xa4, 0x4f, 0x2d, 0x7a, 0x54}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -688,7 +696,7 @@ func transactionsKeysAddKeyCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/keys/add-key.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbb, 0xa6, 0x72, 0xda, 0x22, 0x22, 0x3, 0xe4, 0xd6, 0x62, 0x1c, 0x5f, 0x5c, 0xe2, 0xe9, 0xd, 0x39, 0x0, 0xc8, 0xac, 0xff, 0xc8, 0xef, 0xd6, 0x79, 0x99, 0xf4, 0xbe, 0xfb, 0x11, 0x1b, 0xe9}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -708,7 +716,7 @@ func transactionsKeysRevokeKeyCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/keys/revoke-key.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3f, 0xf4, 0xf2, 0x8a, 0xee, 0xe0, 0xcf, 0xda, 0x4e, 0xeb, 0xdc, 0x7f, 0x98, 0x7a, 0x1d, 0x9b, 0x75, 0xde, 0x3, 0x6b, 0x3d, 0x59, 0xd5, 0x27, 0x17, 0x3f, 0x77, 0x6f, 0xf8, 0xb0, 0xa4, 0xdc}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -728,11 +736,11 @@ func transactionsPacknftBatch_transfer_packnftsCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/packNFT/batch_transfer_packNFTs.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x42, 0x88, 0x34, 0xc9, 0x89, 0xb4, 0xed, 0x5f, 0xd6, 0x54, 0x80, 0x49, 0x48, 0xe0, 0x72, 0x1a, 0x37, 0xd0, 0x8c, 0xf3, 0x80, 0x27, 0x17, 0xe8, 0xa0, 0x4a, 0x8, 0x3f, 0x55, 0xc, 0xa7, 0x3b}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPacknftCreate_new_packnft_collectionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x91\xcd\x8a\xc2\x30\x14\x85\xf7\x7d\x8a\x83\x0b\xa9\xe0\xe8\xac\x1d\x7f\x10\x19\x61\x36\x52\x18\x5f\x20\x8d\x57\x1b\x1a\x73\x4b\x9a\x38\x23\x25\xef\x3e\xf4\x87\x2a\x3a\x60\x96\x39\xe7\x7e\xf7\x9c\x44\x9d\x0b\xb6\x0e\x89\x90\xf9\x6e\xbb\xc7\xd1\xf2\x19\xef\xbf\x55\x35\xe9\x6e\x42\x88\x3a\xcb\x8e\xcd\xd6\x9b\x93\x4a\x35\xed\x39\x27\x73\xe7\x7d\x94\x42\x88\x22\x67\x85\x29\x85\x74\x8a\x4d\x3c\x42\x15\x01\x40\x61\xa9\x10\x96\x10\xab\xb2\xf4\x64\x67\x58\x7b\x97\xad\xa5\x64\x6f\x5c\xed\x69\x4c\xf5\x99\x4e\xb1\xc9\x48\xe6\x50\x47\x88\x56\x87\xd0\x96\xc4\xe1\x8a\x4c\x5c\x08\xa2\x49\xfc\xd5\x60\x60\xa9\x64\x6f\x25\x8d\x6b\x7b\xc9\x38\x50\xe9\x2c\x5f\xa1\x5c\x0f\x54\x47\xb4\x3b\x27\x29\x5b\xcb\x3f\xf3\x61\xd7\x6f\xb2\x61\xad\xa9\x89\xb9\x8c\xeb\x46\x33\x3c\x2b\xdf\x8e\xad\x38\x51\x22\x5c\x36\xc2\x62\x01\xa3\x74\xd7\xa8\xe7\xb7\xf0\x52\x5c\x28\x9e\xbf\xf5\x08\x69\x49\x38\xfa\x3c\x17\xee\x7a\xa3\xc5\xa3\x31\x1c\xbf\xda\xf3\xf1\x1f\x5f\x2b\x93\xcf\x87\xd5\xe3\x7b\xdf\x21\x12\x9f\x6a\x25\xc3\x32\x7e\xa6\xb7\x52\x0d\x1f\xc3\x09\x7b\x22\xf7\x2a\x43\x1f\x61\xb5\x02\x0a\x61\x94\x8c\x07\x1b\xf6\xfa\x00\xc3\x0e\x75\x18\xdc\x06\x91\xf8\x14\xf5\xd8\xe0\x2e\x7b\x68\xff\x34\x20\x0a\x11\xa2\xbf\x00\x00\x00\xff\xff\x40\x42\x13\x7e\x6d\x02\x00\x00" +var _transactionsPacknftCreate_new_packnft_collectionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x91\xcd\xaa\xea\x30\x14\x85\xe7\x7d\x8a\x45\x07\x52\xc1\xab\x73\xaf\x3f\x88\x5c\xe1\x4e\xa4\x70\x7c\x81\x34\x6e\x6d\x68\xcc\x2e\xe9\x8e\x07\x91\xbe\xfb\xa1\x3f\x54\xd1\x03\x76\xd6\xac\xb5\xbf\xbd\x56\x62\x2e\x25\x7b\x41\xaa\x74\xb1\xdf\x1d\x70\xf2\x7c\x41\xdc\xff\xc5\x51\xaf\xee\xd9\xed\x82\x3b\x9b\xcc\xd2\x81\x0b\x72\xbd\xed\xf5\x38\x8e\x22\xf1\xca\x55\x4a\x8b\x61\x97\x8c\x71\x8f\x00\xa0\xf4\x54\x2a\x4f\x48\x4c\x55\x05\xf2\x73\x6c\x82\xe4\x1b\xad\x39\x38\x69\x3c\xad\xa9\xf9\x66\x33\x6c\x73\xd2\x05\xcc\x09\xaa\xd3\xa1\xac\x27\x75\xbc\x21\x57\x57\x82\x6a\x73\xfe\x6f\x31\xf0\x54\x71\xf0\x9a\x26\x8d\xbd\x62\x1c\xa9\x12\xcf\x37\x18\x19\x80\xe6\x84\x6e\xe7\x34\x63\xef\xf9\x7b\x31\xea\x9b\x4d\xb7\x6c\x2d\xb5\x31\x57\x49\x53\x66\x8e\x77\xe5\x4b\xd8\xab\x33\xa5\x4a\xf2\x31\x96\x4b\x38\x63\xfb\x46\x03\xbf\x83\x57\xea\x4a\xc9\xe2\xcf\x80\xd0\x9e\x94\xd0\xbf\x4b\x29\xb7\x07\x2d\x19\x4f\x20\xfc\x69\xcf\xdf\xdf\xf8\xd6\xb8\x62\x31\xba\xbf\x5e\xf7\x13\x22\x0d\x99\x35\xba\x5e\x25\xef\xf4\x4e\x6a\xe0\x13\x88\xf2\x67\x92\x4f\x19\x86\x08\xeb\x35\x50\x2a\x67\x74\x12\x6f\x39\xd8\x23\x1c\x0b\x9a\x30\x78\x0c\x22\x0d\x19\x9a\xb1\xf8\x29\x7b\xdd\xbd\x69\x8d\xa8\x8e\x10\xfd\x04\x00\x00\xff\xff\x9f\x3d\x19\x4f\x63\x02\x00\x00" func transactionsPacknftCreate_new_packnft_collectionCdcBytes() ([]byte, error) { return bindataRead( @@ -748,11 +756,11 @@ func transactionsPacknftCreate_new_packnft_collectionCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/packNFT/create_new_packNFT_collection.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xec, 0x55, 0xd5, 0x8c, 0x25, 0x7a, 0xa7, 0xcf, 0x44, 0xb1, 0x95, 0x15, 0x72, 0xde, 0xd1, 0xce, 0x6, 0xf7, 0x52, 0x35, 0x98, 0x19, 0x39, 0x11, 0x56, 0xbf, 0x2b, 0x80, 0x24, 0xea, 0x3, 0xfc}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPacknftOpen_requestCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xcf\x4a\x03\x31\x10\xc6\xef\x79\x8a\xe9\x45\x92\x4b\xf0\x20\x1e\x82\x0a\x45\x11\x72\x91\xe2\x9f\x07\x88\x71\x6a\x17\xd3\x4c\x18\xa7\xae\xb0\xe4\xdd\x65\x97\xec\x4a\xd9\x1c\x33\xbf\xef\xf7\xcd\x74\xc7\x42\x2c\xb0\x0b\xf1\xeb\xe9\xf1\x15\xf6\x4c\x47\xb8\xfc\x1d\x06\xdb\x7e\x6a\x55\x0d\xf1\x6b\xc6\xff\x43\x4a\x38\xe4\xef\x10\xa5\xa3\xac\x19\x7f\x30\x24\xff\xe0\xe0\xcd\x67\xb9\xbe\x32\x30\x28\x00\x80\xc2\x58\x02\xa3\xa6\x3e\x23\x3b\xd8\x9e\xe4\xb0\x8d\x91\x4e\x59\x66\x62\x7c\x09\x05\x22\xa5\x84\x93\xec\x19\xf7\x70\x0b\x53\xc2\xbe\x13\x33\xf5\x37\x17\xad\xd6\xde\x2f\xd4\x9d\x1e\xb7\x72\xb0\x9e\xbc\x08\x71\xf8\xc4\x5d\x90\x83\xd9\x2c\x1d\x67\xfe\xe6\x6d\x59\xdd\x7d\x38\x98\x2f\x30\x1b\x4b\x05\xb3\x36\x53\xb2\xaa\xaa\xfe\x02\x00\x00\xff\xff\xc8\xf9\x8a\xe8\x31\x01\x00\x00" +var _transactionsPacknftOpen_requestCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xcb\x4a\xc5\x30\x10\x86\xf7\x79\x8a\x39\x67\x21\xc9\xa6\x2b\x71\x11\x54\x28\x8a\x90\x8d\x14\x2f\x0f\x10\xe3\xd4\x16\xd3\x4c\x18\xa7\x76\x21\x7d\x77\x69\x49\x0b\xe5\xcc\x6e\xf8\xfe\xcb\x4c\x3f\x64\x62\x81\xc6\x87\xef\xe7\xa7\x37\x68\x99\x06\x38\x97\xed\xac\x0a\x75\x47\xec\x76\xae\x84\x7d\xfa\xf1\x41\x7a\x4a\x9a\xf1\x17\x7d\x74\x8f\x16\xde\x5d\x92\x9b\x6b\x03\x7f\x0a\x00\x20\x33\x66\xcf\xa8\x69\x4a\xc8\x16\xea\x51\xba\x3a\x04\x1a\x93\x6c\x8a\x65\x22\x0a\x04\x8a\x11\xd7\xb0\x17\x6c\xe1\x0e\x56\x47\xf5\x41\xcc\x34\xdd\x5e\x95\xd6\xea\x61\x57\xdd\xeb\xe5\x20\x0b\x97\xe4\x55\x88\xfd\x17\x36\x5e\x3a\x73\xda\x3b\x0e\xf9\x25\xb7\x78\x75\xff\x69\x61\xfb\xc0\x9c\x2a\xca\x98\xb4\x59\x9d\xb3\x9a\xd5\x7f\x00\x00\x00\xff\xff\x55\x74\x9b\x3f\x27\x01\x00\x00" func transactionsPacknftOpen_requestCdcBytes() ([]byte, error) { return bindataRead( @@ -768,11 +776,11 @@ func transactionsPacknftOpen_requestCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/packNFT/open_request.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc0, 0x66, 0x8f, 0x81, 0xa7, 0xa5, 0x58, 0x2, 0x5b, 0x90, 0xed, 0xe5, 0x94, 0x57, 0xfa, 0x1c, 0xdb, 0xea, 0xc6, 0x16, 0xe1, 0xcb, 0x5, 0xf0, 0xfd, 0x40, 0x56, 0x9c, 0x7e, 0xac, 0x23, 0x99}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPacknftPublic_reveal_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x52\xc1\x6a\xe3\x30\x10\xbd\xfb\x2b\x1e\x3d\x14\x87\x35\xa1\x0b\xcb\x1e\xcc\xfa\x10\xda\x2d\xf8\x12\x96\x4d\xf7\x64\x7c\x98\x48\x93\x44\x54\x96\x85\x24\x77\xbb\x18\xff\xfb\xa2\xba\x76\xe3\x84\xea\x90\xc8\xf3\xde\xcc\x1b\xcd\x1b\xd5\xd8\xd6\x05\xfc\x22\xf1\xbc\x7d\x7c\xc2\xc1\xb5\x0d\xee\x5e\xfb\x7e\xfd\x1e\x19\x86\x64\xa2\x3c\xec\xce\xe1\x87\xdd\x07\x54\x5e\xa7\x97\x57\xf9\x3f\x5f\xa9\xb1\x9a\x97\xb4\x8f\xe0\x30\x24\x49\x70\x64\x3c\x89\xa0\x5a\x83\xd4\x92\x78\x2e\x65\x8e\x3f\xa5\x09\xdf\xbf\x65\x30\x87\x70\xdf\x9a\xe0\x48\x84\x8d\x94\xce\xe7\xa8\xe2\x3f\x7b\x5f\x2f\xc0\x2d\x35\x9c\xa3\xda\x05\xa7\xcc\x71\x84\x4a\x19\xd9\x63\xa1\x3a\x83\x27\x1d\x72\x8c\x84\x15\xfa\x04\x00\xac\x63\x4b\x8e\x53\x1b\xa9\x9b\x2e\x9c\x36\x42\xb4\x9d\x09\x13\x1e\x0f\x79\xcf\x2e\xa4\xf3\x77\x3c\x97\x5d\xad\x35\x9b\x63\x38\xa1\x28\x2e\x7b\x9a\x90\xdb\x5b\x7c\x56\xe1\x9c\x36\x16\x28\xe5\x54\x31\x5b\x66\x35\xec\x3d\x1d\x39\xc7\xcd\xf6\xf1\xc9\xa3\xe9\x7c\xc0\x9e\x71\xe8\xb4\xfe\x07\xc9\x5e\x38\xb5\x67\x79\x33\xe7\xac\xe6\x9b\xe6\x00\x72\x2e\x47\xd5\x4f\x26\xad\xef\x5b\xad\x59\x04\xb5\xd7\x3c\xd4\x28\x50\xd5\x33\xfd\x85\x1c\x14\x0a\xdc\xcd\x91\xbf\x27\xa5\x19\x0a\x3f\x3e\x7d\x7c\xbf\x68\x35\x0a\x7a\x14\x71\x81\xce\x85\x52\x1a\xdd\xcb\xaf\xca\x54\xaa\xce\x20\x16\x76\x5e\x0c\xe9\x8d\xa1\x64\xfe\x3e\xa2\x4a\xd5\xab\x85\x24\x39\xb7\x26\x6b\xd9\xc8\xd4\x2f\x91\xf8\x14\x85\x2f\xf8\x3a\x47\x87\x64\xbe\x4e\xe3\xb0\xdd\x5e\x2b\xf1\x9b\x5f\x98\xf4\xd2\xee\xa8\x39\x2e\x66\x76\xe5\xa2\xcf\xa3\xee\x45\x7c\xdc\xb5\xf8\x3b\xf6\x31\x24\x43\x92\xfc\x0f\x00\x00\xff\xff\xf1\xcc\xed\x52\x75\x03\x00\x00" +var _transactionsPacknftPublic_reveal_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x52\xc1\x8a\xdb\x30\x10\xbd\xfb\x2b\x1e\x3e\x2c\x0e\x35\xa1\x85\xd2\x83\xa8\x0f\x61\xb7\x0b\xbe\x84\xd2\x6c\x4f\xc6\x07\x45\x9a\x24\x62\x65\x59\x48\xf2\xb6\x25\xe4\xdf\x8b\xd6\x6b\xef\xca\x21\x3a\xd8\xd2\x7b\x6f\x66\xa4\x79\xa3\x3a\xdb\xbb\x80\x9f\x5c\x3c\x6f\x1f\x9f\x70\x70\x7d\x87\xfc\xed\x94\x67\x13\xfb\xb0\x9b\x98\x87\xdd\x8c\xd6\x69\x50\xbd\x8c\xfa\xf1\x97\x77\x56\xd3\xbb\xe2\x1d\xc8\xb3\x2c\x38\x6e\x3c\x17\x41\xf5\x06\x85\xe5\xe2\xb9\x96\x0c\xbf\x6b\x13\xbe\x7d\x2d\x61\x0e\xe1\xbe\x37\xc1\x71\x11\x36\x52\x3a\xcf\xd0\xc4\x3f\x79\xdf\x26\xe4\x96\x77\x14\xc9\x5d\x70\xca\x1c\x47\xae\x96\x11\x19\x33\xb5\x25\x3c\xd7\x81\x61\x14\xac\x70\xce\x00\xc0\x3a\xb2\xdc\x51\x61\xa3\x74\x33\x84\xd3\x46\x88\x7e\x30\x61\xe2\xe3\xe2\xde\x93\x0b\xc5\x7c\x8e\x6b\x79\xad\xb5\x26\x73\x0c\x27\x54\xd5\xd5\xa5\x26\xea\xee\xee\x56\x86\x44\x36\x66\xa8\xe5\x04\x94\x49\x54\x47\xde\xf3\x23\x31\xe4\xdb\xc7\x27\x8f\x6e\xf0\x01\x7b\xc2\x61\xd0\xfa\x1f\x24\x79\xe1\xd4\x9e\x64\x3e\xc7\xac\xe6\x9d\xa6\x00\xee\x1c\x43\x73\x9e\xfc\x59\xdf\xf7\x5a\x93\x08\x6a\xaf\xe9\xd2\xa2\x42\xd3\xce\xf2\x17\xee\xa0\x50\xe1\xf3\x8c\xfc\x39\x29\x4d\x50\xf8\x7e\xf3\xf1\xe7\xe4\xaa\xb1\xa0\x47\x15\x47\xe6\x63\xa1\x82\x8f\xf6\xb1\xab\x34\x8d\x6a\x4b\x88\x0f\x3d\x61\x57\x4d\x7a\x95\x28\xc9\xde\x5a\xd4\xa8\x76\x95\xd4\xe4\xce\xad\xb9\xb5\x64\x64\xe1\x53\x26\xbe\x45\xe1\x13\xbe\xcc\xe8\x25\x9b\xb7\x53\x3f\xec\xb0\xd7\x4a\xfc\xa2\x17\xe2\x3a\xf5\x3b\xd6\x1c\x47\xb3\x5c\xba\xe8\x59\x2c\x9b\xc2\xe3\xa8\xc5\xef\xc2\x89\x4b\x76\xc9\xb2\xff\x01\x00\x00\xff\xff\x38\xd8\x28\xa2\x6a\x03\x00\x00" func transactionsPacknftPublic_reveal_packnftCdcBytes() ([]byte, error) { return bindataRead( @@ -788,11 +796,11 @@ func transactionsPacknftPublic_reveal_packnftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/packNFT/public_reveal_packNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0x88, 0x6a, 0x58, 0x40, 0x25, 0x4, 0xc1, 0xb6, 0xe2, 0xac, 0xdd, 0x48, 0x54, 0x17, 0x7a, 0x67, 0xaf, 0xb5, 0xa0, 0xdb, 0x53, 0xd3, 0xb, 0x91, 0xed, 0x5c, 0x61, 0xa2, 0x8, 0x10, 0x8a}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPacknftReveal_requestCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xcd\x4a\x03\x31\x14\x85\xf7\x79\x8a\xd3\x8d\x64\x40\x06\x17\xe2\x22\xa8\x50\x15\x61\x36\x52\xaa\x3e\x40\x8c\xb7\x76\x30\xcd\x1d\x6f\xef\x58\x61\xc8\xbb\x4b\xc7\xb4\xb6\x34\xab\xfc\x7c\xf7\xcb\x39\xed\xaa\x63\x51\xcc\x7c\xf8\x7c\x7a\x7c\xc1\x42\x78\x85\x8b\x9f\x61\xa8\xcb\x4d\xce\xa6\x20\xcd\x29\xd3\xfc\x43\x46\xc5\xa7\xb5\x0f\xda\x72\xb2\x42\xdf\xe4\x63\xf3\xe0\xf0\xda\x24\xbd\xba\x3c\x07\x77\x94\xe6\xf4\xd5\xd3\x5a\x1d\xee\x98\x63\x85\xc1\x00\x40\x27\xd4\x79\x21\xcb\x9b\x44\xe2\x30\xed\x75\x39\x0d\x81\xfb\xa4\x3b\x62\xbb\x22\x29\x02\xc7\x48\xa3\x7f\x4e\x0b\xdc\x60\x9c\xa8\xdf\x58\x84\x37\xd7\x67\x25\x49\x7d\xbf\xa7\x6e\xed\x36\xa8\xc3\xe9\xcb\xb3\xb2\xf8\x0f\x9a\x79\x5d\x56\x93\xfd\x1f\x47\xfe\xe2\x2d\xb3\xb6\x7d\x77\xd8\x95\xaa\x26\xf5\xdf\xd6\x1e\x95\x3a\x38\x54\xa3\x33\x9b\x6c\x7e\x03\x00\x00\xff\xff\xea\x93\x88\x39\x5e\x01\x00\x00" +var _transactionsPacknftReveal_requestCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x90\xc1\x4e\xf3\x40\x0c\x84\xef\x79\x8a\x69\x0f\xd1\x46\xfa\x95\xd3\x2f\x0e\x11\x45\xa2\xa0\x48\xb9\x44\x55\x09\xdc\x97\xe0\xd2\x88\xed\x3a\x38\x0e\x3d\x54\x79\x77\xd4\x74\x53\x88\xf0\xcd\x1a\xcf\x7c\xb6\x9b\x43\xcb\xa2\xd8\xd8\xfa\xa3\xcc\x2b\xec\x84\x0f\x58\x86\x6e\x19\x05\xb5\x98\xcb\xc5\x55\x8f\x54\xac\xef\x6c\xad\x0d\x7b\x23\xf4\x45\xd6\x15\x8f\x19\x9e\x0b\xaf\x37\xff\xff\x81\x5b\xf2\x5b\xfa\xec\xa9\xd3\x0c\x6b\x66\x97\xe0\x14\x01\x40\x2b\xd4\x5a\x21\xc3\x47\x4f\x92\xc1\xf6\xba\x37\x6b\x16\xe1\xe3\x8b\x75\x3d\x25\x88\xef\xeb\x9a\x7b\xaf\x93\xe1\x5c\x8e\x14\x35\x3b\x47\x23\x6e\x4b\x3b\xac\x30\x06\xa4\x9d\xb2\xd8\x77\x4a\x5f\xc7\x88\xdb\x38\xec\x97\x3e\x5c\xa7\xef\xcc\x79\xf5\x0c\x7f\x95\xa7\x8b\x77\x63\x75\x9f\x2c\x66\xac\x36\x1c\xbd\x9a\x53\x03\xa5\xcc\x2b\xd3\xbc\x65\x98\xae\x4e\x60\xbb\x05\xe2\xd3\xf4\x9c\xb4\xcc\xab\xe1\x27\x30\x84\xa5\x97\x71\x33\xfb\xcc\xaf\x26\x19\x0d\x43\x34\x44\xdf\x01\x00\x00\xff\xff\xca\x1c\x5b\xd4\x99\x01\x00\x00" func transactionsPacknftReveal_requestCdcBytes() ([]byte, error) { return bindataRead( @@ -808,11 +816,11 @@ func transactionsPacknftReveal_requestCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/packNFT/reveal_request.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0xa8, 0xe0, 0x4c, 0x6d, 0x45, 0x13, 0xff, 0xe9, 0x82, 0xb4, 0xd3, 0x68, 0x69, 0x33, 0x1, 0x63, 0xcf, 0x42, 0x76, 0x30, 0x2b, 0x3b, 0x92, 0x12, 0xba, 0x64, 0x9e, 0xb, 0x7a, 0x4f, 0xde}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPacknftTransfer_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x52\xcd\x8e\xa2\x40\x10\xbe\xf3\x14\xb5\x97\x5d\x48\x56\xdc\xc3\x66\x0f\x44\x4d\x8c\xc6\xc4\x8b\x31\x3b\xce\x03\x34\x4d\x01\x1d\xb1\x9b\x14\xc5\x30\x13\xc2\xbb\x4f\xf8\x17\xd1\x3e\xf5\xcf\x57\xfd\xfd\x54\xa9\x5b\x6a\x88\xe1\x64\xf4\x21\xd7\x91\xf2\x13\xbc\x98\x2b\x6a\x08\xc9\xdc\xe0\xcf\x67\x59\xba\x8f\x4f\x55\x65\x75\x45\x67\x21\xaf\xa7\xc3\xe5\x0e\xdb\xdd\x54\x95\x65\x31\x09\x9d\x09\xc9\xca\x68\x9b\x50\xaa\x54\xa1\x66\x0f\xb6\x41\x40\x98\x65\xbf\xa1\x50\x1c\x07\x24\x8a\xe3\xde\x83\xf7\xa3\xe6\x7f\x7f\x1d\x28\x2d\x00\x80\x94\x30\x15\x84\x76\xa6\x22\x8d\xe4\xc1\x36\xe7\x78\x2b\xa5\xc9\x35\xf7\x90\x7a\x25\xc8\x30\x7c\x0c\x6b\x88\x90\x3b\xd4\xc8\xe7\x58\x03\x7c\xb9\x04\xdf\x10\x99\x02\x04\x10\x86\x48\xa8\x25\x02\x1b\xe0\x18\xa1\xa5\xfa\x95\x41\x6d\x47\x9a\x24\xc1\x46\xf8\x84\x6b\xbc\xfe\x8f\x21\xac\xbb\x9a\x01\x52\x2f\xb7\x65\x58\xfd\xec\x72\x70\x77\x43\xcd\xc6\xae\x53\xf2\x60\xfe\xf2\xc6\x86\x44\x84\x67\xc1\xb1\xf3\xe3\xb9\xde\x34\xf7\x13\x25\xe7\xb2\x09\x25\xaa\x0f\xa4\xec\x95\xe6\x00\x53\x93\x29\x6e\x05\x0f\xa9\x4c\x35\x47\xc8\x3b\x91\x0a\x5f\x25\x8a\xbf\xec\xb9\xbe\x73\x43\xde\xc9\x7b\xea\xb6\x7c\x1c\x91\x59\x75\xb5\xb1\x1f\xbc\xf5\xed\x6f\x7c\x0c\x43\x54\x1f\x4c\xd1\xb6\xe2\x85\x25\x1d\x32\xac\x16\xd3\x6e\xb8\xfd\x6f\xf6\xfd\x54\x8d\xfb\xe9\x18\xec\xdb\x50\x06\x66\xa5\xfb\x30\xdb\x78\x9e\x73\x8f\x51\xba\xdd\xd6\xe6\xda\xab\x07\xab\x85\x0e\xd9\x69\x80\x95\x55\x59\xdf\x01\x00\x00\xff\xff\xf1\x97\xc7\xc5\x52\x03\x00\x00" +var _transactionsPacknftTransfer_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x53\xc1\x6e\x9c\x30\x10\xbd\xf3\x15\xd3\x3d\x24\x20\xb5\x70\xa9\x7a\x40\xd9\x4a\x69\xab\x48\xb9\x44\xab\x34\x6d\xcf\x5e\x33\xec\x5a\x71\x6c\x34\x1e\x4a\xa5\x2a\xff\x5e\xd9\x18\x43\x61\x7b\x29\xe2\x00\xf6\xf3\x9b\xf7\xde\x8c\xd5\x4b\x67\x89\xe1\xc1\x9a\xbb\xde\x9c\xd4\x51\xe3\x93\x7d\x46\x03\x2d\xd9\x17\xd8\xad\x97\x77\x59\xc4\x1f\x84\x7c\x7e\xb8\x7b\x8a\xb0\xf8\xb7\xcb\x32\x26\x61\x9c\x90\xac\xac\xc9\x09\xa5\xea\x14\x1a\xae\xe1\xb6\x69\x08\x9d\x7b\x0b\x83\xe2\x73\x43\x62\xb8\xff\x52\xc3\xb7\x7b\xc3\x1f\xde\x17\xf0\x3b\x03\x00\xa8\x2a\x78\xc4\x16\x09\x8d\x44\x60\x0b\x7c\xc6\x84\x46\xba\x76\x20\xad\xd6\x18\x98\x03\x5e\x23\xa7\xfd\x47\x6c\x6b\x10\x3d\x9f\xf3\xb5\xe0\xf2\x47\x84\x14\x70\x15\x55\x96\x9f\x67\xa2\x6d\x65\xdb\x86\xca\x73\x31\xaf\xa5\xc1\xce\x3a\xc5\x61\xc7\xbb\x66\x9b\x24\x10\x4a\x54\x3f\x91\x82\x84\x7f\x96\xe8\x08\x3b\x41\x98\x3b\x75\x32\x48\x51\xeb\x27\x4b\x64\x87\xef\x42\xf7\x58\xc0\xd5\xad\x94\xb6\x37\x3c\xc5\xb1\xe0\x1f\x43\x84\x3d\x9c\x90\x23\x6a\xce\xb6\xc8\x12\xbc\xaa\xe0\x18\x28\x41\x00\xad\xa3\x1c\x2b\x5f\xbb\xa0\x7f\x15\xa5\x7f\x1c\xea\xb6\x5c\xe4\x09\xfb\x78\xa4\x74\x6c\x49\x9c\xb0\x1c\xb9\x6f\xd2\x09\xff\xfc\x47\xe6\x1f\x73\x3f\x33\x35\x6c\x77\xbe\x8e\x85\x0e\x82\xcf\xc5\x9b\xcb\xb6\xba\xfe\xa8\x95\xdc\xba\x9b\xba\xb0\x99\x92\x64\x6d\xd1\x27\xd8\xcf\xa9\xfe\xe5\xa6\x94\xa2\x13\x47\xa5\x15\x2b\x74\x93\xdf\x8b\x16\xb6\x6b\x87\xa0\x2c\x6a\xf7\x64\xaf\xa3\x03\xfc\x85\xb2\x67\x5c\x74\xb5\xaa\x60\x0a\x28\x0d\x54\xb8\x46\xfe\xc7\x0e\x66\x35\xec\x20\x4c\x93\x06\xd0\xbf\x66\x72\x3c\x3a\xd8\xde\x8c\x4b\x9e\xcb\xc8\x90\xb3\xef\x50\x0d\x37\xef\x36\x1d\x4f\xdf\xf9\xf2\x92\xce\xdf\x45\x11\x7d\xbd\x66\x7f\x02\x00\x00\xff\xff\x8a\x1f\x81\x44\x35\x04\x00\x00" func transactionsPacknftTransfer_packnftCdcBytes() ([]byte, error) { return bindataRead( @@ -828,11 +836,11 @@ func transactionsPacknftTransfer_packnftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/packNFT/transfer_packNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0x7b, 0xe4, 0x9e, 0x62, 0xb5, 0x76, 0x3e, 0xe7, 0xd8, 0x21, 0xf6, 0xf6, 0x9d, 0xc6, 0xfd, 0xa1, 0x7a, 0x70, 0x27, 0xe7, 0xbf, 0xb8, 0x51, 0x96, 0x47, 0x6e, 0x98, 0x50, 0x18, 0x42, 0x1c}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsCreate_distributionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x53\xcd\xae\x9b\x4c\x0c\xdd\xf3\x14\x56\x16\x57\x20\xe5\x72\xbf\x35\x5f\x9a\xab\xe8\x46\x91\xb2\x49\x91\xc8\x0b\x38\x83\x0b\xa3\x10\x06\x79\x4c\xd2\x2a\x9a\x77\xaf\xf8\x0b\x3f\x95\xaa\xb2\x81\xb1\x8f\x0f\xc7\xc7\x1e\x7d\xab\x0c\x0b\xc4\xfb\x04\x7e\xb0\xb9\xc1\x7f\x3f\x9f\xcf\x30\xde\x27\xce\x79\x7d\xaa\x39\xa3\xba\x9e\x0e\xe7\x13\xde\xc8\xb9\x29\xae\x8b\xef\xd2\x94\xc9\xda\xb1\xe4\xd8\x27\x26\xd0\x21\x34\x82\x4e\xa6\x3c\xd4\x65\xa6\x2f\x05\x9d\xcd\x95\xca\x09\x78\x99\x72\xce\xf3\x84\xb1\xb4\xa8\x44\x9b\xd2\x3f\x1d\xce\x31\x9b\xbb\x4e\x89\x63\x94\x3c\x82\x98\xf5\x1d\x85\x9a\xc3\x1a\x44\x4b\x41\x11\x24\xc2\xba\xcc\xd6\x70\x23\xc1\x14\x05\x23\x78\x76\xa1\x21\xe5\x02\x78\x7a\x00\x00\x15\x53\x85\x4c\xe0\x6b\x6b\x6b\xe2\x08\x76\xb5\xe4\x3b\xa5\x4c\x5d\x4a\x83\x69\x41\xcd\x53\x90\x80\x86\x6f\xd0\xe1\xc2\x8b\x61\x36\x8f\xcd\x5b\xbc\x4f\x5a\x2b\x8e\x6d\x78\xeb\x37\x8d\x44\x30\x8f\x26\x62\x18\xb3\x56\x61\x00\x9f\x9f\x50\x61\xa9\x15\xf8\xab\x8e\x0a\x52\x43\x16\x4a\x23\x90\xe3\x9d\x60\x2c\x03\x26\x6b\x6a\x56\xb4\x0a\x46\x19\x1f\x1f\xbd\x02\xb8\xd5\xb6\x2f\x41\x18\x3c\x57\xa6\x28\xa8\xf5\x69\xd4\x6d\xb2\xa5\x67\xc1\xac\xa9\x87\x96\x3c\x65\x7c\x7c\x61\x35\xb6\x97\x91\x7c\x61\x85\x17\x5d\x68\xf9\xb5\x79\x7b\x2e\xa7\x12\x0e\x7c\x6e\xfb\x07\xfb\xff\x33\x7a\x53\x11\xa3\x18\xfe\x2b\xfd\xb0\x21\xe1\xf1\x7b\x0f\x77\x5b\x7f\xb9\x7c\xe1\x90\x6b\x26\xbe\xf8\x13\x5a\x4b\x2c\xfe\xa4\x97\x50\xe5\xa4\xae\x7e\xd0\x2c\x81\xb5\x98\x51\x04\xb0\x52\x58\x36\x46\x77\xc3\x7b\x75\x0e\xea\xa5\x65\x15\x2c\x29\x27\xfa\xff\x81\x72\x40\xcf\x29\x67\x86\x58\x05\x9b\xf7\x76\x43\x14\x13\x0a\x25\x39\x32\xa5\x2f\x3b\x34\x59\xf0\xa7\x43\x89\xa6\x87\xf5\xd4\xcf\x68\x66\xee\xa8\x5c\xf7\xcc\xbe\x1d\xa8\x23\xd8\xbc\x5b\xf5\xba\x1e\xed\x6b\x7a\x3b\x86\xaf\x8e\xc3\x79\xce\xfb\x1d\x00\x00\xff\xff\xd3\xf7\x7c\x2d\x1c\x04\x00\x00" +var _transactionsPdsCreate_distributionCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x53\x4f\x8f\xda\x3e\x10\xbd\xe7\x53\xcc\x2f\x07\xe4\x48\x6c\xf6\x9e\x1f\x65\xd5\x42\x91\xb8\x40\xa4\xa0\xf6\x3c\x38\xb3\xc4\x22\xb1\x23\xdb\x59\x5a\xa1\x7c\xf7\xca\xf9\x87\xc3\x5e\x5a\x5f\x20\x6f\xc6\xcf\xf3\xe6\xcd\x88\xaa\x56\xda\x42\xba\xcd\xe0\x5d\xab\x0a\xc2\x74\x9b\x85\xc1\x80\xde\xef\x71\x8a\xfc\x7a\xd8\x9d\x0e\x58\x51\xdb\x8e\x29\x3d\x36\xa5\xed\x07\x60\x08\xef\x9f\xe3\x07\x25\x77\x8d\xbc\x88\x73\x49\x27\x75\x25\x39\xe4\x3d\xc3\x61\x10\x58\x8d\xd2\x20\xb7\x42\x49\x66\x85\x2d\x29\x81\xcc\x6a\x21\x2f\x4b\xa8\xc8\x62\x8e\x16\x13\xb8\xf7\xd0\x18\x6a\x23\xb8\x07\x00\x00\xb5\xa6\x1a\x35\x01\x13\xc6\x34\xa4\x13\xc0\xc6\x16\xec\x9b\xd2\x5a\xdd\x7e\x60\xd9\xd0\x12\x36\x58\xe3\x59\x94\xc2\x0a\x32\x11\x2c\xbe\x72\xae\x1a\x69\x1d\x41\xc7\xe0\x4e\x49\x16\x04\x7c\x81\x9e\x24\x36\x56\x69\xbc\x50\x7c\xee\x68\x56\x1d\x65\xba\xcd\xe2\x8d\x26\xb4\xb4\x15\xc6\x46\xb0\x70\x80\x13\xbd\xef\xee\xac\x99\xd3\x97\xc0\x1c\xcd\x7a\xa2\x14\x6d\x11\x4d\x8f\xb9\xf3\xf6\x06\x35\x4a\xc1\x81\x85\xfd\x9b\x90\x2b\x32\x20\x95\x85\x02\x3f\x08\x1e\x14\xa0\xc9\xa8\x46\x73\x0a\xa3\x47\xbd\xaf\xaf\x43\xa9\x50\x35\x66\xb8\x82\x30\x3a\xc2\x55\x59\x52\xd7\xcf\x99\xc0\x9b\xb0\x45\xae\xf1\xb6\xc1\xfa\x21\x95\x7b\xcd\x99\x74\x77\xb1\x5e\xf6\xb3\x5f\xf1\xcf\x81\x65\xf9\xc9\xe1\xf8\x78\x93\xa4\x23\x58\xdc\x3f\x45\x52\xad\x3e\x44\x4e\xba\x5d\x33\xaf\x25\x4c\xe4\x24\xad\x78\x17\xce\xb7\x90\x63\x4e\x92\xd3\xf7\x5f\x58\xd5\x25\x1d\x76\xa7\xcd\x24\x23\x8c\xfe\x8b\xfe\x9f\x69\x51\x35\x69\xb4\x4a\xff\x93\x96\x71\x46\xe3\x63\x77\x9b\x5c\xa9\x13\xb6\x3f\x0e\x94\xed\x9a\x3d\xaf\x40\x3c\xc6\x7c\x3f\x1f\x05\xa1\x31\xa4\x2d\xf3\xfa\x1b\xf3\x82\xf8\x95\x45\x6e\x82\x8d\xc1\x0b\x25\xe0\x04\x4a\xe7\x6f\x3f\x54\x93\x1b\x30\x55\xfd\x3b\x8c\x9e\x29\x3d\x99\x7f\x41\x39\x66\xcf\x29\x67\x7d\x33\x1c\x56\x2f\xdd\x90\xf2\x6e\x96\xb3\x02\x35\xe5\xfe\x86\x00\xf3\x07\x25\xf1\x3f\x96\x7e\xdb\x93\x99\x07\x8f\xca\xc5\xc0\xec\xb6\x84\x99\x91\x3e\x81\xd5\x8b\xe1\x4b\x18\xf6\xbb\xfb\xf1\xd7\x7b\xfc\xd7\xf3\xb4\x41\x1b\xfc\x09\x00\x00\xff\xff\xba\xc6\x88\xfa\xa4\x04\x00\x00" func transactionsPdsCreate_distributionCdcBytes() ([]byte, error) { return bindataRead( @@ -848,11 +856,11 @@ func transactionsPdsCreate_distributionCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/create_distribution.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5a, 0x7c, 0x8b, 0x41, 0xb0, 0x13, 0x56, 0xd4, 0x9e, 0x50, 0x67, 0x26, 0x96, 0x62, 0xc7, 0x48, 0xdd, 0x1b, 0x7a, 0xdf, 0x23, 0x8e, 0x54, 0x29, 0x2b, 0x8a, 0x2, 0x90, 0x1f, 0x5e, 0xac, 0xe3}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsCreate_new_pack_issuerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x90\xcd\x8e\xa2\x40\x10\xc7\xef\x3c\xc5\x7f\x3d\x6c\x20\xf1\x63\xcf\x2e\xab\x6b\xf4\xb2\x37\xb2\x3c\x41\x4d\x53\x4a\x47\xec\xee\x14\x0d\x33\x86\xf0\xee\x13\xfc\xc0\xc1\x71\x4c\xa6\x4f\x9d\x4a\xd5\xef\xff\xa1\x0f\xce\x8a\x47\xb2\x49\xb1\x15\x7b\xc0\xaf\xb7\xa6\x99\x26\x9b\xb4\x6d\x83\xc0\x0b\x99\x92\x94\xd7\xd6\x84\x11\x9a\x00\x00\x9c\xb0\x23\x61\x84\xba\x2c\x2b\x96\x39\x56\x95\xcf\x57\x4a\xd9\xca\xf8\xeb\x4e\xf7\xfa\xcf\x6c\x86\x75\xce\x6a\x0f\xbd\x05\x9d\xf7\x40\x85\x30\x65\x47\xe4\x54\x33\x08\x09\xa9\xfd\xbf\x13\x0e\xc2\xa5\xad\x44\xf1\xb8\x5b\x2f\x2d\x32\x2e\xbd\xd8\x23\xb4\xef\x81\x7a\x8b\xb3\xf6\xf4\xc5\x8a\xd8\xd7\xf8\x67\xb2\x49\xa7\x37\xc6\x22\xec\x82\xcc\x31\x9c\xa6\xde\x0a\xed\x38\x21\x9f\x47\xf8\xf1\x07\x46\x17\x1f\xdc\x9e\xb8\x67\x68\x65\x0a\x6d\xf6\xe1\xf0\x7a\x4d\xee\x3f\xab\x3a\x1a\x1c\x14\xec\xe1\x10\x4f\xae\x97\x85\xa5\x2c\xfe\xfb\x6d\x33\x03\xe6\x35\xaf\xeb\xa7\xed\xe7\x4a\x2f\x7a\x25\xd5\x1c\xc6\x93\x13\x5b\x09\x93\xe7\x9b\x42\x18\x8d\xe1\xed\x33\xdd\xdf\x5f\x72\xbb\xfc\xf7\xa5\x36\x8f\xfa\xd0\x5c\xb3\xb4\x8b\xc7\x5d\x8d\xe1\x49\x76\xec\x9f\x79\xe8\x95\x97\x4b\xc0\x91\xd1\x2a\x1c\xad\x6d\x55\x64\x30\xd6\xa3\xf3\x01\x77\xc7\x65\x5d\xb3\x8c\x2e\xee\x5b\x04\x6d\x80\xe0\x3d\x00\x00\xff\xff\x9b\x55\x4c\x4a\xc4\x02\x00\x00" +var _transactionsPdsCreate_new_pack_issuerCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x91\xc1\x6e\x82\x40\x10\x86\xef\x3c\xc5\x5f\x0f\x66\x49\x10\xef\x96\x36\x6d\xf4\xd2\x1b\x29\x4f\x30\xae\x63\xd9\x88\xec\x66\x77\xb0\x31\x8d\xef\xde\x08\xa2\xa2\x69\x9b\x72\x9c\x19\xbe\xf9\xe6\x5f\xb3\x75\xd6\x0b\xf2\x45\x81\xb5\xb7\x5b\x8c\xf2\x45\x31\x8a\x22\xf1\x54\x07\xd2\x62\x6c\xad\x62\x7c\x45\x00\xe0\x3c\x3b\xf2\x0c\x65\x42\x68\xd8\xcf\x40\x8d\x94\xaa\x10\xeb\xe9\x83\x13\xcc\xc9\xd1\xd2\x54\x46\x0c\x87\x18\xe3\x57\xad\x6d\x53\x4b\xff\xf3\xf1\x9b\x4e\x31\x2f\x59\x6f\x60\xd6\xa0\xae\x0d\xaa\x3c\xd3\x6a\x8f\x92\x76\x0c\x42\x4e\x7a\xf3\xd6\xe2\xe1\x39\xd8\xc6\x6b\x4e\x8e\xe3\xc1\x62\xc5\x41\xbc\xdd\xc3\xc8\x19\x68\xd6\xe8\x5c\xd2\xd0\x59\xa4\x4b\xeb\xbd\xfd\xcc\xc6\xf9\xa2\x48\x2f\xac\x67\x75\xbc\x6d\x86\x61\xf5\x64\x9e\x93\x94\x31\x1e\x9e\x50\x9b\xea\x4a\xb6\xe5\x77\x70\x7d\x75\x59\xda\xd4\xae\x59\x56\x26\x94\x6a\x48\x9b\x93\x7b\x67\xbd\x8b\x07\x80\x8a\x05\x0e\xd9\xe4\x56\xb3\xb2\xb4\xca\x5e\xfe\x2b\x39\x40\xf7\x71\xb8\x73\xf5\x10\x45\x37\xe2\xfd\xba\x40\x3b\x56\xd9\xa4\x45\x6b\xcf\x24\x7c\x59\xa0\xe2\x04\x62\x7f\x5b\xfb\x78\xc7\x1d\x04\xd2\xc7\xf1\x67\x72\xbd\x4d\xdb\xbb\x7f\xa2\x9f\x05\x92\x01\x9a\xe4\x56\xf6\x14\xfd\x79\xaa\x0b\xea\x10\x1d\xa2\xef\x00\x00\x00\xff\xff\x1d\xdf\x0f\x71\xde\x02\x00\x00" func transactionsPdsCreate_new_pack_issuerCdcBytes() ([]byte, error) { return bindataRead( @@ -868,11 +876,11 @@ func transactionsPdsCreate_new_pack_issuerCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/create_new_pack_issuer.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0xc, 0xc4, 0xc5, 0x11, 0xae, 0xce, 0xcf, 0x63, 0x53, 0x95, 0xd0, 0x78, 0xe9, 0x9d, 0xc1, 0xcf, 0x58, 0xeb, 0x84, 0x11, 0xc5, 0xff, 0x34, 0xbe, 0xee, 0x39, 0xad, 0x82, 0x4b, 0x21, 0x2c}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsMint_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x51\xc1\x8a\xdb\x30\x10\xbd\xfb\x2b\x1e\x7b\x28\x0e\x04\xd3\x43\xe9\xc1\x34\xbb\x84\x84\xa5\x7b\x68\x30\x78\xf7\x54\x7a\x18\xcb\x13\x47\xac\x2d\x09\x69\xbc\x6d\x09\xfa\xf7\xe2\xd8\x9b\xb8\x5e\x5d\x24\xcd\xbc\x37\xf3\x66\x9e\xee\x9c\xf5\x82\x62\x5f\xe2\xe8\x6d\x87\xcf\x7f\xce\xe7\xac\xd8\x97\x31\x26\x53\x6a\xf8\x93\x7a\x3d\x3c\x3e\x1f\xa8\xe3\x18\xe7\xb8\x31\xbe\xad\x6b\xcf\x21\xdc\x28\x07\x6b\x1e\x7b\xd3\xe8\xaa\xe5\x67\xfb\xca\x66\x46\x59\xa6\x62\x4c\x12\xf1\x64\x02\x29\xd1\xd6\x20\xad\x75\x90\xa7\x3a\xc7\xcb\x93\x91\xaf\x5f\xd6\x50\xb6\xeb\xb4\x7c\xa7\x70\xe2\x90\xe3\x67\x29\x5e\x9b\xe6\xd7\x1a\x3a\x84\x9e\x7d\x8e\xa9\x39\x56\x38\x27\x00\xe0\x3c\x3b\xf2\x9c\xba\x3a\xe4\xd8\xf6\x72\xda\x2a\x65\x7b\x23\xef\xf9\xe1\xb4\x2c\xf0\xac\xde\xb6\x4a\x09\x36\x68\x58\x26\x50\x3a\x56\x5d\x7d\x40\x62\x73\x25\x64\x0d\xcb\x8e\x1c\x55\xba\xd5\xf2\x37\x5d\xae\x27\xdb\xd9\xb6\xe5\xcb\x30\x45\x5f\xb5\x5a\x15\x24\xa7\x55\x56\x59\xef\xed\xef\x6f\x9f\xce\xcb\x05\x7c\xc0\xc7\xfb\xf4\xd6\x7f\x38\x0f\x0f\x70\x64\xb4\x4a\xef\x5e\x0c\x55\x2d\x43\x2c\xc6\x72\xb8\x71\x31\x92\xe1\xf9\xc8\x9e\x8d\x62\x1c\xad\x1f\x34\x6b\xa7\xd9\xc8\xdd\xff\x23\x29\x72\xd8\xc0\xd5\xe1\xaa\xab\xd8\x97\xd9\x5e\x07\xf1\xba\xea\x87\x7a\x3f\xc8\x50\xc3\xfe\x3e\x1d\xac\xcb\xf1\x9e\x9e\xc2\xa5\x58\x4f\x0d\x5f\x46\x9b\xe9\x73\x75\x40\x6d\x39\xc0\x58\xc1\x89\xde\x18\x03\x07\xdd\x48\x9a\x69\x50\xe4\xb2\x4e\x1b\x99\x36\x77\x35\x7d\xbc\x97\xa6\xcf\x7f\x37\xe3\xc7\x7b\x7d\xf1\x65\x47\x2e\xbf\x3c\xc6\x16\x31\x89\xc9\xbf\x00\x00\x00\xff\xff\x47\xbe\x6e\x56\xd9\x02\x00\x00" +var _transactionsPdsMint_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x7c\x52\xb1\x6e\xdb\x30\x10\xdd\xf5\x15\x0f\x1a\x02\x19\x30\x34\x15\x1d\x84\x3a\x81\x1b\x23\x68\x86\x1a\x02\x94\x74\x29\x3a\x9c\xa8\xb3\x4c\x44\x22\x09\xf2\x94\x0e\x86\xfe\xbd\x90\x29\xdb\xa9\x0d\x84\x0b\xa5\xc7\xf7\xf8\xee\xf1\x4e\xf7\xce\x7a\x41\xb9\xa9\xb0\xf3\xb6\x47\x5a\x6e\xaa\x34\x99\xd1\xc3\x21\x2f\x49\xbd\x6d\x9f\x5e\xb6\xd4\xf3\x38\x9e\x28\x11\x3b\xd3\xb6\xd6\x3c\x0d\xa6\xd5\x75\xc7\x2f\xf6\x8d\xcd\x4c\xbb\x86\xd3\x24\x11\x4f\x26\x90\x12\x6d\x0d\xb2\x46\x07\x79\x6e\x0a\xbc\x3e\x1b\xf9\xfa\x65\x09\x65\xfb\x5e\xcb\x0f\x0a\x7b\x0e\x05\x7e\x57\xe2\xb5\x69\xff\x2c\xa1\x43\x18\xd8\x17\x58\x37\x8d\xe7\x10\xb0\xc0\x21\x01\x00\xe7\xd9\x91\xe7\xcc\x35\xa1\x00\x0d\xb2\xcf\xbe\x5b\xef\xed\xdf\x5f\xd4\x0d\xbc\xc0\xdd\x5a\x29\x3b\x18\x39\xd1\xa7\xd5\xb1\xc0\xb3\x7a\x5f\x2b\x25\x58\xa1\x65\x99\x49\x59\x34\x59\xdc\x30\xb1\x3a\x0b\x72\x45\x8e\x6a\xdd\x69\xd1\x1c\xf2\xfa\xe8\xf5\xed\xee\x70\x1d\x33\x7f\xb4\x5d\xc7\xc7\x8c\xe5\x50\x77\x5a\x8d\xf7\xd9\xf5\x43\xde\x70\x4a\x92\xfd\xc5\x7c\x5a\x0f\x0f\x70\x64\xb4\xca\xd2\x57\x43\x75\xc7\x10\x8b\xe8\x89\x8b\x18\x51\x0d\xcf\x3b\xf6\x6c\x14\x63\x67\xfd\x54\xb0\x76\x9a\x8d\xa4\xff\xe7\x51\xe4\xb0\x82\x6b\x42\x1e\xc4\x7a\x6a\xf9\x1c\xa2\xdc\x54\xf9\x46\x07\xf1\xba\x1e\xa6\x7b\x7f\x92\xa1\x96\xfd\x7d\x36\x75\xb2\xc0\xe9\x78\x86\xab\xa8\xfe\xac\x66\xd7\x04\x34\x96\x03\x8c\x15\xec\xe9\x9d\x31\xe9\xd1\xc7\x0b\x3e\xd4\xa5\xc8\xe5\xbd\x36\x32\x3f\xcf\x79\x28\xe2\x7e\x3d\x14\x1f\xff\x2e\x83\x11\xf7\xe5\xb1\x51\x8f\xe4\x8a\xe3\x47\xb4\x18\x93\x31\xf9\x17\x00\x00\xff\xff\xc4\xc6\x60\xdf\xe3\x02\x00\x00" func transactionsPdsMint_packnftCdcBytes() ([]byte, error) { return bindataRead( @@ -888,11 +896,11 @@ func transactionsPdsMint_packnftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/mint_packNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0xea, 0xa9, 0x5f, 0x9, 0x67, 0x92, 0x14, 0x4b, 0xd8, 0xf2, 0x70, 0x87, 0xf, 0x11, 0x1b, 0xf3, 0x5f, 0x96, 0x2f, 0x43, 0x74, 0xfc, 0x58, 0x67, 0xc, 0xa9, 0x11, 0x37, 0xcc, 0x66, 0x92}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsOpen_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x52\x4d\x8b\xe2\x40\x10\xbd\xe7\x57\x14\x73\x58\x32\x20\x61\x0f\xcb\x1e\xc2\x3a\x83\x28\x82\x87\x95\x80\xce\x69\x98\x43\xa5\x53\xc6\xc6\xd8\xdd\x54\x4a\x67\x97\x90\xff\x3e\xb4\x1d\x8d\x89\x4c\x2e\x9d\xae\xf7\x5e\x7d\xf5\xd3\x47\x67\x59\x20\x5b\x6c\x60\xc7\xf6\x08\x3f\xff\x35\x4d\x92\x2d\x36\x6d\x1b\x75\x50\xd3\x24\x73\x5b\x55\xa4\x44\xe7\x15\xad\x97\xdb\x35\x1e\xa9\x6d\xef\xe8\x43\x78\x56\x14\x4c\x75\xdd\x27\x58\x5b\xb3\x3c\x99\xd2\xc3\x5b\x7b\x20\x73\xa7\x1c\x43\x6d\x1b\x45\xc2\x68\x6a\x54\xa2\xad\x81\xb8\xd0\xb5\xac\x8a\x14\xde\x56\x46\x7e\xff\x9a\x80\x43\x75\xb8\xbf\x9b\x9d\xcc\xad\x11\x46\x25\xbe\x6e\x9d\xc2\x7b\x57\xff\x63\x00\xfa\x9e\x53\x78\xdf\x08\x6b\x53\x06\x68\x55\x78\x76\x48\xf4\x31\x01\xfb\x69\x88\x53\xe8\xd4\x13\x58\x2f\xb7\x19\xdb\xb3\x2e\x88\x33\x94\x7d\x0a\x19\xeb\x33\x0a\xf9\xcb\x33\x34\x11\x00\x80\x63\x72\xc8\x14\x3b\x9f\x6a\x76\x92\xfd\x4c\x29\x7b\x32\x72\xc5\xfd\x57\x91\x80\x42\x07\x53\x70\x45\x9d\xe4\x96\xd9\x7e\xfe\xf9\x91\x2d\x36\xc9\x42\xd7\xc2\x3a\x3f\xf9\x49\xff\xa2\xc1\x92\xf8\x25\xf6\xbb\x49\xe1\x0a\x77\xe1\x8d\x58\xc6\xb2\x2b\xfd\xfa\x0a\x0e\x8d\x56\xf1\x93\x2b\x6a\x28\x2c\xd5\x60\xac\xc0\x1e\xcf\x04\x5e\x03\xc7\x20\x7a\x7a\x1e\xf4\xc0\xa4\xce\x33\xa5\x04\xa6\x50\x92\x74\x8d\xc6\x97\xa9\x1f\x89\x30\xbd\xf1\x93\x92\x64\x8e\x0e\x73\x5d\x69\xf9\x1f\x7f\xe3\x86\x5b\xd0\x9a\xec\x94\x57\x5a\x5d\x7a\xbd\x8d\xdb\x8c\x1f\xfa\x81\xdf\xbe\xc4\x7d\x1b\xfe\xeb\xc7\x7c\x33\x98\x57\x04\x62\x21\xa4\x83\x5e\x0b\x41\x0c\x4c\x3b\x62\x32\x8a\x60\x67\xd9\xb7\xae\x9d\x26\x23\x77\x2b\x50\xe8\x12\xeb\xc8\x64\xa8\x0e\xeb\xe5\x36\x1e\xd4\xba\xba\x2c\x9c\x93\x01\x76\x75\x5c\x38\x87\xd8\xa3\xfb\xc6\x91\x6f\xf9\xc1\x90\xa3\xc0\x03\xfb\xe2\xd1\x70\x0e\x31\xff\x3a\x73\x74\xe9\xe5\x67\x08\xa9\x7e\xb3\x03\xff\x8e\x0c\xdd\x8b\xc2\x92\xda\xa8\x8d\xbe\x02\x00\x00\xff\xff\x40\x3c\xf7\x6f\x0d\x04\x00\x00" +var _transactionsPdsOpen_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x52\xc1\x6e\xdb\x30\x0c\xbd\xfb\x2b\x38\x1f\x0a\x1b\x28\x7c\x1a\x76\x30\x96\x16\x59\xb2\x00\x39\x2c\x30\x90\x74\x97\x61\x07\x5a\x66\x12\x21\x8e\x24\x48\x74\x3b\xa0\xc8\xbf\x0f\xb2\x1c\xbb\x76\x1a\x5f\x28\x3f\x3e\x52\x8f\xd4\x93\x67\xa3\x2d\x43\xb1\xdc\xc2\xde\xea\x33\xc4\xc5\x72\x1b\x47\x1d\xfa\xf3\x1f\x9e\x4d\x4d\x9b\xd5\xae\x4b\x0e\x40\xcf\xd9\x68\xb5\x6a\xd4\x41\x96\x35\xed\xf4\x89\x54\xc7\x9c\xc2\x71\x14\xb1\x45\xe5\x50\xb0\xd4\x0a\x92\x08\x00\xa0\x92\x8e\xd7\x55\x0e\x2f\x6b\xc5\xdf\xbe\x3e\xb6\x98\x41\x71\x9a\x62\x6a\xcf\x0b\xad\xd8\xa2\xe0\x79\x55\x59\x97\xc3\x1f\x1f\xc9\xb9\xbf\x37\x84\x0d\x9e\xc9\x13\xb6\x6c\xa5\x3a\x0c\xf9\x75\xe5\xd1\xd0\xb5\x43\xf5\x9b\x22\x9b\x43\xd7\x2a\x60\x42\xd7\x35\xb5\x1a\xb7\xac\x2d\x1e\xa8\x40\x3e\xe6\xf0\xe1\x27\x4a\xe1\x3d\x28\xb5\x64\xd0\x52\x62\x7c\x67\x6c\xf8\x98\xfc\xd0\xd6\xea\xb7\xdf\x58\x37\x94\xc2\xc3\x5c\x08\xdd\x28\xbe\xd2\xfd\x57\x13\x83\x40\x03\x33\x30\x95\xcb\x5c\x68\x9a\x95\x6d\xd9\xf7\x87\x62\xb9\xcd\x96\xd2\xb1\x95\x65\xe3\x15\xfc\x42\x85\x07\xb2\x4f\x89\x5f\x69\x0e\xd7\x74\x07\x7f\x90\x94\xf6\x17\xf8\xef\xf9\x19\x0c\x2a\x29\x92\xd8\x54\x0e\x2a\x4d\x0e\x94\x66\x38\xe2\x2b\x81\xaf\x87\x73\x68\x10\xa7\x23\x5d\x96\xc4\xeb\x5c\x08\x86\x19\x1c\x88\x3b\xf1\x49\xbb\xa3\x5b\x22\xcc\x7a\x7e\x26\xd0\x60\x29\x6b\xc9\x92\x5c\x3f\xcb\xfb\xd4\x00\xd9\xa2\xdf\x6c\xd1\x94\xb5\x14\x97\xa7\x24\x1c\xfc\x04\x89\xac\x48\xb1\xdc\x4b\xff\x20\xb1\xc0\x8a\x94\xa0\xc1\x6d\x43\x6d\x9c\x7e\xb9\x37\xed\x8b\xc2\xb2\x26\x60\x0d\x41\x04\x0c\x55\x10\x6e\x02\x4b\x7b\xb2\xbe\x35\xec\xb5\xf5\x13\x48\x23\x49\x71\x9c\x46\x7d\x4f\x81\x26\xd3\x86\x54\x81\xe2\xb4\x59\xed\x92\xd1\x65\x57\xc3\x86\xf8\x38\xca\x5d\x8d\x1b\xe2\x38\x77\x6b\xe0\x29\x72\x97\xdf\xf9\x79\x8a\xdc\xf0\x5b\x7f\x87\x38\xce\xf9\x77\x5a\xa0\xc9\xdb\xc3\x38\x75\xc7\xec\x9f\xc2\x43\x65\xd8\xff\x25\xba\x44\xff\x03\x00\x00\xff\xff\x3c\xe8\xde\x53\x3d\x04\x00\x00" func transactionsPdsOpen_packnftCdcBytes() ([]byte, error) { return bindataRead( @@ -908,11 +916,11 @@ func transactionsPdsOpen_packnftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/open_packNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0xb5, 0xeb, 0xea, 0x71, 0x41, 0xb4, 0xc9, 0xa6, 0x25, 0xaa, 0xc6, 0xf9, 0xee, 0x8d, 0x35, 0x8d, 0xae, 0x44, 0xc6, 0x21, 0xc4, 0xca, 0xb5, 0xcb, 0xe4, 0xf5, 0xe6, 0x2, 0x65, 0x6d, 0xf0}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsReveal_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x54\x4d\x6f\xda\x40\x10\xbd\xfb\x57\x8c\x38\x44\x46\x8a\xac\x1e\xaa\x1e\xac\x92\x88\x82\x22\xe5\x50\x64\x85\xe4\x14\xf5\x30\xac\x07\x58\xc5\xec\x6e\x77\xc7\xa4\x15\xf2\x7f\xaf\xd6\x6b\xc0\x1f\xa4\x42\xf1\xc1\xc6\xef\xcd\x9b\x19\xbf\xd9\x41\xee\x8c\xb6\x0c\xd9\x7c\x09\x6b\xab\x77\xf0\xe5\xcf\xe1\x90\x64\xf3\x65\x55\x45\x0d\xe5\xdf\x51\xbc\x2d\x1e\x9e\x17\xb8\xa3\xaa\x6a\xc7\x05\x7c\x9a\xe7\x96\x9c\xeb\x48\x66\xba\x28\x48\xb0\x5c\x15\x74\x49\xd9\xa5\x07\x09\x16\x5a\x3d\x94\x6a\xe3\xe9\x67\xfd\x46\xaa\xa5\xec\x53\x55\x15\x45\x6c\x51\x39\x14\x2c\xb5\x82\x38\x02\x00\xc8\xa5\xe3\xc7\x3c\x85\x97\x47\xc5\xdf\xbe\xde\xd6\x98\x41\xf1\xd6\xc7\xd4\x9a\x67\x5a\xb1\x45\xc1\xbe\x09\x97\xc2\x6b\xd3\xcc\xaf\x41\x80\xff\x88\x14\x5e\x97\x6c\xa5\xda\x9c\xe9\xc7\xdc\xab\x42\xd2\x06\x75\x58\x70\x0a\x21\x30\x20\xfa\x5d\x91\x4d\xa1\xc9\xdd\x60\x86\xd4\x13\xfd\x2e\xc9\x71\x0a\x3f\xb4\x2e\x02\xbc\x78\x78\xce\xac\xde\xcb\x9c\x6c\x86\xbc\x4d\x21\xb3\x72\x8f\x4c\xfe\x25\x1a\xc3\x21\x7c\x8b\x25\x83\x96\x62\xe3\x8b\x4f\x4b\xde\x4e\x85\xd0\xa5\xe2\x23\xef\xaf\x82\x18\x04\x1a\x98\x80\xc9\x5d\xb2\xd2\xd6\xea\xf7\xef\x37\xd9\x7c\x99\xcc\xa5\x63\x2b\x57\xa5\x37\xec\x27\x2a\xdc\x90\xbd\x8b\xbd\xc5\x29\x1c\xe9\x06\x5e\xb2\xb6\xb8\xa9\x6b\x8f\xe1\xfe\x1e\x0c\x2a\x29\xe2\x91\xc9\x1d\xe4\x9a\x1c\x28\xcd\xb0\xc5\x3d\x81\xd7\xc0\x2e\x88\x46\xe3\x4e\x0f\xbe\x83\xfe\x21\x6a\xda\xf1\xd8\x13\x19\x4b\x8e\x14\xa3\x6f\x27\x96\x79\xda\x4c\xea\x5c\x10\xe2\xd1\x42\x83\x2b\xc5\xb6\xa6\x5a\xf9\xe5\xba\x6d\x23\xdc\xdc\x80\x49\x1c\x23\x97\x0e\x26\x17\xaa\x2e\x6b\x2a\x79\xa2\x3d\x61\x41\x79\xcb\xac\x63\xb3\x96\xc4\x7e\x2a\x04\xc3\x04\x36\xc4\x8d\xab\x71\x3d\xbe\xf1\xc5\x60\x98\x9c\x34\xc9\x86\x78\x86\x06\x57\xb2\x90\xfc\x37\xfe\x60\x0b\x4e\xa0\x56\x59\xb9\x2a\xa4\xa8\xcd\x3d\xcd\xe7\xd0\x3f\xe0\x83\xf8\xea\x2e\xee\xb6\xe2\xaf\xf3\x6c\x5e\x14\xae\x0a\x02\xd6\x10\x52\xc2\x59\x0f\x21\x01\x58\x5a\x93\x25\x25\x08\xd6\xda\xfa\xf6\xa5\x91\xa4\x78\xd4\x4d\x2b\xd0\x24\xde\xdc\xc6\xc2\x78\x50\xf3\xb8\x64\xe1\x79\x3b\xe0\x8f\x0b\x17\x9e\x43\x7e\xb8\x7c\x7d\xe4\xbf\x9a\xb0\x8f\x3d\xe0\xa2\xa2\x5e\xd1\xf0\x1c\xf2\x7e\x7a\x33\x34\x69\xfd\x63\x48\x8b\xb3\xfb\x9d\xad\xec\xad\x69\x47\x77\xf6\xb1\x02\x2a\x1c\xf5\xce\x99\x37\xd6\xd6\x47\xf0\x43\x6b\xaf\xb1\xf7\x1a\x8b\x3f\x6b\x33\x7c\xca\x6a\xb8\xc2\x6e\x38\xfd\x3f\xfa\x7b\xcb\xa9\x28\xdc\xab\xe8\x5f\x00\x00\x00\xff\xff\xb2\xa2\x84\x94\x93\x06\x00\x00" +var _transactionsPdsReveal_packnftCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x54\xc1\x6e\xdb\x30\x0c\xbd\xfb\x2b\x38\x1f\x02\x1b\x28\x7c\x1a\x76\x30\x96\x16\x6d\xb3\x02\x3d\x2c\x08\x9a\x76\x97\x61\x07\x46\x66\x12\xa1\x8a\xa4\x49\x74\x3b\x20\xc8\xbf\x0f\xb2\x1c\x3b\xb1\xd3\x7d\xc0\x7c\xb0\x9c\xc7\x47\xea\xe9\x89\x8c\xdc\x59\xe3\x18\x16\xb3\x25\xac\x9d\xd9\x41\xba\x98\x2d\xd3\xa4\x45\xf7\xfb\x62\x81\xe2\x75\xfe\xf0\x3c\xc7\x1d\x1d\x0e\x47\x4a\xc4\x3a\xda\xb7\x3f\xb8\xb3\x8a\xe6\x0f\xcf\x2d\xa1\x07\x3a\xce\xdc\xe8\x87\x5a\x6f\xe4\x4a\xd1\xb3\x79\x25\xdd\x32\x87\x70\x9a\x24\xec\x50\x7b\x14\x2c\x8d\x86\x2c\x01\x00\xa8\xa4\xe7\xc7\xaa\x84\x97\x47\xcd\x5f\x3e\x5f\x35\x98\x45\xf1\x3a\xc4\xf4\x9a\xef\x8d\x66\x87\x82\x6f\xab\xca\xf9\x12\x7e\x86\x95\xbc\xff\x35\x22\x84\x03\x05\xc2\x92\x9d\xd4\x9b\x3e\xfe\x58\x05\x34\x56\x6d\x51\x8f\x8a\x4b\x88\xc4\x88\x98\x77\x4d\xae\x84\xb6\x78\x8b\x59\xd2\x4f\xf4\xbb\x26\xcf\x25\xdc\x19\xa3\x22\x2c\x8c\x52\xd4\x1c\x66\xc9\xc6\xe1\x86\x16\xc8\xdb\x50\xad\xfb\x91\xe4\xb0\x8f\x47\x72\x64\xd1\x51\x66\x83\x04\xac\x79\x9b\xdd\x19\xe7\xcc\xfb\x0f\x54\x35\xe5\x30\xb9\x15\xc2\xd4\x9a\x8f\xf4\xf0\x28\x62\x10\x68\x61\x0a\xb6\xf2\x85\x8f\x45\x8b\x55\x93\xf6\x75\xb2\x98\x2d\x8b\x99\xf4\xec\xe4\xaa\x0e\x0a\xbe\xa3\xc6\x0d\xb9\xeb\x2c\x78\x5f\xc2\x31\xdc\xc2\x27\x92\xf2\x6e\x83\xf0\xdc\xdc\x80\x45\x2d\x45\x96\xda\xca\x43\x65\xc8\x83\x36\x0c\x5b\x7c\x23\x08\xf9\xb0\x8b\x05\xd2\xfc\x4c\x57\x50\x35\x6c\xa0\x56\x5a\xc0\x9e\xc8\x3a\xf2\xa4\x19\x83\xb4\x4c\x56\x65\x7b\xa7\x97\x37\x87\x2c\x9d\x1b\xf0\xb5\xd8\x36\xb4\x34\x4f\x3a\x9a\x5c\x9f\x9a\x0f\x93\x09\xd8\xc2\x33\x72\xed\x61\x7a\x41\xc2\xb2\x09\x15\x4f\xf4\x46\xa8\xa8\x3a\x71\xf3\xa8\xdc\x91\x78\xbb\x15\x82\x61\x0a\x1b\xe2\xd6\xf6\xac\xb9\xf4\xfc\x22\x19\xa6\x5d\x4e\x21\xd0\xe2\x4a\x2a\xc9\x92\x7c\x77\x13\xfb\x61\x9f\x17\xf7\x5d\x5f\x2c\xea\x95\x92\xe2\x70\x9d\xc5\x8f\xe0\x7f\x26\x2b\xd2\x2c\xd7\x32\x74\x59\x2a\xb0\x22\x2d\xa8\x1f\xaa\x3e\x37\xcd\x3f\x9d\x2b\x3a\xbf\xaf\x17\x8d\x2b\x45\xc0\x06\xa2\x10\xe8\x33\x21\xee\x06\x8e\xd6\xe4\x42\x79\x58\x1b\x17\x4e\x21\xad\x24\xcd\xe9\x79\x59\x81\xb6\x08\x1e\xb7\x4e\x66\xa3\x3d\x8f\x23\x1a\xd7\xab\x51\xfc\x38\xae\x71\x1d\xc7\xc7\xa3\x3b\x44\xfe\x99\xd3\x4e\xf3\x10\xb9\x98\xd3\x4c\x78\x5c\xc7\xf1\x70\x8d\xf7\x68\xcb\xe6\x63\x1c\xfe\x60\x9a\x2f\xc2\x67\xc9\xbd\x9d\x07\x20\xe5\x69\xd0\x75\xc1\x5f\xd7\x34\xe4\x7f\xef\x70\xfc\x37\x0d\xef\x8f\x0c\x4a\xe2\xfb\x90\xfc\x0d\x00\x00\xff\xff\x4c\x52\x71\x77\x9c\x06\x00\x00" func transactionsPdsReveal_packnftCdcBytes() ([]byte, error) { return bindataRead( @@ -928,11 +936,11 @@ func transactionsPdsReveal_packnftCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/reveal_packNFT.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf5, 0x9d, 0x18, 0x12, 0x3d, 0x6e, 0x5d, 0xe, 0x0, 0x5b, 0xac, 0x7d, 0xf, 0xc7, 0x7b, 0x34, 0xc4, 0x15, 0x85, 0x6c, 0x2e, 0xab, 0xfc, 0xf4, 0x71, 0xa5, 0xce, 0x2a, 0x4a, 0xd0, 0xeb, 0x2}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsSet_pack_issuer_capCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x90\xcf\x6e\xc2\x30\x0c\xc6\xef\x7d\x0a\xaf\x87\x29\xb9\x54\x3b\xb3\x31\x84\xe8\x85\x5b\x35\x9e\xc0\xa4\x2e\x8d\x80\x24\x72\x5c\xb6\xa9\xea\xbb\x4f\x69\x0b\x1b\x68\x3e\x44\x8a\x3f\xff\xf9\x7d\xb6\xe7\xe0\x59\xa0\x2a\x77\xd0\xb0\x3f\xc3\xcb\x57\xdf\x17\x55\xb9\x1b\x86\x2c\x13\x46\x17\xd1\x88\xf5\x0e\x94\x8d\xb1\x23\x5e\xc0\xba\xae\x99\x62\xd4\xd0\x67\x00\x00\x81\x29\x20\x93\x0a\x75\x5c\xc0\xba\x93\x76\x6d\x8c\xef\x9c\x5c\xf5\x14\x27\x12\x30\x18\x60\x09\xa1\x8e\xc5\x81\x64\x83\x01\xf7\xf6\x64\xe5\xfb\xed\xb9\x2a\x77\x45\x69\xa3\xb0\xdd\x77\x69\xd3\x86\x09\xc5\x73\x9f\xf2\xdb\x24\xcc\x89\xe1\x5d\x5d\x4b\xe7\x4c\xc5\xf6\x52\xa1\xb4\xfa\xb6\xc8\x36\xf0\x64\x30\x14\xa6\x25\x73\x54\x7f\x11\x46\x54\x74\xd6\x80\xca\x0d\x3a\xe7\x05\xf6\x9e\xd9\x7f\x42\xec\x4c\x9b\xe8\x66\xa0\x5c\xc3\xad\x69\x00\x3a\x45\x7a\x98\x92\xcc\xc4\xd1\xc2\x07\x35\xb0\x84\x03\xc9\x6c\x79\x3e\x91\xfe\xcf\x61\x85\xe6\xb8\x1d\xe5\xfe\xfe\x3b\xce\x31\x96\x2e\x74\x75\xf8\xa8\x5d\x74\x31\xa1\x2a\x7d\x07\x92\x62\xb5\x9a\x5c\xa9\xdc\xf9\xf1\xc4\x8d\xe7\x44\x27\xd6\x1d\xa0\x4e\xa7\xc2\x90\xdf\xb7\xdd\xd8\x8b\x48\x52\x4e\x25\xca\x60\x58\xa4\x7e\xfd\xfa\x6b\x3e\x9b\xde\x6c\xc8\xb2\x9f\x00\x00\x00\xff\xff\xf5\x98\xcb\xe5\x25\x02\x00\x00" +var _transactionsPdsSet_pack_issuer_capCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x90\xcf\x6e\x83\x30\x0c\x87\xef\x3c\x85\xc7\xa1\x22\x17\x1e\xa0\x6b\x57\x55\xe5\xb2\x1b\x1a\x4f\xe0\x1a\x53\xa2\xb6\x49\xe4\x98\x4d\xd3\xd4\x77\x9f\x12\xfa\x97\x13\xd8\xe6\xe7\xef\xb3\x3d\x07\x2f\x0a\x6d\xd3\xc1\x20\xfe\x0c\x65\xdb\x74\x65\x51\xa8\xa0\x8b\x48\x6a\xbd\x83\xca\xc6\x38\xb1\x2c\x61\xdb\xf7\xc2\x31\x1a\xf8\x2b\x00\x00\x82\x70\x40\xe1\x2a\xf4\x71\x09\x38\xe9\x58\xed\x30\xe0\xde\x9e\xac\x5a\x8e\x06\x16\x5b\x22\x3f\x39\xbd\xcd\xa7\xe7\xc4\x0a\x84\x01\xd6\x10\xfa\x58\xd3\xd3\x7c\x1d\xd5\x0b\x1e\xb8\xce\xdb\x56\x39\xaf\x6d\xba\x7a\x27\x8c\xca\x8d\x8d\x6a\x60\x91\x0a\xe9\x55\xec\x7e\x4a\x6c\xb9\xe9\xe5\xa3\xba\x35\xae\x85\x6e\xce\x6a\x51\x47\x73\xdf\x6d\x07\x78\x23\x0c\x35\x8d\x4c\xc7\xea\x99\x2a\xdb\xa0\xb3\x54\x95\x84\xce\x79\x85\xbd\x17\xf1\x3f\x10\x27\x1a\xe1\x4e\xf9\x5b\x3e\xc2\x2e\xc5\x8b\x53\x64\xdd\x61\xf8\xe2\x01\xd6\x70\x60\xbd\x9a\x5f\x2f\x67\x5e\x45\xe7\xec\x55\x96\x69\x91\x8e\x9f\x79\x68\x76\x78\x7c\xe7\x38\xfa\x36\x2f\x90\x9b\xcd\x8d\xd3\xf9\x7c\xc7\xc1\x4b\xda\xad\xd6\x1d\xa0\x4f\xfe\x18\x9e\x20\xef\x54\x75\x64\x6d\xe6\x76\x45\x18\x96\xe9\x5f\xf3\x5e\xcc\x22\x97\xe2\x3f\x00\x00\xff\xff\x53\x67\x76\x39\x05\x02\x00\x00" func transactionsPdsSet_pack_issuer_capCdcBytes() ([]byte, error) { return bindataRead( @@ -948,11 +956,11 @@ func transactionsPdsSet_pack_issuer_capCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/set_pack_issuer_cap.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x86, 0x9e, 0x75, 0xae, 0x35, 0x75, 0x3a, 0xb3, 0xac, 0x2e, 0x91, 0x7f, 0xf7, 0x3f, 0x9b, 0xfc, 0xaa, 0xef, 0x2d, 0xc6, 0xa1, 0x68, 0xb2, 0x2d, 0x48, 0x79, 0xb8, 0x2e, 0xec, 0xb8, 0xd4, 0x58}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsSettleCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x90\x4f\x4b\xc3\x40\x10\xc5\xef\xf9\x14\x8f\x1e\x24\x85\x12\x3c\x88\x87\xa0\x96\x62\x10\x7a\xb0\x04\xa2\x27\xf1\xb0\xd9\xdd\x36\x0b\xc9\xee\x32\x3b\x31\x42\xd8\xef\x2e\x69\xda\xfa\x07\x9c\xcb\xc0\xfc\x66\x98\xf7\x9e\xe9\xbc\x23\x46\x59\x54\xd8\x93\xeb\x70\xfd\x39\x8e\x59\x59\x54\x31\x26\x27\x34\x8e\xd9\xa3\x6b\x5b\x2d\xd9\xd4\xad\xde\x3d\xbd\xec\x44\xa7\x63\xfc\xb1\xfe\x1b\x6f\x94\x22\x1d\x42\x8c\x49\xc2\x24\x6c\x10\x92\x8d\xb3\x48\x95\x09\xbc\x55\x39\x5e\xb7\x96\x6f\x6f\x56\xb0\x7b\xde\x16\x21\xc7\xdb\x3c\x78\x5f\x62\x4c\x00\xc0\x93\xf6\x82\x74\xea\x55\xc8\xb1\xe9\xb9\xd9\x48\xe9\x7a\xcb\x67\x3e\x55\xab\x19\x52\x78\xdc\xc3\xab\x90\xd5\x8e\xc8\x0d\x77\x57\x65\x51\x65\x85\x09\x4c\xa6\xee\xa7\x9f\xcf\xc2\x8a\x83\xa6\x87\x74\x92\x9a\xe3\x8c\x4f\xe3\x8a\x1d\x89\x83\x2e\x05\x37\x4b\xac\xd7\xf0\xc2\x1a\x99\x2e\xbc\x0a\x50\x4e\x07\x58\xc7\x68\xc4\x87\xc6\x74\x83\x6e\x3e\x5a\x2c\x2f\x1a\xa4\xf0\xd9\x60\xb8\x51\x24\x86\x8b\xb9\xb9\x7f\x9b\x9b\xfb\x0a\x3a\x48\x72\xc3\x39\x28\x67\xcb\xbe\x6e\x8d\xcc\xff\x0b\x37\xfb\xbb\x79\x54\x79\x7c\x1d\x93\x98\x7c\x05\x00\x00\xff\xff\x1c\x0d\x18\x3d\xb5\x01\x00\x00" +var _transactionsPdsSettleCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x51\x41\x4b\xf4\x30\x14\xbc\xf7\x57\xbc\x2f\x87\x25\x85\xa5\xa7\x0f\x0f\x45\x5d\xd4\x2a\xec\x41\x29\x54\xbd\x88\x87\xb7\xc9\xdb\x6d\xa0\x4d\x42\xf2\x6a\x05\xd9\xff\x2e\xdd\x6c\x2d\xfb\x2e\x03\x33\x9d\xe9\x30\x31\xbd\x77\x81\xa1\xae\x1a\xd8\x07\xd7\x83\xa8\xab\x46\x64\x67\xf6\xf1\x1b\x7b\xdf\xd1\xcb\xd3\xeb\x59\x5c\x08\x91\x65\x1c\xd0\x46\x54\x6c\x9c\x05\xa9\x4d\xe4\xad\x2e\xe1\x6d\x6b\xf9\xea\xff\x1a\xec\x9e\xb7\x55\x2c\xe1\x23\x11\x9f\x39\xfc\x64\x00\x00\x3e\x90\xc7\x40\xd2\xeb\x58\x02\x0e\xdc\xca\x7b\x17\x82\x1b\xdf\xb1\x1b\x28\x87\xd5\x9d\x52\x6e\xb0\x3c\x7f\x3e\x5d\x47\x0c\x0a\x3d\xdc\x80\xd7\xb1\x88\xec\x02\x1e\xa8\xd8\x9d\x6c\xd7\xab\xba\x6a\x8a\xca\x44\x0e\x66\x37\x4c\x55\x9e\xd1\xe2\x81\xc2\xad\x9c\x1a\x97\x30\xcb\x67\xba\x49\xee\x1a\xb9\xcd\xff\x7e\x30\xdd\x66\x03\x1e\xad\x51\x52\x78\x1d\x41\x3b\x8a\x60\x1d\x43\x8b\x5f\x04\x93\x1f\xfa\x14\x20\x16\x9b\x42\x5f\x8c\x86\x5b\x1d\x70\x94\x17\x61\xf3\x18\x09\xd7\x17\xda\x3c\x4c\xc2\x4b\x8d\xa2\x0a\x6e\x7c\x70\x5d\x47\xa7\x59\xeb\x61\xd7\x19\x55\x42\xc2\xa9\xb4\x34\x9a\x2c\x9b\xbd\xa1\x50\x82\x50\xa8\xc9\x2a\x5a\x5e\x65\xb1\x8a\xfc\xdf\x92\x9d\x3a\x1f\xb3\x63\xf6\x1b\x00\x00\xff\xff\x08\x3d\xe8\x9e\xef\x01\x00\x00" func transactionsPdsSettleCdcBytes() ([]byte, error) { return bindataRead( @@ -968,11 +976,11 @@ func transactionsPdsSettleCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/settle.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf1, 0x69, 0x63, 0x41, 0xca, 0x14, 0xa6, 0x6c, 0xda, 0x8a, 0x6a, 0x7, 0x26, 0x89, 0x56, 0x91, 0xa9, 0xe7, 0x59, 0x1e, 0xe0, 0xdc, 0x20, 0x21, 0xa8, 0x5d, 0xd, 0xcc, 0xb6, 0xab, 0x5b, 0x9b}} + a := &asset{bytes: bytes, info: info} return a, nil } -var _transactionsPdsUpdate_dist_stateCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x90\xd1\x4b\xc3\x30\x10\xc6\xdf\xfb\x57\x9c\x7b\x90\x16\x66\x37\x45\x44\x8a\x3a\x86\x45\xd8\x83\x52\xa8\xfa\x7e\x6b\xce\x2d\xd8\x26\x21\xb9\x6c\xe2\xe8\xff\x2e\x31\xeb\x36\xbd\x97\x90\xdf\x77\x1f\x77\xf7\xc9\xce\x68\xcb\x50\x95\x35\x7c\x58\xdd\xc1\xf4\x6b\xb7\xcb\xab\xb2\xee\xfb\x64\x2f\xbd\x68\xf5\xe4\xd5\x4a\x2e\x5b\x7a\xd5\x9f\xa4\x4e\xfa\xfe\x4b\x7d\x9f\x24\x6c\x51\x39\x6c\x58\x6a\x05\xa9\x90\x8e\x17\xa2\x80\xb7\x85\xe2\x9b\xeb\x31\x38\x46\xa6\xf8\xbd\xcd\x60\x97\x00\x00\x4c\x26\x11\x83\x74\x80\x0a\x48\xf9\x6e\xe0\x17\x30\x2d\x60\xa1\x24\x4b\x6c\xe5\x37\x89\x23\xbf\x0c\x7c\x83\xad\x3c\x61\x57\x05\x3c\xea\xce\xb4\xc4\xf4\x0b\x8d\x25\x83\x96\x52\x23\x5c\x01\x73\xcf\xeb\x79\xd3\x68\xaf\x78\x18\x1c\xaa\x25\x86\x06\x0d\xdc\x83\x11\x2e\x5f\x6a\x6b\xf5\xf6\xee\xbc\x2a\xeb\xbc\x94\x8e\xad\x5c\xfa\x70\xc8\x33\x2a\x5c\x91\x7d\x48\xc3\xe9\x05\x0c\xf2\x1e\xd7\xac\x2d\xae\xa8\x42\x5e\x67\x30\x9b\x81\x41\x25\x9b\x74\x64\x84\x03\xa1\xc9\x81\xd2\x0c\x6b\xdc\x10\x04\x0f\x74\xd1\x34\xca\x0e\x3b\x34\x68\x72\x6f\x04\x32\x85\x86\x3a\x64\x91\x1e\xc4\x50\x43\x8a\xf1\x1d\xff\xd1\xf6\x89\x0e\x2b\x45\xb7\xc5\xed\x3b\xb6\x9e\x8a\x28\x67\x67\x47\x4f\x1c\xdb\x27\x7d\xf2\x13\x00\x00\xff\xff\xc9\x8c\x5f\x14\xfa\x01\x00\x00" +var _transactionsPdsUpdate_dist_stateCdc = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x5c\x90\x41\x4b\xfb\x40\x10\xc5\xef\xf9\x14\xf3\xcf\xa1\x24\xd0\x7f\xaa\x22\x22\x41\x2d\x6a\x10\x7a\x50\x02\x51\xef\xd3\xec\xd8\x2e\x26\xbb\xcb\xee\x6c\x05\xa5\xdf\x5d\xb6\x9b\x18\xeb\x5c\x42\x7e\x6f\xde\xcc\xec\x93\xbd\xd1\x96\xa1\xae\x1a\x78\xb3\xba\x87\xb4\xae\x9a\x34\x19\xe8\x93\x56\x0f\x5e\x6d\xe4\xba\xa3\x67\xfd\x4e\x6a\x68\xf9\x8b\xd3\x24\x61\x8b\xca\x61\xcb\x52\x2b\xc8\x84\x74\xbc\x12\x25\xbc\xac\x14\x5f\x9c\xcf\xc1\x31\x32\xc5\xdf\xcb\x1c\xbe\x12\x00\x80\xc5\x22\x62\x90\x0e\x50\x01\x29\xdf\x8f\xfc\x3f\x9c\x94\xb0\x52\x92\x25\x76\xf2\x93\xc4\xc4\x4f\x03\xdf\x61\x27\x7f\xb1\xb3\x12\xee\x75\x6f\x3a\x62\x3a\x40\x63\xc9\xa0\xa5\xcc\x08\x57\x02\x7a\xde\x66\x77\xda\x5a\xfd\xf1\x8a\x9d\xa7\x1c\x66\xb7\x6d\xab\xbd\xe2\xf1\x8e\x50\x1d\x31\xb4\x68\xe0\x1a\x8c\x70\x85\x63\x6d\x71\x43\xc5\xfa\x60\xbb\x9a\xd5\x55\x53\x54\xd2\xb1\x95\x6b\x1f\xde\xf7\x88\x0a\x37\x64\x6f\xb2\x10\x46\x09\xa3\x3c\xe0\x26\xba\x6b\xe4\x6d\xfe\xb3\x20\xd4\x72\x09\x06\x95\x6c\xb3\xd4\x08\x07\x42\x93\x03\xa5\x19\xb6\xb8\x23\x08\x7e\xe8\xe3\x80\x74\xb2\xb5\x68\x0a\x6f\x04\x32\x85\x86\x26\xc4\x95\x1d\xcd\x1c\x83\x8e\xdf\xf9\x91\x36\x84\x3e\x9e\x17\xdd\x16\x63\x0e\x65\x94\xf3\x7f\x93\x27\xae\xdd\x27\xfb\xe4\x3b\x00\x00\xff\xff\x9a\x48\xc8\x2b\x13\x02\x00\x00" func transactionsPdsUpdate_dist_stateCdcBytes() ([]byte, error) { return bindataRead( @@ -988,7 +996,7 @@ func transactionsPdsUpdate_dist_stateCdc() (*asset, error) { } info := bindataFileInfo{name: "transactions/pds/update_dist_state.cdc", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3b, 0xed, 0xd5, 0xc7, 0x99, 0xe2, 0x4c, 0xfb, 0xcb, 0x48, 0x81, 0xff, 0x6f, 0xcb, 0x70, 0x6f, 0x7c, 0x93, 0x90, 0x90, 0x8d, 0xf0, 0x66, 0x25, 0xb3, 0x78, 0x3c, 0xcc, 0xb1, 0x28, 0xa9, 0xea}} + a := &asset{bytes: bytes, info: info} return a, nil } @@ -996,8 +1004,8 @@ func transactionsPdsUpdate_dist_stateCdc() (*asset, error) { // It returns an error if the asset could not be found or // could not be loaded. func Asset(name string) ([]byte, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { a, err := f() if err != nil { return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) @@ -1007,12 +1015,6 @@ func Asset(name string) ([]byte, error) { return nil, fmt.Errorf("Asset %s not found", name) } -// AssetString returns the asset contents as a string (instead of a []byte). -func AssetString(name string) (string, error) { - data, err := Asset(name) - return string(data), err -} - // MustAsset is like Asset but panics when Asset would return an error. // It simplifies safe initialization of global variables. func MustAsset(name string) []byte { @@ -1024,18 +1026,12 @@ func MustAsset(name string) []byte { return a } -// MustAssetString is like AssetString but panics when Asset would return an -// error. It simplifies safe initialization of global variables. -func MustAssetString(name string) string { - return string(MustAsset(name)) -} - // AssetInfo loads and returns the asset info for the given name. // It returns an error if the asset could not be found or // could not be loaded. func AssetInfo(name string) (os.FileInfo, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { + cannonicalName := strings.Replace(name, "\\", "/", -1) + if f, ok := _bindata[cannonicalName]; ok { a, err := f() if err != nil { return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) @@ -1045,33 +1041,6 @@ func AssetInfo(name string) (os.FileInfo, error) { return nil, fmt.Errorf("AssetInfo %s not found", name) } -// AssetDigest returns the digest of the file with the given name. It returns an -// error if the asset could not be found or the digest could not be loaded. -func AssetDigest(name string) ([sha256.Size]byte, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { - a, err := f() - if err != nil { - return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err) - } - return a.digest, nil - } - return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name) -} - -// Digests returns a map of all known files and their checksums. -func Digests() (map[string][sha256.Size]byte, error) { - mp := make(map[string][sha256.Size]byte, len(_bindata)) - for name := range _bindata { - a, err := _bindata[name]() - if err != nil { - return nil, err - } - mp[name] = a.digest - } - return mp, nil -} - // AssetNames returns the names of the assets. func AssetNames() []string { names := make([]string, 0, len(_bindata)) @@ -1087,7 +1056,8 @@ var _bindata = map[string]func() (*asset, error){ "scripts/collectibleNFT/balance_ids.cdc": scriptsCollectiblenftBalance_idsCdc, "scripts/exampleNFT/balance_exampleNFT.cdc": scriptsExamplenftBalance_examplenftCdc, "scripts/exampleNFT/borrow_nft.cdc": scriptsExamplenftBorrow_nftCdc, - "scripts/exampleNFT/get_total_supply.cdc": scriptsExamplenftGet_total_supplyCdc, + "scripts/exampleNFT/get_collection_length.cdc": scriptsExamplenftGet_collection_lengthCdc, + "scripts/exampleNFT/get_collection_nft_ids.cdc": scriptsExamplenftGet_collection_nft_idsCdc, "scripts/packNFT/balance_packNFT.cdc": scriptsPacknftBalance_packnftCdc, "scripts/packNFT/checksum.cdc": scriptsPacknftChecksumCdc, "scripts/packNFT/packNFT_hash.cdc": scriptsPacknftPacknft_hashCdc, @@ -1104,7 +1074,6 @@ var _bindata = map[string]func() (*asset, error){ "transactions/dapperSport/setup_dapperSport.cdc": transactionsDappersportSetup_dappersportCdc, "transactions/deploy/deploy-packNFT-with-auth.cdc": transactionsDeployDeployPacknftWithAuthCdc, "transactions/deploy/deploy-pds-with-auth.cdc": transactionsDeployDeployPdsWithAuthCdc, - "transactions/exampleNFT/link_providerCap_exampleNFT.cdc": transactionsExamplenftLink_providercap_examplenftCdc, "transactions/exampleNFT/mint_exampleNFT.cdc": transactionsExamplenftMint_examplenftCdc, "transactions/exampleNFT/mint_exampleNFTBatched.cdc": transactionsExamplenftMint_examplenftbatchedCdc, "transactions/exampleNFT/setup_exampleNFT.cdc": transactionsExamplenftSetup_examplenftCdc, @@ -1129,29 +1098,24 @@ var _bindata = map[string]func() (*asset, error){ "transactions/pds/update_dist_state.cdc": transactionsPdsUpdate_dist_stateCdc, } -// AssetDebug is true if the assets were built with the debug flag enabled. -const AssetDebug = false - // AssetDir returns the file names below a certain // directory embedded in the file by go-bindata. // For example if you run go-bindata on data/... and data contains the // following hierarchy: -// -// data/ -// foo.txt -// img/ -// a.png -// b.png -// -// then AssetDir("data") would return []string{"foo.txt", "img"}, -// AssetDir("data/img") would return []string{"a.png", "b.png"}, -// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and +// data/ +// foo.txt +// img/ +// a.png +// b.png +// then AssetDir("data") would return []string{"foo.txt", "img"} +// AssetDir("data/img") would return []string{"a.png", "b.png"} +// AssetDir("foo.txt") and AssetDir("notexist") would return an error // AssetDir("") will return []string{"data"}. func AssetDir(name string) ([]string, error) { node := _bintree if len(name) != 0 { - canonicalName := strings.Replace(name, "\\", "/", -1) - pathList := strings.Split(canonicalName, "/") + cannonicalName := strings.Replace(name, "\\", "/", -1) + pathList := strings.Split(cannonicalName, "/") for _, p := range pathList { node = node.Children[p] if node == nil { @@ -1175,81 +1139,81 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "scripts": {nil, map[string]*bintree{ - "collectibleNFT": {nil, map[string]*bintree{ - "balance.cdc": {scriptsCollectiblenftBalanceCdc, map[string]*bintree{}}, - "balance_ids.cdc": {scriptsCollectiblenftBalance_idsCdc, map[string]*bintree{}}, + "scripts": &bintree{nil, map[string]*bintree{ + "collectibleNFT": &bintree{nil, map[string]*bintree{ + "balance.cdc": &bintree{scriptsCollectiblenftBalanceCdc, map[string]*bintree{}}, + "balance_ids.cdc": &bintree{scriptsCollectiblenftBalance_idsCdc, map[string]*bintree{}}, }}, - "exampleNFT": {nil, map[string]*bintree{ - "balance_exampleNFT.cdc": {scriptsExamplenftBalance_examplenftCdc, map[string]*bintree{}}, - "borrow_nft.cdc": {scriptsExamplenftBorrow_nftCdc, map[string]*bintree{}}, - "get_total_supply.cdc": {scriptsExamplenftGet_total_supplyCdc, map[string]*bintree{}}, + "exampleNFT": &bintree{nil, map[string]*bintree{ + "balance_exampleNFT.cdc": &bintree{scriptsExamplenftBalance_examplenftCdc, map[string]*bintree{}}, + "borrow_nft.cdc": &bintree{scriptsExamplenftBorrow_nftCdc, map[string]*bintree{}}, + "get_collection_length.cdc": &bintree{scriptsExamplenftGet_collection_lengthCdc, map[string]*bintree{}}, + "get_collection_nft_ids.cdc": &bintree{scriptsExamplenftGet_collection_nft_idsCdc, map[string]*bintree{}}, }}, - "packNFT": {nil, map[string]*bintree{ - "balance_packNFT.cdc": {scriptsPacknftBalance_packnftCdc, map[string]*bintree{}}, - "checksum.cdc": {scriptsPacknftChecksumCdc, map[string]*bintree{}}, - "packNFT_hash.cdc": {scriptsPacknftPacknft_hashCdc, map[string]*bintree{}}, - "packNFT_status.cdc": {scriptsPacknftPacknft_statusCdc, map[string]*bintree{}}, - "packNFT_total_supply.cdc": {scriptsPacknftPacknft_total_supplyCdc, map[string]*bintree{}}, - "verify.cdc": {scriptsPacknftVerifyCdc, map[string]*bintree{}}, + "packNFT": &bintree{nil, map[string]*bintree{ + "balance_packNFT.cdc": &bintree{scriptsPacknftBalance_packnftCdc, map[string]*bintree{}}, + "checksum.cdc": &bintree{scriptsPacknftChecksumCdc, map[string]*bintree{}}, + "packNFT_hash.cdc": &bintree{scriptsPacknftPacknft_hashCdc, map[string]*bintree{}}, + "packNFT_status.cdc": &bintree{scriptsPacknftPacknft_statusCdc, map[string]*bintree{}}, + "packNFT_total_supply.cdc": &bintree{scriptsPacknftPacknft_total_supplyCdc, map[string]*bintree{}}, + "verify.cdc": &bintree{scriptsPacknftVerifyCdc, map[string]*bintree{}}, }}, - "pds": {nil, map[string]*bintree{ - "get_dist_metadata.cdc": {scriptsPdsGet_dist_metadataCdc, map[string]*bintree{}}, - "get_dist_state.cdc": {scriptsPdsGet_dist_stateCdc, map[string]*bintree{}}, - "get_dist_title.cdc": {scriptsPdsGet_dist_titleCdc, map[string]*bintree{}}, - "get_next_dist_id.cdc": {scriptsPdsGet_next_dist_idCdc, map[string]*bintree{}}, + "pds": &bintree{nil, map[string]*bintree{ + "get_dist_metadata.cdc": &bintree{scriptsPdsGet_dist_metadataCdc, map[string]*bintree{}}, + "get_dist_state.cdc": &bintree{scriptsPdsGet_dist_stateCdc, map[string]*bintree{}}, + "get_dist_title.cdc": &bintree{scriptsPdsGet_dist_titleCdc, map[string]*bintree{}}, + "get_next_dist_id.cdc": &bintree{scriptsPdsGet_next_dist_idCdc, map[string]*bintree{}}, }}, }}, - "transactions": {nil, map[string]*bintree{ - "collectibleNFT": {nil, map[string]*bintree{ - "mint.cdc": {transactionsCollectiblenftMintCdc, map[string]*bintree{}}, - "setup_collection_and_link_provider.cdc": {transactionsCollectiblenftSetup_collection_and_link_providerCdc, map[string]*bintree{}}, + "transactions": &bintree{nil, map[string]*bintree{ + "collectibleNFT": &bintree{nil, map[string]*bintree{ + "mint.cdc": &bintree{transactionsCollectiblenftMintCdc, map[string]*bintree{}}, + "setup_collection_and_link_provider.cdc": &bintree{transactionsCollectiblenftSetup_collection_and_link_providerCdc, map[string]*bintree{}}, }}, - "dapperSport": {nil, map[string]*bintree{ - "link_providerCap_dapperSport.cdc": {transactionsDappersportLink_providercap_dappersportCdc, map[string]*bintree{}}, - "setup_dapperSport.cdc": {transactionsDappersportSetup_dappersportCdc, map[string]*bintree{}}, + "dapperSport": &bintree{nil, map[string]*bintree{ + "link_providerCap_dapperSport.cdc": &bintree{transactionsDappersportLink_providercap_dappersportCdc, map[string]*bintree{}}, + "setup_dapperSport.cdc": &bintree{transactionsDappersportSetup_dappersportCdc, map[string]*bintree{}}, }}, - "deploy": {nil, map[string]*bintree{ - "deploy-packNFT-with-auth.cdc": {transactionsDeployDeployPacknftWithAuthCdc, map[string]*bintree{}}, - "deploy-pds-with-auth.cdc": {transactionsDeployDeployPdsWithAuthCdc, map[string]*bintree{}}, + "deploy": &bintree{nil, map[string]*bintree{ + "deploy-packNFT-with-auth.cdc": &bintree{transactionsDeployDeployPacknftWithAuthCdc, map[string]*bintree{}}, + "deploy-pds-with-auth.cdc": &bintree{transactionsDeployDeployPdsWithAuthCdc, map[string]*bintree{}}, }}, - "exampleNFT": {nil, map[string]*bintree{ - "link_providerCap_exampleNFT.cdc": {transactionsExamplenftLink_providercap_examplenftCdc, map[string]*bintree{}}, - "mint_exampleNFT.cdc": {transactionsExamplenftMint_examplenftCdc, map[string]*bintree{}}, - "mint_exampleNFTBatched.cdc": {transactionsExamplenftMint_examplenftbatchedCdc, map[string]*bintree{}}, - "setup_exampleNFT.cdc": {transactionsExamplenftSetup_examplenftCdc, map[string]*bintree{}}, - "transfer_exampleNFT.cdc": {transactionsExamplenftTransfer_examplenftCdc, map[string]*bintree{}}, + "exampleNFT": &bintree{nil, map[string]*bintree{ + "mint_exampleNFT.cdc": &bintree{transactionsExamplenftMint_examplenftCdc, map[string]*bintree{}}, + "mint_exampleNFTBatched.cdc": &bintree{transactionsExamplenftMint_examplenftbatchedCdc, map[string]*bintree{}}, + "setup_exampleNFT.cdc": &bintree{transactionsExamplenftSetup_examplenftCdc, map[string]*bintree{}}, + "transfer_exampleNFT.cdc": &bintree{transactionsExamplenftTransfer_examplenftCdc, map[string]*bintree{}}, }}, - "flowTokens": {nil, map[string]*bintree{ - "transfer_flow_tokens_emulator.cdc": {transactionsFlowtokensTransfer_flow_tokens_emulatorCdc, map[string]*bintree{}}, + "flowTokens": &bintree{nil, map[string]*bintree{ + "transfer_flow_tokens_emulator.cdc": &bintree{transactionsFlowtokensTransfer_flow_tokens_emulatorCdc, map[string]*bintree{}}, }}, - "keys": {nil, map[string]*bintree{ - "add-key-from-existing.cdc": {transactionsKeysAddKeyFromExistingCdc, map[string]*bintree{}}, - "add-key.cdc": {transactionsKeysAddKeyCdc, map[string]*bintree{}}, - "revoke-key.cdc": {transactionsKeysRevokeKeyCdc, map[string]*bintree{}}, + "keys": &bintree{nil, map[string]*bintree{ + "add-key-from-existing.cdc": &bintree{transactionsKeysAddKeyFromExistingCdc, map[string]*bintree{}}, + "add-key.cdc": &bintree{transactionsKeysAddKeyCdc, map[string]*bintree{}}, + "revoke-key.cdc": &bintree{transactionsKeysRevokeKeyCdc, map[string]*bintree{}}, }}, - "packNFT": {nil, map[string]*bintree{ - "batch_transfer_packNFTs.cdc": {transactionsPacknftBatch_transfer_packnftsCdc, map[string]*bintree{}}, - "create_new_packNFT_collection.cdc": {transactionsPacknftCreate_new_packnft_collectionCdc, map[string]*bintree{}}, - "open_request.cdc": {transactionsPacknftOpen_requestCdc, map[string]*bintree{}}, - "public_reveal_packNFT.cdc": {transactionsPacknftPublic_reveal_packnftCdc, map[string]*bintree{}}, - "reveal_request.cdc": {transactionsPacknftReveal_requestCdc, map[string]*bintree{}}, - "transfer_packNFT.cdc": {transactionsPacknftTransfer_packnftCdc, map[string]*bintree{}}, + "packNFT": &bintree{nil, map[string]*bintree{ + "batch_transfer_packNFTs.cdc": &bintree{transactionsPacknftBatch_transfer_packnftsCdc, map[string]*bintree{}}, + "create_new_packNFT_collection.cdc": &bintree{transactionsPacknftCreate_new_packnft_collectionCdc, map[string]*bintree{}}, + "open_request.cdc": &bintree{transactionsPacknftOpen_requestCdc, map[string]*bintree{}}, + "public_reveal_packNFT.cdc": &bintree{transactionsPacknftPublic_reveal_packnftCdc, map[string]*bintree{}}, + "reveal_request.cdc": &bintree{transactionsPacknftReveal_requestCdc, map[string]*bintree{}}, + "transfer_packNFT.cdc": &bintree{transactionsPacknftTransfer_packnftCdc, map[string]*bintree{}}, }}, - "pds": {nil, map[string]*bintree{ - "create_distribution.cdc": {transactionsPdsCreate_distributionCdc, map[string]*bintree{}}, - "create_new_pack_issuer.cdc": {transactionsPdsCreate_new_pack_issuerCdc, map[string]*bintree{}}, - "mint_packNFT.cdc": {transactionsPdsMint_packnftCdc, map[string]*bintree{}}, - "open_packNFT.cdc": {transactionsPdsOpen_packnftCdc, map[string]*bintree{}}, - "reveal_packNFT.cdc": {transactionsPdsReveal_packnftCdc, map[string]*bintree{}}, - "set_pack_issuer_cap.cdc": {transactionsPdsSet_pack_issuer_capCdc, map[string]*bintree{}}, - "settle.cdc": {transactionsPdsSettleCdc, map[string]*bintree{}}, - "update_dist_state.cdc": {transactionsPdsUpdate_dist_stateCdc, map[string]*bintree{}}, + "pds": &bintree{nil, map[string]*bintree{ + "create_distribution.cdc": &bintree{transactionsPdsCreate_distributionCdc, map[string]*bintree{}}, + "create_new_pack_issuer.cdc": &bintree{transactionsPdsCreate_new_pack_issuerCdc, map[string]*bintree{}}, + "mint_packNFT.cdc": &bintree{transactionsPdsMint_packnftCdc, map[string]*bintree{}}, + "open_packNFT.cdc": &bintree{transactionsPdsOpen_packnftCdc, map[string]*bintree{}}, + "reveal_packNFT.cdc": &bintree{transactionsPdsReveal_packnftCdc, map[string]*bintree{}}, + "set_pack_issuer_cap.cdc": &bintree{transactionsPdsSet_pack_issuer_capCdc, map[string]*bintree{}}, + "settle.cdc": &bintree{transactionsPdsSettleCdc, map[string]*bintree{}}, + "update_dist_state.cdc": &bintree{transactionsPdsUpdate_dist_stateCdc, map[string]*bintree{}}, }}, }}, }} -// RestoreAsset restores an asset under the given directory. +// RestoreAsset restores an asset under the given directory func RestoreAsset(dir, name string) error { data, err := Asset(name) if err != nil { @@ -1263,14 +1227,18 @@ func RestoreAsset(dir, name string) error { if err != nil { return err } - err = os.WriteFile(_filePath(dir, name), data, info.Mode()) + err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) if err != nil { return err } - return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) + err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) + if err != nil { + return err + } + return nil } -// RestoreAssets restores an asset under the given directory recursively. +// RestoreAssets restores an asset under the given directory recursively func RestoreAssets(dir, name string) error { children, err := AssetDir(name) // File @@ -1288,6 +1256,6 @@ func RestoreAssets(dir, name string) error { } func _filePath(dir, name string) string { - canonicalName := strings.Replace(name, "\\", "/", -1) - return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...) + cannonicalName := strings.Replace(name, "\\", "/", -1) + return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...) } diff --git a/pds/lib/go/templates/script_templates.go b/pds/lib/go/templates/script_templates.go index e720eb6..5822684 100644 --- a/pds/lib/go/templates/script_templates.go +++ b/pds/lib/go/templates/script_templates.go @@ -8,7 +8,7 @@ import ( const ( filenameBorrowNFT = "scripts/exampleNFT/borrow_nft.cdc" - filenameGetCollectionLength = "scripts/get_collection_length.cdc" + filenameGetCollectionLength = "scripts/exampleNFT/get_collection_length.cdc" filenameGetTotalSupply = "scripts/exampleNFT/get_total_supply.cdc" filenameGetNFTMetadata = "scripts/get_nft_metadata.cdc" filenameGetNFTView = "scripts/get_nft_view.cdc" @@ -20,7 +20,7 @@ const ( // from storage and tries to borrow a reference for an NFT that it owns. // If it owns it, it will not fail. func GenerateBorrowNFTScript(nftAddress, exampleNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenameBorrowNFT) + code := string(assets.MustAsset(filenameBorrowNFT)) return replaceAddresses(code, nftAddress, exampleNFTAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress) } @@ -28,19 +28,19 @@ func GenerateBorrowNFTScript(nftAddress, exampleNFTAddress flow.Address) []byte // from storage and tries to borrow a reference for an NFT that it owns. // If it owns it, it will not fail. func GenerateGetTotalSupplyScript(nftAddress, exampleNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenameGetTotalSupply) + code := string(assets.MustAsset(filenameGetTotalSupply)) return replaceAddresses(code, nftAddress, exampleNFTAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress) } // GenerateGetNFTMetadataScript creates a script that returns the metadata for an NFT. func GenerateGetNFTMetadataScript(nftAddress, exampleNFTAddress, metadataAddress flow.Address) []byte { - code := assets.MustAssetString(filenameGetNFTMetadata) + code := string(assets.MustAsset(filenameGetNFTMetadata)) return replaceAddresses(code, nftAddress, exampleNFTAddress, metadataAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress) } // GenerateGetNFTViewScript creates a script that returns the rollup NFT View for an NFT. func GenerateGetNFTViewScript(nftAddress, exampleNFTAddress, metadataAddress flow.Address) []byte { - code := assets.MustAssetString(filenameGetNFTView) + code := string(assets.MustAsset(filenameGetNFTView)) return replaceAddresses(code, nftAddress, exampleNFTAddress, metadataAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress) } @@ -48,7 +48,7 @@ func GenerateGetNFTViewScript(nftAddress, exampleNFTAddress, metadataAddress flo // from storage and tries to borrow a reference for an NFT that it owns. // If it owns it, it will not fail. func GenerateGetCollectionLengthScript(nftAddress, exampleNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenameGetCollectionLength) + code := string(assets.MustAsset(filenameGetCollectionLength)) return replaceAddresses(code, nftAddress, exampleNFTAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress) } @@ -62,12 +62,12 @@ func GenerateGetCollectionLengthScript(nftAddress, exampleNFTAddress flow.Addres // GenerateGetDistTitleScript creates a script that returns the title of a distribution func GenerateGetDistTitleScript(pdsAddress flow.Address) []byte { - code := assets.MustAssetString(filenameGetDistTitle) + code := string(assets.MustAsset(filenameGetDistTitle)) return replaceAddresses(code, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, pdsAddress, flow.EmptyAddress) } // GenerateGetDistTitleScript creates a script that returns the total supply of pack NFTs func GeneratePackNFTTotalSupply(exampleNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenamePackNFTTotalSupply) + code := string(assets.MustAsset(filenamePackNFTTotalSupply)) return replaceAddresses(code, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, exampleNFTAddress) } diff --git a/pds/lib/go/templates/templates.go b/pds/lib/go/templates/templates.go index d1b6656..f8645d2 100644 --- a/pds/lib/go/templates/templates.go +++ b/pds/lib/go/templates/templates.go @@ -1,30 +1,29 @@ package templates -import "regexp" - -//go:generate go-bindata -prefix ../../../ -o internal/assets/assets.go -pkg assets -nometadata -nomemcopy ../../../scripts/... ../../../transactions/... - import ( + "regexp" + "github.com/onflow/flow-go-sdk" ) -var ( - placeholderNonFungibleToken = regexp.MustCompile(`"[^"\s].*/NonFungibleToken.cdc"`) - placeholderNonFungibleToken2 = regexp.MustCompile(`0x{{.NonFungibleToken}}`) - placeholderExampleNFT = regexp.MustCompile(`"[^"\s].*/ExampleNFT.cdc"`) - placeholderExampleNFT2 = regexp.MustCompile(`0x{{.ExampleNFT}}`) - placeHolderExampleNFT3 = regexp.MustCompile(`{{.CollectibleNFTName}}`) - placeHolderExampleNFT4 = regexp.MustCompile(`0x{{.CollectibleNFTAddress}}`) - placeholderMetadataViews = regexp.MustCompile(`"[^"\s].*/MetadataViews.cdc"`) - placeholderFungibleToken = regexp.MustCompile(`"[^"\s].*/FungibleToken.cdc"`) - placeholderIPackNFT = regexp.MustCompile(`"[^"\s].*/IPackNFT.cdc"`) - placeholderIPackNFT2 = regexp.MustCompile(`0x{{.IPackNFT}}`) - placeholderPackNFT = regexp.MustCompile(`"[^"\s].*/PackNFT.cdc"`) - placeholderPackNFT2 = regexp.MustCompile(`0x{{.PackNFTAddress}}`) - placeholderPackNFT3 = regexp.MustCompile(`0x{{.PackNFT}}`) - placeholderPackNFT4 = regexp.MustCompile(`{{.PackNFTName}}`) - placeholderPDS = regexp.MustCompile(`0x{{.PDS}}`) +//go:generate go-bindata -prefix ../../../ -o internal/assets/assets.go -pkg assets -nometadata -nomemcopy ../../../scripts/... ../../../transactions/... +var ( + placeholderNonFungibleToken = regexp.MustCompile(`"NonFungibleToken"`) + placeholderNonFungibleToken2 = regexp.MustCompile(`"NonFungibleToken"`) + placeholderExampleNFT = regexp.MustCompile(`"ExampleNFT"`) + placeholderExampleNFT2 = regexp.MustCompile(`"ExampleNFT"`) + placeHolderExampleNFT3 = regexp.MustCompile(`ExampleNFT`) + placeHolderExampleNFT4 = regexp.MustCompile(`"ExampleNFT"`) + placeholderMetadataViews = regexp.MustCompile(`"MetadataViews"`) + placeholderFungibleToken = regexp.MustCompile(`"FungibleToken"`) + placeholderIPackNFT = regexp.MustCompile(`"IPackNFT"`) + placeholderIPackNFT2 = regexp.MustCompile(`"IPackNFT"`) + placeholderPackNFT = regexp.MustCompile(`"PackNFT"`) + placeholderPackNFT2 = regexp.MustCompile(`"PackNFT"`) + placeholderPackNFT3 = regexp.MustCompile(`"PackNFT"`) + placeholderPackNFTName = regexp.MustCompile(`{{.PackNFTName}}`) + placeholderPDS = regexp.MustCompile(`"PDS"`) ) func replaceAddresses(code string, nftAddress, exampleNFTAddress, metadataAddress, ftAddress, iPackNFTAddress, pdsAddress, packNFTAddress flow.Address) []byte { @@ -41,7 +40,7 @@ func replaceAddresses(code string, nftAddress, exampleNFTAddress, metadataAddres code = placeholderPackNFT.ReplaceAllString(code, "0x"+packNFTAddress.String()) code = placeholderPackNFT2.ReplaceAllString(code, "0x"+packNFTAddress.String()) code = placeholderPackNFT3.ReplaceAllString(code, "0x"+packNFTAddress.String()) - code = placeholderPackNFT4.ReplaceAllString(code, "PackNFT") + code = placeholderPackNFTName.ReplaceAllString(code, "PackNFT") code = placeholderPDS.ReplaceAllString(code, "0x"+pdsAddress.String()) return []byte(code) } diff --git a/pds/lib/go/templates/transaction_templates.go b/pds/lib/go/templates/transaction_templates.go index 6fbe898..5a3a5f8 100644 --- a/pds/lib/go/templates/transaction_templates.go +++ b/pds/lib/go/templates/transaction_templates.go @@ -16,12 +16,14 @@ const ( filenmaeSetPackIssuerCap = "transactions/pds/set_pack_issuer_cap.cdc" filenameCreateDistribution = "transactions/pds/create_distribution.cdc" filenameMintPackNFT = "transactions/pds/mint_packNFT.cdc" + filenameSettleDistribution = "transactions/pds/settle.cdc" + filenameOpenPackNFT = "transactions/pds/open_packNFT.cdc" ) // GenerateDeployPackNFTTx returns a transaction script that // links a new royalty receiver interface func GenerateDeployPackNFTTx(nftAddress, iPackNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenameDeployPackNFT) + code := string(assets.MustAsset(filenameDeployPackNFT)) return replaceAddresses(code, nftAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, iPackNFTAddress, flow.EmptyAddress, flow.EmptyAddress) } @@ -29,37 +31,49 @@ func GenerateDeployPackNFTTx(nftAddress, iPackNFTAddress flow.Address) []byte { // NFT collection instance, saves the collection in storage, then stores a // reference to the collection. func GenerateDeployPDSTx(nftAddress, iPackNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenameDeployPDS) + code := string(assets.MustAsset(filenameDeployPDS)) return replaceAddresses(code, nftAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, iPackNFTAddress, flow.EmptyAddress, flow.EmptyAddress) } // GenerateCreatePackIssuerTx returns a transaction script that instantiates a new // PackIssuer instance, saves it in storage, then stores a reference to it. func GenerateCreatePackIssuerTx(pdsAddress flow.Address) []byte { - code := assets.MustAssetString(filenameCreatePackIssuer) + code := string(assets.MustAsset(filenameCreatePackIssuer)) return replaceAddresses(code, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, pdsAddress, flow.EmptyAddress) } // GenerateLinkExampleNFTProviderCapTx returns a transaction script that links NFT provider to a private path func GenerateLinkExampleNFTProviderCapTx(nftAddress, exampleNFTAddress flow.Address) []byte { - code := assets.MustAssetString(filenameLinkExampleNFTProviderCap) + code := string(assets.MustAsset(filenameLinkExampleNFTProviderCap)) return replaceAddresses(code, nftAddress, exampleNFTAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress) } // GenerateSetPackIssuerCapTx returns a transaction script that sets the pack issuer capability func GenerateSetPackIssuerCapTx(pdsAddress flow.Address) []byte { - code := assets.MustAssetString(filenmaeSetPackIssuerCap) + code := string(assets.MustAsset(filenmaeSetPackIssuerCap)) return replaceAddresses(code, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, pdsAddress, flow.EmptyAddress) } // GenerateCreateDistributionTx returns a transaction script that creates a distribution func GenerateCreateDistributionTx(pdsAddress, packNFTAddress, iPackNFTAddress, nftAddress flow.Address) []byte { - code := assets.MustAssetString(filenameCreateDistribution) + code := string(assets.MustAsset(filenameCreateDistribution)) return replaceAddresses(code, nftAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, iPackNFTAddress, pdsAddress, packNFTAddress) } // GenerateMintPackNFTTx returns a transaction script that mints a pack NFT func GenerateMintPackNFTTx(pdsAddress, packNFTAddress, nftAddress flow.Address) []byte { - code := assets.MustAssetString(filenameMintPackNFT) + code := string(assets.MustAsset(filenameMintPackNFT)) return replaceAddresses(code, nftAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, pdsAddress, packNFTAddress) } + +// GenerateSettleTx returns a transaction script that settles a distribution +func GenerateSettleTx(pdsAddress, packNFTAddress, nftAddress flow.Address) []byte { + code := string(assets.MustAsset(filenameSettleDistribution)) + return replaceAddresses(code, nftAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, pdsAddress, packNFTAddress) +} + +// GenerateOpenPackNFTTx returns a transaction script that opens a pack NFT +func GenerateOpenPackNFTTx(pdsAddress, nftAddress flow.Address) []byte { + code := string(assets.MustAsset(filenameOpenPackNFT)) + return replaceAddresses(code, nftAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, flow.EmptyAddress, pdsAddress, flow.EmptyAddress) +} diff --git a/pds/lib/go/test/pds_test.go b/pds/lib/go/test/pds_test.go index d70a880..429a7f1 100644 --- a/pds/lib/go/test/pds_test.go +++ b/pds/lib/go/test/pds_test.go @@ -11,6 +11,10 @@ import ( "github.com/stretchr/testify/assert" ) +const ( + distributionTitle = "TestDistribution" +) + // Create all required resources for different accounts func TestMintExampleNFTs(t *testing.T) { b, accountKeys := newTestSetup(t) @@ -30,21 +34,8 @@ func TestMintExampleNFTs(t *testing.T) { exampleNFTAccountKey, exampleNFTSigner) - script := templates.GenerateBorrowNFTScript(nftAddress, exampleNFTAddress) - executeScriptAndCheck( - t, b, - script, - [][]byte{ - jsoncdc.MustEncode(cadence.NewAddress(exampleNFTAddress)), - jsoncdc.MustEncode(cadence.NewUInt64(0)), - }, - ) - - script = templates.GenerateGetTotalSupplyScript(nftAddress, exampleNFTAddress) - supply := executeScriptAndCheck(t, b, script, nil) - assert.Equal(t, cadence.NewUInt64(1), supply) - - assertCollectionLength(t, b, nftAddress, exampleNFTAddress, + // Check that the NFT has been minted + assertCollectionLength(t, b, nftAddress, exampleNFTAddress, metadataAddress, exampleNFTAddress, 1, ) @@ -67,27 +58,27 @@ func TestCreatePackIssuer(t *testing.T) { exampleNFTAccountKey, pdsAccountKey, pdsSigner) + // Mint a single NFT with standard royalty cuts and metadata mintExampleNFT(t, b, accountKeys, nftAddress, metadataAddress, exampleNFTAddress, exampleNFTAccountKey, exampleNFTSigner) - script := templates.GenerateBorrowNFTScript(nftAddress, exampleNFTAddress) - executeScriptAndCheck( - t, b, - script, - [][]byte{ - jsoncdc.MustEncode(cadence.NewAddress(exampleNFTAddress)), - jsoncdc.MustEncode(cadence.NewUInt64(0)), - }, + + // Check that the NFT has been minted + assertCollectionLength(t, b, nftAddress, exampleNFTAddress, metadataAddress, + exampleNFTAddress, + 1, ) t.Run("Should be able to create a pack issuer NFT", func(t *testing.T) { // Assumes issuer is deployer of exampleNFT - script = templates.GenerateCreatePackIssuerTx(pdsAddress) - tx := createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateCreatePackIssuerTx(pdsAddress), + exampleNFTAddress, + ) serviceSigner, _ := b.ServiceKey().Signer() @@ -122,26 +113,26 @@ func TestCreateDistribution(t *testing.T) { exampleNFTAccountKey, pdsAccountKey, pdsSigner) + // Mint a single NFT with standard royalty cuts and metadata mintExampleNFT(t, b, accountKeys, nftAddress, metadataAddress, exampleNFTAddress, exampleNFTAccountKey, exampleNFTSigner) - script := templates.GenerateBorrowNFTScript(nftAddress, exampleNFTAddress) - executeScriptAndCheck( - t, b, - script, - [][]byte{ - jsoncdc.MustEncode(cadence.NewAddress(exampleNFTAddress)), - jsoncdc.MustEncode(cadence.NewUInt64(0)), - }, + + // Check that the NFT has been minted + assertCollectionLength(t, b, nftAddress, exampleNFTAddress, metadataAddress, + exampleNFTAddress, + 1, ) // Assumes issuer is deployer of exampleNFT // CreatePackIssuerTx - script = templates.GenerateCreatePackIssuerTx(pdsAddress) - tx := createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateCreatePackIssuerTx(pdsAddress), + exampleNFTAddress, + ) serviceSigner, _ := b.ServiceKey().Signer() @@ -158,35 +149,37 @@ func TestCreateDistribution(t *testing.T) { false, ) - t.Run("Should be able to link NFT provider capability", func(t *testing.T) { - - // Assumes issuer is deployer of exampleNFT - script = templates.GenerateLinkExampleNFTProviderCapTx(nftAddress, exampleNFTAddress) - tx := createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) - // Set argument: NFT provider path - tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) - - serviceSigner, _ := b.ServiceKey().Signer() - - signAndSubmit( - t, b, tx, - []flow.Address{ - b.ServiceKey().Address, - exampleNFTAddress, - }, - []crypto.Signer{ - serviceSigner, - exampleNFTSigner, - }, - false, - ) - }) + // t.Run("Should be able to link NFT provider capability", func(t *testing.T) { + + // // Assumes issuer is deployer of exampleNFT + // script = templates.GenerateLinkExampleNFTProviderCapTx(nftAddress, exampleNFTAddress) + // tx := createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + // // Set argument: NFT provider path + // tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) + + // serviceSigner, _ := b.ServiceKey().Signer() + + // signAndSubmit( + // t, b, tx, + // []flow.Address{ + // b.ServiceKey().Address, + // exampleNFTAddress, + // }, + // []crypto.Signer{ + // serviceSigner, + // exampleNFTSigner, + // }, + // false, + // ) + // }) t.Run("Should be able to set pack issuer capability", func(t *testing.T) { // Assumes issuer is deployer of exampleNFT - script = templates.GenerateSetPackIssuerCapTx(pdsAddress) - tx := createTxWithTemplateAndAuthorizer(b, script, pdsAddress) + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateSetPackIssuerCapTx(pdsAddress), + pdsAddress, + ) // Set argument: issuer address tx.AddArgument(cadence.NewAddress(exampleNFTAddress)) @@ -209,11 +202,13 @@ func TestCreateDistribution(t *testing.T) { t.Run("Should be able to create a distribution", func(t *testing.T) { // Assumes issuer is deployer of exampleNFT - script = templates.GenerateCreateDistributionTx(pdsAddress, exampleNFTAddress, iPackNFTAddress, nftAddress) - tx := createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateCreateDistributionTx(pdsAddress, exampleNFTAddress, iPackNFTAddress, nftAddress), + exampleNFTAddress, + ) // Set argument: issuer address - tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) - tx.AddArgument(cadence.String("TestDistribution")) + // tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) + tx.AddArgument(cadence.String(distributionTitle)) metadata := []cadence.KeyValuePair{{Key: cadence.String("TestKey"), Value: cadence.String("TestValue")}} tx.AddArgument(cadence.NewDictionary(metadata)) @@ -232,9 +227,12 @@ func TestCreateDistribution(t *testing.T) { false, ) - script = templates.GenerateGetDistTitleScript(pdsAddress) - title := executeScriptAndCheck(t, b, script, [][]byte{jsoncdc.MustEncode(cadence.UInt64(1))}) - assert.Equal(t, cadence.String("TestDistribution"), title) + // Check that the distribution has been created and has the expected title + title := executeScriptAndCheck(t, b, + templates.GenerateGetDistTitleScript(pdsAddress), + [][]byte{jsoncdc.MustEncode(cadence.UInt64(1))}, + ) + assert.Equal(t, cadence.String(distributionTitle), title) }) } @@ -254,26 +252,26 @@ func TestMintPackNFTs(t *testing.T) { exampleNFTAccountKey, pdsAccountKey, pdsSigner) + // Mint a single NFT with standard royalty cuts and metadata mintExampleNFT(t, b, accountKeys, nftAddress, metadataAddress, exampleNFTAddress, exampleNFTAccountKey, exampleNFTSigner) - script := templates.GenerateBorrowNFTScript(nftAddress, exampleNFTAddress) - executeScriptAndCheck( - t, b, - script, - [][]byte{ - jsoncdc.MustEncode(cadence.NewAddress(exampleNFTAddress)), - jsoncdc.MustEncode(cadence.NewUInt64(0)), - }, + + // Check that the NFT has been minted + assertCollectionLength(t, b, nftAddress, exampleNFTAddress, metadataAddress, + exampleNFTAddress, + 1, ) // Assumes issuer is deployer of exampleNFT // CreatePackIssuerTx - script = templates.GenerateCreatePackIssuerTx(pdsAddress) - tx := createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateCreatePackIssuerTx(pdsAddress), + exampleNFTAddress, + ) serviceSigner, _ := b.ServiceKey().Signer() @@ -290,11 +288,147 @@ func TestMintPackNFTs(t *testing.T) { false, ) + // // Assumes issuer is deployer of exampleNFT + // script = templates.GenerateLinkExampleNFTProviderCapTx(nftAddress, exampleNFTAddress) + // tx = createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + // // Set argument: NFT provider path + // // tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) + + // signAndSubmit( + // t, b, tx, + // []flow.Address{ + // b.ServiceKey().Address, + // exampleNFTAddress, + // }, + // []crypto.Signer{ + // serviceSigner, + // exampleNFTSigner, + // }, + // false, + // ) + + // Assumes issuer is deployer of exampleNFT + tx = createTxWithTemplateAndAuthorizer(b, + templates.GenerateSetPackIssuerCapTx(pdsAddress), + pdsAddress, + ) + // Set argument: issuer address + tx.AddArgument(cadence.NewAddress(exampleNFTAddress)) + + signAndSubmit( + t, b, tx, + []flow.Address{ + b.ServiceKey().Address, + pdsAddress, + }, + []crypto.Signer{ + serviceSigner, + pdsSigner, + }, + false, + ) + + // Assumes issuer is deployer of exampleNFT + tx = createTxWithTemplateAndAuthorizer(b, + templates.GenerateCreateDistributionTx(pdsAddress, exampleNFTAddress, iPackNFTAddress, nftAddress), + exampleNFTAddress, + ) + // Set argument: issuer address + // tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) + tx.AddArgument(cadence.String(distributionTitle)) + metadata := []cadence.KeyValuePair{{Key: cadence.String("TestKey"), Value: cadence.String("TestValue")}} + tx.AddArgument(cadence.NewDictionary(metadata)) + + signAndSubmit( + t, b, tx, + []flow.Address{ + b.ServiceKey().Address, + exampleNFTAddress, + }, + []crypto.Signer{ + serviceSigner, + exampleNFTSigner, + }, + false, + ) + + title := executeScriptAndCheck(t, b, + templates.GenerateGetDistTitleScript(pdsAddress), + [][]byte{jsoncdc.MustEncode(cadence.UInt64(1))}, + ) + assert.Equal(t, cadence.String(distributionTitle), title) + + t.Run("Should be able to mint a pack NFT", func(t *testing.T) { + // Assumes issuer is deployer of exampleNFT + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateMintPackNFTTx(pdsAddress, exampleNFTAddress, nftAddress), + pdsAddress, + ) + // Set argument: issuer address + tx.AddArgument(cadence.UInt64(1)) + tx.AddArgument(cadence.NewArray([]cadence.Value{cadence.String("4b82931fe40fce9b60b68207171dde5d4f07f070e669baf7e08cee18d27c5ef8")})) + tx.AddArgument(cadence.NewAddress(exampleNFTAddress)) + + serviceSigner, _ := b.ServiceKey().Signer() + + signAndSubmit( + t, b, tx, + []flow.Address{ + b.ServiceKey().Address, + pdsAddress, + }, + []crypto.Signer{ + serviceSigner, + pdsSigner, + }, + false, + ) + + assertCollectionLength(t, b, nftAddress, exampleNFTAddress, metadataAddress, + exampleNFTAddress, + 1, + ) + }) +} + +func TestOpenPackNFT(t *testing.T) { + b, accountKeys := newTestSetup(t) + + // Set exampleNFT (issuer) account and pds account + // exampleNFTAccount deploys both the ExampleNFT contract and the PackNFT contract + exampleNFTAccountKey, exampleNFTSigner := accountKeys.NewWithSigner() + pdsAccountKey, pdsSigner := accountKeys.NewWithSigner() + + nftAddress, metadataAddress, exampleNFTAddress, iPackNFTAddress, pdsAddress := deployPDSContracts( + t, + b, + exampleNFTAccountKey, + exampleNFTSigner, + exampleNFTAccountKey, + pdsAccountKey, + pdsSigner) + + // Mint a single NFT with standard royalty cuts and metadata + mintExampleNFT(t, b, + accountKeys, + nftAddress, metadataAddress, exampleNFTAddress, + exampleNFTAccountKey, + exampleNFTSigner) + + // Check that the NFT has been minted + assertCollectionLength(t, b, nftAddress, exampleNFTAddress, metadataAddress, + exampleNFTAddress, + 1, + ) + // Assumes issuer is deployer of exampleNFT - script = templates.GenerateLinkExampleNFTProviderCapTx(nftAddress, exampleNFTAddress) - tx = createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) - // Set argument: NFT provider path - tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) + // CreatePackIssuerTx + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateCreatePackIssuerTx(pdsAddress), + exampleNFTAddress, + ) + + serviceSigner, _ := b.ServiceKey().Signer() signAndSubmit( t, b, tx, @@ -309,9 +443,30 @@ func TestMintPackNFTs(t *testing.T) { false, ) + // // Assumes issuer is deployer of exampleNFT + // script = templates.GenerateLinkExampleNFTProviderCapTx(nftAddress, exampleNFTAddress) + // tx = createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + // // Set argument: NFT provider path + // // tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) + + // signAndSubmit( + // t, b, tx, + // []flow.Address{ + // b.ServiceKey().Address, + // exampleNFTAddress, + // }, + // []crypto.Signer{ + // serviceSigner, + // exampleNFTSigner, + // }, + // false, + // ) + // Assumes issuer is deployer of exampleNFT - script = templates.GenerateSetPackIssuerCapTx(pdsAddress) - tx = createTxWithTemplateAndAuthorizer(b, script, pdsAddress) + tx = createTxWithTemplateAndAuthorizer(b, + templates.GenerateSetPackIssuerCapTx(pdsAddress), + pdsAddress, + ) // Set argument: issuer address tx.AddArgument(cadence.NewAddress(exampleNFTAddress)) @@ -329,11 +484,13 @@ func TestMintPackNFTs(t *testing.T) { ) // Assumes issuer is deployer of exampleNFT - script = templates.GenerateCreateDistributionTx(pdsAddress, exampleNFTAddress, iPackNFTAddress, nftAddress) - tx = createTxWithTemplateAndAuthorizer(b, script, exampleNFTAddress) + tx = createTxWithTemplateAndAuthorizer(b, + templates.GenerateCreateDistributionTx(pdsAddress, exampleNFTAddress, iPackNFTAddress, nftAddress), + exampleNFTAddress, + ) // Set argument: issuer address - tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) - tx.AddArgument(cadence.String("TestDistribution")) + // tx.AddArgument(cadence.Path{Domain: "private", Identifier: "exampleNFTprovider"}) + tx.AddArgument(cadence.String(distributionTitle)) metadata := []cadence.KeyValuePair{{Key: cadence.String("TestKey"), Value: cadence.String("TestValue")}} tx.AddArgument(cadence.NewDictionary(metadata)) @@ -350,14 +507,18 @@ func TestMintPackNFTs(t *testing.T) { false, ) - script = templates.GenerateGetDistTitleScript(pdsAddress) - title := executeScriptAndCheck(t, b, script, [][]byte{jsoncdc.MustEncode(cadence.UInt64(1))}) - assert.Equal(t, cadence.String("TestDistribution"), title) + title := executeScriptAndCheck(t, b, + templates.GenerateGetDistTitleScript(pdsAddress), + [][]byte{jsoncdc.MustEncode(cadence.UInt64(1))}, + ) + assert.Equal(t, cadence.String(distributionTitle), title) t.Run("Should be able to mint a pack NFT", func(t *testing.T) { // Assumes issuer is deployer of exampleNFT - script = templates.GenerateMintPackNFTTx(pdsAddress, exampleNFTAddress, nftAddress) - tx := createTxWithTemplateAndAuthorizer(b, script, pdsAddress) + tx := createTxWithTemplateAndAuthorizer(b, + templates.GenerateMintPackNFTTx(pdsAddress, exampleNFTAddress, nftAddress), + pdsAddress, + ) // Set argument: issuer address tx.AddArgument(cadence.UInt64(1)) tx.AddArgument(cadence.NewArray([]cadence.Value{cadence.String("4b82931fe40fce9b60b68207171dde5d4f07f070e669baf7e08cee18d27c5ef8")})) @@ -378,8 +539,9 @@ func TestMintPackNFTs(t *testing.T) { false, ) - script = templates.GeneratePackNFTTotalSupply(exampleNFTAddress) - supply := executeScriptAndCheck(t, b, script, nil) - assert.Equal(t, cadence.NewUInt64(1), supply) + assertCollectionLength(t, b, nftAddress, exampleNFTAddress, metadataAddress, + exampleNFTAddress, + 1, + ) }) } diff --git a/pds/lib/go/test/pds_test_helper.go b/pds/lib/go/test/pds_test_helper.go index 4e7213e..cac7b8f 100644 --- a/pds/lib/go/test/pds_test_helper.go +++ b/pds/lib/go/test/pds_test_helper.go @@ -1,21 +1,25 @@ package test import ( + "context" "encoding/hex" studioPlatformContracts "github.com/dapperlabs/studio-platform-smart-contracts/lib/go/contracts" studioPlatformTemplates "github.com/dapperlabs/studio-platform-smart-contracts/lib/go/templates" "github.com/onflow/flow-nft/lib/go/templates" + "github.com/rs/zerolog" "testing" "github.com/onflow/cadence" jsoncdc "github.com/onflow/cadence/encoding/json" - emulator "github.com/onflow/flow-emulator" + "github.com/onflow/cadence/runtime/common" + "github.com/onflow/flow-emulator/adapters" + "github.com/onflow/flow-emulator/emulator" "github.com/onflow/flow-go-sdk" "github.com/onflow/flow-go-sdk/crypto" "github.com/onflow/flow-go-sdk/test" - "github.com/onflow/flow-nft/lib/go/contracts" + nftcontracts "github.com/onflow/flow-nft/lib/go/contracts" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -33,13 +37,15 @@ func deployPDSContracts( ) (flow.Address, flow.Address, flow.Address, flow.Address, flow.Address) { // 1. Deploy utility contracts - nftAddress := deploy(t, b, "NonFungibleToken", contracts.NonFungibleToken()) + resolverAddress := deploy(t, b, "ViewResolver", nftcontracts.ViewResolver(), b.ServiceKey().AccountKey()) - metadataAddress := deploy(t, b, "MetadataViews", contracts.MetadataViews(flow.HexToAddress(emulatorFTAddress), nftAddress)) + nftAddress := deploy(t, b, "NonFungibleToken", nftcontracts.NonFungibleToken(resolverAddress.String())) + + metadataAddress := deploy(t, b, "MetadataViews", nftcontracts.MetadataViews(emulatorFTAddress, nftAddress.String(), resolverAddress.String())) exampleNFTAddress := deploy( t, b, "ExampleNFT", - contracts.ExampleNFT(nftAddress, metadataAddress), + nftcontracts.ExampleNFT(nftAddress, metadataAddress, resolverAddress), exampleNFTAccountKey, ) @@ -51,7 +57,7 @@ func deployPDSContracts( ) // 2. Deploy Pack NFT contract - deployPackNftContract(t, b, nftAddress, iPackNFTAddress, exampleNFTAddress, exampleNFTSigner) + deployPackNftContract(t, b, nftAddress, iPackNFTAddress, exampleNFTAddress, metadataAddress, exampleNFTSigner) // 3. Deploy AllDay Pack NFT contract deployAllDayPackNftContract(t, b, nftAddress, ftAddress, iPackNFTAddress, metadataAddress) @@ -62,10 +68,9 @@ func deployPDSContracts( return nftAddress, metadataAddress, exampleNFTAddress, iPackNFTAddress, pdsAddress } -func deployPackNftContract(t *testing.T, b *emulator.Blockchain, nftAddress, iPackNFTAddress, exampleNFTAddress flow.Address, exampleNFTSigner crypto.Signer) { +func deployPackNftContract(t *testing.T, b *emulator.Blockchain, nftAddress, iPackNFTAddress, exampleNFTAddress, metadataAddress flow.Address, exampleNFTSigner crypto.Signer) { - PackNftCode := studioPlatformContracts.PackNFT(nftAddress, iPackNFTAddress) - fundAccount(t, b, exampleNFTAddress, defaultAccountFunding) + PackNftCode := studioPlatformContracts.PackNFT(nftAddress, iPackNFTAddress, metadataAddress) packNFTencodedStr := hex.EncodeToString(PackNftCode) txBytes := studioPlatformTemplates.GenerateDeployPackNFTTx(nftAddress, iPackNFTAddress) @@ -73,11 +78,11 @@ func deployPackNftContract(t *testing.T, b *emulator.Blockchain, nftAddress, iPa tx1 := createTxWithTemplateAndAuthorizer(b, txBytes, exampleNFTAddress) _ = tx1.AddArgument(cadence.String("PackNFT")) _ = tx1.AddArgument(cadence.String(packNFTencodedStr)) - _ = tx1.AddArgument(cadence.Path{Domain: "storage", Identifier: "PackNFTCollection"}) - _ = tx1.AddArgument(cadence.Path{Domain: "public", Identifier: "PackNFTCollectionPub"}) - _ = tx1.AddArgument(cadence.Path{Domain: "public", Identifier: "PackNFTIPackNFTCollectionPub"}) - _ = tx1.AddArgument(cadence.Path{Domain: "storage", Identifier: "PackNFTOperator"}) - _ = tx1.AddArgument(cadence.Path{Domain: "private", Identifier: "PackNFTOperatorPriv"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "PackNFTCollection"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainPublic, Identifier: "PackNFTCollectionPub"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainPublic, Identifier: "PackNFTIPackNFTCollectionPub"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "PackNFTOperator"}) + // _ = tx1.AddArgument(cadence.Path{Domain: "private", Identifier: "PackNFTOperatorPriv"}) _ = tx1.AddArgument(cadence.String("0.1.0")) signer, err := b.ServiceKey().Signer() @@ -95,13 +100,14 @@ func deployPackNftContract(t *testing.T, b *emulator.Blockchain, nftAddress, iPa } func deployAllDayPackNftContract(t *testing.T, b *emulator.Blockchain, nftAddress, ftAddress, iPackNFTAddress, metaDataViewAddress flow.Address) flow.Address { + logger := zerolog.Nop() + adapter := adapters.NewSDKAdapter(&logger, b) accountKeys := test.AccountKeyGenerator() // set up PackNFT account AllDayPackNftAccountKey, AllDayPackNftSigner := accountKeys.NewWithSigner() - AllDayPackNftAddress, _ := b.CreateAccount([]*flow.AccountKey{AllDayPackNftAccountKey}, nil) + AllDayPackNftAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{AllDayPackNftAccountKey}, nil) PackNftCode := studioPlatformContracts.AllDayPackNFT(nftAddress, ftAddress, iPackNFTAddress, metaDataViewAddress, AllDayPackNftAddress) - fundAccount(t, b, AllDayPackNftAddress, defaultAccountFunding) packNFTencodedStr := hex.EncodeToString(PackNftCode) txBytes := studioPlatformTemplates.GenerateDeployPackNFTTx(nftAddress, iPackNFTAddress) @@ -109,11 +115,11 @@ func deployAllDayPackNftContract(t *testing.T, b *emulator.Blockchain, nftAddres tx1 := createTxWithTemplateAndAuthorizer(b, txBytes, AllDayPackNftAddress) _ = tx1.AddArgument(cadence.String("PackNFT")) _ = tx1.AddArgument(cadence.String(packNFTencodedStr)) - _ = tx1.AddArgument(cadence.Path{Domain: "storage", Identifier: "PackNFTCollection"}) - _ = tx1.AddArgument(cadence.Path{Domain: "public", Identifier: "PackNFTCollectionPub"}) - _ = tx1.AddArgument(cadence.Path{Domain: "public", Identifier: "PackNFTIPackNFTCollectionPub"}) - _ = tx1.AddArgument(cadence.Path{Domain: "storage", Identifier: "PackNFTOperator"}) - _ = tx1.AddArgument(cadence.Path{Domain: "private", Identifier: "PackNFTOperatorPriv"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "PackNFTCollection"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainPublic, Identifier: "PackNFTCollectionPub"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainPublic, Identifier: "PackNFTIPackNFTCollectionPub"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "PackNFTOperator"}) + // _ = tx1.AddArgument(cadence.Path{Domain: "private", Identifier: "PackNFTOperatorPriv"}) _ = tx1.AddArgument(cadence.String("0.1.0")) signer, err := b.ServiceKey().Signer() @@ -138,13 +144,14 @@ func deployPDSContract( nftAddress, iPackNFTAddress flow.Address, pdsAccountKey *flow.AccountKey, pdsSigner crypto.Signer) flow.Address { + logger := zerolog.Nop() + adapter := adapters.NewSDKAdapter(&logger, b) //accountKeys := test.AccountKeyGenerator() // set up PackNFT account //PDSAccountKey, PDSSigner := accountKeys.NewWithSigner() - PDSAddress, _ := b.CreateAccount([]*flow.AccountKey{pdsAccountKey}, nil) + PDSAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{pdsAccountKey}, nil) PDSCode := studioPlatformContracts.PDS(nftAddress, iPackNFTAddress) - fundAccount(t, b, PDSAddress, defaultAccountFunding) PDSEncodedStr := hex.EncodeToString(PDSCode) script := studioPlatformTemplates.GenerateDeployPDSTx(nftAddress, iPackNFTAddress) @@ -157,11 +164,11 @@ func deployPDSContract( _ = tx1.AddArgument(cadence.String("PDS")) _ = tx1.AddArgument(cadence.String(PDSEncodedStr)) - _ = tx1.AddArgument(cadence.Path{Domain: "storage", Identifier: "PDSPackIssuer"}) - _ = tx1.AddArgument(cadence.Path{Domain: "public", Identifier: "PDSPackIssuerCapRecv"}) - _ = tx1.AddArgument(cadence.Path{Domain: "storage", Identifier: "PDSDistCreator"}) - _ = tx1.AddArgument(cadence.Path{Domain: "private", Identifier: "PDSDistCap"}) - _ = tx1.AddArgument(cadence.Path{Domain: "storage", Identifier: "PDSDistManager"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "PDSPackIssuer"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainPublic, Identifier: "PDSPackIssuerCapRecv"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "PDSDistCreator"}) + // _ = tx1.AddArgument(cadence.Path{Domain: "private", Identifier: "PDSDistCap"}) + _ = tx1.AddArgument(cadence.Path{Domain: common.PathDomainStorage, Identifier: "PDSDistManager"}) _ = tx1.AddArgument(cadence.String("0.1.0")) signer, err := b.ServiceKey().Signer() @@ -180,16 +187,15 @@ func deployPDSContract( return PDSAddress } -// Assers that the ExampleNFT collection in the specified user's account +// Asserts that the ExampleNFT collection in the specified user's account // is the expected length func assertCollectionLength( t *testing.T, b *emulator.Blockchain, - nftAddress flow.Address, exampleNFTAddress flow.Address, - collectionAddress flow.Address, + nftAddress, exampleNFTAddress, metadataAddress, collectionAddress flow.Address, expectedLength int, ) { - script := templates.GenerateGetCollectionLengthScript(nftAddress, exampleNFTAddress) + script := templates.GenerateGetCollectionLengthScript(nftAddress, exampleNFTAddress, metadataAddress) actualLength := executeScriptAndCheck(t, b, script, [][]byte{jsoncdc.MustEncode(cadence.NewAddress(collectionAddress))}) assert.Equal(t, cadence.NewInt(expectedLength), actualLength) } @@ -272,7 +278,7 @@ func setupRoyaltyReceiver( script := templates.GenerateSetupAccountToReceiveRoyaltyScript(metadataAddress, flow.HexToAddress(emulatorFTAddress)) tx := createTxWithTemplateAndAuthorizer(b, script, authorizerAddress) - vaultPath := cadence.Path{Domain: "storage", Identifier: "flowTokenVault"} + vaultPath := cadence.Path{Domain: common.PathDomainStorage, Identifier: "flowTokenVault"} tx.AddArgument(vaultPath) serviceSigner, _ := b.ServiceKey().Signer() diff --git a/pds/lib/go/test/test.go b/pds/lib/go/test/test.go index 0284b9e..da4c99b 100644 --- a/pds/lib/go/test/test.go +++ b/pds/lib/go/test/test.go @@ -1,13 +1,18 @@ package test import ( + "context" "fmt" - jsoncdc "github.com/onflow/cadence/encoding/json" "io/ioutil" "testing" + jsoncdc "github.com/onflow/cadence/encoding/json" + "github.com/rs/zerolog" + "github.com/onflow/cadence" - emulator "github.com/onflow/flow-emulator" + "github.com/onflow/flow-emulator/adapters" + "github.com/onflow/flow-emulator/convert" + "github.com/onflow/flow-emulator/emulator" "github.com/onflow/flow-go-sdk" "github.com/onflow/flow-go-sdk/crypto" sdktemplates "github.com/onflow/flow-go-sdk/templates" @@ -44,7 +49,6 @@ const ( ) // Sets up testing and emulator objects and initialize the emulator default addresses -// func newTestSetup(t *testing.T) (*emulator.Blockchain, *test.AccountKeys) { // Set for parallel processing t.Parallel() @@ -61,7 +65,7 @@ func newTestSetup(t *testing.T) (*emulator.Blockchain, *test.AccountKeys) { // newBlockchain returns an emulator blockchain for testing. func newBlockchain(opts ...emulator.Option) *emulator.Blockchain { - b, err := emulator.NewBlockchain( + b, err := emulator.New( append( []emulator.Option{ emulator.WithStorageLimitEnabled(false), @@ -79,7 +83,9 @@ func newBlockchain(opts ...emulator.Option) *emulator.Blockchain { // and return the address, public keys, and signer objects func newAccountWithAddress(b *emulator.Blockchain, accountKeys *test.AccountKeys) (flow.Address, *flow.AccountKey, crypto.Signer) { newAccountKey, newSigner := accountKeys.NewWithSigner() - newAddress, _ := b.CreateAccount([]*flow.AccountKey{newAccountKey}, nil) + logger := zerolog.Nop() + adapter := adapters.NewSDKAdapter(&logger, b) + newAddress, _ := adapter.CreateAccount(context.Background(), []*flow.AccountKey{newAccountKey}, nil) return newAddress, newAccountKey, newSigner } @@ -92,7 +98,9 @@ func deploy( code []byte, keys ...*flow.AccountKey, ) flow.Address { - address, err := b.CreateAccount( + logger := zerolog.Nop() + adapter := adapters.NewSDKAdapter(&logger, b) + address, err := adapter.CreateAccount(context.Background(), keys, []sdktemplates.Contract{ { @@ -164,7 +172,8 @@ func Submit( shouldRevert bool, ) { // submit the signed transaction - err := b.AddTransaction(*tx) + flowTx := convert.SDKTransactionToFlow(*tx) + err := b.AddTransaction(*flowTx) require.NoError(t, err) result, err := b.ExecuteNextTransaction() @@ -226,12 +235,11 @@ func bytesToCadenceArray(b []byte) cadence.Array { // assertEqual asserts that two objects are equal. // -// assertEqual(t, 123, 123) +// assertEqual(t, 123, 123) // // Pointer variable equality is determined based on the equality of the // referenced values (as opposed to the memory addresses). Function equality // cannot be determined and will always fail. -// func assertEqual(t *testing.T, expected, actual interface{}) bool { if assert.ObjectsAreEqual(expected, actual) { diff --git a/pds/lib/go/test/transactions.go b/pds/lib/go/test/transactions.go deleted file mode 100644 index 63c430f..0000000 --- a/pds/lib/go/test/transactions.go +++ /dev/null @@ -1,48 +0,0 @@ -package test - -import ( - "testing" - - "github.com/onflow/cadence" - emulator "github.com/onflow/flow-emulator" - fttemplates "github.com/onflow/flow-ft/lib/go/templates" - "github.com/onflow/flow-go-sdk" - "github.com/onflow/flow-go-sdk/crypto" - "github.com/stretchr/testify/require" -) - -//------------------------------------------------------------ -// Setup -//------------------------------------------------------------ -func fundAccount( - t *testing.T, - b *emulator.Blockchain, - receiverAddress flow.Address, - amount string, -) { - script := fttemplates.GenerateMintTokensScript( - ftAddress, - flowTokenAddress, - flowTokenName, - ) - - tx := flow.NewTransaction(). - SetScript(script). - SetGasLimit(100). - SetProposalKey(b.ServiceKey().Address, b.ServiceKey().Index, b.ServiceKey().SequenceNumber). - SetPayer(b.ServiceKey().Address). - AddAuthorizer(b.ServiceKey().Address) - - tx.AddArgument(cadence.NewAddress(receiverAddress)) - tx.AddArgument(CadenceUFix64(amount)) - - signer, err := b.ServiceKey().Signer() - require.NoError(t, err) - - signAndSubmit( - t, b, tx, - []flow.Address{b.ServiceKey().Address}, - []crypto.Signer{signer}, - false, - ) -} diff --git a/pds/scripts/collectibleNFT/balance.cdc b/pds/scripts/collectibleNFT/balance.cdc index 9b4aaae..0cc8164 100644 --- a/pds/scripts/collectibleNFT/balance.cdc +++ b/pds/scripts/collectibleNFT/balance.cdc @@ -1,10 +1,9 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import {{.CollectibleNFTName}} from 0x{{.CollectibleNFTAddress}} +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" -pub fun main(account: Address): Int { - let receiver = getAccount(account) - .getCapability({{.CollectibleNFTName}}.CollectionPublicPath)! - .borrow<&{NonFungibleToken.CollectionPublic}>()! +access(all) fun main(account: Address): Int { + let collectionRef = getAccount(account).capabilities.borrow< + &ExampleNFT.Collection>(PublicPath(identifier: "cadenceExampleNFTCollection")!)! - return receiver.getIDs().length + return collectionRef.getIDs().length } diff --git a/pds/scripts/collectibleNFT/balance_ids.cdc b/pds/scripts/collectibleNFT/balance_ids.cdc index af020b9..97e6c51 100644 --- a/pds/scripts/collectibleNFT/balance_ids.cdc +++ b/pds/scripts/collectibleNFT/balance_ids.cdc @@ -1,12 +1,11 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import {{.CollectibleNFTName}} from 0x{{.CollectibleNFTAddress}} +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" -pub fun main(account: Address, offset: UInt64, limit: UInt64): [UInt64] { - let receiver = getAccount(account) - .getCapability({{.CollectibleNFTName}}.CollectionPublicPath)! - .borrow<&{NonFungibleToken.CollectionPublic}>()! +access(all) fun main(account: Address, offset: UInt64, limit: UInt64): [UInt64] { + let collectionRef = getAccount(account).capabilities.borrow< + &ExampleNFT.Collection>(PublicPath(identifier: "cadenceExampleNFTCollection")!)! - let ids = receiver.getIDs() + let ids = collectionRef.getIDs() let idsLen = UInt64(ids.length) var res: [UInt64] = [] diff --git a/pds/scripts/exampleNFT/balance_exampleNFT.cdc b/pds/scripts/exampleNFT/balance_exampleNFT.cdc index 8966d8b..e929a20 100644 --- a/pds/scripts/exampleNFT/balance_exampleNFT.cdc +++ b/pds/scripts/exampleNFT/balance_exampleNFT.cdc @@ -1,10 +1,9 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import ExampleNFT from 0x{{.ExampleNFT}} +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" -pub fun main(account: Address): [UInt64] { - let receiver = getAccount(account) - .getCapability(ExampleNFT.CollectionPublicPath)! - .borrow<&{NonFungibleToken.CollectionPublic}>()! +access(all) fun main(account: Address): [UInt64] { + let collectionRef = getAccount(account).capabilities.borrow< + &ExampleNFT.Collection>(PublicPath(identifier: "cadenceExampleNFTCollection")!)! - return receiver.getIDs() + return collectionRef.getIDs() } diff --git a/pds/scripts/exampleNFT/borrow_nft.cdc b/pds/scripts/exampleNFT/borrow_nft.cdc index fdb1de5..cef90f2 100644 --- a/pds/scripts/exampleNFT/borrow_nft.cdc +++ b/pds/scripts/exampleNFT/borrow_nft.cdc @@ -1,15 +1,13 @@ -import NonFungibleToken from "../../contracts/NonFungibleToken.cdc" -import ExampleNFT from "../../contracts/ExampleNFT.cdc" +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" // This script borrows an NFT from a collection -pub fun main(address: Address, id: UInt64) { +access(all) fun main(address: Address, id: UInt64) { let account = getAccount(address) - let collectionRef = account - .getCapability(ExampleNFT.CollectionPublicPath) - .borrow<&{NonFungibleToken.CollectionPublic}>() - ?? panic("Could not borrow capability from public collection") + let collectionRef = getAccount(address).capabilities.borrow< + &ExampleNFT.Collection>(PublicPath(identifier: "cadenceExampleNFTCollection")!)! // Borrow a reference to a specific NFT in the collection - let _ = collectionRef.borrowNFT(id: id) + let _ = collectionRef.borrowNFT(id) } diff --git a/pds/scripts/exampleNFT/get_collection_length.cdc b/pds/scripts/exampleNFT/get_collection_length.cdc new file mode 100644 index 0000000..fcce593 --- /dev/null +++ b/pds/scripts/exampleNFT/get_collection_length.cdc @@ -0,0 +1,12 @@ +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" + +// This script returns the number of NFTs in the collection of the given address +access(all) fun main(address: Address): Int { + let account = getAccount(address) + + let collectionRef = getAccount(address).capabilities.borrow< + &ExampleNFT.Collection>(PublicPath(identifier: "cadenceExampleNFTCollection")!)! + + return collectionRef.getIDs().length +} diff --git a/pds/scripts/exampleNFT/get_collection_nft_ids.cdc b/pds/scripts/exampleNFT/get_collection_nft_ids.cdc new file mode 100644 index 0000000..e890d19 --- /dev/null +++ b/pds/scripts/exampleNFT/get_collection_nft_ids.cdc @@ -0,0 +1,13 @@ +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" + +// This script returns the IDs of the NFTs in the collection +access(all) fun main(address: Address): [UInt64] { + let account = getAccount(address) + + let collectionRef = getAccount(address).capabilities.borrow< + &ExampleNFT.Collection>(PublicPath(identifier: "cadenceExampleNFTCollection")!)! + + // Return the IDs of the NFTs in the collection + return collectionRef.getIDs() +} diff --git a/pds/scripts/exampleNFT/get_total_supply.cdc b/pds/scripts/exampleNFT/get_total_supply.cdc deleted file mode 100644 index a473d69..0000000 --- a/pds/scripts/exampleNFT/get_total_supply.cdc +++ /dev/null @@ -1,5 +0,0 @@ -import ExampleNFT from "../../contracts/ExampleNFT.cdc" - -pub fun main(): UInt64 { - return ExampleNFT.totalSupply -} diff --git a/pds/scripts/packNFT/balance_packNFT.cdc b/pds/scripts/packNFT/balance_packNFT.cdc index f52c20f..310f2f5 100644 --- a/pds/scripts/packNFT/balance_packNFT.cdc +++ b/pds/scripts/packNFT/balance_packNFT.cdc @@ -1,10 +1,9 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import PackNFT from 0x{{.PackNFT}} +import NonFungibleToken from "NonFungibleToken" +import PackNFT from "PackNFT" -pub fun main(account: Address): [UInt64] { - let receiver = getAccount(account) - .getCapability(PackNFT.CollectionPublicPath)! - .borrow<&{NonFungibleToken.CollectionPublic}>()! +access(all) fun main(account: Address): [UInt64] { + let collectionRef = getAccount(account).capabilities.borrow< + &PackNFT.Collection>(PackNFT.CollectionPublicPath)! - return receiver.getIDs() + return collectionRef.getIDs() } diff --git a/pds/scripts/packNFT/checksum.cdc b/pds/scripts/packNFT/checksum.cdc index 9bc326f..b3697d6 100644 --- a/pds/scripts/packNFT/checksum.cdc +++ b/pds/scripts/packNFT/checksum.cdc @@ -1,5 +1,5 @@ import Crypto -pub fun main(toHash: String): String { +access(all) fun main(toHash: String): String { let hashB2 = HashAlgorithm.SHA2_256.hash(toHash.utf8) log(String.encodeHex(hashB2)) return String.encodeHex(hashB2) diff --git a/pds/scripts/packNFT/packNFT_hash.cdc b/pds/scripts/packNFT/packNFT_hash.cdc index e73bca9..1ae8463 100644 --- a/pds/scripts/packNFT/packNFT_hash.cdc +++ b/pds/scripts/packNFT/packNFT_hash.cdc @@ -1,8 +1,7 @@ -import PackNFT from 0x{{.PackNFT}} -import IPackNFT from 0x{{.IPackNFT}} +import PackNFT from "PackNFT" +import IPackNFT from "IPackNFT" -pub fun main(id: UInt64): String { - let p = PackNFT.borrowPackRepresentation(id: id) +access(all) fun main(id: UInt64): String { + let p = PackNFT.borrowPackRepresentation(id: id) return p!.hash } - \ No newline at end of file diff --git a/pds/scripts/packNFT/packNFT_status.cdc b/pds/scripts/packNFT/packNFT_status.cdc index c8bd34f..2a3a9dc 100644 --- a/pds/scripts/packNFT/packNFT_status.cdc +++ b/pds/scripts/packNFT/packNFT_status.cdc @@ -1,7 +1,7 @@ -import PackNFT from 0x{{.PackNFT}} -import IPackNFT from 0x{{.IPackNFT}} +import PackNFT from "PackNFT" +import IPackNFT from "IPackNFT" -pub fun main(id: UInt64): UInt8 { - let p = PackNFT.borrowPackRepresentation(id: id) +access(all) fun main(id: UInt64): UInt8 { + let p = PackNFT.borrowPackRepresentation(id: id) return p!.status.rawValue } diff --git a/pds/scripts/packNFT/packNFT_total_supply.cdc b/pds/scripts/packNFT/packNFT_total_supply.cdc index 5f4d51d..18d2b98 100644 --- a/pds/scripts/packNFT/packNFT_total_supply.cdc +++ b/pds/scripts/packNFT/packNFT_total_supply.cdc @@ -1,5 +1,5 @@ -import PackNFT from 0x{{.PackNFT}} +import PackNFT from "PackNFT" -pub fun main(): UInt64{ - return PackNFT.totalSupply +access(all) fun main(): UInt64{ + return PackNFT.totalSupply } diff --git a/pds/scripts/packNFT/verify.cdc b/pds/scripts/packNFT/verify.cdc index dbbdd7e..78a8c92 100644 --- a/pds/scripts/packNFT/verify.cdc +++ b/pds/scripts/packNFT/verify.cdc @@ -1,7 +1,7 @@ -import PackNFT from 0x{{.PackNFT}} -import IPackNFT from 0x{{.IPackNFT}} +import PackNFT from "PackNFT" +import IPackNFT from "IPackNFT" -pub fun main(id: UInt64, nftString: String): Bool { - let p = PackNFT.borrowPackRepresentation(id: id) +access(all) fun main(id: UInt64, nftString: String): Bool { + let p = PackNFT.borrowPackRepresentation(id: id) return p!.verify(nftString: nftString) } diff --git a/pds/scripts/pds/get_dist_metadata.cdc b/pds/scripts/pds/get_dist_metadata.cdc index 0c686dd..0e8eb20 100644 --- a/pds/scripts/pds/get_dist_metadata.cdc +++ b/pds/scripts/pds/get_dist_metadata.cdc @@ -1,5 +1,5 @@ -import PDS from 0x{{.PDS}} +import PDS from "PDS" -pub fun main(distId: UInt64): {String: String} { +access(all) fun main(distId: UInt64): {String: String} { return PDS.getDistInfo(distId: distId)!.metadata } diff --git a/pds/scripts/pds/get_dist_state.cdc b/pds/scripts/pds/get_dist_state.cdc index e819bb3..415e399 100644 --- a/pds/scripts/pds/get_dist_state.cdc +++ b/pds/scripts/pds/get_dist_state.cdc @@ -1,5 +1,5 @@ -import PDS from 0x{{.PDS}} +import PDS from "PDS" -pub fun main(distId: UInt64): UInt8 { +access(all) fun main(distId: UInt64): UInt8 { return PDS.getDistInfo(distId: distId)!.state.rawValue } diff --git a/pds/scripts/pds/get_dist_title.cdc b/pds/scripts/pds/get_dist_title.cdc index 63babcd..2a1e449 100644 --- a/pds/scripts/pds/get_dist_title.cdc +++ b/pds/scripts/pds/get_dist_title.cdc @@ -1,5 +1,5 @@ -import PDS from 0x{{.PDS}} +import PDS from "PDS" -pub fun main(distId: UInt64): String { +access(all) fun main(distId: UInt64): String { return PDS.getDistInfo(distId: distId)!.title } diff --git a/pds/scripts/pds/get_next_dist_id.cdc b/pds/scripts/pds/get_next_dist_id.cdc index f977879..77a447f 100644 --- a/pds/scripts/pds/get_next_dist_id.cdc +++ b/pds/scripts/pds/get_next_dist_id.cdc @@ -1,5 +1,5 @@ -import PDS from 0x{{.PDS}} +import PDS from "PDS" -pub fun main(): UInt64 { +access(all) fun main(): UInt64 { return PDS.nextDistId } diff --git a/pds/transactions/collectibleNFT/mint.cdc b/pds/transactions/collectibleNFT/mint.cdc index 691de30..5c775c6 100644 --- a/pds/transactions/collectibleNFT/mint.cdc +++ b/pds/transactions/collectibleNFT/mint.cdc @@ -1,25 +1,44 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import {{.CollectibleNFTName}} from 0x{{.CollectibleNFTAddress}} +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" +import MetadataViews from "MetadataViews" + // Used for testing purposes transaction(recipient: Address, batchSize: Int) { - let minter: &{{.CollectibleNFTName}}.NFTMinter + /// local variable for storing the minter reference + let minter: &ExampleNFT.NFTMinter + + /// Reference to the receiver's collection + let recipientCollectionRef: &{NonFungibleToken.Receiver} + + prepare(signer: auth(BorrowValue) &Account) { + let collectionData = ExampleNFT.resolveContractView( + resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData? + ?? panic("ViewResolver does not resolve NFTCollectionData view") - prepare(signer: AuthAccount) { - self.minter = signer - .borrow<&{{.CollectibleNFTName}}.NFTMinter>(from: {{.CollectibleNFTName}}.MinterStoragePath)! + // borrow a reference to the NFTMinter resource in storage + self.minter = signer.storage.borrow<&ExampleNFT.NFTMinter>(from: ExampleNFT.MinterStoragePath) + ?? panic("Account does not store an object at the specified path") + + // Borrow the recipient's public NFT collection reference + self.recipientCollectionRef = getAccount(recipient).capabilities.borrow<&{NonFungibleToken.Receiver}>( + collectionData.publicPath + ) ?? panic("Could not get receiver reference to the NFT Collection") } execute { - let receiver = getAccount(recipient) - .getCapability({{.CollectibleNFTName}}.CollectionPublicPath)! - .borrow<&{NonFungibleToken.CollectionPublic}>()! - var i = 0 while i < batchSize { - self.minter.mintNFT(recipient: receiver) + self.recipientCollectionRef.deposit( + token: <-self.minter.mintNFT( + name: "", + description: "", + thumbnail: "", + royalties: [] + ) + ) i = i + 1 } } diff --git a/pds/transactions/collectibleNFT/setup_collection_and_link_provider.cdc b/pds/transactions/collectibleNFT/setup_collection_and_link_provider.cdc index 129035e..eba53aa 100644 --- a/pds/transactions/collectibleNFT/setup_collection_and_link_provider.cdc +++ b/pds/transactions/collectibleNFT/setup_collection_and_link_provider.cdc @@ -1,25 +1,27 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import {{.CollectibleNFTName}} from 0x{{.CollectibleNFTAddress}} +import NonFungibleToken from "NonFungibleToken" +import ExampleNFT from "ExampleNFT" +import MetadataViews from "MetadataViews" -transaction (NFTProviderPath: PrivatePath) { - prepare(signer: AuthAccount) { - // Setup the collection, if not already - if signer.borrow<&{{.CollectibleNFTName}}.Collection>(from: {{.CollectibleNFTName}}.CollectionStoragePath) == nil { - // create a new empty collection - let collection <- {{.CollectibleNFTName}}.createEmptyCollection() +transaction { - // save it to the account - signer.save(<-collection, to: {{.CollectibleNFTName}}.CollectionStoragePath) + prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) { + let collectionData = ExampleNFT.resolveContractView(resourceType: nil, viewType: Type()) as! MetadataViews.NFTCollectionData? + ?? panic("ViewResolver does not resolve NFTCollectionData view") - // create a public capability for the collection - signer.link<&NonFungibleToken.Collection{NonFungibleToken.CollectionPublic}>({{.CollectibleNFTName}}.CollectionPublicPath, target: {{.CollectibleNFTName}}.CollectionStoragePath) - assert(signer.getCapability<&{NonFungibleToken.CollectionPublic}>({{.CollectibleNFTName}}.CollectionPublicPath).check(), message: "did not link public cap"); + // Return early if the account already has a collection + if signer.storage.borrow<&ExampleNFT.Collection>(from: collectionData.storagePath) != nil { + return } - // Link the private withdraw capability, if not already - if !signer.getCapability<&{NonFungibleToken.Provider}>(NFTProviderPath).check() { - signer.link<&{NonFungibleToken.Provider}>(NFTProviderPath, target: {{.CollectibleNFTName}}.CollectionStoragePath) - assert(signer.getCapability<&{NonFungibleToken.Provider}>(NFTProviderPath).check(), message: "did not link withdraw cap"); - } + // Create a new empty collection + let collection <- ExampleNFT.createEmptyCollection(nftType: Type<@ExampleNFT.NFT>()) + + // save it to the account + signer.storage.save(<-collection, to: collectionData.storagePath) + + // create a public capability for the collection + signer.capabilities.unpublish(collectionData.publicPath) + let collectionCap = signer.capabilities.storage.issue<&ExampleNFT.Collection>(collectionData.storagePath) + signer.capabilities.publish(collectionCap, at: collectionData.publicPath) } } diff --git a/pds/transactions/deploy/deploy-packNFT-with-auth.cdc b/pds/transactions/deploy/deploy-packNFT-with-auth.cdc index 7ac00c5..4b86bba 100644 --- a/pds/transactions/deploy/deploy-packNFT-with-auth.cdc +++ b/pds/transactions/deploy/deploy-packNFT-with-auth.cdc @@ -1,33 +1,33 @@ // This transactions deploys a contract with init args // transaction( - contractName: String, + contractName: String, code: String, CollectionStoragePath: StoragePath, CollectionPublicPath: PublicPath, CollectionIPackNFTPublicPath: PublicPath, OperatorStoragePath: StoragePath, - OperatorPrivPath: PrivatePath, + // OperatorPrivPath: PrivatePath, version: String, ) { - prepare(owner: AuthAccount) { + prepare(owner: auth(AddContract, UpdateContract) &Account) { let existingContract = owner.contracts.get(name: contractName) if (existingContract == nil) { log("no contract") owner.contracts.add( - name: contractName, - code: code.decodeHex(), + name: contractName, + code: code.decodeHex(), CollectionStoragePath: CollectionStoragePath, CollectionPublicPath: CollectionPublicPath, CollectionIPackNFTPublicPath: CollectionIPackNFTPublicPath, OperatorStoragePath: OperatorStoragePath, - OperatorPrivPath: OperatorPrivPath, + // OperatorPrivPath: OperatorPrivPath, version: version, ) } else { log("has contract") - owner.contracts.update__experimental(name: contractName, code: code.decodeHex()) + owner.contracts.update(name: contractName, code: code.decodeHex()) } } } diff --git a/pds/transactions/deploy/deploy-pds-with-auth.cdc b/pds/transactions/deploy/deploy-pds-with-auth.cdc index e24e0f5..5baf37e 100644 --- a/pds/transactions/deploy/deploy-pds-with-auth.cdc +++ b/pds/transactions/deploy/deploy-pds-with-auth.cdc @@ -1,33 +1,31 @@ // This transactions deploys a contract with init args // transaction( - contractName: String, + contractName: String, code: String, PackIssuerStoragePath: StoragePath, PackIssuerCapRecv: PublicPath, DistCreatorStoragePath: StoragePath, - DistCreatorPrivPath: PrivatePath, DistManagerStoragePath: StoragePath, version: String, ) { - prepare(owner: AuthAccount) { + prepare(owner: auth(AddContract, UpdateContract) &Account) { let existingContract = owner.contracts.get(name: contractName) if (existingContract == nil) { log("no contract") owner.contracts.add( - name: contractName, - code: code.decodeHex(), + name: contractName, + code: code.decodeHex(), PackIssuerStoragePath: PackIssuerStoragePath, PackIssuerCapRecv: PackIssuerCapRecv, DistCreatorStoragePath: DistCreatorStoragePath, - DistCreatorPrivPath: DistCreatorPrivPath, DistManagerStoragePath: DistManagerStoragePath, version: version, ) } else { log("has contract") - owner.contracts.update__experimental(name: contractName, code: code.decodeHex()) + owner.contracts.update(name: contractName, code: code.decodeHex()) } } } diff --git a/pds/transactions/exampleNFT/link_providerCap_exampleNFT.cdc b/pds/transactions/exampleNFT/link_providerCap_exampleNFT.cdc deleted file mode 100644 index 0306086..0000000 --- a/pds/transactions/exampleNFT/link_providerCap_exampleNFT.cdc +++ /dev/null @@ -1,14 +0,0 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import ExampleNFT from 0x{{.ExampleNFT}} - -transaction(NFTProviderPath: PrivatePath) { - - prepare(signer: AuthAccount) { - if signer.getCapability<&{NonFungibleToken.Provider}>(NFTProviderPath).check() { - return - } - // This needs to be used to allow for PDS to withdraw - signer.link<&{NonFungibleToken.Provider}>( NFTProviderPath, target: ExampleNFT.CollectionStoragePath) - } - -} diff --git a/pds/transactions/packNFT/create_new_packNFT_collection.cdc b/pds/transactions/packNFT/create_new_packNFT_collection.cdc index 20fe2cb..8df1cd9 100644 --- a/pds/transactions/packNFT/create_new_packNFT_collection.cdc +++ b/pds/transactions/packNFT/create_new_packNFT_collection.cdc @@ -1,5 +1,5 @@ -import PackNFT from 0x{{.PackNFT}} -import NonFungibleToken from 0x{{.NonFungibleToken}} +import PackNFT from "PackNFT" +import NonFungibleToken from "NonFungibleToken" transaction() { prepare (issuer: AuthAccount) { diff --git a/pds/transactions/packNFT/open_request.cdc b/pds/transactions/packNFT/open_request.cdc index 5777886..dba9afb 100644 --- a/pds/transactions/packNFT/open_request.cdc +++ b/pds/transactions/packNFT/open_request.cdc @@ -1,5 +1,5 @@ -import PackNFT from 0x{{.PackNFT}} -import IPackNFT from 0x{{.IPackNFT}} +import PackNFT from "PackNFT" +import IPackNFT from "IPackNFT" transaction(revealID: UInt64) { prepare(owner: AuthAccount) { diff --git a/pds/transactions/packNFT/public_reveal_packNFT.cdc b/pds/transactions/packNFT/public_reveal_packNFT.cdc index 2a45e08..1f6cdc9 100644 --- a/pds/transactions/packNFT/public_reveal_packNFT.cdc +++ b/pds/transactions/packNFT/public_reveal_packNFT.cdc @@ -1,27 +1,28 @@ -import PackNFT from 0x{{.PackNFT}} -import PDS from 0x{{.PDS}} -import IPackNFT from 0x{{.IPackNFT}} -import ExampleNFT from 0x{{.ExampleNFT}} +import PackNFT from "PackNFT" +import PDS from "PDS" +import IPackNFT from "IPackNFT" +import ExampleNFT from "ExampleNFT" -transaction (packId: UInt64, nftContractAddrs: [Address], nftContractName: [String], nftIds: [UInt64], salt: String) { +transaction (packId: UInt64, nftContractAddrs: [Address], nftContractNames: [String], nftIds: [UInt64], salt: String) { prepare(pds: AuthAccount) { assert( - nftContractAddrs.length == nftContractName.length && - nftContractName.length == nftIds.length, + nftContractAddrs.length == nftContractNames.length && + nftContractNames.length == nftIds.length, message: "NFTs must be fully described" ) let arr: [{IPackNFT.Collectible}] = [] var i = 0 while i < nftContractAddrs.length { - let s = PDS.Collectible(address: nftContractAddrs[i], contractName: nftContractName[i], id: nftIds[i]) + let s = PDS.Collectible(address: nftContractAddrs[i], contractName: nftContractNames[i], id: nftIds[i]) arr.append(s) i = i + 1 } PackNFT.publicReveal( - id: packId, - nfts: arr, - salt: salt) + id: packId, + nfts: arr, + salt: salt + ) } } diff --git a/pds/transactions/packNFT/reveal_request.cdc b/pds/transactions/packNFT/reveal_request.cdc index c074bf5..855deb8 100644 --- a/pds/transactions/packNFT/reveal_request.cdc +++ b/pds/transactions/packNFT/reveal_request.cdc @@ -1,9 +1,10 @@ -import PackNFT from 0x{{.PackNFT}} -import IPackNFT from 0x{{.IPackNFT}} +import PackNFT from "PackNFT" +import IPackNFT from "IPackNFT" transaction(revealID: UInt64, openRequest: Bool) { - prepare(owner: AuthAccount) { - let collectionRef = owner.borrow<&PackNFT.Collection>(from: PackNFT.CollectionStoragePath)! - collectionRef.borrowPackNFT(id: revealID)!.reveal(openRequest: openRequest) + prepare(owner: auth(BorrowValue) &Account) { + let collectionRef = owner.storage.borrow<&PackNFT.Collection>(from: PackNFT.CollectionStoragePath)! + let packNFT = collectionRef.borrowNFT(id: revealID) as! &{IPackNFT.NFT}! + packNFT.reveal(openRequest: openRequest) } } diff --git a/pds/transactions/packNFT/transfer_packNFT.cdc b/pds/transactions/packNFT/transfer_packNFT.cdc index e459048..0849e9c 100644 --- a/pds/transactions/packNFT/transfer_packNFT.cdc +++ b/pds/transactions/packNFT/transfer_packNFT.cdc @@ -1,23 +1,27 @@ -import NonFungibleToken from 0x{{.NonFungibleToken}} -import PackNFT from 0x{{.PackNFT}} +import NonFungibleToken from "NonFungibleToken" +import PackNFT from "PackNFT" transaction(recipient: Address, withdrawID: UInt64) { - prepare(signer: AuthAccount) { + // Reference to the withdrawer's collection + let withdrawRef: auth(NonFungibleToken.Withdraw) &PackNFT.Collection + + // Reference of the collection to deposit the NFT to + let receiverRef: &PackNFT.Collection + + prepare(signer: auth(BorrowValue) &Account) { let recipient = getAccount(recipient) // borrow a reference to the signer's NFT collection - let collectionRef = signer - .borrow<&PackNFT.Collection>(from: PackNFT.CollectionStoragePath)! + self.withdrawRef = signer.storage.borrow< + auth(NonFungibleToken.Withdraw) &PackNFT.Collection>(from: PackNFT.CollectionStoragePath)! // borrow a public reference to the receivers collection - let depositRef = recipient - .getCapability(PackNFT.CollectionPublicPath)! - .borrow<&{NonFungibleToken.CollectionPublic}>()! - - // withdraw the NFT from the owner's collection - let nft <- collectionRef.withdraw(withdrawID: withdrawID) + self.receiverRef = recipient + .capabilities.borrow<&PackNFT.Collection>(PackNFT.CollectionPublicPath)! + } - // Deposit the NFT in the recipient's collection - depositRef.deposit(token: <-nft) + execute { + // Withdraw the NFT from the owner's collection and deposit it in the recipient's collection + self.receiverRef.deposit(token: <- self.withdrawRef.withdraw(withdrawID: withdrawID)) } } diff --git a/pds/transactions/pds/create_distribution.cdc b/pds/transactions/pds/create_distribution.cdc index d1e84ac..6acf97e 100644 --- a/pds/transactions/pds/create_distribution.cdc +++ b/pds/transactions/pds/create_distribution.cdc @@ -1,21 +1,21 @@ -import PDS from 0x{{.PDS}} -import {{.PackNFTName}} from 0x{{.PackNFTAddress}} -import IPackNFT from 0x{{.IPackNFT}} -import NonFungibleToken from 0x{{.NonFungibleToken}} +import PDS from "PDS" +import {{.PackNFTName}} from "PackNFT" +import IPackNFT from "IPackNFT" +import NonFungibleToken from "NonFungibleToken" -transaction(NFTProviderPath: PrivatePath, title: String, metadata: {String: String}) { - prepare (issuer: AuthAccount) { +transaction(title: String, metadata: {String: String}) { + prepare (issuer: auth(BorrowValue, Capabilities) &Account) { - let i = issuer.borrow<&PDS.PackIssuer>(from: PDS.PackIssuerStoragePath) ?? panic ("issuer does not have PackIssuer resource") + let i = issuer.storage.borrow(from: PDS.PackIssuerStoragePath) + ?? panic ("issuer does not have PackIssuer resource") // issuer must have a PackNFT collection - log(NFTProviderPath) - let withdrawCap = issuer.getCapability<&{NonFungibleToken.Provider}>(NFTProviderPath); - let operatorCap = issuer.getCapability<&{IPackNFT.IOperator}>({{.PackNFTName}}.OperatorPrivPath); + let withdrawCap = issuer.capabilities.storage.issue(StoragePath(identifier: "cadenceExampleNFTCollection")!); + let operatorCap = issuer.capabilities.storage.issue({{.PackNFTName}}.OperatorStoragePath); assert(withdrawCap.check(), message: "cannot borrow withdraw capability") assert(operatorCap.check(), message: "cannot borrow operator capability") let sc <- PDS.createSharedCapabilities ( withdrawCap: withdrawCap, operatorCap: operatorCap ) - i.create(sharedCap: <-sc, title: title, metadata: metadata) + i.createDist(sharedCap: <-sc, title: title, metadata: metadata) } } diff --git a/pds/transactions/pds/create_new_pack_issuer.cdc b/pds/transactions/pds/create_new_pack_issuer.cdc index b9a5c74..37d1e6c 100644 --- a/pds/transactions/pds/create_new_pack_issuer.cdc +++ b/pds/transactions/pds/create_new_pack_issuer.cdc @@ -1,19 +1,19 @@ -import PDS from 0x{{.PDS}} +import PDS from "PDS" transaction() { - prepare (issuer: AuthAccount) { - + prepare (issuer: auth(Storage, Capabilities) &Account) { // Check if account already have a PackIssuer resource, if so destroy it - if issuer.borrow<&PDS.PackIssuer>(from: PDS.PackIssuerStoragePath) != nil { - issuer.unlink(PDS.PackIssuerCapRecv) - let p <- issuer.load<@PDS.PackIssuer>(from: PDS.PackIssuerStoragePath) + if issuer.storage.borrow<&PDS.PackIssuer>(from: PDS.PackIssuerStoragePath) != nil { + issuer.capabilities.unpublish(PDS.PackIssuerCapRecv) + let p <- issuer.storage.load<@PDS.PackIssuer>(from: PDS.PackIssuerStoragePath) destroy p } - - issuer.save(<- PDS.createPackIssuer(), to: PDS.PackIssuerStoragePath); - - issuer.link<&PDS.PackIssuer{PDS.PackIssuerCapReciever}>(PDS.PackIssuerCapRecv, target: PDS.PackIssuerStoragePath) - ?? panic("Could not link packIssuerCapReceiver"); - } + + issuer.storage.save(<- PDS.createPackIssuer(), to: PDS.PackIssuerStoragePath); + + issuer.capabilities.publish( + issuer.capabilities.storage.issue<&PDS.PackIssuer>(PDS.PackIssuerStoragePath), + at: PDS.PackIssuerCapRecv + ) + } } - diff --git a/pds/transactions/pds/mint_packNFT.cdc b/pds/transactions/pds/mint_packNFT.cdc index bfbc026..c009cd7 100644 --- a/pds/transactions/pds/mint_packNFT.cdc +++ b/pds/transactions/pds/mint_packNFT.cdc @@ -1,13 +1,14 @@ -import PDS from 0x{{.PDS}} -import {{.PackNFTName}} from 0x{{.PackNFTAddress}} -import NonFungibleToken from 0x{{.NonFungibleToken}} +import PDS from "PDS" +import {{.PackNFTName}} from "PackNFT" +import NonFungibleToken from "NonFungibleToken" transaction (distId: UInt64, commitHashes: [String], issuer: Address ) { - prepare(pds: AuthAccount) { + prepare(pds: auth(BorrowValue) &Account) { let recvAcct = getAccount(issuer) - let recv = recvAcct.getCapability({{.PackNFTName}}.CollectionPublicPath).borrow<&{NonFungibleToken.CollectionPublic}>() + let recv = recvAcct.capabilities.borrow<&{NonFungibleToken.CollectionPublic}>({{.PackNFTName}}.CollectionPublicPath) ?? panic("Unable to borrow Collection Public reference for recipient") - let cap = pds.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) ?? panic("pds does not have Dist manager") + let cap = pds.storage.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) + ?? panic("pds does not have Dist manager") cap.mintPackNFT(distId: distId, commitHashes: commitHashes, issuer: issuer, recvCap: recv) } } diff --git a/pds/transactions/pds/open_packNFT.cdc b/pds/transactions/pds/open_packNFT.cdc index fc5f60b..540ea62 100644 --- a/pds/transactions/pds/open_packNFT.cdc +++ b/pds/transactions/pds/open_packNFT.cdc @@ -1,21 +1,31 @@ -import PDS from 0x{{.PDS}} -import {{.CollectibleNFTName}} from 0x{{.CollectibleNFTAddress}} -import NonFungibleToken from 0x{{.NonFungibleToken}} +import PDS from "PDS" +import ExampleNFT from "ExampleNFT" +import NonFungibleToken from "NonFungibleToken" -transaction (distId: UInt64, packId: UInt64, nftContractAddrs: [Address], nftContractName: [String], nftIds: [UInt64], owner: Address, NFTProviderPath: PrivatePath) { - prepare(pds: AuthAccount) { - let cap = pds.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) ?? panic("pds does not have Dist manager") +transaction ( + distId: UInt64, + packId: UInt64, + nftContractAddrs: [Address], + nftContractNames: [String], + nftIds: [UInt64], + owner: Address, + collectionStoragePath: StoragePath +) { + prepare(pds: auth(BorrowValue) &Account) { + let cap = pds.storage.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) + ?? panic("pds does not have Dist manager") let recvAcct = getAccount(owner) - let recv = recvAcct.getCapability({{.CollectibleNFTName}}.CollectionPublicPath).borrow<&{NonFungibleToken.CollectionPublic}>() + let recv = recvAcct.capabilities.borrow<&{NonFungibleToken.CollectionPublic}>(PublicPath(identifier: "cadenceExampleNFTCollection")!) ?? panic("Unable to borrow Collection Public reference for recipient") + cap.openPackNFT( distId: distId, packId: packId, nftContractAddrs: nftContractAddrs, - nftContractName: nftContractName, + nftContractNames: nftContractNames, nftIds: nftIds, recvCap: recv, - collectionProviderPath: NFTProviderPath, + collectionStoragePath: collectionStoragePath, ) } } diff --git a/pds/transactions/pds/reveal_packNFT.cdc b/pds/transactions/pds/reveal_packNFT.cdc index 7a09cc3..82690ed 100644 --- a/pds/transactions/pds/reveal_packNFT.cdc +++ b/pds/transactions/pds/reveal_packNFT.cdc @@ -1,43 +1,47 @@ -import PDS from 0x{{.PDS}} -import {{.PackNFTName}} from 0x{{.PackNFTAddress}} -import {{.CollectibleNFTName}} from 0x{{.CollectibleNFTAddress}} -import NonFungibleToken from 0x{{.NonFungibleToken}} +import PDS from "PDS" +import {{.PackNFTName}} from "PackNFT" +import ExampleNFT from "ExampleNFT" +import NonFungibleToken from "NonFungibleToken" transaction ( distId: UInt64, packId: UInt64, nftContractAddrs: [Address], - nftContractName: [String], + nftContractNames: [String], nftIds: [UInt64], salt: String, owner: Address, openRequest: Bool, - NFTProviderPath: PrivatePath + collectionStoragePath: StoragePath ) { - prepare(pds: AuthAccount) { - let cap = pds.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) ?? panic("pds does not have Dist manager") - let p = {{.PackNFTName}}.borrowPackRepresentation(id: packId) ?? panic ("No such pack") + prepare(pds: auth(BorrowValue) &Account) { + let cap = pds.storage.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) + ?? panic("pds does not have Dist manager") + let p = {{.PackNFTName}}.borrowPackRepresentation(id: packId) + ?? panic ("No such pack") + if openRequest && p.status == {{.PackNFTName}}.Status.Revealed { let recvAcct = getAccount(owner) - let recv = recvAcct.getCapability({{.CollectibleNFTName}}.CollectionPublicPath).borrow<&{NonFungibleToken.CollectionPublic}>() + let recv = recvAcct.capabilities.borrow<&{NonFungibleToken.CollectionPublic}>(PublicPath(identifier: "cadenceExampleNFTCollection")!) ?? panic("Unable to borrow Collection Public reference for recipient") cap.openPackNFT( distId: distId, packId: packId, nftContractAddrs: nftContractAddrs, - nftContractName: nftContractName, + nftContractNames: nftContractNames, nftIds: nftIds, recvCap: recv, - collectionProviderPath: NFTProviderPath + collectionStoragePath: collectionStoragePath ) } else { cap.revealPackNFT( - distId: distId, - packId: packId, - nftContractAddrs: nftContractAddrs, - nftContractName: nftContractName, - nftIds: nftIds, - salt: salt) + distId: distId, + packId: packId, + nftContractAddrs: nftContractAddrs, + nftContractNames: nftContractNames, + nftIds: nftIds, + salt: salt + ) } } } diff --git a/pds/transactions/pds/set_pack_issuer_cap.cdc b/pds/transactions/pds/set_pack_issuer_cap.cdc index 95bf613..9c5090e 100644 --- a/pds/transactions/pds/set_pack_issuer_cap.cdc +++ b/pds/transactions/pds/set_pack_issuer_cap.cdc @@ -1,16 +1,14 @@ -import PDS from 0x{{.PDS}} +import PDS from "PDS" transaction (issuer: Address) { - prepare(pds: AuthAccount) { - let cap = pds.getCapability<&PDS.DistributionCreator{PDS.IDistCreator}>(PDS.DistCreatorPrivPath) + prepare(pds: auth(Capabilities) &Account) { + let cap = pds.capabilities.storage.issue(PDS.DistCreatorStoragePath) if !cap.check() { - panic ("cannot borrow such capability") - } else { - let setCapRef = getAccount(issuer).getCapability<&PDS.PackIssuer{PDS.PackIssuerCapReciever}>(PDS.PackIssuerCapRecv).borrow() - ?? panic("no cap for setting distCap") - setCapRef.setDistCap(cap: cap); + panic("cannot borrow such capability") } - } + let setCapRef = getAccount(issuer).capabilities.borrow<&PDS.PackIssuer>(PDS.PackIssuerCapRecv) + ?? panic("no cap for setting distCap") + setCapRef.setDistCap(cap: cap); + } } - diff --git a/pds/transactions/pds/settle.cdc b/pds/transactions/pds/settle.cdc index 501dbf9..bc2bae6 100644 --- a/pds/transactions/pds/settle.cdc +++ b/pds/transactions/pds/settle.cdc @@ -1,9 +1,14 @@ -import PDS from 0x{{.PDS}} -import {{.CollectibleNFTName}} from 0x{{.CollectibleNFTAddress}} +import PDS from "PDS" +import ExampleNFT from "ExampleNFT" transaction (distId: UInt64, nftIDs: [UInt64]) { - prepare(pds: AuthAccount) { - let cap = pds.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) ?? panic("pds does not have Dist manager") - cap.withdraw(distId: distId, nftIDs: nftIDs, escrowCollectionPublic: {{.CollectibleNFTName}}.CollectionPublicPath) + prepare(pds: auth(BorrowValue) &Account) { + let cap = pds.storage.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) + ?? panic("pds does not have Dist manager") + cap.withdraw( + distId: distId, + nftIDs: nftIDs, + escrowCollectionPublic: PublicPath(identifier: "cadenceExampleNFTCollection")!, + ) } } diff --git a/pds/transactions/pds/update_dist_state.cdc b/pds/transactions/pds/update_dist_state.cdc index fe8c72b..58e93e4 100644 --- a/pds/transactions/pds/update_dist_state.cdc +++ b/pds/transactions/pds/update_dist_state.cdc @@ -1,13 +1,14 @@ -import PDS from 0x{{.PDS}} -import NonFungibleToken from 0x{{.NonFungibleToken}} +import PDS from "PDS" +import NonFungibleToken from "NonFungibleToken" transaction (distId: UInt64, state: UInt8) { // state is an enum // - 0: Initialized // - 1: Invalid // - 2: Complete - prepare(pds: AuthAccount) { - let cap = pds.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) ?? panic("pds does not have Dist manager") + prepare(pds: auth(BorrowValue) &Account) { + let cap = pds.storage.borrow<&PDS.DistributionManager>(from: PDS.DistManagerStoragePath) + ?? panic("pds does not have Dist manager") cap.updateDistState( distId: distId, state: PDS.DistState(rawValue: state)!,