Socket
Socket
Sign inDemoInstall

@uniswap/uniswapx-sdk

Package Overview
Dependencies
Maintainers
24
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uniswap/uniswapx-sdk - npm Package Compare versions

Comparing version 2.0.1-alpha.0 to 2.0.1-alpha.1

1

dist/src/builder/V2DutchOrderBuilder.d.ts

@@ -24,2 +24,3 @@ import { BigNumber } from "ethers";

exclusiveFiller(exclusiveFiller: string): this;
exclusivityOverrideBps(exclusivityOverrideBps: BigNumber): this;
inputOverride(inputOverride: BigNumber): this;

@@ -26,0 +27,0 @@ outputOverrides(outputOverrides: BigNumber[]): this;

@@ -26,2 +26,3 @@ "use strict";

exclusiveFiller: ethers_1.ethers.constants.AddressZero,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
inputOverride: ethers_1.BigNumber.from(0),

@@ -129,2 +130,3 @@ outputOverrides: [],

exclusiveFiller: exclusiveFiller,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
inputOverride: ethers_1.BigNumber.from(0),

@@ -137,2 +139,16 @@ outputOverrides: [],

}
exclusivityOverrideBps(exclusivityOverrideBps) {
if (!this.info.cosignerData) {
this.info.cosignerData = {
decayStartTime: 0,
decayEndTime: 0,
exclusiveFiller: ethers_1.ethers.constants.AddressZero,
exclusivityOverrideBps: exclusivityOverrideBps,
inputOverride: ethers_1.BigNumber.from(0),
outputOverrides: [],
};
}
this.info.cosignerData.exclusivityOverrideBps = exclusivityOverrideBps;
return this;
}
inputOverride(inputOverride) {

@@ -168,2 +184,3 @@ if (!this.info.cosignerData) {

this.exclusiveFiller(cosignerData.exclusiveFiller);
this.exclusivityOverrideBps(cosignerData.exclusivityOverrideBps);
this.inputOverride(cosignerData.inputOverride);

@@ -201,2 +218,3 @@ this.outputOverrides(cosignerData.outputOverrides);

(0, tiny_invariant_1.default)(this.info.cosignerData.exclusiveFiller !== undefined, "exclusiveFiller not set");
(0, tiny_invariant_1.default)(this.info.cosignerData.exclusivityOverrideBps !== undefined, "exclusivityOverrideBps not set");
(0, tiny_invariant_1.default)(this.info.cosignerData.inputOverride !== undefined &&

@@ -222,3 +240,3 @@ this.info.cosignerData.inputOverride.gte(this.info.input.startAmount), "inputOverride not set or smaller than original input");

initializeCosignerData(overrides) {
this.info.cosignerData = Object.assign({ decayStartTime: 0, decayEndTime: 0, exclusiveFiller: ethers_1.ethers.constants.AddressZero, inputOverride: ethers_1.BigNumber.from(0), outputOverrides: [] }, overrides);
this.info.cosignerData = Object.assign({ decayStartTime: 0, decayEndTime: 0, exclusiveFiller: ethers_1.ethers.constants.AddressZero, exclusivityOverrideBps: ethers_1.BigNumber.from(0), inputOverride: ethers_1.BigNumber.from(0), outputOverrides: [] }, overrides);
}

@@ -225,0 +243,0 @@ }

2

dist/src/contracts/factories/V2DutchOrderReactor__factory.d.ts

@@ -16,3 +16,3 @@ import { Signer, ContractFactory, Overrides } from "ethers";

connect(signer: Signer): V2DutchOrderReactor__factory;
static readonly bytecode = "0x60a06040523480156200001157600080fd5b5060405162003474380380620034748339810160408190526200003491620000b8565b600080546001600160a01b0319166001600160a01b03831690811782556040518492849283928392907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350506001600255506001600160a01b031660805250620000f79050565b6001600160a01b0381168114620000b557600080fd5b50565b60008060408385031215620000cc57600080fd5b8251620000d9816200009f565b6020840151909250620000ec816200009f565b809150509250929050565b60805161335b620001196000396000818160e00152611ae1015261335b6000f3fe60806040526004361061009a5760003560e01c80632d771389116100695780636999b3771161004e5780636999b377146101715780638da5cb5b1461019e578063f2fde38b146101cb57600080fd5b80632d7713891461013e5780633f62192e1461015e57600080fd5b80630d335884146100a65780630d7a16c3146100bb57806312261ee7146100ce57806313fb72c71461012b57600080fd5b366100a157005b600080fd5b6100b96100b43660046123ba565b6101eb565b005b6100b96100c9366004612468565b610364565b3480156100da57600080fd5b506101027f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b96101393660046124aa565b6104c5565b34801561014a57600080fd5b506100b9610159366004612548565b610683565b6100b961016c36600461256c565b61078f565b34801561017d57600080fd5b506001546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101aa57600080fd5b506000546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d757600080fd5b506100b96101e6366004612548565b610894565b6101f3610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161020a5790505090506102b2846109f6565b816000815181106102c5576102c56125d0565b60200260200101819052506102d981610b4d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da62890610319908490879087906004016127d2565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b5050505061035481610b9e565b5061035f6001600255565b505050565b61036c610985565b8060008167ffffffffffffffff811115610388576103886125a1565b60405190808252806020026020018201604052801561044357816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816103a65790505b50905060005b828110156104a25761047d858583818110610466576104666125d0565b90506020028101906104789190612898565b6109f6565b82828151811061048f5761048f6125d0565b6020908102919091010152600101610449565b506104ac81610b4d565b6104b581610b9e565b50506104c16001600255565b5050565b6104cd610985565b8260008167ffffffffffffffff8111156104e9576104e96125a1565b6040519080825280602002602001820160405280156105a457816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105075790505b50905060005b828110156105ec576105c7878783818110610466576104666125d0565b8282815181106105d9576105d96125d0565b60209081029190910101526001016105aa565b506105f681610b4d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da62890610636908490889088906004016127d2565b600060405180830381600087803b15801561065057600080fd5b505af1158015610664573d6000803e3d6000fd5b5050505061067181610b9e565b505061067d6001600255565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527fb904ae9529e373e48bc82df4326cceaf1b4c472babf37f5b7dec46fecc6b53e0910160405180910390a15050565b610797610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816107ae579050509050610856826109f6565b81600081518110610869576108696125d0565b602002602001018190525061087d81610b4d565b61088681610b9e565b506108916001600255565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152606401610700565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60028054036109f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610700565b60028055565b6040805161016081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052908352835180820185528281526020808201849052818601849052840152928201839052828201929092526080810182905290610a6f83806128d6565b810190610a7c9190612d2c565b90506000610a8982610cf1565b9050610a958183610f23565b610a9e82611207565b6040805160a081018252835181526080840151805160209182015193860151929391840192610acf92909190611374565b81526080840151805160209182015160608701519290930192610af3929190611446565b8152602001858060200190610b0891906128d6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001919091529392505050565b805160005b8181101561035f576000838281518110610b6e57610b6e6125d0565b60200260200101519050610b818161152d565b610b8b81336119a7565b610b958133611adf565b50600101610b52565b805160005b81811015610ce0576000838281518110610bbf57610bbf6125d0565b602002602001015190506000816040015151905060005b81811015610c4057600083604001518281518110610bf657610bf66125d0565b60200260200101519050610c3781604001518260200151836000015173ffffffffffffffffffffffffffffffffffffffff16611deb9092919063ffffffff16565b50600101610bd6565b5081600001516020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16868581518110610c8957610c896125d0565b6020026020010151608001517f78ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66856000015160400151604051610cce91815260200190565b60405180910390a45050600101610ba3565b5047156104c1576104c13347611e32565b6040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f6164647265737320696e707574546f6b656e2c00000000000000000000000000604d8201527f75696e7432353620696e7075745374617274416d6f756e742c0000000000000060608201527f75696e7432353620696e707574456e64416d6f756e742c00000000000000000060798201527f44757463684f75747075745b5d206f7574707574732900000000000000000000609082015260009060a601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260808301909152605280835290919061321960208301396040518060c00160405280608d8152602001613299608d9139604051602001610e7193929190612e29565b60405160208183030381529060405280519060200120610e948360000151611ecc565b6020808501516040808701518051938101519101516060880151929392610eba90611f66565b60408051602081019890985287019590955273ffffffffffffffffffffffffffffffffffffffff938416606087015292909116608085015260a084015260c083015260e0820152610100015b604051602081830303815290604052805190602001209050919050565b6080810151602001518151606001511015610f6a576040517f773a618700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6080810151805160209091015111610fae576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808260a00151806020019051810190610fc99190612e6c565b9150915060008360a00151604081518110610fe657610fe66125d0565b602001015160f81c60f81b60f81c9050600060018686608001516040516020016110109190612e90565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261104c9291602001612f15565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156110c8573d6000803e3d6000fd5b5050506020604051035190508073ffffffffffffffffffffffffffffffffffffffff16856020015173ffffffffffffffffffffffffffffffffffffffff1614158015611129575073ffffffffffffffffffffffffffffffffffffffff811615155b15611160576040517fd7815be100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846040015160400151856040015160200151146111ff5760005b8560600151518110156111fd5760008660600151828151811061119f5761119f6125d0565b6020026020010151905080604001518160200151146111ea576040517fd303758b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50806111f581612f6a565b91505061117a565b505b505050505050565b6080810151606001511561127257806040015160200151816080015160600151111561125f576040517f9d02797000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6080810151606001516040820151602001525b80606001515181608001516080015151146112b9576040517fb696ed4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8160600151518110156104c1576000826060015182815181106112e1576112e16125d0565b6020026020010151905060008360800151608001518381518110611307576113076125d0565b602002602001015190508060001461135f578160200151811015611357576040517fb696ed4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082018190525b5050808061136c90612f6a565b9150506112bc565b6113ae6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8360400151846020015111156113f0576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611406856020015186604001518686612004565b60408051606081018252875173ffffffffffffffffffffffffffffffffffffffff1681526020810192909252958601519581019590955250929392505050565b82516060908067ffffffffffffffff811115611464576114646125a1565b6040519080825280602002602001820160405280156114cd57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816114825790505b50915060005b81811015611524576114ff8682815181106114f0576114f06125d0565b6020026020010151868661209d565b838281518110611511576115116125d0565b60209081029190910101526001016114d3565b50509392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1661154d5750565b6001546040517f8aa6cf0300000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638aa6cf03906115a4908590600401612fa2565b600060405180830381865afa1580156115c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116079190810190612fb5565b604083015151815191925090600061161f8284613085565b67ffffffffffffffff811115611637576116376125a1565b6040519080825280602002602001820160405280156116a057816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116555790505b50905060005b838110156116f157856040015181815181106116c4576116c46125d0565b60200260200101518282815181106116de576116de6125d0565b60209081029190910101526001016116a6565b5060005b82811015611998576000858281518110611711576117116125d0565b6020026020010151905060005b828110156117cf57868181518110611738576117386125d0565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16036117c75781516040517ffff0830300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b60010161171e565b506000805b86811015611854576000896040015182815181106117f4576117f46125d0565b60200260200101519050836000015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361184b5760208101516118489084613085565b92505b506001016117d4565b50815160208901515173ffffffffffffffffffffffffffffffffffffffff91821691160361189157602080890151015161188e9082613085565b90505b806000036118e65781516040517feddf07f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b6118f481600561271061216d565b82602001511115611967578151602083015160408085015190517f82e7565600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526024810192909252919091166044820152606401610700565b81846119738589613085565b81518110611983576119836125d0565b602090810291909101015250506001016116f5565b50604090940193909352505050565b81515173ffffffffffffffffffffffffffffffffffffffff1630146119f8576040517f4ddf4a6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160600151421115611a37576040517f70f65caa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516080015173ffffffffffffffffffffffffffffffffffffffff16156104c1578151608001516040517f6e84ba2b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690636e84ba2b90611ab39084908690600401613098565b60006040518083038186803b158015611acb57600080fd5b505afa1580156111ff573d6000803e3d6000fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663137c29fe611b9f846040805160a0810182526000606082018181526080830182905282526020820181905291810191909152506040805160a081018252602080840180515173ffffffffffffffffffffffffffffffffffffffff1660608085019182529151850151608085015283528451840151918301919091529251909201519082015290565b611ba985856121a9565b8560000151602001518660800151604051806080016040528060528152602001613219605291396040518060c00160405280608d8152602001613299608d91396040518060600160405280602e815260200161326b602e91396040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f6164647265737320696e707574546f6b656e2c00000000000000000000000000604d8201527f75696e7432353620696e7075745374617274416d6f756e742c0000000000000060608201527f75696e7432353620696e707574456e64416d6f756e742c00000000000000000060798201527f44757463684f75747075745b5d206f7574707574732900000000000000000000609082015260a601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611d50949392916020016130c7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260608a01517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168352611dbd9695949392600401613150565b600060405180830381600087803b158015611dd757600080fd5b505af11580156111ff573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff8316611e105761035f8282611e32565b61035f73ffffffffffffffffffffffffffffffffffffffff84163384846121f0565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611e8c576040519150601f19603f3d011682016040523d82523d6000602084013e611e91565b606091505b505090508061035f576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060c00160405280608d8152602001613299608d913980516020918201208351848301516040808701516060880151608089015160a08a01518051908901209351610f0698939492939192910196875273ffffffffffffffffffffffffffffffffffffffff958616602088015293851660408701526060860192909252608085015290911660a083015260c082015260e00190565b600080825160200267ffffffffffffffff811115611f8657611f866125a1565b6040519080825280601f01601f191660200182016040528015611fb0576020820181803683370190505b50905060005b8351811015611ff5576000611fe3858381518110611fd657611fd66125d0565b60200260200101516122e2565b60208381028501015250600101611fb6565b50805160209091012092915050565b600082821161203f576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42821161204d575082612095565b42831061205b575083612095565b428390038383038686101561208057612077868803838361216d565b87039250612092565b61208d878703838361216d565b870192505b50505b949350505050565b60408051606081018252600080825260208201819052918101919091528360400151846020015110156120fc576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612112856020015186604001518686612004565b90506040518060600160405280866000015173ffffffffffffffffffffffffffffffffffffffff168152602001828152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152509150509392505050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04841183021582026121a257600080fd5b5091020490565b6040805180820182526000808252602091820152815180830190925273ffffffffffffffffffffffffffffffffffffffff8316825283810151810151908201525b92915050565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806122db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610700565b5050505050565b600060405180608001604052806052815260200161321960529139805160209182012083518483015160408087015160608801519151610f06969192910194855273ffffffffffffffffffffffffffffffffffffffff93841660208601526040850192909252606084015216608082015260a00190565b60006040828403121561236b57600080fd5b50919050565b60008083601f84011261238357600080fd5b50813567ffffffffffffffff81111561239b57600080fd5b6020830191508360208285010111156123b357600080fd5b9250929050565b6000806000604084860312156123cf57600080fd5b833567ffffffffffffffff808211156123e757600080fd5b6123f387838801612359565b9450602086013591508082111561240957600080fd5b5061241686828701612371565b9497909650939450505050565b60008083601f84011261243557600080fd5b50813567ffffffffffffffff81111561244d57600080fd5b6020830191508360208260051b85010111156123b357600080fd5b6000806020838503121561247b57600080fd5b823567ffffffffffffffff81111561249257600080fd5b61249e85828601612423565b90969095509350505050565b600080600080604085870312156124c057600080fd5b843567ffffffffffffffff808211156124d857600080fd5b6124e488838901612423565b909650945060208701359150808211156124fd57600080fd5b5061250a87828801612371565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b803561254381612516565b919050565b60006020828403121561255a57600080fd5b813561256581612516565b9392505050565b60006020828403121561257e57600080fd5b813567ffffffffffffffff81111561259557600080fd5b61209584828501612359565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60005b8381101561261a578181015183820152602001612602565b50506000910152565b6000815180845261263b8160208601602086016125ff565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501945080840160005b838110156126cc578151805173ffffffffffffffffffffffffffffffffffffffff908116895284820151858a0152604091820151169088015260609096019590820190600101612681565b509495945050505050565b6000815160e0845273ffffffffffffffffffffffffffffffffffffffff8082511660e08601528060208301511661010086015260408201516101208601526060820151610140860152806080830151166101608601525060a0810151905060c061018085015261274b6101a0850182612623565b905060208301516127896020860182805173ffffffffffffffffffffffffffffffffffffffff16825260208082015190830152604090810151910152565b50604083015184820360808601526127a1828261266d565b915050606083015184820360a08601526127bb8282612623565b915050608083015160c08501528091505092915050565b6000604082016040835280865180835260608501915060608160051b8601019250602080890160005b83811015612847577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526128358683516126d7565b955093820193908201906001016127fb565b5050858403818701528684528688828601376000848801820152601f9096017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092019094019695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126128cc57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261290b57600080fd5b83018035915067ffffffffffffffff82111561292657600080fd5b6020019150368190038213156123b357600080fd5b60405160c0810167ffffffffffffffff8111828210171561295e5761295e6125a1565b60405290565b6040516060810167ffffffffffffffff8111828210171561295e5761295e6125a1565b6040516080810167ffffffffffffffff8111828210171561295e5761295e6125a1565b60405160a0810167ffffffffffffffff8111828210171561295e5761295e6125a1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612a1457612a146125a1565b604052919050565b600082601f830112612a2d57600080fd5b813567ffffffffffffffff811115612a4757612a476125a1565b612a7860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016129cd565b818152846020838601011115612a8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215612abc57600080fd5b612ac461293b565b90508135612ad181612516565b81526020820135612ae181612516565b8060208301525060408201356040820152606082013560608201526080820135612b0a81612516565b608082015260a082013567ffffffffffffffff811115612b2957600080fd5b612b3584828501612a1c565b60a08301525092915050565b600060608284031215612b5357600080fd5b612b5b612964565b90508135612b6881612516565b80825250602082013560208201526040820135604082015292915050565b600067ffffffffffffffff821115612ba057612ba06125a1565b5060051b60200190565b600082601f830112612bbb57600080fd5b81356020612bd0612bcb83612b86565b6129cd565b82815260079290921b84018101918181019086841115612bef57600080fd5b8286015b84811015612c545760808189031215612c0c5760008081fd5b612c14612987565b8135612c1f81612516565b8152818501358582015260408083013590820152606080830135612c4281612516565b90820152835291830191608001612bf3565b509695505050505050565b600060a08284031215612c7157600080fd5b612c796129aa565b905081358152602080830135818301526040830135612c9781612516565b604083015260608381013590830152608083013567ffffffffffffffff811115612cc057600080fd5b8301601f81018513612cd157600080fd5b8035612cdf612bcb82612b86565b81815260059190911b82018301908381019087831115612cfe57600080fd5b928401925b82841015612d1c57833582529284019290840190612d03565b6080860152509295945050505050565b600060208284031215612d3e57600080fd5b813567ffffffffffffffff80821115612d5657600080fd5b908301906101008286031215612d6b57600080fd5b612d7361293b565b823582811115612d8257600080fd5b612d8e87828601612aaa565b825250612d9d60208401612538565b6020820152612daf8660408501612b41565b604082015260a083013582811115612dc657600080fd5b612dd287828601612baa565b60608301525060c083013582811115612dea57600080fd5b612df687828601612c5f565b60808301525060e083013582811115612e0e57600080fd5b612e1a87828601612a1c565b60a08301525095945050505050565b60008451612e3b8184602089016125ff565b845190830190612e4f8183602089016125ff565b8451910190612e628183602088016125ff565b0195945050505050565b60008060408385031215612e7f57600080fd5b505080516020909101519092909150565b6000602080835260c0830184518285015281850151604085015273ffffffffffffffffffffffffffffffffffffffff604086015116606085015260608501516080850152608085015160a08086015281815180845260e0870191508483019350600092505b80831015612c545783518252928401926001929092019190840190612ef5565b82815260008251612f2d8160208501602087016125ff565b919091016020019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f9b57612f9b612f3b565b5060010190565b60208152600061256560208301846126d7565b60006020808385031215612fc857600080fd5b825167ffffffffffffffff811115612fdf57600080fd5b8301601f81018513612ff057600080fd5b8051612ffe612bcb82612b86565b8181526060918202830184019184820191908884111561301d57600080fd5b938501935b838510156130795780858a03121561303a5760008081fd5b613042612964565b855161304d81612516565b8152858701518782015260408087015161306681612516565b9082015283529384019391850191613022565b50979650505050505050565b808201808211156121ea576121ea612f3b565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061209560408301846126d7565b7f563244757463684f72646572207769746e6573732900000000000000000000008152600085516130ff816015850160208a016125ff565b855190830190613116816015840160208a016125ff565b855191019061312c8160158401602089016125ff565b84519101906131428160158401602088016125ff565b016015019695505050505050565b6000610140613180838a51805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60208901516040840152604089015160608401526131c16080840189805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff871660c08401528560e0840152806101008401526131f681840186612623565b905082810361012084015261320b8185612623565b999850505050505050505056fe44757463684f7574707574286164647265737320746f6b656e2c75696e74323536207374617274416d6f756e742c75696e7432353620656e64416d6f756e742c6164647265737320726563697069656e7429546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e74294f72646572496e666f28616464726573732072656163746f722c6164647265737320737761707065722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c61646472657373206164646974696f6e616c56616c69646174696f6e436f6e74726163742c6279746573206164646974696f6e616c56616c69646174696f6e4461746129a26469706673582212201a7bc975ead45b404c1391240ff3b7dc0ec2890503477ce9467e2ea0f66cbb4764736f6c63430008130033";
static readonly bytecode = "0x60a06040523480156200001157600080fd5b5060405162003524380380620035248339810160408190526200003491620000b8565b600080546001600160a01b0319166001600160a01b03831690811782556040518492849283928392907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350506001600255506001600160a01b031660805250620000f79050565b6001600160a01b0381168114620000b557600080fd5b50565b60008060408385031215620000cc57600080fd5b8251620000d9816200009f565b6020840151909250620000ec816200009f565b809150509250929050565b60805161340b620001196000396000818160e00152611b61015261340b6000f3fe60806040526004361061009a5760003560e01c80632d771389116100695780636999b3771161004e5780636999b377146101715780638da5cb5b1461019e578063f2fde38b146101cb57600080fd5b80632d7713891461013e5780633f62192e1461015e57600080fd5b80630d335884146100a65780630d7a16c3146100bb57806312261ee7146100ce57806313fb72c71461012b57600080fd5b366100a157005b600080fd5b6100b96100b4366004612476565b6101eb565b005b6100b96100c9366004612524565b610364565b3480156100da57600080fd5b506101027f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b9610139366004612566565b6104c5565b34801561014a57600080fd5b506100b9610159366004612604565b610683565b6100b961016c366004612628565b61078f565b34801561017d57600080fd5b506001546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101aa57600080fd5b506000546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d757600080fd5b506100b96101e6366004612604565b610894565b6101f3610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161020a5790505090506102b2846109f6565b816000815181106102c5576102c561268c565b60200260200101819052506102d981610b6d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da628906103199084908790879060040161288e565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b5050505061035481610bbe565b5061035f6001600255565b505050565b61036c610985565b8060008167ffffffffffffffff8111156103885761038861265d565b60405190808252806020026020018201604052801561044357816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816103a65790505b50905060005b828110156104a25761047d8585838181106104665761046661268c565b90506020028101906104789190612954565b6109f6565b82828151811061048f5761048f61268c565b6020908102919091010152600101610449565b506104ac81610b6d565b6104b581610bbe565b50506104c16001600255565b5050565b6104cd610985565b8260008167ffffffffffffffff8111156104e9576104e961265d565b6040519080825280602002602001820160405280156105a457816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105075790505b50905060005b828110156105ec576105c78787838181106104665761046661268c565b8282815181106105d9576105d961268c565b60209081029190910101526001016105aa565b506105f681610b6d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da628906106369084908890889060040161288e565b600060405180830381600087803b15801561065057600080fd5b505af1158015610664573d6000803e3d6000fd5b5050505061067181610bbe565b505061067d6001600255565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527fb904ae9529e373e48bc82df4326cceaf1b4c472babf37f5b7dec46fecc6b53e0910160405180910390a15050565b610797610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816107ae579050509050610856826109f6565b816000815181106108695761086961268c565b602002602001018190525061087d81610b6d565b61088681610bbe565b506108916001600255565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152606401610700565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60028054036109f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610700565b60028055565b6040805161016081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052908352835180820185528281526020808201849052818601849052840152928201839052828201929092526080810182905290610a6f8380612992565b810190610a7c9190612dd1565b90506000610a8982610d11565b9050610a958183610f43565b610a9e82611227565b6040805160a081018252835181526080840151805160209182015193860151929391840192610acf92909190611392565b81526080840151805160209182015160608701519290930192610af3929190611464565b8152602001858060200190610b089190612992565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001829052608083015160408101518151606090920151929550610b669286929061154b565b5050919050565b805160005b8181101561035f576000838281518110610b8e57610b8e61268c565b60200260200101519050610ba1816115ec565b610bab8133611a66565b610bb58133611b5f565b50600101610b72565b805160005b81811015610d00576000838281518110610bdf57610bdf61268c565b602002602001015190506000816040015151905060005b81811015610c6057600083604001518281518110610c1657610c1661268c565b60200260200101519050610c5781604001518260200151836000015173ffffffffffffffffffffffffffffffffffffffff16611ea19092919063ffffffff16565b50600101610bf6565b5081600001516020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16868581518110610ca957610ca961268c565b6020026020010151608001517f78ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66856000015160400151604051610cee91815260200190565b60405180910390a45050600101610bc3565b5047156104c1576104c13347611ee8565b6040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f616464726573732062617365496e707574546f6b656e2c000000000000000000604d8201527f75696e743235362062617365496e7075745374617274416d6f756e742c00000060648201527f75696e743235362062617365496e707574456e64416d6f756e742c000000000060818201527f44757463684f75747075745b5d20626173654f75747075747329000000000000609c82015260009060b601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181526080830190915260528083529091906132c960208301396040518060c00160405280608d8152602001613349608d9139604051602001610e9193929190612ece565b60405160208183030381529060405280519060200120610eb48360000151611f82565b6020808501516040808701518051938101519101516060880151929392610eda9061201c565b60408051602081019890985287019590955273ffffffffffffffffffffffffffffffffffffffff938416606087015292909116608085015260a084015260c083015260e0820152610100015b604051602081830303815290604052805190602001209050919050565b6080810151602001518151606001511015610f8a576040517f773a618700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6080810151805160209091015111610fce576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808260a00151806020019051810190610fe99190612f11565b9150915060008360a001516040815181106110065761100661268c565b602001015160f81c60f81b60f81c9050600060018686608001516040516020016110309190612f35565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261106c9291602001612fc5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156110e8573d6000803e3d6000fd5b5050506020604051035190508073ffffffffffffffffffffffffffffffffffffffff16856020015173ffffffffffffffffffffffffffffffffffffffff1614158015611149575073ffffffffffffffffffffffffffffffffffffffff811615155b15611180576040517fd7815be100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8460400151604001518560400151602001511461121f5760005b85606001515181101561121d576000866060015182815181106111bf576111bf61268c565b60200260200101519050806040015181602001511461120a576040517fd303758b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50806112158161301a565b91505061119a565b505b505050505050565b60808082015101511561129057806040015160200151816080015160800151111561127e576040517fac9143e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808082015101516040820151602001525b806060015151816080015160a0015151146112d7576040517fa305df8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8160600151518110156104c1576000826060015182815181106112ff576112ff61268c565b602002602001015190506000836080015160a0015183815181106113255761132561268c565b602002602001015190508060001461137d578160200151811015611375576040517fa305df8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082018190525b5050808061138a9061301a565b9150506112da565b6113cc6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b83604001518460200151111561140e576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114248560200151866040015186866120ba565b60408051606081018252875173ffffffffffffffffffffffffffffffffffffffff1681526020810192909252958601519581019590955250929392505050565b82516060908067ffffffffffffffff8111156114825761148261265d565b6040519080825280602002602001820160405280156114eb57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816114a05790505b50915060005b818110156115425761151d86828151811061150e5761150e61268c565b60200260200101518686612153565b83828151811061152f5761152f61268c565b60209081029190910101526001016114f1565b50509392505050565b6115558383612223565b61067d5780611590576040517fb9ec1e9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604084015160005b815181101561121f5760008282815181106115b5576115b561268c565b602002602001015190506115de846127106115d09190613052565b602083015190612710612270565b602090910152600101611598565b60015473ffffffffffffffffffffffffffffffffffffffff1661160c5750565b6001546040517f8aa6cf0300000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638aa6cf0390611663908590600401613065565b600060405180830381865afa158015611680573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116c69190810190613078565b60408301515181519192509060006116de8284613052565b67ffffffffffffffff8111156116f6576116f661265d565b60405190808252806020026020018201604052801561175f57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117145790505b50905060005b838110156117b057856040015181815181106117835761178361268c565b602002602001015182828151811061179d5761179d61268c565b6020908102919091010152600101611765565b5060005b82811015611a575760008582815181106117d0576117d061268c565b6020026020010151905060005b8281101561188e578681815181106117f7576117f761268c565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16036118865781516040517ffff0830300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b6001016117dd565b506000805b86811015611913576000896040015182815181106118b3576118b361268c565b60200260200101519050836000015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361190a5760208101516119079084613052565b92505b50600101611893565b50815160208901515173ffffffffffffffffffffffffffffffffffffffff91821691160361195057602080890151015161194d9082613052565b90505b806000036119a55781516040517feddf07f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b6119b3816005612710612270565b82602001511115611a26578151602083015160408085015190517f82e7565600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526024810192909252919091166044820152606401610700565b8184611a328589613052565b81518110611a4257611a4261268c565b602090810291909101015250506001016117b4565b50604090940193909352505050565b81515173ffffffffffffffffffffffffffffffffffffffff163014611ab7576040517f4ddf4a6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516080015173ffffffffffffffffffffffffffffffffffffffff16156104c1578151608001516040517f6e84ba2b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690636e84ba2b90611b339084908690600401613148565b60006040518083038186803b158015611b4b57600080fd5b505afa15801561121f573d6000803e3d6000fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663137c29fe611c1f846040805160a0810182526000606082018181526080830182905282526020820181905291810191909152506040805160a081018252602080840180515173ffffffffffffffffffffffffffffffffffffffff1660608085019182529151850151608085015283528451840151918301919091529251909201519082015290565b6040805180820182526000808252602091820152815180830190925273ffffffffffffffffffffffffffffffffffffffff86168252808701518101519082015285600001516020015186608001516040518060800160405280605281526020016132c9605291396040518060c00160405280608d8152602001613349608d91396040518060600160405280602e815260200161331b602e91396040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f616464726573732062617365496e707574546f6b656e2c000000000000000000604d8201527f75696e743235362062617365496e7075745374617274416d6f756e742c00000060648201527f75696e743235362062617365496e707574456e64416d6f756e742c000000000060818201527f44757463684f75747075745b5d20626173654f75747075747329000000000000609c82015260b601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611e0694939291602001613177565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260608a01517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168352611e739695949392600401613200565b600060405180830381600087803b158015611e8d57600080fd5b505af115801561121f573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff8316611ec65761035f8282611ee8565b61035f73ffffffffffffffffffffffffffffffffffffffff84163384846122ac565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611f42576040519150601f19603f3d011682016040523d82523d6000602084013e611f47565b606091505b505090508061035f576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060c00160405280608d8152602001613349608d913980516020918201208351848301516040808701516060880151608089015160a08a01518051908901209351610f2698939492939192910196875273ffffffffffffffffffffffffffffffffffffffff958616602088015293851660408701526060860192909252608085015290911660a083015260c082015260e00190565b600080825160200267ffffffffffffffff81111561203c5761203c61265d565b6040519080825280601f01601f191660200182016040528015612066576020820181803683370190505b50905060005b83518110156120ab57600061209985838151811061208c5761208c61268c565b602002602001015161239e565b6020838102850101525060010161206c565b50805160209091012092915050565b60008282116120f5576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42821161210357508261214b565b42831061211157508361214b565b42839003838303868610156121365761212d8688038383612270565b87039250612148565b6121438787038383612270565b870192505b50505b949350505050565b60408051606081018252600080825260208201819052918101919091528360400151846020015110156121b2576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121c88560200151866040015186866120ba565b90506040518060600160405280866000015173ffffffffffffffffffffffffffffffffffffffff168152602001828152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152509150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff8316158061224757508142115b80612267575073ffffffffffffffffffffffffffffffffffffffff831633145b90505b92915050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04841183021582026122a557600080fd5b5091020490565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080612397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610700565b5050505050565b60006040518060800160405280605281526020016132c960529139805160209182012083518483015160408087015160608801519151610f26969192910194855273ffffffffffffffffffffffffffffffffffffffff93841660208601526040850192909252606084015216608082015260a00190565b60006040828403121561242757600080fd5b50919050565b60008083601f84011261243f57600080fd5b50813567ffffffffffffffff81111561245757600080fd5b60208301915083602082850101111561246f57600080fd5b9250929050565b60008060006040848603121561248b57600080fd5b833567ffffffffffffffff808211156124a357600080fd5b6124af87838801612415565b945060208601359150808211156124c557600080fd5b506124d28682870161242d565b9497909650939450505050565b60008083601f8401126124f157600080fd5b50813567ffffffffffffffff81111561250957600080fd5b6020830191508360208260051b850101111561246f57600080fd5b6000806020838503121561253757600080fd5b823567ffffffffffffffff81111561254e57600080fd5b61255a858286016124df565b90969095509350505050565b6000806000806040858703121561257c57600080fd5b843567ffffffffffffffff8082111561259457600080fd5b6125a0888389016124df565b909650945060208701359150808211156125b957600080fd5b506125c68782880161242d565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b80356125ff816125d2565b919050565b60006020828403121561261657600080fd5b8135612621816125d2565b9392505050565b60006020828403121561263a57600080fd5b813567ffffffffffffffff81111561265157600080fd5b61214b84828501612415565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60005b838110156126d65781810151838201526020016126be565b50506000910152565b600081518084526126f78160208601602086016126bb565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501945080840160005b83811015612788578151805173ffffffffffffffffffffffffffffffffffffffff908116895284820151858a015260409182015116908801526060909601959082019060010161273d565b509495945050505050565b6000815160e0845273ffffffffffffffffffffffffffffffffffffffff8082511660e08601528060208301511661010086015260408201516101208601526060820151610140860152806080830151166101608601525060a0810151905060c06101808501526128076101a08501826126df565b905060208301516128456020860182805173ffffffffffffffffffffffffffffffffffffffff16825260208082015190830152604090810151910152565b506040830151848203608086015261285d8282612729565b915050606083015184820360a086015261287782826126df565b915050608083015160c08501528091505092915050565b6000604082016040835280865180835260608501915060608160051b8601019250602080890160005b83811015612903577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526128f1868351612793565b955093820193908201906001016128b7565b5050858403818701528684528688828601376000848801820152601f9096017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092019094019695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261298857600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126129c757600080fd5b83018035915067ffffffffffffffff8211156129e257600080fd5b60200191503681900382131561246f57600080fd5b60405160c0810167ffffffffffffffff81118282101715612a1a57612a1a61265d565b60405290565b6040516060810167ffffffffffffffff81118282101715612a1a57612a1a61265d565b6040516080810167ffffffffffffffff81118282101715612a1a57612a1a61265d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612aad57612aad61265d565b604052919050565b600082601f830112612ac657600080fd5b813567ffffffffffffffff811115612ae057612ae061265d565b612b1160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612a66565b818152846020838601011115612b2657600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215612b5557600080fd5b612b5d6129f7565b90508135612b6a816125d2565b81526020820135612b7a816125d2565b8060208301525060408201356040820152606082013560608201526080820135612ba3816125d2565b608082015260a082013567ffffffffffffffff811115612bc257600080fd5b612bce84828501612ab5565b60a08301525092915050565b600060608284031215612bec57600080fd5b612bf4612a20565b90508135612c01816125d2565b80825250602082013560208201526040820135604082015292915050565b600067ffffffffffffffff821115612c3957612c3961265d565b5060051b60200190565b600082601f830112612c5457600080fd5b81356020612c69612c6483612c1f565b612a66565b82815260079290921b84018101918181019086841115612c8857600080fd5b8286015b84811015612ced5760808189031215612ca55760008081fd5b612cad612a43565b8135612cb8816125d2565b8152818501358582015260408083013590820152606080830135612cdb816125d2565b90820152835291830191608001612c8c565b509695505050505050565b600060c08284031215612d0a57600080fd5b612d126129f7565b905081358152602080830135818301526040830135612d30816125d2565b80604084015250606083013560608301526080830135608083015260a083013567ffffffffffffffff811115612d6557600080fd5b8301601f81018513612d7657600080fd5b8035612d84612c6482612c1f565b81815260059190911b82018301908381019087831115612da357600080fd5b928401925b82841015612dc157833582529284019290840190612da8565b60a0860152509295945050505050565b600060208284031215612de357600080fd5b813567ffffffffffffffff80821115612dfb57600080fd5b908301906101008286031215612e1057600080fd5b612e186129f7565b823582811115612e2757600080fd5b612e3387828601612b43565b825250612e42602084016125f4565b6020820152612e548660408501612bda565b604082015260a083013582811115612e6b57600080fd5b612e7787828601612c43565b60608301525060c083013582811115612e8f57600080fd5b612e9b87828601612cf8565b60808301525060e083013582811115612eb357600080fd5b612ebf87828601612ab5565b60a08301525095945050505050565b60008451612ee08184602089016126bb565b845190830190612ef48183602089016126bb565b8451910190612f078183602088016126bb565b0195945050505050565b60008060408385031215612f2457600080fd5b505080516020909101519092909150565b6000602080835260e0830184518285015281850151604085015273ffffffffffffffffffffffffffffffffffffffff604086015116606085015260608501516080850152608085015160a085015260a085015160c080860152818151808452610100870191508483019350600092505b80831015612ced5783518252928401926001929092019190840190612fa5565b82815260008251612fdd8160208501602087016126bb565b919091016020019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361304b5761304b612feb565b5060010190565b8082018082111561226a5761226a612feb565b6020815260006122676020830184612793565b6000602080838503121561308b57600080fd5b825167ffffffffffffffff8111156130a257600080fd5b8301601f810185136130b357600080fd5b80516130c1612c6482612c1f565b818152606091820283018401918482019190888411156130e057600080fd5b938501935b8385101561313c5780858a0312156130fd5760008081fd5b613105612a20565b8551613110816125d2565b81528587015187820152604080870151613129816125d2565b90820152835293840193918501916130e5565b50979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061214b6040830184612793565b7f563244757463684f72646572207769746e6573732900000000000000000000008152600085516131af816015850160208a016126bb565b8551908301906131c6816015840160208a016126bb565b85519101906131dc8160158401602089016126bb565b84519101906131f28160158401602088016126bb565b016015019695505050505050565b6000610140613230838a51805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60208901516040840152604089015160608401526132716080840189805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff871660c08401528560e0840152806101008401526132a6818401866126df565b90508281036101208401526132bb81856126df565b999850505050505050505056fe44757463684f7574707574286164647265737320746f6b656e2c75696e74323536207374617274416d6f756e742c75696e7432353620656e64416d6f756e742c6164647265737320726563697069656e7429546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e74294f72646572496e666f28616464726573732072656163746f722c6164647265737320737761707065722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c61646472657373206164646974696f6e616c56616c69646174696f6e436f6e74726163742c6279746573206164646974696f6e616c56616c69646174696f6e4461746129a26469706673582212208f5ca0756750ceaf422af83c2939e746254af6aae2235a7a02c1911b9aa1739664736f6c63430008130033";
static readonly abi: ({

@@ -19,0 +19,0 @@ type: string;

@@ -280,7 +280,2 @@ "use strict";

type: "error",
name: "DeadlinePassed",
inputs: [],
},
{
type: "error",
name: "DuplicateFeeOutput",

@@ -343,2 +338,12 @@ inputs: [

type: "error",
name: "InvalidCosignerInput",
inputs: [],
},
{
type: "error",
name: "InvalidCosignerOutput",
inputs: [],
},
{
type: "error",
name: "InvalidFeeToken",

@@ -355,3 +360,3 @@ inputs: [

type: "error",
name: "InvalidInputOverride",
name: "InvalidReactor",
inputs: [],

@@ -361,3 +366,3 @@ },

type: "error",
name: "InvalidOutputOverride",
name: "NativeTransferFailed",
inputs: [],

@@ -367,12 +372,7 @@ },

type: "error",
name: "InvalidReactor",
name: "NoExclusiveOverride",
inputs: [],
},
{
type: "error",
name: "NativeTransferFailed",
inputs: [],
},
];
const _bytecode = "0x60a06040523480156200001157600080fd5b5060405162003474380380620034748339810160408190526200003491620000b8565b600080546001600160a01b0319166001600160a01b03831690811782556040518492849283928392907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350506001600255506001600160a01b031660805250620000f79050565b6001600160a01b0381168114620000b557600080fd5b50565b60008060408385031215620000cc57600080fd5b8251620000d9816200009f565b6020840151909250620000ec816200009f565b809150509250929050565b60805161335b620001196000396000818160e00152611ae1015261335b6000f3fe60806040526004361061009a5760003560e01c80632d771389116100695780636999b3771161004e5780636999b377146101715780638da5cb5b1461019e578063f2fde38b146101cb57600080fd5b80632d7713891461013e5780633f62192e1461015e57600080fd5b80630d335884146100a65780630d7a16c3146100bb57806312261ee7146100ce57806313fb72c71461012b57600080fd5b366100a157005b600080fd5b6100b96100b43660046123ba565b6101eb565b005b6100b96100c9366004612468565b610364565b3480156100da57600080fd5b506101027f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b96101393660046124aa565b6104c5565b34801561014a57600080fd5b506100b9610159366004612548565b610683565b6100b961016c36600461256c565b61078f565b34801561017d57600080fd5b506001546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101aa57600080fd5b506000546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d757600080fd5b506100b96101e6366004612548565b610894565b6101f3610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161020a5790505090506102b2846109f6565b816000815181106102c5576102c56125d0565b60200260200101819052506102d981610b4d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da62890610319908490879087906004016127d2565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b5050505061035481610b9e565b5061035f6001600255565b505050565b61036c610985565b8060008167ffffffffffffffff811115610388576103886125a1565b60405190808252806020026020018201604052801561044357816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816103a65790505b50905060005b828110156104a25761047d858583818110610466576104666125d0565b90506020028101906104789190612898565b6109f6565b82828151811061048f5761048f6125d0565b6020908102919091010152600101610449565b506104ac81610b4d565b6104b581610b9e565b50506104c16001600255565b5050565b6104cd610985565b8260008167ffffffffffffffff8111156104e9576104e96125a1565b6040519080825280602002602001820160405280156105a457816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105075790505b50905060005b828110156105ec576105c7878783818110610466576104666125d0565b8282815181106105d9576105d96125d0565b60209081029190910101526001016105aa565b506105f681610b4d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da62890610636908490889088906004016127d2565b600060405180830381600087803b15801561065057600080fd5b505af1158015610664573d6000803e3d6000fd5b5050505061067181610b9e565b505061067d6001600255565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527fb904ae9529e373e48bc82df4326cceaf1b4c472babf37f5b7dec46fecc6b53e0910160405180910390a15050565b610797610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816107ae579050509050610856826109f6565b81600081518110610869576108696125d0565b602002602001018190525061087d81610b4d565b61088681610b9e565b506108916001600255565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152606401610700565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60028054036109f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610700565b60028055565b6040805161016081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052908352835180820185528281526020808201849052818601849052840152928201839052828201929092526080810182905290610a6f83806128d6565b810190610a7c9190612d2c565b90506000610a8982610cf1565b9050610a958183610f23565b610a9e82611207565b6040805160a081018252835181526080840151805160209182015193860151929391840192610acf92909190611374565b81526080840151805160209182015160608701519290930192610af3929190611446565b8152602001858060200190610b0891906128d6565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001919091529392505050565b805160005b8181101561035f576000838281518110610b6e57610b6e6125d0565b60200260200101519050610b818161152d565b610b8b81336119a7565b610b958133611adf565b50600101610b52565b805160005b81811015610ce0576000838281518110610bbf57610bbf6125d0565b602002602001015190506000816040015151905060005b81811015610c4057600083604001518281518110610bf657610bf66125d0565b60200260200101519050610c3781604001518260200151836000015173ffffffffffffffffffffffffffffffffffffffff16611deb9092919063ffffffff16565b50600101610bd6565b5081600001516020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16868581518110610c8957610c896125d0565b6020026020010151608001517f78ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66856000015160400151604051610cce91815260200190565b60405180910390a45050600101610ba3565b5047156104c1576104c13347611e32565b6040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f6164647265737320696e707574546f6b656e2c00000000000000000000000000604d8201527f75696e7432353620696e7075745374617274416d6f756e742c0000000000000060608201527f75696e7432353620696e707574456e64416d6f756e742c00000000000000000060798201527f44757463684f75747075745b5d206f7574707574732900000000000000000000609082015260009060a601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260808301909152605280835290919061321960208301396040518060c00160405280608d8152602001613299608d9139604051602001610e7193929190612e29565b60405160208183030381529060405280519060200120610e948360000151611ecc565b6020808501516040808701518051938101519101516060880151929392610eba90611f66565b60408051602081019890985287019590955273ffffffffffffffffffffffffffffffffffffffff938416606087015292909116608085015260a084015260c083015260e0820152610100015b604051602081830303815290604052805190602001209050919050565b6080810151602001518151606001511015610f6a576040517f773a618700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6080810151805160209091015111610fae576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808260a00151806020019051810190610fc99190612e6c565b9150915060008360a00151604081518110610fe657610fe66125d0565b602001015160f81c60f81b60f81c9050600060018686608001516040516020016110109190612e90565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261104c9291602001612f15565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156110c8573d6000803e3d6000fd5b5050506020604051035190508073ffffffffffffffffffffffffffffffffffffffff16856020015173ffffffffffffffffffffffffffffffffffffffff1614158015611129575073ffffffffffffffffffffffffffffffffffffffff811615155b15611160576040517fd7815be100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846040015160400151856040015160200151146111ff5760005b8560600151518110156111fd5760008660600151828151811061119f5761119f6125d0565b6020026020010151905080604001518160200151146111ea576040517fd303758b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50806111f581612f6a565b91505061117a565b505b505050505050565b6080810151606001511561127257806040015160200151816080015160600151111561125f576040517f9d02797000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6080810151606001516040820151602001525b80606001515181608001516080015151146112b9576040517fb696ed4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8160600151518110156104c1576000826060015182815181106112e1576112e16125d0565b6020026020010151905060008360800151608001518381518110611307576113076125d0565b602002602001015190508060001461135f578160200151811015611357576040517fb696ed4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082018190525b5050808061136c90612f6a565b9150506112bc565b6113ae6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8360400151846020015111156113f0576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611406856020015186604001518686612004565b60408051606081018252875173ffffffffffffffffffffffffffffffffffffffff1681526020810192909252958601519581019590955250929392505050565b82516060908067ffffffffffffffff811115611464576114646125a1565b6040519080825280602002602001820160405280156114cd57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816114825790505b50915060005b81811015611524576114ff8682815181106114f0576114f06125d0565b6020026020010151868661209d565b838281518110611511576115116125d0565b60209081029190910101526001016114d3565b50509392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1661154d5750565b6001546040517f8aa6cf0300000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638aa6cf03906115a4908590600401612fa2565b600060405180830381865afa1580156115c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116079190810190612fb5565b604083015151815191925090600061161f8284613085565b67ffffffffffffffff811115611637576116376125a1565b6040519080825280602002602001820160405280156116a057816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116555790505b50905060005b838110156116f157856040015181815181106116c4576116c46125d0565b60200260200101518282815181106116de576116de6125d0565b60209081029190910101526001016116a6565b5060005b82811015611998576000858281518110611711576117116125d0565b6020026020010151905060005b828110156117cf57868181518110611738576117386125d0565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16036117c75781516040517ffff0830300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b60010161171e565b506000805b86811015611854576000896040015182815181106117f4576117f46125d0565b60200260200101519050836000015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361184b5760208101516118489084613085565b92505b506001016117d4565b50815160208901515173ffffffffffffffffffffffffffffffffffffffff91821691160361189157602080890151015161188e9082613085565b90505b806000036118e65781516040517feddf07f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b6118f481600561271061216d565b82602001511115611967578151602083015160408085015190517f82e7565600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526024810192909252919091166044820152606401610700565b81846119738589613085565b81518110611983576119836125d0565b602090810291909101015250506001016116f5565b50604090940193909352505050565b81515173ffffffffffffffffffffffffffffffffffffffff1630146119f8576040517f4ddf4a6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160600151421115611a37576040517f70f65caa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516080015173ffffffffffffffffffffffffffffffffffffffff16156104c1578151608001516040517f6e84ba2b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690636e84ba2b90611ab39084908690600401613098565b60006040518083038186803b158015611acb57600080fd5b505afa1580156111ff573d6000803e3d6000fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663137c29fe611b9f846040805160a0810182526000606082018181526080830182905282526020820181905291810191909152506040805160a081018252602080840180515173ffffffffffffffffffffffffffffffffffffffff1660608085019182529151850151608085015283528451840151918301919091529251909201519082015290565b611ba985856121a9565b8560000151602001518660800151604051806080016040528060528152602001613219605291396040518060c00160405280608d8152602001613299608d91396040518060600160405280602e815260200161326b602e91396040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f6164647265737320696e707574546f6b656e2c00000000000000000000000000604d8201527f75696e7432353620696e7075745374617274416d6f756e742c0000000000000060608201527f75696e7432353620696e707574456e64416d6f756e742c00000000000000000060798201527f44757463684f75747075745b5d206f7574707574732900000000000000000000609082015260a601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611d50949392916020016130c7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260608a01517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168352611dbd9695949392600401613150565b600060405180830381600087803b158015611dd757600080fd5b505af11580156111ff573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff8316611e105761035f8282611e32565b61035f73ffffffffffffffffffffffffffffffffffffffff84163384846121f0565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611e8c576040519150601f19603f3d011682016040523d82523d6000602084013e611e91565b606091505b505090508061035f576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060c00160405280608d8152602001613299608d913980516020918201208351848301516040808701516060880151608089015160a08a01518051908901209351610f0698939492939192910196875273ffffffffffffffffffffffffffffffffffffffff958616602088015293851660408701526060860192909252608085015290911660a083015260c082015260e00190565b600080825160200267ffffffffffffffff811115611f8657611f866125a1565b6040519080825280601f01601f191660200182016040528015611fb0576020820181803683370190505b50905060005b8351811015611ff5576000611fe3858381518110611fd657611fd66125d0565b60200260200101516122e2565b60208381028501015250600101611fb6565b50805160209091012092915050565b600082821161203f576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42821161204d575082612095565b42831061205b575083612095565b428390038383038686101561208057612077868803838361216d565b87039250612092565b61208d878703838361216d565b870192505b50505b949350505050565b60408051606081018252600080825260208201819052918101919091528360400151846020015110156120fc576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612112856020015186604001518686612004565b90506040518060600160405280866000015173ffffffffffffffffffffffffffffffffffffffff168152602001828152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152509150509392505050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04841183021582026121a257600080fd5b5091020490565b6040805180820182526000808252602091820152815180830190925273ffffffffffffffffffffffffffffffffffffffff8316825283810151810151908201525b92915050565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806122db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610700565b5050505050565b600060405180608001604052806052815260200161321960529139805160209182012083518483015160408087015160608801519151610f06969192910194855273ffffffffffffffffffffffffffffffffffffffff93841660208601526040850192909252606084015216608082015260a00190565b60006040828403121561236b57600080fd5b50919050565b60008083601f84011261238357600080fd5b50813567ffffffffffffffff81111561239b57600080fd5b6020830191508360208285010111156123b357600080fd5b9250929050565b6000806000604084860312156123cf57600080fd5b833567ffffffffffffffff808211156123e757600080fd5b6123f387838801612359565b9450602086013591508082111561240957600080fd5b5061241686828701612371565b9497909650939450505050565b60008083601f84011261243557600080fd5b50813567ffffffffffffffff81111561244d57600080fd5b6020830191508360208260051b85010111156123b357600080fd5b6000806020838503121561247b57600080fd5b823567ffffffffffffffff81111561249257600080fd5b61249e85828601612423565b90969095509350505050565b600080600080604085870312156124c057600080fd5b843567ffffffffffffffff808211156124d857600080fd5b6124e488838901612423565b909650945060208701359150808211156124fd57600080fd5b5061250a87828801612371565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b803561254381612516565b919050565b60006020828403121561255a57600080fd5b813561256581612516565b9392505050565b60006020828403121561257e57600080fd5b813567ffffffffffffffff81111561259557600080fd5b61209584828501612359565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60005b8381101561261a578181015183820152602001612602565b50506000910152565b6000815180845261263b8160208601602086016125ff565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501945080840160005b838110156126cc578151805173ffffffffffffffffffffffffffffffffffffffff908116895284820151858a0152604091820151169088015260609096019590820190600101612681565b509495945050505050565b6000815160e0845273ffffffffffffffffffffffffffffffffffffffff8082511660e08601528060208301511661010086015260408201516101208601526060820151610140860152806080830151166101608601525060a0810151905060c061018085015261274b6101a0850182612623565b905060208301516127896020860182805173ffffffffffffffffffffffffffffffffffffffff16825260208082015190830152604090810151910152565b50604083015184820360808601526127a1828261266d565b915050606083015184820360a08601526127bb8282612623565b915050608083015160c08501528091505092915050565b6000604082016040835280865180835260608501915060608160051b8601019250602080890160005b83811015612847577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526128358683516126d7565b955093820193908201906001016127fb565b5050858403818701528684528688828601376000848801820152601f9096017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092019094019695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126128cc57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261290b57600080fd5b83018035915067ffffffffffffffff82111561292657600080fd5b6020019150368190038213156123b357600080fd5b60405160c0810167ffffffffffffffff8111828210171561295e5761295e6125a1565b60405290565b6040516060810167ffffffffffffffff8111828210171561295e5761295e6125a1565b6040516080810167ffffffffffffffff8111828210171561295e5761295e6125a1565b60405160a0810167ffffffffffffffff8111828210171561295e5761295e6125a1565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612a1457612a146125a1565b604052919050565b600082601f830112612a2d57600080fd5b813567ffffffffffffffff811115612a4757612a476125a1565b612a7860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016129cd565b818152846020838601011115612a8d57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215612abc57600080fd5b612ac461293b565b90508135612ad181612516565b81526020820135612ae181612516565b8060208301525060408201356040820152606082013560608201526080820135612b0a81612516565b608082015260a082013567ffffffffffffffff811115612b2957600080fd5b612b3584828501612a1c565b60a08301525092915050565b600060608284031215612b5357600080fd5b612b5b612964565b90508135612b6881612516565b80825250602082013560208201526040820135604082015292915050565b600067ffffffffffffffff821115612ba057612ba06125a1565b5060051b60200190565b600082601f830112612bbb57600080fd5b81356020612bd0612bcb83612b86565b6129cd565b82815260079290921b84018101918181019086841115612bef57600080fd5b8286015b84811015612c545760808189031215612c0c5760008081fd5b612c14612987565b8135612c1f81612516565b8152818501358582015260408083013590820152606080830135612c4281612516565b90820152835291830191608001612bf3565b509695505050505050565b600060a08284031215612c7157600080fd5b612c796129aa565b905081358152602080830135818301526040830135612c9781612516565b604083015260608381013590830152608083013567ffffffffffffffff811115612cc057600080fd5b8301601f81018513612cd157600080fd5b8035612cdf612bcb82612b86565b81815260059190911b82018301908381019087831115612cfe57600080fd5b928401925b82841015612d1c57833582529284019290840190612d03565b6080860152509295945050505050565b600060208284031215612d3e57600080fd5b813567ffffffffffffffff80821115612d5657600080fd5b908301906101008286031215612d6b57600080fd5b612d7361293b565b823582811115612d8257600080fd5b612d8e87828601612aaa565b825250612d9d60208401612538565b6020820152612daf8660408501612b41565b604082015260a083013582811115612dc657600080fd5b612dd287828601612baa565b60608301525060c083013582811115612dea57600080fd5b612df687828601612c5f565b60808301525060e083013582811115612e0e57600080fd5b612e1a87828601612a1c565b60a08301525095945050505050565b60008451612e3b8184602089016125ff565b845190830190612e4f8183602089016125ff565b8451910190612e628183602088016125ff565b0195945050505050565b60008060408385031215612e7f57600080fd5b505080516020909101519092909150565b6000602080835260c0830184518285015281850151604085015273ffffffffffffffffffffffffffffffffffffffff604086015116606085015260608501516080850152608085015160a08086015281815180845260e0870191508483019350600092505b80831015612c545783518252928401926001929092019190840190612ef5565b82815260008251612f2d8160208501602087016125ff565b919091016020019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f9b57612f9b612f3b565b5060010190565b60208152600061256560208301846126d7565b60006020808385031215612fc857600080fd5b825167ffffffffffffffff811115612fdf57600080fd5b8301601f81018513612ff057600080fd5b8051612ffe612bcb82612b86565b8181526060918202830184019184820191908884111561301d57600080fd5b938501935b838510156130795780858a03121561303a5760008081fd5b613042612964565b855161304d81612516565b8152858701518782015260408087015161306681612516565b9082015283529384019391850191613022565b50979650505050505050565b808201808211156121ea576121ea612f3b565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061209560408301846126d7565b7f563244757463684f72646572207769746e6573732900000000000000000000008152600085516130ff816015850160208a016125ff565b855190830190613116816015840160208a016125ff565b855191019061312c8160158401602089016125ff565b84519101906131428160158401602088016125ff565b016015019695505050505050565b6000610140613180838a51805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60208901516040840152604089015160608401526131c16080840189805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff871660c08401528560e0840152806101008401526131f681840186612623565b905082810361012084015261320b8185612623565b999850505050505050505056fe44757463684f7574707574286164647265737320746f6b656e2c75696e74323536207374617274416d6f756e742c75696e7432353620656e64416d6f756e742c6164647265737320726563697069656e7429546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e74294f72646572496e666f28616464726573732072656163746f722c6164647265737320737761707065722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c61646472657373206164646974696f6e616c56616c69646174696f6e436f6e74726163742c6279746573206164646974696f6e616c56616c69646174696f6e4461746129a26469706673582212201a7bc975ead45b404c1391240ff3b7dc0ec2890503477ce9467e2ea0f66cbb4764736f6c63430008130033";
const _bytecode = "0x60a06040523480156200001157600080fd5b5060405162003524380380620035248339810160408190526200003491620000b8565b600080546001600160a01b0319166001600160a01b03831690811782556040518492849283928392907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350506001600255506001600160a01b031660805250620000f79050565b6001600160a01b0381168114620000b557600080fd5b50565b60008060408385031215620000cc57600080fd5b8251620000d9816200009f565b6020840151909250620000ec816200009f565b809150509250929050565b60805161340b620001196000396000818160e00152611b61015261340b6000f3fe60806040526004361061009a5760003560e01c80632d771389116100695780636999b3771161004e5780636999b377146101715780638da5cb5b1461019e578063f2fde38b146101cb57600080fd5b80632d7713891461013e5780633f62192e1461015e57600080fd5b80630d335884146100a65780630d7a16c3146100bb57806312261ee7146100ce57806313fb72c71461012b57600080fd5b366100a157005b600080fd5b6100b96100b4366004612476565b6101eb565b005b6100b96100c9366004612524565b610364565b3480156100da57600080fd5b506101027f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b9610139366004612566565b6104c5565b34801561014a57600080fd5b506100b9610159366004612604565b610683565b6100b961016c366004612628565b61078f565b34801561017d57600080fd5b506001546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101aa57600080fd5b506000546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d757600080fd5b506100b96101e6366004612604565b610894565b6101f3610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161020a5790505090506102b2846109f6565b816000815181106102c5576102c561268c565b60200260200101819052506102d981610b6d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da628906103199084908790879060040161288e565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b5050505061035481610bbe565b5061035f6001600255565b505050565b61036c610985565b8060008167ffffffffffffffff8111156103885761038861265d565b60405190808252806020026020018201604052801561044357816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816103a65790505b50905060005b828110156104a25761047d8585838181106104665761046661268c565b90506020028101906104789190612954565b6109f6565b82828151811061048f5761048f61268c565b6020908102919091010152600101610449565b506104ac81610b6d565b6104b581610bbe565b50506104c16001600255565b5050565b6104cd610985565b8260008167ffffffffffffffff8111156104e9576104e961265d565b6040519080825280602002602001820160405280156105a457816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105075790505b50905060005b828110156105ec576105c78787838181106104665761046661268c565b8282815181106105d9576105d961268c565b60209081029190910101526001016105aa565b506105f681610b6d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da628906106369084908890889060040161288e565b600060405180830381600087803b15801561065057600080fd5b505af1158015610664573d6000803e3d6000fd5b5050505061067181610bbe565b505061067d6001600255565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527fb904ae9529e373e48bc82df4326cceaf1b4c472babf37f5b7dec46fecc6b53e0910160405180910390a15050565b610797610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816107ae579050509050610856826109f6565b816000815181106108695761086961268c565b602002602001018190525061087d81610b6d565b61088681610bbe565b506108916001600255565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152606401610700565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60028054036109f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610700565b60028055565b6040805161016081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052908352835180820185528281526020808201849052818601849052840152928201839052828201929092526080810182905290610a6f8380612992565b810190610a7c9190612dd1565b90506000610a8982610d11565b9050610a958183610f43565b610a9e82611227565b6040805160a081018252835181526080840151805160209182015193860151929391840192610acf92909190611392565b81526080840151805160209182015160608701519290930192610af3929190611464565b8152602001858060200190610b089190612992565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001829052608083015160408101518151606090920151929550610b669286929061154b565b5050919050565b805160005b8181101561035f576000838281518110610b8e57610b8e61268c565b60200260200101519050610ba1816115ec565b610bab8133611a66565b610bb58133611b5f565b50600101610b72565b805160005b81811015610d00576000838281518110610bdf57610bdf61268c565b602002602001015190506000816040015151905060005b81811015610c6057600083604001518281518110610c1657610c1661268c565b60200260200101519050610c5781604001518260200151836000015173ffffffffffffffffffffffffffffffffffffffff16611ea19092919063ffffffff16565b50600101610bf6565b5081600001516020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16868581518110610ca957610ca961268c565b6020026020010151608001517f78ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66856000015160400151604051610cee91815260200190565b60405180910390a45050600101610bc3565b5047156104c1576104c13347611ee8565b6040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f616464726573732062617365496e707574546f6b656e2c000000000000000000604d8201527f75696e743235362062617365496e7075745374617274416d6f756e742c00000060648201527f75696e743235362062617365496e707574456e64416d6f756e742c000000000060818201527f44757463684f75747075745b5d20626173654f75747075747329000000000000609c82015260009060b601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181526080830190915260528083529091906132c960208301396040518060c00160405280608d8152602001613349608d9139604051602001610e9193929190612ece565b60405160208183030381529060405280519060200120610eb48360000151611f82565b6020808501516040808701518051938101519101516060880151929392610eda9061201c565b60408051602081019890985287019590955273ffffffffffffffffffffffffffffffffffffffff938416606087015292909116608085015260a084015260c083015260e0820152610100015b604051602081830303815290604052805190602001209050919050565b6080810151602001518151606001511015610f8a576040517f773a618700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6080810151805160209091015111610fce576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808260a00151806020019051810190610fe99190612f11565b9150915060008360a001516040815181106110065761100661268c565b602001015160f81c60f81b60f81c9050600060018686608001516040516020016110309190612f35565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261106c9291602001612fc5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156110e8573d6000803e3d6000fd5b5050506020604051035190508073ffffffffffffffffffffffffffffffffffffffff16856020015173ffffffffffffffffffffffffffffffffffffffff1614158015611149575073ffffffffffffffffffffffffffffffffffffffff811615155b15611180576040517fd7815be100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8460400151604001518560400151602001511461121f5760005b85606001515181101561121d576000866060015182815181106111bf576111bf61268c565b60200260200101519050806040015181602001511461120a576040517fd303758b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50806112158161301a565b91505061119a565b505b505050505050565b60808082015101511561129057806040015160200151816080015160800151111561127e576040517fac9143e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808082015101516040820151602001525b806060015151816080015160a0015151146112d7576040517fa305df8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8160600151518110156104c1576000826060015182815181106112ff576112ff61268c565b602002602001015190506000836080015160a0015183815181106113255761132561268c565b602002602001015190508060001461137d578160200151811015611375576040517fa305df8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082018190525b5050808061138a9061301a565b9150506112da565b6113cc6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b83604001518460200151111561140e576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114248560200151866040015186866120ba565b60408051606081018252875173ffffffffffffffffffffffffffffffffffffffff1681526020810192909252958601519581019590955250929392505050565b82516060908067ffffffffffffffff8111156114825761148261265d565b6040519080825280602002602001820160405280156114eb57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816114a05790505b50915060005b818110156115425761151d86828151811061150e5761150e61268c565b60200260200101518686612153565b83828151811061152f5761152f61268c565b60209081029190910101526001016114f1565b50509392505050565b6115558383612223565b61067d5780611590576040517fb9ec1e9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604084015160005b815181101561121f5760008282815181106115b5576115b561268c565b602002602001015190506115de846127106115d09190613052565b602083015190612710612270565b602090910152600101611598565b60015473ffffffffffffffffffffffffffffffffffffffff1661160c5750565b6001546040517f8aa6cf0300000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638aa6cf0390611663908590600401613065565b600060405180830381865afa158015611680573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116c69190810190613078565b60408301515181519192509060006116de8284613052565b67ffffffffffffffff8111156116f6576116f661265d565b60405190808252806020026020018201604052801561175f57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117145790505b50905060005b838110156117b057856040015181815181106117835761178361268c565b602002602001015182828151811061179d5761179d61268c565b6020908102919091010152600101611765565b5060005b82811015611a575760008582815181106117d0576117d061268c565b6020026020010151905060005b8281101561188e578681815181106117f7576117f761268c565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16036118865781516040517ffff0830300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b6001016117dd565b506000805b86811015611913576000896040015182815181106118b3576118b361268c565b60200260200101519050836000015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361190a5760208101516119079084613052565b92505b50600101611893565b50815160208901515173ffffffffffffffffffffffffffffffffffffffff91821691160361195057602080890151015161194d9082613052565b90505b806000036119a55781516040517feddf07f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b6119b3816005612710612270565b82602001511115611a26578151602083015160408085015190517f82e7565600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526024810192909252919091166044820152606401610700565b8184611a328589613052565b81518110611a4257611a4261268c565b602090810291909101015250506001016117b4565b50604090940193909352505050565b81515173ffffffffffffffffffffffffffffffffffffffff163014611ab7576040517f4ddf4a6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516080015173ffffffffffffffffffffffffffffffffffffffff16156104c1578151608001516040517f6e84ba2b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690636e84ba2b90611b339084908690600401613148565b60006040518083038186803b158015611b4b57600080fd5b505afa15801561121f573d6000803e3d6000fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663137c29fe611c1f846040805160a0810182526000606082018181526080830182905282526020820181905291810191909152506040805160a081018252602080840180515173ffffffffffffffffffffffffffffffffffffffff1660608085019182529151850151608085015283528451840151918301919091529251909201519082015290565b6040805180820182526000808252602091820152815180830190925273ffffffffffffffffffffffffffffffffffffffff86168252808701518101519082015285600001516020015186608001516040518060800160405280605281526020016132c9605291396040518060c00160405280608d8152602001613349608d91396040518060600160405280602e815260200161331b602e91396040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f616464726573732062617365496e707574546f6b656e2c000000000000000000604d8201527f75696e743235362062617365496e7075745374617274416d6f756e742c00000060648201527f75696e743235362062617365496e707574456e64416d6f756e742c000000000060818201527f44757463684f75747075745b5d20626173654f75747075747329000000000000609c82015260b601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611e0694939291602001613177565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260608a01517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168352611e739695949392600401613200565b600060405180830381600087803b158015611e8d57600080fd5b505af115801561121f573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff8316611ec65761035f8282611ee8565b61035f73ffffffffffffffffffffffffffffffffffffffff84163384846122ac565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611f42576040519150601f19603f3d011682016040523d82523d6000602084013e611f47565b606091505b505090508061035f576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060c00160405280608d8152602001613349608d913980516020918201208351848301516040808701516060880151608089015160a08a01518051908901209351610f2698939492939192910196875273ffffffffffffffffffffffffffffffffffffffff958616602088015293851660408701526060860192909252608085015290911660a083015260c082015260e00190565b600080825160200267ffffffffffffffff81111561203c5761203c61265d565b6040519080825280601f01601f191660200182016040528015612066576020820181803683370190505b50905060005b83518110156120ab57600061209985838151811061208c5761208c61268c565b602002602001015161239e565b6020838102850101525060010161206c565b50805160209091012092915050565b60008282116120f5576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42821161210357508261214b565b42831061211157508361214b565b42839003838303868610156121365761212d8688038383612270565b87039250612148565b6121438787038383612270565b870192505b50505b949350505050565b60408051606081018252600080825260208201819052918101919091528360400151846020015110156121b2576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121c88560200151866040015186866120ba565b90506040518060600160405280866000015173ffffffffffffffffffffffffffffffffffffffff168152602001828152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152509150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff8316158061224757508142115b80612267575073ffffffffffffffffffffffffffffffffffffffff831633145b90505b92915050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04841183021582026122a557600080fd5b5091020490565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080612397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610700565b5050505050565b60006040518060800160405280605281526020016132c960529139805160209182012083518483015160408087015160608801519151610f26969192910194855273ffffffffffffffffffffffffffffffffffffffff93841660208601526040850192909252606084015216608082015260a00190565b60006040828403121561242757600080fd5b50919050565b60008083601f84011261243f57600080fd5b50813567ffffffffffffffff81111561245757600080fd5b60208301915083602082850101111561246f57600080fd5b9250929050565b60008060006040848603121561248b57600080fd5b833567ffffffffffffffff808211156124a357600080fd5b6124af87838801612415565b945060208601359150808211156124c557600080fd5b506124d28682870161242d565b9497909650939450505050565b60008083601f8401126124f157600080fd5b50813567ffffffffffffffff81111561250957600080fd5b6020830191508360208260051b850101111561246f57600080fd5b6000806020838503121561253757600080fd5b823567ffffffffffffffff81111561254e57600080fd5b61255a858286016124df565b90969095509350505050565b6000806000806040858703121561257c57600080fd5b843567ffffffffffffffff8082111561259457600080fd5b6125a0888389016124df565b909650945060208701359150808211156125b957600080fd5b506125c68782880161242d565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b80356125ff816125d2565b919050565b60006020828403121561261657600080fd5b8135612621816125d2565b9392505050565b60006020828403121561263a57600080fd5b813567ffffffffffffffff81111561265157600080fd5b61214b84828501612415565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60005b838110156126d65781810151838201526020016126be565b50506000910152565b600081518084526126f78160208601602086016126bb565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501945080840160005b83811015612788578151805173ffffffffffffffffffffffffffffffffffffffff908116895284820151858a015260409182015116908801526060909601959082019060010161273d565b509495945050505050565b6000815160e0845273ffffffffffffffffffffffffffffffffffffffff8082511660e08601528060208301511661010086015260408201516101208601526060820151610140860152806080830151166101608601525060a0810151905060c06101808501526128076101a08501826126df565b905060208301516128456020860182805173ffffffffffffffffffffffffffffffffffffffff16825260208082015190830152604090810151910152565b506040830151848203608086015261285d8282612729565b915050606083015184820360a086015261287782826126df565b915050608083015160c08501528091505092915050565b6000604082016040835280865180835260608501915060608160051b8601019250602080890160005b83811015612903577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526128f1868351612793565b955093820193908201906001016128b7565b5050858403818701528684528688828601376000848801820152601f9096017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092019094019695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261298857600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126129c757600080fd5b83018035915067ffffffffffffffff8211156129e257600080fd5b60200191503681900382131561246f57600080fd5b60405160c0810167ffffffffffffffff81118282101715612a1a57612a1a61265d565b60405290565b6040516060810167ffffffffffffffff81118282101715612a1a57612a1a61265d565b6040516080810167ffffffffffffffff81118282101715612a1a57612a1a61265d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612aad57612aad61265d565b604052919050565b600082601f830112612ac657600080fd5b813567ffffffffffffffff811115612ae057612ae061265d565b612b1160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612a66565b818152846020838601011115612b2657600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215612b5557600080fd5b612b5d6129f7565b90508135612b6a816125d2565b81526020820135612b7a816125d2565b8060208301525060408201356040820152606082013560608201526080820135612ba3816125d2565b608082015260a082013567ffffffffffffffff811115612bc257600080fd5b612bce84828501612ab5565b60a08301525092915050565b600060608284031215612bec57600080fd5b612bf4612a20565b90508135612c01816125d2565b80825250602082013560208201526040820135604082015292915050565b600067ffffffffffffffff821115612c3957612c3961265d565b5060051b60200190565b600082601f830112612c5457600080fd5b81356020612c69612c6483612c1f565b612a66565b82815260079290921b84018101918181019086841115612c8857600080fd5b8286015b84811015612ced5760808189031215612ca55760008081fd5b612cad612a43565b8135612cb8816125d2565b8152818501358582015260408083013590820152606080830135612cdb816125d2565b90820152835291830191608001612c8c565b509695505050505050565b600060c08284031215612d0a57600080fd5b612d126129f7565b905081358152602080830135818301526040830135612d30816125d2565b80604084015250606083013560608301526080830135608083015260a083013567ffffffffffffffff811115612d6557600080fd5b8301601f81018513612d7657600080fd5b8035612d84612c6482612c1f565b81815260059190911b82018301908381019087831115612da357600080fd5b928401925b82841015612dc157833582529284019290840190612da8565b60a0860152509295945050505050565b600060208284031215612de357600080fd5b813567ffffffffffffffff80821115612dfb57600080fd5b908301906101008286031215612e1057600080fd5b612e186129f7565b823582811115612e2757600080fd5b612e3387828601612b43565b825250612e42602084016125f4565b6020820152612e548660408501612bda565b604082015260a083013582811115612e6b57600080fd5b612e7787828601612c43565b60608301525060c083013582811115612e8f57600080fd5b612e9b87828601612cf8565b60808301525060e083013582811115612eb357600080fd5b612ebf87828601612ab5565b60a08301525095945050505050565b60008451612ee08184602089016126bb565b845190830190612ef48183602089016126bb565b8451910190612f078183602088016126bb565b0195945050505050565b60008060408385031215612f2457600080fd5b505080516020909101519092909150565b6000602080835260e0830184518285015281850151604085015273ffffffffffffffffffffffffffffffffffffffff604086015116606085015260608501516080850152608085015160a085015260a085015160c080860152818151808452610100870191508483019350600092505b80831015612ced5783518252928401926001929092019190840190612fa5565b82815260008251612fdd8160208501602087016126bb565b919091016020019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361304b5761304b612feb565b5060010190565b8082018082111561226a5761226a612feb565b6020815260006122676020830184612793565b6000602080838503121561308b57600080fd5b825167ffffffffffffffff8111156130a257600080fd5b8301601f810185136130b357600080fd5b80516130c1612c6482612c1f565b818152606091820283018401918482019190888411156130e057600080fd5b938501935b8385101561313c5780858a0312156130fd5760008081fd5b613105612a20565b8551613110816125d2565b81528587015187820152604080870151613129816125d2565b90820152835293840193918501916130e5565b50979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061214b6040830184612793565b7f563244757463684f72646572207769746e6573732900000000000000000000008152600085516131af816015850160208a016126bb565b8551908301906131c6816015840160208a016126bb565b85519101906131dc8160158401602089016126bb565b84519101906131f28160158401602088016126bb565b016015019695505050505050565b6000610140613230838a51805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60208901516040840152604089015160608401526132716080840189805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff871660c08401528560e0840152806101008401526132a6818401866126df565b90508281036101208401526132bb81856126df565b999850505050505050505056fe44757463684f7574707574286164647265737320746f6b656e2c75696e74323536207374617274416d6f756e742c75696e7432353620656e64416d6f756e742c6164647265737320726563697069656e7429546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e74294f72646572496e666f28616464726573732072656163746f722c6164647265737320737761707065722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c61646472657373206164646974696f6e616c56616c69646174696f6e436f6e74726163742c6279746573206164646974696f6e616c56616c69646174696f6e4461746129a26469706673582212208f5ca0756750ceaf422af83c2939e746254af6aae2235a7a02c1911b9aa1739664736f6c63430008130033";
const isSuperArgs = (xs) => xs.length > 1;

@@ -379,0 +379,0 @@ class V2DutchOrderReactor__factory extends ethers_1.ContractFactory {

@@ -10,2 +10,3 @@ import { SignatureLike } from "@ethersproject/bytes";

exclusiveFiller: string;
exclusivityOverrideBps: BigNumber;
inputOverride: BigNumber;

@@ -18,2 +19,3 @@ outputOverrides: BigNumber[];

exclusiveFiller: string;
exclusivityOverrideBps: number;
inputOverride: string;

@@ -20,0 +22,0 @@ outputOverrides: string[];

@@ -40,3 +40,3 @@ "use strict";

"tuple(address,uint256,uint256,address)[]",
"tuple(uint256,uint256,address,uint256,uint256[])",
"tuple(uint256,uint256,address,uint256,uint256,uint256[])",
"bytes", // cosignature

@@ -123,3 +123,3 @@ ].join(",") +

// use empty default for cosignerData and cosignature
[0, 0, ethers_1.ethers.constants.AddressZero, 0, [0]],
[0, 0, ethers_1.ethers.constants.AddressZero, 0, 0, [0]],
"0x",

@@ -199,6 +199,7 @@ ],

this.hash(),
abiCoder.encode(["uint256", "uint256", "address", "uint256", "uint256[]"], [
abiCoder.encode(["uint256", "uint256", "address", "uint256", "uint256", "uint256[]"], [
cosignerData.decayStartTime,
cosignerData.decayEndTime,
cosignerData.exclusiveFiller,
cosignerData.exclusivityOverrideBps,
cosignerData.inputOverride,

@@ -237,2 +238,3 @@ cosignerData.outputOverrides,

exclusiveFiller: json.cosignerData.exclusiveFiller,
exclusivityOverrideBps: ethers_1.BigNumber.from(json.cosignerData.exclusivityOverrideBps),
inputOverride: ethers_1.BigNumber.from(json.cosignerData.inputOverride),

@@ -254,2 +256,3 @@ outputOverrides: json.cosignerData.outputOverrides.map(ethers_1.BigNumber.from),

exclusiveFiller: this.info.cosignerData.exclusiveFiller,
exclusivityOverrideBps: this.info.cosignerData.exclusivityOverrideBps.toNumber(),
inputOverride: this.info.cosignerData.inputOverride.toString(),

@@ -317,2 +320,3 @@ outputOverrides: this.info.cosignerData.outputOverrides.map((o) => o.toString()),

this.info.cosignerData.exclusiveFiller,
this.info.cosignerData.exclusivityOverrideBps,
this.info.cosignerData.inputOverride.toString(),

@@ -340,3 +344,3 @@ this.info.cosignerData.outputOverrides.map((o) => o.toString()),

const decoded = abiCoder.decode(V2_DUTCH_ORDER_ABI, serialized);
const [[[reactor, swapper, nonce, deadline, additionalValidationContract, additionalValidationData,], cosigner, [inputToken, inputStartAmount, inputEndAmount], outputs, [decayStartTime, decayEndTime, exclusiveFiller, inputOverride, outputOverrides,], cosignature,],] = decoded;
const [[[reactor, swapper, nonce, deadline, additionalValidationContract, additionalValidationData,], cosigner, [inputToken, inputStartAmount, inputEndAmount], outputs, [decayStartTime, decayEndTime, exclusiveFiller, exclusivityOverrideBps, inputOverride, outputOverrides,], cosignature,],] = decoded;
return {

@@ -367,2 +371,3 @@ reactor,

exclusiveFiller,
exclusivityOverrideBps,
inputOverride,

@@ -369,0 +374,0 @@ outputOverrides,

@@ -14,2 +14,3 @@ "use strict";

exclusiveFiller: ethers_1.ethers.constants.AddressZero,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
inputOverride: RAW_AMOUNT,

@@ -133,2 +134,3 @@ outputOverrides: [RAW_AMOUNT.mul(102).div(100)],

exclusiveFiller: ethers_1.ethers.constants.AddressZero,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
inputOverride: ethers_1.BigNumber.from(0),

@@ -184,2 +186,3 @@ outputOverrides: [ethers_1.BigNumber.from(0)],

exclusiveFiller: exclusiveFiller,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
decayStartTime: Math.floor(new Date().getTime() / 1000),

@@ -207,2 +210,3 @@ decayEndTime: Math.floor(new Date().getTime() / 1000) + 1000,

exclusiveFiller,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
decayStartTime: Math.floor(new Date().getTime() / 1000),

@@ -230,2 +234,3 @@ decayEndTime: Math.floor(new Date().getTime() / 1000) + 1000,

exclusiveFiller,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
decayStartTime: Math.floor(new Date().getTime() / 1000),

@@ -252,2 +257,3 @@ decayEndTime: Math.floor(new Date().getTime() / 1000) + 1000,

exclusiveFiller,
exclusivityOverrideBps: ethers_1.BigNumber.from(0),
decayStartTime: Math.floor(new Date().getTime() / 1000),

@@ -254,0 +260,0 @@ decayEndTime: Math.floor(new Date().getTime() / 1000) + 1000,

{
"name": "@uniswap/uniswapx-sdk",
"author": "Uniswap",
"version": "2.0.1-alpha.0",
"version": "2.0.1-alpha.1",
"license": "MIT",

@@ -6,0 +6,0 @@ "main": "dist/src/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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