Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@0xflair/evm-contracts

Package Overview
Dependencies
Maintainers
1
Versions
129
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@0xflair/evm-contracts - npm Package Compare versions

Comparing version 1.9.0 to 1.9.1

2

package.json
{
"name": "@0xflair/evm-contracts",
"version": "1.9.0",
"version": "1.9.1",
"description": "A monorepo containing all evm-based smart contracts and extensions used on Flair platform.",

@@ -5,0 +5,0 @@ "author": "Flair.Finance",

@@ -31,2 +31,3 @@ /* Autogenerated file. Do not edit manually. */

"contractURI()": FunctionFragment;
"defaultRoyalty()": FunctionFragment;
"freezeBaseURI()": FunctionFragment;

@@ -36,3 +37,6 @@ "freezeMaxSupply()": FunctionFragment;

"getInfo()": FunctionFragment;
"initialize((string,string,string,string,string,address[],uint256[],uint256,address))": FunctionFragment;
"getRaribleV2Royalties(uint256)": FunctionFragment;
"getTokenRoyaltiesCount()": FunctionFragment;
"getTokenRoyaltyByIndex(uint256)": FunctionFragment;
"initialize((string,string,string,string,string,address[],uint256[],uint256,address,uint16,address))": FunctionFragment;
"isApprovedForAll(address,address)": FunctionFragment;

@@ -49,2 +53,3 @@ "isTrustedForwarder(address)": FunctionFragment;

"revokeManagementPower()": FunctionFragment;
"royaltyInfo(uint256,uint256)": FunctionFragment;
"safeTransferFrom(address,address,uint256)": FunctionFragment;

@@ -54,4 +59,6 @@ "setApprovalForAll(address,bool)": FunctionFragment;

"setContractURI(string)": FunctionFragment;
"setDefaultRoyalty((address,uint16))": FunctionFragment;
"setMaxSupply(uint256)": FunctionFragment;
"setPlaceholderURI(string)": FunctionFragment;
"setTokenRoyalties(tuple[])": FunctionFragment;
"setTrustedForwarder(address)": FunctionFragment;

@@ -89,2 +96,6 @@ "supportsInterface(bytes4)": FunctionFragment;

encodeFunctionData(
functionFragment: "defaultRoyalty",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "freezeBaseURI",

@@ -103,2 +114,14 @@ values?: undefined

encodeFunctionData(
functionFragment: "getRaribleV2Royalties",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "getTokenRoyaltiesCount",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getTokenRoyaltyByIndex",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "initialize",

@@ -115,2 +138,4 @@ values: [

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -156,2 +181,6 @@ }

encodeFunctionData(
functionFragment: "royaltyInfo",
values: [BigNumberish, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "safeTransferFrom",

@@ -170,2 +199,6 @@ values: [string, string, BigNumberish]

encodeFunctionData(
functionFragment: "setDefaultRoyalty",
values: [{ recipient: string; bps: BigNumberish }]
): string;
encodeFunctionData(
functionFragment: "setMaxSupply",

@@ -179,2 +212,6 @@ values: [BigNumberish]

encodeFunctionData(
functionFragment: "setTokenRoyalties",
values: [{ tokenId: BigNumberish; recipient: string; bps: BigNumberish }[]]
): string;
encodeFunctionData(
functionFragment: "setTrustedForwarder",

@@ -228,2 +265,6 @@ values: [string]

decodeFunctionResult(
functionFragment: "defaultRoyalty",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "freezeBaseURI",

@@ -241,2 +282,14 @@ data: BytesLike

decodeFunctionResult(functionFragment: "getInfo", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "getRaribleV2Royalties",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getTokenRoyaltiesCount",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getTokenRoyaltyByIndex",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;

@@ -276,2 +329,6 @@ decodeFunctionResult(

decodeFunctionResult(
functionFragment: "royaltyInfo",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "safeTransferFrom",

@@ -290,2 +347,6 @@ data: BytesLike

decodeFunctionResult(
functionFragment: "setDefaultRoyalty",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setMaxSupply",

@@ -299,2 +360,6 @@ data: BytesLike

decodeFunctionResult(
functionFragment: "setTokenRoyalties",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setTrustedForwarder",

@@ -329,4 +394,7 @@ data: BytesLike

"ApprovalForAll(address,address,bool)": EventFragment;
"DefaultRoyaltySet(address,uint16)": EventFragment;
"Initialized(uint8)": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
"TokenRoyaltyRemoved(uint256)": EventFragment;
"TokenRoyaltySet(uint256,address,uint16)": EventFragment;
"Transfer(address,address,uint256)": EventFragment;

@@ -337,4 +405,7 @@ };

getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment;
getEvent(nameOrSignatureOrTopic: "DefaultRoyaltySet"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
getEvent(nameOrSignatureOrTopic: "TokenRoyaltyRemoved"): EventFragment;
getEvent(nameOrSignatureOrTopic: "TokenRoyaltySet"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;

@@ -359,2 +430,6 @@ }

export type DefaultRoyaltySetEvent = TypedEvent<
[string, number] & { recipient: string; bps: number }
>;
export type InitializedEvent = TypedEvent<[number] & { version: number }>;

@@ -366,2 +441,14 @@

export type TokenRoyaltyRemovedEvent = TypedEvent<
[BigNumber] & { tokenId: BigNumber }
>;
export type TokenRoyaltySetEvent = TypedEvent<
[BigNumber, string, number] & {
tokenId: BigNumber;
recipient: string;
bps: number;
}
>;
export type TransferEvent = TypedEvent<

@@ -431,2 +518,6 @@ [string, string, BigNumber] & { from: string; to: string; tokenId: BigNumber }

defaultRoyalty(
overrides?: CallOverrides
): Promise<[string, number] & { recipient: string; bps: number }>;
freezeBaseURI(

@@ -455,2 +546,26 @@ overrides?: Overrides & { from?: string | Promise<string> }

getRaribleV2Royalties(
id: BigNumberish,
overrides?: CallOverrides
): Promise<
[([string, BigNumber] & { account: string; value: BigNumber })[]] & {
result: ([string, BigNumber] & { account: string; value: BigNumber })[];
}
>;
getTokenRoyaltiesCount(overrides?: CallOverrides): Promise<[BigNumber]>;
getTokenRoyaltyByIndex(
index: BigNumberish,
overrides?: CallOverrides
): Promise<
[
[BigNumber, string, number] & {
tokenId: BigNumber;
recipient: string;
bps: number;
}
]
>;
initialize(

@@ -466,2 +581,4 @@ config: {

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -512,2 +629,8 @@ },

royaltyInfo(
tokenId: BigNumberish,
value: BigNumberish,
overrides?: CallOverrides
): Promise<[string, BigNumber]>;
"safeTransferFrom(address,address,uint256)"(

@@ -544,2 +667,7 @@ from: string,

setDefaultRoyalty(
royalty: { recipient: string; bps: BigNumberish },
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setMaxSupply(

@@ -555,2 +683,11 @@ newValue: BigNumberish,

setTokenRoyalties(
royaltyConfigs: {
tokenId: BigNumberish;
recipient: string;
bps: BigNumberish;
}[],
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setTrustedForwarder(

@@ -618,2 +755,6 @@ trustedForwarder: string,

defaultRoyalty(
overrides?: CallOverrides
): Promise<[string, number] & { recipient: string; bps: number }>;
freezeBaseURI(

@@ -642,2 +783,20 @@ overrides?: Overrides & { from?: string | Promise<string> }

getRaribleV2Royalties(
id: BigNumberish,
overrides?: CallOverrides
): Promise<([string, BigNumber] & { account: string; value: BigNumber })[]>;
getTokenRoyaltiesCount(overrides?: CallOverrides): Promise<BigNumber>;
getTokenRoyaltyByIndex(
index: BigNumberish,
overrides?: CallOverrides
): Promise<
[BigNumber, string, number] & {
tokenId: BigNumber;
recipient: string;
bps: number;
}
>;
initialize(

@@ -653,2 +812,4 @@ config: {

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -696,2 +857,8 @@ },

royaltyInfo(
tokenId: BigNumberish,
value: BigNumberish,
overrides?: CallOverrides
): Promise<[string, BigNumber]>;
"safeTransferFrom(address,address,uint256)"(

@@ -728,2 +895,7 @@ from: string,

setDefaultRoyalty(
royalty: { recipient: string; bps: BigNumberish },
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setMaxSupply(

@@ -739,2 +911,11 @@ newValue: BigNumberish,

setTokenRoyalties(
royaltyConfigs: {
tokenId: BigNumberish;
recipient: string;
bps: BigNumberish;
}[],
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setTrustedForwarder(

@@ -799,2 +980,6 @@ trustedForwarder: string,

defaultRoyalty(
overrides?: CallOverrides
): Promise<[string, number] & { recipient: string; bps: number }>;
freezeBaseURI(overrides?: CallOverrides): Promise<void>;

@@ -819,2 +1004,20 @@

getRaribleV2Royalties(
id: BigNumberish,
overrides?: CallOverrides
): Promise<([string, BigNumber] & { account: string; value: BigNumber })[]>;
getTokenRoyaltiesCount(overrides?: CallOverrides): Promise<BigNumber>;
getTokenRoyaltyByIndex(
index: BigNumberish,
overrides?: CallOverrides
): Promise<
[BigNumber, string, number] & {
tokenId: BigNumber;
recipient: string;
bps: number;
}
>;
initialize(

@@ -830,2 +1033,4 @@ config: {

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -869,2 +1074,8 @@ },

royaltyInfo(
tokenId: BigNumberish,
value: BigNumberish,
overrides?: CallOverrides
): Promise<[string, BigNumber]>;
"safeTransferFrom(address,address,uint256)"(

@@ -895,2 +1106,7 @@ from: string,

setDefaultRoyalty(
royalty: { recipient: string; bps: BigNumberish },
overrides?: CallOverrides
): Promise<void>;
setMaxSupply(

@@ -906,2 +1122,11 @@ newValue: BigNumberish,

setTokenRoyalties(
royaltyConfigs: {
tokenId: BigNumberish;
recipient: string;
bps: BigNumberish;
}[],
overrides?: CallOverrides
): Promise<void>;
setTrustedForwarder(

@@ -990,2 +1215,12 @@ trustedForwarder: string,

"DefaultRoyaltySet(address,uint16)"(
recipient?: null,
bps?: null
): TypedEventFilter<[string, number], { recipient: string; bps: number }>;
DefaultRoyaltySet(
recipient?: null,
bps?: null
): TypedEventFilter<[string, number], { recipient: string; bps: number }>;
"Initialized(uint8)"(

@@ -1015,2 +1250,28 @@ version?: null

"TokenRoyaltyRemoved(uint256)"(
tokenId?: null
): TypedEventFilter<[BigNumber], { tokenId: BigNumber }>;
TokenRoyaltyRemoved(
tokenId?: null
): TypedEventFilter<[BigNumber], { tokenId: BigNumber }>;
"TokenRoyaltySet(uint256,address,uint16)"(
tokenId?: null,
recipient?: null,
bps?: null
): TypedEventFilter<
[BigNumber, string, number],
{ tokenId: BigNumber; recipient: string; bps: number }
>;
TokenRoyaltySet(
tokenId?: null,
recipient?: null,
bps?: null
): TypedEventFilter<
[BigNumber, string, number],
{ tokenId: BigNumber; recipient: string; bps: number }
>;
"Transfer(address,address,uint256)"(

@@ -1052,2 +1313,4 @@ from?: string | null,

defaultRoyalty(overrides?: CallOverrides): Promise<BigNumber>;
freezeBaseURI(

@@ -1068,2 +1331,14 @@ overrides?: Overrides & { from?: string | Promise<string> }

getRaribleV2Royalties(
id: BigNumberish,
overrides?: CallOverrides
): Promise<BigNumber>;
getTokenRoyaltiesCount(overrides?: CallOverrides): Promise<BigNumber>;
getTokenRoyaltyByIndex(
index: BigNumberish,
overrides?: CallOverrides
): Promise<BigNumber>;
initialize(

@@ -1079,2 +1354,4 @@ config: {

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -1125,2 +1402,8 @@ },

royaltyInfo(
tokenId: BigNumberish,
value: BigNumberish,
overrides?: CallOverrides
): Promise<BigNumber>;
"safeTransferFrom(address,address,uint256)"(

@@ -1157,2 +1440,7 @@ from: string,

setDefaultRoyalty(
royalty: { recipient: string; bps: BigNumberish },
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
setMaxSupply(

@@ -1168,2 +1456,11 @@ newValue: BigNumberish,

setTokenRoyalties(
royaltyConfigs: {
tokenId: BigNumberish;
recipient: string;
bps: BigNumberish;
}[],
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
setTrustedForwarder(

@@ -1235,2 +1532,4 @@ trustedForwarder: string,

defaultRoyalty(overrides?: CallOverrides): Promise<PopulatedTransaction>;
freezeBaseURI(

@@ -1251,2 +1550,16 @@ overrides?: Overrides & { from?: string | Promise<string> }

getRaribleV2Royalties(
id: BigNumberish,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
getTokenRoyaltiesCount(
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
getTokenRoyaltyByIndex(
index: BigNumberish,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
initialize(

@@ -1262,2 +1575,4 @@ config: {

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -1310,2 +1625,8 @@ },

royaltyInfo(
tokenId: BigNumberish,
value: BigNumberish,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
"safeTransferFrom(address,address,uint256)"(

@@ -1342,2 +1663,7 @@ from: string,

setDefaultRoyalty(
royalty: { recipient: string; bps: BigNumberish },
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
setMaxSupply(

@@ -1353,2 +1679,11 @@ newValue: BigNumberish,

setTokenRoyalties(
royaltyConfigs: {
tokenId: BigNumberish;
recipient: string;
bps: BigNumberish;
}[],
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
setTrustedForwarder(

@@ -1355,0 +1690,0 @@ trustedForwarder: string,

@@ -66,2 +66,12 @@ /* Autogenerated file. Do not edit manually. */

internalType: "address",
name: "defaultRoyaltyAddress",
type: "address",
},
{
internalType: "uint16",
name: "defaultRoyaltyBps",
type: "uint16",
},
{
internalType: "address",
name: "trustedForwarder",

@@ -134,2 +144,21 @@ type: "address",

indexed: false,
internalType: "address",
name: "recipient",
type: "address",
},
{
indexed: false,
internalType: "uint16",
name: "bps",
type: "uint16",
},
],
name: "DefaultRoyaltySet",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint8",

@@ -166,2 +195,40 @@ name: "version",

{
indexed: false,
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
],
name: "TokenRoyaltyRemoved",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
indexed: false,
internalType: "address",
name: "recipient",
type: "address",
},
{
indexed: false,
internalType: "uint16",
name: "bps",
type: "uint16",
},
],
name: "TokenRoyaltySet",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,

@@ -279,2 +346,20 @@ internalType: "address",

inputs: [],
name: "defaultRoyalty",
outputs: [
{
internalType: "address",
name: "recipient",
type: "address",
},
{
internalType: "uint16",
name: "bps",
type: "uint16",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "freezeBaseURI",

@@ -337,4 +422,84 @@ outputs: [],

{
internalType: "uint256",
name: "id",
type: "uint256",
},
],
name: "getRaribleV2Royalties",
outputs: [
{
components: [
{
internalType: "address payable",
name: "account",
type: "address",
},
{
internalType: "uint96",
name: "value",
type: "uint96",
},
],
internalType: "struct LibPart.Part[]",
name: "result",
type: "tuple[]",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getTokenRoyaltiesCount",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "index",
type: "uint256",
},
],
name: "getTokenRoyaltyByIndex",
outputs: [
{
components: [
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
internalType: "address",
name: "recipient",
type: "address",
},
{
internalType: "uint16",
name: "bps",
type: "uint16",
},
],
internalType: "struct IEIP2981RoyaltyOverride.TokenRoyaltyConfig",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "string",

@@ -381,2 +546,12 @@ name: "name",

internalType: "address",
name: "defaultRoyaltyAddress",
type: "address",
},
{
internalType: "uint16",
name: "defaultRoyaltyBps",
type: "uint16",
},
{
internalType: "address",
name: "trustedForwarder",

@@ -558,3 +733,32 @@ type: "address",

{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "royaltyInfo",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "from",

@@ -654,2 +858,27 @@ type: "address",

{
components: [
{
internalType: "address",
name: "recipient",
type: "address",
},
{
internalType: "uint16",
name: "bps",
type: "uint16",
},
],
internalType: "struct IEIP2981RoyaltyOverride.TokenRoyalty",
name: "royalty",
type: "tuple",
},
],
name: "setDefaultRoyalty",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint256",

@@ -681,2 +910,32 @@ name: "newValue",

{
components: [
{
internalType: "uint256",
name: "tokenId",
type: "uint256",
},
{
internalType: "address",
name: "recipient",
type: "address",
},
{
internalType: "uint16",
name: "bps",
type: "uint16",
},
],
internalType: "struct IEIP2981RoyaltyOverride.TokenRoyaltyConfig[]",
name: "royaltyConfigs",
type: "tuple[]",
},
],
name: "setTokenRoyalties",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -841,3 +1100,3 @@ name: "trustedForwarder",

const _bytecode =
"0x60806040526000600f553480156200001657600080fd5b50604051620035d5380380620035d5833981016040819052620000399162000b93565b600d54608082015182516020840151604085015161010086015162000067620000616200018b565b620001a7565b600280546001600160a01b0319166001600160a01b039290921691909117905580516200009c906003906020840190620008bd565b50620000af633d96f4ff60e11b62000202565b620000c1635b5e139f60e01b62000202565b508151620000d7906004906020850190620008bd565b508051620000ed906005906020840190620008bd565b50508151620001059150600a906020840190620008bd565b506200011863e91f76a560e01b62000202565b50600d819055620001306330f487b560e11b62000202565b620001426380ac58cd60e01b62000202565b5062000155631aa1577160e11b62000202565b6200016763948e2d5360e01b62000202565b62000179632a7c3e4960e01b62000202565b62000184816200028a565b5062000ed8565b6000620001a2620003f460201b620010f91760201c565b905090565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6001600160e01b03198082161415620002625760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064015b60405180910390fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b60006200029860016200042d565b90508015620002b1576000805461ff0019166101001790555b8160c00151518260a0015151146200030c5760405162461bcd60e51b815260206004820152601b60248201527f4552433732312f494e56414c49445f494e495449414c5f415247530000000000604482015260640162000259565b60e0820151600d5560005b8260a00151518110156200038c57620003778360a00151828151811062000342576200034262000d14565b60200260200101518460c00151838151811062000363576200036362000d14565b6020026020010151620004d660201b60201c565b80620003838162000d40565b91505062000317565b5060608201518051620003a891600b91602090910190620008bd565b508015620003f0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6002546000906001600160a01b031633141562000418575060131936013560601c90565b620001a26200058060201b620011201760201c565b60008054610100900460ff16156200048d578160ff16600114801562000466575062000464306200058460201b620011241760201c565b155b620004855760405162461bcd60e51b8152600401620002599062000d5e565b506000919050565b60005460ff808416911610620004b75760405162461bcd60e51b8152600401620002599062000d5e565b506000805460ff191660ff92909216919091179055600190565b919050565b600d5481620004e4600f5490565b620004f0919062000dac565b1115620005355760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b604482015260640162000259565b60005b818110156200057b5760006200054d62000593565b90506200055b8482620005b2565b62000565620005d4565b5080620005728162000d40565b91505062000538565b505050565b3390565b6001600160a01b03163b151590565b6000620001a26001600f54620005ed60201b620011331790919060201c565b620003f08282604051806020016040528060008152506200060260201b60201c565b600f8054906000620005e68362000d40565b9190505550565b6000620005fb828462000dac565b9392505050565b6200060e83836200063c565b6200061d600084848462000784565b6200057b5760405162461bcd60e51b8152600401620002599062000dc7565b6001600160a01b038216620006945760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640162000259565b6000818152600660205260409020546001600160a01b031615620006fb5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640162000259565b6001600160a01b03821660009081526007602052604081208054600192906200072690849062000dac565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000620007a5846001600160a01b03166200058460201b620011241760201c565b15620008b1576001600160a01b03841663150b7a02620007c46200018b565b8786866040518563ffffffff1660e01b8152600401620007e8949392919062000e19565b602060405180830381600087803b1580156200080357600080fd5b505af192505050801562000836575060408051601f3d908101601f19168201909252620008339181019062000e6f565b60015b62000896573d80801562000867576040519150601f19603f3d011682016040523d82523d6000602084013e6200086c565b606091505b5080516200088e5760405162461bcd60e51b8152600401620002599062000dc7565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050620008b5565b5060015b949350505050565b828054620008cb9062000e9b565b90600052602060002090601f016020900481019282620008ef57600085556200093a565b82601f106200090a57805160ff19168380011785556200093a565b828001600101855582156200093a579182015b828111156200093a5782518255916020019190600101906200091d565b50620009489291506200094c565b5090565b5b808211156200094857600081556001016200094d565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156200099f576200099f62000963565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620009d057620009d062000963565b604052919050565b60005b83811015620009f5578181015183820152602001620009db565b8381111562000a05576000848401525b50505050565b600082601f83011262000a1d57600080fd5b81516001600160401b0381111562000a395762000a3962000963565b62000a4e601f8201601f1916602001620009a5565b81815284602083860101111562000a6457600080fd5b620008b5826020830160208701620009d8565b60006001600160401b0382111562000a935762000a9362000963565b5060051b60200190565b80516001600160a01b0381168114620004d157600080fd5b600082601f83011262000ac757600080fd5b8151602062000ae062000ada8362000a77565b620009a5565b82815260059290921b8401810191818101908684111562000b0057600080fd5b8286015b8481101562000b265762000b188162000a9d565b835291830191830162000b04565b509695505050505050565b600082601f83011262000b4357600080fd5b8151602062000b5662000ada8362000a77565b82815260059290921b8401810191818101908684111562000b7657600080fd5b8286015b8481101562000b26578051835291830191830162000b7a565b60006020828403121562000ba657600080fd5b81516001600160401b038082111562000bbe57600080fd5b90830190610120828603121562000bd457600080fd5b62000bde62000979565b82518281111562000bee57600080fd5b62000bfc8782860162000a0b565b82525060208301518281111562000c1257600080fd5b62000c208782860162000a0b565b60208301525060408301518281111562000c3957600080fd5b62000c478782860162000a0b565b60408301525060608301518281111562000c6057600080fd5b62000c6e8782860162000a0b565b60608301525060808301518281111562000c8757600080fd5b62000c958782860162000a0b565b60808301525060a08301518281111562000cae57600080fd5b62000cbc8782860162000ab5565b60a08301525060c08301518281111562000cd557600080fd5b62000ce38782860162000b31565b60c08301525060e083015160e0820152610100915062000d0582840162000a9d565b91810191909152949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000d575762000d5762000d2a565b5060010190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000821982111562000dc25762000dc262000d2a565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600060018060a01b03808716835280861660208401525083604083015260806060830152825180608084015262000e588160a0850160208701620009d8565b601f01601f19169190910160a00195945050505050565b60006020828403121562000e8257600080fd5b81516001600160e01b031981168114620005fb57600080fd5b600181811c9082168062000eb057607f821691505b6020821081141562000ed257634e487b7160e01b600052602260045260246000fd5b50919050565b6126ed8062000ee86000396000f3fe608060405234801561001057600080fd5b50600436106101c25760003560e01c806301ffc9a7146101c7578063059fb6f7146101ef57806306fdde0314610204578063081812fc14610219578063095ea7b314610239578063167446071461024c57806318160ddd1461025457806323b872dd146102665780632fe388be146102795780633542aee21461028c5780633574a2dd1461029f57806342842e0e146102b257806355f804b3146102c557806356c022bb146102d8578063572b6c05146102eb5780635a9b0b89146102fe5780636352211e146103215780636f8b44b01461033457806370a0823114610347578063715018a61461035a5780637313cba9146103625780638da5cb5b1461036a578063938e3d7b14610372578063948e2d531461038557806395d89b411461038d578063a22cb46514610395578063a821d908146103a8578063b578378f146103b5578063b88d4fde146103c8578063c87b56dd146103db578063d547cfb7146103ee578063d5abeb01146103f6578063da742228146103ff578063e7bc820814610412578063e8a3d4851461041a578063e985e9c514610422578063f2fde38b14610435578063fb565bfd14610448575b600080fd5b6101da6101d5366004611c80565b610455565b60405190151581526020015b60405180910390f35b6102026101fd366004611db1565b610466565b005b61020c6104fd565b6040516101e69190611e66565b61022c610227366004611e79565b61058f565b6040516101e69190611e92565b610202610247366004611ea6565b610617565b61020261073a565b600f545b6040519081526020016101e6565b610202610274366004611ed0565b610788565b610202610287366004611f6e565b6107c0565b61020261029a366004611ea6565b6108e7565b6102026102ad366004612062565b610934565b6102026102c0366004611ed0565b610986565b6102026102d3366004612062565b6109a1565b60025461022c906001600160a01b031681565b6101da6102f9366004612096565b610a16565b610306610a2a565b604080519384526020840192909252908201526060016101e6565b61022c61032f366004611e79565b610b43565b610202610342366004611e79565b610bba565b610258610355366004612096565b610c21565b610202610ca8565b61020c610cf3565b61022c610d02565b610202610380366004612062565b610d17565b610202610d69565b61020c610db7565b6102026103a33660046120b1565b610dc6565b6010546101da9060ff1681565b6102026103c33660046120ed565b610dd8565b6102026103d6366004612252565b610f25565b61020c6103e9366004611e79565b610f5e565b61020c610f69565b610258600d5481565b61020261040d366004612096565b610f78565b610202610fd9565b61020c611027565b6101da6104303660046122cd565b611036565b610202610443366004612096565b611049565b600c546101da9060ff1681565b60006104608261113f565b92915050565b60005b81518110156104f75761049c61047d61117b565b83838151811061048f5761048f612300565b6020026020010151611185565b6104c15760405162461bcd60e51b81526004016104b890612316565b60405180910390fd5b6104e584848484815181106104d8576104d8612300565b602002602001015161124f565b806104ef8161234f565b915050610469565b50505050565b60606004805461050c9061236a565b80601f01602080910402602001604051908101604052809291908181526020018280546105389061236a565b80156105855780601f1061055a57610100808354040283529160200191610585565b820191906000526020600020905b81548152906001019060200180831161056857829003601f168201915b5050505050905090565b600061059a826113d9565b6105fb5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016104b8565b506000908152600860205260409020546001600160a01b031690565b600061062282610b43565b9050806001600160a01b0316836001600160a01b031614156106905760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016104b8565b806001600160a01b03166106a261117b565b6001600160a01b031614806106be57506106be8161043061117b565b61072b5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b60648201526084016104b8565b61073583836113f6565b505050565b61074261117b565b6001600160a01b0316610753610d02565b6001600160a01b0316146107795760405162461bcd60e51b81526004016104b8906123a5565b600e805460ff19166001179055565b61079961079361117b565b82611185565b6107b55760405162461bcd60e51b81526004016104b8906123da565b61073583838361124f565b815183511461080b5760405162461bcd60e51b815260206004820152601760248201527608ca49e9abea89ebe988a9c8ea890be9a92a69a82a8869604b1b60448201526064016104b8565b80518351146108595760405162461bcd60e51b815260206004820152601a60248201527908ca49e9abea89e968a9cbe988a9c8ea890be9a92a69a82a886960331b60448201526064016104b8565b60005b81518110156104f75761087061047d61117b565b61088c5760405162461bcd60e51b81526004016104b890612316565b6108d58482815181106108a1576108a1612300565b60200260200101518483815181106108bb576108bb612300565b60200260200101518484815181106104d8576104d8612300565b806108df8161234f565b91505061085c565b6108ef61117b565b6001600160a01b0316610900610d02565b6001600160a01b0316146109265760405162461bcd60e51b81526004016104b8906123a5565b6109308282611464565b5050565b61093c61117b565b6001600160a01b031661094d610d02565b6001600160a01b0316146109735760405162461bcd60e51b81526004016104b8906123a5565b805161093090600a906020840190611bd1565b61073583838360405180602001604052806000815250610f25565b6109a961117b565b6001600160a01b03166109ba610d02565b6001600160a01b0316146109e05760405162461bcd60e51b81526004016104b8906123a5565b600c5460ff1615610a035760405162461bcd60e51b81526004016104b89061242b565b805161093090600b906020840190611bd1565b6002546001600160a01b0391821691161490565b600080808080610a3861117b565b6001600160a01b031614610ac357306370a08231610a5461117b565b6040518263ffffffff1660e01b8152600401610a709190611e92565b60206040518083038186803b158015610a8857600080fd5b505afa158015610a9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac09190612454565b90505b600d54306001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610aff57600080fd5b505afa158015610b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b379190612454565b90959094509092509050565b6000818152600660205260408120546001600160a01b0316806104605760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016104b8565b610bc261117b565b6001600160a01b0316610bd3610d02565b6001600160a01b031614610bf95760405162461bcd60e51b81526004016104b8906123a5565b600e5460ff1615610c1c5760405162461bcd60e51b81526004016104b89061242b565b600d55565b60006001600160a01b038216610c8c5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016104b8565b506001600160a01b031660009081526007602052604090205490565b610cb061117b565b6001600160a01b0316610cc1610d02565b6001600160a01b031614610ce75760405162461bcd60e51b81526004016104b8906123a5565b610cf160006114fa565b565b6060600a805461050c9061236a565b6000546201000090046001600160a01b031690565b610d1f61117b565b6001600160a01b0316610d30610d02565b6001600160a01b031614610d565760405162461bcd60e51b81526004016104b8906123a5565b8051610930906003906020840190611bd1565b610d7161117b565b6001600160a01b0316610d82610d02565b6001600160a01b031614610da85760405162461bcd60e51b81526004016104b8906123a5565b6010805460ff19166001179055565b60606005805461050c9061236a565b610930610dd161117b565b8383611555565b6000610de46001611620565b90508015610dfc576000805461ff0019166101001790555b8160c00151518260a001515114610e535760405162461bcd60e51b815260206004820152601b60248201527a4552433732312f494e56414c49445f494e495449414c5f4152475360281b60448201526064016104b8565b60e0820151600d5560005b8260a0015151811015610ec157610eaf8360a001518281518110610e8457610e84612300565b60200260200101518460c001518381518110610ea257610ea2612300565b6020026020010151611464565b80610eb98161234f565b915050610e5e565b5060608201518051610edb91600b91602090910190611bd1565b508015610930576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610f36610f3061117b565b83611185565b610f525760405162461bcd60e51b81526004016104b8906123da565b6104f7848484846116b4565b6060610460826116e7565b6060600b805461050c9061236a565b610f8061117b565b6001600160a01b0316610f91610d02565b6001600160a01b031614610fb75760405162461bcd60e51b81526004016104b8906123a5565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610fe161117b565b6001600160a01b0316610ff2610d02565b6001600160a01b0316146110185760405162461bcd60e51b81526004016104b8906123a5565b600c805460ff19166001179055565b60606003805461050c9061236a565b600061104283836117c0565b9392505050565b61105161117b565b6001600160a01b0316611062610d02565b6001600160a01b0316146110885760405162461bcd60e51b81526004016104b8906123a5565b6001600160a01b0381166110ed5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b8565b6110f6816114fa565b50565b600061110433610a16565b15611116575060131936013560601c90565b503390565b905090565b3390565b6001600160a01b03163b151590565b6000611042828461246d565b60006301ffc9a760e01b6001600160e01b0319831614806104605750506001600160e01b03191660009081526001602052604090205460ff1690565b600061111b6110f9565b6000611190826113d9565b6111f15760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016104b8565b60006111fc83610b43565b9050806001600160a01b0316846001600160a01b0316148061122357506112238185611036565b806112475750836001600160a01b031661123c8461058f565b6001600160a01b0316145b949350505050565b826001600160a01b031661126282610b43565b6001600160a01b0316146112c65760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016104b8565b6001600160a01b0382166113285760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104b8565b6113336000826113f6565b6001600160a01b038316600090815260076020526040812080546001929061135c908490612485565b90915550506001600160a01b038216600090815260076020526040812080546001929061138a90849061246d565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255915184939187169160008051602061269883398151915291a4505050565b6000908152600660205260409020546001600160a01b0316151590565b600081815260086020526040902080546001600160a01b0319166001600160a01b038416908117909155819061142b82610b43565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600d5481611471600f5490565b61147b919061246d565b11156114be5760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b60448201526064016104b8565b60005b818110156107355760006114d3611824565b90506114df8482611835565b6114e761184f565b50806114f28161234f565b9150506114c1565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b816001600160a01b0316836001600160a01b031614156115b35760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016104b8565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008054610100900460ff161561166e578160ff16600114801561164a575061164830611124565b155b6116665760405162461bcd60e51b81526004016104b89061249c565b506000919050565b60005460ff8084169116106116955760405162461bcd60e51b81526004016104b89061249c565b506000805460ff191660ff92909216919091179055600190565b919050565b6116bf84848461124f565b6116cb84848484611866565b6104f75760405162461bcd60e51b81526004016104b8906124ea565b60606000600b80546116f89061236a565b90501161178f57600a805461170c9061236a565b80601f01602080910402602001604051908101604052809291908181526020018280546117389061236a565b80156117855780601f1061175a57610100808354040283529160200191611785565b820191906000526020600020905b81548152906001019060200180831161176857829003601f168201915b5050505050610460565b600b61179a83611981565b6040516020016117ab929190612558565b60405160208183030381529060405292915050565b60105460009060ff166117f6576117d5610d02565b6001600160a01b0316826001600160a01b031614156117f657506001610460565b6001600160a01b0380841660009081526009602090815260408083209386168352929052205460ff16611042565b600f5460009061111b906001611133565b610930828260405180602001604052806000815250611a7e565b600f805490600061185f8361234f565b9190505550565b600061187a846001600160a01b0316611124565b1561197657836001600160a01b031663150b7a0261189661117b565b8786866040518563ffffffff1660e01b81526004016118b894939291906125ff565b602060405180830381600087803b1580156118d257600080fd5b505af1925050508015611902575060408051601f3d908101601f191682019092526118ff9181019061263c565b60015b61195c573d808015611930576040519150601f19603f3d011682016040523d82523d6000602084013e611935565b606091505b5080516119545760405162461bcd60e51b81526004016104b8906124ea565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611247565b506001949350505050565b6060816119a55750506040805180820190915260018152600360fc1b602082015290565b8160005b81156119cf57806119b98161234f565b91506119c89050600a8361266f565b91506119a9565b6000816001600160401b038111156119e9576119e9611cb4565b6040519080825280601f01601f191660200182016040528015611a13576020820181803683370190505b5090505b841561124757611a28600183612485565b9150611a35600a86612683565b611a4090603061246d565b60f81b818381518110611a5557611a55612300565b60200101906001600160f81b031916908160001a905350611a77600a8661266f565b9450611a17565b611a888383611ab1565b611a956000848484611866565b6107355760405162461bcd60e51b81526004016104b8906124ea565b6001600160a01b038216611b075760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104b8565b611b10816113d9565b15611b5c5760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60448201526064016104b8565b6001600160a01b0382166000908152600760205260408120805460019290611b8590849061246d565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020612698833981519152908290a45050565b828054611bdd9061236a565b90600052602060002090601f016020900481019282611bff5760008555611c45565b82601f10611c1857805160ff1916838001178555611c45565b82800160010185558215611c45579182015b82811115611c45578251825591602001919060010190611c2a565b50611c51929150611c55565b5090565b5b80821115611c515760008155600101611c56565b6001600160e01b0319811681146110f657600080fd5b600060208284031215611c9257600080fd5b813561104281611c6a565b80356001600160a01b03811681146116af57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715611ced57611ced611cb4565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611d1b57611d1b611cb4565b604052919050565b60006001600160401b03821115611d3c57611d3c611cb4565b5060051b60200190565b600082601f830112611d5757600080fd5b81356020611d6c611d6783611d23565b611cf3565b82815260059290921b84018101918181019086841115611d8b57600080fd5b8286015b84811015611da65780358352918301918301611d8f565b509695505050505050565b600080600060608486031215611dc657600080fd5b611dcf84611c9d565b9250611ddd60208501611c9d565b915060408401356001600160401b03811115611df857600080fd5b611e0486828701611d46565b9150509250925092565b60005b83811015611e29578181015183820152602001611e11565b838111156104f75750506000910152565b60008151808452611e52816020860160208601611e0e565b601f01601f19169290920160200192915050565b6020815260006110426020830184611e3a565b600060208284031215611e8b57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b60008060408385031215611eb957600080fd5b611ec283611c9d565b946020939093013593505050565b600080600060608486031215611ee557600080fd5b611eee84611c9d565b9250611efc60208501611c9d565b9150604084013590509250925092565b600082601f830112611f1d57600080fd5b81356020611f2d611d6783611d23565b82815260059290921b84018101918181019086841115611f4c57600080fd5b8286015b84811015611da657611f6181611c9d565b8352918301918301611f50565b600080600060608486031215611f8357600080fd5b83356001600160401b0380821115611f9a57600080fd5b611fa687838801611f0c565b94506020860135915080821115611fbc57600080fd5b611fc887838801611f0c565b93506040860135915080821115611fde57600080fd5b50611e0486828701611d46565b60006001600160401b0383111561200457612004611cb4565b612017601f8401601f1916602001611cf3565b905082815283838301111561202b57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261205357600080fd5b61104283833560208501611feb565b60006020828403121561207457600080fd5b81356001600160401b0381111561208a57600080fd5b61124784828501612042565b6000602082840312156120a857600080fd5b61104282611c9d565b600080604083850312156120c457600080fd5b6120cd83611c9d565b9150602083013580151581146120e257600080fd5b809150509250929050565b6000602082840312156120ff57600080fd5b81356001600160401b038082111561211657600080fd5b90830190610120828603121561212b57600080fd5b612133611cca565b82358281111561214257600080fd5b61214e87828601612042565b82525060208301358281111561216357600080fd5b61216f87828601612042565b60208301525060408301358281111561218757600080fd5b61219387828601612042565b6040830152506060830135828111156121ab57600080fd5b6121b787828601612042565b6060830152506080830135828111156121cf57600080fd5b6121db87828601612042565b60808301525060a0830135828111156121f357600080fd5b6121ff87828601611f0c565b60a08301525060c08301358281111561221757600080fd5b61222387828601611d46565b60c08301525060e083013560e08201526101009150612243828401611c9d565b91810191909152949350505050565b6000806000806080858703121561226857600080fd5b61227185611c9d565b935061227f60208601611c9d565b92506040850135915060608501356001600160401b038111156122a157600080fd5b8501601f810187136122b257600080fd5b6122c187823560208401611feb565b91505092959194509250565b600080604083850312156122e057600080fd5b6122e983611c9d565b91506122f760208401611c9d565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600060001982141561236357612363612339565b5060010190565b600181811c9082168061237e57607f821691505b6020821081141561239f57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252600f908201526e2120a9a2afaaa924afa32927ad22a760891b604082015260600190565b60006020828403121561246657600080fd5b5051919050565b6000821982111561248057612480612339565b500190565b60008282101561249757612497612339565b500390565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000815161254e818560208601611e0e565b9290920192915050565b600080845481600182811c91508083168061257457607f831692505b602080841082141561259457634e487b7160e01b86526022600452602486fd5b8180156125a857600181146125b9576125e6565b60ff198616895284890196506125e6565b60008b81526020902060005b868110156125de5781548b8201529085019083016125c5565b505084890196505b5050505050506125f6818561253c565b95945050505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061263290830184611e3a565b9695505050505050565b60006020828403121561264e57600080fd5b815161104281611c6a565b634e487b7160e01b600052601260045260246000fd5b60008261267e5761267e612659565b500490565b60008261269257612692612659565b50069056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122086a5626a146c0e90e1f4e7df1a7143c87d0cf87e320de1ef0a1ed1053c352dc264736f6c63430008090033";
"0x60806040526000600f553480156200001657600080fd5b506040516200422138038062004221833981016040819052620000399162000d14565b610100810151610120820151600d546080840151845160208601516040870151610140880151620000736200006d62000213565b6200022f565b600280546001600160a01b0319166001600160a01b03929092169190911790558051620000a890600390602084019062000a2b565b50620000bb633d96f4ff60e11b6200028a565b620000cd635b5e139f60e01b6200028a565b508151620000e390600490602085019062000a2b565b508051620000f990600590602084019062000a2b565b50508151620001119150600a90602084019062000a2b565b506200012463e91f76a560e01b6200028a565b50600d8190556200013c6330f487b560e11b6200028a565b6200014e6380ac58cd60e01b6200028a565b5062000161631aa1577160e11b6200028a565b6200017363948e2d5360e01b6200028a565b604080518082019091526001600160a01b038316815261ffff821660208201526200019e8162000312565b620001b0633a47bf5160e11b6200028a565b620001c263152a902d60e11b6200028a565b620001d463c69dbd8f60e01b6200028a565b620001e663656cb66560e11b6200028a565b50505062000201632a7c3e4960e01b6200028a60201b60201c565b6200020c81620003f8565b5062001085565b60006200022a6200056260201b620015391760201c565b905090565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6001600160e01b03198082161415620002ea5760405162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e746572666163652069640000000060448201526064015b60405180910390fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b612710816020015161ffff16106200035b5760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642062707360a81b6044820152606401620002e1565b60408051808201825282516001600160a01b03168082526020808501805161ffff169190930181905260118054600160a01b9092026001600160b01b03199092169092171790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe4192620003ed92916001600160a01b0392909216825261ffff16602082015260400190565b60405180910390a150565b60006200040660016200059b565b905080156200041f576000805461ff0019166101001790555b8160c00151518260a0015151146200047a5760405162461bcd60e51b815260206004820152601b60248201527f4552433732312f494e56414c49445f494e495449414c5f4152475300000000006044820152606401620002e1565b60e0820151600d5560005b8260a0015151811015620004fa57620004e58360a001518281518110620004b057620004b062000ec1565b60200260200101518460c001518381518110620004d157620004d162000ec1565b60200260200101516200064460201b60201c565b80620004f18162000eed565b91505062000485565b50606082015180516200051691600b9160209091019062000a2b565b5080156200055e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6002546000906001600160a01b031633141562000586575060131936013560601c90565b6200022a620006ee60201b6200155b1760201c565b60008054610100900460ff1615620005fb578160ff166001148015620005d45750620005d230620006f260201b6200155f1760201c565b155b620005f35760405162461bcd60e51b8152600401620002e19062000f0b565b506000919050565b60005460ff808416911610620006255760405162461bcd60e51b8152600401620002e19062000f0b565b506000805460ff191660ff92909216919091179055600190565b919050565b600d548162000652600f5490565b6200065e919062000f59565b1115620006a35760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b6044820152606401620002e1565b60005b81811015620006e9576000620006bb62000701565b9050620006c9848262000720565b620006d362000742565b5080620006e08162000eed565b915050620006a6565b505050565b3390565b6001600160a01b03163b151590565b60006200022a6001600f546200075b60201b6200156e1790919060201c565b6200055e8282604051806020016040528060008152506200077060201b60201c565b600f8054906000620007548362000eed565b9190505550565b600062000769828462000f59565b9392505050565b6200077c8383620007aa565b6200078b6000848484620008f2565b620006e95760405162461bcd60e51b8152600401620002e19062000f74565b6001600160a01b038216620008025760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401620002e1565b6000818152600660205260409020546001600160a01b031615620008695760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401620002e1565b6001600160a01b03821660009081526007602052604081208054600192906200089490849062000f59565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600062000913846001600160a01b0316620006f260201b6200155f1760201c565b1562000a1f576001600160a01b03841663150b7a026200093262000213565b8786866040518563ffffffff1660e01b815260040162000956949392919062000fc6565b602060405180830381600087803b1580156200097157600080fd5b505af1925050508015620009a4575060408051601f3d908101601f19168201909252620009a1918101906200101c565b60015b62000a04573d808015620009d5576040519150601f19603f3d011682016040523d82523d6000602084013e620009da565b606091505b508051620009fc5760405162461bcd60e51b8152600401620002e19062000f74565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905062000a23565b5060015b949350505050565b82805462000a399062001048565b90600052602060002090601f01602090048101928262000a5d576000855562000aa8565b82601f1062000a7857805160ff191683800117855562000aa8565b8280016001018555821562000aa8579182015b8281111562000aa857825182559160200191906001019062000a8b565b5062000ab692915062000aba565b5090565b5b8082111562000ab6576000815560010162000abb565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b038111828210171562000b0d5762000b0d62000ad1565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000b3e5762000b3e62000ad1565b604052919050565b60005b8381101562000b6357818101518382015260200162000b49565b8381111562000b73576000848401525b50505050565b600082601f83011262000b8b57600080fd5b81516001600160401b0381111562000ba75762000ba762000ad1565b62000bbc601f8201601f191660200162000b13565b81815284602083860101111562000bd257600080fd5b62000a2382602083016020870162000b46565b60006001600160401b0382111562000c015762000c0162000ad1565b5060051b60200190565b80516001600160a01b03811681146200063f57600080fd5b600082601f83011262000c3557600080fd5b8151602062000c4e62000c488362000be5565b62000b13565b82815260059290921b8401810191818101908684111562000c6e57600080fd5b8286015b8481101562000c945762000c868162000c0b565b835291830191830162000c72565b509695505050505050565b600082601f83011262000cb157600080fd5b8151602062000cc462000c488362000be5565b82815260059290921b8401810191818101908684111562000ce457600080fd5b8286015b8481101562000c94578051835291830191830162000ce8565b805161ffff811681146200063f57600080fd5b60006020828403121562000d2757600080fd5b81516001600160401b038082111562000d3f57600080fd5b90830190610160828603121562000d5557600080fd5b62000d5f62000ae7565b82518281111562000d6f57600080fd5b62000d7d8782860162000b79565b82525060208301518281111562000d9357600080fd5b62000da18782860162000b79565b60208301525060408301518281111562000dba57600080fd5b62000dc88782860162000b79565b60408301525060608301518281111562000de157600080fd5b62000def8782860162000b79565b60608301525060808301518281111562000e0857600080fd5b62000e168782860162000b79565b60808301525060a08301518281111562000e2f57600080fd5b62000e3d8782860162000c23565b60a08301525060c08301518281111562000e5657600080fd5b62000e648782860162000c9f565b60c08301525060e083015160e0820152610100915062000e8682840162000c0b565b82820152610120915062000e9c82840162000d01565b82820152610140915062000eb282840162000c0b565b91810191909152949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000f045762000f0462000ed7565b5060010190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000821982111562000f6f5762000f6f62000ed7565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600060018060a01b038087168352808616602084015250836040830152608060608301528251806080840152620010058160a085016020870162000b46565b601f01601f19169190910160a00195945050505050565b6000602082840312156200102f57600080fd5b81516001600160e01b0319811681146200076957600080fd5b600181811c908216806200105d57607f821691505b602082108114156200107f57634e487b7160e01b600052602260045260246000fd5b50919050565b61318c80620010956000396000f3fe608060405234801561001057600080fd5b506004361061020f5760003560e01c806301ffc9a714610214578063059fb6f71461023c5780630653aca51461025157806306fdde0314610293578063081812fc146102a8578063095ea7b3146102c857806316744607146102db57806318160ddd146102e357806323b872dd146102f55780632a55205a146103085780632cd846a01461033a5780632fe388be1461034d5780633542aee2146103605780633574a2dd1461037357806342842e0e146103865780635136dcc71461039957806355f804b3146103ac57806356c022bb146103bf578063572b6c05146103d25780635a9b0b89146103e55780636352211e146104085780636f8b44b01461041b57806370a082311461042e578063715018a6146104415780637313cba9146104495780637885fdc7146104515780637e9803421461047f5780638da5cb5b14610487578063938e3d7b1461048f578063948e2d53146104a257806395d89b41146104aa578063a22cb465146104b2578063a821d908146104c5578063b88d4fde146104d2578063c87b56dd146104e5578063cad96cca146104f8578063d547cfb714610518578063d5abeb0114610520578063da74222814610529578063e7bc82081461053c578063e8a3d48514610544578063e985e9c51461054c578063ef60ceaf1461055f578063f2fde38b14610572578063fb565bfd14610585575b600080fd5b6102276102223660046124a7565b610592565b60405190151581526020015b60405180910390f35b61024f61024a3660046125d8565b6105a3565b005b61026461025f366004612635565b61063a565b60408051825181526020808401516001600160a01b0316908201529181015161ffff1690820152606001610233565b61029b6106bf565b60405161023391906126a6565b6102bb6102b6366004612635565b610751565b60405161023391906126b9565b61024f6102d63660046126cd565b6107d9565b61024f6108fc565b600f545b604051908152602001610233565b61024f6103033660046126f7565b61094a565b61031b610316366004612733565b610982565b604080516001600160a01b039093168352602083019190915201610233565b61024f610348366004612840565b610a47565b61024f61035b3660046129cd565b610b95565b61024f61036e3660046126cd565b610cbc565b61024f610381366004612a4a565b610d05565b61024f6103943660046126f7565b610d57565b61024f6103a7366004612a7e565b610d72565b61024f6103ba366004612a4a565b610e0c565b6002546102bb906001600160a01b031681565b6102276103e0366004612af2565b610e81565b6103ed610e95565b60408051938452602084019290925290820152606001610233565b6102bb610416366004612635565b610fae565b61024f610429366004612635565b611025565b6102e761043c366004612af2565b61108c565b61024f611113565b61029b61115e565b601154610471906001600160a01b03811690600160a01b900461ffff1682565b604051610233929190612b0d565b6102e761116d565b6102bb61117e565b61024f61049d366004612a4a565b611193565b61024f6111e5565b61029b611233565b61024f6104c0366004612b2a565b611242565b6010546102279060ff1681565b61024f6104e0366004612b66565b611254565b61029b6104f3366004612635565b61128d565b61050b610506366004612635565b611298565b6040516102339190612be1565b61029b611353565b6102e7600d5481565b61024f610537366004612af2565b611362565b61024f6113c3565b61029b611411565b61022761055a366004612c42565b611420565b61024f61056d366004612c75565b611433565b61024f610580366004612af2565b61148c565b600c546102279060ff1681565b600061059d8261157a565b92915050565b60005b8151811015610634576105d96105ba6115b6565b8383815181106105cc576105cc612c8d565b60200260200101516115c0565b6105fe5760405162461bcd60e51b81526004016105f590612ca3565b60405180910390fd5b610622848484848151811061061557610615612c8d565b602002602001015161168a565b8061062c81612cdc565b9150506105a6565b50505050565b6040805160608101825260008082526020820181905291810182905290610662601384611814565b6000818152601260209081526040918290208251808401845290546001600160a01b03808216835261ffff600160a01b90920482168385019081528551606081018752968752925116928501929092525116908201529392505050565b6060600480546106ce90612cf7565b80601f01602080910402602001604051908101604052809291908181526020018280546106fa90612cf7565b80156107475780601f1061071c57610100808354040283529160200191610747565b820191906000526020600020905b81548152906001019060200180831161072a57829003601f168201915b5050505050905090565b600061075c82611820565b6107bd5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016105f5565b506000908152600860205260409020546001600160a01b031690565b60006107e482610fae565b9050806001600160a01b0316836001600160a01b031614156108525760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016105f5565b806001600160a01b03166108646115b6565b6001600160a01b0316148061088057506108808161055a6115b6565b6108ed5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b60648201526084016105f5565b6108f7838361183d565b505050565b6109046115b6565b6001600160a01b031661091561117e565b6001600160a01b03161461093b5760405162461bcd60e51b81526004016105f590612d2c565b600e805460ff19166001179055565b61095b6109556115b6565b826115c0565b6109775760405162461bcd60e51b81526004016105f590612d61565b6108f783838361168a565b60008281526012602052604081205481906001600160a01b0316156109e7576000848152601260205260409020546001600160a01b03811690612710906109d490600160a01b900461ffff1686612db2565b6109de9190612de7565b91509150610a40565b6011546001600160a01b031615801590610a0d5750601154600160a01b900461ffff1615155b15610a39576011546001600160a01b03811690612710906109d490600160a01b900461ffff1686612db2565b5060009050805b9250929050565b6000610a5360016118ab565b90508015610a6b576000805461ff0019166101001790555b8160c00151518260a001515114610ac25760405162461bcd60e51b815260206004820152601b60248201527a4552433732312f494e56414c49445f494e495449414c5f4152475360281b60448201526064016105f5565b60e0820151600d5560005b8260a0015151811015610b3057610b1e8360a001518281518110610af357610af3612c8d565b60200260200101518460c001518381518110610b1157610b11612c8d565b602002602001015161193f565b80610b2881612cdc565b915050610acd565b5060608201518051610b4a91600b916020909101906123f8565b508015610b91576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b8151835114610be05760405162461bcd60e51b815260206004820152601760248201527608ca49e9abea89ebe988a9c8ea890be9a92a69a82a8869604b1b60448201526064016105f5565b8051835114610c2e5760405162461bcd60e51b815260206004820152601a60248201527908ca49e9abea89e968a9cbe988a9c8ea890be9a92a69a82a886960331b60448201526064016105f5565b60005b815181101561063457610c456105ba6115b6565b610c615760405162461bcd60e51b81526004016105f590612ca3565b610caa848281518110610c7657610c76612c8d565b6020026020010151848381518110610c9057610c90612c8d565b602002602001015184848151811061061557610615612c8d565b80610cb481612cdc565b915050610c31565b610cc46115b6565b6001600160a01b0316610cd561117e565b6001600160a01b031614610cfb5760405162461bcd60e51b81526004016105f590612d2c565b610b91828261193f565b610d0d6115b6565b6001600160a01b0316610d1e61117e565b6001600160a01b031614610d445760405162461bcd60e51b81526004016105f590612d2c565b8051610b9190600a9060208401906123f8565b6108f783838360405180602001604052806000815250611254565b610d7a6115b6565b6001600160a01b0316610d8b61117e565b6001600160a01b031614610db15760405162461bcd60e51b81526004016105f590612d2c565b610b918282808060200260200160405190810160405280939291908181526020016000905b82821015610e0257610df360608302860136819003810190612dfb565b81526020019060010190610dd6565b50505050506119d5565b610e146115b6565b6001600160a01b0316610e2561117e565b6001600160a01b031614610e4b5760405162461bcd60e51b81526004016105f590612d2c565b600c5460ff1615610e6e5760405162461bcd60e51b81526004016105f590612e5f565b8051610b9190600b9060208401906123f8565b6002546001600160a01b0391821691161490565b600080808080610ea36115b6565b6001600160a01b031614610f2e57306370a08231610ebf6115b6565b6040518263ffffffff1660e01b8152600401610edb91906126b9565b60206040518083038186803b158015610ef357600080fd5b505afa158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190612e88565b90505b600d54306001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6a57600080fd5b505afa158015610f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa29190612e88565b90959094509092509050565b6000818152600660205260408120546001600160a01b03168061059d5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016105f5565b61102d6115b6565b6001600160a01b031661103e61117e565b6001600160a01b0316146110645760405162461bcd60e51b81526004016105f590612d2c565b600e5460ff16156110875760405162461bcd60e51b81526004016105f590612e5f565b600d55565b60006001600160a01b0382166110f75760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016105f5565b506001600160a01b031660009081526007602052604090205490565b61111b6115b6565b6001600160a01b031661112c61117e565b6001600160a01b0316146111525760405162461bcd60e51b81526004016105f590612d2c565b61115c6000611b7c565b565b6060600a80546106ce90612cf7565b60006111796013611bd7565b905090565b6000546201000090046001600160a01b031690565b61119b6115b6565b6001600160a01b03166111ac61117e565b6001600160a01b0316146111d25760405162461bcd60e51b81526004016105f590612d2c565b8051610b919060039060208401906123f8565b6111ed6115b6565b6001600160a01b03166111fe61117e565b6001600160a01b0316146112245760405162461bcd60e51b81526004016105f590612d2c565b6010805460ff19166001179055565b6060600580546106ce90612cf7565b610b9161124d6115b6565b8383611be1565b61126561125f6115b6565b836115c0565b6112815760405162461bcd60e51b81526004016105f590612d61565b61063484848484611cac565b606061059d82611cdf565b604080516001808252818301909252606091816020015b60408051808201909152600080825260208201528152602001906001900390816112af57505060115481519192506001600160a01b03169082906000906112f8576112f8612c8d565b60209081029190910101516001600160a01b039190911690526011548151600160a01b90910461ffff1690829060009061133457611334612c8d565b6020908102919091018101516001600160601b03909216910152919050565b6060600b80546106ce90612cf7565b61136a6115b6565b6001600160a01b031661137b61117e565b6001600160a01b0316146113a15760405162461bcd60e51b81526004016105f590612d2c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cb6115b6565b6001600160a01b03166113dc61117e565b6001600160a01b0316146114025760405162461bcd60e51b81526004016105f590612d2c565b600c805460ff19166001179055565b6060600380546106ce90612cf7565b600061142c8383611db8565b9392505050565b61143b6115b6565b6001600160a01b031661144c61117e565b6001600160a01b0316146114725760405162461bcd60e51b81526004016105f590612d2c565b61148961148436839003830183612ea1565b611e1c565b50565b6114946115b6565b6001600160a01b03166114a561117e565b6001600160a01b0316146114cb5760405162461bcd60e51b81526004016105f590612d2c565b6001600160a01b0381166115305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f5565b61148981611b7c565b600061154433610e81565b15611556575060131936013560601c90565b503390565b3390565b6001600160a01b03163b151590565b600061142c8284612efb565b60006301ffc9a760e01b6001600160e01b03198316148061059d5750506001600160e01b03191660009081526001602052604090205460ff1690565b6000611179611539565b60006115cb82611820565b61162c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016105f5565b600061163783610fae565b9050806001600160a01b0316846001600160a01b0316148061165e575061165e8185611420565b806116825750836001600160a01b031661167784610751565b6001600160a01b0316145b949350505050565b826001600160a01b031661169d82610fae565b6001600160a01b0316146117015760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016105f5565b6001600160a01b0382166117635760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105f5565b61176e60008261183d565b6001600160a01b0383166000908152600760205260408120805460019290611797908490612f13565b90915550506001600160a01b03821660009081526007602052604081208054600192906117c5908490612efb565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b03868116918217909255915184939187169160008051602061313783398151915291a4505050565b600061142c8383611ec7565b6000908152600660205260409020546001600160a01b0316151590565b600081815260086020526040902080546001600160a01b0319166001600160a01b038416908117909155819061187282610fae565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008054610100900460ff16156118f9578160ff1660011480156118d557506118d33061155f565b155b6118f15760405162461bcd60e51b81526004016105f590612f2a565b506000919050565b60005460ff8084169116106119205760405162461bcd60e51b81526004016105f590612f2a565b506000805460ff191660ff92909216919091179055600190565b919050565b600d548161194c600f5490565b6119569190612efb565b11156119995760405162461bcd60e51b8152602060048201526012602482015271455843454544535f4d41585f535550504c5960701b60448201526064016105f5565b60005b818110156108f75760006119ae611ef1565b90506119ba8482611f02565b6119c2611f1c565b50806119cd81612cdc565b91505061199c565b60005b8151811015610b915760008282815181106119f5576119f5612c8d565b60200260200101519050612710816040015161ffff1610611a285760405162461bcd60e51b81526004016105f590612f78565b60208101516001600160a01b0316611aa1578051600090815260126020526040902080546001600160b01b03191690558051611a6690601390611f33565b5080516040519081527fa2870857763bd9ae76c957f869f16b31c18dd3bb4c7b4d3a4496dc5c57c657f99060200160405180910390a1611b69565b6040805180820182526020808401516001600160a01b0390811683528484015161ffff90811683850190815286516000908152601290945294909220925183549451909216600160a01b026001600160b01b03199094169116179190911790558051611b0f90601390611f3f565b50805160208083015160408085015181519485526001600160a01b039092169284019290925261ffff1682820152517f389b70fb0887f01e83784eb1c4c589f740eca53b00ed0f45e41db5d079719abb9181900360600190a15b5080611b7481612cdc565b9150506119d8565b600080546001600160a01b038381166201000081810262010000600160b01b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600061059d825490565b816001600160a01b0316836001600160a01b03161415611c3f5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016105f5565b6001600160a01b03838116600081815260096020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611cb784848461168a565b611cc384848484611f4b565b6106345760405162461bcd60e51b81526004016105f590612f9d565b60606000600b8054611cf090612cf7565b905011611d8757600a8054611d0490612cf7565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3090612cf7565b8015611d7d5780601f10611d5257610100808354040283529160200191611d7d565b820191906000526020600020905b815481529060010190602001808311611d6057829003601f168201915b505050505061059d565b600b611d9283612066565b604051602001611da392919061300b565b60405160208183030381529060405292915050565b60105460009060ff16611dee57611dcd61117e565b6001600160a01b0316826001600160a01b03161415611dee5750600161059d565b6001600160a01b0380841660009081526009602090815260408083209386168352929052205460ff1661142c565b612710816020015161ffff1610611e455760405162461bcd60e51b81526004016105f590612f78565b60408051808201825282516001600160a01b03168082526020808501805161ffff1691909301819052601180546001600160b01b031916909217600160a01b9091021790558251905191517f2c5ea6e4103e78cb101e796fb2dace540362fc542cbff5145eaa24af7dd8fe4192611ebc9291612b0d565b60405180910390a150565b6000826000018281548110611ede57611ede612c8d565b9060005260206000200154905092915050565b600f5460009061117990600161156e565b610b91828260405180602001604052806000815250612163565b600f8054906000611f2c83612cdc565b9190505550565b600061142c8383612196565b600061142c8383612289565b6000611f5f846001600160a01b031661155f565b1561205b57836001600160a01b031663150b7a02611f7b6115b6565b8786866040518563ffffffff1660e01b8152600401611f9d94939291906130b2565b602060405180830381600087803b158015611fb757600080fd5b505af1925050508015611fe7575060408051601f3d908101601f19168201909252611fe4918101906130ef565b60015b612041573d808015612015576040519150601f19603f3d011682016040523d82523d6000602084013e61201a565b606091505b5080516120395760405162461bcd60e51b81526004016105f590612f9d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611682565b506001949350505050565b60608161208a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120b4578061209e81612cdc565b91506120ad9050600a83612de7565b915061208e565b6000816001600160401b038111156120ce576120ce6124db565b6040519080825280601f01601f1916602001820160405280156120f8576020820181803683370190505b5090505b84156116825761210d600183612f13565b915061211a600a8661310c565b612125906030612efb565b60f81b81838151811061213a5761213a612c8d565b60200101906001600160f81b031916908160001a90535061215c600a86612de7565b94506120fc565b61216d83836122d8565b61217a6000848484611f4b565b6108f75760405162461bcd60e51b81526004016105f590612f9d565b6000818152600183016020526040812054801561227f5760006121ba600183612f13565b85549091506000906121ce90600190612f13565b90508181146122335760008660000182815481106121ee576121ee612c8d565b906000526020600020015490508087600001848154811061221157612211612c8d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061224457612244613120565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059d565b600091505061059d565b60008181526001830160205260408120546122d05750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059d565b50600061059d565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105f5565b61233781611820565b156123835760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60448201526064016105f5565b6001600160a01b03821660009081526007602052604081208054600192906123ac908490612efb565b909155505060008181526006602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051839290600080516020613137833981519152908290a45050565b82805461240490612cf7565b90600052602060002090601f016020900481019282612426576000855561246c565b82601f1061243f57805160ff191683800117855561246c565b8280016001018555821561246c579182015b8281111561246c578251825591602001919060010190612451565b5061247892915061247c565b5090565b5b80821115612478576000815560010161247d565b6001600160e01b03198116811461148957600080fd5b6000602082840312156124b957600080fd5b813561142c81612491565b80356001600160a01b038116811461193a57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715612514576125146124db565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612542576125426124db565b604052919050565b60006001600160401b03821115612563576125636124db565b5060051b60200190565b600082601f83011261257e57600080fd5b8135602061259361258e8361254a565b61251a565b82815260059290921b840181019181810190868411156125b257600080fd5b8286015b848110156125cd57803583529183019183016125b6565b509695505050505050565b6000806000606084860312156125ed57600080fd5b6125f6846124c4565b9250612604602085016124c4565b915060408401356001600160401b0381111561261f57600080fd5b61262b8682870161256d565b9150509250925092565b60006020828403121561264757600080fd5b5035919050565b60005b83811015612669578181015183820152602001612651565b838111156106345750506000910152565b6000815180845261269281602086016020860161264e565b601f01601f19169290920160200192915050565b60208152600061142c602083018461267a565b6001600160a01b0391909116815260200190565b600080604083850312156126e057600080fd5b6126e9836124c4565b946020939093013593505050565b60008060006060848603121561270c57600080fd5b612715846124c4565b9250612723602085016124c4565b9150604084013590509250925092565b6000806040838503121561274657600080fd5b50508035926020909101359150565b60006001600160401b0383111561276e5761276e6124db565b612781601f8401601f191660200161251a565b905082815283838301111561279557600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127bd57600080fd5b61142c83833560208501612755565b600082601f8301126127dd57600080fd5b813560206127ed61258e8361254a565b82815260059290921b8401810191818101908684111561280c57600080fd5b8286015b848110156125cd57612821816124c4565b8352918301918301612810565b803561ffff8116811461193a57600080fd5b60006020828403121561285257600080fd5b81356001600160401b038082111561286957600080fd5b90830190610160828603121561287e57600080fd5b6128866124f1565b82358281111561289557600080fd5b6128a1878286016127ac565b8252506020830135828111156128b657600080fd5b6128c2878286016127ac565b6020830152506040830135828111156128da57600080fd5b6128e6878286016127ac565b6040830152506060830135828111156128fe57600080fd5b61290a878286016127ac565b60608301525060808301358281111561292257600080fd5b61292e878286016127ac565b60808301525060a08301358281111561294657600080fd5b612952878286016127cc565b60a08301525060c08301358281111561296a57600080fd5b6129768782860161256d565b60c08301525060e083013560e082015261010091506129968284016124c4565b8282015261012091506129aa82840161282e565b8282015261014091506129be8284016124c4565b91810191909152949350505050565b6000806000606084860312156129e257600080fd5b83356001600160401b03808211156129f957600080fd5b612a05878388016127cc565b94506020860135915080821115612a1b57600080fd5b612a27878388016127cc565b93506040860135915080821115612a3d57600080fd5b5061262b8682870161256d565b600060208284031215612a5c57600080fd5b81356001600160401b03811115612a7257600080fd5b611682848285016127ac565b60008060208385031215612a9157600080fd5b82356001600160401b0380821115612aa857600080fd5b818501915085601f830112612abc57600080fd5b813581811115612acb57600080fd5b866020606083028501011115612ae057600080fd5b60209290920196919550909350505050565b600060208284031215612b0457600080fd5b61142c826124c4565b6001600160a01b0392909216825261ffff16602082015260400190565b60008060408385031215612b3d57600080fd5b612b46836124c4565b915060208301358015158114612b5b57600080fd5b809150509250929050565b60008060008060808587031215612b7c57600080fd5b612b85856124c4565b9350612b93602086016124c4565b92506040850135915060608501356001600160401b03811115612bb557600080fd5b8501601f81018713612bc657600080fd5b612bd587823560208401612755565b91505092959194509250565b602080825282518282018190526000919060409081850190868401855b82811015612c3557815180516001600160a01b031685528601516001600160601b0316868501529284019290850190600101612bfe565b5091979650505050505050565b60008060408385031215612c5557600080fd5b612c5e836124c4565b9150612c6c602084016124c4565b90509250929050565b600060408284031215612c8757600080fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612cf057612cf0612cc6565b5060010190565b600181811c90821680612d0b57607f821691505b60208210811415612c8757634e487b7160e01b600052602260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000816000190483118215151615612dcc57612dcc612cc6565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612df657612df6612dd1565b500490565b600060608284031215612e0d57600080fd5b604051606081016001600160401b0381118282101715612e2f57612e2f6124db565b60405282358152612e42602084016124c4565b6020820152612e536040840161282e565b60408201529392505050565b6020808252600f908201526e2120a9a2afaaa924afa32927ad22a760891b604082015260600190565b600060208284031215612e9a57600080fd5b5051919050565b600060408284031215612eb357600080fd5b604080519081016001600160401b0381118282101715612ed557612ed56124db565b604052612ee1836124c4565b8152612eef6020840161282e565b60208201529392505050565b60008219821115612f0e57612f0e612cc6565b500190565b600082821015612f2557612f25612cc6565b500390565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600b908201526a496e76616c69642062707360a81b604082015260600190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000815161300181856020860161264e565b9290920192915050565b600080845481600182811c91508083168061302757607f831692505b602080841082141561304757634e487b7160e01b86526022600452602486fd5b81801561305b576001811461306c57613099565b60ff19861689528489019650613099565b60008b81526020902060005b868110156130915781548b820152908501908301613078565b505084890196505b5050505050506130a98185612fef565b95945050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906130e59083018461267a565b9695505050505050565b60006020828403121561310157600080fd5b815161142c81612491565b60008261311b5761311b612dd1565b500690565b634e487b7160e01b600052603160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d7bd80a7d5cef1e38ca42f953ad50fa4bf56789033971a6e93c5a1485b9a178d64736f6c63430008090033";

@@ -865,2 +1124,4 @@ export class ERC721ManagedPrefixedCollection__factory extends ContractFactory {

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -885,2 +1146,4 @@ },

maxSupply: BigNumberish;
defaultRoyaltyAddress: string;
defaultRoyaltyBps: BigNumberish;
trustedForwarder: string;

@@ -887,0 +1150,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc