hyperdrive_wrappers/wrappers/
hyperdrive_factory.rs

1pub use hyperdrive_factory::*;
2/// This module was auto-generated with ethers-rs Abigen.
3/// More information at: <https://github.com/gakonst/ethers-rs>
4#[allow(
5    clippy::enum_variant_names,
6    clippy::too_many_arguments,
7    clippy::upper_case_acronyms,
8    clippy::type_complexity,
9    dead_code,
10    non_camel_case_types,
11)]
12pub mod hyperdrive_factory {
13    #[allow(deprecated)]
14    fn __abi() -> ::ethers::core::abi::Abi {
15        ::ethers::core::abi::ethabi::Contract {
16            constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor {
17                inputs: ::std::vec![
18                    ::ethers::core::abi::ethabi::Param {
19                        name: ::std::borrow::ToOwned::to_owned("_factoryConfig"),
20                        kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
21                            ::std::vec![
22                                ::ethers::core::abi::ethabi::ParamType::Address,
23                                ::ethers::core::abi::ethabi::ParamType::Address,
24                                ::ethers::core::abi::ethabi::ParamType::Address,
25                                ::ethers::core::abi::ethabi::ParamType::Array(
26                                    ::std::boxed::Box::new(
27                                        ::ethers::core::abi::ethabi::ParamType::Address,
28                                    ),
29                                ),
30                                ::ethers::core::abi::ethabi::ParamType::Address,
31                                ::ethers::core::abi::ethabi::ParamType::Address,
32                                ::ethers::core::abi::ethabi::ParamType::Address,
33                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
34                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
35                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
36                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
37                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
38                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
39                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
40                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
41                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
42                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
43                                ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
44                                ::ethers::core::abi::ethabi::ParamType::Tuple(
45                                    ::std::vec![
46                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
47                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
48                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
49                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
50                                    ],
51                                ),
52                                ::ethers::core::abi::ethabi::ParamType::Tuple(
53                                    ::std::vec![
54                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
55                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
56                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
57                                        ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
58                                    ],
59                                ),
60                                ::ethers::core::abi::ethabi::ParamType::Address,
61                                ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
62                            ],
63                        ),
64                        internal_type: ::core::option::Option::Some(
65                            ::std::borrow::ToOwned::to_owned(
66                                "struct HyperdriveFactory.FactoryConfig",
67                            ),
68                        ),
69                    },
70                    ::ethers::core::abi::ethabi::Param {
71                        name: ::std::borrow::ToOwned::to_owned("_name"),
72                        kind: ::ethers::core::abi::ethabi::ParamType::String,
73                        internal_type: ::core::option::Option::Some(
74                            ::std::borrow::ToOwned::to_owned("string"),
75                        ),
76                    },
77                ],
78            }),
79            functions: ::core::convert::From::from([
80                (
81                    ::std::borrow::ToOwned::to_owned("_instancesToDeployerCoordinators"),
82                    ::std::vec![
83                        ::ethers::core::abi::ethabi::Function {
84                            name: ::std::borrow::ToOwned::to_owned(
85                                "_instancesToDeployerCoordinators",
86                            ),
87                            inputs: ::std::vec![
88                                ::ethers::core::abi::ethabi::Param {
89                                    name: ::std::borrow::ToOwned::to_owned("instance"),
90                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
91                                    internal_type: ::core::option::Option::Some(
92                                        ::std::borrow::ToOwned::to_owned("address"),
93                                    ),
94                                },
95                            ],
96                            outputs: ::std::vec![
97                                ::ethers::core::abi::ethabi::Param {
98                                    name: ::std::borrow::ToOwned::to_owned("deployCoordinator"),
99                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
100                                    internal_type: ::core::option::Option::Some(
101                                        ::std::borrow::ToOwned::to_owned("address"),
102                                    ),
103                                },
104                            ],
105                            constant: ::core::option::Option::None,
106                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
107                        },
108                    ],
109                ),
110                (
111                    ::std::borrow::ToOwned::to_owned("addDeployerCoordinator"),
112                    ::std::vec![
113                        ::ethers::core::abi::ethabi::Function {
114                            name: ::std::borrow::ToOwned::to_owned(
115                                "addDeployerCoordinator",
116                            ),
117                            inputs: ::std::vec![
118                                ::ethers::core::abi::ethabi::Param {
119                                    name: ::std::borrow::ToOwned::to_owned(
120                                        "_deployerCoordinator",
121                                    ),
122                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
123                                    internal_type: ::core::option::Option::Some(
124                                        ::std::borrow::ToOwned::to_owned("address"),
125                                    ),
126                                },
127                            ],
128                            outputs: ::std::vec![],
129                            constant: ::core::option::Option::None,
130                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
131                        },
132                    ],
133                ),
134                (
135                    ::std::borrow::ToOwned::to_owned("checkpointDurationResolution"),
136                    ::std::vec![
137                        ::ethers::core::abi::ethabi::Function {
138                            name: ::std::borrow::ToOwned::to_owned(
139                                "checkpointDurationResolution",
140                            ),
141                            inputs: ::std::vec![],
142                            outputs: ::std::vec![
143                                ::ethers::core::abi::ethabi::Param {
144                                    name: ::std::string::String::new(),
145                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
146                                        256usize,
147                                    ),
148                                    internal_type: ::core::option::Option::Some(
149                                        ::std::borrow::ToOwned::to_owned("uint256"),
150                                    ),
151                                },
152                            ],
153                            constant: ::core::option::Option::None,
154                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
155                        },
156                    ],
157                ),
158                (
159                    ::std::borrow::ToOwned::to_owned("checkpointRewarder"),
160                    ::std::vec![
161                        ::ethers::core::abi::ethabi::Function {
162                            name: ::std::borrow::ToOwned::to_owned("checkpointRewarder"),
163                            inputs: ::std::vec![],
164                            outputs: ::std::vec![
165                                ::ethers::core::abi::ethabi::Param {
166                                    name: ::std::string::String::new(),
167                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
168                                    internal_type: ::core::option::Option::Some(
169                                        ::std::borrow::ToOwned::to_owned("address"),
170                                    ),
171                                },
172                            ],
173                            constant: ::core::option::Option::None,
174                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
175                        },
176                    ],
177                ),
178                (
179                    ::std::borrow::ToOwned::to_owned("defaultPausers"),
180                    ::std::vec![
181                        ::ethers::core::abi::ethabi::Function {
182                            name: ::std::borrow::ToOwned::to_owned("defaultPausers"),
183                            inputs: ::std::vec![],
184                            outputs: ::std::vec![
185                                ::ethers::core::abi::ethabi::Param {
186                                    name: ::std::string::String::new(),
187                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
188                                        ::std::boxed::Box::new(
189                                            ::ethers::core::abi::ethabi::ParamType::Address,
190                                        ),
191                                    ),
192                                    internal_type: ::core::option::Option::Some(
193                                        ::std::borrow::ToOwned::to_owned("address[]"),
194                                    ),
195                                },
196                            ],
197                            constant: ::core::option::Option::None,
198                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
199                        },
200                    ],
201                ),
202                (
203                    ::std::borrow::ToOwned::to_owned("deployAndInitialize"),
204                    ::std::vec![
205                        ::ethers::core::abi::ethabi::Function {
206                            name: ::std::borrow::ToOwned::to_owned(
207                                "deployAndInitialize",
208                            ),
209                            inputs: ::std::vec![
210                                ::ethers::core::abi::ethabi::Param {
211                                    name: ::std::borrow::ToOwned::to_owned("_deploymentId"),
212                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
213                                        32usize,
214                                    ),
215                                    internal_type: ::core::option::Option::Some(
216                                        ::std::borrow::ToOwned::to_owned("bytes32"),
217                                    ),
218                                },
219                                ::ethers::core::abi::ethabi::Param {
220                                    name: ::std::borrow::ToOwned::to_owned(
221                                        "_deployerCoordinator",
222                                    ),
223                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
224                                    internal_type: ::core::option::Option::Some(
225                                        ::std::borrow::ToOwned::to_owned("address"),
226                                    ),
227                                },
228                                ::ethers::core::abi::ethabi::Param {
229                                    name: ::std::borrow::ToOwned::to_owned("__name"),
230                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
231                                    internal_type: ::core::option::Option::Some(
232                                        ::std::borrow::ToOwned::to_owned("string"),
233                                    ),
234                                },
235                                ::ethers::core::abi::ethabi::Param {
236                                    name: ::std::borrow::ToOwned::to_owned("_config"),
237                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
238                                        ::std::vec![
239                                            ::ethers::core::abi::ethabi::ParamType::Address,
240                                            ::ethers::core::abi::ethabi::ParamType::Address,
241                                            ::ethers::core::abi::ethabi::ParamType::Address,
242                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
243                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
244                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
245                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
246                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
247                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
248                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
249                                            ::ethers::core::abi::ethabi::ParamType::Address,
250                                            ::ethers::core::abi::ethabi::ParamType::Address,
251                                            ::ethers::core::abi::ethabi::ParamType::Address,
252                                            ::ethers::core::abi::ethabi::ParamType::Address,
253                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
254                                                ::std::vec![
255                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
256                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
257                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
258                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
259                                                ],
260                                            ),
261                                        ],
262                                    ),
263                                    internal_type: ::core::option::Option::Some(
264                                        ::std::borrow::ToOwned::to_owned(
265                                            "struct IHyperdrive.PoolDeployConfig",
266                                        ),
267                                    ),
268                                },
269                                ::ethers::core::abi::ethabi::Param {
270                                    name: ::std::borrow::ToOwned::to_owned("_extraData"),
271                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
272                                    internal_type: ::core::option::Option::Some(
273                                        ::std::borrow::ToOwned::to_owned("bytes"),
274                                    ),
275                                },
276                                ::ethers::core::abi::ethabi::Param {
277                                    name: ::std::borrow::ToOwned::to_owned("_contribution"),
278                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
279                                        256usize,
280                                    ),
281                                    internal_type: ::core::option::Option::Some(
282                                        ::std::borrow::ToOwned::to_owned("uint256"),
283                                    ),
284                                },
285                                ::ethers::core::abi::ethabi::Param {
286                                    name: ::std::borrow::ToOwned::to_owned("_fixedAPR"),
287                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
288                                        256usize,
289                                    ),
290                                    internal_type: ::core::option::Option::Some(
291                                        ::std::borrow::ToOwned::to_owned("uint256"),
292                                    ),
293                                },
294                                ::ethers::core::abi::ethabi::Param {
295                                    name: ::std::borrow::ToOwned::to_owned("_timeStretchAPR"),
296                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
297                                        256usize,
298                                    ),
299                                    internal_type: ::core::option::Option::Some(
300                                        ::std::borrow::ToOwned::to_owned("uint256"),
301                                    ),
302                                },
303                                ::ethers::core::abi::ethabi::Param {
304                                    name: ::std::borrow::ToOwned::to_owned("_options"),
305                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
306                                        ::std::vec![
307                                            ::ethers::core::abi::ethabi::ParamType::Address,
308                                            ::ethers::core::abi::ethabi::ParamType::Bool,
309                                            ::ethers::core::abi::ethabi::ParamType::Bytes,
310                                        ],
311                                    ),
312                                    internal_type: ::core::option::Option::Some(
313                                        ::std::borrow::ToOwned::to_owned(
314                                            "struct IHyperdrive.Options",
315                                        ),
316                                    ),
317                                },
318                                ::ethers::core::abi::ethabi::Param {
319                                    name: ::std::borrow::ToOwned::to_owned("_salt"),
320                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
321                                        32usize,
322                                    ),
323                                    internal_type: ::core::option::Option::Some(
324                                        ::std::borrow::ToOwned::to_owned("bytes32"),
325                                    ),
326                                },
327                            ],
328                            outputs: ::std::vec![
329                                ::ethers::core::abi::ethabi::Param {
330                                    name: ::std::string::String::new(),
331                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
332                                    internal_type: ::core::option::Option::Some(
333                                        ::std::borrow::ToOwned::to_owned("contract IHyperdrive"),
334                                    ),
335                                },
336                            ],
337                            constant: ::core::option::Option::None,
338                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable,
339                        },
340                    ],
341                ),
342                (
343                    ::std::borrow::ToOwned::to_owned("deployTarget"),
344                    ::std::vec![
345                        ::ethers::core::abi::ethabi::Function {
346                            name: ::std::borrow::ToOwned::to_owned("deployTarget"),
347                            inputs: ::std::vec![
348                                ::ethers::core::abi::ethabi::Param {
349                                    name: ::std::borrow::ToOwned::to_owned("_deploymentId"),
350                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
351                                        32usize,
352                                    ),
353                                    internal_type: ::core::option::Option::Some(
354                                        ::std::borrow::ToOwned::to_owned("bytes32"),
355                                    ),
356                                },
357                                ::ethers::core::abi::ethabi::Param {
358                                    name: ::std::borrow::ToOwned::to_owned(
359                                        "_deployerCoordinator",
360                                    ),
361                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
362                                    internal_type: ::core::option::Option::Some(
363                                        ::std::borrow::ToOwned::to_owned("address"),
364                                    ),
365                                },
366                                ::ethers::core::abi::ethabi::Param {
367                                    name: ::std::borrow::ToOwned::to_owned("_config"),
368                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
369                                        ::std::vec![
370                                            ::ethers::core::abi::ethabi::ParamType::Address,
371                                            ::ethers::core::abi::ethabi::ParamType::Address,
372                                            ::ethers::core::abi::ethabi::ParamType::Address,
373                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
374                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
375                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
376                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
377                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
378                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
379                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
380                                            ::ethers::core::abi::ethabi::ParamType::Address,
381                                            ::ethers::core::abi::ethabi::ParamType::Address,
382                                            ::ethers::core::abi::ethabi::ParamType::Address,
383                                            ::ethers::core::abi::ethabi::ParamType::Address,
384                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
385                                                ::std::vec![
386                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
387                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
388                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
389                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
390                                                ],
391                                            ),
392                                        ],
393                                    ),
394                                    internal_type: ::core::option::Option::Some(
395                                        ::std::borrow::ToOwned::to_owned(
396                                            "struct IHyperdrive.PoolDeployConfig",
397                                        ),
398                                    ),
399                                },
400                                ::ethers::core::abi::ethabi::Param {
401                                    name: ::std::borrow::ToOwned::to_owned("_extraData"),
402                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
403                                    internal_type: ::core::option::Option::Some(
404                                        ::std::borrow::ToOwned::to_owned("bytes"),
405                                    ),
406                                },
407                                ::ethers::core::abi::ethabi::Param {
408                                    name: ::std::borrow::ToOwned::to_owned("_fixedAPR"),
409                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
410                                        256usize,
411                                    ),
412                                    internal_type: ::core::option::Option::Some(
413                                        ::std::borrow::ToOwned::to_owned("uint256"),
414                                    ),
415                                },
416                                ::ethers::core::abi::ethabi::Param {
417                                    name: ::std::borrow::ToOwned::to_owned("_timeStretchAPR"),
418                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
419                                        256usize,
420                                    ),
421                                    internal_type: ::core::option::Option::Some(
422                                        ::std::borrow::ToOwned::to_owned("uint256"),
423                                    ),
424                                },
425                                ::ethers::core::abi::ethabi::Param {
426                                    name: ::std::borrow::ToOwned::to_owned("_targetIndex"),
427                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
428                                        256usize,
429                                    ),
430                                    internal_type: ::core::option::Option::Some(
431                                        ::std::borrow::ToOwned::to_owned("uint256"),
432                                    ),
433                                },
434                                ::ethers::core::abi::ethabi::Param {
435                                    name: ::std::borrow::ToOwned::to_owned("_salt"),
436                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
437                                        32usize,
438                                    ),
439                                    internal_type: ::core::option::Option::Some(
440                                        ::std::borrow::ToOwned::to_owned("bytes32"),
441                                    ),
442                                },
443                            ],
444                            outputs: ::std::vec![
445                                ::ethers::core::abi::ethabi::Param {
446                                    name: ::std::string::String::new(),
447                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
448                                    internal_type: ::core::option::Option::Some(
449                                        ::std::borrow::ToOwned::to_owned("address"),
450                                    ),
451                                },
452                            ],
453                            constant: ::core::option::Option::None,
454                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
455                        },
456                    ],
457                ),
458                (
459                    ::std::borrow::ToOwned::to_owned("deployerCoordinatorManager"),
460                    ::std::vec![
461                        ::ethers::core::abi::ethabi::Function {
462                            name: ::std::borrow::ToOwned::to_owned(
463                                "deployerCoordinatorManager",
464                            ),
465                            inputs: ::std::vec![],
466                            outputs: ::std::vec![
467                                ::ethers::core::abi::ethabi::Param {
468                                    name: ::std::string::String::new(),
469                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
470                                    internal_type: ::core::option::Option::Some(
471                                        ::std::borrow::ToOwned::to_owned("address"),
472                                    ),
473                                },
474                            ],
475                            constant: ::core::option::Option::None,
476                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
477                        },
478                    ],
479                ),
480                (
481                    ::std::borrow::ToOwned::to_owned("feeCollector"),
482                    ::std::vec![
483                        ::ethers::core::abi::ethabi::Function {
484                            name: ::std::borrow::ToOwned::to_owned("feeCollector"),
485                            inputs: ::std::vec![],
486                            outputs: ::std::vec![
487                                ::ethers::core::abi::ethabi::Param {
488                                    name: ::std::string::String::new(),
489                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
490                                    internal_type: ::core::option::Option::Some(
491                                        ::std::borrow::ToOwned::to_owned("address"),
492                                    ),
493                                },
494                            ],
495                            constant: ::core::option::Option::None,
496                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
497                        },
498                    ],
499                ),
500                (
501                    ::std::borrow::ToOwned::to_owned("getDeployerCoordinatorAtIndex"),
502                    ::std::vec![
503                        ::ethers::core::abi::ethabi::Function {
504                            name: ::std::borrow::ToOwned::to_owned(
505                                "getDeployerCoordinatorAtIndex",
506                            ),
507                            inputs: ::std::vec![
508                                ::ethers::core::abi::ethabi::Param {
509                                    name: ::std::borrow::ToOwned::to_owned("_index"),
510                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
511                                        256usize,
512                                    ),
513                                    internal_type: ::core::option::Option::Some(
514                                        ::std::borrow::ToOwned::to_owned("uint256"),
515                                    ),
516                                },
517                            ],
518                            outputs: ::std::vec![
519                                ::ethers::core::abi::ethabi::Param {
520                                    name: ::std::string::String::new(),
521                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
522                                    internal_type: ::core::option::Option::Some(
523                                        ::std::borrow::ToOwned::to_owned("address"),
524                                    ),
525                                },
526                            ],
527                            constant: ::core::option::Option::None,
528                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
529                        },
530                    ],
531                ),
532                (
533                    ::std::borrow::ToOwned::to_owned(
534                        "getDeployerCoordinatorByInstances",
535                    ),
536                    ::std::vec![
537                        ::ethers::core::abi::ethabi::Function {
538                            name: ::std::borrow::ToOwned::to_owned(
539                                "getDeployerCoordinatorByInstances",
540                            ),
541                            inputs: ::std::vec![
542                                ::ethers::core::abi::ethabi::Param {
543                                    name: ::std::borrow::ToOwned::to_owned("__instances"),
544                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
545                                        ::std::boxed::Box::new(
546                                            ::ethers::core::abi::ethabi::ParamType::Address,
547                                        ),
548                                    ),
549                                    internal_type: ::core::option::Option::Some(
550                                        ::std::borrow::ToOwned::to_owned("address[]"),
551                                    ),
552                                },
553                            ],
554                            outputs: ::std::vec![
555                                ::ethers::core::abi::ethabi::Param {
556                                    name: ::std::borrow::ToOwned::to_owned("coordinators"),
557                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
558                                        ::std::boxed::Box::new(
559                                            ::ethers::core::abi::ethabi::ParamType::Address,
560                                        ),
561                                    ),
562                                    internal_type: ::core::option::Option::Some(
563                                        ::std::borrow::ToOwned::to_owned("address[]"),
564                                    ),
565                                },
566                            ],
567                            constant: ::core::option::Option::None,
568                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
569                        },
570                    ],
571                ),
572                (
573                    ::std::borrow::ToOwned::to_owned("getDeployerCoordinatorsInRange"),
574                    ::std::vec![
575                        ::ethers::core::abi::ethabi::Function {
576                            name: ::std::borrow::ToOwned::to_owned(
577                                "getDeployerCoordinatorsInRange",
578                            ),
579                            inputs: ::std::vec![
580                                ::ethers::core::abi::ethabi::Param {
581                                    name: ::std::borrow::ToOwned::to_owned("_startIndex"),
582                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
583                                        256usize,
584                                    ),
585                                    internal_type: ::core::option::Option::Some(
586                                        ::std::borrow::ToOwned::to_owned("uint256"),
587                                    ),
588                                },
589                                ::ethers::core::abi::ethabi::Param {
590                                    name: ::std::borrow::ToOwned::to_owned("_endIndex"),
591                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
592                                        256usize,
593                                    ),
594                                    internal_type: ::core::option::Option::Some(
595                                        ::std::borrow::ToOwned::to_owned("uint256"),
596                                    ),
597                                },
598                            ],
599                            outputs: ::std::vec![
600                                ::ethers::core::abi::ethabi::Param {
601                                    name: ::std::borrow::ToOwned::to_owned("range"),
602                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
603                                        ::std::boxed::Box::new(
604                                            ::ethers::core::abi::ethabi::ParamType::Address,
605                                        ),
606                                    ),
607                                    internal_type: ::core::option::Option::Some(
608                                        ::std::borrow::ToOwned::to_owned("address[]"),
609                                    ),
610                                },
611                            ],
612                            constant: ::core::option::Option::None,
613                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
614                        },
615                    ],
616                ),
617                (
618                    ::std::borrow::ToOwned::to_owned("getInstanceAtIndex"),
619                    ::std::vec![
620                        ::ethers::core::abi::ethabi::Function {
621                            name: ::std::borrow::ToOwned::to_owned("getInstanceAtIndex"),
622                            inputs: ::std::vec![
623                                ::ethers::core::abi::ethabi::Param {
624                                    name: ::std::borrow::ToOwned::to_owned("_index"),
625                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
626                                        256usize,
627                                    ),
628                                    internal_type: ::core::option::Option::Some(
629                                        ::std::borrow::ToOwned::to_owned("uint256"),
630                                    ),
631                                },
632                            ],
633                            outputs: ::std::vec![
634                                ::ethers::core::abi::ethabi::Param {
635                                    name: ::std::string::String::new(),
636                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
637                                    internal_type: ::core::option::Option::Some(
638                                        ::std::borrow::ToOwned::to_owned("address"),
639                                    ),
640                                },
641                            ],
642                            constant: ::core::option::Option::None,
643                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
644                        },
645                    ],
646                ),
647                (
648                    ::std::borrow::ToOwned::to_owned("getInstancesInRange"),
649                    ::std::vec![
650                        ::ethers::core::abi::ethabi::Function {
651                            name: ::std::borrow::ToOwned::to_owned(
652                                "getInstancesInRange",
653                            ),
654                            inputs: ::std::vec![
655                                ::ethers::core::abi::ethabi::Param {
656                                    name: ::std::borrow::ToOwned::to_owned("_startIndex"),
657                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
658                                        256usize,
659                                    ),
660                                    internal_type: ::core::option::Option::Some(
661                                        ::std::borrow::ToOwned::to_owned("uint256"),
662                                    ),
663                                },
664                                ::ethers::core::abi::ethabi::Param {
665                                    name: ::std::borrow::ToOwned::to_owned("_endIndex"),
666                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
667                                        256usize,
668                                    ),
669                                    internal_type: ::core::option::Option::Some(
670                                        ::std::borrow::ToOwned::to_owned("uint256"),
671                                    ),
672                                },
673                            ],
674                            outputs: ::std::vec![
675                                ::ethers::core::abi::ethabi::Param {
676                                    name: ::std::borrow::ToOwned::to_owned("range"),
677                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
678                                        ::std::boxed::Box::new(
679                                            ::ethers::core::abi::ethabi::ParamType::Address,
680                                        ),
681                                    ),
682                                    internal_type: ::core::option::Option::Some(
683                                        ::std::borrow::ToOwned::to_owned("address[]"),
684                                    ),
685                                },
686                            ],
687                            constant: ::core::option::Option::None,
688                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
689                        },
690                    ],
691                ),
692                (
693                    ::std::borrow::ToOwned::to_owned("getNumberOfDeployerCoordinators"),
694                    ::std::vec![
695                        ::ethers::core::abi::ethabi::Function {
696                            name: ::std::borrow::ToOwned::to_owned(
697                                "getNumberOfDeployerCoordinators",
698                            ),
699                            inputs: ::std::vec![],
700                            outputs: ::std::vec![
701                                ::ethers::core::abi::ethabi::Param {
702                                    name: ::std::string::String::new(),
703                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
704                                        256usize,
705                                    ),
706                                    internal_type: ::core::option::Option::Some(
707                                        ::std::borrow::ToOwned::to_owned("uint256"),
708                                    ),
709                                },
710                            ],
711                            constant: ::core::option::Option::None,
712                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
713                        },
714                    ],
715                ),
716                (
717                    ::std::borrow::ToOwned::to_owned("getNumberOfInstances"),
718                    ::std::vec![
719                        ::ethers::core::abi::ethabi::Function {
720                            name: ::std::borrow::ToOwned::to_owned(
721                                "getNumberOfInstances",
722                            ),
723                            inputs: ::std::vec![],
724                            outputs: ::std::vec![
725                                ::ethers::core::abi::ethabi::Param {
726                                    name: ::std::string::String::new(),
727                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
728                                        256usize,
729                                    ),
730                                    internal_type: ::core::option::Option::Some(
731                                        ::std::borrow::ToOwned::to_owned("uint256"),
732                                    ),
733                                },
734                            ],
735                            constant: ::core::option::Option::None,
736                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
737                        },
738                    ],
739                ),
740                (
741                    ::std::borrow::ToOwned::to_owned("governance"),
742                    ::std::vec![
743                        ::ethers::core::abi::ethabi::Function {
744                            name: ::std::borrow::ToOwned::to_owned("governance"),
745                            inputs: ::std::vec![],
746                            outputs: ::std::vec![
747                                ::ethers::core::abi::ethabi::Param {
748                                    name: ::std::string::String::new(),
749                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
750                                    internal_type: ::core::option::Option::Some(
751                                        ::std::borrow::ToOwned::to_owned("address"),
752                                    ),
753                                },
754                            ],
755                            constant: ::core::option::Option::None,
756                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
757                        },
758                    ],
759                ),
760                (
761                    ::std::borrow::ToOwned::to_owned("hyperdriveGovernance"),
762                    ::std::vec![
763                        ::ethers::core::abi::ethabi::Function {
764                            name: ::std::borrow::ToOwned::to_owned(
765                                "hyperdriveGovernance",
766                            ),
767                            inputs: ::std::vec![],
768                            outputs: ::std::vec![
769                                ::ethers::core::abi::ethabi::Param {
770                                    name: ::std::string::String::new(),
771                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
772                                    internal_type: ::core::option::Option::Some(
773                                        ::std::borrow::ToOwned::to_owned("address"),
774                                    ),
775                                },
776                            ],
777                            constant: ::core::option::Option::None,
778                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
779                        },
780                    ],
781                ),
782                (
783                    ::std::borrow::ToOwned::to_owned("isDeployerCoordinator"),
784                    ::std::vec![
785                        ::ethers::core::abi::ethabi::Function {
786                            name: ::std::borrow::ToOwned::to_owned(
787                                "isDeployerCoordinator",
788                            ),
789                            inputs: ::std::vec![
790                                ::ethers::core::abi::ethabi::Param {
791                                    name: ::std::string::String::new(),
792                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
793                                    internal_type: ::core::option::Option::Some(
794                                        ::std::borrow::ToOwned::to_owned("address"),
795                                    ),
796                                },
797                            ],
798                            outputs: ::std::vec![
799                                ::ethers::core::abi::ethabi::Param {
800                                    name: ::std::string::String::new(),
801                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
802                                    internal_type: ::core::option::Option::Some(
803                                        ::std::borrow::ToOwned::to_owned("bool"),
804                                    ),
805                                },
806                            ],
807                            constant: ::core::option::Option::None,
808                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
809                        },
810                    ],
811                ),
812                (
813                    ::std::borrow::ToOwned::to_owned("isInstance"),
814                    ::std::vec![
815                        ::ethers::core::abi::ethabi::Function {
816                            name: ::std::borrow::ToOwned::to_owned("isInstance"),
817                            inputs: ::std::vec![
818                                ::ethers::core::abi::ethabi::Param {
819                                    name: ::std::string::String::new(),
820                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
821                                    internal_type: ::core::option::Option::Some(
822                                        ::std::borrow::ToOwned::to_owned("address"),
823                                    ),
824                                },
825                            ],
826                            outputs: ::std::vec![
827                                ::ethers::core::abi::ethabi::Param {
828                                    name: ::std::string::String::new(),
829                                    kind: ::ethers::core::abi::ethabi::ParamType::Bool,
830                                    internal_type: ::core::option::Option::Some(
831                                        ::std::borrow::ToOwned::to_owned("bool"),
832                                    ),
833                                },
834                            ],
835                            constant: ::core::option::Option::None,
836                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
837                        },
838                    ],
839                ),
840                (
841                    ::std::borrow::ToOwned::to_owned("kind"),
842                    ::std::vec![
843                        ::ethers::core::abi::ethabi::Function {
844                            name: ::std::borrow::ToOwned::to_owned("kind"),
845                            inputs: ::std::vec![],
846                            outputs: ::std::vec![
847                                ::ethers::core::abi::ethabi::Param {
848                                    name: ::std::string::String::new(),
849                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
850                                    internal_type: ::core::option::Option::Some(
851                                        ::std::borrow::ToOwned::to_owned("string"),
852                                    ),
853                                },
854                            ],
855                            constant: ::core::option::Option::None,
856                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
857                        },
858                    ],
859                ),
860                (
861                    ::std::borrow::ToOwned::to_owned("linkerCodeHash"),
862                    ::std::vec![
863                        ::ethers::core::abi::ethabi::Function {
864                            name: ::std::borrow::ToOwned::to_owned("linkerCodeHash"),
865                            inputs: ::std::vec![],
866                            outputs: ::std::vec![
867                                ::ethers::core::abi::ethabi::Param {
868                                    name: ::std::string::String::new(),
869                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
870                                        32usize,
871                                    ),
872                                    internal_type: ::core::option::Option::Some(
873                                        ::std::borrow::ToOwned::to_owned("bytes32"),
874                                    ),
875                                },
876                            ],
877                            constant: ::core::option::Option::None,
878                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
879                        },
880                    ],
881                ),
882                (
883                    ::std::borrow::ToOwned::to_owned("linkerFactory"),
884                    ::std::vec![
885                        ::ethers::core::abi::ethabi::Function {
886                            name: ::std::borrow::ToOwned::to_owned("linkerFactory"),
887                            inputs: ::std::vec![],
888                            outputs: ::std::vec![
889                                ::ethers::core::abi::ethabi::Param {
890                                    name: ::std::string::String::new(),
891                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
892                                    internal_type: ::core::option::Option::Some(
893                                        ::std::borrow::ToOwned::to_owned("address"),
894                                    ),
895                                },
896                            ],
897                            constant: ::core::option::Option::None,
898                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
899                        },
900                    ],
901                ),
902                (
903                    ::std::borrow::ToOwned::to_owned("maxCheckpointDuration"),
904                    ::std::vec![
905                        ::ethers::core::abi::ethabi::Function {
906                            name: ::std::borrow::ToOwned::to_owned(
907                                "maxCheckpointDuration",
908                            ),
909                            inputs: ::std::vec![],
910                            outputs: ::std::vec![
911                                ::ethers::core::abi::ethabi::Param {
912                                    name: ::std::string::String::new(),
913                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
914                                        256usize,
915                                    ),
916                                    internal_type: ::core::option::Option::Some(
917                                        ::std::borrow::ToOwned::to_owned("uint256"),
918                                    ),
919                                },
920                            ],
921                            constant: ::core::option::Option::None,
922                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
923                        },
924                    ],
925                ),
926                (
927                    ::std::borrow::ToOwned::to_owned("maxCircuitBreakerDelta"),
928                    ::std::vec![
929                        ::ethers::core::abi::ethabi::Function {
930                            name: ::std::borrow::ToOwned::to_owned(
931                                "maxCircuitBreakerDelta",
932                            ),
933                            inputs: ::std::vec![],
934                            outputs: ::std::vec![
935                                ::ethers::core::abi::ethabi::Param {
936                                    name: ::std::string::String::new(),
937                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
938                                        256usize,
939                                    ),
940                                    internal_type: ::core::option::Option::Some(
941                                        ::std::borrow::ToOwned::to_owned("uint256"),
942                                    ),
943                                },
944                            ],
945                            constant: ::core::option::Option::None,
946                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
947                        },
948                    ],
949                ),
950                (
951                    ::std::borrow::ToOwned::to_owned("maxFees"),
952                    ::std::vec![
953                        ::ethers::core::abi::ethabi::Function {
954                            name: ::std::borrow::ToOwned::to_owned("maxFees"),
955                            inputs: ::std::vec![],
956                            outputs: ::std::vec![
957                                ::ethers::core::abi::ethabi::Param {
958                                    name: ::std::string::String::new(),
959                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
960                                        ::std::vec![
961                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
962                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
963                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
964                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
965                                        ],
966                                    ),
967                                    internal_type: ::core::option::Option::Some(
968                                        ::std::borrow::ToOwned::to_owned("struct IHyperdrive.Fees"),
969                                    ),
970                                },
971                            ],
972                            constant: ::core::option::Option::None,
973                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
974                        },
975                    ],
976                ),
977                (
978                    ::std::borrow::ToOwned::to_owned("maxFixedAPR"),
979                    ::std::vec![
980                        ::ethers::core::abi::ethabi::Function {
981                            name: ::std::borrow::ToOwned::to_owned("maxFixedAPR"),
982                            inputs: ::std::vec![],
983                            outputs: ::std::vec![
984                                ::ethers::core::abi::ethabi::Param {
985                                    name: ::std::string::String::new(),
986                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
987                                        256usize,
988                                    ),
989                                    internal_type: ::core::option::Option::Some(
990                                        ::std::borrow::ToOwned::to_owned("uint256"),
991                                    ),
992                                },
993                            ],
994                            constant: ::core::option::Option::None,
995                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
996                        },
997                    ],
998                ),
999                (
1000                    ::std::borrow::ToOwned::to_owned("maxPositionDuration"),
1001                    ::std::vec![
1002                        ::ethers::core::abi::ethabi::Function {
1003                            name: ::std::borrow::ToOwned::to_owned(
1004                                "maxPositionDuration",
1005                            ),
1006                            inputs: ::std::vec![],
1007                            outputs: ::std::vec![
1008                                ::ethers::core::abi::ethabi::Param {
1009                                    name: ::std::string::String::new(),
1010                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1011                                        256usize,
1012                                    ),
1013                                    internal_type: ::core::option::Option::Some(
1014                                        ::std::borrow::ToOwned::to_owned("uint256"),
1015                                    ),
1016                                },
1017                            ],
1018                            constant: ::core::option::Option::None,
1019                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1020                        },
1021                    ],
1022                ),
1023                (
1024                    ::std::borrow::ToOwned::to_owned("maxTimeStretchAPR"),
1025                    ::std::vec![
1026                        ::ethers::core::abi::ethabi::Function {
1027                            name: ::std::borrow::ToOwned::to_owned("maxTimeStretchAPR"),
1028                            inputs: ::std::vec![],
1029                            outputs: ::std::vec![
1030                                ::ethers::core::abi::ethabi::Param {
1031                                    name: ::std::string::String::new(),
1032                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1033                                        256usize,
1034                                    ),
1035                                    internal_type: ::core::option::Option::Some(
1036                                        ::std::borrow::ToOwned::to_owned("uint256"),
1037                                    ),
1038                                },
1039                            ],
1040                            constant: ::core::option::Option::None,
1041                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1042                        },
1043                    ],
1044                ),
1045                (
1046                    ::std::borrow::ToOwned::to_owned("minCheckpointDuration"),
1047                    ::std::vec![
1048                        ::ethers::core::abi::ethabi::Function {
1049                            name: ::std::borrow::ToOwned::to_owned(
1050                                "minCheckpointDuration",
1051                            ),
1052                            inputs: ::std::vec![],
1053                            outputs: ::std::vec![
1054                                ::ethers::core::abi::ethabi::Param {
1055                                    name: ::std::string::String::new(),
1056                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1057                                        256usize,
1058                                    ),
1059                                    internal_type: ::core::option::Option::Some(
1060                                        ::std::borrow::ToOwned::to_owned("uint256"),
1061                                    ),
1062                                },
1063                            ],
1064                            constant: ::core::option::Option::None,
1065                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1066                        },
1067                    ],
1068                ),
1069                (
1070                    ::std::borrow::ToOwned::to_owned("minCircuitBreakerDelta"),
1071                    ::std::vec![
1072                        ::ethers::core::abi::ethabi::Function {
1073                            name: ::std::borrow::ToOwned::to_owned(
1074                                "minCircuitBreakerDelta",
1075                            ),
1076                            inputs: ::std::vec![],
1077                            outputs: ::std::vec![
1078                                ::ethers::core::abi::ethabi::Param {
1079                                    name: ::std::string::String::new(),
1080                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1081                                        256usize,
1082                                    ),
1083                                    internal_type: ::core::option::Option::Some(
1084                                        ::std::borrow::ToOwned::to_owned("uint256"),
1085                                    ),
1086                                },
1087                            ],
1088                            constant: ::core::option::Option::None,
1089                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1090                        },
1091                    ],
1092                ),
1093                (
1094                    ::std::borrow::ToOwned::to_owned("minFees"),
1095                    ::std::vec![
1096                        ::ethers::core::abi::ethabi::Function {
1097                            name: ::std::borrow::ToOwned::to_owned("minFees"),
1098                            inputs: ::std::vec![],
1099                            outputs: ::std::vec![
1100                                ::ethers::core::abi::ethabi::Param {
1101                                    name: ::std::string::String::new(),
1102                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1103                                        ::std::vec![
1104                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1105                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1106                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1107                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1108                                        ],
1109                                    ),
1110                                    internal_type: ::core::option::Option::Some(
1111                                        ::std::borrow::ToOwned::to_owned("struct IHyperdrive.Fees"),
1112                                    ),
1113                                },
1114                            ],
1115                            constant: ::core::option::Option::None,
1116                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1117                        },
1118                    ],
1119                ),
1120                (
1121                    ::std::borrow::ToOwned::to_owned("minFixedAPR"),
1122                    ::std::vec![
1123                        ::ethers::core::abi::ethabi::Function {
1124                            name: ::std::borrow::ToOwned::to_owned("minFixedAPR"),
1125                            inputs: ::std::vec![],
1126                            outputs: ::std::vec![
1127                                ::ethers::core::abi::ethabi::Param {
1128                                    name: ::std::string::String::new(),
1129                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1130                                        256usize,
1131                                    ),
1132                                    internal_type: ::core::option::Option::Some(
1133                                        ::std::borrow::ToOwned::to_owned("uint256"),
1134                                    ),
1135                                },
1136                            ],
1137                            constant: ::core::option::Option::None,
1138                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1139                        },
1140                    ],
1141                ),
1142                (
1143                    ::std::borrow::ToOwned::to_owned("minPositionDuration"),
1144                    ::std::vec![
1145                        ::ethers::core::abi::ethabi::Function {
1146                            name: ::std::borrow::ToOwned::to_owned(
1147                                "minPositionDuration",
1148                            ),
1149                            inputs: ::std::vec![],
1150                            outputs: ::std::vec![
1151                                ::ethers::core::abi::ethabi::Param {
1152                                    name: ::std::string::String::new(),
1153                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1154                                        256usize,
1155                                    ),
1156                                    internal_type: ::core::option::Option::Some(
1157                                        ::std::borrow::ToOwned::to_owned("uint256"),
1158                                    ),
1159                                },
1160                            ],
1161                            constant: ::core::option::Option::None,
1162                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1163                        },
1164                    ],
1165                ),
1166                (
1167                    ::std::borrow::ToOwned::to_owned("minTimeStretchAPR"),
1168                    ::std::vec![
1169                        ::ethers::core::abi::ethabi::Function {
1170                            name: ::std::borrow::ToOwned::to_owned("minTimeStretchAPR"),
1171                            inputs: ::std::vec![],
1172                            outputs: ::std::vec![
1173                                ::ethers::core::abi::ethabi::Param {
1174                                    name: ::std::string::String::new(),
1175                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1176                                        256usize,
1177                                    ),
1178                                    internal_type: ::core::option::Option::Some(
1179                                        ::std::borrow::ToOwned::to_owned("uint256"),
1180                                    ),
1181                                },
1182                            ],
1183                            constant: ::core::option::Option::None,
1184                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1185                        },
1186                    ],
1187                ),
1188                (
1189                    ::std::borrow::ToOwned::to_owned("name"),
1190                    ::std::vec![
1191                        ::ethers::core::abi::ethabi::Function {
1192                            name: ::std::borrow::ToOwned::to_owned("name"),
1193                            inputs: ::std::vec![],
1194                            outputs: ::std::vec![
1195                                ::ethers::core::abi::ethabi::Param {
1196                                    name: ::std::string::String::new(),
1197                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
1198                                    internal_type: ::core::option::Option::Some(
1199                                        ::std::borrow::ToOwned::to_owned("string"),
1200                                    ),
1201                                },
1202                            ],
1203                            constant: ::core::option::Option::None,
1204                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1205                        },
1206                    ],
1207                ),
1208                (
1209                    ::std::borrow::ToOwned::to_owned("removeDeployerCoordinator"),
1210                    ::std::vec![
1211                        ::ethers::core::abi::ethabi::Function {
1212                            name: ::std::borrow::ToOwned::to_owned(
1213                                "removeDeployerCoordinator",
1214                            ),
1215                            inputs: ::std::vec![
1216                                ::ethers::core::abi::ethabi::Param {
1217                                    name: ::std::borrow::ToOwned::to_owned(
1218                                        "_deployerCoordinator",
1219                                    ),
1220                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1221                                    internal_type: ::core::option::Option::Some(
1222                                        ::std::borrow::ToOwned::to_owned("address"),
1223                                    ),
1224                                },
1225                                ::ethers::core::abi::ethabi::Param {
1226                                    name: ::std::borrow::ToOwned::to_owned("_index"),
1227                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1228                                        256usize,
1229                                    ),
1230                                    internal_type: ::core::option::Option::Some(
1231                                        ::std::borrow::ToOwned::to_owned("uint256"),
1232                                    ),
1233                                },
1234                            ],
1235                            outputs: ::std::vec![],
1236                            constant: ::core::option::Option::None,
1237                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1238                        },
1239                    ],
1240                ),
1241                (
1242                    ::std::borrow::ToOwned::to_owned("sweepCollector"),
1243                    ::std::vec![
1244                        ::ethers::core::abi::ethabi::Function {
1245                            name: ::std::borrow::ToOwned::to_owned("sweepCollector"),
1246                            inputs: ::std::vec![],
1247                            outputs: ::std::vec![
1248                                ::ethers::core::abi::ethabi::Param {
1249                                    name: ::std::string::String::new(),
1250                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1251                                    internal_type: ::core::option::Option::Some(
1252                                        ::std::borrow::ToOwned::to_owned("address"),
1253                                    ),
1254                                },
1255                            ],
1256                            constant: ::core::option::Option::None,
1257                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1258                        },
1259                    ],
1260                ),
1261                (
1262                    ::std::borrow::ToOwned::to_owned(
1263                        "updateCheckpointDurationResolution",
1264                    ),
1265                    ::std::vec![
1266                        ::ethers::core::abi::ethabi::Function {
1267                            name: ::std::borrow::ToOwned::to_owned(
1268                                "updateCheckpointDurationResolution",
1269                            ),
1270                            inputs: ::std::vec![
1271                                ::ethers::core::abi::ethabi::Param {
1272                                    name: ::std::borrow::ToOwned::to_owned(
1273                                        "_checkpointDurationResolution",
1274                                    ),
1275                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1276                                        256usize,
1277                                    ),
1278                                    internal_type: ::core::option::Option::Some(
1279                                        ::std::borrow::ToOwned::to_owned("uint256"),
1280                                    ),
1281                                },
1282                            ],
1283                            outputs: ::std::vec![],
1284                            constant: ::core::option::Option::None,
1285                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1286                        },
1287                    ],
1288                ),
1289                (
1290                    ::std::borrow::ToOwned::to_owned("updateCheckpointRewarder"),
1291                    ::std::vec![
1292                        ::ethers::core::abi::ethabi::Function {
1293                            name: ::std::borrow::ToOwned::to_owned(
1294                                "updateCheckpointRewarder",
1295                            ),
1296                            inputs: ::std::vec![
1297                                ::ethers::core::abi::ethabi::Param {
1298                                    name: ::std::borrow::ToOwned::to_owned(
1299                                        "_checkpointRewarder",
1300                                    ),
1301                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1302                                    internal_type: ::core::option::Option::Some(
1303                                        ::std::borrow::ToOwned::to_owned("address"),
1304                                    ),
1305                                },
1306                            ],
1307                            outputs: ::std::vec![],
1308                            constant: ::core::option::Option::None,
1309                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1310                        },
1311                    ],
1312                ),
1313                (
1314                    ::std::borrow::ToOwned::to_owned("updateDefaultPausers"),
1315                    ::std::vec![
1316                        ::ethers::core::abi::ethabi::Function {
1317                            name: ::std::borrow::ToOwned::to_owned(
1318                                "updateDefaultPausers",
1319                            ),
1320                            inputs: ::std::vec![
1321                                ::ethers::core::abi::ethabi::Param {
1322                                    name: ::std::borrow::ToOwned::to_owned("_defaultPausers_"),
1323                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1324                                        ::std::boxed::Box::new(
1325                                            ::ethers::core::abi::ethabi::ParamType::Address,
1326                                        ),
1327                                    ),
1328                                    internal_type: ::core::option::Option::Some(
1329                                        ::std::borrow::ToOwned::to_owned("address[]"),
1330                                    ),
1331                                },
1332                            ],
1333                            outputs: ::std::vec![],
1334                            constant: ::core::option::Option::None,
1335                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1336                        },
1337                    ],
1338                ),
1339                (
1340                    ::std::borrow::ToOwned::to_owned("updateDeployerCoordinatorManager"),
1341                    ::std::vec![
1342                        ::ethers::core::abi::ethabi::Function {
1343                            name: ::std::borrow::ToOwned::to_owned(
1344                                "updateDeployerCoordinatorManager",
1345                            ),
1346                            inputs: ::std::vec![
1347                                ::ethers::core::abi::ethabi::Param {
1348                                    name: ::std::borrow::ToOwned::to_owned(
1349                                        "_deployerCoordinatorManager",
1350                                    ),
1351                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1352                                    internal_type: ::core::option::Option::Some(
1353                                        ::std::borrow::ToOwned::to_owned("address"),
1354                                    ),
1355                                },
1356                            ],
1357                            outputs: ::std::vec![],
1358                            constant: ::core::option::Option::None,
1359                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1360                        },
1361                    ],
1362                ),
1363                (
1364                    ::std::borrow::ToOwned::to_owned("updateFeeCollector"),
1365                    ::std::vec![
1366                        ::ethers::core::abi::ethabi::Function {
1367                            name: ::std::borrow::ToOwned::to_owned("updateFeeCollector"),
1368                            inputs: ::std::vec![
1369                                ::ethers::core::abi::ethabi::Param {
1370                                    name: ::std::borrow::ToOwned::to_owned("_feeCollector"),
1371                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1372                                    internal_type: ::core::option::Option::Some(
1373                                        ::std::borrow::ToOwned::to_owned("address"),
1374                                    ),
1375                                },
1376                            ],
1377                            outputs: ::std::vec![],
1378                            constant: ::core::option::Option::None,
1379                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1380                        },
1381                    ],
1382                ),
1383                (
1384                    ::std::borrow::ToOwned::to_owned("updateGovernance"),
1385                    ::std::vec![
1386                        ::ethers::core::abi::ethabi::Function {
1387                            name: ::std::borrow::ToOwned::to_owned("updateGovernance"),
1388                            inputs: ::std::vec![
1389                                ::ethers::core::abi::ethabi::Param {
1390                                    name: ::std::borrow::ToOwned::to_owned("_governance"),
1391                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1392                                    internal_type: ::core::option::Option::Some(
1393                                        ::std::borrow::ToOwned::to_owned("address"),
1394                                    ),
1395                                },
1396                            ],
1397                            outputs: ::std::vec![],
1398                            constant: ::core::option::Option::None,
1399                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1400                        },
1401                    ],
1402                ),
1403                (
1404                    ::std::borrow::ToOwned::to_owned("updateHyperdriveGovernance"),
1405                    ::std::vec![
1406                        ::ethers::core::abi::ethabi::Function {
1407                            name: ::std::borrow::ToOwned::to_owned(
1408                                "updateHyperdriveGovernance",
1409                            ),
1410                            inputs: ::std::vec![
1411                                ::ethers::core::abi::ethabi::Param {
1412                                    name: ::std::borrow::ToOwned::to_owned(
1413                                        "_hyperdriveGovernance",
1414                                    ),
1415                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1416                                    internal_type: ::core::option::Option::Some(
1417                                        ::std::borrow::ToOwned::to_owned("address"),
1418                                    ),
1419                                },
1420                            ],
1421                            outputs: ::std::vec![],
1422                            constant: ::core::option::Option::None,
1423                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1424                        },
1425                    ],
1426                ),
1427                (
1428                    ::std::borrow::ToOwned::to_owned("updateLinkerCodeHash"),
1429                    ::std::vec![
1430                        ::ethers::core::abi::ethabi::Function {
1431                            name: ::std::borrow::ToOwned::to_owned(
1432                                "updateLinkerCodeHash",
1433                            ),
1434                            inputs: ::std::vec![
1435                                ::ethers::core::abi::ethabi::Param {
1436                                    name: ::std::borrow::ToOwned::to_owned("_linkerCodeHash"),
1437                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
1438                                        32usize,
1439                                    ),
1440                                    internal_type: ::core::option::Option::Some(
1441                                        ::std::borrow::ToOwned::to_owned("bytes32"),
1442                                    ),
1443                                },
1444                            ],
1445                            outputs: ::std::vec![],
1446                            constant: ::core::option::Option::None,
1447                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1448                        },
1449                    ],
1450                ),
1451                (
1452                    ::std::borrow::ToOwned::to_owned("updateLinkerFactory"),
1453                    ::std::vec![
1454                        ::ethers::core::abi::ethabi::Function {
1455                            name: ::std::borrow::ToOwned::to_owned(
1456                                "updateLinkerFactory",
1457                            ),
1458                            inputs: ::std::vec![
1459                                ::ethers::core::abi::ethabi::Param {
1460                                    name: ::std::borrow::ToOwned::to_owned("_linkerFactory"),
1461                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1462                                    internal_type: ::core::option::Option::Some(
1463                                        ::std::borrow::ToOwned::to_owned("address"),
1464                                    ),
1465                                },
1466                            ],
1467                            outputs: ::std::vec![],
1468                            constant: ::core::option::Option::None,
1469                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1470                        },
1471                    ],
1472                ),
1473                (
1474                    ::std::borrow::ToOwned::to_owned("updateMaxCheckpointDuration"),
1475                    ::std::vec![
1476                        ::ethers::core::abi::ethabi::Function {
1477                            name: ::std::borrow::ToOwned::to_owned(
1478                                "updateMaxCheckpointDuration",
1479                            ),
1480                            inputs: ::std::vec![
1481                                ::ethers::core::abi::ethabi::Param {
1482                                    name: ::std::borrow::ToOwned::to_owned(
1483                                        "_maxCheckpointDuration",
1484                                    ),
1485                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1486                                        256usize,
1487                                    ),
1488                                    internal_type: ::core::option::Option::Some(
1489                                        ::std::borrow::ToOwned::to_owned("uint256"),
1490                                    ),
1491                                },
1492                            ],
1493                            outputs: ::std::vec![],
1494                            constant: ::core::option::Option::None,
1495                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1496                        },
1497                    ],
1498                ),
1499                (
1500                    ::std::borrow::ToOwned::to_owned("updateMaxCircuitBreakerDelta"),
1501                    ::std::vec![
1502                        ::ethers::core::abi::ethabi::Function {
1503                            name: ::std::borrow::ToOwned::to_owned(
1504                                "updateMaxCircuitBreakerDelta",
1505                            ),
1506                            inputs: ::std::vec![
1507                                ::ethers::core::abi::ethabi::Param {
1508                                    name: ::std::borrow::ToOwned::to_owned(
1509                                        "_maxCircuitBreakerDelta",
1510                                    ),
1511                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1512                                        256usize,
1513                                    ),
1514                                    internal_type: ::core::option::Option::Some(
1515                                        ::std::borrow::ToOwned::to_owned("uint256"),
1516                                    ),
1517                                },
1518                            ],
1519                            outputs: ::std::vec![],
1520                            constant: ::core::option::Option::None,
1521                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1522                        },
1523                    ],
1524                ),
1525                (
1526                    ::std::borrow::ToOwned::to_owned("updateMaxFees"),
1527                    ::std::vec![
1528                        ::ethers::core::abi::ethabi::Function {
1529                            name: ::std::borrow::ToOwned::to_owned("updateMaxFees"),
1530                            inputs: ::std::vec![
1531                                ::ethers::core::abi::ethabi::Param {
1532                                    name: ::std::borrow::ToOwned::to_owned("__maxFees"),
1533                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1534                                        ::std::vec![
1535                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1536                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1537                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1538                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1539                                        ],
1540                                    ),
1541                                    internal_type: ::core::option::Option::Some(
1542                                        ::std::borrow::ToOwned::to_owned("struct IHyperdrive.Fees"),
1543                                    ),
1544                                },
1545                            ],
1546                            outputs: ::std::vec![],
1547                            constant: ::core::option::Option::None,
1548                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1549                        },
1550                    ],
1551                ),
1552                (
1553                    ::std::borrow::ToOwned::to_owned("updateMaxFixedAPR"),
1554                    ::std::vec![
1555                        ::ethers::core::abi::ethabi::Function {
1556                            name: ::std::borrow::ToOwned::to_owned("updateMaxFixedAPR"),
1557                            inputs: ::std::vec![
1558                                ::ethers::core::abi::ethabi::Param {
1559                                    name: ::std::borrow::ToOwned::to_owned("_maxFixedAPR"),
1560                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1561                                        256usize,
1562                                    ),
1563                                    internal_type: ::core::option::Option::Some(
1564                                        ::std::borrow::ToOwned::to_owned("uint256"),
1565                                    ),
1566                                },
1567                            ],
1568                            outputs: ::std::vec![],
1569                            constant: ::core::option::Option::None,
1570                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1571                        },
1572                    ],
1573                ),
1574                (
1575                    ::std::borrow::ToOwned::to_owned("updateMaxPositionDuration"),
1576                    ::std::vec![
1577                        ::ethers::core::abi::ethabi::Function {
1578                            name: ::std::borrow::ToOwned::to_owned(
1579                                "updateMaxPositionDuration",
1580                            ),
1581                            inputs: ::std::vec![
1582                                ::ethers::core::abi::ethabi::Param {
1583                                    name: ::std::borrow::ToOwned::to_owned(
1584                                        "_maxPositionDuration",
1585                                    ),
1586                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1587                                        256usize,
1588                                    ),
1589                                    internal_type: ::core::option::Option::Some(
1590                                        ::std::borrow::ToOwned::to_owned("uint256"),
1591                                    ),
1592                                },
1593                            ],
1594                            outputs: ::std::vec![],
1595                            constant: ::core::option::Option::None,
1596                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1597                        },
1598                    ],
1599                ),
1600                (
1601                    ::std::borrow::ToOwned::to_owned("updateMaxTimeStretchAPR"),
1602                    ::std::vec![
1603                        ::ethers::core::abi::ethabi::Function {
1604                            name: ::std::borrow::ToOwned::to_owned(
1605                                "updateMaxTimeStretchAPR",
1606                            ),
1607                            inputs: ::std::vec![
1608                                ::ethers::core::abi::ethabi::Param {
1609                                    name: ::std::borrow::ToOwned::to_owned(
1610                                        "_maxTimeStretchAPR",
1611                                    ),
1612                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1613                                        256usize,
1614                                    ),
1615                                    internal_type: ::core::option::Option::Some(
1616                                        ::std::borrow::ToOwned::to_owned("uint256"),
1617                                    ),
1618                                },
1619                            ],
1620                            outputs: ::std::vec![],
1621                            constant: ::core::option::Option::None,
1622                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1623                        },
1624                    ],
1625                ),
1626                (
1627                    ::std::borrow::ToOwned::to_owned("updateMinCheckpointDuration"),
1628                    ::std::vec![
1629                        ::ethers::core::abi::ethabi::Function {
1630                            name: ::std::borrow::ToOwned::to_owned(
1631                                "updateMinCheckpointDuration",
1632                            ),
1633                            inputs: ::std::vec![
1634                                ::ethers::core::abi::ethabi::Param {
1635                                    name: ::std::borrow::ToOwned::to_owned(
1636                                        "_minCheckpointDuration",
1637                                    ),
1638                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1639                                        256usize,
1640                                    ),
1641                                    internal_type: ::core::option::Option::Some(
1642                                        ::std::borrow::ToOwned::to_owned("uint256"),
1643                                    ),
1644                                },
1645                            ],
1646                            outputs: ::std::vec![],
1647                            constant: ::core::option::Option::None,
1648                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1649                        },
1650                    ],
1651                ),
1652                (
1653                    ::std::borrow::ToOwned::to_owned("updateMinCircuitBreakerDelta"),
1654                    ::std::vec![
1655                        ::ethers::core::abi::ethabi::Function {
1656                            name: ::std::borrow::ToOwned::to_owned(
1657                                "updateMinCircuitBreakerDelta",
1658                            ),
1659                            inputs: ::std::vec![
1660                                ::ethers::core::abi::ethabi::Param {
1661                                    name: ::std::borrow::ToOwned::to_owned(
1662                                        "_minCircuitBreakerDelta",
1663                                    ),
1664                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1665                                        256usize,
1666                                    ),
1667                                    internal_type: ::core::option::Option::Some(
1668                                        ::std::borrow::ToOwned::to_owned("uint256"),
1669                                    ),
1670                                },
1671                            ],
1672                            outputs: ::std::vec![],
1673                            constant: ::core::option::Option::None,
1674                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1675                        },
1676                    ],
1677                ),
1678                (
1679                    ::std::borrow::ToOwned::to_owned("updateMinFees"),
1680                    ::std::vec![
1681                        ::ethers::core::abi::ethabi::Function {
1682                            name: ::std::borrow::ToOwned::to_owned("updateMinFees"),
1683                            inputs: ::std::vec![
1684                                ::ethers::core::abi::ethabi::Param {
1685                                    name: ::std::borrow::ToOwned::to_owned("__minFees"),
1686                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1687                                        ::std::vec![
1688                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1689                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1690                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1691                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1692                                        ],
1693                                    ),
1694                                    internal_type: ::core::option::Option::Some(
1695                                        ::std::borrow::ToOwned::to_owned("struct IHyperdrive.Fees"),
1696                                    ),
1697                                },
1698                            ],
1699                            outputs: ::std::vec![],
1700                            constant: ::core::option::Option::None,
1701                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1702                        },
1703                    ],
1704                ),
1705                (
1706                    ::std::borrow::ToOwned::to_owned("updateMinFixedAPR"),
1707                    ::std::vec![
1708                        ::ethers::core::abi::ethabi::Function {
1709                            name: ::std::borrow::ToOwned::to_owned("updateMinFixedAPR"),
1710                            inputs: ::std::vec![
1711                                ::ethers::core::abi::ethabi::Param {
1712                                    name: ::std::borrow::ToOwned::to_owned("_minFixedAPR"),
1713                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1714                                        256usize,
1715                                    ),
1716                                    internal_type: ::core::option::Option::Some(
1717                                        ::std::borrow::ToOwned::to_owned("uint256"),
1718                                    ),
1719                                },
1720                            ],
1721                            outputs: ::std::vec![],
1722                            constant: ::core::option::Option::None,
1723                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1724                        },
1725                    ],
1726                ),
1727                (
1728                    ::std::borrow::ToOwned::to_owned("updateMinPositionDuration"),
1729                    ::std::vec![
1730                        ::ethers::core::abi::ethabi::Function {
1731                            name: ::std::borrow::ToOwned::to_owned(
1732                                "updateMinPositionDuration",
1733                            ),
1734                            inputs: ::std::vec![
1735                                ::ethers::core::abi::ethabi::Param {
1736                                    name: ::std::borrow::ToOwned::to_owned(
1737                                        "_minPositionDuration",
1738                                    ),
1739                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1740                                        256usize,
1741                                    ),
1742                                    internal_type: ::core::option::Option::Some(
1743                                        ::std::borrow::ToOwned::to_owned("uint256"),
1744                                    ),
1745                                },
1746                            ],
1747                            outputs: ::std::vec![],
1748                            constant: ::core::option::Option::None,
1749                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1750                        },
1751                    ],
1752                ),
1753                (
1754                    ::std::borrow::ToOwned::to_owned("updateMinTimeStretchAPR"),
1755                    ::std::vec![
1756                        ::ethers::core::abi::ethabi::Function {
1757                            name: ::std::borrow::ToOwned::to_owned(
1758                                "updateMinTimeStretchAPR",
1759                            ),
1760                            inputs: ::std::vec![
1761                                ::ethers::core::abi::ethabi::Param {
1762                                    name: ::std::borrow::ToOwned::to_owned(
1763                                        "_minTimeStretchAPR",
1764                                    ),
1765                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1766                                        256usize,
1767                                    ),
1768                                    internal_type: ::core::option::Option::Some(
1769                                        ::std::borrow::ToOwned::to_owned("uint256"),
1770                                    ),
1771                                },
1772                            ],
1773                            outputs: ::std::vec![],
1774                            constant: ::core::option::Option::None,
1775                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1776                        },
1777                    ],
1778                ),
1779                (
1780                    ::std::borrow::ToOwned::to_owned("updateSweepCollector"),
1781                    ::std::vec![
1782                        ::ethers::core::abi::ethabi::Function {
1783                            name: ::std::borrow::ToOwned::to_owned(
1784                                "updateSweepCollector",
1785                            ),
1786                            inputs: ::std::vec![
1787                                ::ethers::core::abi::ethabi::Param {
1788                                    name: ::std::borrow::ToOwned::to_owned("_sweepCollector"),
1789                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1790                                    internal_type: ::core::option::Option::Some(
1791                                        ::std::borrow::ToOwned::to_owned("address"),
1792                                    ),
1793                                },
1794                            ],
1795                            outputs: ::std::vec![],
1796                            constant: ::core::option::Option::None,
1797                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable,
1798                        },
1799                    ],
1800                ),
1801                (
1802                    ::std::borrow::ToOwned::to_owned("version"),
1803                    ::std::vec![
1804                        ::ethers::core::abi::ethabi::Function {
1805                            name: ::std::borrow::ToOwned::to_owned("version"),
1806                            inputs: ::std::vec![],
1807                            outputs: ::std::vec![
1808                                ::ethers::core::abi::ethabi::Param {
1809                                    name: ::std::string::String::new(),
1810                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
1811                                    internal_type: ::core::option::Option::Some(
1812                                        ::std::borrow::ToOwned::to_owned("string"),
1813                                    ),
1814                                },
1815                            ],
1816                            constant: ::core::option::Option::None,
1817                            state_mutability: ::ethers::core::abi::ethabi::StateMutability::View,
1818                        },
1819                    ],
1820                ),
1821            ]),
1822            events: ::core::convert::From::from([
1823                (
1824                    ::std::borrow::ToOwned::to_owned(
1825                        "CheckpointDurationResolutionUpdated",
1826                    ),
1827                    ::std::vec![
1828                        ::ethers::core::abi::ethabi::Event {
1829                            name: ::std::borrow::ToOwned::to_owned(
1830                                "CheckpointDurationResolutionUpdated",
1831                            ),
1832                            inputs: ::std::vec![
1833                                ::ethers::core::abi::ethabi::EventParam {
1834                                    name: ::std::borrow::ToOwned::to_owned(
1835                                        "newCheckpointDurationResolution",
1836                                    ),
1837                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
1838                                        256usize,
1839                                    ),
1840                                    indexed: false,
1841                                },
1842                            ],
1843                            anonymous: false,
1844                        },
1845                    ],
1846                ),
1847                (
1848                    ::std::borrow::ToOwned::to_owned("CheckpointRewarderUpdated"),
1849                    ::std::vec![
1850                        ::ethers::core::abi::ethabi::Event {
1851                            name: ::std::borrow::ToOwned::to_owned(
1852                                "CheckpointRewarderUpdated",
1853                            ),
1854                            inputs: ::std::vec![
1855                                ::ethers::core::abi::ethabi::EventParam {
1856                                    name: ::std::borrow::ToOwned::to_owned(
1857                                        "newCheckpointRewarder",
1858                                    ),
1859                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1860                                    indexed: true,
1861                                },
1862                            ],
1863                            anonymous: false,
1864                        },
1865                    ],
1866                ),
1867                (
1868                    ::std::borrow::ToOwned::to_owned("DefaultPausersUpdated"),
1869                    ::std::vec![
1870                        ::ethers::core::abi::ethabi::Event {
1871                            name: ::std::borrow::ToOwned::to_owned(
1872                                "DefaultPausersUpdated",
1873                            ),
1874                            inputs: ::std::vec![
1875                                ::ethers::core::abi::ethabi::EventParam {
1876                                    name: ::std::borrow::ToOwned::to_owned("newDefaultPausers"),
1877                                    kind: ::ethers::core::abi::ethabi::ParamType::Array(
1878                                        ::std::boxed::Box::new(
1879                                            ::ethers::core::abi::ethabi::ParamType::Address,
1880                                        ),
1881                                    ),
1882                                    indexed: false,
1883                                },
1884                            ],
1885                            anonymous: false,
1886                        },
1887                    ],
1888                ),
1889                (
1890                    ::std::borrow::ToOwned::to_owned("Deployed"),
1891                    ::std::vec![
1892                        ::ethers::core::abi::ethabi::Event {
1893                            name: ::std::borrow::ToOwned::to_owned("Deployed"),
1894                            inputs: ::std::vec![
1895                                ::ethers::core::abi::ethabi::EventParam {
1896                                    name: ::std::borrow::ToOwned::to_owned(
1897                                        "deployerCoordinator",
1898                                    ),
1899                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1900                                    indexed: true,
1901                                },
1902                                ::ethers::core::abi::ethabi::EventParam {
1903                                    name: ::std::borrow::ToOwned::to_owned("hyperdrive"),
1904                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1905                                    indexed: false,
1906                                },
1907                                ::ethers::core::abi::ethabi::EventParam {
1908                                    name: ::std::borrow::ToOwned::to_owned("name"),
1909                                    kind: ::ethers::core::abi::ethabi::ParamType::String,
1910                                    indexed: false,
1911                                },
1912                                ::ethers::core::abi::ethabi::EventParam {
1913                                    name: ::std::borrow::ToOwned::to_owned("config"),
1914                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
1915                                        ::std::vec![
1916                                            ::ethers::core::abi::ethabi::ParamType::Address,
1917                                            ::ethers::core::abi::ethabi::ParamType::Address,
1918                                            ::ethers::core::abi::ethabi::ParamType::Address,
1919                                            ::ethers::core::abi::ethabi::ParamType::FixedBytes(32usize),
1920                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1921                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1922                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1923                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1924                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1925                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1926                                            ::ethers::core::abi::ethabi::ParamType::Address,
1927                                            ::ethers::core::abi::ethabi::ParamType::Address,
1928                                            ::ethers::core::abi::ethabi::ParamType::Address,
1929                                            ::ethers::core::abi::ethabi::ParamType::Address,
1930                                            ::ethers::core::abi::ethabi::ParamType::Tuple(
1931                                                ::std::vec![
1932                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1933                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1934                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1935                                                    ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
1936                                                ],
1937                                            ),
1938                                        ],
1939                                    ),
1940                                    indexed: false,
1941                                },
1942                                ::ethers::core::abi::ethabi::EventParam {
1943                                    name: ::std::borrow::ToOwned::to_owned("extraData"),
1944                                    kind: ::ethers::core::abi::ethabi::ParamType::Bytes,
1945                                    indexed: false,
1946                                },
1947                            ],
1948                            anonymous: false,
1949                        },
1950                    ],
1951                ),
1952                (
1953                    ::std::borrow::ToOwned::to_owned("DeployerCoordinatorAdded"),
1954                    ::std::vec![
1955                        ::ethers::core::abi::ethabi::Event {
1956                            name: ::std::borrow::ToOwned::to_owned(
1957                                "DeployerCoordinatorAdded",
1958                            ),
1959                            inputs: ::std::vec![
1960                                ::ethers::core::abi::ethabi::EventParam {
1961                                    name: ::std::borrow::ToOwned::to_owned(
1962                                        "deployerCoordinator",
1963                                    ),
1964                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1965                                    indexed: true,
1966                                },
1967                            ],
1968                            anonymous: false,
1969                        },
1970                    ],
1971                ),
1972                (
1973                    ::std::borrow::ToOwned::to_owned(
1974                        "DeployerCoordinatorManagerUpdated",
1975                    ),
1976                    ::std::vec![
1977                        ::ethers::core::abi::ethabi::Event {
1978                            name: ::std::borrow::ToOwned::to_owned(
1979                                "DeployerCoordinatorManagerUpdated",
1980                            ),
1981                            inputs: ::std::vec![
1982                                ::ethers::core::abi::ethabi::EventParam {
1983                                    name: ::std::borrow::ToOwned::to_owned(
1984                                        "deployerCoordinatorManager",
1985                                    ),
1986                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
1987                                    indexed: true,
1988                                },
1989                            ],
1990                            anonymous: false,
1991                        },
1992                    ],
1993                ),
1994                (
1995                    ::std::borrow::ToOwned::to_owned("DeployerCoordinatorRemoved"),
1996                    ::std::vec![
1997                        ::ethers::core::abi::ethabi::Event {
1998                            name: ::std::borrow::ToOwned::to_owned(
1999                                "DeployerCoordinatorRemoved",
2000                            ),
2001                            inputs: ::std::vec![
2002                                ::ethers::core::abi::ethabi::EventParam {
2003                                    name: ::std::borrow::ToOwned::to_owned(
2004                                        "deployerCoordinator",
2005                                    ),
2006                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2007                                    indexed: true,
2008                                },
2009                            ],
2010                            anonymous: false,
2011                        },
2012                    ],
2013                ),
2014                (
2015                    ::std::borrow::ToOwned::to_owned("FeeCollectorUpdated"),
2016                    ::std::vec![
2017                        ::ethers::core::abi::ethabi::Event {
2018                            name: ::std::borrow::ToOwned::to_owned(
2019                                "FeeCollectorUpdated",
2020                            ),
2021                            inputs: ::std::vec![
2022                                ::ethers::core::abi::ethabi::EventParam {
2023                                    name: ::std::borrow::ToOwned::to_owned("newFeeCollector"),
2024                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2025                                    indexed: true,
2026                                },
2027                            ],
2028                            anonymous: false,
2029                        },
2030                    ],
2031                ),
2032                (
2033                    ::std::borrow::ToOwned::to_owned("GovernanceUpdated"),
2034                    ::std::vec![
2035                        ::ethers::core::abi::ethabi::Event {
2036                            name: ::std::borrow::ToOwned::to_owned("GovernanceUpdated"),
2037                            inputs: ::std::vec![
2038                                ::ethers::core::abi::ethabi::EventParam {
2039                                    name: ::std::borrow::ToOwned::to_owned("governance"),
2040                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2041                                    indexed: true,
2042                                },
2043                            ],
2044                            anonymous: false,
2045                        },
2046                    ],
2047                ),
2048                (
2049                    ::std::borrow::ToOwned::to_owned("HyperdriveGovernanceUpdated"),
2050                    ::std::vec![
2051                        ::ethers::core::abi::ethabi::Event {
2052                            name: ::std::borrow::ToOwned::to_owned(
2053                                "HyperdriveGovernanceUpdated",
2054                            ),
2055                            inputs: ::std::vec![
2056                                ::ethers::core::abi::ethabi::EventParam {
2057                                    name: ::std::borrow::ToOwned::to_owned(
2058                                        "hyperdriveGovernance",
2059                                    ),
2060                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2061                                    indexed: true,
2062                                },
2063                            ],
2064                            anonymous: false,
2065                        },
2066                    ],
2067                ),
2068                (
2069                    ::std::borrow::ToOwned::to_owned("LinkerCodeHashUpdated"),
2070                    ::std::vec![
2071                        ::ethers::core::abi::ethabi::Event {
2072                            name: ::std::borrow::ToOwned::to_owned(
2073                                "LinkerCodeHashUpdated",
2074                            ),
2075                            inputs: ::std::vec![
2076                                ::ethers::core::abi::ethabi::EventParam {
2077                                    name: ::std::borrow::ToOwned::to_owned("newLinkerCodeHash"),
2078                                    kind: ::ethers::core::abi::ethabi::ParamType::FixedBytes(
2079                                        32usize,
2080                                    ),
2081                                    indexed: true,
2082                                },
2083                            ],
2084                            anonymous: false,
2085                        },
2086                    ],
2087                ),
2088                (
2089                    ::std::borrow::ToOwned::to_owned("LinkerFactoryUpdated"),
2090                    ::std::vec![
2091                        ::ethers::core::abi::ethabi::Event {
2092                            name: ::std::borrow::ToOwned::to_owned(
2093                                "LinkerFactoryUpdated",
2094                            ),
2095                            inputs: ::std::vec![
2096                                ::ethers::core::abi::ethabi::EventParam {
2097                                    name: ::std::borrow::ToOwned::to_owned("newLinkerFactory"),
2098                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2099                                    indexed: true,
2100                                },
2101                            ],
2102                            anonymous: false,
2103                        },
2104                    ],
2105                ),
2106                (
2107                    ::std::borrow::ToOwned::to_owned("MaxCheckpointDurationUpdated"),
2108                    ::std::vec![
2109                        ::ethers::core::abi::ethabi::Event {
2110                            name: ::std::borrow::ToOwned::to_owned(
2111                                "MaxCheckpointDurationUpdated",
2112                            ),
2113                            inputs: ::std::vec![
2114                                ::ethers::core::abi::ethabi::EventParam {
2115                                    name: ::std::borrow::ToOwned::to_owned(
2116                                        "newMaxCheckpointDuration",
2117                                    ),
2118                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2119                                        256usize,
2120                                    ),
2121                                    indexed: false,
2122                                },
2123                            ],
2124                            anonymous: false,
2125                        },
2126                    ],
2127                ),
2128                (
2129                    ::std::borrow::ToOwned::to_owned("MaxCircuitBreakerDeltaUpdated"),
2130                    ::std::vec![
2131                        ::ethers::core::abi::ethabi::Event {
2132                            name: ::std::borrow::ToOwned::to_owned(
2133                                "MaxCircuitBreakerDeltaUpdated",
2134                            ),
2135                            inputs: ::std::vec![
2136                                ::ethers::core::abi::ethabi::EventParam {
2137                                    name: ::std::borrow::ToOwned::to_owned(
2138                                        "newMaxCircuitBreakerDelta",
2139                                    ),
2140                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2141                                        256usize,
2142                                    ),
2143                                    indexed: false,
2144                                },
2145                            ],
2146                            anonymous: false,
2147                        },
2148                    ],
2149                ),
2150                (
2151                    ::std::borrow::ToOwned::to_owned("MaxFeesUpdated"),
2152                    ::std::vec![
2153                        ::ethers::core::abi::ethabi::Event {
2154                            name: ::std::borrow::ToOwned::to_owned("MaxFeesUpdated"),
2155                            inputs: ::std::vec![
2156                                ::ethers::core::abi::ethabi::EventParam {
2157                                    name: ::std::borrow::ToOwned::to_owned("newMaxFees"),
2158                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
2159                                        ::std::vec![
2160                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2161                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2162                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2163                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2164                                        ],
2165                                    ),
2166                                    indexed: false,
2167                                },
2168                            ],
2169                            anonymous: false,
2170                        },
2171                    ],
2172                ),
2173                (
2174                    ::std::borrow::ToOwned::to_owned("MaxFixedAPRUpdated"),
2175                    ::std::vec![
2176                        ::ethers::core::abi::ethabi::Event {
2177                            name: ::std::borrow::ToOwned::to_owned("MaxFixedAPRUpdated"),
2178                            inputs: ::std::vec![
2179                                ::ethers::core::abi::ethabi::EventParam {
2180                                    name: ::std::borrow::ToOwned::to_owned("newMaxFixedAPR"),
2181                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2182                                        256usize,
2183                                    ),
2184                                    indexed: false,
2185                                },
2186                            ],
2187                            anonymous: false,
2188                        },
2189                    ],
2190                ),
2191                (
2192                    ::std::borrow::ToOwned::to_owned("MaxPositionDurationUpdated"),
2193                    ::std::vec![
2194                        ::ethers::core::abi::ethabi::Event {
2195                            name: ::std::borrow::ToOwned::to_owned(
2196                                "MaxPositionDurationUpdated",
2197                            ),
2198                            inputs: ::std::vec![
2199                                ::ethers::core::abi::ethabi::EventParam {
2200                                    name: ::std::borrow::ToOwned::to_owned(
2201                                        "newMaxPositionDuration",
2202                                    ),
2203                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2204                                        256usize,
2205                                    ),
2206                                    indexed: false,
2207                                },
2208                            ],
2209                            anonymous: false,
2210                        },
2211                    ],
2212                ),
2213                (
2214                    ::std::borrow::ToOwned::to_owned("MaxTimeStretchAPRUpdated"),
2215                    ::std::vec![
2216                        ::ethers::core::abi::ethabi::Event {
2217                            name: ::std::borrow::ToOwned::to_owned(
2218                                "MaxTimeStretchAPRUpdated",
2219                            ),
2220                            inputs: ::std::vec![
2221                                ::ethers::core::abi::ethabi::EventParam {
2222                                    name: ::std::borrow::ToOwned::to_owned(
2223                                        "newMaxTimeStretchAPR",
2224                                    ),
2225                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2226                                        256usize,
2227                                    ),
2228                                    indexed: false,
2229                                },
2230                            ],
2231                            anonymous: false,
2232                        },
2233                    ],
2234                ),
2235                (
2236                    ::std::borrow::ToOwned::to_owned("MinCheckpointDurationUpdated"),
2237                    ::std::vec![
2238                        ::ethers::core::abi::ethabi::Event {
2239                            name: ::std::borrow::ToOwned::to_owned(
2240                                "MinCheckpointDurationUpdated",
2241                            ),
2242                            inputs: ::std::vec![
2243                                ::ethers::core::abi::ethabi::EventParam {
2244                                    name: ::std::borrow::ToOwned::to_owned(
2245                                        "newMinCheckpointDuration",
2246                                    ),
2247                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2248                                        256usize,
2249                                    ),
2250                                    indexed: false,
2251                                },
2252                            ],
2253                            anonymous: false,
2254                        },
2255                    ],
2256                ),
2257                (
2258                    ::std::borrow::ToOwned::to_owned("MinCircuitBreakerDeltaUpdated"),
2259                    ::std::vec![
2260                        ::ethers::core::abi::ethabi::Event {
2261                            name: ::std::borrow::ToOwned::to_owned(
2262                                "MinCircuitBreakerDeltaUpdated",
2263                            ),
2264                            inputs: ::std::vec![
2265                                ::ethers::core::abi::ethabi::EventParam {
2266                                    name: ::std::borrow::ToOwned::to_owned(
2267                                        "newMinCircuitBreakerDelta",
2268                                    ),
2269                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2270                                        256usize,
2271                                    ),
2272                                    indexed: false,
2273                                },
2274                            ],
2275                            anonymous: false,
2276                        },
2277                    ],
2278                ),
2279                (
2280                    ::std::borrow::ToOwned::to_owned("MinFeesUpdated"),
2281                    ::std::vec![
2282                        ::ethers::core::abi::ethabi::Event {
2283                            name: ::std::borrow::ToOwned::to_owned("MinFeesUpdated"),
2284                            inputs: ::std::vec![
2285                                ::ethers::core::abi::ethabi::EventParam {
2286                                    name: ::std::borrow::ToOwned::to_owned("newMinFees"),
2287                                    kind: ::ethers::core::abi::ethabi::ParamType::Tuple(
2288                                        ::std::vec![
2289                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2290                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2291                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2292                                            ::ethers::core::abi::ethabi::ParamType::Uint(256usize),
2293                                        ],
2294                                    ),
2295                                    indexed: false,
2296                                },
2297                            ],
2298                            anonymous: false,
2299                        },
2300                    ],
2301                ),
2302                (
2303                    ::std::borrow::ToOwned::to_owned("MinFixedAPRUpdated"),
2304                    ::std::vec![
2305                        ::ethers::core::abi::ethabi::Event {
2306                            name: ::std::borrow::ToOwned::to_owned("MinFixedAPRUpdated"),
2307                            inputs: ::std::vec![
2308                                ::ethers::core::abi::ethabi::EventParam {
2309                                    name: ::std::borrow::ToOwned::to_owned("newMinFixedAPR"),
2310                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2311                                        256usize,
2312                                    ),
2313                                    indexed: false,
2314                                },
2315                            ],
2316                            anonymous: false,
2317                        },
2318                    ],
2319                ),
2320                (
2321                    ::std::borrow::ToOwned::to_owned("MinPositionDurationUpdated"),
2322                    ::std::vec![
2323                        ::ethers::core::abi::ethabi::Event {
2324                            name: ::std::borrow::ToOwned::to_owned(
2325                                "MinPositionDurationUpdated",
2326                            ),
2327                            inputs: ::std::vec![
2328                                ::ethers::core::abi::ethabi::EventParam {
2329                                    name: ::std::borrow::ToOwned::to_owned(
2330                                        "newMinPositionDuration",
2331                                    ),
2332                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2333                                        256usize,
2334                                    ),
2335                                    indexed: false,
2336                                },
2337                            ],
2338                            anonymous: false,
2339                        },
2340                    ],
2341                ),
2342                (
2343                    ::std::borrow::ToOwned::to_owned("MinTimeStretchAPRUpdated"),
2344                    ::std::vec![
2345                        ::ethers::core::abi::ethabi::Event {
2346                            name: ::std::borrow::ToOwned::to_owned(
2347                                "MinTimeStretchAPRUpdated",
2348                            ),
2349                            inputs: ::std::vec![
2350                                ::ethers::core::abi::ethabi::EventParam {
2351                                    name: ::std::borrow::ToOwned::to_owned(
2352                                        "newMinTimeStretchAPR",
2353                                    ),
2354                                    kind: ::ethers::core::abi::ethabi::ParamType::Uint(
2355                                        256usize,
2356                                    ),
2357                                    indexed: false,
2358                                },
2359                            ],
2360                            anonymous: false,
2361                        },
2362                    ],
2363                ),
2364                (
2365                    ::std::borrow::ToOwned::to_owned("SweepCollectorUpdated"),
2366                    ::std::vec![
2367                        ::ethers::core::abi::ethabi::Event {
2368                            name: ::std::borrow::ToOwned::to_owned(
2369                                "SweepCollectorUpdated",
2370                            ),
2371                            inputs: ::std::vec![
2372                                ::ethers::core::abi::ethabi::EventParam {
2373                                    name: ::std::borrow::ToOwned::to_owned("newSweepCollector"),
2374                                    kind: ::ethers::core::abi::ethabi::ParamType::Address,
2375                                    indexed: true,
2376                                },
2377                            ],
2378                            anonymous: false,
2379                        },
2380                    ],
2381                ),
2382            ]),
2383            errors: ::core::convert::From::from([
2384                (
2385                    ::std::borrow::ToOwned::to_owned("DeployerCoordinatorAlreadyAdded"),
2386                    ::std::vec![
2387                        ::ethers::core::abi::ethabi::AbiError {
2388                            name: ::std::borrow::ToOwned::to_owned(
2389                                "DeployerCoordinatorAlreadyAdded",
2390                            ),
2391                            inputs: ::std::vec![],
2392                        },
2393                    ],
2394                ),
2395                (
2396                    ::std::borrow::ToOwned::to_owned("DeployerCoordinatorIndexMismatch"),
2397                    ::std::vec![
2398                        ::ethers::core::abi::ethabi::AbiError {
2399                            name: ::std::borrow::ToOwned::to_owned(
2400                                "DeployerCoordinatorIndexMismatch",
2401                            ),
2402                            inputs: ::std::vec![],
2403                        },
2404                    ],
2405                ),
2406                (
2407                    ::std::borrow::ToOwned::to_owned("DeployerCoordinatorNotAdded"),
2408                    ::std::vec![
2409                        ::ethers::core::abi::ethabi::AbiError {
2410                            name: ::std::borrow::ToOwned::to_owned(
2411                                "DeployerCoordinatorNotAdded",
2412                            ),
2413                            inputs: ::std::vec![],
2414                        },
2415                    ],
2416                ),
2417                (
2418                    ::std::borrow::ToOwned::to_owned("EndIndexTooLarge"),
2419                    ::std::vec![
2420                        ::ethers::core::abi::ethabi::AbiError {
2421                            name: ::std::borrow::ToOwned::to_owned("EndIndexTooLarge"),
2422                            inputs: ::std::vec![],
2423                        },
2424                    ],
2425                ),
2426                (
2427                    ::std::borrow::ToOwned::to_owned("InvalidCheckpointDuration"),
2428                    ::std::vec![
2429                        ::ethers::core::abi::ethabi::AbiError {
2430                            name: ::std::borrow::ToOwned::to_owned(
2431                                "InvalidCheckpointDuration",
2432                            ),
2433                            inputs: ::std::vec![],
2434                        },
2435                    ],
2436                ),
2437                (
2438                    ::std::borrow::ToOwned::to_owned(
2439                        "InvalidCheckpointDurationResolution",
2440                    ),
2441                    ::std::vec![
2442                        ::ethers::core::abi::ethabi::AbiError {
2443                            name: ::std::borrow::ToOwned::to_owned(
2444                                "InvalidCheckpointDurationResolution",
2445                            ),
2446                            inputs: ::std::vec![],
2447                        },
2448                    ],
2449                ),
2450                (
2451                    ::std::borrow::ToOwned::to_owned("InvalidCircuitBreakerDelta"),
2452                    ::std::vec![
2453                        ::ethers::core::abi::ethabi::AbiError {
2454                            name: ::std::borrow::ToOwned::to_owned(
2455                                "InvalidCircuitBreakerDelta",
2456                            ),
2457                            inputs: ::std::vec![],
2458                        },
2459                    ],
2460                ),
2461                (
2462                    ::std::borrow::ToOwned::to_owned("InvalidDeployConfig"),
2463                    ::std::vec![
2464                        ::ethers::core::abi::ethabi::AbiError {
2465                            name: ::std::borrow::ToOwned::to_owned(
2466                                "InvalidDeployConfig",
2467                            ),
2468                            inputs: ::std::vec![],
2469                        },
2470                    ],
2471                ),
2472                (
2473                    ::std::borrow::ToOwned::to_owned("InvalidDeployerCoordinator"),
2474                    ::std::vec![
2475                        ::ethers::core::abi::ethabi::AbiError {
2476                            name: ::std::borrow::ToOwned::to_owned(
2477                                "InvalidDeployerCoordinator",
2478                            ),
2479                            inputs: ::std::vec![],
2480                        },
2481                    ],
2482                ),
2483                (
2484                    ::std::borrow::ToOwned::to_owned("InvalidFees"),
2485                    ::std::vec![
2486                        ::ethers::core::abi::ethabi::AbiError {
2487                            name: ::std::borrow::ToOwned::to_owned("InvalidFees"),
2488                            inputs: ::std::vec![],
2489                        },
2490                    ],
2491                ),
2492                (
2493                    ::std::borrow::ToOwned::to_owned("InvalidFixedAPR"),
2494                    ::std::vec![
2495                        ::ethers::core::abi::ethabi::AbiError {
2496                            name: ::std::borrow::ToOwned::to_owned("InvalidFixedAPR"),
2497                            inputs: ::std::vec![],
2498                        },
2499                    ],
2500                ),
2501                (
2502                    ::std::borrow::ToOwned::to_owned("InvalidIndexes"),
2503                    ::std::vec![
2504                        ::ethers::core::abi::ethabi::AbiError {
2505                            name: ::std::borrow::ToOwned::to_owned("InvalidIndexes"),
2506                            inputs: ::std::vec![],
2507                        },
2508                    ],
2509                ),
2510                (
2511                    ::std::borrow::ToOwned::to_owned("InvalidMaxCheckpointDuration"),
2512                    ::std::vec![
2513                        ::ethers::core::abi::ethabi::AbiError {
2514                            name: ::std::borrow::ToOwned::to_owned(
2515                                "InvalidMaxCheckpointDuration",
2516                            ),
2517                            inputs: ::std::vec![],
2518                        },
2519                    ],
2520                ),
2521                (
2522                    ::std::borrow::ToOwned::to_owned("InvalidMaxCircuitBreakerDelta"),
2523                    ::std::vec![
2524                        ::ethers::core::abi::ethabi::AbiError {
2525                            name: ::std::borrow::ToOwned::to_owned(
2526                                "InvalidMaxCircuitBreakerDelta",
2527                            ),
2528                            inputs: ::std::vec![],
2529                        },
2530                    ],
2531                ),
2532                (
2533                    ::std::borrow::ToOwned::to_owned("InvalidMaxFees"),
2534                    ::std::vec![
2535                        ::ethers::core::abi::ethabi::AbiError {
2536                            name: ::std::borrow::ToOwned::to_owned("InvalidMaxFees"),
2537                            inputs: ::std::vec![],
2538                        },
2539                    ],
2540                ),
2541                (
2542                    ::std::borrow::ToOwned::to_owned("InvalidMaxFixedAPR"),
2543                    ::std::vec![
2544                        ::ethers::core::abi::ethabi::AbiError {
2545                            name: ::std::borrow::ToOwned::to_owned("InvalidMaxFixedAPR"),
2546                            inputs: ::std::vec![],
2547                        },
2548                    ],
2549                ),
2550                (
2551                    ::std::borrow::ToOwned::to_owned("InvalidMaxPositionDuration"),
2552                    ::std::vec![
2553                        ::ethers::core::abi::ethabi::AbiError {
2554                            name: ::std::borrow::ToOwned::to_owned(
2555                                "InvalidMaxPositionDuration",
2556                            ),
2557                            inputs: ::std::vec![],
2558                        },
2559                    ],
2560                ),
2561                (
2562                    ::std::borrow::ToOwned::to_owned("InvalidMaxTimeStretchAPR"),
2563                    ::std::vec![
2564                        ::ethers::core::abi::ethabi::AbiError {
2565                            name: ::std::borrow::ToOwned::to_owned(
2566                                "InvalidMaxTimeStretchAPR",
2567                            ),
2568                            inputs: ::std::vec![],
2569                        },
2570                    ],
2571                ),
2572                (
2573                    ::std::borrow::ToOwned::to_owned("InvalidMinCheckpointDuration"),
2574                    ::std::vec![
2575                        ::ethers::core::abi::ethabi::AbiError {
2576                            name: ::std::borrow::ToOwned::to_owned(
2577                                "InvalidMinCheckpointDuration",
2578                            ),
2579                            inputs: ::std::vec![],
2580                        },
2581                    ],
2582                ),
2583                (
2584                    ::std::borrow::ToOwned::to_owned("InvalidMinCircuitBreakerDelta"),
2585                    ::std::vec![
2586                        ::ethers::core::abi::ethabi::AbiError {
2587                            name: ::std::borrow::ToOwned::to_owned(
2588                                "InvalidMinCircuitBreakerDelta",
2589                            ),
2590                            inputs: ::std::vec![],
2591                        },
2592                    ],
2593                ),
2594                (
2595                    ::std::borrow::ToOwned::to_owned("InvalidMinFees"),
2596                    ::std::vec![
2597                        ::ethers::core::abi::ethabi::AbiError {
2598                            name: ::std::borrow::ToOwned::to_owned("InvalidMinFees"),
2599                            inputs: ::std::vec![],
2600                        },
2601                    ],
2602                ),
2603                (
2604                    ::std::borrow::ToOwned::to_owned("InvalidMinFixedAPR"),
2605                    ::std::vec![
2606                        ::ethers::core::abi::ethabi::AbiError {
2607                            name: ::std::borrow::ToOwned::to_owned("InvalidMinFixedAPR"),
2608                            inputs: ::std::vec![],
2609                        },
2610                    ],
2611                ),
2612                (
2613                    ::std::borrow::ToOwned::to_owned("InvalidMinPositionDuration"),
2614                    ::std::vec![
2615                        ::ethers::core::abi::ethabi::AbiError {
2616                            name: ::std::borrow::ToOwned::to_owned(
2617                                "InvalidMinPositionDuration",
2618                            ),
2619                            inputs: ::std::vec![],
2620                        },
2621                    ],
2622                ),
2623                (
2624                    ::std::borrow::ToOwned::to_owned("InvalidMinTimeStretchAPR"),
2625                    ::std::vec![
2626                        ::ethers::core::abi::ethabi::AbiError {
2627                            name: ::std::borrow::ToOwned::to_owned(
2628                                "InvalidMinTimeStretchAPR",
2629                            ),
2630                            inputs: ::std::vec![],
2631                        },
2632                    ],
2633                ),
2634                (
2635                    ::std::borrow::ToOwned::to_owned("InvalidPositionDuration"),
2636                    ::std::vec![
2637                        ::ethers::core::abi::ethabi::AbiError {
2638                            name: ::std::borrow::ToOwned::to_owned(
2639                                "InvalidPositionDuration",
2640                            ),
2641                            inputs: ::std::vec![],
2642                        },
2643                    ],
2644                ),
2645                (
2646                    ::std::borrow::ToOwned::to_owned("InvalidTimeStretchAPR"),
2647                    ::std::vec![
2648                        ::ethers::core::abi::ethabi::AbiError {
2649                            name: ::std::borrow::ToOwned::to_owned(
2650                                "InvalidTimeStretchAPR",
2651                            ),
2652                            inputs: ::std::vec![],
2653                        },
2654                    ],
2655                ),
2656                (
2657                    ::std::borrow::ToOwned::to_owned("LnInvalidInput"),
2658                    ::std::vec![
2659                        ::ethers::core::abi::ethabi::AbiError {
2660                            name: ::std::borrow::ToOwned::to_owned("LnInvalidInput"),
2661                            inputs: ::std::vec![],
2662                        },
2663                    ],
2664                ),
2665                (
2666                    ::std::borrow::ToOwned::to_owned("ReceiveLocked"),
2667                    ::std::vec![
2668                        ::ethers::core::abi::ethabi::AbiError {
2669                            name: ::std::borrow::ToOwned::to_owned("ReceiveLocked"),
2670                            inputs: ::std::vec![],
2671                        },
2672                    ],
2673                ),
2674                (
2675                    ::std::borrow::ToOwned::to_owned("TransferFailed"),
2676                    ::std::vec![
2677                        ::ethers::core::abi::ethabi::AbiError {
2678                            name: ::std::borrow::ToOwned::to_owned("TransferFailed"),
2679                            inputs: ::std::vec![],
2680                        },
2681                    ],
2682                ),
2683                (
2684                    ::std::borrow::ToOwned::to_owned("Unauthorized"),
2685                    ::std::vec![
2686                        ::ethers::core::abi::ethabi::AbiError {
2687                            name: ::std::borrow::ToOwned::to_owned("Unauthorized"),
2688                            inputs: ::std::vec![],
2689                        },
2690                    ],
2691                ),
2692                (
2693                    ::std::borrow::ToOwned::to_owned("UnsafeCastToInt256"),
2694                    ::std::vec![
2695                        ::ethers::core::abi::ethabi::AbiError {
2696                            name: ::std::borrow::ToOwned::to_owned("UnsafeCastToInt256"),
2697                            inputs: ::std::vec![],
2698                        },
2699                    ],
2700                ),
2701            ]),
2702            receive: true,
2703            fallback: false,
2704        }
2705    }
2706    ///The parsed JSON ABI of the contract.
2707    pub static HYPERDRIVEFACTORY_ABI: ::ethers::contract::Lazy<
2708        ::ethers::core::abi::Abi,
2709    > = ::ethers::contract::Lazy::new(__abi);
2710    #[rustfmt::skip]
2711    const __BYTECODE: &[u8] = b"`\x80`@R`\x02`\x01U4\x80\x15b\0\0\x16W`\0\x80\xFD[P`@Qb\0A,8\x03\x80b\0A,\x839\x81\x01`@\x81\x90Rb\0\09\x91b\0\x07\x08V[`\0b\0\0G\x82\x82b\0\tmV[P\x81`\xE0\x01Q\x82a\x01\0\x01Q\x10\x80b\0\0uWP\x81`\xE0\x01Q\x82a\x01\0\x01Qb\0\0r\x91\x90b\0\n9V[\x15\x15[\x15b\0\0\x94W`@Qc\x02\x19\xD6c`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\0\x82\x01Q`\x0B\x81\x90Ua\x01 \x83\x01Q\x10\x80b\0\0\xC7WP\x81`\xE0\x01Q\x82a\x01 \x01Qb\0\0\xC4\x91\x90b\0\n9V[\x15\x15[\x15b\0\0\xE6W`@Qc\xF9\xC0\x95\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01 \x82\x01Q`\x0C\x81\x90Ua\x01@\x83\x01Q\x10\x80b\0\x01\x19WP\x81`\xE0\x01Q\x82a\x01@\x01Qb\0\x01\x16\x91\x90b\0\n9V[\x15\x15[\x15b\0\x018W`@Qc0\x07\xAD\x01`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01@\x82\x01Q`\r\x81\x90Ua\x01`\x83\x01Q\x10\x80b\0\x01kWP\x81`\xE0\x01Q\x82a\x01`\x01Qb\0\x01h\x91\x90b\0\n9V[\x15\x15[\x15b\0\x01\x8AW`@Qc\xCF\xB6\x99\xCB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01`\x82\x01Q`\x0EUa\x01\xA0\x82\x01Qa\x01\x80\x83\x01Q\x11\x15b\0\x01\xBFW`@Qc\xEF\x9B\xC6_`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\x80\x82\x01Q`\x0FUa\x01\xA0\x82\x01Q`\x10Ua\x01\xE0\x82\x01Qa\x01\xC0\x83\x01Q\x11\x15b\0\x01\xFDW`@Qc0UM\xE1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x01\xC0\x82\x01Q`\x11Ua\x01\xE0\x82\x01Q`\x12Ua\x02 \x82\x01Qa\x02\0\x83\x01Q\x11\x15b\0\x02;W`@Qc\x83\xEB\xDF\xB7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\0\x82\x01Q`\x13Ua\x02 \x82\x01Q`\x14Ua\x02`\x82\x01QQg\r\xE0\xB6\xB3\xA7d\0\0\x10\x80b\0\x02zWPg\r\xE0\xB6\xB3\xA7d\0\0\x82a\x02`\x01Q` \x01Q\x11[\x80b\0\x02\x96WPg\r\xE0\xB6\xB3\xA7d\0\0\x82a\x02`\x01Q`@\x01Q\x11[\x80b\0\x02\xB2WPg\r\xE0\xB6\xB3\xA7d\0\0\x82a\x02`\x01Q``\x01Q\x11[\x15b\0\x02\xD1W`@Qc\x16\x10q\xFB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02`\x82\x01Q\x80Q`\x19\x81\x90U` \x82\x01Q`\x1AU`@\x82\x01Q`\x1BU``\x90\x91\x01Q`\x1CUa\x02@\x83\x01QQ\x11\x80b\0\x03\x1CWP\x81a\x02`\x01Q` \x01Q\x82a\x02@\x01Q` \x01Q\x11[\x80b\0\x039WP\x81a\x02`\x01Q`@\x01Q\x82a\x02@\x01Q`@\x01Q\x11[\x80b\0\x03VWP\x81a\x02`\x01Q``\x01Q\x82a\x02@\x01Q``\x01Q\x11[\x15b\0\x03uW`@Qc\x15\xB0Z\x8F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02@\x82\x01Q\x80Q`\x15U` \x80\x82\x01Q`\x16U`@\x80\x83\x01Q`\x17U``\x92\x83\x01Q`\x18U\x84Q`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x19\x90\x81\x16`\x01`\x01`\xA0\x1B\x03\x93\x84\x16\x17\x90\x91U\x83\x87\x01Q`\x03\x80T\x83\x16\x91\x84\x16\x91\x90\x91\x17\x90U\x91\x86\x01Q`\x04\x80T\x84\x16\x91\x83\x16\x91\x90\x91\x17\x90U`\x80\x86\x01Q`\x07\x80T\x84\x16\x91\x83\x16\x91\x90\x91\x17\x90U`\xA0\x86\x01Q`\x08\x80T\x84\x16\x91\x83\x16\x91\x90\x91\x17\x90U`\xC0\x86\x01Q`\t\x80T\x90\x93\x16\x91\x16\x17\x90U\x90\x83\x01Q\x80Qb\0\x041\x92`\x1D\x92\x01\x90b\0\x04nV[PPa\x02\x80\x81\x01Q`\x05\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x90\x91\x17\x90Ua\x02\xA0\x81\x01Q`\x06U`\xE0\x01Q`\nUb\0\n\\V[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90\x81\x01\x92\x82\x15b\0\x04\xC6W\x91` \x02\x82\x01[\x82\x81\x11\x15b\0\x04\xC6W\x82Q\x82T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x17\x82U` \x90\x92\x01\x91`\x01\x90\x91\x01\x90b\0\x04\x8FV[Pb\0\x04\xD4\x92\x91Pb\0\x04\xD8V[P\x90V[[\x80\x82\x11\x15b\0\x04\xD4W`\0\x81U`\x01\x01b\0\x04\xD9V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Qa\x02\xC0\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x05+Wb\0\x05+b\0\x04\xEFV[`@R\x90V[`@Q`\x1F\x82\x01`\x1F\x19\x16\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x05\\Wb\0\x05\\b\0\x04\xEFV[`@R\x91\x90PV[\x80Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x05|W`\0\x80\xFD[\x91\x90PV[`\0\x82`\x1F\x83\x01\x12b\0\x05\x93W`\0\x80\xFD[\x81Q` `\x01`\x01`@\x1B\x03\x82\x11\x15b\0\x05\xB1Wb\0\x05\xB1b\0\x04\xEFV[\x81`\x05\x1Bb\0\x05\xC2\x82\x82\x01b\0\x051V[\x92\x83R\x84\x81\x01\x82\x01\x92\x82\x81\x01\x90\x87\x85\x11\x15b\0\x05\xDDW`\0\x80\xFD[\x83\x87\x01\x92P[\x84\x83\x10\x15b\0\x06\x07Wb\0\x05\xF7\x83b\0\x05dV[\x82R\x91\x83\x01\x91\x90\x83\x01\x90b\0\x05\xE3V[\x97\x96PPPPPPPV[`\0`\x80\x82\x84\x03\x12\x15b\0\x06%W`\0\x80\xFD[`@Q`\x80\x81\x01`\x01`\x01`@\x1B\x03\x81\x11\x82\x82\x10\x17\x15b\0\x06JWb\0\x06Jb\0\x04\xEFV[\x80`@RP\x80\x91P\x82Q\x81R` \x83\x01Q` \x82\x01R`@\x83\x01Q`@\x82\x01R``\x83\x01Q``\x82\x01RP\x92\x91PPV[`\0\x82`\x1F\x83\x01\x12b\0\x06\x8DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x06\xA9Wb\0\x06\xA9b\0\x04\xEFV[` b\0\x06\xBF`\x1F\x83\x01`\x1F\x19\x16\x82\x01b\0\x051V[\x82\x81R\x85\x82\x84\x87\x01\x01\x11\x15b\0\x06\xD4W`\0\x80\xFD[`\0[\x83\x81\x10\x15b\0\x06\xF4W\x85\x81\x01\x83\x01Q\x82\x82\x01\x84\x01R\x82\x01b\0\x06\xD7V[P`\0\x92\x81\x01\x90\x91\x01\x91\x90\x91R\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15b\0\x07\x1CW`\0\x80\xFD[\x82Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x074W`\0\x80\xFD[\x90\x84\x01\x90a\x03\x80\x82\x87\x03\x12\x15b\0\x07JW`\0\x80\xFD[b\0\x07Tb\0\x05\x05V[b\0\x07_\x83b\0\x05dV[\x81Rb\0\x07o` \x84\x01b\0\x05dV[` \x82\x01Rb\0\x07\x82`@\x84\x01b\0\x05dV[`@\x82\x01R``\x83\x01Q\x82\x81\x11\x15b\0\x07\x9AW`\0\x80\xFD[b\0\x07\xA8\x88\x82\x86\x01b\0\x05\x81V[``\x83\x01RPb\0\x07\xBC`\x80\x84\x01b\0\x05dV[`\x80\x82\x01Rb\0\x07\xCF`\xA0\x84\x01b\0\x05dV[`\xA0\x82\x01Rb\0\x07\xE2`\xC0\x84\x01b\0\x05dV[`\xC0\x82\x01R`\xE0\x83\x81\x01Q\x90\x82\x01Ra\x01\0\x80\x84\x01Q\x90\x82\x01Ra\x01 \x80\x84\x01Q\x90\x82\x01Ra\x01@\x80\x84\x01Q\x90\x82\x01Ra\x01`\x80\x84\x01Q\x90\x82\x01Ra\x01\x80\x80\x84\x01Q\x90\x82\x01Ra\x01\xA0\x80\x84\x01Q\x90\x82\x01Ra\x01\xC0\x80\x84\x01Q\x90\x82\x01Ra\x01\xE0\x80\x84\x01Q\x90\x82\x01Ra\x02\0\x80\x84\x01Q\x90\x82\x01Ra\x02 \x80\x84\x01Q\x90\x82\x01Ra\x02@b\0\x08p\x88\x82\x86\x01b\0\x06\x12V[\x90\x82\x01Rb\0\x08\x84\x87a\x02\xC0\x85\x01b\0\x06\x12V[a\x02`\x82\x01Rb\0\x08\x99a\x03@\x84\x01b\0\x05dV[a\x02\x80\x82\x01Ra\x03`\x92\x90\x92\x01Qa\x02\xA0\x83\x01R` \x85\x01Q\x91\x93P\x80\x82\x11\x15b\0\x08\xC3W`\0\x80\xFD[Pb\0\x08\xD2\x85\x82\x86\x01b\0\x06{V[\x91PP\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x08\xF1W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\t\x12WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\thW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\tCWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\tdW\x82\x81U`\x01\x01b\0\tOV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\t\x89Wb\0\t\x89b\0\x04\xEFV[b\0\t\xA1\x81b\0\t\x9A\x84Tb\0\x08\xDCV[\x84b\0\t\x18V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\t\xD9W`\0\x84\x15b\0\t\xC0WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\tdV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\n\nW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\t\xE9V[P\x85\x82\x10\x15b\0\n)W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0\x82b\0\nWWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x06\x90V[a6\xC0\x80b\0\nl`\09`\0\xF3\xFE`\x80`@R`\x046\x10a\x03\xA6W`\x005`\xE0\x1C\x80c\x8E\x12|\xF5\x11a\x01\xE7W\x80c\xD2\xC3\\\xE8\x11a\x01\rW\x80c\xE4\xE7\x14\x8F\x11a\0\xA0W\x80c\xEC\x89_\x11\x11a\0oW\x80c\xEC\x89_\x11\x14a\n\xE9W\x80c\xF2YdX\x14a\x0B\tW\x80c\xF8\xC0\x9EY\x14a\x0B)W\x80c\xFE=Z\xEB\x14a\x0BYW`\0\x80\xFD[\x80c\xE4\xE7\x14\x8F\x14a\ntW\x80c\xE7\x1F4\xB3\x14a\n\x94W\x80c\xE8>4\xB1\x14a\n\xB4W\x80c\xEBq\xF6l\x14a\n\xC9W`\0\x80\xFD[\x80c\xDD+\x8F\xBB\x11a\0\xDCW\x80c\xDD+\x8F\xBB\x14a\n\tW\x80c\xE0\xE2\xDA\xAA\x14a\n)W\x80c\xE1\xB3\x9C\x80\x14a\n?W\x80c\xE33\x15U\x14a\nTW`\0\x80\xFD[\x80c\xD2\xC3\\\xE8\x14a\t\x9DW\x80c\xD6\xF5\x01i\x14a\t\xBDW\x80c\xDA\xAC$\xDA\x14a\t\xD3W\x80c\xDA\xF0\x12\xE6\x14a\t\xF3W`\0\x80\xFD[\x80c\xB2V\x12c\x11a\x01\x85W\x80c\xC4\x15\xB9\\\x11a\x01TW\x80c\xC4\x15\xB9\\\x14a\t;W\x80c\xC9\x05\xA4\xB5\x14a\t[W\x80c\xD0\xF9k\x92\x14a\tqW\x80c\xD2=~\xA3\x14a\t\x87W`\0\x80\xFD[\x80c\xB2V\x12c\x14a\x08\xC3W\x80c\xBC0\xE7\xA1\x14a\x08\xE3W\x80c\xBF\x9B\xD5\xCD\x14a\t\x03W\x80c\xC1r%c\x14a\t\x19W`\0\x80\xFD[\x80c\x99b;\xB1\x11a\x01\xC1W\x80c\x99b;\xB1\x14a\x08NW\x80c\x9A\xF2Rb\x14a\x08nW\x80c\xA6L\x90\xBF\x14a\x08\x8EW\x80c\xA9\x8AF\xDB\x14a\x08\xA3W`\0\x80\xFD[\x80c\x8E\x12|\xF5\x14a\x07\xF8W\x80c\x8E\xFC\t\x86\x14a\x08\x18W\x80c\x97\xB0\xE8\xCE\x14a\x08.W`\0\x80\xFD[\x80cET\xF9\xA9\x11a\x02\xCCW\x80cb\x80'\xA3\x11a\x02jW\x80c\x83\xB3a\xE8\x11a\x029W\x80c\x83\xB3a\xE8\x14a\x07xW\x80c\x84\xC1\x9A\xAB\x14a\x07\x98W\x80c\x85\"\x97\x85\x14a\x07\xB8W\x80c\x86'\xA4\xF0\x14a\x07\xD8W`\0\x80\xFD[\x80cb\x80'\xA3\x14a\x06\xE3W\x80ckD\xE6\xBE\x14a\x07\x03W\x80cn\x95\xD6|\x14a\x07CW\x80com\\J\x14a\x07XW`\0\x80\xFD[\x80cO\xBF\xEEw\x11a\x02\xA6W\x80cO\xBF\xEEw\x14a\x06ZW\x80cT\xFDMP\x14a\x06zW\x80cW \xC9\xD5\x14a\x06\xADW\x80cZ\xA6\xE6u\x14a\x06\xC3W`\0\x80\xFD[\x80cET\xF9\xA9\x14a\x06\x0EW\x80cH\x80\x07`\x14a\x06$W\x80cI\xF1=\xE7\x14a\x06:W`\0\x80\xFD[\x80c\x1E\xCD\xA0\xFE\x11a\x03DW\x80c.|\xD9q\x11a\x03\x13W\x80c.|\xD9q\x14a\x05\x9BW\x80c>- \x14\x14a\x05\xAEW\x80cA\x1C05\x14a\x05\xCEW\x80cB\x1C\xAB\xA8\x14a\x05\xEEW`\0\x80\xFD[\x80c\x1E\xCD\xA0\xFE\x14a\x05\x02W\x80c(\x85\xE3\xAC\x14a\x05&W\x80c)\x07\xD3\xDD\x14a\x05FW\x80c+X\xF4\x18\x14a\x05fW`\0\x80\xFD[\x80c\x10\xD1\xDC>\x11a\x03\x80W\x80c\x10\xD1\xDC>\x14a\x04uW\x80c\x11\xE7{\xFE\x14a\x04\x95W\x80c\x19x\xEB\xCF\x14a\x04\xB5W\x80c\x1BY\xBE\x0C\x14a\x04\xD5W`\0\x80\xFD[\x80c\x04\xBA\xA0\x0B\x14a\x03\xD5W\x80c\x06\xFD\xDE\x03\x14a\x04(W\x80c\x10x\x0Fs\x14a\x04=W`\0\x80\xFD[6a\x03\xD0W`\x02`\x01T\x03a\x03\xCEW`@Qc\n\xACu\xB5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\0[`\0\x80\xFD[4\x80\x15a\x03\xE1W`\0\x80\xFD[Pa\x04\x12`@Q\x80`@\x01`@R\x80`\x11\x81R` \x01pHyperdriveFactory`x\x1B\x81RP\x81V[`@Qa\x04\x1F\x91\x90a,\xECV[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x044W`\0\x80\xFD[Pa\x04\x12a\x0ByV[4\x80\x15a\x04IW`\0\x80\xFD[P`\x08Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x04\x1FV[4\x80\x15a\x04\x81W`\0\x80\xFD[Pa\x03\xCEa\x04\x906`\x04a,\xFFV[a\x0C\x07V[4\x80\x15a\x04\xA1W`\0\x80\xFD[Pa\x03\xCEa\x04\xB06`\x04a-\x11V[a\r V[4\x80\x15a\x04\xC1W`\0\x80\xFD[Pa\x03\xCEa\x04\xD06`\x04a-\x11V[a\r\xF9V[4\x80\x15a\x04\xE1W`\0\x80\xFD[Pa\x04\xF5a\x04\xF06`\x04a-*V[a\x0E{V[`@Qa\x04\x1F\x91\x90a-\x9FV[4\x80\x15a\x05\x0EW`\0\x80\xFD[Pa\x05\x18`\x0FT\x81V[`@Q\x90\x81R` \x01a\x04\x1FV[4\x80\x15a\x052W`\0\x80\xFD[Pa\x03\xCEa\x05A6`\x04a,\xFFV[a\x0FVV[4\x80\x15a\x05RW`\0\x80\xFD[Pa\x03\xCEa\x05a6`\x04a-\x11V[a\x10\xBCV[4\x80\x15a\x05rW`\0\x80\xFD[Pa\x04]a\x05\x816`\x04a.\x14V[` \x80R`\0\x90\x81R`@\x90 T`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x04]a\x05\xA96`\x04a0\xEEV[a\x11>V[4\x80\x15a\x05\xBAW`\0\x80\xFD[Pa\x03\xCEa\x05\xC96`\x04a.\x14V[a\x15\x80V[4\x80\x15a\x05\xDAW`\0\x80\xFD[Pa\x03\xCEa\x05\xE96`\x04a1\xCFV[a\x15\xF4V[4\x80\x15a\x05\xFAW`\0\x80\xFD[Pa\x03\xCEa\x06\t6`\x04a.\x14V[a\x17\xC5V[4\x80\x15a\x06\x1AW`\0\x80\xFD[Pa\x05\x18`\x10T\x81V[4\x80\x15a\x060W`\0\x80\xFD[Pa\x05\x18`\x14T\x81V[4\x80\x15a\x06FW`\0\x80\xFD[Pa\x04]a\x06U6`\x04a1\xFBV[a\x18\xCEV[4\x80\x15a\x06fW`\0\x80\xFD[Pa\x03\xCEa\x06u6`\x04a-\x11V[a\x19\xC0V[4\x80\x15a\x06\x86W`\0\x80\xFD[Pa\x04\x12`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01fv1.0.17`\xC8\x1B\x81RP\x81V[4\x80\x15a\x06\xB9W`\0\x80\xFD[Pa\x05\x18`\x0BT\x81V[4\x80\x15a\x06\xCFW`\0\x80\xFD[P`\x02Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x06\xEFW`\0\x80\xFD[Pa\x03\xCEa\x06\xFE6`\x04a-\x11V[a\x1A\x1DV[4\x80\x15a\x07\x0FW`\0\x80\xFD[Pa\x073a\x07\x1E6`\x04a.\x14V[`\"` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x04\x1FV[4\x80\x15a\x07OW`\0\x80\xFD[P`!Ta\x05\x18V[4\x80\x15a\x07dW`\0\x80\xFD[Pa\x03\xCEa\x07s6`\x04a-\x11V[a\x1A\x9FV[4\x80\x15a\x07\x84W`\0\x80\xFD[Pa\x03\xCEa\x07\x936`\x04a-\x11V[a\x1BCV[4\x80\x15a\x07\xA4W`\0\x80\xFD[Pa\x03\xCEa\x07\xB36`\x04a-\x11V[a\x1B\xC5V[4\x80\x15a\x07\xC4W`\0\x80\xFD[Pa\x03\xCEa\x07\xD36`\x04a.\x14V[a\x1CGV[4\x80\x15a\x07\xE4W`\0\x80\xFD[Pa\x03\xCEa\x07\xF36`\x04a.\x14V[a\x1C\xBBV[4\x80\x15a\x08\x04W`\0\x80\xFD[Pa\x03\xCEa\x08\x136`\x04a-\x11V[a\x1D/V[4\x80\x15a\x08$W`\0\x80\xFD[Pa\x05\x18`\x0ET\x81V[4\x80\x15a\x08:W`\0\x80\xFD[Pa\x03\xCEa\x08I6`\x04a-\x11V[a\x1D\xD3V[4\x80\x15a\x08ZW`\0\x80\xFD[P`\x05Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x08zW`\0\x80\xFD[Pa\x03\xCEa\x08\x896`\x04a-*V[a\x1EUV[4\x80\x15a\x08\x9AW`\0\x80\xFD[Pa\x04\xF5a\x1E\xBDV[4\x80\x15a\x08\xAFW`\0\x80\xFD[Pa\x03\xCEa\x08\xBE6`\x04a.\x14V[a\x1F\x1FV[4\x80\x15a\x08\xCFW`\0\x80\xFD[Pa\x03\xCEa\x08\xDE6`\x04a.\x14V[a\x1F\x93V[4\x80\x15a\x08\xEFW`\0\x80\xFD[Pa\x04\xF5a\x08\xFE6`\x04a2\x8FV[a \x07V[4\x80\x15a\t\x0FW`\0\x80\xFD[Pa\x05\x18`\x12T\x81V[4\x80\x15a\t%W`\0\x80\xFD[Pa\t.a!\tV[`@Qa\x04\x1F\x91\x90a2\xB1V[4\x80\x15a\tGW`\0\x80\xFD[P`\x07Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\tgW`\0\x80\xFD[Pa\x05\x18`\x06T\x81V[4\x80\x15a\t}W`\0\x80\xFD[Pa\x05\x18`\nT\x81V[4\x80\x15a\t\x93W`\0\x80\xFD[Pa\x05\x18`\x11T\x81V[4\x80\x15a\t\xA9W`\0\x80\xFD[Pa\x03\xCEa\t\xB86`\x04a.\x14V[a!aV[4\x80\x15a\t\xC9W`\0\x80\xFD[Pa\x05\x18`\x13T\x81V[4\x80\x15a\t\xDFW`\0\x80\xFD[Pa\x04]a\t\xEE6`\x04a-\x11V[a!\xD5V[4\x80\x15a\t\xFFW`\0\x80\xFD[Pa\x05\x18`\rT\x81V[4\x80\x15a\n\x15W`\0\x80\xFD[Pa\x03\xCEa\n$6`\x04a.\x14V[a\"\x05V[4\x80\x15a\n5W`\0\x80\xFD[Pa\x05\x18`\x0CT\x81V[4\x80\x15a\nKW`\0\x80\xFD[P`\x1ETa\x05\x18V[4\x80\x15a\n`W`\0\x80\xFD[P`\x04Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\n\x80W`\0\x80\xFD[P`\x03Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\n\xA0W`\0\x80\xFD[Pa\x03\xCEa\n\xAF6`\x04a-\x11V[a\"yV[4\x80\x15a\n\xC0W`\0\x80\xFD[Pa\t.a#\x1DV[4\x80\x15a\n\xD5W`\0\x80\xFD[Pa\x03\xCEa\n\xE46`\x04a-\x11V[a#uV[4\x80\x15a\n\xF5W`\0\x80\xFD[Pa\x04\xF5a\x0B\x046`\x04a2\x8FV[a$\rV[4\x80\x15a\x0B\x15W`\0\x80\xFD[P`\tTa\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x0B5W`\0\x80\xFD[Pa\x073a\x0BD6`\x04a.\x14V[`\x1F` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[4\x80\x15a\x0BeW`\0\x80\xFD[Pa\x04]a\x0Bt6`\x04a-\x11V[a%\x0FV[`\0\x80Ta\x0B\x86\x90a2\xDCV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x0B\xB2\x90a2\xDCV[\x80\x15a\x0B\xFFW\x80`\x1F\x10a\x0B\xD4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x0B\xFFV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x0B\xE2W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0C1W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\x80\x81\x01\x82R`\x19T\x80\x82R`\x1AT` \x83\x01R`\x1BT\x92\x82\x01\x92\x90\x92R`\x1CT``\x82\x01R\x90\x825\x11\x80a\x0CqWP\x80` \x01Q\x82` \x015\x11[\x80a\x0C\x83WP\x80`@\x01Q\x82`@\x015\x11[\x80a\x0C\x95WP\x80``\x01Q\x82``\x015\x11[\x15a\x0C\xB3W`@Qc\x15\xB0Z\x8F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x815`\x15\x81\x90U` \x80\x84\x015`\x16\x81\x90U`@\x80\x86\x015`\x17\x81\x90U``\x80\x88\x015`\x18\x81\x90U\x83Q\x96\x87R\x94\x86\x01\x93\x90\x93R\x90\x84\x01R\x82\x01R\x7F\xE1\xC4_\x8A\xEBT?0\xB3|\xC2\xFC\xCF\xBA\xC0\xF3,\xC8\xF24(M\xF9!\xD7\x1C\xFF\x04\xE5\x1E\xF4!\x90`\x80\x01[`@Q\x80\x91\x03\x90\xA1PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\rJW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80`\x0BTa\rX\x91\x90a3\x10V[\x15\x15\x80a\rqWP\x80`\x0CTa\rn\x91\x90a3\x10V[\x15\x15[\x80a\r\x88WP\x80`\rTa\r\x85\x91\x90a3\x10V[\x15\x15[\x80a\r\x9FWP\x80`\x0ETa\r\x9C\x91\x90a3\x10V[\x15\x15[\x15a\r\xBDW`@Qc\x11\xB7\\\x15`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\n\x81\x90U`@Q\x81\x81R\x7F\x04\xED\x83[H\x8BO\xCF\n!*F\xEDg\xCB\xBF\xFC/\xC8\x1B\\\xB6\xA1,Ter\xCB\xF7\xB7\xE0j\x90` \x01[`@Q\x80\x91\x03\x90\xA1PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0E#W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x12T\x81\x11\x15a\x0EFW`@Qc\x16p\xF7\x97`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x11\x81\x90U`@Q\x81\x81R\x7F\xAA\xB0\xEE\x91\0b\x9C@ZMu3n\x16@\xCC\x81\xE0`\x8F\xB0\xD7\xF1s\x89\xC0n\xE8\xD4\xF0!\x91\x90` \x01a\r\xEEV[`!T``\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x99Wa\x0E\x99a.1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0E\xC2W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P`\0[\x82\x81\x10\x15a\x0FNW` `\0\x85\x85\x84\x81\x81\x10a\x0E\xE6Wa\x0E\xE6a32V[\x90P` \x02\x01` \x81\x01\x90a\x0E\xFB\x91\x90a.\x14V[`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x82R` \x82\x01\x92\x90\x92R`@\x01`\0 T\x83Q\x91\x16\x90\x83\x90\x83\x90\x81\x10a\x0F.Wa\x0F.a32V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x0E\xC8V[P[\x92\x91PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\x80W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\x80\x81\x01\x82R`\x15T\x81R`\x16T` \x82\x01R`\x17T\x91\x81\x01\x91\x90\x91R`\x18T``\x82\x01Rg\r\xE0\xB6\xB3\xA7d\0\0\x825\x11\x80a\x0F\xCBWPg\r\xE0\xB6\xB3\xA7d\0\0\x82` \x015\x11[\x80a\x0F\xE1WPg\r\xE0\xB6\xB3\xA7d\0\0\x82`@\x015\x11[\x80a\x0F\xF7WPg\r\xE0\xB6\xB3\xA7d\0\0\x82``\x015\x11[\x80a\x10\x03WP\x80Q\x825\x10[\x80a\x10\x15WP\x80` \x01Q\x82` \x015\x10[\x80a\x10'WP\x80`@\x01Q\x82`@\x015\x10[\x80a\x109WP\x80``\x01Q\x82``\x015\x10[\x15a\x10WW`@Qc\x16\x10q\xFB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x815`\x19\x81\x90U` \x80\x84\x015`\x1A\x81\x90U`@\x80\x86\x015`\x1B\x81\x90U``\x80\x88\x015`\x1C\x81\x90U\x83Q\x96\x87R\x94\x86\x01\x93\x90\x93R\x90\x84\x01R\x82\x01R\x7F\x8C`\x93\xC7\xE6]\xD8b\xE8\x81bw\x0CN\x15n\x8A\r\xA5}%\xD9a\xE0\xFBo(\xCF\xB7\xFF\x89\xA7\x90`\x80\x01a\r\x14V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x10\xE6W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x10T\x81\x11\x15a\x11\tW`@Qc(\xA2\xD9\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0F\x81\x90U`@Q\x81\x81R\x7FA\xF7)\xB91\xAD\x8E3\xD6\x97\xFF\xF6\xBCg6\xA1\xACn\xE0\x9E\x82e\xEF\xAE'\x94\xAC\x165\xC2\x17\xA6\x90` \x01a\r\xEEV[`\x01`\x01`\xA0\x1B\x03\x89\x16`\0\x90\x81R`\x1F` R`@\x81 T`\xFF\x16a\x11wW`@Qcnb?\x0F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x11\x82\x88\x86\x86a%$V[`@\x80Q3` \x80\x83\x01\x91\x90\x91R\x81\x83\x01\x8E\x90R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x93\x84\x90R\x80Q\x91\x01 c\x1D2\x1Du`\xE3\x1B\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x8D\x16\x91c\xE9\x90\xEB\xA8\x91a\x11\xDF\x91\x8E\x90\x8E\x90\x8E\x90\x8A\x90`d\x01a4YV[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x11\xFEW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12\"\x91\x90a4\xA9V[\x90P\x8A` `\0\x83`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP`\x04`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x89a\x01@\x01\x90`\x01`\x01`\xA0\x1B\x03\x16\x90\x81`\x01`\x01`\xA0\x1B\x03\x16\x81RPP\x8A`\x01`\x01`\xA0\x1B\x03\x16\x7F\xB2[\x0F\x0F\x93 \x9B\xE0\x81R\x12/\x13!\xF6\xB0\xEFU\x9A\x93\xA6v\x95\xFF\xF5\xFE\xA3\xE5\xED#De\x82\x8C\x8C\x8C`@Qa\x12\xE1\x94\x93\x92\x91\x90a4\xC6V[`@Q\x80\x91\x03\x90\xA2`!\x80T`\x01\x80\x82\x01\x90\x92U\x7F:cW\x01,\x1A:\xE0\xA1}0L\x99 1\x03\x82\xD9h\xEB\xCCK\x17q\xF4\x1Ck0B\x05\xB5p\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x90\x92U`\0\x90\x81R`\"` \x90\x81R`@\x91\x82\x90 \x80T`\xFF\x19\x16\x85\x17\x90U\x92\x80U\x80Q3\x93\x81\x01\x93\x90\x93R\x82\x01\x8E\x90R\x8C\x16\x90c\x16\xAB\xFCp\x904\x90``\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 3\x8B\x8B\x8A`@Q\x87c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x13\xAA\x95\x94\x93\x92\x91\x90a5\x18V[` `@Q\x80\x83\x03\x81\x85\x88Z\xF1\x15\x80\x15a\x13\xC8W=`\0\x80>=`\0\xFD[PPPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13\xED\x91\x90a5{V[P`\x02`\x01U`\0[`\x1DT\x81\x10\x15a\x14\x9AW\x81`\x01`\x01`\xA0\x1B\x03\x16cq\x80\xC8\xCA`\x1D\x83\x81T\x81\x10a\x14\"Wa\x14\"a32V[`\0\x91\x82R` \x90\x91 \x01T`@Q`\xE0\x83\x90\x1B`\x01`\x01`\xE0\x1B\x03\x19\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x04\x82\x01R`\x01`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x14vW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x14\x8AW=`\0\x80>=`\0\xFD[PP`\x01\x90\x92\x01\x91Pa\x13\xF6\x90PV[P`\x04\x80T`@Qc\xAB\x03>\xA9`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16\x92\x81\x01\x92\x90\x92R\x82\x16\x90c\xAB\x03>\xA9\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x14\xE4W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x14\xF8W=`\0\x80>=`\0\xFD[PG\x92PP\x81\x15\x90Pa\x15pW`@Q`\0\x903\x90\x83\x90\x83\x81\x81\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x15GW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x15LV[``\x91P[PP\x90P\x80a\x15nW`@Qc\x12\x17\x1D\x83`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P[P\x9B\x9APPPPPPPPPPPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x15\xAAW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\t\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xAE\x06/\xB8,\x93,e<\xD4F\x174>\xCD\xA1\xD1>7^\ro \xD9i\xC9D\xFB\xDA\x19c\xD3\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80\x15\x90a\x16\x1AWP`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14\x15[\x15a\x167W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x1F` R`@\x90 T`\xFF\x16a\x16pW`@QcK\xF1!\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16`\x1E\x82\x81T\x81\x10a\x16\x8DWa\x16\x8Da32V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x14a\x16\xC0W`@Qc\x0F'\0\xCB`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x1F` R`@\x90 \x80T`\xFF\x19\x16\x90U`\x1E\x80Ta\x16\xF0\x90`\x01\x90a5\xAAV[\x81T\x81\x10a\x17\0Wa\x17\0a32V[`\0\x91\x82R` \x90\x91 \x01T`\x1E\x80T`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x83\x90\x81\x10a\x17,Wa\x17,a32V[\x90`\0R` `\0 \x01`\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP`\x1E\x80T\x80a\x17kWa\x17ka5\xBDV[`\0\x82\x81R` \x81 \x82\x01`\0\x19\x90\x81\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90U\x90\x91\x01\x90\x91U`@Q`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x7Fp\x9BtP\xBF\xAF\xDA\x93\xEF\xD9\x1D)\x14\x98p\xA7\x94cz\xC9\xD6\x96\xCAab_\xD2\xF55H\xAF\xE0\x91\xA2PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80\x15\x90a\x17\xEBWP`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14\x15[\x15a\x18\x08W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x1F` R`@\x90 T`\xFF\x16\x15a\x18BW`@Qc\xBD4cO`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x1F` R`@\x80\x82 \x80T`\xFF\x19\x16`\x01\x90\x81\x17\x90\x91U`\x1E\x80T\x91\x82\x01\x81U\x83R\x7FP\xBBf\x9A\x95\xC7\xB5\x0B~\x8Ao\tE@4\xB2\xB1L\xF2\xB8\\s\r\xCA\x9AS\x9C\xA8,\xB6\xE3P\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x84\x17\x90UQ\x7F\x16\xCE\x88(\\\xFDY\x82\x9AZ\xA0Cp\xA5\xEC\x80\x90\xA1\x8C\x14\xE7\xE7\xFB\x9DK\x12\xA4\"\x91\xC0\x98\xE3\x91\x90\xA2PV[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81R`\x1F` R`@\x81 T`\xFF\x16a\x19\x07W`@Qcnb?\x0F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x19\x12\x87\x86\x86a%$V[`@\x80Q3` \x80\x83\x01\x91\x90\x91R\x81\x83\x01\x8C\x90R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x93\x84\x90R\x80Q\x91\x01 c\x18* \xC3`\xE3\x1B\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x8B\x16\x91c\xC1Q\x06\x18\x91a\x19o\x91\x8C\x90\x8C\x90\x8A\x90\x8A\x90`d\x01a5\xD3V[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x19\x8EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x19\xB2\x91\x90a4\xA9V[\x9A\x99PPPPPPPPPPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x19\xEAW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x81\x90U`@Q\x81\x90\x7F9Za%\x907)\x8D\x1CL\xD4\xBF\x17{d\xADY\x95\xD3\x8A\x93\x94W?\xCD\x90`\xD6I1J\xD0\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1AGW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x13T\x81\x10\x15a\x1AjW`@Qc\n5S\x9D`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x14\x81\x90U`@Q\x81\x81R\x7F\xA9\xE7\x96\x1B\xB34'\x15\xDB\xEC\xC2\x08\x08zj\x9D\xF8\x98mRK:\n\x82\x9F\xD9\x0FZ/[\xA5>\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1A\xC9W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0BT\x81\x10\x80a\x1A\xE4WP`\nTa\x1A\xE1\x90\x82a3\x10V[\x15\x15[\x80a\x1A\xF0WP`\rT\x81\x11[\x15a\x1B\x0EW`@Qc\xF9\xC0\x95\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0C\x81\x90U`@Q\x81\x81R\x7F1@}\xDD\x17\"\xF5\0\xB8\xAA,\x18\xE1\x129\x86&\xDD|(i\xA5\xF8\x071\xEC0\xB2D\xD9\xB5\xF2\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1BmW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x14T\x81\x11\x15a\x1B\x90W`@QcZ\x8FeW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x13\x81\x90U`@Q\x81\x81R\x7FI\x0E\xB2\xA9\x17F\xAA\x93<\x9F\xFE/y9\xAA\x06I\x8F2Y\x13\x9F\x88\x05\xF0\x08\xB1,\x8CizF\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1B\xEFW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0FT\x81\x10\x15a\x1C\x12W`@Qc~\xDC\x06\x13`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x10\x81\x90U`@Q\x81\x81R\x7F\x0EV\xD8?T\xE6\xF5\xB0\x87\x16\xA5K:\xBD\xB5\x9B0%\xBF\x12\xC1\x87\\\x87\xAB\x98\xAB\x08\x1Do\x83\x81\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1CqW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\x03\xAA[\x0F\xB6P\x14\xEE\xA8\x9F\xDA\x04\xA7\xBC\x11t \x14\x88\x1F<\x07\x8F,u\xB7\"l\xE1\r\x94\x18\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1C\xE5W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xC0I\x05\x8B\x1D\xF2\xDD\x89\x02s\x9C\xEBx\x99-\xF1/\xA86\x9C\x06\xC4P\xB3\xC6xq7\xB4R\xFD\xD2\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1DYW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\nT\x81\x10\x80a\x1DtWP`\nTa\x1Dq\x90\x82a3\x10V[\x15\x15[\x80a\x1D\x80WP`\x0CT\x81\x11[\x15a\x1D\x9EW`@Qc\x02\x19\xD6c`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0B\x81\x90U`@Q\x81\x81R\x7Fo\x81u\xCD\xBA\xC1\xB4\xD28\xAB\xBA$\xA1}%T\xD7\xB9u\x0B\xBE\xDAd\x14\xE1\x91\xC4x8Kv1\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1D\xFDW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x11T\x81\x10\x15a\x1E W`@Qc\x01\x9C\xFB{`\xE6\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x12\x81\x90U`@Q\x81\x81R\x7FO\xA3\\\x11\xCE\x9AE\xAE\x88,\x15N\xCBS\xAB\\\xACR\xA7J[\x9B\x03s\xBE6\xDE\xB3\x0Cx)x\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1E\x7FW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E\x8B`\x1D\x83\x83a,7V[P\x7F*\x85'l\xF6\x04\xA3\x82.\x19\xB2\x9A>\x97\xAE\xBF\xBCG\xA1\x90%\xC2\xE8\xF6\xE8\x0B:\xF7t\xDC\xBC8\x82\x82`@Qa\r\x14\x92\x91\x90a6\x12V[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x1F\x15W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x1E\xF7W[PPPPP\x90P\x90V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1FIW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7Foq\x7F\xB0\xABQ m\xEA@d\xA3\\\x94\xC2xO\x87\x14\xB0\x12\xFB\xDE\x82\x0E\r\xDE\xE3be\xEBj\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1F\xBDW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\x9D>R.\x1EG\xA2\xF6\0\x9794+\x9C\xC7\xB2R\xA1\x88\x81T\xE8C\xABU\xEE\x1C\x81tW\x95\xAB\x90`\0\x90\xA2PV[``\x81\x83\x10a )W`@Qc;'5\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`!T\x82\x11\x15a LW`@Qc\xE0\xF7\xBE\xCB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a V\x83\x83a5\xAAV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a nWa na.1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a \x97W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P\x82[\x82\x81\x10\x15a\x0FNW`!\x81\x81T\x81\x10a \xB7Wa \xB7a32V[\x90`\0R` `\0 \x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x82\x85\x83\x03\x81Q\x81\x10a \xE9Wa \xE9a32V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a \x9CV[a!4`@Q\x80`\x80\x01`@R\x80`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[P`@\x80Q`\x80\x81\x01\x82R`\x15T\x81R`\x16T` \x82\x01R`\x17T\x91\x81\x01\x91\x90\x91R`\x18T``\x82\x01R\x90V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a!\x8BW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x07\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xE5i9\x14\xD1\x9Cx\x9B\xDE\xE5\n6)\x98\xC0\xBC\x8D\x03Z\x83_\x98q\xDA]Q\x15/\x05\x82\xC3O\x90`\0\x90\xA2PV[`\0`!\x82\x81T\x81\x10a!\xEAWa!\xEAa32V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x92\x91PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\"/W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xF3\xE0{K\xB49O/\xF3 \xBD\x1D\xD1QU\x1D\xFF0M^\x94\x8B@\x1D\x85X\xB2(H,\x97\xD8\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\"\xA3W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0CT\x81\x10\x80a\"\xBEWP`\nTa\"\xBB\x90\x82a3\x10V[\x15\x15[\x80a\"\xCAWP`\x0ET\x81\x11[\x15a\"\xE8W`@Qc0\x07\xAD\x01`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\r\x81\x90U`@Q\x81\x81R\x7F\xE9\xEF>\x93\xDF\xF7\x99\xD4\xDB\x8A\x12\xFFy\xE0\x91\x8AZx\xD7[\x10Rxd\xF4\xB1\xC9 \xF6\xF4\xF1x\x90` \x01a\r\xEEV[a#H`@Q\x80`\x80\x01`@R\x80`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[P`@\x80Q`\x80\x81\x01\x82R`\x19T\x81R`\x1AT` \x82\x01R`\x1BT\x91\x81\x01\x91\x90\x91R`\x1CT``\x82\x01R\x90V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a#\x9FW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\rT\x81\x10\x80a#\xBAWP`\nTa#\xB7\x90\x82a3\x10V[\x15\x15[\x15a#\xD8W`@Qc\xCF\xB6\x99\xCB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x81\x90U`@Q\x81\x81R\x7F\x86o\xE9H_\x99\x83\xAF\xCE\xAA\x13\x850{n\xB0\xFD=\xF5\xA2P\xAE+\x0B\xF7m\xC9\xDD\xD3\x16\x92k\x90` \x01a\r\xEEV[``\x81\x83\x10a$/W`@Qc;'5\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x1ET\x82\x11\x15a$RW`@Qc\xE0\xF7\xBE\xCB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a$\\\x83\x83a5\xAAV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$tWa$ta.1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a$\x9DW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P\x82[\x82\x81\x10\x15a\x0FNW`\x1E\x81\x81T\x81\x10a$\xBDWa$\xBDa32V[\x90`\0R` `\0 \x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x82\x85\x83\x03\x81Q\x81\x10a$\xEFWa$\xEFa32V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a$\xA2V[`\0`\x1E\x82\x81T\x81\x10a!\xEAWa!\xEAa32V[`\x0BT\x83a\x01\0\x01Q\x10\x80a%?WP`\x0CT\x83a\x01\0\x01Q\x11[\x80a%[WP`\nT\x83a\x01\0\x01Qa%X\x91\x90a3\x10V[\x15\x15[\x15a%yW`@QcT(sM`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\rT\x83`\xE0\x01Q\x10\x80a%\x92WP`\x0ET\x83`\xE0\x01Q\x11[\x80a%\xB0WP\x82a\x01\0\x01Q\x83`\xE0\x01Qa%\xAD\x91\x90a3\x10V[\x15\x15[\x15a%\xCEW`@Qc%?\xFF\xCF`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0FT\x83`\xC0\x01Q\x10\x80a%\xE7WP`\x10T\x83`\xC0\x01Q\x11[\x15a&\x05W`@Qc\xEF\x9B\xC6_`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x19Ta\x01\xC0\x84\x01QQ\x11\x80a&9WP`\x1AT`\xE0\x84\x01Qa\x01\xC0\x85\x01Q` \x01Qa&7\x91c\x01\xE13\x80\x90a(\x95V[\x11[\x80a&NWP`\x1BTa\x01\xC0\x84\x01Q`@\x01Q\x11[\x80a&cWP`\x1CTa\x01\xC0\x84\x01Q``\x01Q\x11[\x80a&uWP`\x15Ta\x01\xC0\x84\x01QQ\x10[\x80a&\x9EWP`\x16T`\xE0\x84\x01Qa\x01\xC0\x85\x01Q` \x01Qa&\x9C\x91c\x01\xE13\x80\x90a(\xBBV[\x10[\x80a&\xB3WP`\x17Ta\x01\xC0\x84\x01Q`@\x01Q\x10[\x80a&\xC8WP`\x18Ta\x01\xC0\x84\x01Q``\x01Q\x10[\x15a&\xE6W`@Qc-\x87h\xF9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x11T\x82\x10\x80a&\xF7WP`\x12T\x82\x11[\x15a'\x15W`@Qc0UM\xE1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a':f\x11\xC3y7\xE0\x80\0a'4\x85g\x1B\xC1mgN\xC8\0\0a(\xD9V[\x90a(\xF5V[`\x13T\x90\x91Pa'J\x90\x82a(\xF5V[\x82\x10\x80a'}WPa'za'qg\x1B\xC1mgN\xC8\0\0a'k\x86\x85a(\xF5V[\x90a)\x0BV[`\x14T\x90a) V[\x82\x11[\x15a'\x9BW`@Qc\x83\xEB\xDF\xB7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a'\xAB\x83\x86`\xE0\x01Qa)5V[`\x05T`@\x87\x01Q\x91\x92P`\x01`\x01`\xA0\x1B\x03\x91\x82\x16\x91\x16\x14\x15\x80a'\xD6WP`\x06T\x85``\x01Q\x14\x15[\x80a'\xF5WP`\x07Ta\x01`\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(\x14WP`\x08Ta\x01\x80\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(3WP`\tTa\x01\xA0\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(RWP`\x04Ta\x01@\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(aWPa\x01 \x85\x01Q\x15\x15[\x15a(\x7FW`@Qc\xE8\xC0-\xD7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[0a\x01@\x86\x01Ra\x01 \x90\x94\x01\x93\x90\x93RPPPV[`\0\x82`\0\x19\x04\x84\x11\x83\x02\x15\x82\x02a(\xACW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82`\0\x19\x04\x84\x11\x83\x02\x15\x82\x02a(\xD2W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0a(\xEE\x83g\r\xE0\xB6\xB3\xA7d\0\0\x84a(\xBBV[\x93\x92PPPV[`\0\x81\x83\x11a)\x04W\x81a(\xEEV[P\x90\x91\x90PV[`\0a(\xEE\x83\x83g\r\xE0\xB6\xB3\xA7d\0\0a(\xBBV[`\0\x81\x83\x11a)/W\x82a(\xEEV[P\x91\x90PV[`\0\x80a)fa)Wa)I\x86`da6`V[f\xA5\xBB\xED\x86\xC5\xA0\0\x90a)\x0BV[gH\xCD@r(\x1E\0\0\x90a(\xD9V[\x90Pa)zg\r\xE0\xB6\xB3\xA7d\0\0\x82a(\xD9V[\x90Pa)\xD2\x81a'ka)\xA5a)\xA0a)\x9B\x89g\r\xE0\xB6\xB3\xA7d\0\0a6wV[a)\xDAV[a*\x08V[a)\xCCa)\xA0a)\xBA\x8A\x8Ac\x01\xE13\x80a(\xBBV[a)\x9B\x90g\r\xE0\xB6\xB3\xA7d\0\0a6wV[\x90a(\xD9V[\x94\x93PPPPV[`\0`\x01`\x01`\xFF\x1B\x03\x82\x11\x15a*\x04W`@Qc9n\xA7\x01`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x90V[`\0\x80\x82\x13a**W`@Qc\xE6\x1BIu`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Po\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11`\x07\x1B\x81\x81\x1Cg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x10`\x06\x1B\x17\x81\x81\x1Cc\xFF\xFF\xFF\xFF\x10`\x05\x1B\x17\x81\x81\x1Ca\xFF\xFF\x10`\x04\x1B\x17\x81\x81\x1C`\xFF\x10`\x03\x90\x81\x1B\x90\x91\x17\x82\x81\x1C`\x0F\x10`\x02\x1B\x17\x82\x81\x1C\x90\x91\x10`\x01\x90\x81\x1B\x90\x91\x17\x82\x81\x1C\x90\x91\x10\x17`\x9F\x81\x81\x03``\x01\x92\x90\x92\x1B\x91`_\x19\x82\x01\x90a*\xB6\x90\x84\x90\x1Ca)\xDAV[lFWr\xB2\xBB\xBB_\x82K\x15 z0\x81\x01\x81\x02``\x90\x81\x1Dm\x03\x88\xEA\xA2t\x12\xD5\xAC\xA0&\x81]cn\x01\x82\x02\x81\x1Dm\r\xF9\x9A\xC5\x02\x03\x1B\xF9S\xEF\xF4r\xFD\xCC\x01\x82\x02\x81\x1Dm\x13\xCD\xFF\xB2\x9DQ\xD9\x93\"\xBD\xFF_\"\x11\x01\x82\x02\x81\x1Dm\n\x0Ft #\xDE\xF7\x83\xA3\x07\xA9\x86\x91.\x01\x82\x02\x81\x1Dm\x01\x92\r\x80C\xCA\x89\xB5#\x92S(NB\x01\x82\x02\x81\x1Dl\x0Bz\x86\xD77Th\xFA\xC6g\xA0\xA5'\x01l)P\x8EE\x85C\xD8\xAAM\xF2\xAB\xEEx\x83\x01\x83\x02\x82\x1Dm\x019`\x1A.\xFA\xBEq~`L\xBBH\x94\x01\x83\x02\x82\x1Dm\x02$\x7Fz{e\x942\x06I\xAA\x03\xAB\xA1\x01\x83\x02\x82\x1Dl\x8C?8\xE9Zk\x1F\xF2\xAB\x1C;46\x19\x01\x83\x02\x82\x1Dm\x028Gs\xBD\xF1\xACVv\xFA\xCC\xED`\x90\x19\x01\x83\x02\x90\x91\x1Dl\xB9\xA0%\xD8\x14\xB2\x9C!+\x8B\x1A\x07\xCD\x19\x01\x90\x91\x02x\n\tPp\x84\xCCi\x9B\xB0\xE7\x1E\xA8i\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x01\x05q\x13@\xDA\xA0\xD5\xF7i\xDB\xA1\x91\\\xEFY\xF0\x81ZU\x06\x02}\x02g\xA3l\x0C\x95\xB3\x97Z\xB3\xEE[ :v\x14\xA3\xF7Ss\xF0G\xD8\x03\xAE{f\x87\xF2\xB3\x91\x90\x91\x02\x01}W\x11^G\x01\x8Cqw\xEE\xBF|\xD3p\xA35j\x1Bxc\0\x8AZ\xE8\x02\x8Cr\xB8\x86B\x84\x01`\xAE\x1D\x92\x91PPV[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90\x81\x01\x92\x82\x15a,\x8AW\x91` \x02\x82\x01[\x82\x81\x11\x15a,\x8AW\x81T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x845\x16\x17\x82U` \x90\x92\x01\x91`\x01\x90\x91\x01\x90a,WV[Pa*\x04\x92\x91P[\x80\x82\x11\x15a*\x04W`\0\x81U`\x01\x01a,\x92V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a,\xCCW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a,\xB0V[P`\0` \x82\x86\x01\x01R` `\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R`\0a(\xEE` \x83\x01\x84a,\xA6V[`\0`\x80\x82\x84\x03\x12\x15a)/W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a-#W`\0\x80\xFD[P5\x91\x90PV[`\0\x80` \x83\x85\x03\x12\x15a-=W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-UW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a-iW`\0\x80\xFD[\x815\x81\x81\x11\x15a-xW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a-\x8DW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a-\xE0W\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a-\xBBV[P\x90\x96\x95PPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a.\x01W`\0\x80\xFD[PV[\x805a.\x0F\x81a-\xECV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a.&W`\0\x80\xFD[\x815a(\xEE\x81a-\xECV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Qa\x01\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a.kWa.ka.1V[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a.\x82W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a.\x9DWa.\x9Da.1V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a.\xC5Wa.\xC5a.1V[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a.\xDEW`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0`\x80\x82\x84\x03\x12\x15a/\x10W`\0\x80\xFD[`@Q`\x80\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a/3Wa/3a.1V[\x80`@RP\x80\x91P\x825\x81R` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01RP\x92\x91PPV[`\0a\x02@\x82\x84\x03\x12\x15a/wW`\0\x80\xFD[a/\x7Fa.GV[\x90Pa/\x8A\x82a.\x04V[\x81Ra/\x98` \x83\x01a.\x04V[` \x82\x01Ra/\xA9`@\x83\x01a.\x04V[`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015`\x80\x82\x01R`\xA0\x82\x015`\xA0\x82\x01R`\xC0\x82\x015`\xC0\x82\x01R`\xE0\x82\x015`\xE0\x82\x01Ra\x01\0\x80\x83\x015\x81\x83\x01RPa\x01 \x80\x83\x015\x81\x83\x01RPa\x01@a0\x06\x81\x84\x01a.\x04V[\x90\x82\x01Ra\x01`a0\x18\x83\x82\x01a.\x04V[\x90\x82\x01Ra\x01\x80a0*\x83\x82\x01a.\x04V[\x90\x82\x01Ra\x01\xA0a0<\x83\x82\x01a.\x04V[\x90\x82\x01Ra\x01\xC0a0O\x84\x84\x83\x01a.\xFEV[\x90\x82\x01R\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a0kW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a0\x8FWa0\x8Fa.1V[\x81`@R\x82\x93P\x845\x91Pa0\xA3\x82a-\xECV[\x90\x82R` \x84\x015\x90\x81\x15\x15\x82\x14a0\xBAW`\0\x80\xFD[\x81` \x84\x01R`@\x85\x015\x91P\x80\x82\x11\x15a0\xD4W`\0\x80\xFD[Pa0\xE1\x85\x82\x86\x01a.qV[`@\x83\x01RPP\x92\x91PPV[`\0\x80`\0\x80`\0\x80`\0\x80`\0\x80a\x03`\x8B\x8D\x03\x12\x15a1\x0EW`\0\x80\xFD[\x8A5\x99Pa1\x1E` \x8C\x01a.\x04V[\x98P`@\x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a1;W`\0\x80\xFD[a1G\x8E\x83\x8F\x01a.qV[\x99Pa1V\x8E``\x8F\x01a/dV[\x98Pa\x02\xA0\x8D\x015\x91P\x80\x82\x11\x15a1mW`\0\x80\xFD[a1y\x8E\x83\x8F\x01a.qV[\x97Pa\x02\xC0\x8D\x015\x96Pa\x02\xE0\x8D\x015\x95Pa\x03\0\x8D\x015\x94Pa\x03 \x8D\x015\x91P\x80\x82\x11\x15a1\xA8W`\0\x80\xFD[Pa1\xB5\x8D\x82\x8E\x01a0YV[\x92PPa\x03@\x8B\x015\x90P\x92\x95\x98\x9B\x91\x94\x97\x9AP\x92\x95\x98PV[`\0\x80`@\x83\x85\x03\x12\x15a1\xE2W`\0\x80\xFD[\x825a1\xED\x81a-\xECV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0\x80`\0\x80`\0\x80a\x03 \x89\x8B\x03\x12\x15a2\x18W`\0\x80\xFD[\x885\x97P` \x89\x015a2*\x81a-\xECV[\x96Pa29\x8A`@\x8B\x01a/dV[\x95Pa\x02\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a2VW`\0\x80\xFD[a2b\x8B\x82\x8C\x01a.qV[\x98\x9B\x97\x9AP\x95\x98a\x02\xA0\x81\x015\x97a\x02\xC0\x82\x015\x97Pa\x02\xE0\x82\x015\x96Pa\x03\0\x90\x91\x015\x94P\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a2\xA2W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[\x81Q\x81R` \x80\x83\x01Q\x90\x82\x01R`@\x80\x83\x01Q\x90\x82\x01R``\x80\x83\x01Q\x90\x82\x01R`\x80\x81\x01a\x0FPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a2\xF0W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a)/WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[`\0\x82a3-WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x06\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80Q`\x01`\x01`\xA0\x1B\x03\x16\x82R` \x81\x01Qa3o` \x84\x01\x82`\x01`\x01`\xA0\x1B\x03\x16\x90RV[P`@\x81\x01Qa3\x8A`@\x84\x01\x82`\x01`\x01`\xA0\x1B\x03\x16\x90RV[P``\x81\x01Q``\x83\x01R`\x80\x81\x01Q`\x80\x83\x01R`\xA0\x81\x01Q`\xA0\x83\x01R`\xC0\x81\x01Q`\xC0\x83\x01R`\xE0\x81\x01Q`\xE0\x83\x01Ra\x01\0\x80\x82\x01Q\x81\x84\x01RPa\x01 \x80\x82\x01Q\x81\x84\x01RPa\x01@\x80\x82\x01Qa3\xF0\x82\x85\x01\x82`\x01`\x01`\xA0\x1B\x03\x16\x90RV[PPa\x01`\x81\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x84\x01\x91\x90\x91Ra\x01\x80\x80\x83\x01Q\x82\x16\x90\x84\x01Ra\x01\xA0\x80\x83\x01Q\x90\x91\x16\x90\x83\x01Ra\x01\xC0\x90\x81\x01Q\x80Q\x91\x83\x01\x91\x90\x91R` \x81\x01Qa\x01\xE0\x83\x01R`@\x81\x01Qa\x02\0\x83\x01R``\x01Qa\x02 \x90\x91\x01RV[`\0a\x02\xC0\x87\x83R\x80` \x84\x01Ra4s\x81\x84\x01\x88a,\xA6V[\x90Pa4\x82`@\x84\x01\x87a3HV[\x82\x81\x03a\x02\x80\x84\x01Ra4\x95\x81\x86a,\xA6V[\x91PP\x82a\x02\xA0\x83\x01R\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a4\xBBW`\0\x80\xFD[\x81Qa(\xEE\x81a-\xECV[`\x01`\x01`\xA0\x1B\x03\x85\x16\x81Ra\x02\xA0` \x82\x01\x81\x90R`\0\x90a4\xEB\x83\x82\x01\x87a,\xA6V[\x90Pa4\xFA`@\x84\x01\x86a3HV[\x82\x81\x03a\x02\x80\x84\x01Ra5\r\x81\x85a,\xA6V[\x97\x96PPPPPPPV[\x85\x81R`\0`\x01\x80`\xA0\x1B\x03\x80\x87\x16` \x84\x01R\x85`@\x84\x01R\x84``\x84\x01R`\xA0`\x80\x84\x01R\x80\x84Q\x16`\xA0\x84\x01RP` \x83\x01Q\x15\x15`\xC0\x83\x01R`@\x83\x01Q```\xE0\x84\x01Ra5oa\x01\0\x84\x01\x82a,\xA6V[\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a5\x8DW`\0\x80\xFD[PQ\x91\x90PV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x0FPWa\x0FPa5\x94V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD[`\0a\x02\xC0\x87\x83Ra5\xE8` \x84\x01\x88a3HV[\x80a\x02`\x84\x01Ra5\xFB\x81\x84\x01\x87a,\xA6V[a\x02\x80\x84\x01\x95\x90\x95RPPa\x02\xA0\x01R\x93\x92PPPV[` \x80\x82R\x81\x81\x01\x83\x90R`\0\x90\x84`@\x84\x01\x83[\x86\x81\x10\x15a6UW\x825a6:\x81a-\xECV[`\x01`\x01`\xA0\x1B\x03\x16\x82R\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a6'V[P\x96\x95PPPPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0FPWa\x0FPa5\x94V[\x80\x82\x01\x80\x82\x11\x15a\x0FPWa\x0FPa5\x94V\xFE\xA2dipfsX\"\x12 \x97\x13\x02\xAB,\xEC\x02\xD5^\xFBI\x8E=\xCE\x0C\x85\xFEwsc\xFE\xCF\xB7\x8BgF\xD2n\xE19\xC2\xD5dsolcC\0\x08\x16\x003";
2712    /// The bytecode of the contract.
2713    pub static HYPERDRIVEFACTORY_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
2714        __BYTECODE,
2715    );
2716    #[rustfmt::skip]
2717    const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x03\xA6W`\x005`\xE0\x1C\x80c\x8E\x12|\xF5\x11a\x01\xE7W\x80c\xD2\xC3\\\xE8\x11a\x01\rW\x80c\xE4\xE7\x14\x8F\x11a\0\xA0W\x80c\xEC\x89_\x11\x11a\0oW\x80c\xEC\x89_\x11\x14a\n\xE9W\x80c\xF2YdX\x14a\x0B\tW\x80c\xF8\xC0\x9EY\x14a\x0B)W\x80c\xFE=Z\xEB\x14a\x0BYW`\0\x80\xFD[\x80c\xE4\xE7\x14\x8F\x14a\ntW\x80c\xE7\x1F4\xB3\x14a\n\x94W\x80c\xE8>4\xB1\x14a\n\xB4W\x80c\xEBq\xF6l\x14a\n\xC9W`\0\x80\xFD[\x80c\xDD+\x8F\xBB\x11a\0\xDCW\x80c\xDD+\x8F\xBB\x14a\n\tW\x80c\xE0\xE2\xDA\xAA\x14a\n)W\x80c\xE1\xB3\x9C\x80\x14a\n?W\x80c\xE33\x15U\x14a\nTW`\0\x80\xFD[\x80c\xD2\xC3\\\xE8\x14a\t\x9DW\x80c\xD6\xF5\x01i\x14a\t\xBDW\x80c\xDA\xAC$\xDA\x14a\t\xD3W\x80c\xDA\xF0\x12\xE6\x14a\t\xF3W`\0\x80\xFD[\x80c\xB2V\x12c\x11a\x01\x85W\x80c\xC4\x15\xB9\\\x11a\x01TW\x80c\xC4\x15\xB9\\\x14a\t;W\x80c\xC9\x05\xA4\xB5\x14a\t[W\x80c\xD0\xF9k\x92\x14a\tqW\x80c\xD2=~\xA3\x14a\t\x87W`\0\x80\xFD[\x80c\xB2V\x12c\x14a\x08\xC3W\x80c\xBC0\xE7\xA1\x14a\x08\xE3W\x80c\xBF\x9B\xD5\xCD\x14a\t\x03W\x80c\xC1r%c\x14a\t\x19W`\0\x80\xFD[\x80c\x99b;\xB1\x11a\x01\xC1W\x80c\x99b;\xB1\x14a\x08NW\x80c\x9A\xF2Rb\x14a\x08nW\x80c\xA6L\x90\xBF\x14a\x08\x8EW\x80c\xA9\x8AF\xDB\x14a\x08\xA3W`\0\x80\xFD[\x80c\x8E\x12|\xF5\x14a\x07\xF8W\x80c\x8E\xFC\t\x86\x14a\x08\x18W\x80c\x97\xB0\xE8\xCE\x14a\x08.W`\0\x80\xFD[\x80cET\xF9\xA9\x11a\x02\xCCW\x80cb\x80'\xA3\x11a\x02jW\x80c\x83\xB3a\xE8\x11a\x029W\x80c\x83\xB3a\xE8\x14a\x07xW\x80c\x84\xC1\x9A\xAB\x14a\x07\x98W\x80c\x85\"\x97\x85\x14a\x07\xB8W\x80c\x86'\xA4\xF0\x14a\x07\xD8W`\0\x80\xFD[\x80cb\x80'\xA3\x14a\x06\xE3W\x80ckD\xE6\xBE\x14a\x07\x03W\x80cn\x95\xD6|\x14a\x07CW\x80com\\J\x14a\x07XW`\0\x80\xFD[\x80cO\xBF\xEEw\x11a\x02\xA6W\x80cO\xBF\xEEw\x14a\x06ZW\x80cT\xFDMP\x14a\x06zW\x80cW \xC9\xD5\x14a\x06\xADW\x80cZ\xA6\xE6u\x14a\x06\xC3W`\0\x80\xFD[\x80cET\xF9\xA9\x14a\x06\x0EW\x80cH\x80\x07`\x14a\x06$W\x80cI\xF1=\xE7\x14a\x06:W`\0\x80\xFD[\x80c\x1E\xCD\xA0\xFE\x11a\x03DW\x80c.|\xD9q\x11a\x03\x13W\x80c.|\xD9q\x14a\x05\x9BW\x80c>- \x14\x14a\x05\xAEW\x80cA\x1C05\x14a\x05\xCEW\x80cB\x1C\xAB\xA8\x14a\x05\xEEW`\0\x80\xFD[\x80c\x1E\xCD\xA0\xFE\x14a\x05\x02W\x80c(\x85\xE3\xAC\x14a\x05&W\x80c)\x07\xD3\xDD\x14a\x05FW\x80c+X\xF4\x18\x14a\x05fW`\0\x80\xFD[\x80c\x10\xD1\xDC>\x11a\x03\x80W\x80c\x10\xD1\xDC>\x14a\x04uW\x80c\x11\xE7{\xFE\x14a\x04\x95W\x80c\x19x\xEB\xCF\x14a\x04\xB5W\x80c\x1BY\xBE\x0C\x14a\x04\xD5W`\0\x80\xFD[\x80c\x04\xBA\xA0\x0B\x14a\x03\xD5W\x80c\x06\xFD\xDE\x03\x14a\x04(W\x80c\x10x\x0Fs\x14a\x04=W`\0\x80\xFD[6a\x03\xD0W`\x02`\x01T\x03a\x03\xCEW`@Qc\n\xACu\xB5`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\0[`\0\x80\xFD[4\x80\x15a\x03\xE1W`\0\x80\xFD[Pa\x04\x12`@Q\x80`@\x01`@R\x80`\x11\x81R` \x01pHyperdriveFactory`x\x1B\x81RP\x81V[`@Qa\x04\x1F\x91\x90a,\xECV[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x044W`\0\x80\xFD[Pa\x04\x12a\x0ByV[4\x80\x15a\x04IW`\0\x80\xFD[P`\x08Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x04\x1FV[4\x80\x15a\x04\x81W`\0\x80\xFD[Pa\x03\xCEa\x04\x906`\x04a,\xFFV[a\x0C\x07V[4\x80\x15a\x04\xA1W`\0\x80\xFD[Pa\x03\xCEa\x04\xB06`\x04a-\x11V[a\r V[4\x80\x15a\x04\xC1W`\0\x80\xFD[Pa\x03\xCEa\x04\xD06`\x04a-\x11V[a\r\xF9V[4\x80\x15a\x04\xE1W`\0\x80\xFD[Pa\x04\xF5a\x04\xF06`\x04a-*V[a\x0E{V[`@Qa\x04\x1F\x91\x90a-\x9FV[4\x80\x15a\x05\x0EW`\0\x80\xFD[Pa\x05\x18`\x0FT\x81V[`@Q\x90\x81R` \x01a\x04\x1FV[4\x80\x15a\x052W`\0\x80\xFD[Pa\x03\xCEa\x05A6`\x04a,\xFFV[a\x0FVV[4\x80\x15a\x05RW`\0\x80\xFD[Pa\x03\xCEa\x05a6`\x04a-\x11V[a\x10\xBCV[4\x80\x15a\x05rW`\0\x80\xFD[Pa\x04]a\x05\x816`\x04a.\x14V[` \x80R`\0\x90\x81R`@\x90 T`\x01`\x01`\xA0\x1B\x03\x16\x81V[a\x04]a\x05\xA96`\x04a0\xEEV[a\x11>V[4\x80\x15a\x05\xBAW`\0\x80\xFD[Pa\x03\xCEa\x05\xC96`\x04a.\x14V[a\x15\x80V[4\x80\x15a\x05\xDAW`\0\x80\xFD[Pa\x03\xCEa\x05\xE96`\x04a1\xCFV[a\x15\xF4V[4\x80\x15a\x05\xFAW`\0\x80\xFD[Pa\x03\xCEa\x06\t6`\x04a.\x14V[a\x17\xC5V[4\x80\x15a\x06\x1AW`\0\x80\xFD[Pa\x05\x18`\x10T\x81V[4\x80\x15a\x060W`\0\x80\xFD[Pa\x05\x18`\x14T\x81V[4\x80\x15a\x06FW`\0\x80\xFD[Pa\x04]a\x06U6`\x04a1\xFBV[a\x18\xCEV[4\x80\x15a\x06fW`\0\x80\xFD[Pa\x03\xCEa\x06u6`\x04a-\x11V[a\x19\xC0V[4\x80\x15a\x06\x86W`\0\x80\xFD[Pa\x04\x12`@Q\x80`@\x01`@R\x80`\x07\x81R` \x01fv1.0.17`\xC8\x1B\x81RP\x81V[4\x80\x15a\x06\xB9W`\0\x80\xFD[Pa\x05\x18`\x0BT\x81V[4\x80\x15a\x06\xCFW`\0\x80\xFD[P`\x02Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x06\xEFW`\0\x80\xFD[Pa\x03\xCEa\x06\xFE6`\x04a-\x11V[a\x1A\x1DV[4\x80\x15a\x07\x0FW`\0\x80\xFD[Pa\x073a\x07\x1E6`\x04a.\x14V[`\"` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\x04\x1FV[4\x80\x15a\x07OW`\0\x80\xFD[P`!Ta\x05\x18V[4\x80\x15a\x07dW`\0\x80\xFD[Pa\x03\xCEa\x07s6`\x04a-\x11V[a\x1A\x9FV[4\x80\x15a\x07\x84W`\0\x80\xFD[Pa\x03\xCEa\x07\x936`\x04a-\x11V[a\x1BCV[4\x80\x15a\x07\xA4W`\0\x80\xFD[Pa\x03\xCEa\x07\xB36`\x04a-\x11V[a\x1B\xC5V[4\x80\x15a\x07\xC4W`\0\x80\xFD[Pa\x03\xCEa\x07\xD36`\x04a.\x14V[a\x1CGV[4\x80\x15a\x07\xE4W`\0\x80\xFD[Pa\x03\xCEa\x07\xF36`\x04a.\x14V[a\x1C\xBBV[4\x80\x15a\x08\x04W`\0\x80\xFD[Pa\x03\xCEa\x08\x136`\x04a-\x11V[a\x1D/V[4\x80\x15a\x08$W`\0\x80\xFD[Pa\x05\x18`\x0ET\x81V[4\x80\x15a\x08:W`\0\x80\xFD[Pa\x03\xCEa\x08I6`\x04a-\x11V[a\x1D\xD3V[4\x80\x15a\x08ZW`\0\x80\xFD[P`\x05Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x08zW`\0\x80\xFD[Pa\x03\xCEa\x08\x896`\x04a-*V[a\x1EUV[4\x80\x15a\x08\x9AW`\0\x80\xFD[Pa\x04\xF5a\x1E\xBDV[4\x80\x15a\x08\xAFW`\0\x80\xFD[Pa\x03\xCEa\x08\xBE6`\x04a.\x14V[a\x1F\x1FV[4\x80\x15a\x08\xCFW`\0\x80\xFD[Pa\x03\xCEa\x08\xDE6`\x04a.\x14V[a\x1F\x93V[4\x80\x15a\x08\xEFW`\0\x80\xFD[Pa\x04\xF5a\x08\xFE6`\x04a2\x8FV[a \x07V[4\x80\x15a\t\x0FW`\0\x80\xFD[Pa\x05\x18`\x12T\x81V[4\x80\x15a\t%W`\0\x80\xFD[Pa\t.a!\tV[`@Qa\x04\x1F\x91\x90a2\xB1V[4\x80\x15a\tGW`\0\x80\xFD[P`\x07Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\tgW`\0\x80\xFD[Pa\x05\x18`\x06T\x81V[4\x80\x15a\t}W`\0\x80\xFD[Pa\x05\x18`\nT\x81V[4\x80\x15a\t\x93W`\0\x80\xFD[Pa\x05\x18`\x11T\x81V[4\x80\x15a\t\xA9W`\0\x80\xFD[Pa\x03\xCEa\t\xB86`\x04a.\x14V[a!aV[4\x80\x15a\t\xC9W`\0\x80\xFD[Pa\x05\x18`\x13T\x81V[4\x80\x15a\t\xDFW`\0\x80\xFD[Pa\x04]a\t\xEE6`\x04a-\x11V[a!\xD5V[4\x80\x15a\t\xFFW`\0\x80\xFD[Pa\x05\x18`\rT\x81V[4\x80\x15a\n\x15W`\0\x80\xFD[Pa\x03\xCEa\n$6`\x04a.\x14V[a\"\x05V[4\x80\x15a\n5W`\0\x80\xFD[Pa\x05\x18`\x0CT\x81V[4\x80\x15a\nKW`\0\x80\xFD[P`\x1ETa\x05\x18V[4\x80\x15a\n`W`\0\x80\xFD[P`\x04Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\n\x80W`\0\x80\xFD[P`\x03Ta\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\n\xA0W`\0\x80\xFD[Pa\x03\xCEa\n\xAF6`\x04a-\x11V[a\"yV[4\x80\x15a\n\xC0W`\0\x80\xFD[Pa\t.a#\x1DV[4\x80\x15a\n\xD5W`\0\x80\xFD[Pa\x03\xCEa\n\xE46`\x04a-\x11V[a#uV[4\x80\x15a\n\xF5W`\0\x80\xFD[Pa\x04\xF5a\x0B\x046`\x04a2\x8FV[a$\rV[4\x80\x15a\x0B\x15W`\0\x80\xFD[P`\tTa\x04]\x90`\x01`\x01`\xA0\x1B\x03\x16\x81V[4\x80\x15a\x0B5W`\0\x80\xFD[Pa\x073a\x0BD6`\x04a.\x14V[`\x1F` R`\0\x90\x81R`@\x90 T`\xFF\x16\x81V[4\x80\x15a\x0BeW`\0\x80\xFD[Pa\x04]a\x0Bt6`\x04a-\x11V[a%\x0FV[`\0\x80Ta\x0B\x86\x90a2\xDCV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x0B\xB2\x90a2\xDCV[\x80\x15a\x0B\xFFW\x80`\x1F\x10a\x0B\xD4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x0B\xFFV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x0B\xE2W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0C1W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\x80\x81\x01\x82R`\x19T\x80\x82R`\x1AT` \x83\x01R`\x1BT\x92\x82\x01\x92\x90\x92R`\x1CT``\x82\x01R\x90\x825\x11\x80a\x0CqWP\x80` \x01Q\x82` \x015\x11[\x80a\x0C\x83WP\x80`@\x01Q\x82`@\x015\x11[\x80a\x0C\x95WP\x80``\x01Q\x82``\x015\x11[\x15a\x0C\xB3W`@Qc\x15\xB0Z\x8F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x815`\x15\x81\x90U` \x80\x84\x015`\x16\x81\x90U`@\x80\x86\x015`\x17\x81\x90U``\x80\x88\x015`\x18\x81\x90U\x83Q\x96\x87R\x94\x86\x01\x93\x90\x93R\x90\x84\x01R\x82\x01R\x7F\xE1\xC4_\x8A\xEBT?0\xB3|\xC2\xFC\xCF\xBA\xC0\xF3,\xC8\xF24(M\xF9!\xD7\x1C\xFF\x04\xE5\x1E\xF4!\x90`\x80\x01[`@Q\x80\x91\x03\x90\xA1PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\rJW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x80`\x0BTa\rX\x91\x90a3\x10V[\x15\x15\x80a\rqWP\x80`\x0CTa\rn\x91\x90a3\x10V[\x15\x15[\x80a\r\x88WP\x80`\rTa\r\x85\x91\x90a3\x10V[\x15\x15[\x80a\r\x9FWP\x80`\x0ETa\r\x9C\x91\x90a3\x10V[\x15\x15[\x15a\r\xBDW`@Qc\x11\xB7\\\x15`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\n\x81\x90U`@Q\x81\x81R\x7F\x04\xED\x83[H\x8BO\xCF\n!*F\xEDg\xCB\xBF\xFC/\xC8\x1B\\\xB6\xA1,Ter\xCB\xF7\xB7\xE0j\x90` \x01[`@Q\x80\x91\x03\x90\xA1PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0E#W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x12T\x81\x11\x15a\x0EFW`@Qc\x16p\xF7\x97`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x11\x81\x90U`@Q\x81\x81R\x7F\xAA\xB0\xEE\x91\0b\x9C@ZMu3n\x16@\xCC\x81\xE0`\x8F\xB0\xD7\xF1s\x89\xC0n\xE8\xD4\xF0!\x91\x90` \x01a\r\xEEV[`!T``\x90g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0E\x99Wa\x0E\x99a.1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a\x0E\xC2W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P`\0[\x82\x81\x10\x15a\x0FNW` `\0\x85\x85\x84\x81\x81\x10a\x0E\xE6Wa\x0E\xE6a32V[\x90P` \x02\x01` \x81\x01\x90a\x0E\xFB\x91\x90a.\x14V[`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x82R` \x82\x01\x92\x90\x92R`@\x01`\0 T\x83Q\x91\x16\x90\x83\x90\x83\x90\x81\x10a\x0F.Wa\x0F.a32V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a\x0E\xC8V[P[\x92\x91PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x0F\x80W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q`\x80\x81\x01\x82R`\x15T\x81R`\x16T` \x82\x01R`\x17T\x91\x81\x01\x91\x90\x91R`\x18T``\x82\x01Rg\r\xE0\xB6\xB3\xA7d\0\0\x825\x11\x80a\x0F\xCBWPg\r\xE0\xB6\xB3\xA7d\0\0\x82` \x015\x11[\x80a\x0F\xE1WPg\r\xE0\xB6\xB3\xA7d\0\0\x82`@\x015\x11[\x80a\x0F\xF7WPg\r\xE0\xB6\xB3\xA7d\0\0\x82``\x015\x11[\x80a\x10\x03WP\x80Q\x825\x10[\x80a\x10\x15WP\x80` \x01Q\x82` \x015\x10[\x80a\x10'WP\x80`@\x01Q\x82`@\x015\x10[\x80a\x109WP\x80``\x01Q\x82``\x015\x10[\x15a\x10WW`@Qc\x16\x10q\xFB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x815`\x19\x81\x90U` \x80\x84\x015`\x1A\x81\x90U`@\x80\x86\x015`\x1B\x81\x90U``\x80\x88\x015`\x1C\x81\x90U\x83Q\x96\x87R\x94\x86\x01\x93\x90\x93R\x90\x84\x01R\x82\x01R\x7F\x8C`\x93\xC7\xE6]\xD8b\xE8\x81bw\x0CN\x15n\x8A\r\xA5}%\xD9a\xE0\xFBo(\xCF\xB7\xFF\x89\xA7\x90`\x80\x01a\r\x14V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x10\xE6W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x10T\x81\x11\x15a\x11\tW`@Qc(\xA2\xD9\xA9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0F\x81\x90U`@Q\x81\x81R\x7FA\xF7)\xB91\xAD\x8E3\xD6\x97\xFF\xF6\xBCg6\xA1\xACn\xE0\x9E\x82e\xEF\xAE'\x94\xAC\x165\xC2\x17\xA6\x90` \x01a\r\xEEV[`\x01`\x01`\xA0\x1B\x03\x89\x16`\0\x90\x81R`\x1F` R`@\x81 T`\xFF\x16a\x11wW`@Qcnb?\x0F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x11\x82\x88\x86\x86a%$V[`@\x80Q3` \x80\x83\x01\x91\x90\x91R\x81\x83\x01\x8E\x90R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x93\x84\x90R\x80Q\x91\x01 c\x1D2\x1Du`\xE3\x1B\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x8D\x16\x91c\xE9\x90\xEB\xA8\x91a\x11\xDF\x91\x8E\x90\x8E\x90\x8E\x90\x8A\x90`d\x01a4YV[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x11\xFEW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x12\"\x91\x90a4\xA9V[\x90P\x8A` `\0\x83`\x01`\x01`\xA0\x1B\x03\x16`\x01`\x01`\xA0\x1B\x03\x16\x81R` \x01\x90\x81R` \x01`\0 `\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP`\x04`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x89a\x01@\x01\x90`\x01`\x01`\xA0\x1B\x03\x16\x90\x81`\x01`\x01`\xA0\x1B\x03\x16\x81RPP\x8A`\x01`\x01`\xA0\x1B\x03\x16\x7F\xB2[\x0F\x0F\x93 \x9B\xE0\x81R\x12/\x13!\xF6\xB0\xEFU\x9A\x93\xA6v\x95\xFF\xF5\xFE\xA3\xE5\xED#De\x82\x8C\x8C\x8C`@Qa\x12\xE1\x94\x93\x92\x91\x90a4\xC6V[`@Q\x80\x91\x03\x90\xA2`!\x80T`\x01\x80\x82\x01\x90\x92U\x7F:cW\x01,\x1A:\xE0\xA1}0L\x99 1\x03\x82\xD9h\xEB\xCCK\x17q\xF4\x1Ck0B\x05\xB5p\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x84\x81\x16\x91\x82\x17\x90\x92U`\0\x90\x81R`\"` \x90\x81R`@\x91\x82\x90 \x80T`\xFF\x19\x16\x85\x17\x90U\x92\x80U\x80Q3\x93\x81\x01\x93\x90\x93R\x82\x01\x8E\x90R\x8C\x16\x90c\x16\xAB\xFCp\x904\x90``\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 3\x8B\x8B\x8A`@Q\x87c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x13\xAA\x95\x94\x93\x92\x91\x90a5\x18V[` `@Q\x80\x83\x03\x81\x85\x88Z\xF1\x15\x80\x15a\x13\xC8W=`\0\x80>=`\0\xFD[PPPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x13\xED\x91\x90a5{V[P`\x02`\x01U`\0[`\x1DT\x81\x10\x15a\x14\x9AW\x81`\x01`\x01`\xA0\x1B\x03\x16cq\x80\xC8\xCA`\x1D\x83\x81T\x81\x10a\x14\"Wa\x14\"a32V[`\0\x91\x82R` \x90\x91 \x01T`@Q`\xE0\x83\x90\x1B`\x01`\x01`\xE0\x1B\x03\x19\x16\x81R`\x01`\x01`\xA0\x1B\x03\x90\x91\x16`\x04\x82\x01R`\x01`$\x82\x01R`D\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x14vW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x14\x8AW=`\0\x80>=`\0\xFD[PP`\x01\x90\x92\x01\x91Pa\x13\xF6\x90PV[P`\x04\x80T`@Qc\xAB\x03>\xA9`\xE0\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x91\x82\x16\x92\x81\x01\x92\x90\x92R\x82\x16\x90c\xAB\x03>\xA9\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x14\xE4W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x14\xF8W=`\0\x80>=`\0\xFD[PG\x92PP\x81\x15\x90Pa\x15pW`@Q`\0\x903\x90\x83\x90\x83\x81\x81\x81\x85\x87Z\xF1\x92PPP=\x80`\0\x81\x14a\x15GW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=`\0` \x84\x01>a\x15LV[``\x91P[PP\x90P\x80a\x15nW`@Qc\x12\x17\x1D\x83`\xE3\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P[P\x9B\x9APPPPPPPPPPPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x15\xAAW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\t\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xAE\x06/\xB8,\x93,e<\xD4F\x174>\xCD\xA1\xD1>7^\ro \xD9i\xC9D\xFB\xDA\x19c\xD3\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80\x15\x90a\x16\x1AWP`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14\x15[\x15a\x167W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x1F` R`@\x90 T`\xFF\x16a\x16pW`@QcK\xF1!\xAB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[\x81`\x01`\x01`\xA0\x1B\x03\x16`\x1E\x82\x81T\x81\x10a\x16\x8DWa\x16\x8Da32V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x14a\x16\xC0W`@Qc\x0F'\0\xCB`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R`\x1F` R`@\x90 \x80T`\xFF\x19\x16\x90U`\x1E\x80Ta\x16\xF0\x90`\x01\x90a5\xAAV[\x81T\x81\x10a\x17\0Wa\x17\0a32V[`\0\x91\x82R` \x90\x91 \x01T`\x1E\x80T`\x01`\x01`\xA0\x1B\x03\x90\x92\x16\x91\x83\x90\x81\x10a\x17,Wa\x17,a32V[\x90`\0R` `\0 \x01`\0a\x01\0\n\x81T\x81`\x01`\x01`\xA0\x1B\x03\x02\x19\x16\x90\x83`\x01`\x01`\xA0\x1B\x03\x16\x02\x17\x90UP`\x1E\x80T\x80a\x17kWa\x17ka5\xBDV[`\0\x82\x81R` \x81 \x82\x01`\0\x19\x90\x81\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90U\x90\x91\x01\x90\x91U`@Q`\x01`\x01`\xA0\x1B\x03\x84\x16\x91\x7Fp\x9BtP\xBF\xAF\xDA\x93\xEF\xD9\x1D)\x14\x98p\xA7\x94cz\xC9\xD6\x96\xCAab_\xD2\xF55H\xAF\xE0\x91\xA2PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14\x80\x15\x90a\x17\xEBWP`\x03T`\x01`\x01`\xA0\x1B\x03\x163\x14\x15[\x15a\x18\x08W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x90\x81R`\x1F` R`@\x90 T`\xFF\x16\x15a\x18BW`@Qc\xBD4cO`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x01`\x01`\xA0\x1B\x03\x81\x16`\0\x81\x81R`\x1F` R`@\x80\x82 \x80T`\xFF\x19\x16`\x01\x90\x81\x17\x90\x91U`\x1E\x80T\x91\x82\x01\x81U\x83R\x7FP\xBBf\x9A\x95\xC7\xB5\x0B~\x8Ao\tE@4\xB2\xB1L\xF2\xB8\\s\r\xCA\x9AS\x9C\xA8,\xB6\xE3P\x01\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x84\x17\x90UQ\x7F\x16\xCE\x88(\\\xFDY\x82\x9AZ\xA0Cp\xA5\xEC\x80\x90\xA1\x8C\x14\xE7\xE7\xFB\x9DK\x12\xA4\"\x91\xC0\x98\xE3\x91\x90\xA2PV[`\x01`\x01`\xA0\x1B\x03\x87\x16`\0\x90\x81R`\x1F` R`@\x81 T`\xFF\x16a\x19\x07W`@Qcnb?\x0F`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x19\x12\x87\x86\x86a%$V[`@\x80Q3` \x80\x83\x01\x91\x90\x91R\x81\x83\x01\x8C\x90R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x93\x84\x90R\x80Q\x91\x01 c\x18* \xC3`\xE3\x1B\x90\x92R`\0\x91`\x01`\x01`\xA0\x1B\x03\x8B\x16\x91c\xC1Q\x06\x18\x91a\x19o\x91\x8C\x90\x8C\x90\x8A\x90\x8A\x90`d\x01a5\xD3V[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x19\x8EW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x19\xB2\x91\x90a4\xA9V[\x9A\x99PPPPPPPPPPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x19\xEAW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x06\x81\x90U`@Q\x81\x90\x7F9Za%\x907)\x8D\x1CL\xD4\xBF\x17{d\xADY\x95\xD3\x8A\x93\x94W?\xCD\x90`\xD6I1J\xD0\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1AGW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x13T\x81\x10\x15a\x1AjW`@Qc\n5S\x9D`\xE4\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x14\x81\x90U`@Q\x81\x81R\x7F\xA9\xE7\x96\x1B\xB34'\x15\xDB\xEC\xC2\x08\x08zj\x9D\xF8\x98mRK:\n\x82\x9F\xD9\x0FZ/[\xA5>\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1A\xC9W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0BT\x81\x10\x80a\x1A\xE4WP`\nTa\x1A\xE1\x90\x82a3\x10V[\x15\x15[\x80a\x1A\xF0WP`\rT\x81\x11[\x15a\x1B\x0EW`@Qc\xF9\xC0\x95\x9D`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0C\x81\x90U`@Q\x81\x81R\x7F1@}\xDD\x17\"\xF5\0\xB8\xAA,\x18\xE1\x129\x86&\xDD|(i\xA5\xF8\x071\xEC0\xB2D\xD9\xB5\xF2\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1BmW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x14T\x81\x11\x15a\x1B\x90W`@QcZ\x8FeW`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x13\x81\x90U`@Q\x81\x81R\x7FI\x0E\xB2\xA9\x17F\xAA\x93<\x9F\xFE/y9\xAA\x06I\x8F2Y\x13\x9F\x88\x05\xF0\x08\xB1,\x8CizF\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1B\xEFW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0FT\x81\x10\x15a\x1C\x12W`@Qc~\xDC\x06\x13`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x10\x81\x90U`@Q\x81\x81R\x7F\x0EV\xD8?T\xE6\xF5\xB0\x87\x16\xA5K:\xBD\xB5\x9B0%\xBF\x12\xC1\x87\\\x87\xAB\x98\xAB\x08\x1Do\x83\x81\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1CqW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x05\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\x03\xAA[\x0F\xB6P\x14\xEE\xA8\x9F\xDA\x04\xA7\xBC\x11t \x14\x88\x1F<\x07\x8F,u\xB7\"l\xE1\r\x94\x18\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1C\xE5W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x08\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xC0I\x05\x8B\x1D\xF2\xDD\x89\x02s\x9C\xEBx\x99-\xF1/\xA86\x9C\x06\xC4P\xB3\xC6xq7\xB4R\xFD\xD2\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1DYW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\nT\x81\x10\x80a\x1DtWP`\nTa\x1Dq\x90\x82a3\x10V[\x15\x15[\x80a\x1D\x80WP`\x0CT\x81\x11[\x15a\x1D\x9EW`@Qc\x02\x19\xD6c`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0B\x81\x90U`@Q\x81\x81R\x7Fo\x81u\xCD\xBA\xC1\xB4\xD28\xAB\xBA$\xA1}%T\xD7\xB9u\x0B\xBE\xDAd\x14\xE1\x91\xC4x8Kv1\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1D\xFDW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x11T\x81\x10\x15a\x1E W`@Qc\x01\x9C\xFB{`\xE6\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x12\x81\x90U`@Q\x81\x81R\x7FO\xA3\\\x11\xCE\x9AE\xAE\x88,\x15N\xCBS\xAB\\\xACR\xA7J[\x9B\x03s\xBE6\xDE\xB3\x0Cx)x\x90` \x01a\r\xEEV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1E\x7FW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x1E\x8B`\x1D\x83\x83a,7V[P\x7F*\x85'l\xF6\x04\xA3\x82.\x19\xB2\x9A>\x97\xAE\xBF\xBCG\xA1\x90%\xC2\xE8\xF6\xE8\x0B:\xF7t\xDC\xBC8\x82\x82`@Qa\r\x14\x92\x91\x90a6\x12V[```\x1D\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x1F\x15W` \x02\x82\x01\x91\x90`\0R` `\0 \x90[\x81T`\x01`\x01`\xA0\x1B\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x1E\xF7W[PPPPP\x90P\x90V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1FIW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x03\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7Foq\x7F\xB0\xABQ m\xEA@d\xA3\\\x94\xC2xO\x87\x14\xB0\x12\xFB\xDE\x82\x0E\r\xDE\xE3be\xEBj\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\x1F\xBDW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x02\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\x9D>R.\x1EG\xA2\xF6\0\x9794+\x9C\xC7\xB2R\xA1\x88\x81T\xE8C\xABU\xEE\x1C\x81tW\x95\xAB\x90`\0\x90\xA2PV[``\x81\x83\x10a )W`@Qc;'5\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`!T\x82\x11\x15a LW`@Qc\xE0\xF7\xBE\xCB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a V\x83\x83a5\xAAV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a nWa na.1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a \x97W\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P\x82[\x82\x81\x10\x15a\x0FNW`!\x81\x81T\x81\x10a \xB7Wa \xB7a32V[\x90`\0R` `\0 \x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x82\x85\x83\x03\x81Q\x81\x10a \xE9Wa \xE9a32V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a \x9CV[a!4`@Q\x80`\x80\x01`@R\x80`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[P`@\x80Q`\x80\x81\x01\x82R`\x15T\x81R`\x16T` \x82\x01R`\x17T\x91\x81\x01\x91\x90\x91R`\x18T``\x82\x01R\x90V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a!\x8BW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x07\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xE5i9\x14\xD1\x9Cx\x9B\xDE\xE5\n6)\x98\xC0\xBC\x8D\x03Z\x83_\x98q\xDA]Q\x15/\x05\x82\xC3O\x90`\0\x90\xA2PV[`\0`!\x82\x81T\x81\x10a!\xEAWa!\xEAa32V[`\0\x91\x82R` \x90\x91 \x01T`\x01`\x01`\xA0\x1B\x03\x16\x92\x91PPV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\"/W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x04\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x90\x81\x17\x90\x91U`@Q\x7F\xF3\xE0{K\xB49O/\xF3 \xBD\x1D\xD1QU\x1D\xFF0M^\x94\x8B@\x1D\x85X\xB2(H,\x97\xD8\x90`\0\x90\xA2PV[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a\"\xA3W`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0CT\x81\x10\x80a\"\xBEWP`\nTa\"\xBB\x90\x82a3\x10V[\x15\x15[\x80a\"\xCAWP`\x0ET\x81\x11[\x15a\"\xE8W`@Qc0\x07\xAD\x01`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\r\x81\x90U`@Q\x81\x81R\x7F\xE9\xEF>\x93\xDF\xF7\x99\xD4\xDB\x8A\x12\xFFy\xE0\x91\x8AZx\xD7[\x10Rxd\xF4\xB1\xC9 \xF6\xF4\xF1x\x90` \x01a\r\xEEV[a#H`@Q\x80`\x80\x01`@R\x80`\0\x81R` \x01`\0\x81R` \x01`\0\x81R` \x01`\0\x81RP\x90V[P`@\x80Q`\x80\x81\x01\x82R`\x19T\x81R`\x1AT` \x82\x01R`\x1BT\x91\x81\x01\x91\x90\x91R`\x1CT``\x82\x01R\x90V[`\x02T`\x01`\x01`\xA0\x1B\x03\x163\x14a#\x9FW`@Qb\x82\xB4)`\xE8\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\rT\x81\x10\x80a#\xBAWP`\nTa#\xB7\x90\x82a3\x10V[\x15\x15[\x15a#\xD8W`@Qc\xCF\xB6\x99\xCB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x81\x90U`@Q\x81\x81R\x7F\x86o\xE9H_\x99\x83\xAF\xCE\xAA\x13\x850{n\xB0\xFD=\xF5\xA2P\xAE+\x0B\xF7m\xC9\xDD\xD3\x16\x92k\x90` \x01a\r\xEEV[``\x81\x83\x10a$/W`@Qc;'5\xAB`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x1ET\x82\x11\x15a$RW`@Qc\xE0\xF7\xBE\xCB`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a$\\\x83\x83a5\xAAV[g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a$tWa$ta.1V[`@Q\x90\x80\x82R\x80` \x02` \x01\x82\x01`@R\x80\x15a$\x9DW\x81` \x01` \x82\x02\x806\x837\x01\x90P[P\x90P\x82[\x82\x81\x10\x15a\x0FNW`\x1E\x81\x81T\x81\x10a$\xBDWa$\xBDa32V[\x90`\0R` `\0 \x01`\0\x90T\x90a\x01\0\n\x90\x04`\x01`\x01`\xA0\x1B\x03\x16\x82\x85\x83\x03\x81Q\x81\x10a$\xEFWa$\xEFa32V[`\x01`\x01`\xA0\x1B\x03\x90\x92\x16` \x92\x83\x02\x91\x90\x91\x01\x90\x91\x01R`\x01\x01a$\xA2V[`\0`\x1E\x82\x81T\x81\x10a!\xEAWa!\xEAa32V[`\x0BT\x83a\x01\0\x01Q\x10\x80a%?WP`\x0CT\x83a\x01\0\x01Q\x11[\x80a%[WP`\nT\x83a\x01\0\x01Qa%X\x91\x90a3\x10V[\x15\x15[\x15a%yW`@QcT(sM`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\rT\x83`\xE0\x01Q\x10\x80a%\x92WP`\x0ET\x83`\xE0\x01Q\x11[\x80a%\xB0WP\x82a\x01\0\x01Q\x83`\xE0\x01Qa%\xAD\x91\x90a3\x10V[\x15\x15[\x15a%\xCEW`@Qc%?\xFF\xCF`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0FT\x83`\xC0\x01Q\x10\x80a%\xE7WP`\x10T\x83`\xC0\x01Q\x11[\x15a&\x05W`@Qc\xEF\x9B\xC6_`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x19Ta\x01\xC0\x84\x01QQ\x11\x80a&9WP`\x1AT`\xE0\x84\x01Qa\x01\xC0\x85\x01Q` \x01Qa&7\x91c\x01\xE13\x80\x90a(\x95V[\x11[\x80a&NWP`\x1BTa\x01\xC0\x84\x01Q`@\x01Q\x11[\x80a&cWP`\x1CTa\x01\xC0\x84\x01Q``\x01Q\x11[\x80a&uWP`\x15Ta\x01\xC0\x84\x01QQ\x10[\x80a&\x9EWP`\x16T`\xE0\x84\x01Qa\x01\xC0\x85\x01Q` \x01Qa&\x9C\x91c\x01\xE13\x80\x90a(\xBBV[\x10[\x80a&\xB3WP`\x17Ta\x01\xC0\x84\x01Q`@\x01Q\x10[\x80a&\xC8WP`\x18Ta\x01\xC0\x84\x01Q``\x01Q\x10[\x15a&\xE6W`@Qc-\x87h\xF9`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x11T\x82\x10\x80a&\xF7WP`\x12T\x82\x11[\x15a'\x15W`@Qc0UM\xE1`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a':f\x11\xC3y7\xE0\x80\0a'4\x85g\x1B\xC1mgN\xC8\0\0a(\xD9V[\x90a(\xF5V[`\x13T\x90\x91Pa'J\x90\x82a(\xF5V[\x82\x10\x80a'}WPa'za'qg\x1B\xC1mgN\xC8\0\0a'k\x86\x85a(\xF5V[\x90a)\x0BV[`\x14T\x90a) V[\x82\x11[\x15a'\x9BW`@Qc\x83\xEB\xDF\xB7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\0a'\xAB\x83\x86`\xE0\x01Qa)5V[`\x05T`@\x87\x01Q\x91\x92P`\x01`\x01`\xA0\x1B\x03\x91\x82\x16\x91\x16\x14\x15\x80a'\xD6WP`\x06T\x85``\x01Q\x14\x15[\x80a'\xF5WP`\x07Ta\x01`\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(\x14WP`\x08Ta\x01\x80\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(3WP`\tTa\x01\xA0\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(RWP`\x04Ta\x01@\x86\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x16\x14\x15[\x80a(aWPa\x01 \x85\x01Q\x15\x15[\x15a(\x7FW`@Qc\xE8\xC0-\xD7`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[0a\x01@\x86\x01Ra\x01 \x90\x94\x01\x93\x90\x93RPPPV[`\0\x82`\0\x19\x04\x84\x11\x83\x02\x15\x82\x02a(\xACW`\0\x80\xFD[P\x91\x02\x81\x81\x06\x15\x15\x91\x90\x04\x01\x90V[`\0\x82`\0\x19\x04\x84\x11\x83\x02\x15\x82\x02a(\xD2W`\0\x80\xFD[P\x91\x02\x04\x90V[`\0a(\xEE\x83g\r\xE0\xB6\xB3\xA7d\0\0\x84a(\xBBV[\x93\x92PPPV[`\0\x81\x83\x11a)\x04W\x81a(\xEEV[P\x90\x91\x90PV[`\0a(\xEE\x83\x83g\r\xE0\xB6\xB3\xA7d\0\0a(\xBBV[`\0\x81\x83\x11a)/W\x82a(\xEEV[P\x91\x90PV[`\0\x80a)fa)Wa)I\x86`da6`V[f\xA5\xBB\xED\x86\xC5\xA0\0\x90a)\x0BV[gH\xCD@r(\x1E\0\0\x90a(\xD9V[\x90Pa)zg\r\xE0\xB6\xB3\xA7d\0\0\x82a(\xD9V[\x90Pa)\xD2\x81a'ka)\xA5a)\xA0a)\x9B\x89g\r\xE0\xB6\xB3\xA7d\0\0a6wV[a)\xDAV[a*\x08V[a)\xCCa)\xA0a)\xBA\x8A\x8Ac\x01\xE13\x80a(\xBBV[a)\x9B\x90g\r\xE0\xB6\xB3\xA7d\0\0a6wV[\x90a(\xD9V[\x94\x93PPPPV[`\0`\x01`\x01`\xFF\x1B\x03\x82\x11\x15a*\x04W`@Qc9n\xA7\x01`\xE1\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[P\x90V[`\0\x80\x82\x13a**W`@Qc\xE6\x1BIu`\xE0\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[Po\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11`\x07\x1B\x81\x81\x1Cg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x10`\x06\x1B\x17\x81\x81\x1Cc\xFF\xFF\xFF\xFF\x10`\x05\x1B\x17\x81\x81\x1Ca\xFF\xFF\x10`\x04\x1B\x17\x81\x81\x1C`\xFF\x10`\x03\x90\x81\x1B\x90\x91\x17\x82\x81\x1C`\x0F\x10`\x02\x1B\x17\x82\x81\x1C\x90\x91\x10`\x01\x90\x81\x1B\x90\x91\x17\x82\x81\x1C\x90\x91\x10\x17`\x9F\x81\x81\x03``\x01\x92\x90\x92\x1B\x91`_\x19\x82\x01\x90a*\xB6\x90\x84\x90\x1Ca)\xDAV[lFWr\xB2\xBB\xBB_\x82K\x15 z0\x81\x01\x81\x02``\x90\x81\x1Dm\x03\x88\xEA\xA2t\x12\xD5\xAC\xA0&\x81]cn\x01\x82\x02\x81\x1Dm\r\xF9\x9A\xC5\x02\x03\x1B\xF9S\xEF\xF4r\xFD\xCC\x01\x82\x02\x81\x1Dm\x13\xCD\xFF\xB2\x9DQ\xD9\x93\"\xBD\xFF_\"\x11\x01\x82\x02\x81\x1Dm\n\x0Ft #\xDE\xF7\x83\xA3\x07\xA9\x86\x91.\x01\x82\x02\x81\x1Dm\x01\x92\r\x80C\xCA\x89\xB5#\x92S(NB\x01\x82\x02\x81\x1Dl\x0Bz\x86\xD77Th\xFA\xC6g\xA0\xA5'\x01l)P\x8EE\x85C\xD8\xAAM\xF2\xAB\xEEx\x83\x01\x83\x02\x82\x1Dm\x019`\x1A.\xFA\xBEq~`L\xBBH\x94\x01\x83\x02\x82\x1Dm\x02$\x7Fz{e\x942\x06I\xAA\x03\xAB\xA1\x01\x83\x02\x82\x1Dl\x8C?8\xE9Zk\x1F\xF2\xAB\x1C;46\x19\x01\x83\x02\x82\x1Dm\x028Gs\xBD\xF1\xACVv\xFA\xCC\xED`\x90\x19\x01\x83\x02\x90\x91\x1Dl\xB9\xA0%\xD8\x14\xB2\x9C!+\x8B\x1A\x07\xCD\x19\x01\x90\x91\x02x\n\tPp\x84\xCCi\x9B\xB0\xE7\x1E\xA8i\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x19\x01\x05q\x13@\xDA\xA0\xD5\xF7i\xDB\xA1\x91\\\xEFY\xF0\x81ZU\x06\x02}\x02g\xA3l\x0C\x95\xB3\x97Z\xB3\xEE[ :v\x14\xA3\xF7Ss\xF0G\xD8\x03\xAE{f\x87\xF2\xB3\x91\x90\x91\x02\x01}W\x11^G\x01\x8Cqw\xEE\xBF|\xD3p\xA35j\x1Bxc\0\x8AZ\xE8\x02\x8Cr\xB8\x86B\x84\x01`\xAE\x1D\x92\x91PPV[\x82\x80T\x82\x82U\x90`\0R` `\0 \x90\x81\x01\x92\x82\x15a,\x8AW\x91` \x02\x82\x01[\x82\x81\x11\x15a,\x8AW\x81T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x845\x16\x17\x82U` \x90\x92\x01\x91`\x01\x90\x91\x01\x90a,WV[Pa*\x04\x92\x91P[\x80\x82\x11\x15a*\x04W`\0\x81U`\x01\x01a,\x92V[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a,\xCCW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a,\xB0V[P`\0` \x82\x86\x01\x01R` `\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R`\0a(\xEE` \x83\x01\x84a,\xA6V[`\0`\x80\x82\x84\x03\x12\x15a)/W`\0\x80\xFD[`\0` \x82\x84\x03\x12\x15a-#W`\0\x80\xFD[P5\x91\x90PV[`\0\x80` \x83\x85\x03\x12\x15a-=W`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a-UW`\0\x80\xFD[\x81\x85\x01\x91P\x85`\x1F\x83\x01\x12a-iW`\0\x80\xFD[\x815\x81\x81\x11\x15a-xW`\0\x80\xFD[\x86` \x82`\x05\x1B\x85\x01\x01\x11\x15a-\x8DW`\0\x80\xFD[` \x92\x90\x92\x01\x96\x91\x95P\x90\x93PPPPV[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\0\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a-\xE0W\x83Q`\x01`\x01`\xA0\x1B\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a-\xBBV[P\x90\x96\x95PPPPPPV[`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a.\x01W`\0\x80\xFD[PV[\x805a.\x0F\x81a-\xECV[\x91\x90PV[`\0` \x82\x84\x03\x12\x15a.&W`\0\x80\xFD[\x815a(\xEE\x81a-\xECV[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`@Qa\x01\xE0\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x82\x82\x10\x17\x15a.kWa.ka.1V[`@R\x90V[`\0\x82`\x1F\x83\x01\x12a.\x82W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a.\x9DWa.\x9Da.1V[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a.\xC5Wa.\xC5a.1V[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a.\xDEW`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[`\0`\x80\x82\x84\x03\x12\x15a/\x10W`\0\x80\xFD[`@Q`\x80\x81\x01\x81\x81\x10g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x11\x17\x15a/3Wa/3a.1V[\x80`@RP\x80\x91P\x825\x81R` \x83\x015` \x82\x01R`@\x83\x015`@\x82\x01R``\x83\x015``\x82\x01RP\x92\x91PPV[`\0a\x02@\x82\x84\x03\x12\x15a/wW`\0\x80\xFD[a/\x7Fa.GV[\x90Pa/\x8A\x82a.\x04V[\x81Ra/\x98` \x83\x01a.\x04V[` \x82\x01Ra/\xA9`@\x83\x01a.\x04V[`@\x82\x01R``\x82\x015``\x82\x01R`\x80\x82\x015`\x80\x82\x01R`\xA0\x82\x015`\xA0\x82\x01R`\xC0\x82\x015`\xC0\x82\x01R`\xE0\x82\x015`\xE0\x82\x01Ra\x01\0\x80\x83\x015\x81\x83\x01RPa\x01 \x80\x83\x015\x81\x83\x01RPa\x01@a0\x06\x81\x84\x01a.\x04V[\x90\x82\x01Ra\x01`a0\x18\x83\x82\x01a.\x04V[\x90\x82\x01Ra\x01\x80a0*\x83\x82\x01a.\x04V[\x90\x82\x01Ra\x01\xA0a0<\x83\x82\x01a.\x04V[\x90\x82\x01Ra\x01\xC0a0O\x84\x84\x83\x01a.\xFEV[\x90\x82\x01R\x92\x91PPV[`\0``\x82\x84\x03\x12\x15a0kW`\0\x80\xFD[`@Q``\x81\x01g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x82\x10\x81\x83\x11\x17\x15a0\x8FWa0\x8Fa.1V[\x81`@R\x82\x93P\x845\x91Pa0\xA3\x82a-\xECV[\x90\x82R` \x84\x015\x90\x81\x15\x15\x82\x14a0\xBAW`\0\x80\xFD[\x81` \x84\x01R`@\x85\x015\x91P\x80\x82\x11\x15a0\xD4W`\0\x80\xFD[Pa0\xE1\x85\x82\x86\x01a.qV[`@\x83\x01RPP\x92\x91PPV[`\0\x80`\0\x80`\0\x80`\0\x80`\0\x80a\x03`\x8B\x8D\x03\x12\x15a1\x0EW`\0\x80\xFD[\x8A5\x99Pa1\x1E` \x8C\x01a.\x04V[\x98P`@\x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a1;W`\0\x80\xFD[a1G\x8E\x83\x8F\x01a.qV[\x99Pa1V\x8E``\x8F\x01a/dV[\x98Pa\x02\xA0\x8D\x015\x91P\x80\x82\x11\x15a1mW`\0\x80\xFD[a1y\x8E\x83\x8F\x01a.qV[\x97Pa\x02\xC0\x8D\x015\x96Pa\x02\xE0\x8D\x015\x95Pa\x03\0\x8D\x015\x94Pa\x03 \x8D\x015\x91P\x80\x82\x11\x15a1\xA8W`\0\x80\xFD[Pa1\xB5\x8D\x82\x8E\x01a0YV[\x92PPa\x03@\x8B\x015\x90P\x92\x95\x98\x9B\x91\x94\x97\x9AP\x92\x95\x98PV[`\0\x80`@\x83\x85\x03\x12\x15a1\xE2W`\0\x80\xFD[\x825a1\xED\x81a-\xECV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0\x80`\0\x80`\0\x80a\x03 \x89\x8B\x03\x12\x15a2\x18W`\0\x80\xFD[\x885\x97P` \x89\x015a2*\x81a-\xECV[\x96Pa29\x8A`@\x8B\x01a/dV[\x95Pa\x02\x80\x89\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a2VW`\0\x80\xFD[a2b\x8B\x82\x8C\x01a.qV[\x98\x9B\x97\x9AP\x95\x98a\x02\xA0\x81\x015\x97a\x02\xC0\x82\x015\x97Pa\x02\xE0\x82\x015\x96Pa\x03\0\x90\x91\x015\x94P\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a2\xA2W`\0\x80\xFD[PP\x805\x92` \x90\x91\x015\x91PV[\x81Q\x81R` \x80\x83\x01Q\x90\x82\x01R`@\x80\x83\x01Q\x90\x82\x01R``\x80\x83\x01Q\x90\x82\x01R`\x80\x81\x01a\x0FPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a2\xF0W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a)/WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[`\0\x82a3-WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x06\x90V[cNH{q`\xE0\x1B`\0R`2`\x04R`$`\0\xFD[\x80Q`\x01`\x01`\xA0\x1B\x03\x16\x82R` \x81\x01Qa3o` \x84\x01\x82`\x01`\x01`\xA0\x1B\x03\x16\x90RV[P`@\x81\x01Qa3\x8A`@\x84\x01\x82`\x01`\x01`\xA0\x1B\x03\x16\x90RV[P``\x81\x01Q``\x83\x01R`\x80\x81\x01Q`\x80\x83\x01R`\xA0\x81\x01Q`\xA0\x83\x01R`\xC0\x81\x01Q`\xC0\x83\x01R`\xE0\x81\x01Q`\xE0\x83\x01Ra\x01\0\x80\x82\x01Q\x81\x84\x01RPa\x01 \x80\x82\x01Q\x81\x84\x01RPa\x01@\x80\x82\x01Qa3\xF0\x82\x85\x01\x82`\x01`\x01`\xA0\x1B\x03\x16\x90RV[PPa\x01`\x81\x81\x01Q`\x01`\x01`\xA0\x1B\x03\x90\x81\x16\x91\x84\x01\x91\x90\x91Ra\x01\x80\x80\x83\x01Q\x82\x16\x90\x84\x01Ra\x01\xA0\x80\x83\x01Q\x90\x91\x16\x90\x83\x01Ra\x01\xC0\x90\x81\x01Q\x80Q\x91\x83\x01\x91\x90\x91R` \x81\x01Qa\x01\xE0\x83\x01R`@\x81\x01Qa\x02\0\x83\x01R``\x01Qa\x02 \x90\x91\x01RV[`\0a\x02\xC0\x87\x83R\x80` \x84\x01Ra4s\x81\x84\x01\x88a,\xA6V[\x90Pa4\x82`@\x84\x01\x87a3HV[\x82\x81\x03a\x02\x80\x84\x01Ra4\x95\x81\x86a,\xA6V[\x91PP\x82a\x02\xA0\x83\x01R\x96\x95PPPPPPV[`\0` \x82\x84\x03\x12\x15a4\xBBW`\0\x80\xFD[\x81Qa(\xEE\x81a-\xECV[`\x01`\x01`\xA0\x1B\x03\x85\x16\x81Ra\x02\xA0` \x82\x01\x81\x90R`\0\x90a4\xEB\x83\x82\x01\x87a,\xA6V[\x90Pa4\xFA`@\x84\x01\x86a3HV[\x82\x81\x03a\x02\x80\x84\x01Ra5\r\x81\x85a,\xA6V[\x97\x96PPPPPPPV[\x85\x81R`\0`\x01\x80`\xA0\x1B\x03\x80\x87\x16` \x84\x01R\x85`@\x84\x01R\x84``\x84\x01R`\xA0`\x80\x84\x01R\x80\x84Q\x16`\xA0\x84\x01RP` \x83\x01Q\x15\x15`\xC0\x83\x01R`@\x83\x01Q```\xE0\x84\x01Ra5oa\x01\0\x84\x01\x82a,\xA6V[\x98\x97PPPPPPPPV[`\0` \x82\x84\x03\x12\x15a5\x8DW`\0\x80\xFD[PQ\x91\x90PV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[\x81\x81\x03\x81\x81\x11\x15a\x0FPWa\x0FPa5\x94V[cNH{q`\xE0\x1B`\0R`1`\x04R`$`\0\xFD[`\0a\x02\xC0\x87\x83Ra5\xE8` \x84\x01\x88a3HV[\x80a\x02`\x84\x01Ra5\xFB\x81\x84\x01\x87a,\xA6V[a\x02\x80\x84\x01\x95\x90\x95RPPa\x02\xA0\x01R\x93\x92PPPV[` \x80\x82R\x81\x81\x01\x83\x90R`\0\x90\x84`@\x84\x01\x83[\x86\x81\x10\x15a6UW\x825a6:\x81a-\xECV[`\x01`\x01`\xA0\x1B\x03\x16\x82R\x91\x83\x01\x91\x90\x83\x01\x90`\x01\x01a6'V[P\x96\x95PPPPPPV[\x80\x82\x02\x81\x15\x82\x82\x04\x84\x14\x17a\x0FPWa\x0FPa5\x94V[\x80\x82\x01\x80\x82\x11\x15a\x0FPWa\x0FPa5\x94V\xFE\xA2dipfsX\"\x12 \x97\x13\x02\xAB,\xEC\x02\xD5^\xFBI\x8E=\xCE\x0C\x85\xFEwsc\xFE\xCF\xB7\x8BgF\xD2n\xE19\xC2\xD5dsolcC\0\x08\x16\x003";
2718    /// The deployed bytecode of the contract.
2719    pub static HYPERDRIVEFACTORY_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(
2720        __DEPLOYED_BYTECODE,
2721    );
2722    pub struct HyperdriveFactory<M>(::ethers::contract::Contract<M>);
2723    impl<M> ::core::clone::Clone for HyperdriveFactory<M> {
2724        fn clone(&self) -> Self {
2725            Self(::core::clone::Clone::clone(&self.0))
2726        }
2727    }
2728    impl<M> ::core::ops::Deref for HyperdriveFactory<M> {
2729        type Target = ::ethers::contract::Contract<M>;
2730        fn deref(&self) -> &Self::Target {
2731            &self.0
2732        }
2733    }
2734    impl<M> ::core::ops::DerefMut for HyperdriveFactory<M> {
2735        fn deref_mut(&mut self) -> &mut Self::Target {
2736            &mut self.0
2737        }
2738    }
2739    impl<M> ::core::fmt::Debug for HyperdriveFactory<M> {
2740        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2741            f.debug_tuple(::core::stringify!(HyperdriveFactory))
2742                .field(&self.address())
2743                .finish()
2744        }
2745    }
2746    impl<M: ::ethers::providers::Middleware> HyperdriveFactory<M> {
2747        /// Creates a new contract instance with the specified `ethers` client at
2748        /// `address`. The contract derefs to a `ethers::Contract` object.
2749        pub fn new<T: Into<::ethers::core::types::Address>>(
2750            address: T,
2751            client: ::std::sync::Arc<M>,
2752        ) -> Self {
2753            Self(
2754                ::ethers::contract::Contract::new(
2755                    address.into(),
2756                    HYPERDRIVEFACTORY_ABI.clone(),
2757                    client,
2758                ),
2759            )
2760        }
2761        /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it.
2762        /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction
2763        ///
2764        /// Notes:
2765        /// - If there are no constructor arguments, you should pass `()` as the argument.
2766        /// - The default poll duration is 7 seconds.
2767        /// - The default number of confirmations is 1 block.
2768        ///
2769        ///
2770        /// # Example
2771        ///
2772        /// Generate contract bindings with `abigen!` and deploy a new contract instance.
2773        ///
2774        /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact.
2775        ///
2776        /// ```ignore
2777        /// # async fn deploy<M: ethers::providers::Middleware>(client: ::std::sync::Arc<M>) {
2778        ///     abigen!(Greeter, "../greeter.json");
2779        ///
2780        ///    let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap();
2781        ///    let msg = greeter_contract.greet().call().await.unwrap();
2782        /// # }
2783        /// ```
2784        pub fn deploy<T: ::ethers::core::abi::Tokenize>(
2785            client: ::std::sync::Arc<M>,
2786            constructor_args: T,
2787        ) -> ::core::result::Result<
2788            ::ethers::contract::builders::ContractDeployer<M, Self>,
2789            ::ethers::contract::ContractError<M>,
2790        > {
2791            let factory = ::ethers::contract::ContractFactory::new(
2792                HYPERDRIVEFACTORY_ABI.clone(),
2793                HYPERDRIVEFACTORY_BYTECODE.clone().into(),
2794                client,
2795            );
2796            let deployer = factory.deploy(constructor_args)?;
2797            let deployer = ::ethers::contract::ContractDeployer::new(deployer);
2798            Ok(deployer)
2799        }
2800        ///Calls the contract's `_instancesToDeployerCoordinators` (0x2b58f418) function
2801        pub fn instances_to_deployer_coordinators(
2802            &self,
2803            instance: ::ethers::core::types::Address,
2804        ) -> ::ethers::contract::builders::ContractCall<
2805            M,
2806            ::ethers::core::types::Address,
2807        > {
2808            self.0
2809                .method_hash([43, 88, 244, 24], instance)
2810                .expect("method not found (this should never happen)")
2811        }
2812        ///Calls the contract's `addDeployerCoordinator` (0x421caba8) function
2813        pub fn add_deployer_coordinator(
2814            &self,
2815            deployer_coordinator: ::ethers::core::types::Address,
2816        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
2817            self.0
2818                .method_hash([66, 28, 171, 168], deployer_coordinator)
2819                .expect("method not found (this should never happen)")
2820        }
2821        ///Calls the contract's `checkpointDurationResolution` (0xd0f96b92) function
2822        pub fn checkpoint_duration_resolution(
2823            &self,
2824        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
2825            self.0
2826                .method_hash([208, 249, 107, 146], ())
2827                .expect("method not found (this should never happen)")
2828        }
2829        ///Calls the contract's `checkpointRewarder` (0xf2596458) function
2830        pub fn checkpoint_rewarder(
2831            &self,
2832        ) -> ::ethers::contract::builders::ContractCall<
2833            M,
2834            ::ethers::core::types::Address,
2835        > {
2836            self.0
2837                .method_hash([242, 89, 100, 88], ())
2838                .expect("method not found (this should never happen)")
2839        }
2840        ///Calls the contract's `defaultPausers` (0xa64c90bf) function
2841        pub fn default_pausers(
2842            &self,
2843        ) -> ::ethers::contract::builders::ContractCall<
2844            M,
2845            ::std::vec::Vec<::ethers::core::types::Address>,
2846        > {
2847            self.0
2848                .method_hash([166, 76, 144, 191], ())
2849                .expect("method not found (this should never happen)")
2850        }
2851        ///Calls the contract's `deployAndInitialize` (0x2e7cd971) function
2852        pub fn deploy_and_initialize(
2853            &self,
2854            deployment_id: [u8; 32],
2855            deployer_coordinator: ::ethers::core::types::Address,
2856            name: ::std::string::String,
2857            config: PoolDeployConfig,
2858            extra_data: ::ethers::core::types::Bytes,
2859            contribution: ::ethers::core::types::U256,
2860            fixed_apr: ::ethers::core::types::U256,
2861            time_stretch_apr: ::ethers::core::types::U256,
2862            options: Options,
2863            salt: [u8; 32],
2864        ) -> ::ethers::contract::builders::ContractCall<
2865            M,
2866            ::ethers::core::types::Address,
2867        > {
2868            self.0
2869                .method_hash(
2870                    [46, 124, 217, 113],
2871                    (
2872                        deployment_id,
2873                        deployer_coordinator,
2874                        name,
2875                        config,
2876                        extra_data,
2877                        contribution,
2878                        fixed_apr,
2879                        time_stretch_apr,
2880                        options,
2881                        salt,
2882                    ),
2883                )
2884                .expect("method not found (this should never happen)")
2885        }
2886        ///Calls the contract's `deployTarget` (0x49f13de7) function
2887        pub fn deploy_target(
2888            &self,
2889            deployment_id: [u8; 32],
2890            deployer_coordinator: ::ethers::core::types::Address,
2891            config: PoolDeployConfig,
2892            extra_data: ::ethers::core::types::Bytes,
2893            fixed_apr: ::ethers::core::types::U256,
2894            time_stretch_apr: ::ethers::core::types::U256,
2895            target_index: ::ethers::core::types::U256,
2896            salt: [u8; 32],
2897        ) -> ::ethers::contract::builders::ContractCall<
2898            M,
2899            ::ethers::core::types::Address,
2900        > {
2901            self.0
2902                .method_hash(
2903                    [73, 241, 61, 231],
2904                    (
2905                        deployment_id,
2906                        deployer_coordinator,
2907                        config,
2908                        extra_data,
2909                        fixed_apr,
2910                        time_stretch_apr,
2911                        target_index,
2912                        salt,
2913                    ),
2914                )
2915                .expect("method not found (this should never happen)")
2916        }
2917        ///Calls the contract's `deployerCoordinatorManager` (0xe4e7148f) function
2918        pub fn deployer_coordinator_manager(
2919            &self,
2920        ) -> ::ethers::contract::builders::ContractCall<
2921            M,
2922            ::ethers::core::types::Address,
2923        > {
2924            self.0
2925                .method_hash([228, 231, 20, 143], ())
2926                .expect("method not found (this should never happen)")
2927        }
2928        ///Calls the contract's `feeCollector` (0xc415b95c) function
2929        pub fn fee_collector(
2930            &self,
2931        ) -> ::ethers::contract::builders::ContractCall<
2932            M,
2933            ::ethers::core::types::Address,
2934        > {
2935            self.0
2936                .method_hash([196, 21, 185, 92], ())
2937                .expect("method not found (this should never happen)")
2938        }
2939        ///Calls the contract's `getDeployerCoordinatorAtIndex` (0xfe3d5aeb) function
2940        pub fn get_deployer_coordinator_at_index(
2941            &self,
2942            index: ::ethers::core::types::U256,
2943        ) -> ::ethers::contract::builders::ContractCall<
2944            M,
2945            ::ethers::core::types::Address,
2946        > {
2947            self.0
2948                .method_hash([254, 61, 90, 235], index)
2949                .expect("method not found (this should never happen)")
2950        }
2951        ///Calls the contract's `getDeployerCoordinatorByInstances` (0x1b59be0c) function
2952        pub fn get_deployer_coordinator_by_instances(
2953            &self,
2954            instances: ::std::vec::Vec<::ethers::core::types::Address>,
2955        ) -> ::ethers::contract::builders::ContractCall<
2956            M,
2957            ::std::vec::Vec<::ethers::core::types::Address>,
2958        > {
2959            self.0
2960                .method_hash([27, 89, 190, 12], instances)
2961                .expect("method not found (this should never happen)")
2962        }
2963        ///Calls the contract's `getDeployerCoordinatorsInRange` (0xec895f11) function
2964        pub fn get_deployer_coordinators_in_range(
2965            &self,
2966            start_index: ::ethers::core::types::U256,
2967            end_index: ::ethers::core::types::U256,
2968        ) -> ::ethers::contract::builders::ContractCall<
2969            M,
2970            ::std::vec::Vec<::ethers::core::types::Address>,
2971        > {
2972            self.0
2973                .method_hash([236, 137, 95, 17], (start_index, end_index))
2974                .expect("method not found (this should never happen)")
2975        }
2976        ///Calls the contract's `getInstanceAtIndex` (0xdaac24da) function
2977        pub fn get_instance_at_index(
2978            &self,
2979            index: ::ethers::core::types::U256,
2980        ) -> ::ethers::contract::builders::ContractCall<
2981            M,
2982            ::ethers::core::types::Address,
2983        > {
2984            self.0
2985                .method_hash([218, 172, 36, 218], index)
2986                .expect("method not found (this should never happen)")
2987        }
2988        ///Calls the contract's `getInstancesInRange` (0xbc30e7a1) function
2989        pub fn get_instances_in_range(
2990            &self,
2991            start_index: ::ethers::core::types::U256,
2992            end_index: ::ethers::core::types::U256,
2993        ) -> ::ethers::contract::builders::ContractCall<
2994            M,
2995            ::std::vec::Vec<::ethers::core::types::Address>,
2996        > {
2997            self.0
2998                .method_hash([188, 48, 231, 161], (start_index, end_index))
2999                .expect("method not found (this should never happen)")
3000        }
3001        ///Calls the contract's `getNumberOfDeployerCoordinators` (0xe1b39c80) function
3002        pub fn get_number_of_deployer_coordinators(
3003            &self,
3004        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3005            self.0
3006                .method_hash([225, 179, 156, 128], ())
3007                .expect("method not found (this should never happen)")
3008        }
3009        ///Calls the contract's `getNumberOfInstances` (0x6e95d67c) function
3010        pub fn get_number_of_instances(
3011            &self,
3012        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3013            self.0
3014                .method_hash([110, 149, 214, 124], ())
3015                .expect("method not found (this should never happen)")
3016        }
3017        ///Calls the contract's `governance` (0x5aa6e675) function
3018        pub fn governance(
3019            &self,
3020        ) -> ::ethers::contract::builders::ContractCall<
3021            M,
3022            ::ethers::core::types::Address,
3023        > {
3024            self.0
3025                .method_hash([90, 166, 230, 117], ())
3026                .expect("method not found (this should never happen)")
3027        }
3028        ///Calls the contract's `hyperdriveGovernance` (0xe3331555) function
3029        pub fn hyperdrive_governance(
3030            &self,
3031        ) -> ::ethers::contract::builders::ContractCall<
3032            M,
3033            ::ethers::core::types::Address,
3034        > {
3035            self.0
3036                .method_hash([227, 51, 21, 85], ())
3037                .expect("method not found (this should never happen)")
3038        }
3039        ///Calls the contract's `isDeployerCoordinator` (0xf8c09e59) function
3040        pub fn is_deployer_coordinator(
3041            &self,
3042            p0: ::ethers::core::types::Address,
3043        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
3044            self.0
3045                .method_hash([248, 192, 158, 89], p0)
3046                .expect("method not found (this should never happen)")
3047        }
3048        ///Calls the contract's `isInstance` (0x6b44e6be) function
3049        pub fn is_instance(
3050            &self,
3051            p0: ::ethers::core::types::Address,
3052        ) -> ::ethers::contract::builders::ContractCall<M, bool> {
3053            self.0
3054                .method_hash([107, 68, 230, 190], p0)
3055                .expect("method not found (this should never happen)")
3056        }
3057        ///Calls the contract's `kind` (0x04baa00b) function
3058        pub fn kind(
3059            &self,
3060        ) -> ::ethers::contract::builders::ContractCall<M, ::std::string::String> {
3061            self.0
3062                .method_hash([4, 186, 160, 11], ())
3063                .expect("method not found (this should never happen)")
3064        }
3065        ///Calls the contract's `linkerCodeHash` (0xc905a4b5) function
3066        pub fn linker_code_hash(
3067            &self,
3068        ) -> ::ethers::contract::builders::ContractCall<M, [u8; 32]> {
3069            self.0
3070                .method_hash([201, 5, 164, 181], ())
3071                .expect("method not found (this should never happen)")
3072        }
3073        ///Calls the contract's `linkerFactory` (0x99623bb1) function
3074        pub fn linker_factory(
3075            &self,
3076        ) -> ::ethers::contract::builders::ContractCall<
3077            M,
3078            ::ethers::core::types::Address,
3079        > {
3080            self.0
3081                .method_hash([153, 98, 59, 177], ())
3082                .expect("method not found (this should never happen)")
3083        }
3084        ///Calls the contract's `maxCheckpointDuration` (0xe0e2daaa) function
3085        pub fn max_checkpoint_duration(
3086            &self,
3087        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3088            self.0
3089                .method_hash([224, 226, 218, 170], ())
3090                .expect("method not found (this should never happen)")
3091        }
3092        ///Calls the contract's `maxCircuitBreakerDelta` (0x4554f9a9) function
3093        pub fn max_circuit_breaker_delta(
3094            &self,
3095        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3096            self.0
3097                .method_hash([69, 84, 249, 169], ())
3098                .expect("method not found (this should never happen)")
3099        }
3100        ///Calls the contract's `maxFees` (0xe83e34b1) function
3101        pub fn max_fees(&self) -> ::ethers::contract::builders::ContractCall<M, Fees> {
3102            self.0
3103                .method_hash([232, 62, 52, 177], ())
3104                .expect("method not found (this should never happen)")
3105        }
3106        ///Calls the contract's `maxFixedAPR` (0xbf9bd5cd) function
3107        pub fn max_fixed_apr(
3108            &self,
3109        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3110            self.0
3111                .method_hash([191, 155, 213, 205], ())
3112                .expect("method not found (this should never happen)")
3113        }
3114        ///Calls the contract's `maxPositionDuration` (0x8efc0986) function
3115        pub fn max_position_duration(
3116            &self,
3117        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3118            self.0
3119                .method_hash([142, 252, 9, 134], ())
3120                .expect("method not found (this should never happen)")
3121        }
3122        ///Calls the contract's `maxTimeStretchAPR` (0x48800760) function
3123        pub fn max_time_stretch_apr(
3124            &self,
3125        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3126            self.0
3127                .method_hash([72, 128, 7, 96], ())
3128                .expect("method not found (this should never happen)")
3129        }
3130        ///Calls the contract's `minCheckpointDuration` (0x5720c9d5) function
3131        pub fn min_checkpoint_duration(
3132            &self,
3133        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3134            self.0
3135                .method_hash([87, 32, 201, 213], ())
3136                .expect("method not found (this should never happen)")
3137        }
3138        ///Calls the contract's `minCircuitBreakerDelta` (0x1ecda0fe) function
3139        pub fn min_circuit_breaker_delta(
3140            &self,
3141        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3142            self.0
3143                .method_hash([30, 205, 160, 254], ())
3144                .expect("method not found (this should never happen)")
3145        }
3146        ///Calls the contract's `minFees` (0xc1722563) function
3147        pub fn min_fees(&self) -> ::ethers::contract::builders::ContractCall<M, Fees> {
3148            self.0
3149                .method_hash([193, 114, 37, 99], ())
3150                .expect("method not found (this should never happen)")
3151        }
3152        ///Calls the contract's `minFixedAPR` (0xd23d7ea3) function
3153        pub fn min_fixed_apr(
3154            &self,
3155        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3156            self.0
3157                .method_hash([210, 61, 126, 163], ())
3158                .expect("method not found (this should never happen)")
3159        }
3160        ///Calls the contract's `minPositionDuration` (0xdaf012e6) function
3161        pub fn min_position_duration(
3162            &self,
3163        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3164            self.0
3165                .method_hash([218, 240, 18, 230], ())
3166                .expect("method not found (this should never happen)")
3167        }
3168        ///Calls the contract's `minTimeStretchAPR` (0xd6f50169) function
3169        pub fn min_time_stretch_apr(
3170            &self,
3171        ) -> ::ethers::contract::builders::ContractCall<M, ::ethers::core::types::U256> {
3172            self.0
3173                .method_hash([214, 245, 1, 105], ())
3174                .expect("method not found (this should never happen)")
3175        }
3176        ///Calls the contract's `name` (0x06fdde03) function
3177        pub fn name(
3178            &self,
3179        ) -> ::ethers::contract::builders::ContractCall<M, ::std::string::String> {
3180            self.0
3181                .method_hash([6, 253, 222, 3], ())
3182                .expect("method not found (this should never happen)")
3183        }
3184        ///Calls the contract's `removeDeployerCoordinator` (0x411c3035) function
3185        pub fn remove_deployer_coordinator(
3186            &self,
3187            deployer_coordinator: ::ethers::core::types::Address,
3188            index: ::ethers::core::types::U256,
3189        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3190            self.0
3191                .method_hash([65, 28, 48, 53], (deployer_coordinator, index))
3192                .expect("method not found (this should never happen)")
3193        }
3194        ///Calls the contract's `sweepCollector` (0x10780f73) function
3195        pub fn sweep_collector(
3196            &self,
3197        ) -> ::ethers::contract::builders::ContractCall<
3198            M,
3199            ::ethers::core::types::Address,
3200        > {
3201            self.0
3202                .method_hash([16, 120, 15, 115], ())
3203                .expect("method not found (this should never happen)")
3204        }
3205        ///Calls the contract's `updateCheckpointDurationResolution` (0x11e77bfe) function
3206        pub fn update_checkpoint_duration_resolution(
3207            &self,
3208            checkpoint_duration_resolution: ::ethers::core::types::U256,
3209        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3210            self.0
3211                .method_hash([17, 231, 123, 254], checkpoint_duration_resolution)
3212                .expect("method not found (this should never happen)")
3213        }
3214        ///Calls the contract's `updateCheckpointRewarder` (0x3e2d2014) function
3215        pub fn update_checkpoint_rewarder(
3216            &self,
3217            checkpoint_rewarder: ::ethers::core::types::Address,
3218        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3219            self.0
3220                .method_hash([62, 45, 32, 20], checkpoint_rewarder)
3221                .expect("method not found (this should never happen)")
3222        }
3223        ///Calls the contract's `updateDefaultPausers` (0x9af25262) function
3224        pub fn update_default_pausers(
3225            &self,
3226            default_pausers: ::std::vec::Vec<::ethers::core::types::Address>,
3227        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3228            self.0
3229                .method_hash([154, 242, 82, 98], default_pausers)
3230                .expect("method not found (this should never happen)")
3231        }
3232        ///Calls the contract's `updateDeployerCoordinatorManager` (0xa98a46db) function
3233        pub fn update_deployer_coordinator_manager(
3234            &self,
3235            deployer_coordinator_manager: ::ethers::core::types::Address,
3236        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3237            self.0
3238                .method_hash([169, 138, 70, 219], deployer_coordinator_manager)
3239                .expect("method not found (this should never happen)")
3240        }
3241        ///Calls the contract's `updateFeeCollector` (0xd2c35ce8) function
3242        pub fn update_fee_collector(
3243            &self,
3244            fee_collector: ::ethers::core::types::Address,
3245        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3246            self.0
3247                .method_hash([210, 195, 92, 232], fee_collector)
3248                .expect("method not found (this should never happen)")
3249        }
3250        ///Calls the contract's `updateGovernance` (0xb2561263) function
3251        pub fn update_governance(
3252            &self,
3253            governance: ::ethers::core::types::Address,
3254        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3255            self.0
3256                .method_hash([178, 86, 18, 99], governance)
3257                .expect("method not found (this should never happen)")
3258        }
3259        ///Calls the contract's `updateHyperdriveGovernance` (0xdd2b8fbb) function
3260        pub fn update_hyperdrive_governance(
3261            &self,
3262            hyperdrive_governance: ::ethers::core::types::Address,
3263        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3264            self.0
3265                .method_hash([221, 43, 143, 187], hyperdrive_governance)
3266                .expect("method not found (this should never happen)")
3267        }
3268        ///Calls the contract's `updateLinkerCodeHash` (0x4fbfee77) function
3269        pub fn update_linker_code_hash(
3270            &self,
3271            linker_code_hash: [u8; 32],
3272        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3273            self.0
3274                .method_hash([79, 191, 238, 119], linker_code_hash)
3275                .expect("method not found (this should never happen)")
3276        }
3277        ///Calls the contract's `updateLinkerFactory` (0x85229785) function
3278        pub fn update_linker_factory(
3279            &self,
3280            linker_factory: ::ethers::core::types::Address,
3281        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3282            self.0
3283                .method_hash([133, 34, 151, 133], linker_factory)
3284                .expect("method not found (this should never happen)")
3285        }
3286        ///Calls the contract's `updateMaxCheckpointDuration` (0x6f6d5c4a) function
3287        pub fn update_max_checkpoint_duration(
3288            &self,
3289            max_checkpoint_duration: ::ethers::core::types::U256,
3290        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3291            self.0
3292                .method_hash([111, 109, 92, 74], max_checkpoint_duration)
3293                .expect("method not found (this should never happen)")
3294        }
3295        ///Calls the contract's `updateMaxCircuitBreakerDelta` (0x84c19aab) function
3296        pub fn update_max_circuit_breaker_delta(
3297            &self,
3298            max_circuit_breaker_delta: ::ethers::core::types::U256,
3299        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3300            self.0
3301                .method_hash([132, 193, 154, 171], max_circuit_breaker_delta)
3302                .expect("method not found (this should never happen)")
3303        }
3304        ///Calls the contract's `updateMaxFees` (0x2885e3ac) function
3305        pub fn update_max_fees(
3306            &self,
3307            max_fees: Fees,
3308        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3309            self.0
3310                .method_hash([40, 133, 227, 172], (max_fees,))
3311                .expect("method not found (this should never happen)")
3312        }
3313        ///Calls the contract's `updateMaxFixedAPR` (0x97b0e8ce) function
3314        pub fn update_max_fixed_apr(
3315            &self,
3316            max_fixed_apr: ::ethers::core::types::U256,
3317        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3318            self.0
3319                .method_hash([151, 176, 232, 206], max_fixed_apr)
3320                .expect("method not found (this should never happen)")
3321        }
3322        ///Calls the contract's `updateMaxPositionDuration` (0xeb71f66c) function
3323        pub fn update_max_position_duration(
3324            &self,
3325            max_position_duration: ::ethers::core::types::U256,
3326        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3327            self.0
3328                .method_hash([235, 113, 246, 108], max_position_duration)
3329                .expect("method not found (this should never happen)")
3330        }
3331        ///Calls the contract's `updateMaxTimeStretchAPR` (0x628027a3) function
3332        pub fn update_max_time_stretch_apr(
3333            &self,
3334            max_time_stretch_apr: ::ethers::core::types::U256,
3335        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3336            self.0
3337                .method_hash([98, 128, 39, 163], max_time_stretch_apr)
3338                .expect("method not found (this should never happen)")
3339        }
3340        ///Calls the contract's `updateMinCheckpointDuration` (0x8e127cf5) function
3341        pub fn update_min_checkpoint_duration(
3342            &self,
3343            min_checkpoint_duration: ::ethers::core::types::U256,
3344        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3345            self.0
3346                .method_hash([142, 18, 124, 245], min_checkpoint_duration)
3347                .expect("method not found (this should never happen)")
3348        }
3349        ///Calls the contract's `updateMinCircuitBreakerDelta` (0x2907d3dd) function
3350        pub fn update_min_circuit_breaker_delta(
3351            &self,
3352            min_circuit_breaker_delta: ::ethers::core::types::U256,
3353        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3354            self.0
3355                .method_hash([41, 7, 211, 221], min_circuit_breaker_delta)
3356                .expect("method not found (this should never happen)")
3357        }
3358        ///Calls the contract's `updateMinFees` (0x10d1dc3e) function
3359        pub fn update_min_fees(
3360            &self,
3361            min_fees: Fees,
3362        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3363            self.0
3364                .method_hash([16, 209, 220, 62], (min_fees,))
3365                .expect("method not found (this should never happen)")
3366        }
3367        ///Calls the contract's `updateMinFixedAPR` (0x1978ebcf) function
3368        pub fn update_min_fixed_apr(
3369            &self,
3370            min_fixed_apr: ::ethers::core::types::U256,
3371        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3372            self.0
3373                .method_hash([25, 120, 235, 207], min_fixed_apr)
3374                .expect("method not found (this should never happen)")
3375        }
3376        ///Calls the contract's `updateMinPositionDuration` (0xe71f34b3) function
3377        pub fn update_min_position_duration(
3378            &self,
3379            min_position_duration: ::ethers::core::types::U256,
3380        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3381            self.0
3382                .method_hash([231, 31, 52, 179], min_position_duration)
3383                .expect("method not found (this should never happen)")
3384        }
3385        ///Calls the contract's `updateMinTimeStretchAPR` (0x83b361e8) function
3386        pub fn update_min_time_stretch_apr(
3387            &self,
3388            min_time_stretch_apr: ::ethers::core::types::U256,
3389        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3390            self.0
3391                .method_hash([131, 179, 97, 232], min_time_stretch_apr)
3392                .expect("method not found (this should never happen)")
3393        }
3394        ///Calls the contract's `updateSweepCollector` (0x8627a4f0) function
3395        pub fn update_sweep_collector(
3396            &self,
3397            sweep_collector: ::ethers::core::types::Address,
3398        ) -> ::ethers::contract::builders::ContractCall<M, ()> {
3399            self.0
3400                .method_hash([134, 39, 164, 240], sweep_collector)
3401                .expect("method not found (this should never happen)")
3402        }
3403        ///Calls the contract's `version` (0x54fd4d50) function
3404        pub fn version(
3405            &self,
3406        ) -> ::ethers::contract::builders::ContractCall<M, ::std::string::String> {
3407            self.0
3408                .method_hash([84, 253, 77, 80], ())
3409                .expect("method not found (this should never happen)")
3410        }
3411        ///Gets the contract's `CheckpointDurationResolutionUpdated` event
3412        pub fn checkpoint_duration_resolution_updated_filter(
3413            &self,
3414        ) -> ::ethers::contract::builders::Event<
3415            ::std::sync::Arc<M>,
3416            M,
3417            CheckpointDurationResolutionUpdatedFilter,
3418        > {
3419            self.0.event()
3420        }
3421        ///Gets the contract's `CheckpointRewarderUpdated` event
3422        pub fn checkpoint_rewarder_updated_filter(
3423            &self,
3424        ) -> ::ethers::contract::builders::Event<
3425            ::std::sync::Arc<M>,
3426            M,
3427            CheckpointRewarderUpdatedFilter,
3428        > {
3429            self.0.event()
3430        }
3431        ///Gets the contract's `DefaultPausersUpdated` event
3432        pub fn default_pausers_updated_filter(
3433            &self,
3434        ) -> ::ethers::contract::builders::Event<
3435            ::std::sync::Arc<M>,
3436            M,
3437            DefaultPausersUpdatedFilter,
3438        > {
3439            self.0.event()
3440        }
3441        ///Gets the contract's `Deployed` event
3442        pub fn deployed_filter(
3443            &self,
3444        ) -> ::ethers::contract::builders::Event<
3445            ::std::sync::Arc<M>,
3446            M,
3447            DeployedFilter,
3448        > {
3449            self.0.event()
3450        }
3451        ///Gets the contract's `DeployerCoordinatorAdded` event
3452        pub fn deployer_coordinator_added_filter(
3453            &self,
3454        ) -> ::ethers::contract::builders::Event<
3455            ::std::sync::Arc<M>,
3456            M,
3457            DeployerCoordinatorAddedFilter,
3458        > {
3459            self.0.event()
3460        }
3461        ///Gets the contract's `DeployerCoordinatorManagerUpdated` event
3462        pub fn deployer_coordinator_manager_updated_filter(
3463            &self,
3464        ) -> ::ethers::contract::builders::Event<
3465            ::std::sync::Arc<M>,
3466            M,
3467            DeployerCoordinatorManagerUpdatedFilter,
3468        > {
3469            self.0.event()
3470        }
3471        ///Gets the contract's `DeployerCoordinatorRemoved` event
3472        pub fn deployer_coordinator_removed_filter(
3473            &self,
3474        ) -> ::ethers::contract::builders::Event<
3475            ::std::sync::Arc<M>,
3476            M,
3477            DeployerCoordinatorRemovedFilter,
3478        > {
3479            self.0.event()
3480        }
3481        ///Gets the contract's `FeeCollectorUpdated` event
3482        pub fn fee_collector_updated_filter(
3483            &self,
3484        ) -> ::ethers::contract::builders::Event<
3485            ::std::sync::Arc<M>,
3486            M,
3487            FeeCollectorUpdatedFilter,
3488        > {
3489            self.0.event()
3490        }
3491        ///Gets the contract's `GovernanceUpdated` event
3492        pub fn governance_updated_filter(
3493            &self,
3494        ) -> ::ethers::contract::builders::Event<
3495            ::std::sync::Arc<M>,
3496            M,
3497            GovernanceUpdatedFilter,
3498        > {
3499            self.0.event()
3500        }
3501        ///Gets the contract's `HyperdriveGovernanceUpdated` event
3502        pub fn hyperdrive_governance_updated_filter(
3503            &self,
3504        ) -> ::ethers::contract::builders::Event<
3505            ::std::sync::Arc<M>,
3506            M,
3507            HyperdriveGovernanceUpdatedFilter,
3508        > {
3509            self.0.event()
3510        }
3511        ///Gets the contract's `LinkerCodeHashUpdated` event
3512        pub fn linker_code_hash_updated_filter(
3513            &self,
3514        ) -> ::ethers::contract::builders::Event<
3515            ::std::sync::Arc<M>,
3516            M,
3517            LinkerCodeHashUpdatedFilter,
3518        > {
3519            self.0.event()
3520        }
3521        ///Gets the contract's `LinkerFactoryUpdated` event
3522        pub fn linker_factory_updated_filter(
3523            &self,
3524        ) -> ::ethers::contract::builders::Event<
3525            ::std::sync::Arc<M>,
3526            M,
3527            LinkerFactoryUpdatedFilter,
3528        > {
3529            self.0.event()
3530        }
3531        ///Gets the contract's `MaxCheckpointDurationUpdated` event
3532        pub fn max_checkpoint_duration_updated_filter(
3533            &self,
3534        ) -> ::ethers::contract::builders::Event<
3535            ::std::sync::Arc<M>,
3536            M,
3537            MaxCheckpointDurationUpdatedFilter,
3538        > {
3539            self.0.event()
3540        }
3541        ///Gets the contract's `MaxCircuitBreakerDeltaUpdated` event
3542        pub fn max_circuit_breaker_delta_updated_filter(
3543            &self,
3544        ) -> ::ethers::contract::builders::Event<
3545            ::std::sync::Arc<M>,
3546            M,
3547            MaxCircuitBreakerDeltaUpdatedFilter,
3548        > {
3549            self.0.event()
3550        }
3551        ///Gets the contract's `MaxFeesUpdated` event
3552        pub fn max_fees_updated_filter(
3553            &self,
3554        ) -> ::ethers::contract::builders::Event<
3555            ::std::sync::Arc<M>,
3556            M,
3557            MaxFeesUpdatedFilter,
3558        > {
3559            self.0.event()
3560        }
3561        ///Gets the contract's `MaxFixedAPRUpdated` event
3562        pub fn max_fixed_apr_updated_filter(
3563            &self,
3564        ) -> ::ethers::contract::builders::Event<
3565            ::std::sync::Arc<M>,
3566            M,
3567            MaxFixedAPRUpdatedFilter,
3568        > {
3569            self.0.event()
3570        }
3571        ///Gets the contract's `MaxPositionDurationUpdated` event
3572        pub fn max_position_duration_updated_filter(
3573            &self,
3574        ) -> ::ethers::contract::builders::Event<
3575            ::std::sync::Arc<M>,
3576            M,
3577            MaxPositionDurationUpdatedFilter,
3578        > {
3579            self.0.event()
3580        }
3581        ///Gets the contract's `MaxTimeStretchAPRUpdated` event
3582        pub fn max_time_stretch_apr_updated_filter(
3583            &self,
3584        ) -> ::ethers::contract::builders::Event<
3585            ::std::sync::Arc<M>,
3586            M,
3587            MaxTimeStretchAPRUpdatedFilter,
3588        > {
3589            self.0.event()
3590        }
3591        ///Gets the contract's `MinCheckpointDurationUpdated` event
3592        pub fn min_checkpoint_duration_updated_filter(
3593            &self,
3594        ) -> ::ethers::contract::builders::Event<
3595            ::std::sync::Arc<M>,
3596            M,
3597            MinCheckpointDurationUpdatedFilter,
3598        > {
3599            self.0.event()
3600        }
3601        ///Gets the contract's `MinCircuitBreakerDeltaUpdated` event
3602        pub fn min_circuit_breaker_delta_updated_filter(
3603            &self,
3604        ) -> ::ethers::contract::builders::Event<
3605            ::std::sync::Arc<M>,
3606            M,
3607            MinCircuitBreakerDeltaUpdatedFilter,
3608        > {
3609            self.0.event()
3610        }
3611        ///Gets the contract's `MinFeesUpdated` event
3612        pub fn min_fees_updated_filter(
3613            &self,
3614        ) -> ::ethers::contract::builders::Event<
3615            ::std::sync::Arc<M>,
3616            M,
3617            MinFeesUpdatedFilter,
3618        > {
3619            self.0.event()
3620        }
3621        ///Gets the contract's `MinFixedAPRUpdated` event
3622        pub fn min_fixed_apr_updated_filter(
3623            &self,
3624        ) -> ::ethers::contract::builders::Event<
3625            ::std::sync::Arc<M>,
3626            M,
3627            MinFixedAPRUpdatedFilter,
3628        > {
3629            self.0.event()
3630        }
3631        ///Gets the contract's `MinPositionDurationUpdated` event
3632        pub fn min_position_duration_updated_filter(
3633            &self,
3634        ) -> ::ethers::contract::builders::Event<
3635            ::std::sync::Arc<M>,
3636            M,
3637            MinPositionDurationUpdatedFilter,
3638        > {
3639            self.0.event()
3640        }
3641        ///Gets the contract's `MinTimeStretchAPRUpdated` event
3642        pub fn min_time_stretch_apr_updated_filter(
3643            &self,
3644        ) -> ::ethers::contract::builders::Event<
3645            ::std::sync::Arc<M>,
3646            M,
3647            MinTimeStretchAPRUpdatedFilter,
3648        > {
3649            self.0.event()
3650        }
3651        ///Gets the contract's `SweepCollectorUpdated` event
3652        pub fn sweep_collector_updated_filter(
3653            &self,
3654        ) -> ::ethers::contract::builders::Event<
3655            ::std::sync::Arc<M>,
3656            M,
3657            SweepCollectorUpdatedFilter,
3658        > {
3659            self.0.event()
3660        }
3661        /// Returns an `Event` builder for all the events of this contract.
3662        pub fn events(
3663            &self,
3664        ) -> ::ethers::contract::builders::Event<
3665            ::std::sync::Arc<M>,
3666            M,
3667            HyperdriveFactoryEvents,
3668        > {
3669            self.0.event_with_filter(::core::default::Default::default())
3670        }
3671    }
3672    impl<M: ::ethers::providers::Middleware> From<::ethers::contract::Contract<M>>
3673    for HyperdriveFactory<M> {
3674        fn from(contract: ::ethers::contract::Contract<M>) -> Self {
3675            Self::new(contract.address(), contract.client())
3676        }
3677    }
3678    ///Custom Error type `DeployerCoordinatorAlreadyAdded` with signature `DeployerCoordinatorAlreadyAdded()` and selector `0xbd34634f`
3679    #[derive(
3680        Clone,
3681        ::ethers::contract::EthError,
3682        ::ethers::contract::EthDisplay,
3683        serde::Serialize,
3684        serde::Deserialize,
3685        Default,
3686        Debug,
3687        PartialEq,
3688        Eq,
3689        Hash
3690    )]
3691    #[etherror(
3692        name = "DeployerCoordinatorAlreadyAdded",
3693        abi = "DeployerCoordinatorAlreadyAdded()"
3694    )]
3695    pub struct DeployerCoordinatorAlreadyAdded;
3696    ///Custom Error type `DeployerCoordinatorIndexMismatch` with signature `DeployerCoordinatorIndexMismatch()` and selector `0x3c9c032c`
3697    #[derive(
3698        Clone,
3699        ::ethers::contract::EthError,
3700        ::ethers::contract::EthDisplay,
3701        serde::Serialize,
3702        serde::Deserialize,
3703        Default,
3704        Debug,
3705        PartialEq,
3706        Eq,
3707        Hash
3708    )]
3709    #[etherror(
3710        name = "DeployerCoordinatorIndexMismatch",
3711        abi = "DeployerCoordinatorIndexMismatch()"
3712    )]
3713    pub struct DeployerCoordinatorIndexMismatch;
3714    ///Custom Error type `DeployerCoordinatorNotAdded` with signature `DeployerCoordinatorNotAdded()` and selector `0x4bf121ab`
3715    #[derive(
3716        Clone,
3717        ::ethers::contract::EthError,
3718        ::ethers::contract::EthDisplay,
3719        serde::Serialize,
3720        serde::Deserialize,
3721        Default,
3722        Debug,
3723        PartialEq,
3724        Eq,
3725        Hash
3726    )]
3727    #[etherror(
3728        name = "DeployerCoordinatorNotAdded",
3729        abi = "DeployerCoordinatorNotAdded()"
3730    )]
3731    pub struct DeployerCoordinatorNotAdded;
3732    ///Custom Error type `EndIndexTooLarge` with signature `EndIndexTooLarge()` and selector `0xe0f7becb`
3733    #[derive(
3734        Clone,
3735        ::ethers::contract::EthError,
3736        ::ethers::contract::EthDisplay,
3737        serde::Serialize,
3738        serde::Deserialize,
3739        Default,
3740        Debug,
3741        PartialEq,
3742        Eq,
3743        Hash
3744    )]
3745    #[etherror(name = "EndIndexTooLarge", abi = "EndIndexTooLarge()")]
3746    pub struct EndIndexTooLarge;
3747    ///Custom Error type `InvalidCheckpointDuration` with signature `InvalidCheckpointDuration()` and selector `0x5428734d`
3748    #[derive(
3749        Clone,
3750        ::ethers::contract::EthError,
3751        ::ethers::contract::EthDisplay,
3752        serde::Serialize,
3753        serde::Deserialize,
3754        Default,
3755        Debug,
3756        PartialEq,
3757        Eq,
3758        Hash
3759    )]
3760    #[etherror(name = "InvalidCheckpointDuration", abi = "InvalidCheckpointDuration()")]
3761    pub struct InvalidCheckpointDuration;
3762    ///Custom Error type `InvalidCheckpointDurationResolution` with signature `InvalidCheckpointDurationResolution()` and selector `0x8dbae0a8`
3763    #[derive(
3764        Clone,
3765        ::ethers::contract::EthError,
3766        ::ethers::contract::EthDisplay,
3767        serde::Serialize,
3768        serde::Deserialize,
3769        Default,
3770        Debug,
3771        PartialEq,
3772        Eq,
3773        Hash
3774    )]
3775    #[etherror(
3776        name = "InvalidCheckpointDurationResolution",
3777        abi = "InvalidCheckpointDurationResolution()"
3778    )]
3779    pub struct InvalidCheckpointDurationResolution;
3780    ///Custom Error type `InvalidCircuitBreakerDelta` with signature `InvalidCircuitBreakerDelta()` and selector `0xef9bc65f`
3781    #[derive(
3782        Clone,
3783        ::ethers::contract::EthError,
3784        ::ethers::contract::EthDisplay,
3785        serde::Serialize,
3786        serde::Deserialize,
3787        Default,
3788        Debug,
3789        PartialEq,
3790        Eq,
3791        Hash
3792    )]
3793    #[etherror(
3794        name = "InvalidCircuitBreakerDelta",
3795        abi = "InvalidCircuitBreakerDelta()"
3796    )]
3797    pub struct InvalidCircuitBreakerDelta;
3798    ///Custom Error type `InvalidDeployConfig` with signature `InvalidDeployConfig()` and selector `0xe8c02dd7`
3799    #[derive(
3800        Clone,
3801        ::ethers::contract::EthError,
3802        ::ethers::contract::EthDisplay,
3803        serde::Serialize,
3804        serde::Deserialize,
3805        Default,
3806        Debug,
3807        PartialEq,
3808        Eq,
3809        Hash
3810    )]
3811    #[etherror(name = "InvalidDeployConfig", abi = "InvalidDeployConfig()")]
3812    pub struct InvalidDeployConfig;
3813    ///Custom Error type `InvalidDeployerCoordinator` with signature `InvalidDeployerCoordinator()` and selector `0x6e623f0f`
3814    #[derive(
3815        Clone,
3816        ::ethers::contract::EthError,
3817        ::ethers::contract::EthDisplay,
3818        serde::Serialize,
3819        serde::Deserialize,
3820        Default,
3821        Debug,
3822        PartialEq,
3823        Eq,
3824        Hash
3825    )]
3826    #[etherror(
3827        name = "InvalidDeployerCoordinator",
3828        abi = "InvalidDeployerCoordinator()"
3829    )]
3830    pub struct InvalidDeployerCoordinator;
3831    ///Custom Error type `InvalidFees` with signature `InvalidFees()` and selector `0x2d8768f9`
3832    #[derive(
3833        Clone,
3834        ::ethers::contract::EthError,
3835        ::ethers::contract::EthDisplay,
3836        serde::Serialize,
3837        serde::Deserialize,
3838        Default,
3839        Debug,
3840        PartialEq,
3841        Eq,
3842        Hash
3843    )]
3844    #[etherror(name = "InvalidFees", abi = "InvalidFees()")]
3845    pub struct InvalidFees;
3846    ///Custom Error type `InvalidFixedAPR` with signature `InvalidFixedAPR()` and selector `0x30554de1`
3847    #[derive(
3848        Clone,
3849        ::ethers::contract::EthError,
3850        ::ethers::contract::EthDisplay,
3851        serde::Serialize,
3852        serde::Deserialize,
3853        Default,
3854        Debug,
3855        PartialEq,
3856        Eq,
3857        Hash
3858    )]
3859    #[etherror(name = "InvalidFixedAPR", abi = "InvalidFixedAPR()")]
3860    pub struct InvalidFixedAPR;
3861    ///Custom Error type `InvalidIndexes` with signature `InvalidIndexes()` and selector `0x764e6b56`
3862    #[derive(
3863        Clone,
3864        ::ethers::contract::EthError,
3865        ::ethers::contract::EthDisplay,
3866        serde::Serialize,
3867        serde::Deserialize,
3868        Default,
3869        Debug,
3870        PartialEq,
3871        Eq,
3872        Hash
3873    )]
3874    #[etherror(name = "InvalidIndexes", abi = "InvalidIndexes()")]
3875    pub struct InvalidIndexes;
3876    ///Custom Error type `InvalidMaxCheckpointDuration` with signature `InvalidMaxCheckpointDuration()` and selector `0xf9c0959d`
3877    #[derive(
3878        Clone,
3879        ::ethers::contract::EthError,
3880        ::ethers::contract::EthDisplay,
3881        serde::Serialize,
3882        serde::Deserialize,
3883        Default,
3884        Debug,
3885        PartialEq,
3886        Eq,
3887        Hash
3888    )]
3889    #[etherror(
3890        name = "InvalidMaxCheckpointDuration",
3891        abi = "InvalidMaxCheckpointDuration()"
3892    )]
3893    pub struct InvalidMaxCheckpointDuration;
3894    ///Custom Error type `InvalidMaxCircuitBreakerDelta` with signature `InvalidMaxCircuitBreakerDelta()` and selector `0xfdb80c26`
3895    #[derive(
3896        Clone,
3897        ::ethers::contract::EthError,
3898        ::ethers::contract::EthDisplay,
3899        serde::Serialize,
3900        serde::Deserialize,
3901        Default,
3902        Debug,
3903        PartialEq,
3904        Eq,
3905        Hash
3906    )]
3907    #[etherror(
3908        name = "InvalidMaxCircuitBreakerDelta",
3909        abi = "InvalidMaxCircuitBreakerDelta()"
3910    )]
3911    pub struct InvalidMaxCircuitBreakerDelta;
3912    ///Custom Error type `InvalidMaxFees` with signature `InvalidMaxFees()` and selector `0x2c20e3f6`
3913    #[derive(
3914        Clone,
3915        ::ethers::contract::EthError,
3916        ::ethers::contract::EthDisplay,
3917        serde::Serialize,
3918        serde::Deserialize,
3919        Default,
3920        Debug,
3921        PartialEq,
3922        Eq,
3923        Hash
3924    )]
3925    #[etherror(name = "InvalidMaxFees", abi = "InvalidMaxFees()")]
3926    pub struct InvalidMaxFees;
3927    ///Custom Error type `InvalidMaxFixedAPR` with signature `InvalidMaxFixedAPR()` and selector `0x673edec0`
3928    #[derive(
3929        Clone,
3930        ::ethers::contract::EthError,
3931        ::ethers::contract::EthDisplay,
3932        serde::Serialize,
3933        serde::Deserialize,
3934        Default,
3935        Debug,
3936        PartialEq,
3937        Eq,
3938        Hash
3939    )]
3940    #[etherror(name = "InvalidMaxFixedAPR", abi = "InvalidMaxFixedAPR()")]
3941    pub struct InvalidMaxFixedAPR;
3942    ///Custom Error type `InvalidMaxPositionDuration` with signature `InvalidMaxPositionDuration()` and selector `0xcfb699cb`
3943    #[derive(
3944        Clone,
3945        ::ethers::contract::EthError,
3946        ::ethers::contract::EthDisplay,
3947        serde::Serialize,
3948        serde::Deserialize,
3949        Default,
3950        Debug,
3951        PartialEq,
3952        Eq,
3953        Hash
3954    )]
3955    #[etherror(
3956        name = "InvalidMaxPositionDuration",
3957        abi = "InvalidMaxPositionDuration()"
3958    )]
3959    pub struct InvalidMaxPositionDuration;
3960    ///Custom Error type `InvalidMaxTimeStretchAPR` with signature `InvalidMaxTimeStretchAPR()` and selector `0xa35539d0`
3961    #[derive(
3962        Clone,
3963        ::ethers::contract::EthError,
3964        ::ethers::contract::EthDisplay,
3965        serde::Serialize,
3966        serde::Deserialize,
3967        Default,
3968        Debug,
3969        PartialEq,
3970        Eq,
3971        Hash
3972    )]
3973    #[etherror(name = "InvalidMaxTimeStretchAPR", abi = "InvalidMaxTimeStretchAPR()")]
3974    pub struct InvalidMaxTimeStretchAPR;
3975    ///Custom Error type `InvalidMinCheckpointDuration` with signature `InvalidMinCheckpointDuration()` and selector `0x0433acc6`
3976    #[derive(
3977        Clone,
3978        ::ethers::contract::EthError,
3979        ::ethers::contract::EthDisplay,
3980        serde::Serialize,
3981        serde::Deserialize,
3982        Default,
3983        Debug,
3984        PartialEq,
3985        Eq,
3986        Hash
3987    )]
3988    #[etherror(
3989        name = "InvalidMinCheckpointDuration",
3990        abi = "InvalidMinCheckpointDuration()"
3991    )]
3992    pub struct InvalidMinCheckpointDuration;
3993    ///Custom Error type `InvalidMinCircuitBreakerDelta` with signature `InvalidMinCircuitBreakerDelta()` and selector `0x28a2d9a9`
3994    #[derive(
3995        Clone,
3996        ::ethers::contract::EthError,
3997        ::ethers::contract::EthDisplay,
3998        serde::Serialize,
3999        serde::Deserialize,
4000        Default,
4001        Debug,
4002        PartialEq,
4003        Eq,
4004        Hash
4005    )]
4006    #[etherror(
4007        name = "InvalidMinCircuitBreakerDelta",
4008        abi = "InvalidMinCircuitBreakerDelta()"
4009    )]
4010    pub struct InvalidMinCircuitBreakerDelta;
4011    ///Custom Error type `InvalidMinFees` with signature `InvalidMinFees()` and selector `0x15b05a8f`
4012    #[derive(
4013        Clone,
4014        ::ethers::contract::EthError,
4015        ::ethers::contract::EthDisplay,
4016        serde::Serialize,
4017        serde::Deserialize,
4018        Default,
4019        Debug,
4020        PartialEq,
4021        Eq,
4022        Hash
4023    )]
4024    #[etherror(name = "InvalidMinFees", abi = "InvalidMinFees()")]
4025    pub struct InvalidMinFees;
4026    ///Custom Error type `InvalidMinFixedAPR` with signature `InvalidMinFixedAPR()` and selector `0x1670f797`
4027    #[derive(
4028        Clone,
4029        ::ethers::contract::EthError,
4030        ::ethers::contract::EthDisplay,
4031        serde::Serialize,
4032        serde::Deserialize,
4033        Default,
4034        Debug,
4035        PartialEq,
4036        Eq,
4037        Hash
4038    )]
4039    #[etherror(name = "InvalidMinFixedAPR", abi = "InvalidMinFixedAPR()")]
4040    pub struct InvalidMinFixedAPR;
4041    ///Custom Error type `InvalidMinPositionDuration` with signature `InvalidMinPositionDuration()` and selector `0x600f5a02`
4042    #[derive(
4043        Clone,
4044        ::ethers::contract::EthError,
4045        ::ethers::contract::EthDisplay,
4046        serde::Serialize,
4047        serde::Deserialize,
4048        Default,
4049        Debug,
4050        PartialEq,
4051        Eq,
4052        Hash
4053    )]
4054    #[etherror(
4055        name = "InvalidMinPositionDuration",
4056        abi = "InvalidMinPositionDuration()"
4057    )]
4058    pub struct InvalidMinPositionDuration;
4059    ///Custom Error type `InvalidMinTimeStretchAPR` with signature `InvalidMinTimeStretchAPR()` and selector `0x5a8f6557`
4060    #[derive(
4061        Clone,
4062        ::ethers::contract::EthError,
4063        ::ethers::contract::EthDisplay,
4064        serde::Serialize,
4065        serde::Deserialize,
4066        Default,
4067        Debug,
4068        PartialEq,
4069        Eq,
4070        Hash
4071    )]
4072    #[etherror(name = "InvalidMinTimeStretchAPR", abi = "InvalidMinTimeStretchAPR()")]
4073    pub struct InvalidMinTimeStretchAPR;
4074    ///Custom Error type `InvalidPositionDuration` with signature `InvalidPositionDuration()` and selector `0x4a7fff9e`
4075    #[derive(
4076        Clone,
4077        ::ethers::contract::EthError,
4078        ::ethers::contract::EthDisplay,
4079        serde::Serialize,
4080        serde::Deserialize,
4081        Default,
4082        Debug,
4083        PartialEq,
4084        Eq,
4085        Hash
4086    )]
4087    #[etherror(name = "InvalidPositionDuration", abi = "InvalidPositionDuration()")]
4088    pub struct InvalidPositionDuration;
4089    ///Custom Error type `InvalidTimeStretchAPR` with signature `InvalidTimeStretchAPR()` and selector `0x83ebdfb7`
4090    #[derive(
4091        Clone,
4092        ::ethers::contract::EthError,
4093        ::ethers::contract::EthDisplay,
4094        serde::Serialize,
4095        serde::Deserialize,
4096        Default,
4097        Debug,
4098        PartialEq,
4099        Eq,
4100        Hash
4101    )]
4102    #[etherror(name = "InvalidTimeStretchAPR", abi = "InvalidTimeStretchAPR()")]
4103    pub struct InvalidTimeStretchAPR;
4104    ///Custom Error type `LnInvalidInput` with signature `LnInvalidInput()` and selector `0xe61b4975`
4105    #[derive(
4106        Clone,
4107        ::ethers::contract::EthError,
4108        ::ethers::contract::EthDisplay,
4109        serde::Serialize,
4110        serde::Deserialize,
4111        Default,
4112        Debug,
4113        PartialEq,
4114        Eq,
4115        Hash
4116    )]
4117    #[etherror(name = "LnInvalidInput", abi = "LnInvalidInput()")]
4118    pub struct LnInvalidInput;
4119    ///Custom Error type `ReceiveLocked` with signature `ReceiveLocked()` and selector `0x5563ada8`
4120    #[derive(
4121        Clone,
4122        ::ethers::contract::EthError,
4123        ::ethers::contract::EthDisplay,
4124        serde::Serialize,
4125        serde::Deserialize,
4126        Default,
4127        Debug,
4128        PartialEq,
4129        Eq,
4130        Hash
4131    )]
4132    #[etherror(name = "ReceiveLocked", abi = "ReceiveLocked()")]
4133    pub struct ReceiveLocked;
4134    ///Custom Error type `TransferFailed` with signature `TransferFailed()` and selector `0x90b8ec18`
4135    #[derive(
4136        Clone,
4137        ::ethers::contract::EthError,
4138        ::ethers::contract::EthDisplay,
4139        serde::Serialize,
4140        serde::Deserialize,
4141        Default,
4142        Debug,
4143        PartialEq,
4144        Eq,
4145        Hash
4146    )]
4147    #[etherror(name = "TransferFailed", abi = "TransferFailed()")]
4148    pub struct TransferFailed;
4149    ///Custom Error type `Unauthorized` with signature `Unauthorized()` and selector `0x82b42900`
4150    #[derive(
4151        Clone,
4152        ::ethers::contract::EthError,
4153        ::ethers::contract::EthDisplay,
4154        serde::Serialize,
4155        serde::Deserialize,
4156        Default,
4157        Debug,
4158        PartialEq,
4159        Eq,
4160        Hash
4161    )]
4162    #[etherror(name = "Unauthorized", abi = "Unauthorized()")]
4163    pub struct Unauthorized;
4164    ///Custom Error type `UnsafeCastToInt256` with signature `UnsafeCastToInt256()` and selector `0x72dd4e02`
4165    #[derive(
4166        Clone,
4167        ::ethers::contract::EthError,
4168        ::ethers::contract::EthDisplay,
4169        serde::Serialize,
4170        serde::Deserialize,
4171        Default,
4172        Debug,
4173        PartialEq,
4174        Eq,
4175        Hash
4176    )]
4177    #[etherror(name = "UnsafeCastToInt256", abi = "UnsafeCastToInt256()")]
4178    pub struct UnsafeCastToInt256;
4179    ///Container type for all of the contract's custom errors
4180    #[derive(
4181        Clone,
4182        ::ethers::contract::EthAbiType,
4183        serde::Serialize,
4184        serde::Deserialize,
4185        Debug,
4186        PartialEq,
4187        Eq,
4188        Hash
4189    )]
4190    pub enum HyperdriveFactoryErrors {
4191        DeployerCoordinatorAlreadyAdded(DeployerCoordinatorAlreadyAdded),
4192        DeployerCoordinatorIndexMismatch(DeployerCoordinatorIndexMismatch),
4193        DeployerCoordinatorNotAdded(DeployerCoordinatorNotAdded),
4194        EndIndexTooLarge(EndIndexTooLarge),
4195        InvalidCheckpointDuration(InvalidCheckpointDuration),
4196        InvalidCheckpointDurationResolution(InvalidCheckpointDurationResolution),
4197        InvalidCircuitBreakerDelta(InvalidCircuitBreakerDelta),
4198        InvalidDeployConfig(InvalidDeployConfig),
4199        InvalidDeployerCoordinator(InvalidDeployerCoordinator),
4200        InvalidFees(InvalidFees),
4201        InvalidFixedAPR(InvalidFixedAPR),
4202        InvalidIndexes(InvalidIndexes),
4203        InvalidMaxCheckpointDuration(InvalidMaxCheckpointDuration),
4204        InvalidMaxCircuitBreakerDelta(InvalidMaxCircuitBreakerDelta),
4205        InvalidMaxFees(InvalidMaxFees),
4206        InvalidMaxFixedAPR(InvalidMaxFixedAPR),
4207        InvalidMaxPositionDuration(InvalidMaxPositionDuration),
4208        InvalidMaxTimeStretchAPR(InvalidMaxTimeStretchAPR),
4209        InvalidMinCheckpointDuration(InvalidMinCheckpointDuration),
4210        InvalidMinCircuitBreakerDelta(InvalidMinCircuitBreakerDelta),
4211        InvalidMinFees(InvalidMinFees),
4212        InvalidMinFixedAPR(InvalidMinFixedAPR),
4213        InvalidMinPositionDuration(InvalidMinPositionDuration),
4214        InvalidMinTimeStretchAPR(InvalidMinTimeStretchAPR),
4215        InvalidPositionDuration(InvalidPositionDuration),
4216        InvalidTimeStretchAPR(InvalidTimeStretchAPR),
4217        LnInvalidInput(LnInvalidInput),
4218        ReceiveLocked(ReceiveLocked),
4219        TransferFailed(TransferFailed),
4220        Unauthorized(Unauthorized),
4221        UnsafeCastToInt256(UnsafeCastToInt256),
4222        /// The standard solidity revert string, with selector
4223        /// Error(string) -- 0x08c379a0
4224        RevertString(::std::string::String),
4225    }
4226    impl ::ethers::core::abi::AbiDecode for HyperdriveFactoryErrors {
4227        fn decode(
4228            data: impl AsRef<[u8]>,
4229        ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
4230            let data = data.as_ref();
4231            if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(
4232                data,
4233            ) {
4234                return Ok(Self::RevertString(decoded));
4235            }
4236            if let Ok(decoded) = <DeployerCoordinatorAlreadyAdded as ::ethers::core::abi::AbiDecode>::decode(
4237                data,
4238            ) {
4239                return Ok(Self::DeployerCoordinatorAlreadyAdded(decoded));
4240            }
4241            if let Ok(decoded) = <DeployerCoordinatorIndexMismatch as ::ethers::core::abi::AbiDecode>::decode(
4242                data,
4243            ) {
4244                return Ok(Self::DeployerCoordinatorIndexMismatch(decoded));
4245            }
4246            if let Ok(decoded) = <DeployerCoordinatorNotAdded as ::ethers::core::abi::AbiDecode>::decode(
4247                data,
4248            ) {
4249                return Ok(Self::DeployerCoordinatorNotAdded(decoded));
4250            }
4251            if let Ok(decoded) = <EndIndexTooLarge as ::ethers::core::abi::AbiDecode>::decode(
4252                data,
4253            ) {
4254                return Ok(Self::EndIndexTooLarge(decoded));
4255            }
4256            if let Ok(decoded) = <InvalidCheckpointDuration as ::ethers::core::abi::AbiDecode>::decode(
4257                data,
4258            ) {
4259                return Ok(Self::InvalidCheckpointDuration(decoded));
4260            }
4261            if let Ok(decoded) = <InvalidCheckpointDurationResolution as ::ethers::core::abi::AbiDecode>::decode(
4262                data,
4263            ) {
4264                return Ok(Self::InvalidCheckpointDurationResolution(decoded));
4265            }
4266            if let Ok(decoded) = <InvalidCircuitBreakerDelta as ::ethers::core::abi::AbiDecode>::decode(
4267                data,
4268            ) {
4269                return Ok(Self::InvalidCircuitBreakerDelta(decoded));
4270            }
4271            if let Ok(decoded) = <InvalidDeployConfig as ::ethers::core::abi::AbiDecode>::decode(
4272                data,
4273            ) {
4274                return Ok(Self::InvalidDeployConfig(decoded));
4275            }
4276            if let Ok(decoded) = <InvalidDeployerCoordinator as ::ethers::core::abi::AbiDecode>::decode(
4277                data,
4278            ) {
4279                return Ok(Self::InvalidDeployerCoordinator(decoded));
4280            }
4281            if let Ok(decoded) = <InvalidFees as ::ethers::core::abi::AbiDecode>::decode(
4282                data,
4283            ) {
4284                return Ok(Self::InvalidFees(decoded));
4285            }
4286            if let Ok(decoded) = <InvalidFixedAPR as ::ethers::core::abi::AbiDecode>::decode(
4287                data,
4288            ) {
4289                return Ok(Self::InvalidFixedAPR(decoded));
4290            }
4291            if let Ok(decoded) = <InvalidIndexes as ::ethers::core::abi::AbiDecode>::decode(
4292                data,
4293            ) {
4294                return Ok(Self::InvalidIndexes(decoded));
4295            }
4296            if let Ok(decoded) = <InvalidMaxCheckpointDuration as ::ethers::core::abi::AbiDecode>::decode(
4297                data,
4298            ) {
4299                return Ok(Self::InvalidMaxCheckpointDuration(decoded));
4300            }
4301            if let Ok(decoded) = <InvalidMaxCircuitBreakerDelta as ::ethers::core::abi::AbiDecode>::decode(
4302                data,
4303            ) {
4304                return Ok(Self::InvalidMaxCircuitBreakerDelta(decoded));
4305            }
4306            if let Ok(decoded) = <InvalidMaxFees as ::ethers::core::abi::AbiDecode>::decode(
4307                data,
4308            ) {
4309                return Ok(Self::InvalidMaxFees(decoded));
4310            }
4311            if let Ok(decoded) = <InvalidMaxFixedAPR as ::ethers::core::abi::AbiDecode>::decode(
4312                data,
4313            ) {
4314                return Ok(Self::InvalidMaxFixedAPR(decoded));
4315            }
4316            if let Ok(decoded) = <InvalidMaxPositionDuration as ::ethers::core::abi::AbiDecode>::decode(
4317                data,
4318            ) {
4319                return Ok(Self::InvalidMaxPositionDuration(decoded));
4320            }
4321            if let Ok(decoded) = <InvalidMaxTimeStretchAPR as ::ethers::core::abi::AbiDecode>::decode(
4322                data,
4323            ) {
4324                return Ok(Self::InvalidMaxTimeStretchAPR(decoded));
4325            }
4326            if let Ok(decoded) = <InvalidMinCheckpointDuration as ::ethers::core::abi::AbiDecode>::decode(
4327                data,
4328            ) {
4329                return Ok(Self::InvalidMinCheckpointDuration(decoded));
4330            }
4331            if let Ok(decoded) = <InvalidMinCircuitBreakerDelta as ::ethers::core::abi::AbiDecode>::decode(
4332                data,
4333            ) {
4334                return Ok(Self::InvalidMinCircuitBreakerDelta(decoded));
4335            }
4336            if let Ok(decoded) = <InvalidMinFees as ::ethers::core::abi::AbiDecode>::decode(
4337                data,
4338            ) {
4339                return Ok(Self::InvalidMinFees(decoded));
4340            }
4341            if let Ok(decoded) = <InvalidMinFixedAPR as ::ethers::core::abi::AbiDecode>::decode(
4342                data,
4343            ) {
4344                return Ok(Self::InvalidMinFixedAPR(decoded));
4345            }
4346            if let Ok(decoded) = <InvalidMinPositionDuration as ::ethers::core::abi::AbiDecode>::decode(
4347                data,
4348            ) {
4349                return Ok(Self::InvalidMinPositionDuration(decoded));
4350            }
4351            if let Ok(decoded) = <InvalidMinTimeStretchAPR as ::ethers::core::abi::AbiDecode>::decode(
4352                data,
4353            ) {
4354                return Ok(Self::InvalidMinTimeStretchAPR(decoded));
4355            }
4356            if let Ok(decoded) = <InvalidPositionDuration as ::ethers::core::abi::AbiDecode>::decode(
4357                data,
4358            ) {
4359                return Ok(Self::InvalidPositionDuration(decoded));
4360            }
4361            if let Ok(decoded) = <InvalidTimeStretchAPR as ::ethers::core::abi::AbiDecode>::decode(
4362                data,
4363            ) {
4364                return Ok(Self::InvalidTimeStretchAPR(decoded));
4365            }
4366            if let Ok(decoded) = <LnInvalidInput as ::ethers::core::abi::AbiDecode>::decode(
4367                data,
4368            ) {
4369                return Ok(Self::LnInvalidInput(decoded));
4370            }
4371            if let Ok(decoded) = <ReceiveLocked as ::ethers::core::abi::AbiDecode>::decode(
4372                data,
4373            ) {
4374                return Ok(Self::ReceiveLocked(decoded));
4375            }
4376            if let Ok(decoded) = <TransferFailed as ::ethers::core::abi::AbiDecode>::decode(
4377                data,
4378            ) {
4379                return Ok(Self::TransferFailed(decoded));
4380            }
4381            if let Ok(decoded) = <Unauthorized as ::ethers::core::abi::AbiDecode>::decode(
4382                data,
4383            ) {
4384                return Ok(Self::Unauthorized(decoded));
4385            }
4386            if let Ok(decoded) = <UnsafeCastToInt256 as ::ethers::core::abi::AbiDecode>::decode(
4387                data,
4388            ) {
4389                return Ok(Self::UnsafeCastToInt256(decoded));
4390            }
4391            Err(::ethers::core::abi::Error::InvalidData.into())
4392        }
4393    }
4394    impl ::ethers::core::abi::AbiEncode for HyperdriveFactoryErrors {
4395        fn encode(self) -> ::std::vec::Vec<u8> {
4396            match self {
4397                Self::DeployerCoordinatorAlreadyAdded(element) => {
4398                    ::ethers::core::abi::AbiEncode::encode(element)
4399                }
4400                Self::DeployerCoordinatorIndexMismatch(element) => {
4401                    ::ethers::core::abi::AbiEncode::encode(element)
4402                }
4403                Self::DeployerCoordinatorNotAdded(element) => {
4404                    ::ethers::core::abi::AbiEncode::encode(element)
4405                }
4406                Self::EndIndexTooLarge(element) => {
4407                    ::ethers::core::abi::AbiEncode::encode(element)
4408                }
4409                Self::InvalidCheckpointDuration(element) => {
4410                    ::ethers::core::abi::AbiEncode::encode(element)
4411                }
4412                Self::InvalidCheckpointDurationResolution(element) => {
4413                    ::ethers::core::abi::AbiEncode::encode(element)
4414                }
4415                Self::InvalidCircuitBreakerDelta(element) => {
4416                    ::ethers::core::abi::AbiEncode::encode(element)
4417                }
4418                Self::InvalidDeployConfig(element) => {
4419                    ::ethers::core::abi::AbiEncode::encode(element)
4420                }
4421                Self::InvalidDeployerCoordinator(element) => {
4422                    ::ethers::core::abi::AbiEncode::encode(element)
4423                }
4424                Self::InvalidFees(element) => {
4425                    ::ethers::core::abi::AbiEncode::encode(element)
4426                }
4427                Self::InvalidFixedAPR(element) => {
4428                    ::ethers::core::abi::AbiEncode::encode(element)
4429                }
4430                Self::InvalidIndexes(element) => {
4431                    ::ethers::core::abi::AbiEncode::encode(element)
4432                }
4433                Self::InvalidMaxCheckpointDuration(element) => {
4434                    ::ethers::core::abi::AbiEncode::encode(element)
4435                }
4436                Self::InvalidMaxCircuitBreakerDelta(element) => {
4437                    ::ethers::core::abi::AbiEncode::encode(element)
4438                }
4439                Self::InvalidMaxFees(element) => {
4440                    ::ethers::core::abi::AbiEncode::encode(element)
4441                }
4442                Self::InvalidMaxFixedAPR(element) => {
4443                    ::ethers::core::abi::AbiEncode::encode(element)
4444                }
4445                Self::InvalidMaxPositionDuration(element) => {
4446                    ::ethers::core::abi::AbiEncode::encode(element)
4447                }
4448                Self::InvalidMaxTimeStretchAPR(element) => {
4449                    ::ethers::core::abi::AbiEncode::encode(element)
4450                }
4451                Self::InvalidMinCheckpointDuration(element) => {
4452                    ::ethers::core::abi::AbiEncode::encode(element)
4453                }
4454                Self::InvalidMinCircuitBreakerDelta(element) => {
4455                    ::ethers::core::abi::AbiEncode::encode(element)
4456                }
4457                Self::InvalidMinFees(element) => {
4458                    ::ethers::core::abi::AbiEncode::encode(element)
4459                }
4460                Self::InvalidMinFixedAPR(element) => {
4461                    ::ethers::core::abi::AbiEncode::encode(element)
4462                }
4463                Self::InvalidMinPositionDuration(element) => {
4464                    ::ethers::core::abi::AbiEncode::encode(element)
4465                }
4466                Self::InvalidMinTimeStretchAPR(element) => {
4467                    ::ethers::core::abi::AbiEncode::encode(element)
4468                }
4469                Self::InvalidPositionDuration(element) => {
4470                    ::ethers::core::abi::AbiEncode::encode(element)
4471                }
4472                Self::InvalidTimeStretchAPR(element) => {
4473                    ::ethers::core::abi::AbiEncode::encode(element)
4474                }
4475                Self::LnInvalidInput(element) => {
4476                    ::ethers::core::abi::AbiEncode::encode(element)
4477                }
4478                Self::ReceiveLocked(element) => {
4479                    ::ethers::core::abi::AbiEncode::encode(element)
4480                }
4481                Self::TransferFailed(element) => {
4482                    ::ethers::core::abi::AbiEncode::encode(element)
4483                }
4484                Self::Unauthorized(element) => {
4485                    ::ethers::core::abi::AbiEncode::encode(element)
4486                }
4487                Self::UnsafeCastToInt256(element) => {
4488                    ::ethers::core::abi::AbiEncode::encode(element)
4489                }
4490                Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s),
4491            }
4492        }
4493    }
4494    impl ::ethers::contract::ContractRevert for HyperdriveFactoryErrors {
4495        fn valid_selector(selector: [u8; 4]) -> bool {
4496            match selector {
4497                [0x08, 0xc3, 0x79, 0xa0] => true,
4498                _ if selector
4499                    == <DeployerCoordinatorAlreadyAdded as ::ethers::contract::EthError>::selector() => {
4500                    true
4501                }
4502                _ if selector
4503                    == <DeployerCoordinatorIndexMismatch as ::ethers::contract::EthError>::selector() => {
4504                    true
4505                }
4506                _ if selector
4507                    == <DeployerCoordinatorNotAdded as ::ethers::contract::EthError>::selector() => {
4508                    true
4509                }
4510                _ if selector
4511                    == <EndIndexTooLarge as ::ethers::contract::EthError>::selector() => {
4512                    true
4513                }
4514                _ if selector
4515                    == <InvalidCheckpointDuration as ::ethers::contract::EthError>::selector() => {
4516                    true
4517                }
4518                _ if selector
4519                    == <InvalidCheckpointDurationResolution as ::ethers::contract::EthError>::selector() => {
4520                    true
4521                }
4522                _ if selector
4523                    == <InvalidCircuitBreakerDelta as ::ethers::contract::EthError>::selector() => {
4524                    true
4525                }
4526                _ if selector
4527                    == <InvalidDeployConfig as ::ethers::contract::EthError>::selector() => {
4528                    true
4529                }
4530                _ if selector
4531                    == <InvalidDeployerCoordinator as ::ethers::contract::EthError>::selector() => {
4532                    true
4533                }
4534                _ if selector
4535                    == <InvalidFees as ::ethers::contract::EthError>::selector() => true,
4536                _ if selector
4537                    == <InvalidFixedAPR as ::ethers::contract::EthError>::selector() => {
4538                    true
4539                }
4540                _ if selector
4541                    == <InvalidIndexes as ::ethers::contract::EthError>::selector() => {
4542                    true
4543                }
4544                _ if selector
4545                    == <InvalidMaxCheckpointDuration as ::ethers::contract::EthError>::selector() => {
4546                    true
4547                }
4548                _ if selector
4549                    == <InvalidMaxCircuitBreakerDelta as ::ethers::contract::EthError>::selector() => {
4550                    true
4551                }
4552                _ if selector
4553                    == <InvalidMaxFees as ::ethers::contract::EthError>::selector() => {
4554                    true
4555                }
4556                _ if selector
4557                    == <InvalidMaxFixedAPR as ::ethers::contract::EthError>::selector() => {
4558                    true
4559                }
4560                _ if selector
4561                    == <InvalidMaxPositionDuration as ::ethers::contract::EthError>::selector() => {
4562                    true
4563                }
4564                _ if selector
4565                    == <InvalidMaxTimeStretchAPR as ::ethers::contract::EthError>::selector() => {
4566                    true
4567                }
4568                _ if selector
4569                    == <InvalidMinCheckpointDuration as ::ethers::contract::EthError>::selector() => {
4570                    true
4571                }
4572                _ if selector
4573                    == <InvalidMinCircuitBreakerDelta as ::ethers::contract::EthError>::selector() => {
4574                    true
4575                }
4576                _ if selector
4577                    == <InvalidMinFees as ::ethers::contract::EthError>::selector() => {
4578                    true
4579                }
4580                _ if selector
4581                    == <InvalidMinFixedAPR as ::ethers::contract::EthError>::selector() => {
4582                    true
4583                }
4584                _ if selector
4585                    == <InvalidMinPositionDuration as ::ethers::contract::EthError>::selector() => {
4586                    true
4587                }
4588                _ if selector
4589                    == <InvalidMinTimeStretchAPR as ::ethers::contract::EthError>::selector() => {
4590                    true
4591                }
4592                _ if selector
4593                    == <InvalidPositionDuration as ::ethers::contract::EthError>::selector() => {
4594                    true
4595                }
4596                _ if selector
4597                    == <InvalidTimeStretchAPR as ::ethers::contract::EthError>::selector() => {
4598                    true
4599                }
4600                _ if selector
4601                    == <LnInvalidInput as ::ethers::contract::EthError>::selector() => {
4602                    true
4603                }
4604                _ if selector
4605                    == <ReceiveLocked as ::ethers::contract::EthError>::selector() => {
4606                    true
4607                }
4608                _ if selector
4609                    == <TransferFailed as ::ethers::contract::EthError>::selector() => {
4610                    true
4611                }
4612                _ if selector
4613                    == <Unauthorized as ::ethers::contract::EthError>::selector() => true,
4614                _ if selector
4615                    == <UnsafeCastToInt256 as ::ethers::contract::EthError>::selector() => {
4616                    true
4617                }
4618                _ => false,
4619            }
4620        }
4621    }
4622    impl ::core::fmt::Display for HyperdriveFactoryErrors {
4623        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4624            match self {
4625                Self::DeployerCoordinatorAlreadyAdded(element) => {
4626                    ::core::fmt::Display::fmt(element, f)
4627                }
4628                Self::DeployerCoordinatorIndexMismatch(element) => {
4629                    ::core::fmt::Display::fmt(element, f)
4630                }
4631                Self::DeployerCoordinatorNotAdded(element) => {
4632                    ::core::fmt::Display::fmt(element, f)
4633                }
4634                Self::EndIndexTooLarge(element) => ::core::fmt::Display::fmt(element, f),
4635                Self::InvalidCheckpointDuration(element) => {
4636                    ::core::fmt::Display::fmt(element, f)
4637                }
4638                Self::InvalidCheckpointDurationResolution(element) => {
4639                    ::core::fmt::Display::fmt(element, f)
4640                }
4641                Self::InvalidCircuitBreakerDelta(element) => {
4642                    ::core::fmt::Display::fmt(element, f)
4643                }
4644                Self::InvalidDeployConfig(element) => {
4645                    ::core::fmt::Display::fmt(element, f)
4646                }
4647                Self::InvalidDeployerCoordinator(element) => {
4648                    ::core::fmt::Display::fmt(element, f)
4649                }
4650                Self::InvalidFees(element) => ::core::fmt::Display::fmt(element, f),
4651                Self::InvalidFixedAPR(element) => ::core::fmt::Display::fmt(element, f),
4652                Self::InvalidIndexes(element) => ::core::fmt::Display::fmt(element, f),
4653                Self::InvalidMaxCheckpointDuration(element) => {
4654                    ::core::fmt::Display::fmt(element, f)
4655                }
4656                Self::InvalidMaxCircuitBreakerDelta(element) => {
4657                    ::core::fmt::Display::fmt(element, f)
4658                }
4659                Self::InvalidMaxFees(element) => ::core::fmt::Display::fmt(element, f),
4660                Self::InvalidMaxFixedAPR(element) => {
4661                    ::core::fmt::Display::fmt(element, f)
4662                }
4663                Self::InvalidMaxPositionDuration(element) => {
4664                    ::core::fmt::Display::fmt(element, f)
4665                }
4666                Self::InvalidMaxTimeStretchAPR(element) => {
4667                    ::core::fmt::Display::fmt(element, f)
4668                }
4669                Self::InvalidMinCheckpointDuration(element) => {
4670                    ::core::fmt::Display::fmt(element, f)
4671                }
4672                Self::InvalidMinCircuitBreakerDelta(element) => {
4673                    ::core::fmt::Display::fmt(element, f)
4674                }
4675                Self::InvalidMinFees(element) => ::core::fmt::Display::fmt(element, f),
4676                Self::InvalidMinFixedAPR(element) => {
4677                    ::core::fmt::Display::fmt(element, f)
4678                }
4679                Self::InvalidMinPositionDuration(element) => {
4680                    ::core::fmt::Display::fmt(element, f)
4681                }
4682                Self::InvalidMinTimeStretchAPR(element) => {
4683                    ::core::fmt::Display::fmt(element, f)
4684                }
4685                Self::InvalidPositionDuration(element) => {
4686                    ::core::fmt::Display::fmt(element, f)
4687                }
4688                Self::InvalidTimeStretchAPR(element) => {
4689                    ::core::fmt::Display::fmt(element, f)
4690                }
4691                Self::LnInvalidInput(element) => ::core::fmt::Display::fmt(element, f),
4692                Self::ReceiveLocked(element) => ::core::fmt::Display::fmt(element, f),
4693                Self::TransferFailed(element) => ::core::fmt::Display::fmt(element, f),
4694                Self::Unauthorized(element) => ::core::fmt::Display::fmt(element, f),
4695                Self::UnsafeCastToInt256(element) => {
4696                    ::core::fmt::Display::fmt(element, f)
4697                }
4698                Self::RevertString(s) => ::core::fmt::Display::fmt(s, f),
4699            }
4700        }
4701    }
4702    impl ::core::convert::From<::std::string::String> for HyperdriveFactoryErrors {
4703        fn from(value: String) -> Self {
4704            Self::RevertString(value)
4705        }
4706    }
4707    impl ::core::convert::From<DeployerCoordinatorAlreadyAdded>
4708    for HyperdriveFactoryErrors {
4709        fn from(value: DeployerCoordinatorAlreadyAdded) -> Self {
4710            Self::DeployerCoordinatorAlreadyAdded(value)
4711        }
4712    }
4713    impl ::core::convert::From<DeployerCoordinatorIndexMismatch>
4714    for HyperdriveFactoryErrors {
4715        fn from(value: DeployerCoordinatorIndexMismatch) -> Self {
4716            Self::DeployerCoordinatorIndexMismatch(value)
4717        }
4718    }
4719    impl ::core::convert::From<DeployerCoordinatorNotAdded> for HyperdriveFactoryErrors {
4720        fn from(value: DeployerCoordinatorNotAdded) -> Self {
4721            Self::DeployerCoordinatorNotAdded(value)
4722        }
4723    }
4724    impl ::core::convert::From<EndIndexTooLarge> for HyperdriveFactoryErrors {
4725        fn from(value: EndIndexTooLarge) -> Self {
4726            Self::EndIndexTooLarge(value)
4727        }
4728    }
4729    impl ::core::convert::From<InvalidCheckpointDuration> for HyperdriveFactoryErrors {
4730        fn from(value: InvalidCheckpointDuration) -> Self {
4731            Self::InvalidCheckpointDuration(value)
4732        }
4733    }
4734    impl ::core::convert::From<InvalidCheckpointDurationResolution>
4735    for HyperdriveFactoryErrors {
4736        fn from(value: InvalidCheckpointDurationResolution) -> Self {
4737            Self::InvalidCheckpointDurationResolution(value)
4738        }
4739    }
4740    impl ::core::convert::From<InvalidCircuitBreakerDelta> for HyperdriveFactoryErrors {
4741        fn from(value: InvalidCircuitBreakerDelta) -> Self {
4742            Self::InvalidCircuitBreakerDelta(value)
4743        }
4744    }
4745    impl ::core::convert::From<InvalidDeployConfig> for HyperdriveFactoryErrors {
4746        fn from(value: InvalidDeployConfig) -> Self {
4747            Self::InvalidDeployConfig(value)
4748        }
4749    }
4750    impl ::core::convert::From<InvalidDeployerCoordinator> for HyperdriveFactoryErrors {
4751        fn from(value: InvalidDeployerCoordinator) -> Self {
4752            Self::InvalidDeployerCoordinator(value)
4753        }
4754    }
4755    impl ::core::convert::From<InvalidFees> for HyperdriveFactoryErrors {
4756        fn from(value: InvalidFees) -> Self {
4757            Self::InvalidFees(value)
4758        }
4759    }
4760    impl ::core::convert::From<InvalidFixedAPR> for HyperdriveFactoryErrors {
4761        fn from(value: InvalidFixedAPR) -> Self {
4762            Self::InvalidFixedAPR(value)
4763        }
4764    }
4765    impl ::core::convert::From<InvalidIndexes> for HyperdriveFactoryErrors {
4766        fn from(value: InvalidIndexes) -> Self {
4767            Self::InvalidIndexes(value)
4768        }
4769    }
4770    impl ::core::convert::From<InvalidMaxCheckpointDuration>
4771    for HyperdriveFactoryErrors {
4772        fn from(value: InvalidMaxCheckpointDuration) -> Self {
4773            Self::InvalidMaxCheckpointDuration(value)
4774        }
4775    }
4776    impl ::core::convert::From<InvalidMaxCircuitBreakerDelta>
4777    for HyperdriveFactoryErrors {
4778        fn from(value: InvalidMaxCircuitBreakerDelta) -> Self {
4779            Self::InvalidMaxCircuitBreakerDelta(value)
4780        }
4781    }
4782    impl ::core::convert::From<InvalidMaxFees> for HyperdriveFactoryErrors {
4783        fn from(value: InvalidMaxFees) -> Self {
4784            Self::InvalidMaxFees(value)
4785        }
4786    }
4787    impl ::core::convert::From<InvalidMaxFixedAPR> for HyperdriveFactoryErrors {
4788        fn from(value: InvalidMaxFixedAPR) -> Self {
4789            Self::InvalidMaxFixedAPR(value)
4790        }
4791    }
4792    impl ::core::convert::From<InvalidMaxPositionDuration> for HyperdriveFactoryErrors {
4793        fn from(value: InvalidMaxPositionDuration) -> Self {
4794            Self::InvalidMaxPositionDuration(value)
4795        }
4796    }
4797    impl ::core::convert::From<InvalidMaxTimeStretchAPR> for HyperdriveFactoryErrors {
4798        fn from(value: InvalidMaxTimeStretchAPR) -> Self {
4799            Self::InvalidMaxTimeStretchAPR(value)
4800        }
4801    }
4802    impl ::core::convert::From<InvalidMinCheckpointDuration>
4803    for HyperdriveFactoryErrors {
4804        fn from(value: InvalidMinCheckpointDuration) -> Self {
4805            Self::InvalidMinCheckpointDuration(value)
4806        }
4807    }
4808    impl ::core::convert::From<InvalidMinCircuitBreakerDelta>
4809    for HyperdriveFactoryErrors {
4810        fn from(value: InvalidMinCircuitBreakerDelta) -> Self {
4811            Self::InvalidMinCircuitBreakerDelta(value)
4812        }
4813    }
4814    impl ::core::convert::From<InvalidMinFees> for HyperdriveFactoryErrors {
4815        fn from(value: InvalidMinFees) -> Self {
4816            Self::InvalidMinFees(value)
4817        }
4818    }
4819    impl ::core::convert::From<InvalidMinFixedAPR> for HyperdriveFactoryErrors {
4820        fn from(value: InvalidMinFixedAPR) -> Self {
4821            Self::InvalidMinFixedAPR(value)
4822        }
4823    }
4824    impl ::core::convert::From<InvalidMinPositionDuration> for HyperdriveFactoryErrors {
4825        fn from(value: InvalidMinPositionDuration) -> Self {
4826            Self::InvalidMinPositionDuration(value)
4827        }
4828    }
4829    impl ::core::convert::From<InvalidMinTimeStretchAPR> for HyperdriveFactoryErrors {
4830        fn from(value: InvalidMinTimeStretchAPR) -> Self {
4831            Self::InvalidMinTimeStretchAPR(value)
4832        }
4833    }
4834    impl ::core::convert::From<InvalidPositionDuration> for HyperdriveFactoryErrors {
4835        fn from(value: InvalidPositionDuration) -> Self {
4836            Self::InvalidPositionDuration(value)
4837        }
4838    }
4839    impl ::core::convert::From<InvalidTimeStretchAPR> for HyperdriveFactoryErrors {
4840        fn from(value: InvalidTimeStretchAPR) -> Self {
4841            Self::InvalidTimeStretchAPR(value)
4842        }
4843    }
4844    impl ::core::convert::From<LnInvalidInput> for HyperdriveFactoryErrors {
4845        fn from(value: LnInvalidInput) -> Self {
4846            Self::LnInvalidInput(value)
4847        }
4848    }
4849    impl ::core::convert::From<ReceiveLocked> for HyperdriveFactoryErrors {
4850        fn from(value: ReceiveLocked) -> Self {
4851            Self::ReceiveLocked(value)
4852        }
4853    }
4854    impl ::core::convert::From<TransferFailed> for HyperdriveFactoryErrors {
4855        fn from(value: TransferFailed) -> Self {
4856            Self::TransferFailed(value)
4857        }
4858    }
4859    impl ::core::convert::From<Unauthorized> for HyperdriveFactoryErrors {
4860        fn from(value: Unauthorized) -> Self {
4861            Self::Unauthorized(value)
4862        }
4863    }
4864    impl ::core::convert::From<UnsafeCastToInt256> for HyperdriveFactoryErrors {
4865        fn from(value: UnsafeCastToInt256) -> Self {
4866            Self::UnsafeCastToInt256(value)
4867        }
4868    }
4869    #[derive(
4870        Clone,
4871        ::ethers::contract::EthEvent,
4872        ::ethers::contract::EthDisplay,
4873        serde::Serialize,
4874        serde::Deserialize,
4875        Default,
4876        Debug,
4877        PartialEq,
4878        Eq,
4879        Hash
4880    )]
4881    #[ethevent(
4882        name = "CheckpointDurationResolutionUpdated",
4883        abi = "CheckpointDurationResolutionUpdated(uint256)"
4884    )]
4885    pub struct CheckpointDurationResolutionUpdatedFilter {
4886        pub new_checkpoint_duration_resolution: ::ethers::core::types::U256,
4887    }
4888    #[derive(
4889        Clone,
4890        ::ethers::contract::EthEvent,
4891        ::ethers::contract::EthDisplay,
4892        serde::Serialize,
4893        serde::Deserialize,
4894        Default,
4895        Debug,
4896        PartialEq,
4897        Eq,
4898        Hash
4899    )]
4900    #[ethevent(
4901        name = "CheckpointRewarderUpdated",
4902        abi = "CheckpointRewarderUpdated(address)"
4903    )]
4904    pub struct CheckpointRewarderUpdatedFilter {
4905        #[ethevent(indexed)]
4906        pub new_checkpoint_rewarder: ::ethers::core::types::Address,
4907    }
4908    #[derive(
4909        Clone,
4910        ::ethers::contract::EthEvent,
4911        ::ethers::contract::EthDisplay,
4912        serde::Serialize,
4913        serde::Deserialize,
4914        Default,
4915        Debug,
4916        PartialEq,
4917        Eq,
4918        Hash
4919    )]
4920    #[ethevent(name = "DefaultPausersUpdated", abi = "DefaultPausersUpdated(address[])")]
4921    pub struct DefaultPausersUpdatedFilter {
4922        pub new_default_pausers: ::std::vec::Vec<::ethers::core::types::Address>,
4923    }
4924    #[derive(
4925        Clone,
4926        ::ethers::contract::EthEvent,
4927        ::ethers::contract::EthDisplay,
4928        serde::Serialize,
4929        serde::Deserialize,
4930    )]
4931    #[ethevent(
4932        name = "Deployed",
4933        abi = "Deployed(address,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes)"
4934    )]
4935    pub struct DeployedFilter {
4936        #[ethevent(indexed)]
4937        pub deployer_coordinator: ::ethers::core::types::Address,
4938        pub hyperdrive: ::ethers::core::types::Address,
4939        pub name: ::std::string::String,
4940        pub config: PoolDeployConfig,
4941        pub extra_data: ::ethers::core::types::Bytes,
4942    }
4943    #[derive(
4944        Clone,
4945        ::ethers::contract::EthEvent,
4946        ::ethers::contract::EthDisplay,
4947        serde::Serialize,
4948        serde::Deserialize,
4949        Default,
4950        Debug,
4951        PartialEq,
4952        Eq,
4953        Hash
4954    )]
4955    #[ethevent(
4956        name = "DeployerCoordinatorAdded",
4957        abi = "DeployerCoordinatorAdded(address)"
4958    )]
4959    pub struct DeployerCoordinatorAddedFilter {
4960        #[ethevent(indexed)]
4961        pub deployer_coordinator: ::ethers::core::types::Address,
4962    }
4963    #[derive(
4964        Clone,
4965        ::ethers::contract::EthEvent,
4966        ::ethers::contract::EthDisplay,
4967        serde::Serialize,
4968        serde::Deserialize,
4969        Default,
4970        Debug,
4971        PartialEq,
4972        Eq,
4973        Hash
4974    )]
4975    #[ethevent(
4976        name = "DeployerCoordinatorManagerUpdated",
4977        abi = "DeployerCoordinatorManagerUpdated(address)"
4978    )]
4979    pub struct DeployerCoordinatorManagerUpdatedFilter {
4980        #[ethevent(indexed)]
4981        pub deployer_coordinator_manager: ::ethers::core::types::Address,
4982    }
4983    #[derive(
4984        Clone,
4985        ::ethers::contract::EthEvent,
4986        ::ethers::contract::EthDisplay,
4987        serde::Serialize,
4988        serde::Deserialize,
4989        Default,
4990        Debug,
4991        PartialEq,
4992        Eq,
4993        Hash
4994    )]
4995    #[ethevent(
4996        name = "DeployerCoordinatorRemoved",
4997        abi = "DeployerCoordinatorRemoved(address)"
4998    )]
4999    pub struct DeployerCoordinatorRemovedFilter {
5000        #[ethevent(indexed)]
5001        pub deployer_coordinator: ::ethers::core::types::Address,
5002    }
5003    #[derive(
5004        Clone,
5005        ::ethers::contract::EthEvent,
5006        ::ethers::contract::EthDisplay,
5007        serde::Serialize,
5008        serde::Deserialize,
5009        Default,
5010        Debug,
5011        PartialEq,
5012        Eq,
5013        Hash
5014    )]
5015    #[ethevent(name = "FeeCollectorUpdated", abi = "FeeCollectorUpdated(address)")]
5016    pub struct FeeCollectorUpdatedFilter {
5017        #[ethevent(indexed)]
5018        pub new_fee_collector: ::ethers::core::types::Address,
5019    }
5020    #[derive(
5021        Clone,
5022        ::ethers::contract::EthEvent,
5023        ::ethers::contract::EthDisplay,
5024        serde::Serialize,
5025        serde::Deserialize,
5026        Default,
5027        Debug,
5028        PartialEq,
5029        Eq,
5030        Hash
5031    )]
5032    #[ethevent(name = "GovernanceUpdated", abi = "GovernanceUpdated(address)")]
5033    pub struct GovernanceUpdatedFilter {
5034        #[ethevent(indexed)]
5035        pub governance: ::ethers::core::types::Address,
5036    }
5037    #[derive(
5038        Clone,
5039        ::ethers::contract::EthEvent,
5040        ::ethers::contract::EthDisplay,
5041        serde::Serialize,
5042        serde::Deserialize,
5043        Default,
5044        Debug,
5045        PartialEq,
5046        Eq,
5047        Hash
5048    )]
5049    #[ethevent(
5050        name = "HyperdriveGovernanceUpdated",
5051        abi = "HyperdriveGovernanceUpdated(address)"
5052    )]
5053    pub struct HyperdriveGovernanceUpdatedFilter {
5054        #[ethevent(indexed)]
5055        pub hyperdrive_governance: ::ethers::core::types::Address,
5056    }
5057    #[derive(
5058        Clone,
5059        ::ethers::contract::EthEvent,
5060        ::ethers::contract::EthDisplay,
5061        serde::Serialize,
5062        serde::Deserialize,
5063        Default,
5064        Debug,
5065        PartialEq,
5066        Eq,
5067        Hash
5068    )]
5069    #[ethevent(name = "LinkerCodeHashUpdated", abi = "LinkerCodeHashUpdated(bytes32)")]
5070    pub struct LinkerCodeHashUpdatedFilter {
5071        #[ethevent(indexed)]
5072        pub new_linker_code_hash: [u8; 32],
5073    }
5074    #[derive(
5075        Clone,
5076        ::ethers::contract::EthEvent,
5077        ::ethers::contract::EthDisplay,
5078        serde::Serialize,
5079        serde::Deserialize,
5080        Default,
5081        Debug,
5082        PartialEq,
5083        Eq,
5084        Hash
5085    )]
5086    #[ethevent(name = "LinkerFactoryUpdated", abi = "LinkerFactoryUpdated(address)")]
5087    pub struct LinkerFactoryUpdatedFilter {
5088        #[ethevent(indexed)]
5089        pub new_linker_factory: ::ethers::core::types::Address,
5090    }
5091    #[derive(
5092        Clone,
5093        ::ethers::contract::EthEvent,
5094        ::ethers::contract::EthDisplay,
5095        serde::Serialize,
5096        serde::Deserialize,
5097        Default,
5098        Debug,
5099        PartialEq,
5100        Eq,
5101        Hash
5102    )]
5103    #[ethevent(
5104        name = "MaxCheckpointDurationUpdated",
5105        abi = "MaxCheckpointDurationUpdated(uint256)"
5106    )]
5107    pub struct MaxCheckpointDurationUpdatedFilter {
5108        pub new_max_checkpoint_duration: ::ethers::core::types::U256,
5109    }
5110    #[derive(
5111        Clone,
5112        ::ethers::contract::EthEvent,
5113        ::ethers::contract::EthDisplay,
5114        serde::Serialize,
5115        serde::Deserialize,
5116        Default,
5117        Debug,
5118        PartialEq,
5119        Eq,
5120        Hash
5121    )]
5122    #[ethevent(
5123        name = "MaxCircuitBreakerDeltaUpdated",
5124        abi = "MaxCircuitBreakerDeltaUpdated(uint256)"
5125    )]
5126    pub struct MaxCircuitBreakerDeltaUpdatedFilter {
5127        pub new_max_circuit_breaker_delta: ::ethers::core::types::U256,
5128    }
5129    #[derive(
5130        Clone,
5131        ::ethers::contract::EthEvent,
5132        ::ethers::contract::EthDisplay,
5133        serde::Serialize,
5134        serde::Deserialize,
5135        Default,
5136        Debug,
5137        PartialEq,
5138        Eq,
5139        Hash
5140    )]
5141    #[ethevent(
5142        name = "MaxFeesUpdated",
5143        abi = "MaxFeesUpdated((uint256,uint256,uint256,uint256))"
5144    )]
5145    pub struct MaxFeesUpdatedFilter {
5146        pub new_max_fees: Fees,
5147    }
5148    #[derive(
5149        Clone,
5150        ::ethers::contract::EthEvent,
5151        ::ethers::contract::EthDisplay,
5152        serde::Serialize,
5153        serde::Deserialize,
5154        Default,
5155        Debug,
5156        PartialEq,
5157        Eq,
5158        Hash
5159    )]
5160    #[ethevent(name = "MaxFixedAPRUpdated", abi = "MaxFixedAPRUpdated(uint256)")]
5161    pub struct MaxFixedAPRUpdatedFilter {
5162        pub new_max_fixed_apr: ::ethers::core::types::U256,
5163    }
5164    #[derive(
5165        Clone,
5166        ::ethers::contract::EthEvent,
5167        ::ethers::contract::EthDisplay,
5168        serde::Serialize,
5169        serde::Deserialize,
5170        Default,
5171        Debug,
5172        PartialEq,
5173        Eq,
5174        Hash
5175    )]
5176    #[ethevent(
5177        name = "MaxPositionDurationUpdated",
5178        abi = "MaxPositionDurationUpdated(uint256)"
5179    )]
5180    pub struct MaxPositionDurationUpdatedFilter {
5181        pub new_max_position_duration: ::ethers::core::types::U256,
5182    }
5183    #[derive(
5184        Clone,
5185        ::ethers::contract::EthEvent,
5186        ::ethers::contract::EthDisplay,
5187        serde::Serialize,
5188        serde::Deserialize,
5189        Default,
5190        Debug,
5191        PartialEq,
5192        Eq,
5193        Hash
5194    )]
5195    #[ethevent(
5196        name = "MaxTimeStretchAPRUpdated",
5197        abi = "MaxTimeStretchAPRUpdated(uint256)"
5198    )]
5199    pub struct MaxTimeStretchAPRUpdatedFilter {
5200        pub new_max_time_stretch_apr: ::ethers::core::types::U256,
5201    }
5202    #[derive(
5203        Clone,
5204        ::ethers::contract::EthEvent,
5205        ::ethers::contract::EthDisplay,
5206        serde::Serialize,
5207        serde::Deserialize,
5208        Default,
5209        Debug,
5210        PartialEq,
5211        Eq,
5212        Hash
5213    )]
5214    #[ethevent(
5215        name = "MinCheckpointDurationUpdated",
5216        abi = "MinCheckpointDurationUpdated(uint256)"
5217    )]
5218    pub struct MinCheckpointDurationUpdatedFilter {
5219        pub new_min_checkpoint_duration: ::ethers::core::types::U256,
5220    }
5221    #[derive(
5222        Clone,
5223        ::ethers::contract::EthEvent,
5224        ::ethers::contract::EthDisplay,
5225        serde::Serialize,
5226        serde::Deserialize,
5227        Default,
5228        Debug,
5229        PartialEq,
5230        Eq,
5231        Hash
5232    )]
5233    #[ethevent(
5234        name = "MinCircuitBreakerDeltaUpdated",
5235        abi = "MinCircuitBreakerDeltaUpdated(uint256)"
5236    )]
5237    pub struct MinCircuitBreakerDeltaUpdatedFilter {
5238        pub new_min_circuit_breaker_delta: ::ethers::core::types::U256,
5239    }
5240    #[derive(
5241        Clone,
5242        ::ethers::contract::EthEvent,
5243        ::ethers::contract::EthDisplay,
5244        serde::Serialize,
5245        serde::Deserialize,
5246        Default,
5247        Debug,
5248        PartialEq,
5249        Eq,
5250        Hash
5251    )]
5252    #[ethevent(
5253        name = "MinFeesUpdated",
5254        abi = "MinFeesUpdated((uint256,uint256,uint256,uint256))"
5255    )]
5256    pub struct MinFeesUpdatedFilter {
5257        pub new_min_fees: Fees,
5258    }
5259    #[derive(
5260        Clone,
5261        ::ethers::contract::EthEvent,
5262        ::ethers::contract::EthDisplay,
5263        serde::Serialize,
5264        serde::Deserialize,
5265        Default,
5266        Debug,
5267        PartialEq,
5268        Eq,
5269        Hash
5270    )]
5271    #[ethevent(name = "MinFixedAPRUpdated", abi = "MinFixedAPRUpdated(uint256)")]
5272    pub struct MinFixedAPRUpdatedFilter {
5273        pub new_min_fixed_apr: ::ethers::core::types::U256,
5274    }
5275    #[derive(
5276        Clone,
5277        ::ethers::contract::EthEvent,
5278        ::ethers::contract::EthDisplay,
5279        serde::Serialize,
5280        serde::Deserialize,
5281        Default,
5282        Debug,
5283        PartialEq,
5284        Eq,
5285        Hash
5286    )]
5287    #[ethevent(
5288        name = "MinPositionDurationUpdated",
5289        abi = "MinPositionDurationUpdated(uint256)"
5290    )]
5291    pub struct MinPositionDurationUpdatedFilter {
5292        pub new_min_position_duration: ::ethers::core::types::U256,
5293    }
5294    #[derive(
5295        Clone,
5296        ::ethers::contract::EthEvent,
5297        ::ethers::contract::EthDisplay,
5298        serde::Serialize,
5299        serde::Deserialize,
5300        Default,
5301        Debug,
5302        PartialEq,
5303        Eq,
5304        Hash
5305    )]
5306    #[ethevent(
5307        name = "MinTimeStretchAPRUpdated",
5308        abi = "MinTimeStretchAPRUpdated(uint256)"
5309    )]
5310    pub struct MinTimeStretchAPRUpdatedFilter {
5311        pub new_min_time_stretch_apr: ::ethers::core::types::U256,
5312    }
5313    #[derive(
5314        Clone,
5315        ::ethers::contract::EthEvent,
5316        ::ethers::contract::EthDisplay,
5317        serde::Serialize,
5318        serde::Deserialize,
5319        Default,
5320        Debug,
5321        PartialEq,
5322        Eq,
5323        Hash
5324    )]
5325    #[ethevent(name = "SweepCollectorUpdated", abi = "SweepCollectorUpdated(address)")]
5326    pub struct SweepCollectorUpdatedFilter {
5327        #[ethevent(indexed)]
5328        pub new_sweep_collector: ::ethers::core::types::Address,
5329    }
5330    ///Container type for all of the contract's events
5331    #[derive(
5332        Clone,
5333        ::ethers::contract::EthAbiType,
5334        serde::Serialize,
5335        serde::Deserialize,
5336    )]
5337    pub enum HyperdriveFactoryEvents {
5338        CheckpointDurationResolutionUpdatedFilter(
5339            CheckpointDurationResolutionUpdatedFilter,
5340        ),
5341        CheckpointRewarderUpdatedFilter(CheckpointRewarderUpdatedFilter),
5342        DefaultPausersUpdatedFilter(DefaultPausersUpdatedFilter),
5343        DeployedFilter(DeployedFilter),
5344        DeployerCoordinatorAddedFilter(DeployerCoordinatorAddedFilter),
5345        DeployerCoordinatorManagerUpdatedFilter(DeployerCoordinatorManagerUpdatedFilter),
5346        DeployerCoordinatorRemovedFilter(DeployerCoordinatorRemovedFilter),
5347        FeeCollectorUpdatedFilter(FeeCollectorUpdatedFilter),
5348        GovernanceUpdatedFilter(GovernanceUpdatedFilter),
5349        HyperdriveGovernanceUpdatedFilter(HyperdriveGovernanceUpdatedFilter),
5350        LinkerCodeHashUpdatedFilter(LinkerCodeHashUpdatedFilter),
5351        LinkerFactoryUpdatedFilter(LinkerFactoryUpdatedFilter),
5352        MaxCheckpointDurationUpdatedFilter(MaxCheckpointDurationUpdatedFilter),
5353        MaxCircuitBreakerDeltaUpdatedFilter(MaxCircuitBreakerDeltaUpdatedFilter),
5354        MaxFeesUpdatedFilter(MaxFeesUpdatedFilter),
5355        MaxFixedAPRUpdatedFilter(MaxFixedAPRUpdatedFilter),
5356        MaxPositionDurationUpdatedFilter(MaxPositionDurationUpdatedFilter),
5357        MaxTimeStretchAPRUpdatedFilter(MaxTimeStretchAPRUpdatedFilter),
5358        MinCheckpointDurationUpdatedFilter(MinCheckpointDurationUpdatedFilter),
5359        MinCircuitBreakerDeltaUpdatedFilter(MinCircuitBreakerDeltaUpdatedFilter),
5360        MinFeesUpdatedFilter(MinFeesUpdatedFilter),
5361        MinFixedAPRUpdatedFilter(MinFixedAPRUpdatedFilter),
5362        MinPositionDurationUpdatedFilter(MinPositionDurationUpdatedFilter),
5363        MinTimeStretchAPRUpdatedFilter(MinTimeStretchAPRUpdatedFilter),
5364        SweepCollectorUpdatedFilter(SweepCollectorUpdatedFilter),
5365    }
5366    impl ::ethers::contract::EthLogDecode for HyperdriveFactoryEvents {
5367        fn decode_log(
5368            log: &::ethers::core::abi::RawLog,
5369        ) -> ::core::result::Result<Self, ::ethers::core::abi::Error> {
5370            if let Ok(decoded) = CheckpointDurationResolutionUpdatedFilter::decode_log(
5371                log,
5372            ) {
5373                return Ok(
5374                    HyperdriveFactoryEvents::CheckpointDurationResolutionUpdatedFilter(
5375                        decoded,
5376                    ),
5377                );
5378            }
5379            if let Ok(decoded) = CheckpointRewarderUpdatedFilter::decode_log(log) {
5380                return Ok(
5381                    HyperdriveFactoryEvents::CheckpointRewarderUpdatedFilter(decoded),
5382                );
5383            }
5384            if let Ok(decoded) = DefaultPausersUpdatedFilter::decode_log(log) {
5385                return Ok(HyperdriveFactoryEvents::DefaultPausersUpdatedFilter(decoded));
5386            }
5387            if let Ok(decoded) = DeployedFilter::decode_log(log) {
5388                return Ok(HyperdriveFactoryEvents::DeployedFilter(decoded));
5389            }
5390            if let Ok(decoded) = DeployerCoordinatorAddedFilter::decode_log(log) {
5391                return Ok(
5392                    HyperdriveFactoryEvents::DeployerCoordinatorAddedFilter(decoded),
5393                );
5394            }
5395            if let Ok(decoded) = DeployerCoordinatorManagerUpdatedFilter::decode_log(
5396                log,
5397            ) {
5398                return Ok(
5399                    HyperdriveFactoryEvents::DeployerCoordinatorManagerUpdatedFilter(
5400                        decoded,
5401                    ),
5402                );
5403            }
5404            if let Ok(decoded) = DeployerCoordinatorRemovedFilter::decode_log(log) {
5405                return Ok(
5406                    HyperdriveFactoryEvents::DeployerCoordinatorRemovedFilter(decoded),
5407                );
5408            }
5409            if let Ok(decoded) = FeeCollectorUpdatedFilter::decode_log(log) {
5410                return Ok(HyperdriveFactoryEvents::FeeCollectorUpdatedFilter(decoded));
5411            }
5412            if let Ok(decoded) = GovernanceUpdatedFilter::decode_log(log) {
5413                return Ok(HyperdriveFactoryEvents::GovernanceUpdatedFilter(decoded));
5414            }
5415            if let Ok(decoded) = HyperdriveGovernanceUpdatedFilter::decode_log(log) {
5416                return Ok(
5417                    HyperdriveFactoryEvents::HyperdriveGovernanceUpdatedFilter(decoded),
5418                );
5419            }
5420            if let Ok(decoded) = LinkerCodeHashUpdatedFilter::decode_log(log) {
5421                return Ok(HyperdriveFactoryEvents::LinkerCodeHashUpdatedFilter(decoded));
5422            }
5423            if let Ok(decoded) = LinkerFactoryUpdatedFilter::decode_log(log) {
5424                return Ok(HyperdriveFactoryEvents::LinkerFactoryUpdatedFilter(decoded));
5425            }
5426            if let Ok(decoded) = MaxCheckpointDurationUpdatedFilter::decode_log(log) {
5427                return Ok(
5428                    HyperdriveFactoryEvents::MaxCheckpointDurationUpdatedFilter(decoded),
5429                );
5430            }
5431            if let Ok(decoded) = MaxCircuitBreakerDeltaUpdatedFilter::decode_log(log) {
5432                return Ok(
5433                    HyperdriveFactoryEvents::MaxCircuitBreakerDeltaUpdatedFilter(decoded),
5434                );
5435            }
5436            if let Ok(decoded) = MaxFeesUpdatedFilter::decode_log(log) {
5437                return Ok(HyperdriveFactoryEvents::MaxFeesUpdatedFilter(decoded));
5438            }
5439            if let Ok(decoded) = MaxFixedAPRUpdatedFilter::decode_log(log) {
5440                return Ok(HyperdriveFactoryEvents::MaxFixedAPRUpdatedFilter(decoded));
5441            }
5442            if let Ok(decoded) = MaxPositionDurationUpdatedFilter::decode_log(log) {
5443                return Ok(
5444                    HyperdriveFactoryEvents::MaxPositionDurationUpdatedFilter(decoded),
5445                );
5446            }
5447            if let Ok(decoded) = MaxTimeStretchAPRUpdatedFilter::decode_log(log) {
5448                return Ok(
5449                    HyperdriveFactoryEvents::MaxTimeStretchAPRUpdatedFilter(decoded),
5450                );
5451            }
5452            if let Ok(decoded) = MinCheckpointDurationUpdatedFilter::decode_log(log) {
5453                return Ok(
5454                    HyperdriveFactoryEvents::MinCheckpointDurationUpdatedFilter(decoded),
5455                );
5456            }
5457            if let Ok(decoded) = MinCircuitBreakerDeltaUpdatedFilter::decode_log(log) {
5458                return Ok(
5459                    HyperdriveFactoryEvents::MinCircuitBreakerDeltaUpdatedFilter(decoded),
5460                );
5461            }
5462            if let Ok(decoded) = MinFeesUpdatedFilter::decode_log(log) {
5463                return Ok(HyperdriveFactoryEvents::MinFeesUpdatedFilter(decoded));
5464            }
5465            if let Ok(decoded) = MinFixedAPRUpdatedFilter::decode_log(log) {
5466                return Ok(HyperdriveFactoryEvents::MinFixedAPRUpdatedFilter(decoded));
5467            }
5468            if let Ok(decoded) = MinPositionDurationUpdatedFilter::decode_log(log) {
5469                return Ok(
5470                    HyperdriveFactoryEvents::MinPositionDurationUpdatedFilter(decoded),
5471                );
5472            }
5473            if let Ok(decoded) = MinTimeStretchAPRUpdatedFilter::decode_log(log) {
5474                return Ok(
5475                    HyperdriveFactoryEvents::MinTimeStretchAPRUpdatedFilter(decoded),
5476                );
5477            }
5478            if let Ok(decoded) = SweepCollectorUpdatedFilter::decode_log(log) {
5479                return Ok(HyperdriveFactoryEvents::SweepCollectorUpdatedFilter(decoded));
5480            }
5481            Err(::ethers::core::abi::Error::InvalidData)
5482        }
5483    }
5484    impl ::core::fmt::Display for HyperdriveFactoryEvents {
5485        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5486            match self {
5487                Self::CheckpointDurationResolutionUpdatedFilter(element) => {
5488                    ::core::fmt::Display::fmt(element, f)
5489                }
5490                Self::CheckpointRewarderUpdatedFilter(element) => {
5491                    ::core::fmt::Display::fmt(element, f)
5492                }
5493                Self::DefaultPausersUpdatedFilter(element) => {
5494                    ::core::fmt::Display::fmt(element, f)
5495                }
5496                Self::DeployedFilter(element) => ::core::fmt::Display::fmt(element, f),
5497                Self::DeployerCoordinatorAddedFilter(element) => {
5498                    ::core::fmt::Display::fmt(element, f)
5499                }
5500                Self::DeployerCoordinatorManagerUpdatedFilter(element) => {
5501                    ::core::fmt::Display::fmt(element, f)
5502                }
5503                Self::DeployerCoordinatorRemovedFilter(element) => {
5504                    ::core::fmt::Display::fmt(element, f)
5505                }
5506                Self::FeeCollectorUpdatedFilter(element) => {
5507                    ::core::fmt::Display::fmt(element, f)
5508                }
5509                Self::GovernanceUpdatedFilter(element) => {
5510                    ::core::fmt::Display::fmt(element, f)
5511                }
5512                Self::HyperdriveGovernanceUpdatedFilter(element) => {
5513                    ::core::fmt::Display::fmt(element, f)
5514                }
5515                Self::LinkerCodeHashUpdatedFilter(element) => {
5516                    ::core::fmt::Display::fmt(element, f)
5517                }
5518                Self::LinkerFactoryUpdatedFilter(element) => {
5519                    ::core::fmt::Display::fmt(element, f)
5520                }
5521                Self::MaxCheckpointDurationUpdatedFilter(element) => {
5522                    ::core::fmt::Display::fmt(element, f)
5523                }
5524                Self::MaxCircuitBreakerDeltaUpdatedFilter(element) => {
5525                    ::core::fmt::Display::fmt(element, f)
5526                }
5527                Self::MaxFeesUpdatedFilter(element) => {
5528                    ::core::fmt::Display::fmt(element, f)
5529                }
5530                Self::MaxFixedAPRUpdatedFilter(element) => {
5531                    ::core::fmt::Display::fmt(element, f)
5532                }
5533                Self::MaxPositionDurationUpdatedFilter(element) => {
5534                    ::core::fmt::Display::fmt(element, f)
5535                }
5536                Self::MaxTimeStretchAPRUpdatedFilter(element) => {
5537                    ::core::fmt::Display::fmt(element, f)
5538                }
5539                Self::MinCheckpointDurationUpdatedFilter(element) => {
5540                    ::core::fmt::Display::fmt(element, f)
5541                }
5542                Self::MinCircuitBreakerDeltaUpdatedFilter(element) => {
5543                    ::core::fmt::Display::fmt(element, f)
5544                }
5545                Self::MinFeesUpdatedFilter(element) => {
5546                    ::core::fmt::Display::fmt(element, f)
5547                }
5548                Self::MinFixedAPRUpdatedFilter(element) => {
5549                    ::core::fmt::Display::fmt(element, f)
5550                }
5551                Self::MinPositionDurationUpdatedFilter(element) => {
5552                    ::core::fmt::Display::fmt(element, f)
5553                }
5554                Self::MinTimeStretchAPRUpdatedFilter(element) => {
5555                    ::core::fmt::Display::fmt(element, f)
5556                }
5557                Self::SweepCollectorUpdatedFilter(element) => {
5558                    ::core::fmt::Display::fmt(element, f)
5559                }
5560            }
5561        }
5562    }
5563    impl ::core::convert::From<CheckpointDurationResolutionUpdatedFilter>
5564    for HyperdriveFactoryEvents {
5565        fn from(value: CheckpointDurationResolutionUpdatedFilter) -> Self {
5566            Self::CheckpointDurationResolutionUpdatedFilter(value)
5567        }
5568    }
5569    impl ::core::convert::From<CheckpointRewarderUpdatedFilter>
5570    for HyperdriveFactoryEvents {
5571        fn from(value: CheckpointRewarderUpdatedFilter) -> Self {
5572            Self::CheckpointRewarderUpdatedFilter(value)
5573        }
5574    }
5575    impl ::core::convert::From<DefaultPausersUpdatedFilter> for HyperdriveFactoryEvents {
5576        fn from(value: DefaultPausersUpdatedFilter) -> Self {
5577            Self::DefaultPausersUpdatedFilter(value)
5578        }
5579    }
5580    impl ::core::convert::From<DeployedFilter> for HyperdriveFactoryEvents {
5581        fn from(value: DeployedFilter) -> Self {
5582            Self::DeployedFilter(value)
5583        }
5584    }
5585    impl ::core::convert::From<DeployerCoordinatorAddedFilter>
5586    for HyperdriveFactoryEvents {
5587        fn from(value: DeployerCoordinatorAddedFilter) -> Self {
5588            Self::DeployerCoordinatorAddedFilter(value)
5589        }
5590    }
5591    impl ::core::convert::From<DeployerCoordinatorManagerUpdatedFilter>
5592    for HyperdriveFactoryEvents {
5593        fn from(value: DeployerCoordinatorManagerUpdatedFilter) -> Self {
5594            Self::DeployerCoordinatorManagerUpdatedFilter(value)
5595        }
5596    }
5597    impl ::core::convert::From<DeployerCoordinatorRemovedFilter>
5598    for HyperdriveFactoryEvents {
5599        fn from(value: DeployerCoordinatorRemovedFilter) -> Self {
5600            Self::DeployerCoordinatorRemovedFilter(value)
5601        }
5602    }
5603    impl ::core::convert::From<FeeCollectorUpdatedFilter> for HyperdriveFactoryEvents {
5604        fn from(value: FeeCollectorUpdatedFilter) -> Self {
5605            Self::FeeCollectorUpdatedFilter(value)
5606        }
5607    }
5608    impl ::core::convert::From<GovernanceUpdatedFilter> for HyperdriveFactoryEvents {
5609        fn from(value: GovernanceUpdatedFilter) -> Self {
5610            Self::GovernanceUpdatedFilter(value)
5611        }
5612    }
5613    impl ::core::convert::From<HyperdriveGovernanceUpdatedFilter>
5614    for HyperdriveFactoryEvents {
5615        fn from(value: HyperdriveGovernanceUpdatedFilter) -> Self {
5616            Self::HyperdriveGovernanceUpdatedFilter(value)
5617        }
5618    }
5619    impl ::core::convert::From<LinkerCodeHashUpdatedFilter> for HyperdriveFactoryEvents {
5620        fn from(value: LinkerCodeHashUpdatedFilter) -> Self {
5621            Self::LinkerCodeHashUpdatedFilter(value)
5622        }
5623    }
5624    impl ::core::convert::From<LinkerFactoryUpdatedFilter> for HyperdriveFactoryEvents {
5625        fn from(value: LinkerFactoryUpdatedFilter) -> Self {
5626            Self::LinkerFactoryUpdatedFilter(value)
5627        }
5628    }
5629    impl ::core::convert::From<MaxCheckpointDurationUpdatedFilter>
5630    for HyperdriveFactoryEvents {
5631        fn from(value: MaxCheckpointDurationUpdatedFilter) -> Self {
5632            Self::MaxCheckpointDurationUpdatedFilter(value)
5633        }
5634    }
5635    impl ::core::convert::From<MaxCircuitBreakerDeltaUpdatedFilter>
5636    for HyperdriveFactoryEvents {
5637        fn from(value: MaxCircuitBreakerDeltaUpdatedFilter) -> Self {
5638            Self::MaxCircuitBreakerDeltaUpdatedFilter(value)
5639        }
5640    }
5641    impl ::core::convert::From<MaxFeesUpdatedFilter> for HyperdriveFactoryEvents {
5642        fn from(value: MaxFeesUpdatedFilter) -> Self {
5643            Self::MaxFeesUpdatedFilter(value)
5644        }
5645    }
5646    impl ::core::convert::From<MaxFixedAPRUpdatedFilter> for HyperdriveFactoryEvents {
5647        fn from(value: MaxFixedAPRUpdatedFilter) -> Self {
5648            Self::MaxFixedAPRUpdatedFilter(value)
5649        }
5650    }
5651    impl ::core::convert::From<MaxPositionDurationUpdatedFilter>
5652    for HyperdriveFactoryEvents {
5653        fn from(value: MaxPositionDurationUpdatedFilter) -> Self {
5654            Self::MaxPositionDurationUpdatedFilter(value)
5655        }
5656    }
5657    impl ::core::convert::From<MaxTimeStretchAPRUpdatedFilter>
5658    for HyperdriveFactoryEvents {
5659        fn from(value: MaxTimeStretchAPRUpdatedFilter) -> Self {
5660            Self::MaxTimeStretchAPRUpdatedFilter(value)
5661        }
5662    }
5663    impl ::core::convert::From<MinCheckpointDurationUpdatedFilter>
5664    for HyperdriveFactoryEvents {
5665        fn from(value: MinCheckpointDurationUpdatedFilter) -> Self {
5666            Self::MinCheckpointDurationUpdatedFilter(value)
5667        }
5668    }
5669    impl ::core::convert::From<MinCircuitBreakerDeltaUpdatedFilter>
5670    for HyperdriveFactoryEvents {
5671        fn from(value: MinCircuitBreakerDeltaUpdatedFilter) -> Self {
5672            Self::MinCircuitBreakerDeltaUpdatedFilter(value)
5673        }
5674    }
5675    impl ::core::convert::From<MinFeesUpdatedFilter> for HyperdriveFactoryEvents {
5676        fn from(value: MinFeesUpdatedFilter) -> Self {
5677            Self::MinFeesUpdatedFilter(value)
5678        }
5679    }
5680    impl ::core::convert::From<MinFixedAPRUpdatedFilter> for HyperdriveFactoryEvents {
5681        fn from(value: MinFixedAPRUpdatedFilter) -> Self {
5682            Self::MinFixedAPRUpdatedFilter(value)
5683        }
5684    }
5685    impl ::core::convert::From<MinPositionDurationUpdatedFilter>
5686    for HyperdriveFactoryEvents {
5687        fn from(value: MinPositionDurationUpdatedFilter) -> Self {
5688            Self::MinPositionDurationUpdatedFilter(value)
5689        }
5690    }
5691    impl ::core::convert::From<MinTimeStretchAPRUpdatedFilter>
5692    for HyperdriveFactoryEvents {
5693        fn from(value: MinTimeStretchAPRUpdatedFilter) -> Self {
5694            Self::MinTimeStretchAPRUpdatedFilter(value)
5695        }
5696    }
5697    impl ::core::convert::From<SweepCollectorUpdatedFilter> for HyperdriveFactoryEvents {
5698        fn from(value: SweepCollectorUpdatedFilter) -> Self {
5699            Self::SweepCollectorUpdatedFilter(value)
5700        }
5701    }
5702    ///Container type for all input parameters for the `_instancesToDeployerCoordinators` function with signature `_instancesToDeployerCoordinators(address)` and selector `0x2b58f418`
5703    #[derive(
5704        Clone,
5705        ::ethers::contract::EthCall,
5706        ::ethers::contract::EthDisplay,
5707        serde::Serialize,
5708        serde::Deserialize,
5709        Default,
5710        Debug,
5711        PartialEq,
5712        Eq,
5713        Hash
5714    )]
5715    #[ethcall(
5716        name = "_instancesToDeployerCoordinators",
5717        abi = "_instancesToDeployerCoordinators(address)"
5718    )]
5719    pub struct InstancesToDeployerCoordinatorsCall {
5720        pub instance: ::ethers::core::types::Address,
5721    }
5722    ///Container type for all input parameters for the `addDeployerCoordinator` function with signature `addDeployerCoordinator(address)` and selector `0x421caba8`
5723    #[derive(
5724        Clone,
5725        ::ethers::contract::EthCall,
5726        ::ethers::contract::EthDisplay,
5727        serde::Serialize,
5728        serde::Deserialize,
5729        Default,
5730        Debug,
5731        PartialEq,
5732        Eq,
5733        Hash
5734    )]
5735    #[ethcall(name = "addDeployerCoordinator", abi = "addDeployerCoordinator(address)")]
5736    pub struct AddDeployerCoordinatorCall {
5737        pub deployer_coordinator: ::ethers::core::types::Address,
5738    }
5739    ///Container type for all input parameters for the `checkpointDurationResolution` function with signature `checkpointDurationResolution()` and selector `0xd0f96b92`
5740    #[derive(
5741        Clone,
5742        ::ethers::contract::EthCall,
5743        ::ethers::contract::EthDisplay,
5744        serde::Serialize,
5745        serde::Deserialize,
5746        Default,
5747        Debug,
5748        PartialEq,
5749        Eq,
5750        Hash
5751    )]
5752    #[ethcall(
5753        name = "checkpointDurationResolution",
5754        abi = "checkpointDurationResolution()"
5755    )]
5756    pub struct CheckpointDurationResolutionCall;
5757    ///Container type for all input parameters for the `checkpointRewarder` function with signature `checkpointRewarder()` and selector `0xf2596458`
5758    #[derive(
5759        Clone,
5760        ::ethers::contract::EthCall,
5761        ::ethers::contract::EthDisplay,
5762        serde::Serialize,
5763        serde::Deserialize,
5764        Default,
5765        Debug,
5766        PartialEq,
5767        Eq,
5768        Hash
5769    )]
5770    #[ethcall(name = "checkpointRewarder", abi = "checkpointRewarder()")]
5771    pub struct CheckpointRewarderCall;
5772    ///Container type for all input parameters for the `defaultPausers` function with signature `defaultPausers()` and selector `0xa64c90bf`
5773    #[derive(
5774        Clone,
5775        ::ethers::contract::EthCall,
5776        ::ethers::contract::EthDisplay,
5777        serde::Serialize,
5778        serde::Deserialize,
5779        Default,
5780        Debug,
5781        PartialEq,
5782        Eq,
5783        Hash
5784    )]
5785    #[ethcall(name = "defaultPausers", abi = "defaultPausers()")]
5786    pub struct DefaultPausersCall;
5787    ///Container type for all input parameters for the `deployAndInitialize` function with signature `deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)` and selector `0x2e7cd971`
5788    #[derive(
5789        Clone,
5790        ::ethers::contract::EthCall,
5791        ::ethers::contract::EthDisplay,
5792        serde::Serialize,
5793        serde::Deserialize,
5794    )]
5795    #[ethcall(
5796        name = "deployAndInitialize",
5797        abi = "deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)"
5798    )]
5799    pub struct DeployAndInitializeCall {
5800        pub deployment_id: [u8; 32],
5801        pub deployer_coordinator: ::ethers::core::types::Address,
5802        pub name: ::std::string::String,
5803        pub config: PoolDeployConfig,
5804        pub extra_data: ::ethers::core::types::Bytes,
5805        pub contribution: ::ethers::core::types::U256,
5806        pub fixed_apr: ::ethers::core::types::U256,
5807        pub time_stretch_apr: ::ethers::core::types::U256,
5808        pub options: Options,
5809        pub salt: [u8; 32],
5810    }
5811    ///Container type for all input parameters for the `deployTarget` function with signature `deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)` and selector `0x49f13de7`
5812    #[derive(
5813        Clone,
5814        ::ethers::contract::EthCall,
5815        ::ethers::contract::EthDisplay,
5816        serde::Serialize,
5817        serde::Deserialize,
5818    )]
5819    #[ethcall(
5820        name = "deployTarget",
5821        abi = "deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)"
5822    )]
5823    pub struct DeployTargetCall {
5824        pub deployment_id: [u8; 32],
5825        pub deployer_coordinator: ::ethers::core::types::Address,
5826        pub config: PoolDeployConfig,
5827        pub extra_data: ::ethers::core::types::Bytes,
5828        pub fixed_apr: ::ethers::core::types::U256,
5829        pub time_stretch_apr: ::ethers::core::types::U256,
5830        pub target_index: ::ethers::core::types::U256,
5831        pub salt: [u8; 32],
5832    }
5833    ///Container type for all input parameters for the `deployerCoordinatorManager` function with signature `deployerCoordinatorManager()` and selector `0xe4e7148f`
5834    #[derive(
5835        Clone,
5836        ::ethers::contract::EthCall,
5837        ::ethers::contract::EthDisplay,
5838        serde::Serialize,
5839        serde::Deserialize,
5840        Default,
5841        Debug,
5842        PartialEq,
5843        Eq,
5844        Hash
5845    )]
5846    #[ethcall(name = "deployerCoordinatorManager", abi = "deployerCoordinatorManager()")]
5847    pub struct DeployerCoordinatorManagerCall;
5848    ///Container type for all input parameters for the `feeCollector` function with signature `feeCollector()` and selector `0xc415b95c`
5849    #[derive(
5850        Clone,
5851        ::ethers::contract::EthCall,
5852        ::ethers::contract::EthDisplay,
5853        serde::Serialize,
5854        serde::Deserialize,
5855        Default,
5856        Debug,
5857        PartialEq,
5858        Eq,
5859        Hash
5860    )]
5861    #[ethcall(name = "feeCollector", abi = "feeCollector()")]
5862    pub struct FeeCollectorCall;
5863    ///Container type for all input parameters for the `getDeployerCoordinatorAtIndex` function with signature `getDeployerCoordinatorAtIndex(uint256)` and selector `0xfe3d5aeb`
5864    #[derive(
5865        Clone,
5866        ::ethers::contract::EthCall,
5867        ::ethers::contract::EthDisplay,
5868        serde::Serialize,
5869        serde::Deserialize,
5870        Default,
5871        Debug,
5872        PartialEq,
5873        Eq,
5874        Hash
5875    )]
5876    #[ethcall(
5877        name = "getDeployerCoordinatorAtIndex",
5878        abi = "getDeployerCoordinatorAtIndex(uint256)"
5879    )]
5880    pub struct GetDeployerCoordinatorAtIndexCall {
5881        pub index: ::ethers::core::types::U256,
5882    }
5883    ///Container type for all input parameters for the `getDeployerCoordinatorByInstances` function with signature `getDeployerCoordinatorByInstances(address[])` and selector `0x1b59be0c`
5884    #[derive(
5885        Clone,
5886        ::ethers::contract::EthCall,
5887        ::ethers::contract::EthDisplay,
5888        serde::Serialize,
5889        serde::Deserialize,
5890        Default,
5891        Debug,
5892        PartialEq,
5893        Eq,
5894        Hash
5895    )]
5896    #[ethcall(
5897        name = "getDeployerCoordinatorByInstances",
5898        abi = "getDeployerCoordinatorByInstances(address[])"
5899    )]
5900    pub struct GetDeployerCoordinatorByInstancesCall {
5901        pub instances: ::std::vec::Vec<::ethers::core::types::Address>,
5902    }
5903    ///Container type for all input parameters for the `getDeployerCoordinatorsInRange` function with signature `getDeployerCoordinatorsInRange(uint256,uint256)` and selector `0xec895f11`
5904    #[derive(
5905        Clone,
5906        ::ethers::contract::EthCall,
5907        ::ethers::contract::EthDisplay,
5908        serde::Serialize,
5909        serde::Deserialize,
5910        Default,
5911        Debug,
5912        PartialEq,
5913        Eq,
5914        Hash
5915    )]
5916    #[ethcall(
5917        name = "getDeployerCoordinatorsInRange",
5918        abi = "getDeployerCoordinatorsInRange(uint256,uint256)"
5919    )]
5920    pub struct GetDeployerCoordinatorsInRangeCall {
5921        pub start_index: ::ethers::core::types::U256,
5922        pub end_index: ::ethers::core::types::U256,
5923    }
5924    ///Container type for all input parameters for the `getInstanceAtIndex` function with signature `getInstanceAtIndex(uint256)` and selector `0xdaac24da`
5925    #[derive(
5926        Clone,
5927        ::ethers::contract::EthCall,
5928        ::ethers::contract::EthDisplay,
5929        serde::Serialize,
5930        serde::Deserialize,
5931        Default,
5932        Debug,
5933        PartialEq,
5934        Eq,
5935        Hash
5936    )]
5937    #[ethcall(name = "getInstanceAtIndex", abi = "getInstanceAtIndex(uint256)")]
5938    pub struct GetInstanceAtIndexCall {
5939        pub index: ::ethers::core::types::U256,
5940    }
5941    ///Container type for all input parameters for the `getInstancesInRange` function with signature `getInstancesInRange(uint256,uint256)` and selector `0xbc30e7a1`
5942    #[derive(
5943        Clone,
5944        ::ethers::contract::EthCall,
5945        ::ethers::contract::EthDisplay,
5946        serde::Serialize,
5947        serde::Deserialize,
5948        Default,
5949        Debug,
5950        PartialEq,
5951        Eq,
5952        Hash
5953    )]
5954    #[ethcall(
5955        name = "getInstancesInRange",
5956        abi = "getInstancesInRange(uint256,uint256)"
5957    )]
5958    pub struct GetInstancesInRangeCall {
5959        pub start_index: ::ethers::core::types::U256,
5960        pub end_index: ::ethers::core::types::U256,
5961    }
5962    ///Container type for all input parameters for the `getNumberOfDeployerCoordinators` function with signature `getNumberOfDeployerCoordinators()` and selector `0xe1b39c80`
5963    #[derive(
5964        Clone,
5965        ::ethers::contract::EthCall,
5966        ::ethers::contract::EthDisplay,
5967        serde::Serialize,
5968        serde::Deserialize,
5969        Default,
5970        Debug,
5971        PartialEq,
5972        Eq,
5973        Hash
5974    )]
5975    #[ethcall(
5976        name = "getNumberOfDeployerCoordinators",
5977        abi = "getNumberOfDeployerCoordinators()"
5978    )]
5979    pub struct GetNumberOfDeployerCoordinatorsCall;
5980    ///Container type for all input parameters for the `getNumberOfInstances` function with signature `getNumberOfInstances()` and selector `0x6e95d67c`
5981    #[derive(
5982        Clone,
5983        ::ethers::contract::EthCall,
5984        ::ethers::contract::EthDisplay,
5985        serde::Serialize,
5986        serde::Deserialize,
5987        Default,
5988        Debug,
5989        PartialEq,
5990        Eq,
5991        Hash
5992    )]
5993    #[ethcall(name = "getNumberOfInstances", abi = "getNumberOfInstances()")]
5994    pub struct GetNumberOfInstancesCall;
5995    ///Container type for all input parameters for the `governance` function with signature `governance()` and selector `0x5aa6e675`
5996    #[derive(
5997        Clone,
5998        ::ethers::contract::EthCall,
5999        ::ethers::contract::EthDisplay,
6000        serde::Serialize,
6001        serde::Deserialize,
6002        Default,
6003        Debug,
6004        PartialEq,
6005        Eq,
6006        Hash
6007    )]
6008    #[ethcall(name = "governance", abi = "governance()")]
6009    pub struct GovernanceCall;
6010    ///Container type for all input parameters for the `hyperdriveGovernance` function with signature `hyperdriveGovernance()` and selector `0xe3331555`
6011    #[derive(
6012        Clone,
6013        ::ethers::contract::EthCall,
6014        ::ethers::contract::EthDisplay,
6015        serde::Serialize,
6016        serde::Deserialize,
6017        Default,
6018        Debug,
6019        PartialEq,
6020        Eq,
6021        Hash
6022    )]
6023    #[ethcall(name = "hyperdriveGovernance", abi = "hyperdriveGovernance()")]
6024    pub struct HyperdriveGovernanceCall;
6025    ///Container type for all input parameters for the `isDeployerCoordinator` function with signature `isDeployerCoordinator(address)` and selector `0xf8c09e59`
6026    #[derive(
6027        Clone,
6028        ::ethers::contract::EthCall,
6029        ::ethers::contract::EthDisplay,
6030        serde::Serialize,
6031        serde::Deserialize,
6032        Default,
6033        Debug,
6034        PartialEq,
6035        Eq,
6036        Hash
6037    )]
6038    #[ethcall(name = "isDeployerCoordinator", abi = "isDeployerCoordinator(address)")]
6039    pub struct IsDeployerCoordinatorCall(pub ::ethers::core::types::Address);
6040    ///Container type for all input parameters for the `isInstance` function with signature `isInstance(address)` and selector `0x6b44e6be`
6041    #[derive(
6042        Clone,
6043        ::ethers::contract::EthCall,
6044        ::ethers::contract::EthDisplay,
6045        serde::Serialize,
6046        serde::Deserialize,
6047        Default,
6048        Debug,
6049        PartialEq,
6050        Eq,
6051        Hash
6052    )]
6053    #[ethcall(name = "isInstance", abi = "isInstance(address)")]
6054    pub struct IsInstanceCall(pub ::ethers::core::types::Address);
6055    ///Container type for all input parameters for the `kind` function with signature `kind()` and selector `0x04baa00b`
6056    #[derive(
6057        Clone,
6058        ::ethers::contract::EthCall,
6059        ::ethers::contract::EthDisplay,
6060        serde::Serialize,
6061        serde::Deserialize,
6062        Default,
6063        Debug,
6064        PartialEq,
6065        Eq,
6066        Hash
6067    )]
6068    #[ethcall(name = "kind", abi = "kind()")]
6069    pub struct KindCall;
6070    ///Container type for all input parameters for the `linkerCodeHash` function with signature `linkerCodeHash()` and selector `0xc905a4b5`
6071    #[derive(
6072        Clone,
6073        ::ethers::contract::EthCall,
6074        ::ethers::contract::EthDisplay,
6075        serde::Serialize,
6076        serde::Deserialize,
6077        Default,
6078        Debug,
6079        PartialEq,
6080        Eq,
6081        Hash
6082    )]
6083    #[ethcall(name = "linkerCodeHash", abi = "linkerCodeHash()")]
6084    pub struct LinkerCodeHashCall;
6085    ///Container type for all input parameters for the `linkerFactory` function with signature `linkerFactory()` and selector `0x99623bb1`
6086    #[derive(
6087        Clone,
6088        ::ethers::contract::EthCall,
6089        ::ethers::contract::EthDisplay,
6090        serde::Serialize,
6091        serde::Deserialize,
6092        Default,
6093        Debug,
6094        PartialEq,
6095        Eq,
6096        Hash
6097    )]
6098    #[ethcall(name = "linkerFactory", abi = "linkerFactory()")]
6099    pub struct LinkerFactoryCall;
6100    ///Container type for all input parameters for the `maxCheckpointDuration` function with signature `maxCheckpointDuration()` and selector `0xe0e2daaa`
6101    #[derive(
6102        Clone,
6103        ::ethers::contract::EthCall,
6104        ::ethers::contract::EthDisplay,
6105        serde::Serialize,
6106        serde::Deserialize,
6107        Default,
6108        Debug,
6109        PartialEq,
6110        Eq,
6111        Hash
6112    )]
6113    #[ethcall(name = "maxCheckpointDuration", abi = "maxCheckpointDuration()")]
6114    pub struct MaxCheckpointDurationCall;
6115    ///Container type for all input parameters for the `maxCircuitBreakerDelta` function with signature `maxCircuitBreakerDelta()` and selector `0x4554f9a9`
6116    #[derive(
6117        Clone,
6118        ::ethers::contract::EthCall,
6119        ::ethers::contract::EthDisplay,
6120        serde::Serialize,
6121        serde::Deserialize,
6122        Default,
6123        Debug,
6124        PartialEq,
6125        Eq,
6126        Hash
6127    )]
6128    #[ethcall(name = "maxCircuitBreakerDelta", abi = "maxCircuitBreakerDelta()")]
6129    pub struct MaxCircuitBreakerDeltaCall;
6130    ///Container type for all input parameters for the `maxFees` function with signature `maxFees()` and selector `0xe83e34b1`
6131    #[derive(
6132        Clone,
6133        ::ethers::contract::EthCall,
6134        ::ethers::contract::EthDisplay,
6135        serde::Serialize,
6136        serde::Deserialize,
6137        Default,
6138        Debug,
6139        PartialEq,
6140        Eq,
6141        Hash
6142    )]
6143    #[ethcall(name = "maxFees", abi = "maxFees()")]
6144    pub struct MaxFeesCall;
6145    ///Container type for all input parameters for the `maxFixedAPR` function with signature `maxFixedAPR()` and selector `0xbf9bd5cd`
6146    #[derive(
6147        Clone,
6148        ::ethers::contract::EthCall,
6149        ::ethers::contract::EthDisplay,
6150        serde::Serialize,
6151        serde::Deserialize,
6152        Default,
6153        Debug,
6154        PartialEq,
6155        Eq,
6156        Hash
6157    )]
6158    #[ethcall(name = "maxFixedAPR", abi = "maxFixedAPR()")]
6159    pub struct MaxFixedAPRCall;
6160    ///Container type for all input parameters for the `maxPositionDuration` function with signature `maxPositionDuration()` and selector `0x8efc0986`
6161    #[derive(
6162        Clone,
6163        ::ethers::contract::EthCall,
6164        ::ethers::contract::EthDisplay,
6165        serde::Serialize,
6166        serde::Deserialize,
6167        Default,
6168        Debug,
6169        PartialEq,
6170        Eq,
6171        Hash
6172    )]
6173    #[ethcall(name = "maxPositionDuration", abi = "maxPositionDuration()")]
6174    pub struct MaxPositionDurationCall;
6175    ///Container type for all input parameters for the `maxTimeStretchAPR` function with signature `maxTimeStretchAPR()` and selector `0x48800760`
6176    #[derive(
6177        Clone,
6178        ::ethers::contract::EthCall,
6179        ::ethers::contract::EthDisplay,
6180        serde::Serialize,
6181        serde::Deserialize,
6182        Default,
6183        Debug,
6184        PartialEq,
6185        Eq,
6186        Hash
6187    )]
6188    #[ethcall(name = "maxTimeStretchAPR", abi = "maxTimeStretchAPR()")]
6189    pub struct MaxTimeStretchAPRCall;
6190    ///Container type for all input parameters for the `minCheckpointDuration` function with signature `minCheckpointDuration()` and selector `0x5720c9d5`
6191    #[derive(
6192        Clone,
6193        ::ethers::contract::EthCall,
6194        ::ethers::contract::EthDisplay,
6195        serde::Serialize,
6196        serde::Deserialize,
6197        Default,
6198        Debug,
6199        PartialEq,
6200        Eq,
6201        Hash
6202    )]
6203    #[ethcall(name = "minCheckpointDuration", abi = "minCheckpointDuration()")]
6204    pub struct MinCheckpointDurationCall;
6205    ///Container type for all input parameters for the `minCircuitBreakerDelta` function with signature `minCircuitBreakerDelta()` and selector `0x1ecda0fe`
6206    #[derive(
6207        Clone,
6208        ::ethers::contract::EthCall,
6209        ::ethers::contract::EthDisplay,
6210        serde::Serialize,
6211        serde::Deserialize,
6212        Default,
6213        Debug,
6214        PartialEq,
6215        Eq,
6216        Hash
6217    )]
6218    #[ethcall(name = "minCircuitBreakerDelta", abi = "minCircuitBreakerDelta()")]
6219    pub struct MinCircuitBreakerDeltaCall;
6220    ///Container type for all input parameters for the `minFees` function with signature `minFees()` and selector `0xc1722563`
6221    #[derive(
6222        Clone,
6223        ::ethers::contract::EthCall,
6224        ::ethers::contract::EthDisplay,
6225        serde::Serialize,
6226        serde::Deserialize,
6227        Default,
6228        Debug,
6229        PartialEq,
6230        Eq,
6231        Hash
6232    )]
6233    #[ethcall(name = "minFees", abi = "minFees()")]
6234    pub struct MinFeesCall;
6235    ///Container type for all input parameters for the `minFixedAPR` function with signature `minFixedAPR()` and selector `0xd23d7ea3`
6236    #[derive(
6237        Clone,
6238        ::ethers::contract::EthCall,
6239        ::ethers::contract::EthDisplay,
6240        serde::Serialize,
6241        serde::Deserialize,
6242        Default,
6243        Debug,
6244        PartialEq,
6245        Eq,
6246        Hash
6247    )]
6248    #[ethcall(name = "minFixedAPR", abi = "minFixedAPR()")]
6249    pub struct MinFixedAPRCall;
6250    ///Container type for all input parameters for the `minPositionDuration` function with signature `minPositionDuration()` and selector `0xdaf012e6`
6251    #[derive(
6252        Clone,
6253        ::ethers::contract::EthCall,
6254        ::ethers::contract::EthDisplay,
6255        serde::Serialize,
6256        serde::Deserialize,
6257        Default,
6258        Debug,
6259        PartialEq,
6260        Eq,
6261        Hash
6262    )]
6263    #[ethcall(name = "minPositionDuration", abi = "minPositionDuration()")]
6264    pub struct MinPositionDurationCall;
6265    ///Container type for all input parameters for the `minTimeStretchAPR` function with signature `minTimeStretchAPR()` and selector `0xd6f50169`
6266    #[derive(
6267        Clone,
6268        ::ethers::contract::EthCall,
6269        ::ethers::contract::EthDisplay,
6270        serde::Serialize,
6271        serde::Deserialize,
6272        Default,
6273        Debug,
6274        PartialEq,
6275        Eq,
6276        Hash
6277    )]
6278    #[ethcall(name = "minTimeStretchAPR", abi = "minTimeStretchAPR()")]
6279    pub struct MinTimeStretchAPRCall;
6280    ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03`
6281    #[derive(
6282        Clone,
6283        ::ethers::contract::EthCall,
6284        ::ethers::contract::EthDisplay,
6285        serde::Serialize,
6286        serde::Deserialize,
6287        Default,
6288        Debug,
6289        PartialEq,
6290        Eq,
6291        Hash
6292    )]
6293    #[ethcall(name = "name", abi = "name()")]
6294    pub struct NameCall;
6295    ///Container type for all input parameters for the `removeDeployerCoordinator` function with signature `removeDeployerCoordinator(address,uint256)` and selector `0x411c3035`
6296    #[derive(
6297        Clone,
6298        ::ethers::contract::EthCall,
6299        ::ethers::contract::EthDisplay,
6300        serde::Serialize,
6301        serde::Deserialize,
6302        Default,
6303        Debug,
6304        PartialEq,
6305        Eq,
6306        Hash
6307    )]
6308    #[ethcall(
6309        name = "removeDeployerCoordinator",
6310        abi = "removeDeployerCoordinator(address,uint256)"
6311    )]
6312    pub struct RemoveDeployerCoordinatorCall {
6313        pub deployer_coordinator: ::ethers::core::types::Address,
6314        pub index: ::ethers::core::types::U256,
6315    }
6316    ///Container type for all input parameters for the `sweepCollector` function with signature `sweepCollector()` and selector `0x10780f73`
6317    #[derive(
6318        Clone,
6319        ::ethers::contract::EthCall,
6320        ::ethers::contract::EthDisplay,
6321        serde::Serialize,
6322        serde::Deserialize,
6323        Default,
6324        Debug,
6325        PartialEq,
6326        Eq,
6327        Hash
6328    )]
6329    #[ethcall(name = "sweepCollector", abi = "sweepCollector()")]
6330    pub struct SweepCollectorCall;
6331    ///Container type for all input parameters for the `updateCheckpointDurationResolution` function with signature `updateCheckpointDurationResolution(uint256)` and selector `0x11e77bfe`
6332    #[derive(
6333        Clone,
6334        ::ethers::contract::EthCall,
6335        ::ethers::contract::EthDisplay,
6336        serde::Serialize,
6337        serde::Deserialize,
6338        Default,
6339        Debug,
6340        PartialEq,
6341        Eq,
6342        Hash
6343    )]
6344    #[ethcall(
6345        name = "updateCheckpointDurationResolution",
6346        abi = "updateCheckpointDurationResolution(uint256)"
6347    )]
6348    pub struct UpdateCheckpointDurationResolutionCall {
6349        pub checkpoint_duration_resolution: ::ethers::core::types::U256,
6350    }
6351    ///Container type for all input parameters for the `updateCheckpointRewarder` function with signature `updateCheckpointRewarder(address)` and selector `0x3e2d2014`
6352    #[derive(
6353        Clone,
6354        ::ethers::contract::EthCall,
6355        ::ethers::contract::EthDisplay,
6356        serde::Serialize,
6357        serde::Deserialize,
6358        Default,
6359        Debug,
6360        PartialEq,
6361        Eq,
6362        Hash
6363    )]
6364    #[ethcall(
6365        name = "updateCheckpointRewarder",
6366        abi = "updateCheckpointRewarder(address)"
6367    )]
6368    pub struct UpdateCheckpointRewarderCall {
6369        pub checkpoint_rewarder: ::ethers::core::types::Address,
6370    }
6371    ///Container type for all input parameters for the `updateDefaultPausers` function with signature `updateDefaultPausers(address[])` and selector `0x9af25262`
6372    #[derive(
6373        Clone,
6374        ::ethers::contract::EthCall,
6375        ::ethers::contract::EthDisplay,
6376        serde::Serialize,
6377        serde::Deserialize,
6378        Default,
6379        Debug,
6380        PartialEq,
6381        Eq,
6382        Hash
6383    )]
6384    #[ethcall(name = "updateDefaultPausers", abi = "updateDefaultPausers(address[])")]
6385    pub struct UpdateDefaultPausersCall {
6386        pub default_pausers: ::std::vec::Vec<::ethers::core::types::Address>,
6387    }
6388    ///Container type for all input parameters for the `updateDeployerCoordinatorManager` function with signature `updateDeployerCoordinatorManager(address)` and selector `0xa98a46db`
6389    #[derive(
6390        Clone,
6391        ::ethers::contract::EthCall,
6392        ::ethers::contract::EthDisplay,
6393        serde::Serialize,
6394        serde::Deserialize,
6395        Default,
6396        Debug,
6397        PartialEq,
6398        Eq,
6399        Hash
6400    )]
6401    #[ethcall(
6402        name = "updateDeployerCoordinatorManager",
6403        abi = "updateDeployerCoordinatorManager(address)"
6404    )]
6405    pub struct UpdateDeployerCoordinatorManagerCall {
6406        pub deployer_coordinator_manager: ::ethers::core::types::Address,
6407    }
6408    ///Container type for all input parameters for the `updateFeeCollector` function with signature `updateFeeCollector(address)` and selector `0xd2c35ce8`
6409    #[derive(
6410        Clone,
6411        ::ethers::contract::EthCall,
6412        ::ethers::contract::EthDisplay,
6413        serde::Serialize,
6414        serde::Deserialize,
6415        Default,
6416        Debug,
6417        PartialEq,
6418        Eq,
6419        Hash
6420    )]
6421    #[ethcall(name = "updateFeeCollector", abi = "updateFeeCollector(address)")]
6422    pub struct UpdateFeeCollectorCall {
6423        pub fee_collector: ::ethers::core::types::Address,
6424    }
6425    ///Container type for all input parameters for the `updateGovernance` function with signature `updateGovernance(address)` and selector `0xb2561263`
6426    #[derive(
6427        Clone,
6428        ::ethers::contract::EthCall,
6429        ::ethers::contract::EthDisplay,
6430        serde::Serialize,
6431        serde::Deserialize,
6432        Default,
6433        Debug,
6434        PartialEq,
6435        Eq,
6436        Hash
6437    )]
6438    #[ethcall(name = "updateGovernance", abi = "updateGovernance(address)")]
6439    pub struct UpdateGovernanceCall {
6440        pub governance: ::ethers::core::types::Address,
6441    }
6442    ///Container type for all input parameters for the `updateHyperdriveGovernance` function with signature `updateHyperdriveGovernance(address)` and selector `0xdd2b8fbb`
6443    #[derive(
6444        Clone,
6445        ::ethers::contract::EthCall,
6446        ::ethers::contract::EthDisplay,
6447        serde::Serialize,
6448        serde::Deserialize,
6449        Default,
6450        Debug,
6451        PartialEq,
6452        Eq,
6453        Hash
6454    )]
6455    #[ethcall(
6456        name = "updateHyperdriveGovernance",
6457        abi = "updateHyperdriveGovernance(address)"
6458    )]
6459    pub struct UpdateHyperdriveGovernanceCall {
6460        pub hyperdrive_governance: ::ethers::core::types::Address,
6461    }
6462    ///Container type for all input parameters for the `updateLinkerCodeHash` function with signature `updateLinkerCodeHash(bytes32)` and selector `0x4fbfee77`
6463    #[derive(
6464        Clone,
6465        ::ethers::contract::EthCall,
6466        ::ethers::contract::EthDisplay,
6467        serde::Serialize,
6468        serde::Deserialize,
6469        Default,
6470        Debug,
6471        PartialEq,
6472        Eq,
6473        Hash
6474    )]
6475    #[ethcall(name = "updateLinkerCodeHash", abi = "updateLinkerCodeHash(bytes32)")]
6476    pub struct UpdateLinkerCodeHashCall {
6477        pub linker_code_hash: [u8; 32],
6478    }
6479    ///Container type for all input parameters for the `updateLinkerFactory` function with signature `updateLinkerFactory(address)` and selector `0x85229785`
6480    #[derive(
6481        Clone,
6482        ::ethers::contract::EthCall,
6483        ::ethers::contract::EthDisplay,
6484        serde::Serialize,
6485        serde::Deserialize,
6486        Default,
6487        Debug,
6488        PartialEq,
6489        Eq,
6490        Hash
6491    )]
6492    #[ethcall(name = "updateLinkerFactory", abi = "updateLinkerFactory(address)")]
6493    pub struct UpdateLinkerFactoryCall {
6494        pub linker_factory: ::ethers::core::types::Address,
6495    }
6496    ///Container type for all input parameters for the `updateMaxCheckpointDuration` function with signature `updateMaxCheckpointDuration(uint256)` and selector `0x6f6d5c4a`
6497    #[derive(
6498        Clone,
6499        ::ethers::contract::EthCall,
6500        ::ethers::contract::EthDisplay,
6501        serde::Serialize,
6502        serde::Deserialize,
6503        Default,
6504        Debug,
6505        PartialEq,
6506        Eq,
6507        Hash
6508    )]
6509    #[ethcall(
6510        name = "updateMaxCheckpointDuration",
6511        abi = "updateMaxCheckpointDuration(uint256)"
6512    )]
6513    pub struct UpdateMaxCheckpointDurationCall {
6514        pub max_checkpoint_duration: ::ethers::core::types::U256,
6515    }
6516    ///Container type for all input parameters for the `updateMaxCircuitBreakerDelta` function with signature `updateMaxCircuitBreakerDelta(uint256)` and selector `0x84c19aab`
6517    #[derive(
6518        Clone,
6519        ::ethers::contract::EthCall,
6520        ::ethers::contract::EthDisplay,
6521        serde::Serialize,
6522        serde::Deserialize,
6523        Default,
6524        Debug,
6525        PartialEq,
6526        Eq,
6527        Hash
6528    )]
6529    #[ethcall(
6530        name = "updateMaxCircuitBreakerDelta",
6531        abi = "updateMaxCircuitBreakerDelta(uint256)"
6532    )]
6533    pub struct UpdateMaxCircuitBreakerDeltaCall {
6534        pub max_circuit_breaker_delta: ::ethers::core::types::U256,
6535    }
6536    ///Container type for all input parameters for the `updateMaxFees` function with signature `updateMaxFees((uint256,uint256,uint256,uint256))` and selector `0x2885e3ac`
6537    #[derive(
6538        Clone,
6539        ::ethers::contract::EthCall,
6540        ::ethers::contract::EthDisplay,
6541        serde::Serialize,
6542        serde::Deserialize,
6543        Default,
6544        Debug,
6545        PartialEq,
6546        Eq,
6547        Hash
6548    )]
6549    #[ethcall(
6550        name = "updateMaxFees",
6551        abi = "updateMaxFees((uint256,uint256,uint256,uint256))"
6552    )]
6553    pub struct UpdateMaxFeesCall {
6554        pub max_fees: Fees,
6555    }
6556    ///Container type for all input parameters for the `updateMaxFixedAPR` function with signature `updateMaxFixedAPR(uint256)` and selector `0x97b0e8ce`
6557    #[derive(
6558        Clone,
6559        ::ethers::contract::EthCall,
6560        ::ethers::contract::EthDisplay,
6561        serde::Serialize,
6562        serde::Deserialize,
6563        Default,
6564        Debug,
6565        PartialEq,
6566        Eq,
6567        Hash
6568    )]
6569    #[ethcall(name = "updateMaxFixedAPR", abi = "updateMaxFixedAPR(uint256)")]
6570    pub struct UpdateMaxFixedAPRCall {
6571        pub max_fixed_apr: ::ethers::core::types::U256,
6572    }
6573    ///Container type for all input parameters for the `updateMaxPositionDuration` function with signature `updateMaxPositionDuration(uint256)` and selector `0xeb71f66c`
6574    #[derive(
6575        Clone,
6576        ::ethers::contract::EthCall,
6577        ::ethers::contract::EthDisplay,
6578        serde::Serialize,
6579        serde::Deserialize,
6580        Default,
6581        Debug,
6582        PartialEq,
6583        Eq,
6584        Hash
6585    )]
6586    #[ethcall(
6587        name = "updateMaxPositionDuration",
6588        abi = "updateMaxPositionDuration(uint256)"
6589    )]
6590    pub struct UpdateMaxPositionDurationCall {
6591        pub max_position_duration: ::ethers::core::types::U256,
6592    }
6593    ///Container type for all input parameters for the `updateMaxTimeStretchAPR` function with signature `updateMaxTimeStretchAPR(uint256)` and selector `0x628027a3`
6594    #[derive(
6595        Clone,
6596        ::ethers::contract::EthCall,
6597        ::ethers::contract::EthDisplay,
6598        serde::Serialize,
6599        serde::Deserialize,
6600        Default,
6601        Debug,
6602        PartialEq,
6603        Eq,
6604        Hash
6605    )]
6606    #[ethcall(
6607        name = "updateMaxTimeStretchAPR",
6608        abi = "updateMaxTimeStretchAPR(uint256)"
6609    )]
6610    pub struct UpdateMaxTimeStretchAPRCall {
6611        pub max_time_stretch_apr: ::ethers::core::types::U256,
6612    }
6613    ///Container type for all input parameters for the `updateMinCheckpointDuration` function with signature `updateMinCheckpointDuration(uint256)` and selector `0x8e127cf5`
6614    #[derive(
6615        Clone,
6616        ::ethers::contract::EthCall,
6617        ::ethers::contract::EthDisplay,
6618        serde::Serialize,
6619        serde::Deserialize,
6620        Default,
6621        Debug,
6622        PartialEq,
6623        Eq,
6624        Hash
6625    )]
6626    #[ethcall(
6627        name = "updateMinCheckpointDuration",
6628        abi = "updateMinCheckpointDuration(uint256)"
6629    )]
6630    pub struct UpdateMinCheckpointDurationCall {
6631        pub min_checkpoint_duration: ::ethers::core::types::U256,
6632    }
6633    ///Container type for all input parameters for the `updateMinCircuitBreakerDelta` function with signature `updateMinCircuitBreakerDelta(uint256)` and selector `0x2907d3dd`
6634    #[derive(
6635        Clone,
6636        ::ethers::contract::EthCall,
6637        ::ethers::contract::EthDisplay,
6638        serde::Serialize,
6639        serde::Deserialize,
6640        Default,
6641        Debug,
6642        PartialEq,
6643        Eq,
6644        Hash
6645    )]
6646    #[ethcall(
6647        name = "updateMinCircuitBreakerDelta",
6648        abi = "updateMinCircuitBreakerDelta(uint256)"
6649    )]
6650    pub struct UpdateMinCircuitBreakerDeltaCall {
6651        pub min_circuit_breaker_delta: ::ethers::core::types::U256,
6652    }
6653    ///Container type for all input parameters for the `updateMinFees` function with signature `updateMinFees((uint256,uint256,uint256,uint256))` and selector `0x10d1dc3e`
6654    #[derive(
6655        Clone,
6656        ::ethers::contract::EthCall,
6657        ::ethers::contract::EthDisplay,
6658        serde::Serialize,
6659        serde::Deserialize,
6660        Default,
6661        Debug,
6662        PartialEq,
6663        Eq,
6664        Hash
6665    )]
6666    #[ethcall(
6667        name = "updateMinFees",
6668        abi = "updateMinFees((uint256,uint256,uint256,uint256))"
6669    )]
6670    pub struct UpdateMinFeesCall {
6671        pub min_fees: Fees,
6672    }
6673    ///Container type for all input parameters for the `updateMinFixedAPR` function with signature `updateMinFixedAPR(uint256)` and selector `0x1978ebcf`
6674    #[derive(
6675        Clone,
6676        ::ethers::contract::EthCall,
6677        ::ethers::contract::EthDisplay,
6678        serde::Serialize,
6679        serde::Deserialize,
6680        Default,
6681        Debug,
6682        PartialEq,
6683        Eq,
6684        Hash
6685    )]
6686    #[ethcall(name = "updateMinFixedAPR", abi = "updateMinFixedAPR(uint256)")]
6687    pub struct UpdateMinFixedAPRCall {
6688        pub min_fixed_apr: ::ethers::core::types::U256,
6689    }
6690    ///Container type for all input parameters for the `updateMinPositionDuration` function with signature `updateMinPositionDuration(uint256)` and selector `0xe71f34b3`
6691    #[derive(
6692        Clone,
6693        ::ethers::contract::EthCall,
6694        ::ethers::contract::EthDisplay,
6695        serde::Serialize,
6696        serde::Deserialize,
6697        Default,
6698        Debug,
6699        PartialEq,
6700        Eq,
6701        Hash
6702    )]
6703    #[ethcall(
6704        name = "updateMinPositionDuration",
6705        abi = "updateMinPositionDuration(uint256)"
6706    )]
6707    pub struct UpdateMinPositionDurationCall {
6708        pub min_position_duration: ::ethers::core::types::U256,
6709    }
6710    ///Container type for all input parameters for the `updateMinTimeStretchAPR` function with signature `updateMinTimeStretchAPR(uint256)` and selector `0x83b361e8`
6711    #[derive(
6712        Clone,
6713        ::ethers::contract::EthCall,
6714        ::ethers::contract::EthDisplay,
6715        serde::Serialize,
6716        serde::Deserialize,
6717        Default,
6718        Debug,
6719        PartialEq,
6720        Eq,
6721        Hash
6722    )]
6723    #[ethcall(
6724        name = "updateMinTimeStretchAPR",
6725        abi = "updateMinTimeStretchAPR(uint256)"
6726    )]
6727    pub struct UpdateMinTimeStretchAPRCall {
6728        pub min_time_stretch_apr: ::ethers::core::types::U256,
6729    }
6730    ///Container type for all input parameters for the `updateSweepCollector` function with signature `updateSweepCollector(address)` and selector `0x8627a4f0`
6731    #[derive(
6732        Clone,
6733        ::ethers::contract::EthCall,
6734        ::ethers::contract::EthDisplay,
6735        serde::Serialize,
6736        serde::Deserialize,
6737        Default,
6738        Debug,
6739        PartialEq,
6740        Eq,
6741        Hash
6742    )]
6743    #[ethcall(name = "updateSweepCollector", abi = "updateSweepCollector(address)")]
6744    pub struct UpdateSweepCollectorCall {
6745        pub sweep_collector: ::ethers::core::types::Address,
6746    }
6747    ///Container type for all input parameters for the `version` function with signature `version()` and selector `0x54fd4d50`
6748    #[derive(
6749        Clone,
6750        ::ethers::contract::EthCall,
6751        ::ethers::contract::EthDisplay,
6752        serde::Serialize,
6753        serde::Deserialize,
6754        Default,
6755        Debug,
6756        PartialEq,
6757        Eq,
6758        Hash
6759    )]
6760    #[ethcall(name = "version", abi = "version()")]
6761    pub struct VersionCall;
6762    ///Container type for all of the contract's call
6763    #[derive(
6764        Clone,
6765        ::ethers::contract::EthAbiType,
6766        serde::Serialize,
6767        serde::Deserialize,
6768    )]
6769    pub enum HyperdriveFactoryCalls {
6770        InstancesToDeployerCoordinators(InstancesToDeployerCoordinatorsCall),
6771        AddDeployerCoordinator(AddDeployerCoordinatorCall),
6772        CheckpointDurationResolution(CheckpointDurationResolutionCall),
6773        CheckpointRewarder(CheckpointRewarderCall),
6774        DefaultPausers(DefaultPausersCall),
6775        DeployAndInitialize(DeployAndInitializeCall),
6776        DeployTarget(DeployTargetCall),
6777        DeployerCoordinatorManager(DeployerCoordinatorManagerCall),
6778        FeeCollector(FeeCollectorCall),
6779        GetDeployerCoordinatorAtIndex(GetDeployerCoordinatorAtIndexCall),
6780        GetDeployerCoordinatorByInstances(GetDeployerCoordinatorByInstancesCall),
6781        GetDeployerCoordinatorsInRange(GetDeployerCoordinatorsInRangeCall),
6782        GetInstanceAtIndex(GetInstanceAtIndexCall),
6783        GetInstancesInRange(GetInstancesInRangeCall),
6784        GetNumberOfDeployerCoordinators(GetNumberOfDeployerCoordinatorsCall),
6785        GetNumberOfInstances(GetNumberOfInstancesCall),
6786        Governance(GovernanceCall),
6787        HyperdriveGovernance(HyperdriveGovernanceCall),
6788        IsDeployerCoordinator(IsDeployerCoordinatorCall),
6789        IsInstance(IsInstanceCall),
6790        Kind(KindCall),
6791        LinkerCodeHash(LinkerCodeHashCall),
6792        LinkerFactory(LinkerFactoryCall),
6793        MaxCheckpointDuration(MaxCheckpointDurationCall),
6794        MaxCircuitBreakerDelta(MaxCircuitBreakerDeltaCall),
6795        MaxFees(MaxFeesCall),
6796        MaxFixedAPR(MaxFixedAPRCall),
6797        MaxPositionDuration(MaxPositionDurationCall),
6798        MaxTimeStretchAPR(MaxTimeStretchAPRCall),
6799        MinCheckpointDuration(MinCheckpointDurationCall),
6800        MinCircuitBreakerDelta(MinCircuitBreakerDeltaCall),
6801        MinFees(MinFeesCall),
6802        MinFixedAPR(MinFixedAPRCall),
6803        MinPositionDuration(MinPositionDurationCall),
6804        MinTimeStretchAPR(MinTimeStretchAPRCall),
6805        Name(NameCall),
6806        RemoveDeployerCoordinator(RemoveDeployerCoordinatorCall),
6807        SweepCollector(SweepCollectorCall),
6808        UpdateCheckpointDurationResolution(UpdateCheckpointDurationResolutionCall),
6809        UpdateCheckpointRewarder(UpdateCheckpointRewarderCall),
6810        UpdateDefaultPausers(UpdateDefaultPausersCall),
6811        UpdateDeployerCoordinatorManager(UpdateDeployerCoordinatorManagerCall),
6812        UpdateFeeCollector(UpdateFeeCollectorCall),
6813        UpdateGovernance(UpdateGovernanceCall),
6814        UpdateHyperdriveGovernance(UpdateHyperdriveGovernanceCall),
6815        UpdateLinkerCodeHash(UpdateLinkerCodeHashCall),
6816        UpdateLinkerFactory(UpdateLinkerFactoryCall),
6817        UpdateMaxCheckpointDuration(UpdateMaxCheckpointDurationCall),
6818        UpdateMaxCircuitBreakerDelta(UpdateMaxCircuitBreakerDeltaCall),
6819        UpdateMaxFees(UpdateMaxFeesCall),
6820        UpdateMaxFixedAPR(UpdateMaxFixedAPRCall),
6821        UpdateMaxPositionDuration(UpdateMaxPositionDurationCall),
6822        UpdateMaxTimeStretchAPR(UpdateMaxTimeStretchAPRCall),
6823        UpdateMinCheckpointDuration(UpdateMinCheckpointDurationCall),
6824        UpdateMinCircuitBreakerDelta(UpdateMinCircuitBreakerDeltaCall),
6825        UpdateMinFees(UpdateMinFeesCall),
6826        UpdateMinFixedAPR(UpdateMinFixedAPRCall),
6827        UpdateMinPositionDuration(UpdateMinPositionDurationCall),
6828        UpdateMinTimeStretchAPR(UpdateMinTimeStretchAPRCall),
6829        UpdateSweepCollector(UpdateSweepCollectorCall),
6830        Version(VersionCall),
6831    }
6832    impl ::ethers::core::abi::AbiDecode for HyperdriveFactoryCalls {
6833        fn decode(
6834            data: impl AsRef<[u8]>,
6835        ) -> ::core::result::Result<Self, ::ethers::core::abi::AbiError> {
6836            let data = data.as_ref();
6837            if let Ok(decoded) = <InstancesToDeployerCoordinatorsCall as ::ethers::core::abi::AbiDecode>::decode(
6838                data,
6839            ) {
6840                return Ok(Self::InstancesToDeployerCoordinators(decoded));
6841            }
6842            if let Ok(decoded) = <AddDeployerCoordinatorCall as ::ethers::core::abi::AbiDecode>::decode(
6843                data,
6844            ) {
6845                return Ok(Self::AddDeployerCoordinator(decoded));
6846            }
6847            if let Ok(decoded) = <CheckpointDurationResolutionCall as ::ethers::core::abi::AbiDecode>::decode(
6848                data,
6849            ) {
6850                return Ok(Self::CheckpointDurationResolution(decoded));
6851            }
6852            if let Ok(decoded) = <CheckpointRewarderCall as ::ethers::core::abi::AbiDecode>::decode(
6853                data,
6854            ) {
6855                return Ok(Self::CheckpointRewarder(decoded));
6856            }
6857            if let Ok(decoded) = <DefaultPausersCall as ::ethers::core::abi::AbiDecode>::decode(
6858                data,
6859            ) {
6860                return Ok(Self::DefaultPausers(decoded));
6861            }
6862            if let Ok(decoded) = <DeployAndInitializeCall as ::ethers::core::abi::AbiDecode>::decode(
6863                data,
6864            ) {
6865                return Ok(Self::DeployAndInitialize(decoded));
6866            }
6867            if let Ok(decoded) = <DeployTargetCall as ::ethers::core::abi::AbiDecode>::decode(
6868                data,
6869            ) {
6870                return Ok(Self::DeployTarget(decoded));
6871            }
6872            if let Ok(decoded) = <DeployerCoordinatorManagerCall as ::ethers::core::abi::AbiDecode>::decode(
6873                data,
6874            ) {
6875                return Ok(Self::DeployerCoordinatorManager(decoded));
6876            }
6877            if let Ok(decoded) = <FeeCollectorCall as ::ethers::core::abi::AbiDecode>::decode(
6878                data,
6879            ) {
6880                return Ok(Self::FeeCollector(decoded));
6881            }
6882            if let Ok(decoded) = <GetDeployerCoordinatorAtIndexCall as ::ethers::core::abi::AbiDecode>::decode(
6883                data,
6884            ) {
6885                return Ok(Self::GetDeployerCoordinatorAtIndex(decoded));
6886            }
6887            if let Ok(decoded) = <GetDeployerCoordinatorByInstancesCall as ::ethers::core::abi::AbiDecode>::decode(
6888                data,
6889            ) {
6890                return Ok(Self::GetDeployerCoordinatorByInstances(decoded));
6891            }
6892            if let Ok(decoded) = <GetDeployerCoordinatorsInRangeCall as ::ethers::core::abi::AbiDecode>::decode(
6893                data,
6894            ) {
6895                return Ok(Self::GetDeployerCoordinatorsInRange(decoded));
6896            }
6897            if let Ok(decoded) = <GetInstanceAtIndexCall as ::ethers::core::abi::AbiDecode>::decode(
6898                data,
6899            ) {
6900                return Ok(Self::GetInstanceAtIndex(decoded));
6901            }
6902            if let Ok(decoded) = <GetInstancesInRangeCall as ::ethers::core::abi::AbiDecode>::decode(
6903                data,
6904            ) {
6905                return Ok(Self::GetInstancesInRange(decoded));
6906            }
6907            if let Ok(decoded) = <GetNumberOfDeployerCoordinatorsCall as ::ethers::core::abi::AbiDecode>::decode(
6908                data,
6909            ) {
6910                return Ok(Self::GetNumberOfDeployerCoordinators(decoded));
6911            }
6912            if let Ok(decoded) = <GetNumberOfInstancesCall as ::ethers::core::abi::AbiDecode>::decode(
6913                data,
6914            ) {
6915                return Ok(Self::GetNumberOfInstances(decoded));
6916            }
6917            if let Ok(decoded) = <GovernanceCall as ::ethers::core::abi::AbiDecode>::decode(
6918                data,
6919            ) {
6920                return Ok(Self::Governance(decoded));
6921            }
6922            if let Ok(decoded) = <HyperdriveGovernanceCall as ::ethers::core::abi::AbiDecode>::decode(
6923                data,
6924            ) {
6925                return Ok(Self::HyperdriveGovernance(decoded));
6926            }
6927            if let Ok(decoded) = <IsDeployerCoordinatorCall as ::ethers::core::abi::AbiDecode>::decode(
6928                data,
6929            ) {
6930                return Ok(Self::IsDeployerCoordinator(decoded));
6931            }
6932            if let Ok(decoded) = <IsInstanceCall as ::ethers::core::abi::AbiDecode>::decode(
6933                data,
6934            ) {
6935                return Ok(Self::IsInstance(decoded));
6936            }
6937            if let Ok(decoded) = <KindCall as ::ethers::core::abi::AbiDecode>::decode(
6938                data,
6939            ) {
6940                return Ok(Self::Kind(decoded));
6941            }
6942            if let Ok(decoded) = <LinkerCodeHashCall as ::ethers::core::abi::AbiDecode>::decode(
6943                data,
6944            ) {
6945                return Ok(Self::LinkerCodeHash(decoded));
6946            }
6947            if let Ok(decoded) = <LinkerFactoryCall as ::ethers::core::abi::AbiDecode>::decode(
6948                data,
6949            ) {
6950                return Ok(Self::LinkerFactory(decoded));
6951            }
6952            if let Ok(decoded) = <MaxCheckpointDurationCall as ::ethers::core::abi::AbiDecode>::decode(
6953                data,
6954            ) {
6955                return Ok(Self::MaxCheckpointDuration(decoded));
6956            }
6957            if let Ok(decoded) = <MaxCircuitBreakerDeltaCall as ::ethers::core::abi::AbiDecode>::decode(
6958                data,
6959            ) {
6960                return Ok(Self::MaxCircuitBreakerDelta(decoded));
6961            }
6962            if let Ok(decoded) = <MaxFeesCall as ::ethers::core::abi::AbiDecode>::decode(
6963                data,
6964            ) {
6965                return Ok(Self::MaxFees(decoded));
6966            }
6967            if let Ok(decoded) = <MaxFixedAPRCall as ::ethers::core::abi::AbiDecode>::decode(
6968                data,
6969            ) {
6970                return Ok(Self::MaxFixedAPR(decoded));
6971            }
6972            if let Ok(decoded) = <MaxPositionDurationCall as ::ethers::core::abi::AbiDecode>::decode(
6973                data,
6974            ) {
6975                return Ok(Self::MaxPositionDuration(decoded));
6976            }
6977            if let Ok(decoded) = <MaxTimeStretchAPRCall as ::ethers::core::abi::AbiDecode>::decode(
6978                data,
6979            ) {
6980                return Ok(Self::MaxTimeStretchAPR(decoded));
6981            }
6982            if let Ok(decoded) = <MinCheckpointDurationCall as ::ethers::core::abi::AbiDecode>::decode(
6983                data,
6984            ) {
6985                return Ok(Self::MinCheckpointDuration(decoded));
6986            }
6987            if let Ok(decoded) = <MinCircuitBreakerDeltaCall as ::ethers::core::abi::AbiDecode>::decode(
6988                data,
6989            ) {
6990                return Ok(Self::MinCircuitBreakerDelta(decoded));
6991            }
6992            if let Ok(decoded) = <MinFeesCall as ::ethers::core::abi::AbiDecode>::decode(
6993                data,
6994            ) {
6995                return Ok(Self::MinFees(decoded));
6996            }
6997            if let Ok(decoded) = <MinFixedAPRCall as ::ethers::core::abi::AbiDecode>::decode(
6998                data,
6999            ) {
7000                return Ok(Self::MinFixedAPR(decoded));
7001            }
7002            if let Ok(decoded) = <MinPositionDurationCall as ::ethers::core::abi::AbiDecode>::decode(
7003                data,
7004            ) {
7005                return Ok(Self::MinPositionDuration(decoded));
7006            }
7007            if let Ok(decoded) = <MinTimeStretchAPRCall as ::ethers::core::abi::AbiDecode>::decode(
7008                data,
7009            ) {
7010                return Ok(Self::MinTimeStretchAPR(decoded));
7011            }
7012            if let Ok(decoded) = <NameCall as ::ethers::core::abi::AbiDecode>::decode(
7013                data,
7014            ) {
7015                return Ok(Self::Name(decoded));
7016            }
7017            if let Ok(decoded) = <RemoveDeployerCoordinatorCall as ::ethers::core::abi::AbiDecode>::decode(
7018                data,
7019            ) {
7020                return Ok(Self::RemoveDeployerCoordinator(decoded));
7021            }
7022            if let Ok(decoded) = <SweepCollectorCall as ::ethers::core::abi::AbiDecode>::decode(
7023                data,
7024            ) {
7025                return Ok(Self::SweepCollector(decoded));
7026            }
7027            if let Ok(decoded) = <UpdateCheckpointDurationResolutionCall as ::ethers::core::abi::AbiDecode>::decode(
7028                data,
7029            ) {
7030                return Ok(Self::UpdateCheckpointDurationResolution(decoded));
7031            }
7032            if let Ok(decoded) = <UpdateCheckpointRewarderCall as ::ethers::core::abi::AbiDecode>::decode(
7033                data,
7034            ) {
7035                return Ok(Self::UpdateCheckpointRewarder(decoded));
7036            }
7037            if let Ok(decoded) = <UpdateDefaultPausersCall as ::ethers::core::abi::AbiDecode>::decode(
7038                data,
7039            ) {
7040                return Ok(Self::UpdateDefaultPausers(decoded));
7041            }
7042            if let Ok(decoded) = <UpdateDeployerCoordinatorManagerCall as ::ethers::core::abi::AbiDecode>::decode(
7043                data,
7044            ) {
7045                return Ok(Self::UpdateDeployerCoordinatorManager(decoded));
7046            }
7047            if let Ok(decoded) = <UpdateFeeCollectorCall as ::ethers::core::abi::AbiDecode>::decode(
7048                data,
7049            ) {
7050                return Ok(Self::UpdateFeeCollector(decoded));
7051            }
7052            if let Ok(decoded) = <UpdateGovernanceCall as ::ethers::core::abi::AbiDecode>::decode(
7053                data,
7054            ) {
7055                return Ok(Self::UpdateGovernance(decoded));
7056            }
7057            if let Ok(decoded) = <UpdateHyperdriveGovernanceCall as ::ethers::core::abi::AbiDecode>::decode(
7058                data,
7059            ) {
7060                return Ok(Self::UpdateHyperdriveGovernance(decoded));
7061            }
7062            if let Ok(decoded) = <UpdateLinkerCodeHashCall as ::ethers::core::abi::AbiDecode>::decode(
7063                data,
7064            ) {
7065                return Ok(Self::UpdateLinkerCodeHash(decoded));
7066            }
7067            if let Ok(decoded) = <UpdateLinkerFactoryCall as ::ethers::core::abi::AbiDecode>::decode(
7068                data,
7069            ) {
7070                return Ok(Self::UpdateLinkerFactory(decoded));
7071            }
7072            if let Ok(decoded) = <UpdateMaxCheckpointDurationCall as ::ethers::core::abi::AbiDecode>::decode(
7073                data,
7074            ) {
7075                return Ok(Self::UpdateMaxCheckpointDuration(decoded));
7076            }
7077            if let Ok(decoded) = <UpdateMaxCircuitBreakerDeltaCall as ::ethers::core::abi::AbiDecode>::decode(
7078                data,
7079            ) {
7080                return Ok(Self::UpdateMaxCircuitBreakerDelta(decoded));
7081            }
7082            if let Ok(decoded) = <UpdateMaxFeesCall as ::ethers::core::abi::AbiDecode>::decode(
7083                data,
7084            ) {
7085                return Ok(Self::UpdateMaxFees(decoded));
7086            }
7087            if let Ok(decoded) = <UpdateMaxFixedAPRCall as ::ethers::core::abi::AbiDecode>::decode(
7088                data,
7089            ) {
7090                return Ok(Self::UpdateMaxFixedAPR(decoded));
7091            }
7092            if let Ok(decoded) = <UpdateMaxPositionDurationCall as ::ethers::core::abi::AbiDecode>::decode(
7093                data,
7094            ) {
7095                return Ok(Self::UpdateMaxPositionDuration(decoded));
7096            }
7097            if let Ok(decoded) = <UpdateMaxTimeStretchAPRCall as ::ethers::core::abi::AbiDecode>::decode(
7098                data,
7099            ) {
7100                return Ok(Self::UpdateMaxTimeStretchAPR(decoded));
7101            }
7102            if let Ok(decoded) = <UpdateMinCheckpointDurationCall as ::ethers::core::abi::AbiDecode>::decode(
7103                data,
7104            ) {
7105                return Ok(Self::UpdateMinCheckpointDuration(decoded));
7106            }
7107            if let Ok(decoded) = <UpdateMinCircuitBreakerDeltaCall as ::ethers::core::abi::AbiDecode>::decode(
7108                data,
7109            ) {
7110                return Ok(Self::UpdateMinCircuitBreakerDelta(decoded));
7111            }
7112            if let Ok(decoded) = <UpdateMinFeesCall as ::ethers::core::abi::AbiDecode>::decode(
7113                data,
7114            ) {
7115                return Ok(Self::UpdateMinFees(decoded));
7116            }
7117            if let Ok(decoded) = <UpdateMinFixedAPRCall as ::ethers::core::abi::AbiDecode>::decode(
7118                data,
7119            ) {
7120                return Ok(Self::UpdateMinFixedAPR(decoded));
7121            }
7122            if let Ok(decoded) = <UpdateMinPositionDurationCall as ::ethers::core::abi::AbiDecode>::decode(
7123                data,
7124            ) {
7125                return Ok(Self::UpdateMinPositionDuration(decoded));
7126            }
7127            if let Ok(decoded) = <UpdateMinTimeStretchAPRCall as ::ethers::core::abi::AbiDecode>::decode(
7128                data,
7129            ) {
7130                return Ok(Self::UpdateMinTimeStretchAPR(decoded));
7131            }
7132            if let Ok(decoded) = <UpdateSweepCollectorCall as ::ethers::core::abi::AbiDecode>::decode(
7133                data,
7134            ) {
7135                return Ok(Self::UpdateSweepCollector(decoded));
7136            }
7137            if let Ok(decoded) = <VersionCall as ::ethers::core::abi::AbiDecode>::decode(
7138                data,
7139            ) {
7140                return Ok(Self::Version(decoded));
7141            }
7142            Err(::ethers::core::abi::Error::InvalidData.into())
7143        }
7144    }
7145    impl ::ethers::core::abi::AbiEncode for HyperdriveFactoryCalls {
7146        fn encode(self) -> Vec<u8> {
7147            match self {
7148                Self::InstancesToDeployerCoordinators(element) => {
7149                    ::ethers::core::abi::AbiEncode::encode(element)
7150                }
7151                Self::AddDeployerCoordinator(element) => {
7152                    ::ethers::core::abi::AbiEncode::encode(element)
7153                }
7154                Self::CheckpointDurationResolution(element) => {
7155                    ::ethers::core::abi::AbiEncode::encode(element)
7156                }
7157                Self::CheckpointRewarder(element) => {
7158                    ::ethers::core::abi::AbiEncode::encode(element)
7159                }
7160                Self::DefaultPausers(element) => {
7161                    ::ethers::core::abi::AbiEncode::encode(element)
7162                }
7163                Self::DeployAndInitialize(element) => {
7164                    ::ethers::core::abi::AbiEncode::encode(element)
7165                }
7166                Self::DeployTarget(element) => {
7167                    ::ethers::core::abi::AbiEncode::encode(element)
7168                }
7169                Self::DeployerCoordinatorManager(element) => {
7170                    ::ethers::core::abi::AbiEncode::encode(element)
7171                }
7172                Self::FeeCollector(element) => {
7173                    ::ethers::core::abi::AbiEncode::encode(element)
7174                }
7175                Self::GetDeployerCoordinatorAtIndex(element) => {
7176                    ::ethers::core::abi::AbiEncode::encode(element)
7177                }
7178                Self::GetDeployerCoordinatorByInstances(element) => {
7179                    ::ethers::core::abi::AbiEncode::encode(element)
7180                }
7181                Self::GetDeployerCoordinatorsInRange(element) => {
7182                    ::ethers::core::abi::AbiEncode::encode(element)
7183                }
7184                Self::GetInstanceAtIndex(element) => {
7185                    ::ethers::core::abi::AbiEncode::encode(element)
7186                }
7187                Self::GetInstancesInRange(element) => {
7188                    ::ethers::core::abi::AbiEncode::encode(element)
7189                }
7190                Self::GetNumberOfDeployerCoordinators(element) => {
7191                    ::ethers::core::abi::AbiEncode::encode(element)
7192                }
7193                Self::GetNumberOfInstances(element) => {
7194                    ::ethers::core::abi::AbiEncode::encode(element)
7195                }
7196                Self::Governance(element) => {
7197                    ::ethers::core::abi::AbiEncode::encode(element)
7198                }
7199                Self::HyperdriveGovernance(element) => {
7200                    ::ethers::core::abi::AbiEncode::encode(element)
7201                }
7202                Self::IsDeployerCoordinator(element) => {
7203                    ::ethers::core::abi::AbiEncode::encode(element)
7204                }
7205                Self::IsInstance(element) => {
7206                    ::ethers::core::abi::AbiEncode::encode(element)
7207                }
7208                Self::Kind(element) => ::ethers::core::abi::AbiEncode::encode(element),
7209                Self::LinkerCodeHash(element) => {
7210                    ::ethers::core::abi::AbiEncode::encode(element)
7211                }
7212                Self::LinkerFactory(element) => {
7213                    ::ethers::core::abi::AbiEncode::encode(element)
7214                }
7215                Self::MaxCheckpointDuration(element) => {
7216                    ::ethers::core::abi::AbiEncode::encode(element)
7217                }
7218                Self::MaxCircuitBreakerDelta(element) => {
7219                    ::ethers::core::abi::AbiEncode::encode(element)
7220                }
7221                Self::MaxFees(element) => ::ethers::core::abi::AbiEncode::encode(element),
7222                Self::MaxFixedAPR(element) => {
7223                    ::ethers::core::abi::AbiEncode::encode(element)
7224                }
7225                Self::MaxPositionDuration(element) => {
7226                    ::ethers::core::abi::AbiEncode::encode(element)
7227                }
7228                Self::MaxTimeStretchAPR(element) => {
7229                    ::ethers::core::abi::AbiEncode::encode(element)
7230                }
7231                Self::MinCheckpointDuration(element) => {
7232                    ::ethers::core::abi::AbiEncode::encode(element)
7233                }
7234                Self::MinCircuitBreakerDelta(element) => {
7235                    ::ethers::core::abi::AbiEncode::encode(element)
7236                }
7237                Self::MinFees(element) => ::ethers::core::abi::AbiEncode::encode(element),
7238                Self::MinFixedAPR(element) => {
7239                    ::ethers::core::abi::AbiEncode::encode(element)
7240                }
7241                Self::MinPositionDuration(element) => {
7242                    ::ethers::core::abi::AbiEncode::encode(element)
7243                }
7244                Self::MinTimeStretchAPR(element) => {
7245                    ::ethers::core::abi::AbiEncode::encode(element)
7246                }
7247                Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element),
7248                Self::RemoveDeployerCoordinator(element) => {
7249                    ::ethers::core::abi::AbiEncode::encode(element)
7250                }
7251                Self::SweepCollector(element) => {
7252                    ::ethers::core::abi::AbiEncode::encode(element)
7253                }
7254                Self::UpdateCheckpointDurationResolution(element) => {
7255                    ::ethers::core::abi::AbiEncode::encode(element)
7256                }
7257                Self::UpdateCheckpointRewarder(element) => {
7258                    ::ethers::core::abi::AbiEncode::encode(element)
7259                }
7260                Self::UpdateDefaultPausers(element) => {
7261                    ::ethers::core::abi::AbiEncode::encode(element)
7262                }
7263                Self::UpdateDeployerCoordinatorManager(element) => {
7264                    ::ethers::core::abi::AbiEncode::encode(element)
7265                }
7266                Self::UpdateFeeCollector(element) => {
7267                    ::ethers::core::abi::AbiEncode::encode(element)
7268                }
7269                Self::UpdateGovernance(element) => {
7270                    ::ethers::core::abi::AbiEncode::encode(element)
7271                }
7272                Self::UpdateHyperdriveGovernance(element) => {
7273                    ::ethers::core::abi::AbiEncode::encode(element)
7274                }
7275                Self::UpdateLinkerCodeHash(element) => {
7276                    ::ethers::core::abi::AbiEncode::encode(element)
7277                }
7278                Self::UpdateLinkerFactory(element) => {
7279                    ::ethers::core::abi::AbiEncode::encode(element)
7280                }
7281                Self::UpdateMaxCheckpointDuration(element) => {
7282                    ::ethers::core::abi::AbiEncode::encode(element)
7283                }
7284                Self::UpdateMaxCircuitBreakerDelta(element) => {
7285                    ::ethers::core::abi::AbiEncode::encode(element)
7286                }
7287                Self::UpdateMaxFees(element) => {
7288                    ::ethers::core::abi::AbiEncode::encode(element)
7289                }
7290                Self::UpdateMaxFixedAPR(element) => {
7291                    ::ethers::core::abi::AbiEncode::encode(element)
7292                }
7293                Self::UpdateMaxPositionDuration(element) => {
7294                    ::ethers::core::abi::AbiEncode::encode(element)
7295                }
7296                Self::UpdateMaxTimeStretchAPR(element) => {
7297                    ::ethers::core::abi::AbiEncode::encode(element)
7298                }
7299                Self::UpdateMinCheckpointDuration(element) => {
7300                    ::ethers::core::abi::AbiEncode::encode(element)
7301                }
7302                Self::UpdateMinCircuitBreakerDelta(element) => {
7303                    ::ethers::core::abi::AbiEncode::encode(element)
7304                }
7305                Self::UpdateMinFees(element) => {
7306                    ::ethers::core::abi::AbiEncode::encode(element)
7307                }
7308                Self::UpdateMinFixedAPR(element) => {
7309                    ::ethers::core::abi::AbiEncode::encode(element)
7310                }
7311                Self::UpdateMinPositionDuration(element) => {
7312                    ::ethers::core::abi::AbiEncode::encode(element)
7313                }
7314                Self::UpdateMinTimeStretchAPR(element) => {
7315                    ::ethers::core::abi::AbiEncode::encode(element)
7316                }
7317                Self::UpdateSweepCollector(element) => {
7318                    ::ethers::core::abi::AbiEncode::encode(element)
7319                }
7320                Self::Version(element) => ::ethers::core::abi::AbiEncode::encode(element),
7321            }
7322        }
7323    }
7324    impl ::core::fmt::Display for HyperdriveFactoryCalls {
7325        fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7326            match self {
7327                Self::InstancesToDeployerCoordinators(element) => {
7328                    ::core::fmt::Display::fmt(element, f)
7329                }
7330                Self::AddDeployerCoordinator(element) => {
7331                    ::core::fmt::Display::fmt(element, f)
7332                }
7333                Self::CheckpointDurationResolution(element) => {
7334                    ::core::fmt::Display::fmt(element, f)
7335                }
7336                Self::CheckpointRewarder(element) => {
7337                    ::core::fmt::Display::fmt(element, f)
7338                }
7339                Self::DefaultPausers(element) => ::core::fmt::Display::fmt(element, f),
7340                Self::DeployAndInitialize(element) => {
7341                    ::core::fmt::Display::fmt(element, f)
7342                }
7343                Self::DeployTarget(element) => ::core::fmt::Display::fmt(element, f),
7344                Self::DeployerCoordinatorManager(element) => {
7345                    ::core::fmt::Display::fmt(element, f)
7346                }
7347                Self::FeeCollector(element) => ::core::fmt::Display::fmt(element, f),
7348                Self::GetDeployerCoordinatorAtIndex(element) => {
7349                    ::core::fmt::Display::fmt(element, f)
7350                }
7351                Self::GetDeployerCoordinatorByInstances(element) => {
7352                    ::core::fmt::Display::fmt(element, f)
7353                }
7354                Self::GetDeployerCoordinatorsInRange(element) => {
7355                    ::core::fmt::Display::fmt(element, f)
7356                }
7357                Self::GetInstanceAtIndex(element) => {
7358                    ::core::fmt::Display::fmt(element, f)
7359                }
7360                Self::GetInstancesInRange(element) => {
7361                    ::core::fmt::Display::fmt(element, f)
7362                }
7363                Self::GetNumberOfDeployerCoordinators(element) => {
7364                    ::core::fmt::Display::fmt(element, f)
7365                }
7366                Self::GetNumberOfInstances(element) => {
7367                    ::core::fmt::Display::fmt(element, f)
7368                }
7369                Self::Governance(element) => ::core::fmt::Display::fmt(element, f),
7370                Self::HyperdriveGovernance(element) => {
7371                    ::core::fmt::Display::fmt(element, f)
7372                }
7373                Self::IsDeployerCoordinator(element) => {
7374                    ::core::fmt::Display::fmt(element, f)
7375                }
7376                Self::IsInstance(element) => ::core::fmt::Display::fmt(element, f),
7377                Self::Kind(element) => ::core::fmt::Display::fmt(element, f),
7378                Self::LinkerCodeHash(element) => ::core::fmt::Display::fmt(element, f),
7379                Self::LinkerFactory(element) => ::core::fmt::Display::fmt(element, f),
7380                Self::MaxCheckpointDuration(element) => {
7381                    ::core::fmt::Display::fmt(element, f)
7382                }
7383                Self::MaxCircuitBreakerDelta(element) => {
7384                    ::core::fmt::Display::fmt(element, f)
7385                }
7386                Self::MaxFees(element) => ::core::fmt::Display::fmt(element, f),
7387                Self::MaxFixedAPR(element) => ::core::fmt::Display::fmt(element, f),
7388                Self::MaxPositionDuration(element) => {
7389                    ::core::fmt::Display::fmt(element, f)
7390                }
7391                Self::MaxTimeStretchAPR(element) => ::core::fmt::Display::fmt(element, f),
7392                Self::MinCheckpointDuration(element) => {
7393                    ::core::fmt::Display::fmt(element, f)
7394                }
7395                Self::MinCircuitBreakerDelta(element) => {
7396                    ::core::fmt::Display::fmt(element, f)
7397                }
7398                Self::MinFees(element) => ::core::fmt::Display::fmt(element, f),
7399                Self::MinFixedAPR(element) => ::core::fmt::Display::fmt(element, f),
7400                Self::MinPositionDuration(element) => {
7401                    ::core::fmt::Display::fmt(element, f)
7402                }
7403                Self::MinTimeStretchAPR(element) => ::core::fmt::Display::fmt(element, f),
7404                Self::Name(element) => ::core::fmt::Display::fmt(element, f),
7405                Self::RemoveDeployerCoordinator(element) => {
7406                    ::core::fmt::Display::fmt(element, f)
7407                }
7408                Self::SweepCollector(element) => ::core::fmt::Display::fmt(element, f),
7409                Self::UpdateCheckpointDurationResolution(element) => {
7410                    ::core::fmt::Display::fmt(element, f)
7411                }
7412                Self::UpdateCheckpointRewarder(element) => {
7413                    ::core::fmt::Display::fmt(element, f)
7414                }
7415                Self::UpdateDefaultPausers(element) => {
7416                    ::core::fmt::Display::fmt(element, f)
7417                }
7418                Self::UpdateDeployerCoordinatorManager(element) => {
7419                    ::core::fmt::Display::fmt(element, f)
7420                }
7421                Self::UpdateFeeCollector(element) => {
7422                    ::core::fmt::Display::fmt(element, f)
7423                }
7424                Self::UpdateGovernance(element) => ::core::fmt::Display::fmt(element, f),
7425                Self::UpdateHyperdriveGovernance(element) => {
7426                    ::core::fmt::Display::fmt(element, f)
7427                }
7428                Self::UpdateLinkerCodeHash(element) => {
7429                    ::core::fmt::Display::fmt(element, f)
7430                }
7431                Self::UpdateLinkerFactory(element) => {
7432                    ::core::fmt::Display::fmt(element, f)
7433                }
7434                Self::UpdateMaxCheckpointDuration(element) => {
7435                    ::core::fmt::Display::fmt(element, f)
7436                }
7437                Self::UpdateMaxCircuitBreakerDelta(element) => {
7438                    ::core::fmt::Display::fmt(element, f)
7439                }
7440                Self::UpdateMaxFees(element) => ::core::fmt::Display::fmt(element, f),
7441                Self::UpdateMaxFixedAPR(element) => ::core::fmt::Display::fmt(element, f),
7442                Self::UpdateMaxPositionDuration(element) => {
7443                    ::core::fmt::Display::fmt(element, f)
7444                }
7445                Self::UpdateMaxTimeStretchAPR(element) => {
7446                    ::core::fmt::Display::fmt(element, f)
7447                }
7448                Self::UpdateMinCheckpointDuration(element) => {
7449                    ::core::fmt::Display::fmt(element, f)
7450                }
7451                Self::UpdateMinCircuitBreakerDelta(element) => {
7452                    ::core::fmt::Display::fmt(element, f)
7453                }
7454                Self::UpdateMinFees(element) => ::core::fmt::Display::fmt(element, f),
7455                Self::UpdateMinFixedAPR(element) => ::core::fmt::Display::fmt(element, f),
7456                Self::UpdateMinPositionDuration(element) => {
7457                    ::core::fmt::Display::fmt(element, f)
7458                }
7459                Self::UpdateMinTimeStretchAPR(element) => {
7460                    ::core::fmt::Display::fmt(element, f)
7461                }
7462                Self::UpdateSweepCollector(element) => {
7463                    ::core::fmt::Display::fmt(element, f)
7464                }
7465                Self::Version(element) => ::core::fmt::Display::fmt(element, f),
7466            }
7467        }
7468    }
7469    impl ::core::convert::From<InstancesToDeployerCoordinatorsCall>
7470    for HyperdriveFactoryCalls {
7471        fn from(value: InstancesToDeployerCoordinatorsCall) -> Self {
7472            Self::InstancesToDeployerCoordinators(value)
7473        }
7474    }
7475    impl ::core::convert::From<AddDeployerCoordinatorCall> for HyperdriveFactoryCalls {
7476        fn from(value: AddDeployerCoordinatorCall) -> Self {
7477            Self::AddDeployerCoordinator(value)
7478        }
7479    }
7480    impl ::core::convert::From<CheckpointDurationResolutionCall>
7481    for HyperdriveFactoryCalls {
7482        fn from(value: CheckpointDurationResolutionCall) -> Self {
7483            Self::CheckpointDurationResolution(value)
7484        }
7485    }
7486    impl ::core::convert::From<CheckpointRewarderCall> for HyperdriveFactoryCalls {
7487        fn from(value: CheckpointRewarderCall) -> Self {
7488            Self::CheckpointRewarder(value)
7489        }
7490    }
7491    impl ::core::convert::From<DefaultPausersCall> for HyperdriveFactoryCalls {
7492        fn from(value: DefaultPausersCall) -> Self {
7493            Self::DefaultPausers(value)
7494        }
7495    }
7496    impl ::core::convert::From<DeployAndInitializeCall> for HyperdriveFactoryCalls {
7497        fn from(value: DeployAndInitializeCall) -> Self {
7498            Self::DeployAndInitialize(value)
7499        }
7500    }
7501    impl ::core::convert::From<DeployTargetCall> for HyperdriveFactoryCalls {
7502        fn from(value: DeployTargetCall) -> Self {
7503            Self::DeployTarget(value)
7504        }
7505    }
7506    impl ::core::convert::From<DeployerCoordinatorManagerCall>
7507    for HyperdriveFactoryCalls {
7508        fn from(value: DeployerCoordinatorManagerCall) -> Self {
7509            Self::DeployerCoordinatorManager(value)
7510        }
7511    }
7512    impl ::core::convert::From<FeeCollectorCall> for HyperdriveFactoryCalls {
7513        fn from(value: FeeCollectorCall) -> Self {
7514            Self::FeeCollector(value)
7515        }
7516    }
7517    impl ::core::convert::From<GetDeployerCoordinatorAtIndexCall>
7518    for HyperdriveFactoryCalls {
7519        fn from(value: GetDeployerCoordinatorAtIndexCall) -> Self {
7520            Self::GetDeployerCoordinatorAtIndex(value)
7521        }
7522    }
7523    impl ::core::convert::From<GetDeployerCoordinatorByInstancesCall>
7524    for HyperdriveFactoryCalls {
7525        fn from(value: GetDeployerCoordinatorByInstancesCall) -> Self {
7526            Self::GetDeployerCoordinatorByInstances(value)
7527        }
7528    }
7529    impl ::core::convert::From<GetDeployerCoordinatorsInRangeCall>
7530    for HyperdriveFactoryCalls {
7531        fn from(value: GetDeployerCoordinatorsInRangeCall) -> Self {
7532            Self::GetDeployerCoordinatorsInRange(value)
7533        }
7534    }
7535    impl ::core::convert::From<GetInstanceAtIndexCall> for HyperdriveFactoryCalls {
7536        fn from(value: GetInstanceAtIndexCall) -> Self {
7537            Self::GetInstanceAtIndex(value)
7538        }
7539    }
7540    impl ::core::convert::From<GetInstancesInRangeCall> for HyperdriveFactoryCalls {
7541        fn from(value: GetInstancesInRangeCall) -> Self {
7542            Self::GetInstancesInRange(value)
7543        }
7544    }
7545    impl ::core::convert::From<GetNumberOfDeployerCoordinatorsCall>
7546    for HyperdriveFactoryCalls {
7547        fn from(value: GetNumberOfDeployerCoordinatorsCall) -> Self {
7548            Self::GetNumberOfDeployerCoordinators(value)
7549        }
7550    }
7551    impl ::core::convert::From<GetNumberOfInstancesCall> for HyperdriveFactoryCalls {
7552        fn from(value: GetNumberOfInstancesCall) -> Self {
7553            Self::GetNumberOfInstances(value)
7554        }
7555    }
7556    impl ::core::convert::From<GovernanceCall> for HyperdriveFactoryCalls {
7557        fn from(value: GovernanceCall) -> Self {
7558            Self::Governance(value)
7559        }
7560    }
7561    impl ::core::convert::From<HyperdriveGovernanceCall> for HyperdriveFactoryCalls {
7562        fn from(value: HyperdriveGovernanceCall) -> Self {
7563            Self::HyperdriveGovernance(value)
7564        }
7565    }
7566    impl ::core::convert::From<IsDeployerCoordinatorCall> for HyperdriveFactoryCalls {
7567        fn from(value: IsDeployerCoordinatorCall) -> Self {
7568            Self::IsDeployerCoordinator(value)
7569        }
7570    }
7571    impl ::core::convert::From<IsInstanceCall> for HyperdriveFactoryCalls {
7572        fn from(value: IsInstanceCall) -> Self {
7573            Self::IsInstance(value)
7574        }
7575    }
7576    impl ::core::convert::From<KindCall> for HyperdriveFactoryCalls {
7577        fn from(value: KindCall) -> Self {
7578            Self::Kind(value)
7579        }
7580    }
7581    impl ::core::convert::From<LinkerCodeHashCall> for HyperdriveFactoryCalls {
7582        fn from(value: LinkerCodeHashCall) -> Self {
7583            Self::LinkerCodeHash(value)
7584        }
7585    }
7586    impl ::core::convert::From<LinkerFactoryCall> for HyperdriveFactoryCalls {
7587        fn from(value: LinkerFactoryCall) -> Self {
7588            Self::LinkerFactory(value)
7589        }
7590    }
7591    impl ::core::convert::From<MaxCheckpointDurationCall> for HyperdriveFactoryCalls {
7592        fn from(value: MaxCheckpointDurationCall) -> Self {
7593            Self::MaxCheckpointDuration(value)
7594        }
7595    }
7596    impl ::core::convert::From<MaxCircuitBreakerDeltaCall> for HyperdriveFactoryCalls {
7597        fn from(value: MaxCircuitBreakerDeltaCall) -> Self {
7598            Self::MaxCircuitBreakerDelta(value)
7599        }
7600    }
7601    impl ::core::convert::From<MaxFeesCall> for HyperdriveFactoryCalls {
7602        fn from(value: MaxFeesCall) -> Self {
7603            Self::MaxFees(value)
7604        }
7605    }
7606    impl ::core::convert::From<MaxFixedAPRCall> for HyperdriveFactoryCalls {
7607        fn from(value: MaxFixedAPRCall) -> Self {
7608            Self::MaxFixedAPR(value)
7609        }
7610    }
7611    impl ::core::convert::From<MaxPositionDurationCall> for HyperdriveFactoryCalls {
7612        fn from(value: MaxPositionDurationCall) -> Self {
7613            Self::MaxPositionDuration(value)
7614        }
7615    }
7616    impl ::core::convert::From<MaxTimeStretchAPRCall> for HyperdriveFactoryCalls {
7617        fn from(value: MaxTimeStretchAPRCall) -> Self {
7618            Self::MaxTimeStretchAPR(value)
7619        }
7620    }
7621    impl ::core::convert::From<MinCheckpointDurationCall> for HyperdriveFactoryCalls {
7622        fn from(value: MinCheckpointDurationCall) -> Self {
7623            Self::MinCheckpointDuration(value)
7624        }
7625    }
7626    impl ::core::convert::From<MinCircuitBreakerDeltaCall> for HyperdriveFactoryCalls {
7627        fn from(value: MinCircuitBreakerDeltaCall) -> Self {
7628            Self::MinCircuitBreakerDelta(value)
7629        }
7630    }
7631    impl ::core::convert::From<MinFeesCall> for HyperdriveFactoryCalls {
7632        fn from(value: MinFeesCall) -> Self {
7633            Self::MinFees(value)
7634        }
7635    }
7636    impl ::core::convert::From<MinFixedAPRCall> for HyperdriveFactoryCalls {
7637        fn from(value: MinFixedAPRCall) -> Self {
7638            Self::MinFixedAPR(value)
7639        }
7640    }
7641    impl ::core::convert::From<MinPositionDurationCall> for HyperdriveFactoryCalls {
7642        fn from(value: MinPositionDurationCall) -> Self {
7643            Self::MinPositionDuration(value)
7644        }
7645    }
7646    impl ::core::convert::From<MinTimeStretchAPRCall> for HyperdriveFactoryCalls {
7647        fn from(value: MinTimeStretchAPRCall) -> Self {
7648            Self::MinTimeStretchAPR(value)
7649        }
7650    }
7651    impl ::core::convert::From<NameCall> for HyperdriveFactoryCalls {
7652        fn from(value: NameCall) -> Self {
7653            Self::Name(value)
7654        }
7655    }
7656    impl ::core::convert::From<RemoveDeployerCoordinatorCall>
7657    for HyperdriveFactoryCalls {
7658        fn from(value: RemoveDeployerCoordinatorCall) -> Self {
7659            Self::RemoveDeployerCoordinator(value)
7660        }
7661    }
7662    impl ::core::convert::From<SweepCollectorCall> for HyperdriveFactoryCalls {
7663        fn from(value: SweepCollectorCall) -> Self {
7664            Self::SweepCollector(value)
7665        }
7666    }
7667    impl ::core::convert::From<UpdateCheckpointDurationResolutionCall>
7668    for HyperdriveFactoryCalls {
7669        fn from(value: UpdateCheckpointDurationResolutionCall) -> Self {
7670            Self::UpdateCheckpointDurationResolution(value)
7671        }
7672    }
7673    impl ::core::convert::From<UpdateCheckpointRewarderCall> for HyperdriveFactoryCalls {
7674        fn from(value: UpdateCheckpointRewarderCall) -> Self {
7675            Self::UpdateCheckpointRewarder(value)
7676        }
7677    }
7678    impl ::core::convert::From<UpdateDefaultPausersCall> for HyperdriveFactoryCalls {
7679        fn from(value: UpdateDefaultPausersCall) -> Self {
7680            Self::UpdateDefaultPausers(value)
7681        }
7682    }
7683    impl ::core::convert::From<UpdateDeployerCoordinatorManagerCall>
7684    for HyperdriveFactoryCalls {
7685        fn from(value: UpdateDeployerCoordinatorManagerCall) -> Self {
7686            Self::UpdateDeployerCoordinatorManager(value)
7687        }
7688    }
7689    impl ::core::convert::From<UpdateFeeCollectorCall> for HyperdriveFactoryCalls {
7690        fn from(value: UpdateFeeCollectorCall) -> Self {
7691            Self::UpdateFeeCollector(value)
7692        }
7693    }
7694    impl ::core::convert::From<UpdateGovernanceCall> for HyperdriveFactoryCalls {
7695        fn from(value: UpdateGovernanceCall) -> Self {
7696            Self::UpdateGovernance(value)
7697        }
7698    }
7699    impl ::core::convert::From<UpdateHyperdriveGovernanceCall>
7700    for HyperdriveFactoryCalls {
7701        fn from(value: UpdateHyperdriveGovernanceCall) -> Self {
7702            Self::UpdateHyperdriveGovernance(value)
7703        }
7704    }
7705    impl ::core::convert::From<UpdateLinkerCodeHashCall> for HyperdriveFactoryCalls {
7706        fn from(value: UpdateLinkerCodeHashCall) -> Self {
7707            Self::UpdateLinkerCodeHash(value)
7708        }
7709    }
7710    impl ::core::convert::From<UpdateLinkerFactoryCall> for HyperdriveFactoryCalls {
7711        fn from(value: UpdateLinkerFactoryCall) -> Self {
7712            Self::UpdateLinkerFactory(value)
7713        }
7714    }
7715    impl ::core::convert::From<UpdateMaxCheckpointDurationCall>
7716    for HyperdriveFactoryCalls {
7717        fn from(value: UpdateMaxCheckpointDurationCall) -> Self {
7718            Self::UpdateMaxCheckpointDuration(value)
7719        }
7720    }
7721    impl ::core::convert::From<UpdateMaxCircuitBreakerDeltaCall>
7722    for HyperdriveFactoryCalls {
7723        fn from(value: UpdateMaxCircuitBreakerDeltaCall) -> Self {
7724            Self::UpdateMaxCircuitBreakerDelta(value)
7725        }
7726    }
7727    impl ::core::convert::From<UpdateMaxFeesCall> for HyperdriveFactoryCalls {
7728        fn from(value: UpdateMaxFeesCall) -> Self {
7729            Self::UpdateMaxFees(value)
7730        }
7731    }
7732    impl ::core::convert::From<UpdateMaxFixedAPRCall> for HyperdriveFactoryCalls {
7733        fn from(value: UpdateMaxFixedAPRCall) -> Self {
7734            Self::UpdateMaxFixedAPR(value)
7735        }
7736    }
7737    impl ::core::convert::From<UpdateMaxPositionDurationCall>
7738    for HyperdriveFactoryCalls {
7739        fn from(value: UpdateMaxPositionDurationCall) -> Self {
7740            Self::UpdateMaxPositionDuration(value)
7741        }
7742    }
7743    impl ::core::convert::From<UpdateMaxTimeStretchAPRCall> for HyperdriveFactoryCalls {
7744        fn from(value: UpdateMaxTimeStretchAPRCall) -> Self {
7745            Self::UpdateMaxTimeStretchAPR(value)
7746        }
7747    }
7748    impl ::core::convert::From<UpdateMinCheckpointDurationCall>
7749    for HyperdriveFactoryCalls {
7750        fn from(value: UpdateMinCheckpointDurationCall) -> Self {
7751            Self::UpdateMinCheckpointDuration(value)
7752        }
7753    }
7754    impl ::core::convert::From<UpdateMinCircuitBreakerDeltaCall>
7755    for HyperdriveFactoryCalls {
7756        fn from(value: UpdateMinCircuitBreakerDeltaCall) -> Self {
7757            Self::UpdateMinCircuitBreakerDelta(value)
7758        }
7759    }
7760    impl ::core::convert::From<UpdateMinFeesCall> for HyperdriveFactoryCalls {
7761        fn from(value: UpdateMinFeesCall) -> Self {
7762            Self::UpdateMinFees(value)
7763        }
7764    }
7765    impl ::core::convert::From<UpdateMinFixedAPRCall> for HyperdriveFactoryCalls {
7766        fn from(value: UpdateMinFixedAPRCall) -> Self {
7767            Self::UpdateMinFixedAPR(value)
7768        }
7769    }
7770    impl ::core::convert::From<UpdateMinPositionDurationCall>
7771    for HyperdriveFactoryCalls {
7772        fn from(value: UpdateMinPositionDurationCall) -> Self {
7773            Self::UpdateMinPositionDuration(value)
7774        }
7775    }
7776    impl ::core::convert::From<UpdateMinTimeStretchAPRCall> for HyperdriveFactoryCalls {
7777        fn from(value: UpdateMinTimeStretchAPRCall) -> Self {
7778            Self::UpdateMinTimeStretchAPR(value)
7779        }
7780    }
7781    impl ::core::convert::From<UpdateSweepCollectorCall> for HyperdriveFactoryCalls {
7782        fn from(value: UpdateSweepCollectorCall) -> Self {
7783            Self::UpdateSweepCollector(value)
7784        }
7785    }
7786    impl ::core::convert::From<VersionCall> for HyperdriveFactoryCalls {
7787        fn from(value: VersionCall) -> Self {
7788            Self::Version(value)
7789        }
7790    }
7791    ///Container type for all return fields from the `_instancesToDeployerCoordinators` function with signature `_instancesToDeployerCoordinators(address)` and selector `0x2b58f418`
7792    #[derive(
7793        Clone,
7794        ::ethers::contract::EthAbiType,
7795        ::ethers::contract::EthAbiCodec,
7796        serde::Serialize,
7797        serde::Deserialize,
7798        Default,
7799        Debug,
7800        PartialEq,
7801        Eq,
7802        Hash
7803    )]
7804    pub struct InstancesToDeployerCoordinatorsReturn {
7805        pub deploy_coordinator: ::ethers::core::types::Address,
7806    }
7807    ///Container type for all return fields from the `checkpointDurationResolution` function with signature `checkpointDurationResolution()` and selector `0xd0f96b92`
7808    #[derive(
7809        Clone,
7810        ::ethers::contract::EthAbiType,
7811        ::ethers::contract::EthAbiCodec,
7812        serde::Serialize,
7813        serde::Deserialize,
7814        Default,
7815        Debug,
7816        PartialEq,
7817        Eq,
7818        Hash
7819    )]
7820    pub struct CheckpointDurationResolutionReturn(pub ::ethers::core::types::U256);
7821    ///Container type for all return fields from the `checkpointRewarder` function with signature `checkpointRewarder()` and selector `0xf2596458`
7822    #[derive(
7823        Clone,
7824        ::ethers::contract::EthAbiType,
7825        ::ethers::contract::EthAbiCodec,
7826        serde::Serialize,
7827        serde::Deserialize,
7828        Default,
7829        Debug,
7830        PartialEq,
7831        Eq,
7832        Hash
7833    )]
7834    pub struct CheckpointRewarderReturn(pub ::ethers::core::types::Address);
7835    ///Container type for all return fields from the `defaultPausers` function with signature `defaultPausers()` and selector `0xa64c90bf`
7836    #[derive(
7837        Clone,
7838        ::ethers::contract::EthAbiType,
7839        ::ethers::contract::EthAbiCodec,
7840        serde::Serialize,
7841        serde::Deserialize,
7842        Default,
7843        Debug,
7844        PartialEq,
7845        Eq,
7846        Hash
7847    )]
7848    pub struct DefaultPausersReturn(pub ::std::vec::Vec<::ethers::core::types::Address>);
7849    ///Container type for all return fields from the `deployAndInitialize` function with signature `deployAndInitialize(bytes32,address,string,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,(address,bool,bytes),bytes32)` and selector `0x2e7cd971`
7850    #[derive(
7851        Clone,
7852        ::ethers::contract::EthAbiType,
7853        ::ethers::contract::EthAbiCodec,
7854        serde::Serialize,
7855        serde::Deserialize,
7856        Default,
7857        Debug,
7858        PartialEq,
7859        Eq,
7860        Hash
7861    )]
7862    pub struct DeployAndInitializeReturn(pub ::ethers::core::types::Address);
7863    ///Container type for all return fields from the `deployTarget` function with signature `deployTarget(bytes32,address,(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256)),bytes,uint256,uint256,uint256,bytes32)` and selector `0x49f13de7`
7864    #[derive(
7865        Clone,
7866        ::ethers::contract::EthAbiType,
7867        ::ethers::contract::EthAbiCodec,
7868        serde::Serialize,
7869        serde::Deserialize,
7870        Default,
7871        Debug,
7872        PartialEq,
7873        Eq,
7874        Hash
7875    )]
7876    pub struct DeployTargetReturn(pub ::ethers::core::types::Address);
7877    ///Container type for all return fields from the `deployerCoordinatorManager` function with signature `deployerCoordinatorManager()` and selector `0xe4e7148f`
7878    #[derive(
7879        Clone,
7880        ::ethers::contract::EthAbiType,
7881        ::ethers::contract::EthAbiCodec,
7882        serde::Serialize,
7883        serde::Deserialize,
7884        Default,
7885        Debug,
7886        PartialEq,
7887        Eq,
7888        Hash
7889    )]
7890    pub struct DeployerCoordinatorManagerReturn(pub ::ethers::core::types::Address);
7891    ///Container type for all return fields from the `feeCollector` function with signature `feeCollector()` and selector `0xc415b95c`
7892    #[derive(
7893        Clone,
7894        ::ethers::contract::EthAbiType,
7895        ::ethers::contract::EthAbiCodec,
7896        serde::Serialize,
7897        serde::Deserialize,
7898        Default,
7899        Debug,
7900        PartialEq,
7901        Eq,
7902        Hash
7903    )]
7904    pub struct FeeCollectorReturn(pub ::ethers::core::types::Address);
7905    ///Container type for all return fields from the `getDeployerCoordinatorAtIndex` function with signature `getDeployerCoordinatorAtIndex(uint256)` and selector `0xfe3d5aeb`
7906    #[derive(
7907        Clone,
7908        ::ethers::contract::EthAbiType,
7909        ::ethers::contract::EthAbiCodec,
7910        serde::Serialize,
7911        serde::Deserialize,
7912        Default,
7913        Debug,
7914        PartialEq,
7915        Eq,
7916        Hash
7917    )]
7918    pub struct GetDeployerCoordinatorAtIndexReturn(pub ::ethers::core::types::Address);
7919    ///Container type for all return fields from the `getDeployerCoordinatorByInstances` function with signature `getDeployerCoordinatorByInstances(address[])` and selector `0x1b59be0c`
7920    #[derive(
7921        Clone,
7922        ::ethers::contract::EthAbiType,
7923        ::ethers::contract::EthAbiCodec,
7924        serde::Serialize,
7925        serde::Deserialize,
7926        Default,
7927        Debug,
7928        PartialEq,
7929        Eq,
7930        Hash
7931    )]
7932    pub struct GetDeployerCoordinatorByInstancesReturn {
7933        pub coordinators: ::std::vec::Vec<::ethers::core::types::Address>,
7934    }
7935    ///Container type for all return fields from the `getDeployerCoordinatorsInRange` function with signature `getDeployerCoordinatorsInRange(uint256,uint256)` and selector `0xec895f11`
7936    #[derive(
7937        Clone,
7938        ::ethers::contract::EthAbiType,
7939        ::ethers::contract::EthAbiCodec,
7940        serde::Serialize,
7941        serde::Deserialize,
7942        Default,
7943        Debug,
7944        PartialEq,
7945        Eq,
7946        Hash
7947    )]
7948    pub struct GetDeployerCoordinatorsInRangeReturn {
7949        pub range: ::std::vec::Vec<::ethers::core::types::Address>,
7950    }
7951    ///Container type for all return fields from the `getInstanceAtIndex` function with signature `getInstanceAtIndex(uint256)` and selector `0xdaac24da`
7952    #[derive(
7953        Clone,
7954        ::ethers::contract::EthAbiType,
7955        ::ethers::contract::EthAbiCodec,
7956        serde::Serialize,
7957        serde::Deserialize,
7958        Default,
7959        Debug,
7960        PartialEq,
7961        Eq,
7962        Hash
7963    )]
7964    pub struct GetInstanceAtIndexReturn(pub ::ethers::core::types::Address);
7965    ///Container type for all return fields from the `getInstancesInRange` function with signature `getInstancesInRange(uint256,uint256)` and selector `0xbc30e7a1`
7966    #[derive(
7967        Clone,
7968        ::ethers::contract::EthAbiType,
7969        ::ethers::contract::EthAbiCodec,
7970        serde::Serialize,
7971        serde::Deserialize,
7972        Default,
7973        Debug,
7974        PartialEq,
7975        Eq,
7976        Hash
7977    )]
7978    pub struct GetInstancesInRangeReturn {
7979        pub range: ::std::vec::Vec<::ethers::core::types::Address>,
7980    }
7981    ///Container type for all return fields from the `getNumberOfDeployerCoordinators` function with signature `getNumberOfDeployerCoordinators()` and selector `0xe1b39c80`
7982    #[derive(
7983        Clone,
7984        ::ethers::contract::EthAbiType,
7985        ::ethers::contract::EthAbiCodec,
7986        serde::Serialize,
7987        serde::Deserialize,
7988        Default,
7989        Debug,
7990        PartialEq,
7991        Eq,
7992        Hash
7993    )]
7994    pub struct GetNumberOfDeployerCoordinatorsReturn(pub ::ethers::core::types::U256);
7995    ///Container type for all return fields from the `getNumberOfInstances` function with signature `getNumberOfInstances()` and selector `0x6e95d67c`
7996    #[derive(
7997        Clone,
7998        ::ethers::contract::EthAbiType,
7999        ::ethers::contract::EthAbiCodec,
8000        serde::Serialize,
8001        serde::Deserialize,
8002        Default,
8003        Debug,
8004        PartialEq,
8005        Eq,
8006        Hash
8007    )]
8008    pub struct GetNumberOfInstancesReturn(pub ::ethers::core::types::U256);
8009    ///Container type for all return fields from the `governance` function with signature `governance()` and selector `0x5aa6e675`
8010    #[derive(
8011        Clone,
8012        ::ethers::contract::EthAbiType,
8013        ::ethers::contract::EthAbiCodec,
8014        serde::Serialize,
8015        serde::Deserialize,
8016        Default,
8017        Debug,
8018        PartialEq,
8019        Eq,
8020        Hash
8021    )]
8022    pub struct GovernanceReturn(pub ::ethers::core::types::Address);
8023    ///Container type for all return fields from the `hyperdriveGovernance` function with signature `hyperdriveGovernance()` and selector `0xe3331555`
8024    #[derive(
8025        Clone,
8026        ::ethers::contract::EthAbiType,
8027        ::ethers::contract::EthAbiCodec,
8028        serde::Serialize,
8029        serde::Deserialize,
8030        Default,
8031        Debug,
8032        PartialEq,
8033        Eq,
8034        Hash
8035    )]
8036    pub struct HyperdriveGovernanceReturn(pub ::ethers::core::types::Address);
8037    ///Container type for all return fields from the `isDeployerCoordinator` function with signature `isDeployerCoordinator(address)` and selector `0xf8c09e59`
8038    #[derive(
8039        Clone,
8040        ::ethers::contract::EthAbiType,
8041        ::ethers::contract::EthAbiCodec,
8042        serde::Serialize,
8043        serde::Deserialize,
8044        Default,
8045        Debug,
8046        PartialEq,
8047        Eq,
8048        Hash
8049    )]
8050    pub struct IsDeployerCoordinatorReturn(pub bool);
8051    ///Container type for all return fields from the `isInstance` function with signature `isInstance(address)` and selector `0x6b44e6be`
8052    #[derive(
8053        Clone,
8054        ::ethers::contract::EthAbiType,
8055        ::ethers::contract::EthAbiCodec,
8056        serde::Serialize,
8057        serde::Deserialize,
8058        Default,
8059        Debug,
8060        PartialEq,
8061        Eq,
8062        Hash
8063    )]
8064    pub struct IsInstanceReturn(pub bool);
8065    ///Container type for all return fields from the `kind` function with signature `kind()` and selector `0x04baa00b`
8066    #[derive(
8067        Clone,
8068        ::ethers::contract::EthAbiType,
8069        ::ethers::contract::EthAbiCodec,
8070        serde::Serialize,
8071        serde::Deserialize,
8072        Default,
8073        Debug,
8074        PartialEq,
8075        Eq,
8076        Hash
8077    )]
8078    pub struct KindReturn(pub ::std::string::String);
8079    ///Container type for all return fields from the `linkerCodeHash` function with signature `linkerCodeHash()` and selector `0xc905a4b5`
8080    #[derive(
8081        Clone,
8082        ::ethers::contract::EthAbiType,
8083        ::ethers::contract::EthAbiCodec,
8084        serde::Serialize,
8085        serde::Deserialize,
8086        Default,
8087        Debug,
8088        PartialEq,
8089        Eq,
8090        Hash
8091    )]
8092    pub struct LinkerCodeHashReturn(pub [u8; 32]);
8093    ///Container type for all return fields from the `linkerFactory` function with signature `linkerFactory()` and selector `0x99623bb1`
8094    #[derive(
8095        Clone,
8096        ::ethers::contract::EthAbiType,
8097        ::ethers::contract::EthAbiCodec,
8098        serde::Serialize,
8099        serde::Deserialize,
8100        Default,
8101        Debug,
8102        PartialEq,
8103        Eq,
8104        Hash
8105    )]
8106    pub struct LinkerFactoryReturn(pub ::ethers::core::types::Address);
8107    ///Container type for all return fields from the `maxCheckpointDuration` function with signature `maxCheckpointDuration()` and selector `0xe0e2daaa`
8108    #[derive(
8109        Clone,
8110        ::ethers::contract::EthAbiType,
8111        ::ethers::contract::EthAbiCodec,
8112        serde::Serialize,
8113        serde::Deserialize,
8114        Default,
8115        Debug,
8116        PartialEq,
8117        Eq,
8118        Hash
8119    )]
8120    pub struct MaxCheckpointDurationReturn(pub ::ethers::core::types::U256);
8121    ///Container type for all return fields from the `maxCircuitBreakerDelta` function with signature `maxCircuitBreakerDelta()` and selector `0x4554f9a9`
8122    #[derive(
8123        Clone,
8124        ::ethers::contract::EthAbiType,
8125        ::ethers::contract::EthAbiCodec,
8126        serde::Serialize,
8127        serde::Deserialize,
8128        Default,
8129        Debug,
8130        PartialEq,
8131        Eq,
8132        Hash
8133    )]
8134    pub struct MaxCircuitBreakerDeltaReturn(pub ::ethers::core::types::U256);
8135    ///Container type for all return fields from the `maxFees` function with signature `maxFees()` and selector `0xe83e34b1`
8136    #[derive(
8137        Clone,
8138        ::ethers::contract::EthAbiType,
8139        ::ethers::contract::EthAbiCodec,
8140        serde::Serialize,
8141        serde::Deserialize,
8142        Default,
8143        Debug,
8144        PartialEq,
8145        Eq,
8146        Hash
8147    )]
8148    pub struct MaxFeesReturn(pub Fees);
8149    ///Container type for all return fields from the `maxFixedAPR` function with signature `maxFixedAPR()` and selector `0xbf9bd5cd`
8150    #[derive(
8151        Clone,
8152        ::ethers::contract::EthAbiType,
8153        ::ethers::contract::EthAbiCodec,
8154        serde::Serialize,
8155        serde::Deserialize,
8156        Default,
8157        Debug,
8158        PartialEq,
8159        Eq,
8160        Hash
8161    )]
8162    pub struct MaxFixedAPRReturn(pub ::ethers::core::types::U256);
8163    ///Container type for all return fields from the `maxPositionDuration` function with signature `maxPositionDuration()` and selector `0x8efc0986`
8164    #[derive(
8165        Clone,
8166        ::ethers::contract::EthAbiType,
8167        ::ethers::contract::EthAbiCodec,
8168        serde::Serialize,
8169        serde::Deserialize,
8170        Default,
8171        Debug,
8172        PartialEq,
8173        Eq,
8174        Hash
8175    )]
8176    pub struct MaxPositionDurationReturn(pub ::ethers::core::types::U256);
8177    ///Container type for all return fields from the `maxTimeStretchAPR` function with signature `maxTimeStretchAPR()` and selector `0x48800760`
8178    #[derive(
8179        Clone,
8180        ::ethers::contract::EthAbiType,
8181        ::ethers::contract::EthAbiCodec,
8182        serde::Serialize,
8183        serde::Deserialize,
8184        Default,
8185        Debug,
8186        PartialEq,
8187        Eq,
8188        Hash
8189    )]
8190    pub struct MaxTimeStretchAPRReturn(pub ::ethers::core::types::U256);
8191    ///Container type for all return fields from the `minCheckpointDuration` function with signature `minCheckpointDuration()` and selector `0x5720c9d5`
8192    #[derive(
8193        Clone,
8194        ::ethers::contract::EthAbiType,
8195        ::ethers::contract::EthAbiCodec,
8196        serde::Serialize,
8197        serde::Deserialize,
8198        Default,
8199        Debug,
8200        PartialEq,
8201        Eq,
8202        Hash
8203    )]
8204    pub struct MinCheckpointDurationReturn(pub ::ethers::core::types::U256);
8205    ///Container type for all return fields from the `minCircuitBreakerDelta` function with signature `minCircuitBreakerDelta()` and selector `0x1ecda0fe`
8206    #[derive(
8207        Clone,
8208        ::ethers::contract::EthAbiType,
8209        ::ethers::contract::EthAbiCodec,
8210        serde::Serialize,
8211        serde::Deserialize,
8212        Default,
8213        Debug,
8214        PartialEq,
8215        Eq,
8216        Hash
8217    )]
8218    pub struct MinCircuitBreakerDeltaReturn(pub ::ethers::core::types::U256);
8219    ///Container type for all return fields from the `minFees` function with signature `minFees()` and selector `0xc1722563`
8220    #[derive(
8221        Clone,
8222        ::ethers::contract::EthAbiType,
8223        ::ethers::contract::EthAbiCodec,
8224        serde::Serialize,
8225        serde::Deserialize,
8226        Default,
8227        Debug,
8228        PartialEq,
8229        Eq,
8230        Hash
8231    )]
8232    pub struct MinFeesReturn(pub Fees);
8233    ///Container type for all return fields from the `minFixedAPR` function with signature `minFixedAPR()` and selector `0xd23d7ea3`
8234    #[derive(
8235        Clone,
8236        ::ethers::contract::EthAbiType,
8237        ::ethers::contract::EthAbiCodec,
8238        serde::Serialize,
8239        serde::Deserialize,
8240        Default,
8241        Debug,
8242        PartialEq,
8243        Eq,
8244        Hash
8245    )]
8246    pub struct MinFixedAPRReturn(pub ::ethers::core::types::U256);
8247    ///Container type for all return fields from the `minPositionDuration` function with signature `minPositionDuration()` and selector `0xdaf012e6`
8248    #[derive(
8249        Clone,
8250        ::ethers::contract::EthAbiType,
8251        ::ethers::contract::EthAbiCodec,
8252        serde::Serialize,
8253        serde::Deserialize,
8254        Default,
8255        Debug,
8256        PartialEq,
8257        Eq,
8258        Hash
8259    )]
8260    pub struct MinPositionDurationReturn(pub ::ethers::core::types::U256);
8261    ///Container type for all return fields from the `minTimeStretchAPR` function with signature `minTimeStretchAPR()` and selector `0xd6f50169`
8262    #[derive(
8263        Clone,
8264        ::ethers::contract::EthAbiType,
8265        ::ethers::contract::EthAbiCodec,
8266        serde::Serialize,
8267        serde::Deserialize,
8268        Default,
8269        Debug,
8270        PartialEq,
8271        Eq,
8272        Hash
8273    )]
8274    pub struct MinTimeStretchAPRReturn(pub ::ethers::core::types::U256);
8275    ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03`
8276    #[derive(
8277        Clone,
8278        ::ethers::contract::EthAbiType,
8279        ::ethers::contract::EthAbiCodec,
8280        serde::Serialize,
8281        serde::Deserialize,
8282        Default,
8283        Debug,
8284        PartialEq,
8285        Eq,
8286        Hash
8287    )]
8288    pub struct NameReturn(pub ::std::string::String);
8289    ///Container type for all return fields from the `sweepCollector` function with signature `sweepCollector()` and selector `0x10780f73`
8290    #[derive(
8291        Clone,
8292        ::ethers::contract::EthAbiType,
8293        ::ethers::contract::EthAbiCodec,
8294        serde::Serialize,
8295        serde::Deserialize,
8296        Default,
8297        Debug,
8298        PartialEq,
8299        Eq,
8300        Hash
8301    )]
8302    pub struct SweepCollectorReturn(pub ::ethers::core::types::Address);
8303    ///Container type for all return fields from the `version` function with signature `version()` and selector `0x54fd4d50`
8304    #[derive(
8305        Clone,
8306        ::ethers::contract::EthAbiType,
8307        ::ethers::contract::EthAbiCodec,
8308        serde::Serialize,
8309        serde::Deserialize,
8310        Default,
8311        Debug,
8312        PartialEq,
8313        Eq,
8314        Hash
8315    )]
8316    pub struct VersionReturn(pub ::std::string::String);
8317    ///`FactoryConfig(address,address,address,address[],address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint256,uint256,uint256,uint256),(uint256,uint256,uint256,uint256),address,bytes32)`
8318    #[derive(
8319        Clone,
8320        ::ethers::contract::EthAbiType,
8321        ::ethers::contract::EthAbiCodec,
8322        serde::Serialize,
8323        serde::Deserialize,
8324        Default,
8325        Debug,
8326        PartialEq,
8327        Eq,
8328        Hash
8329    )]
8330    pub struct FactoryConfig {
8331        pub governance: ::ethers::core::types::Address,
8332        pub deployer_coordinator_manager: ::ethers::core::types::Address,
8333        pub hyperdrive_governance: ::ethers::core::types::Address,
8334        pub default_pausers: ::std::vec::Vec<::ethers::core::types::Address>,
8335        pub fee_collector: ::ethers::core::types::Address,
8336        pub sweep_collector: ::ethers::core::types::Address,
8337        pub checkpoint_rewarder: ::ethers::core::types::Address,
8338        pub checkpoint_duration_resolution: ::ethers::core::types::U256,
8339        pub min_checkpoint_duration: ::ethers::core::types::U256,
8340        pub max_checkpoint_duration: ::ethers::core::types::U256,
8341        pub min_position_duration: ::ethers::core::types::U256,
8342        pub max_position_duration: ::ethers::core::types::U256,
8343        pub min_circuit_breaker_delta: ::ethers::core::types::U256,
8344        pub max_circuit_breaker_delta: ::ethers::core::types::U256,
8345        pub min_fixed_apr: ::ethers::core::types::U256,
8346        pub max_fixed_apr: ::ethers::core::types::U256,
8347        pub min_time_stretch_apr: ::ethers::core::types::U256,
8348        pub max_time_stretch_apr: ::ethers::core::types::U256,
8349        pub min_fees: Fees,
8350        pub max_fees: Fees,
8351        pub linker_factory: ::ethers::core::types::Address,
8352        pub linker_code_hash: [u8; 32],
8353    }
8354    ///`Fees(uint256,uint256,uint256,uint256)`
8355    #[derive(
8356        Clone,
8357        ::ethers::contract::EthAbiType,
8358        ::ethers::contract::EthAbiCodec,
8359        serde::Serialize,
8360        serde::Deserialize,
8361        Default,
8362        Debug,
8363        PartialEq,
8364        Eq,
8365        Hash
8366    )]
8367    pub struct Fees {
8368        pub curve: ::ethers::core::types::U256,
8369        pub flat: ::ethers::core::types::U256,
8370        pub governance_lp: ::ethers::core::types::U256,
8371        pub governance_zombie: ::ethers::core::types::U256,
8372    }
8373    ///`Options(address,bool,bytes)`
8374    #[derive(
8375        Clone,
8376        ::ethers::contract::EthAbiType,
8377        ::ethers::contract::EthAbiCodec,
8378        serde::Serialize,
8379        serde::Deserialize,
8380        Default,
8381        Debug,
8382        PartialEq,
8383        Eq,
8384        Hash
8385    )]
8386    pub struct Options {
8387        pub destination: ::ethers::core::types::Address,
8388        pub as_base: bool,
8389        pub extra_data: ::ethers::core::types::Bytes,
8390    }
8391    ///`PoolDeployConfig(address,address,address,bytes32,uint256,uint256,uint256,uint256,uint256,uint256,address,address,address,address,(uint256,uint256,uint256,uint256))`
8392    #[derive(
8393        Clone,
8394        ::ethers::contract::EthAbiType,
8395        ::ethers::contract::EthAbiCodec,
8396        serde::Serialize,
8397        serde::Deserialize,
8398        Default,
8399        Debug,
8400        PartialEq,
8401        Eq,
8402        Hash
8403    )]
8404    pub struct PoolDeployConfig {
8405        pub base_token: ::ethers::core::types::Address,
8406        pub vault_shares_token: ::ethers::core::types::Address,
8407        pub linker_factory: ::ethers::core::types::Address,
8408        pub linker_code_hash: [u8; 32],
8409        pub minimum_share_reserves: ::ethers::core::types::U256,
8410        pub minimum_transaction_amount: ::ethers::core::types::U256,
8411        pub circuit_breaker_delta: ::ethers::core::types::U256,
8412        pub position_duration: ::ethers::core::types::U256,
8413        pub checkpoint_duration: ::ethers::core::types::U256,
8414        pub time_stretch: ::ethers::core::types::U256,
8415        pub governance: ::ethers::core::types::Address,
8416        pub fee_collector: ::ethers::core::types::Address,
8417        pub sweep_collector: ::ethers::core::types::Address,
8418        pub checkpoint_rewarder: ::ethers::core::types::Address,
8419        pub fees: Fees,
8420    }
8421}